/** * * @param type $message * @param type $catalogue * @return LanguageToken */ protected function getToken($message, $catalogue) { $token = $this->orm->getRepository('RaindropTranslationBundle:LanguageToken')->findOneBy(array('token' => $message, 'catalogue' => $catalogue)); if (!$token) { $token = new LanguageToken(); $token->setToken($message); $token->setCatalogue($catalogue); $this->orm->persist($token); $this->orm->flush(); } return $token; }
/** * Create token and translation (if not present) * * @param type $message * @param type $catalogue */ protected function createTokenAndMessageForLocale($message, $languageEntity, $catalogue) { // this gets invoked to make sure the catalogue file is present $this->setupLanguageFile($catalogue, $languageEntity); $this->messages[] = $message; $token = $this->orm->getRepository('RaindropTranslationBundle:LanguageToken')->findOneByToken($message); if (!$token) { $token = new LanguageToken(); $token->setToken($message); $this->orm->persist($token); } $translation = $this->orm->getRepository('RaindropTranslationBundle:LanguageTranslation')->findByLanguageAndTokenAndCatalogue($languageEntity->getLocale(), $message, $catalogue); if (!$translation) { $translation = new LanguageTranslation(); $translation->setLanguage($languageEntity); $translation->setLanguageToken($token); $translation->setCatalogue($catalogue); } $this->orm->persist($translation); $this->orm->flush(); }