symfonyan/acme-symfonyan-bundle
Acme Symfonyan Bundle is a lightweight Symfony integration for Symfonyan, providing bundle registration, configuration, and service container wiring. Install it via Composer, enable it in your app, and customize the defaults to fit your project.
This is a Symfony 2/3-era bundle from the Symfony Japan community that swaps Symfony's default welcome page and error pages for Japanese-localized versions. Before investing time, verify it even loads against your Symfony version — the score (0.055), 11 stars, and 0 dependents signal it is effectively abandoned, not a maintained library.
Minimal steps:
Install and confirm the target Symfony major. The package name is symfonyan/acme-symfonyan-bundle, but the bundle class is likely AcmeSymfonyanBundle (note the Acme prefix mismatch). This matters because the FQCN you register is not derivable from the Composer name.
composer require symfonyan/acme-symfonyan-bundle
Expect this to fail on Symfony 4+ unless you also bump symfony/framework-bundle constraints or use --ignore-platform-reqs; do not paper over a constraint conflict — it usually means the bundle's service definitions or Twig paths are incompatible.
Register the bundle. Symfony 2/3: append new AcmeSymfonyanBundle() to AppKernel::registerBundles(). Symfony 4+: add to config/bundles.php. If the class does not autoload, run composer dump-autoload -o and check vendor/symfonyan/acme-symfonyan-bundle/ for the actual namespace in the bundle file.
Look here first. Inside the vendor directory, read in this order:
AcmeSymfonyanBundle.php — namespace, bundle name.Resources/config/ (or config/) — any service definitions and Twig path additions.Resources/views/ — the actual Japanese templates; this is the payload you care about.Controller/ and Resources/config/routing.yml — whether a welcome route is exposed.DependencyInjection/ — configuration tree, if any.First use case. The fastest win is not routing — it is copying the Japanese error templates out of the bundle into your app and letting TwigBundle use them. Symfony resolves app/Resources/TwigBundle/views/Exception/error404.html.twig (or in Symfony 4+, templates/bundles/TwigBundle/Exception/) before the bundle's own. This gives you the translated content without depending on the bundle's controllers or config at all.
If the bundle does register a welcome route, the second use case is mounting it at / conditionally (dev/demo environments only) rather than replacing your application's real homepage.
Template extraction (recommended pattern). Treat the bundle as a content source, not a runtime dependency. Copy Resources/views/Exception/*.html.twig into your app's TwigBundle override directory and commit them. You keep the Japanese copy, drop the maintenance risk, and can delete the Composer requirement afterward. This is the pattern to use if you only want the translated error pages.
Bundle-as-override (if it stays installed). If the bundle adds its views directory to the Twig loader at a priority ahead of TwigBundle's defaults, error pages flip automatically once registered. Verify by hitting a deliberate 404 with APP_ENV=prod APP_DEBUG=0; debug mode disables the pretty error pages and you will wrongly conclude the bundle is broken.
Localized error selection. Symfony maps exception status codes to templates by filename (error404.html.twig, error500.html.twig, plus the generic error.html.twig) and, if present, locale-suffixed variants (error404.ja.html.twig). If you serve multiple locales, use the suffix form and let the request locale pick the file — do not stuff {% trans %} calls into the base template, since the bundle's copy is likely hardcoded Japanese and mixing approaches produces a half-translated page.
Welcome page integration. If a symfonyan_welcome route exists, import its routing explicitly rather than relying on bundle auto-loading (which Symfony removed):
# config/routes.yaml
symfonyan_welcome:
resource: "@AcmeSymfonyanBundle/Resources/config/routing.yml"
prefix: /welcome
Prefix it so it does not collide with your real / route.
Environment gating. Wrap any bundle-provided controller route in a when@dev block or an %kernel.environment% condition. Demo/welcome pages should never be reachable in production; this bundle predates the convention and will happily expose them.
Deployment pattern. Since this is a UI-only bundle, add it to your image build and verify templates are present after cache:clear (prod). A cache warmed in a build step that lacks the bundle will serve stale non-Japanese pages until the next deploy.
symfonyan/acme-symfonyan-bundle → AcmeSymfonyanBundle is the most common first-hour failure. Check the namespace in the bundle file before registering.DIC, KernelInterface, or Twig 1.x paths will not survive Symfony 4+. Error-page conventions moved from app/Resources/ to templates/bundles/ in Symfony 4, so the bundle's documented install instructions are likely wrong for modern Symfony.APP_DEBUG=0 and APP_ENV=prod. When testing localization, always hit a real prod-cached request path.bin/console cache:clear (and cache:warmup in prod). Stale Twig cache will serve the old English error page and make you think the bundle is inert./bundles/acmesymfonyan/...). These break under a subdirectory deployment or a CDN prefix; switch to asset() before shipping.Verdict for day-to-day use: the only durable, low-risk way to leverage this package is as a one-time source of Japanese error-page copy. Vendor-copy the Twig templates into your app, review the wording, and remove the dependency. Anything beyond that — relying on its routing, services, or Symfony compatibility — is borrowing against a package nobody maintains.
How can I help you explore Laravel packages today?