public function findLocaleFile($file) {
		$app = $this->service->getKernel()->getApplication();
		$locale = $app->getLocalization()->getLocale();
		$repo = $this->service->getResourceRepository();

		$workDownLanguageTag = function($locale, $next) use ($repo, $file) {
			// check if the locale has more than one subtag to work down
			if (strpos($locale, '-') === false) {
				return null;
			}

			// drop the last subtag
			$locale = implode('-', array_slice(explode('-', $locale), 0, -1));
			$filename = str_replace('{locale}', $locale, $file);
			if (!$repo->contains($filename)) {
				$filename = $next($locale, $next);
			}
			return $filename;
		};

		$filename = $workDownLanguageTag($locale, $workDownLanguageTag);

		if ($filename === null) {
			$filename = str_replace('{locale}', 'en', $file);
			if (!$repo->contains($filename)) {
				$filename = null;
			}
		}

		return $filename;
	}