/** * @ApiDoc( * section="Language Editor", * description="Gets a overview of translated messages" * ) * * @Rest\QueryParam(name="bundle", requirements=".+", strict=true, description="The bundle name") * @Rest\QueryParam(name="lang", requirements="[a-z]{2,3}", strict=true, description="The language code") * * @Rest\Get("/admin/system/bundle/editor/language/overview") * * @param ParamFetcher $paramFetcher * * @return array[count => int, countTranslated => int] */ public function getOverviewExtractAction(ParamFetcher $paramFetcher) { $bundle = $paramFetcher->get('bundle'); $lang = $paramFetcher->get('lang'); $utils = $this->translator->getUtils(); $extract = $utils->extractLanguage($bundle); $translated = $this->getLanguage($bundle, $lang); $p100 = count($extract); $cTranslated = 0; foreach ($extract as $id => $translation) { if (isset($translated['translations'][$id]) && $translated['translations'][$id] != '') { $cTranslated++; } } return array('count' => $p100, 'countTranslated' => $cTranslated); }