Client library for Lokalise API 2.0, written with PHP. Full API reference.
Changelog is located here.
- PHP 7.4.x or greater is required
- Install LokaliseApiClient using Composer (recommended) or manually
- Get Composer
- Require LokaliseApiClient with
php composer.phar require lokalise/php-lokalise-api
- Add the following to your application's main PHP file:
require 'vendor/autoload.php';
Create and grab your API token at Lokalise profile
$client = new \Lokalise\LokaliseApiClient($apiToken);
/** @var \Lokalise\LokaliseApiResponse $response */
$response = $client->languages->listSystem();
$response->
headers // Associative array of Lokalise headers received
getContent() // Return response data as associative array
__toArray() // getContent() alias. Return response data as associative array
__toString() // Return JSON encoded response data
getTotalCount() // Return total count of filtered items in List methods
getPageCount() // Return count of pages in List methods (based on limit parameter)
getPaginationLimit() // Return pagination limit used in the request
getPaginationPage() // Return current page of the request
getNextCursor() // Return next cursor for cursor based pagination
hasNextCursor() // Return true if next cursor is present for cursor based pagination
\Lokalise\Utils::
base64FileEncode($filePath) // Get base64 encoded contents with leading mime type
\Lokalise\Exceptions\LokaliseApiException // Exception throws when Lokalise API can't be reached using Guzzle
\Lokalise\Exceptions\LokaliseResponseException // Exception throws when Lokalise API responded with a single error
Best practice
$client = new \Lokalise\LokaliseApiClient($apiToken);
try {
$language = $client->languages->retrieve($projectId, $languageId)->getContent();
} catch (\Lokalise\Exceptions\LokaliseApiException $e) {
// try again later or break
} catch (\Lokalise\Exceptions\LokaliseResponseException $e) {
// Request cannot be completed. More details in {$e->getCode()} and {$e->getMessage()}
// break
}
Access to all endpoints is limited to 6 requests per second from 14 September, 2021. This limit is applied per API token and per IP address. If you exceed the limit, a 429 HTTP status code will be returned and the corresponding exception will be raised that you should handle properly. To handle such errors, we recommend an exponential backoff mechanism with a limited number of retries.
Only one concurrent request per token is allowed.