cyberspectrum/php-transifex

完全使用PHP编写的transifex API客户端

2.0.3 2023-08-16 10:38 UTC

This package is auto-updated.

Last update: 2024-09-16 16:18:56 UTC


README

Build Status Latest Version tagged Latest Version on Packagist Installations via composer per month

用PHP编写的Transifex客户端。

此客户端使用php-http基础接口。

安装

$ php composer.phar require cyberspectrum/php-transifex php-http/guzzle7-adapter

为什么使用php-http/guzzle7-adapter?我们在HTTPlug的帮助下与任何HTTP消息客户端解耦。

您也可以安装任何其他适配器,而不是php-http/guzzle7-adapter,只需确保安装了一个即可。

使用方法

我们有两层API。

  1. 命名空间 CyberSpectrum\PhpTransifex\ApiClient 中的底层API
  2. 命名空间 CyberSpectrum\PhpTransifex\Model 中的基于实体的高级API

1. 底层API。

快速入门 - 创建一个API客户端

$factory = new CyberSpectrum\PhpTransifex\ApiClient\ClientFactory(
    $logger,
    [new CyberSpectrum\PhpTransifex\ApiClient\Generated\Authentication\BearerAuthAuthentication($apiKey)]
);
$client = $factory->create($factory->createHttpClient());

// Fetch a project:
$project = $client->getProjectByProjectId('project-id');

2. 高级API。

创建一个API客户端

$factory = new CyberSpectrum\PhpTransifex\ApiClient\ClientFactory(
    $logger,
    [new CyberSpectrum\PhpTransifex\ApiClient\Generated\Authentication\BearerAuthAuthentication($apiKey)]
);
$client = $factory->create($factory->createHttpClient());
$transifex = new CyberSpectrum\PhpTransifex\PhpTransifex($client);

获取一个组织

$organization = $transifex->organizations()->getBySlug('organization');

创建一个项目

$project = $organization->projects()->add(
    'project-slug',
    'My Project description',
    'en', // source language code.
    'https://example.org' // the repository URL for open source projects or false for private.
);
$project->save();

获取一个项目

$project = $transifex->organizations()->getBySlug('organization')->projects()->getBySlug('some-project');

添加一种语言

$project->languages()->add('de')->coordinators()->add('transifex-username');
$project->save();

// Show all language codes for the project.
var_export($project->languages()->codes());