website/vendor/nesbot/carbon/tests/LocalizationTest.php

412 lines
14 KiB
PHP
Raw Normal View History

<?php
/*
* This file is part of the Carbon package.
*
* (c) Brian Nesbitt <brian@nesbot.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use Carbon\Carbon;
use Symfony\Component\Translation\Translator;
use Symfony\Component\Translation\Loader\ArrayLoader;
class LocalizationTest extends TestFixture
{
public function testGetTranslator()
{
$t = Carbon::getTranslator();
$this->assertNotNull($t);
$this->assertSame('en', $t->getLocale());
}
public function testSetTranslator()
{
$t = new Translator('fr');
$t->addLoader('array', new ArrayLoader());
Carbon::setTranslator($t);
$t = Carbon::getTranslator();
$this->assertNotNull($t);
$this->assertSame('fr', $t->getLocale());
}
public function testGetLocale()
{
Carbon::setLocale('en');
$this->assertSame('en', Carbon::getLocale());
}
public function testSetLocale()
{
Carbon::setLocale('en');
$this->assertSame('en', Carbon::getLocale());
Carbon::setLocale('fr');
$this->assertSame('fr', Carbon::getLocale());
}
/**
* The purpose of these tests aren't to test the validitity of the translation
* but more so to test that the language file exists.
*/
public function testDiffForHumansLocalizedInFrench()
{
Carbon::setLocale('fr');
$d = Carbon::now()->subSecond();
$this->assertSame('il y a 1 seconde', $d->diffForHumans());
$d = Carbon::now()->subSeconds(2);
$this->assertSame('il y a 2 secondes', $d->diffForHumans());
$d = Carbon::now()->subMinute();
$this->assertSame('il y a 1 minute', $d->diffForHumans());
$d = Carbon::now()->subMinutes(2);
$this->assertSame('il y a 2 minutes', $d->diffForHumans());
$d = Carbon::now()->subHour();
$this->assertSame('il y a 1 heure', $d->diffForHumans());
$d = Carbon::now()->subHours(2);
$this->assertSame('il y a 2 heures', $d->diffForHumans());
$d = Carbon::now()->subDay();
$this->assertSame('il y a 1 jour', $d->diffForHumans());
$d = Carbon::now()->subDays(2);
$this->assertSame('il y a 2 jours', $d->diffForHumans());
$d = Carbon::now()->subWeek();
$this->assertSame('il y a 1 semaine', $d->diffForHumans());
$d = Carbon::now()->subWeeks(2);
$this->assertSame('il y a 2 semaines', $d->diffForHumans());
$d = Carbon::now()->subMonth();
$this->assertSame('il y a 1 mois', $d->diffForHumans());
$d = Carbon::now()->subMonths(2);
$this->assertSame('il y a 2 mois', $d->diffForHumans());
$d = Carbon::now()->subYear();
$this->assertSame('il y a 1 an', $d->diffForHumans());
$d = Carbon::now()->subYears(2);
$this->assertSame('il y a 2 ans', $d->diffForHumans());
$d = Carbon::now()->addSecond();
$this->assertSame('dans 1 seconde', $d->diffForHumans());
$d = Carbon::now()->addSecond();
$d2 = Carbon::now();
$this->assertSame('1 seconde après', $d->diffForHumans($d2));
$this->assertSame('1 seconde avant', $d2->diffForHumans($d));
$this->assertSame('1 seconde', $d->diffForHumans($d2, true));
$this->assertSame('2 secondes', $d2->diffForHumans($d->addSecond(), true));
}
public function testDiffForHumansLocalizedInSpanish()
{
Carbon::setLocale('es');
$d = Carbon::now()->subSecond();
$this->assertSame('hace 1 segundo', $d->diffForHumans());
$d = Carbon::now()->subSeconds(3);
$this->assertSame('hace 3 segundos', $d->diffForHumans());
$d = Carbon::now()->subMinute();
$this->assertSame('hace 1 minuto', $d->diffForHumans());
$d = Carbon::now()->subMinutes(2);
$this->assertSame('hace 2 minutos', $d->diffForHumans());
$d = Carbon::now()->subHour();
$this->assertSame('hace 1 hora', $d->diffForHumans());
$d = Carbon::now()->subHours(2);
$this->assertSame('hace 2 horas', $d->diffForHumans());
$d = Carbon::now()->subDay();
$this->assertSame('hace 1 día', $d->diffForHumans());
$d = Carbon::now()->subDays(2);
$this->assertSame('hace 2 días', $d->diffForHumans());
$d = Carbon::now()->subWeek();
$this->assertSame('hace 1 semana', $d->diffForHumans());
$d = Carbon::now()->subWeeks(2);
$this->assertSame('hace 2 semanas', $d->diffForHumans());
$d = Carbon::now()->subMonth();
$this->assertSame('hace 1 mes', $d->diffForHumans());
$d = Carbon::now()->subMonths(2);
$this->assertSame('hace 2 meses', $d->diffForHumans());
$d = Carbon::now()->subYear();
$this->assertSame('hace 1 año', $d->diffForHumans());
$d = Carbon::now()->subYears(2);
$this->assertSame('hace 2 años', $d->diffForHumans());
$d = Carbon::now()->addSecond();
$this->assertSame('dentro de 1 segundo', $d->diffForHumans());
$d = Carbon::now()->addSecond();
$d2 = Carbon::now();
$this->assertSame('1 segundo antes', $d->diffForHumans($d2));
$this->assertSame('1 segundo después', $d2->diffForHumans($d));
$this->assertSame('1 segundo', $d->diffForHumans($d2, true));
$this->assertSame('2 segundos', $d2->diffForHumans($d->addSecond(), true));
}
public function testDiffForHumansLocalizedInItalian()
{
Carbon::setLocale('it');
$d = Carbon::now()->addYear();
$this->assertSame('1 anno da adesso', $d->diffForHumans());
$d = Carbon::now()->addYears(2);
$this->assertSame('2 anni da adesso', $d->diffForHumans());
}
public function testDiffForHumansLocalizedInGerman()
{
Carbon::setLocale('de');
$d = Carbon::now()->addYear();
$this->assertSame('in 1 Jahr', $d->diffForHumans());
$d = Carbon::now()->addYears(2);
$this->assertSame('in 2 Jahren', $d->diffForHumans());
$d = Carbon::now()->subYear();
$this->assertSame('1 Jahr später', Carbon::now()->diffForHumans($d));
$d = Carbon::now()->subYears(2);
$this->assertSame('2 Jahre später', Carbon::now()->diffForHumans($d));
$d = Carbon::now()->addYear();
$this->assertSame('1 Jahr zuvor', Carbon::now()->diffForHumans($d));
$d = Carbon::now()->addYears(2);
$this->assertSame('2 Jahre zuvor', Carbon::now()->diffForHumans($d));
$d = Carbon::now()->subYear();
$this->assertSame('vor 1 Jahr', $d->diffForHumans());
$d = Carbon::now()->subYears(2);
$this->assertSame('vor 2 Jahren', $d->diffForHumans());
}
public function testDiffForHumansLocalizedInTurkish()
{
Carbon::setLocale('tr');
$d = Carbon::now()->subSecond();
$this->assertSame('1 saniye önce', $d->diffForHumans());
$d = Carbon::now()->subSeconds(2);
$this->assertSame('2 saniye önce', $d->diffForHumans());
$d = Carbon::now()->subMinute();
$this->assertSame('1 dakika önce', $d->diffForHumans());
$d = Carbon::now()->subMinutes(2);
$this->assertSame('2 dakika önce', $d->diffForHumans());
$d = Carbon::now()->subHour();
$this->assertSame('1 saat önce', $d->diffForHumans());
$d = Carbon::now()->subHours(2);
$this->assertSame('2 saat önce', $d->diffForHumans());
$d = Carbon::now()->subDay();
$this->assertSame('1 gün önce', $d->diffForHumans());
$d = Carbon::now()->subDays(2);
$this->assertSame('2 gün önce', $d->diffForHumans());
$d = Carbon::now()->subWeek();
$this->assertSame('1 hafta önce', $d->diffForHumans());
$d = Carbon::now()->subWeeks(2);
$this->assertSame('2 hafta önce', $d->diffForHumans());
$d = Carbon::now()->subMonth();
$this->assertSame('1 ay önce', $d->diffForHumans());
$d = Carbon::now()->subMonths(2);
$this->assertSame('2 ay önce', $d->diffForHumans());
$d = Carbon::now()->subYear();
$this->assertSame('1 yıl önce', $d->diffForHumans());
$d = Carbon::now()->subYears(2);
$this->assertSame('2 yıl önce', $d->diffForHumans());
$d = Carbon::now()->addSecond();
$this->assertSame('1 saniye andan itibaren', $d->diffForHumans());
$d = Carbon::now()->addSecond();
$d2 = Carbon::now();
$this->assertSame('1 saniye sonra', $d->diffForHumans($d2));
$this->assertSame('1 saniye önce', $d2->diffForHumans($d));
$this->assertSame('1 saniye', $d->diffForHumans($d2, true));
$this->assertSame('2 saniye', $d2->diffForHumans($d->addSecond(), true));
}
public function testDiffForHumansLocalizedInDanish()
{
Carbon::setLocale('da');
$d = Carbon::now()->subSecond();
$this->assertSame('1 sekund siden', $d->diffForHumans());
$d = Carbon::now()->subSeconds(2);
$this->assertSame('2 sekunder siden', $d->diffForHumans());
$d = Carbon::now()->subMinute();
$this->assertSame('1 minut siden', $d->diffForHumans());
$d = Carbon::now()->subMinutes(2);
$this->assertSame('2 minutter siden', $d->diffForHumans());
$d = Carbon::now()->subHour();
$this->assertSame('1 time siden', $d->diffForHumans());
$d = Carbon::now()->subHours(2);
$this->assertSame('2 timer siden', $d->diffForHumans());
$d = Carbon::now()->subDay();
$this->assertSame('1 dag siden', $d->diffForHumans());
$d = Carbon::now()->subDays(2);
$this->assertSame('2 dage siden', $d->diffForHumans());
$d = Carbon::now()->subWeek();
$this->assertSame('1 uge siden', $d->diffForHumans());
$d = Carbon::now()->subWeeks(2);
$this->assertSame('2 uger siden', $d->diffForHumans());
$d = Carbon::now()->subMonth();
$this->assertSame('1 måned siden', $d->diffForHumans());
$d = Carbon::now()->subMonths(2);
$this->assertSame('2 måneder siden', $d->diffForHumans());
$d = Carbon::now()->subYear();
$this->assertSame('1 år siden', $d->diffForHumans());
$d = Carbon::now()->subYears(2);
$this->assertSame('2 år siden', $d->diffForHumans());
$d = Carbon::now()->addSecond();
$this->assertSame('om 1 sekund', $d->diffForHumans());
$d = Carbon::now()->addSecond();
$d2 = Carbon::now();
$this->assertSame('1 sekund efter', $d->diffForHumans($d2));
$this->assertSame('1 sekund før', $d2->diffForHumans($d));
$this->assertSame('1 sekund', $d->diffForHumans($d2, true));
$this->assertSame('2 sekunder', $d2->diffForHumans($d->addSecond(), true));
}
public function testDiffForHumansLocalizedInLithuanian()
{
Carbon::setLocale('lt');
$d = Carbon::now()->addYear();
$this->assertSame('1 metai nuo dabar', $d->diffForHumans());
$d = Carbon::now()->addYears(2);
$this->assertSame('2 metai nuo dabar', $d->diffForHumans());
}
public function testDiffForHumansLocalizedInKorean()
{
Carbon::setLocale('ko');
$d = Carbon::now()->addYear();
$this->assertSame('1 년 후', $d->diffForHumans());
$d = Carbon::now()->addYears(2);
$this->assertSame('2 년 후', $d->diffForHumans());
}
public function testDiffForHumansLocalizedInFarsi()
{
Carbon::setLocale('fa');
$d = Carbon::now()->subSecond();
$this->assertSame('1 ثانیه پیش', $d->diffForHumans());
$d = Carbon::now()->subSeconds(2);
$this->assertSame('2 ثانیه پیش', $d->diffForHumans());
$d = Carbon::now()->subMinute();
$this->assertSame('1 دقیقه پیش', $d->diffForHumans());
$d = Carbon::now()->subMinutes(2);
$this->assertSame('2 دقیقه پیش', $d->diffForHumans());
$d = Carbon::now()->subHour();
$this->assertSame('1 ساعت پیش', $d->diffForHumans());
$d = Carbon::now()->subHours(2);
$this->assertSame('2 ساعت پیش', $d->diffForHumans());
$d = Carbon::now()->subDay();
$this->assertSame('1 روز پیش', $d->diffForHumans());
$d = Carbon::now()->subDays(2);
$this->assertSame('2 روز پیش', $d->diffForHumans());
$d = Carbon::now()->subWeek();
$this->assertSame('1 هفته پیش', $d->diffForHumans());
$d = Carbon::now()->subWeeks(2);
$this->assertSame('2 هفته پیش', $d->diffForHumans());
$d = Carbon::now()->subMonth();
$this->assertSame('1 ماه پیش', $d->diffForHumans());
$d = Carbon::now()->subMonths(2);
$this->assertSame('2 ماه پیش', $d->diffForHumans());
$d = Carbon::now()->subYear();
$this->assertSame('1 سال پیش', $d->diffForHumans());
$d = Carbon::now()->subYears(2);
$this->assertSame('2 سال پیش', $d->diffForHumans());
$d = Carbon::now()->addSecond();
$this->assertSame('1 ثانیه بعد', $d->diffForHumans());
$d = Carbon::now()->addSecond();
$d2 = Carbon::now();
$this->assertSame('1 ثانیه پیش از', $d->diffForHumans($d2));
$this->assertSame('1 ثانیه پس از', $d2->diffForHumans($d));
$d = Carbon::now()->addSecond();
$d2 = Carbon::now();
$this->assertSame('1 ثانیه پیش از', $d->diffForHumans($d2));
$this->assertSame('1 ثانیه پس از', $d2->diffForHumans($d));
$this->assertSame('1 ثانیه', $d->diffForHumans($d2, true));
$this->assertSame('2 ثانیه', $d2->diffForHumans($d->addSecond(), true));
}
}