$translations 소유 템플릿의 프론트엔드 다국어 데이터 * @return string 표시용 설명 */ public static function resolve(mixed $description, string $name, array $translations = []): string { if (! is_string($description) || $description === '') { return $name; } // 런타임 컨텍스트(`route` 등)가 필요한 식은 이 시점에 해석할 수 없다. // 예: `{{route.id ? '$t:board.edit' : '$t:board.new'}}` if (str_contains($description, '{{')) { return $name; } if (! str_starts_with($description, self::TRANSLATION_PREFIX)) { return $description; } $key = substr($description, strlen(self::TRANSLATION_PREFIX)); $resolved = data_get($translations, $key); return is_string($resolved) && $resolved !== '' ? $resolved : $name; } }