yproximite/wanna-speak-bundle
A Symfony bundle from Yproximite that adds translation management tooling to your PHP application, helping teams browse, edit, and organize translation messages so i18n workflows stay simple and maintainable.
composer require yproximite/wanna-speak-bundle. The last release was September 2021 and the repo is archived, so check the composer.json constraints for supported PHP/Symfony versions before adding it to a modern app. If you are on Symfony 6/7 or PHP 8.2+, expect to fork or vendor the handful of source files.config/bundles.php (Yproximite\WannaSpeakBundle\WannaSpeakBundle::class => ['all' => true]); on legacy skeletons, add it to app/AppKernel.php. Then expose credentials via config/packages/wanna_speak.yaml with values pulled from %env()% — typically an account ID / API key pair and sometimes a base URL or sandbox flag.src/DependencyInjection/Configuration.php to learn the exact config keys, then the main client class under src/ to see which API operations are actually implemented (usually a handful of methods wrapping HTTP calls to the WannaSpeak REST endpoints).CallTrackingGatewayInterface in your domain and implement it with the bundle client. This is the single highest-value pattern here: it isolates you from the archived dependency and lets you swap in a hand-rolled HTTP client later without touching controllers.wanna_speak config blocks keyed by %kernel.environment%), and store secrets as env vars so they never enter the repo or a compiled container dump.MockHttpClient with recorded fixtures. Assert on your gateway's behavior (e.g. "an SMS message was dispatched"), not on the bundle's internals.symfony/http-client). If composer require fights you, copy the small src/ directory into your app as an internal service and drop the dependency — the surface area is usually tiny.error/status field and throw a domain exception on failure.services.yaml alias), the Configuration tree for adding keys, and any Guzzle/HttpClient service injection you can replace with a customized client (proxy, retry middleware, logging middleware). These are the cleanest ways to bend it without forking.How can I help you explore Laravel packages today?