public function getClientBillStatusText(User $client, $year, $quarter)
 {
     $status = $this->getClientBillStatus($client, $year, $quarter);
     if ($status < 0) {
         return $this->translator->transChoice('bill.accounts_require_attention', -$status, array('%count%' => -$status));
     }
     return $this->translator->trans('bill.status' . $status);
 }
예제 #2
0
 /**
  * Converts dates into relative textual dates
  *
  * Ex: x days ago, yesterday, tomorrow, in x days
  *
  * @param \DateTime $date
  *
  * @throws \InvalidArgumentException
  * @return string
  */
 public function textualDateFilter($date)
 {
     if (!$date instanceof \DateTime) {
         throw new \InvalidArgumentException('Textual Date Filter expects input to be a instance of DateTime');
     }
     $now = new \DateTime('now');
     $diff = $now->diff($date);
     $diffUnit = $this->getHighestDiffUnitAndValue($diff);
     $temporalModifier = $diff->invert ? 'ago' : 'next';
     $translationString = $temporalModifier . '.' . $diffUnit['unit'];
     // Override yesterday and tomorrow
     if ($diffUnit['unit'] == 'd' && $diffUnit['value'] == 1) {
         $translationString = $diff->invert ? 'date.yesterday' : 'date.tomorrow';
     }
     // Override "just.now"
     if ($diffUnit['unit'] == 'now') {
         $translationString = 'date.just_now';
     }
     return $this->translator->transChoice($translationString, $diffUnit['value'], array('%value%' => $diffUnit['value']), 'date');
 }
예제 #3
0
 /**
  * @see \Symfony\Component\Translation\Translator::transChoice()
  */
 public function transChoice($id, $number, array $parameters = array(), $domain = 'messages', $locale = null)
 {
     if (null === $locale) {
         $locale = $this->getLocale();
     }
     if (!isset($this->selector)) {
         $this->selector = new MessageSelector();
     }
     $message = $this->getMessage($id, $domain, $parameters, $locale);
     if ($message->getContent()) {
         // return entity translation
         return strtr($this->selector->choose($message->getContent(), (int) $number, $locale), $parameters);
     }
     // else return translation handled by sf
     return parent::transChoice($id, $number, $parameters, $domain, $locale);
 }
 /**
  * @param string $string
  * @param string array $params
  * @param string $domain
  * @param int $number
  * @return string
  */
 private function trans($string, array $params = [], $domain, $number = 1)
 {
     return $this->translator->transChoice($string, $number, $params, $domain);
 }