Jarves\Translation\Translator::getPluralJsFunctionFile PHP Méthode

getPluralJsFunctionFile() public méthode

public getPluralJsFunctionFile ( $lang ) : string
$lang
Résultat string Returns the public accessible file path
    public function getPluralJsFunctionFile($lang)
    {
        $fs = $this->webFilesystem;
        $file = 'cache/core_gettext_plural_fn_' . $lang . '.js';
        if (!$fs->has($file)) {
            $pluralForm = $this->getPluralForm($lang, true);
            $code = "function gettext_plural_fn_{$lang}(n){\n";
            $code .= "    return " . $pluralForm . ";\n";
            $code .= "}";
            $fs->write($file, $code);
        }
        return 'cache/core_gettext_plural_fn_' . $lang . '.js';
    }

Usage Example

 /**
  * @ApiDoc(
  *  section="Interface i18n",
  *  description="Prints the language plural form"
  * )
  *
  * @Rest\QueryParam(name="lang", requirements="[a-z]{2,3}", strict=true, description="The language code")
  *
  * @Rest\Get("/admin/ui/language-plural")
  *
  * @param ParamFetcher $paramFetcher
  *
  * @return string javascript
  */
 public function getLanguagePluralFormAction(ParamFetcher $paramFetcher)
 {
     $lang = $paramFetcher->get('lang');
     $lang = preg_replace('/[^a-z]/', '', $lang);
     $file = $this->translator->getPluralJsFunctionFile($lang);
     //just make sure the file has been created
     $response = new Response();
     $response->headers->set('Content-Type', 'text/javascript');
     $response->setContent($this->webFilesystem->read($file));
     return $response;
 }