Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Crowdin Api Client Laravel Package

crowdin/crowdin-api-client

Official PHP client for Crowdin's REST API, letting Laravel and PHP applications manage localization projects, source strings, translations, glossaries, and builds programmatically. Wraps every endpoint in a clean, object-oriented SDK with typed requests and responses for Crowdin Cloud and Enterpris...

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for the TMS integration layer. This package is the official PHP client for Crowdin's API v2. If Crowdin is already (or is about to be) the translation management system, this removes the need to hand-roll an HTTP client, request signing, pagination, and per-resource models. The decision it doesn't make for you is the TMS vendor choice — the SDK is a consequence of that, not an input.
  • Continuous localization as a roadmap item. Every capability needed for "strings ship on merge, translations land on release" is exposed: project/branch/file/string management, pre-translation, glossaries, translation memory, review workflows, and webhooks. That makes CI-driven localization a scoping exercise rather than a research project.
  • Locale expansion. Adding a language becomes a config + workflow change (create target language, wire the pull step, QA) rather than an engineering project. Useful for justifying i18n in a quarterly plan with a predictable cost curve.
  • Content governance and brand consistency. Glossary and TM endpoints let you make a product decision like "legal and marketing terms must be translated consistently" enforceable in code, not in a spreadsheet.
  • Vendor/Enterprise workflow decisions. The same client covers both crowdin.com and Crowdin Enterprise ($servicesEnterprise), including members, teams, and workflow steps — so org-model and approval-process decisions can be implemented without a second integration.
  • Make-vs-automate on the glue. The SDK deliberately stops at the API boundary. Any decision about a Laravel service provider, queued sync jobs, or an internal LocalizationService facade is yours to own — budget for it explicitly.

When to Consider This Package

Adopt when:

  • Crowdin is your TMS (or is on the shortlist and you want to prototype the integration cheaply).
  • You need programmatic orchestration — CI push/pull, pre-translate on release, glossary sync, webhook-driven status — rather than translators clicking in a UI.
  • You're on a PHP/Laravel stack, including older runtimes: the package supports PHP >= 7.1, which matters for a legacy monolith you can't upgrade on your timeline.
  • You want an MIT-licensed, vendor-maintained client you don't have to patch when Crowdin ships new endpoints.

Look elsewhere or expect to build more when:

  • You are not a Crowdin customer. The value is entirely contingent on the platform; the package is not a general i18n tool.
  • You want a Laravel-native integration. There is no service provider, facade, config file, or Http::fake() compatibility. You will write a thin wrapper and your own test doubles around Guzzle.
  • You only need one or two endpoints. A 40-line Guzzle wrapper may be cheaper to reason about than a large multi-resource SDK.
  • You want modern typed DTOs. The client is docblock-typed and PHP 7.1-compatible by design — no typed properties, no constructor promotion. Acceptable, but not ergonomic if your codebase is PHP 8.3+ and strict about domain types.
  • You need strong external validation. 62 stars and 0 dependents is thin community signal. It's official and CI-enforced, but treat it as "maintained by the vendor" rather than "battle-tested by the ecosystem," and verify the release cadence yourself (the listed last-release date is in the future, which suggests automated version bumping rather than a date you should plan against).

Additional adoption guardrails: pin a major version, wrap the client behind your own interface so a future TMS swap is a one-class change, and note that model updates are JSON-Patch diffs computed from property names — extending or customizing models is fragile, so don't.

How to Pitch It (Stakeholders)

To executives: Localization is a growth lever we currently execute manually. This is the official, MIT-licensed PHP client for Crowdin, the translation platform we'd use to run it. Adopting it turns "add three languages" from an engineering project into a repeatable pipeline: source strings push automatically on merge, translations pull automatically on release. Cost is the Crowdin subscription plus a small, one-time integration wrapper we own; there's no per-seat engineering tax and no lock-in at the code layer, because the wrapper isolates the vendor behind our own interface.

To engineering: Thin, framework-agnostic PHP client over Crowdin's REST API — one class per resource, models that hydrate from JSON, and helpers for list/get/create/update/delete. PHP 7.1+ compatible, PHPUnit tests mirroring src/ 1:1, PSR-style checks enforced in CI. It does not bring a Laravel service provider or HTTP fakes, so plan for a small adapter (~1 day) plus queued jobs for sync. Risk is low and bounded: pin the major, don't subclass the models, and keep all Crowdin calls behind our own LocalizationService so we can swap vendors or stub in tests.

Honest caveat to include: low community adoption means we should not assume community answers or third-party examples; the vendor's API docs and the package's own docblocks are the source of truth. That's a documentation dependency, not a blocker.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource