412 lines
14 KiB
PHP
Executable File
412 lines
14 KiB
PHP
Executable File
<?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));
|
||
}
|
||
}
|