/** * @dataProvider getUnit */ public function testTranslationCreation(Unit $unit) { $t = new Translation(self::TRANSLATION1, self::LOCALE1, $unit); $this->assertEquals(self::TRANSLATION1, $t->getValue()); $this->assertEquals(self::LOCALE1, $t->getLocale()); $this->assertEquals($unit, $t->getUnit()); $this->assertEquals(self::DOMAIN, $t->getDomain()); $this->assertEquals(self::KEY, $t->getKey()); }
public function saveTranslation(Translation $translation) { // Fetch the related unit $propelUnit = UnitQuery::create()->findOneByDomainAndKey($translation->getUnit()->getDomain(), $translation->getUnit()->getKey()); // Retrived or create the translation $propelTranslationToUpdate = null; foreach ($propelUnit->getTranslations() as $propelTranslation) { if ($propelTranslation->getLocale() == $translation->getLocale()) { $propelTranslationToUpdate = $propelTranslation; break; } } if ($propelTranslationToUpdate === null) { $propelTranslationToUpdate = new PropelTranslation(); $propelTranslationToUpdate->setUnitId($propelUnit->getId()); } // Update and save $propelTranslationToUpdate->updateFromModel($translation); $propelTranslationToUpdate->save(); }