Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wickedone/phrase-tag-bundle
helpers to manage your phrase translation keys
https://github.com/wickedone/phrase-tag-bundle
phrase symfony symfony-bundle translations
Last synced: about 1 month ago
JSON representation
helpers to manage your phrase translation keys
- Host: GitHub
- URL: https://github.com/wickedone/phrase-tag-bundle
- Owner: wickedOne
- License: mit
- Created: 2022-12-29T06:09:32.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-18T07:20:39.000Z (6 months ago)
- Last Synced: 2024-05-21T13:06:14.161Z (6 months ago)
- Topics: phrase, symfony, symfony-bundle, translations
- Language: PHP
- Homepage:
- Size: 748 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# phrase-tag-bundle
providing some commands & services to help you manage your translation keys at phrase.
this might be especially usefull when you switched to using the [phrase translation provider](https://github.com/wickedOne/phrase-translation-provider).[![Mutation testing badge](https://img.shields.io/endpoint?style=flat&url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2FwickedOne%2Fphrase-tag-bundle%2Fmaster)](https://dashboard.stryker-mutator.io/reports/github.com/wickedOne/phrase-tag-bundle/master)
[![codecov](https://codecov.io/gh/wickedOne/phrase-tag-bundle/branch/master/graph/badge.svg?token=UHKAVGURP7)](https://codecov.io/gh/wickedOne/phrase-tag-bundle)
[![psalm](https://shepherd.dev/github/wickedOne/phrase-tag-bundle/coverage.svg)](https://shepherd.dev/github/wickedOne/phrase-tag-bundle)
[![Latest Stable Version](http://poser.pugx.org/wickedone/phrase-tag-bundle/v)](https://packagist.org/packages/wickedone/phrase-tag-bundle)
[![Total Downloads](http://poser.pugx.org/wickedone/phrase-tag-bundle/downloads)](https://packagist.org/packages/wickedone/phrase-tag-bundle)
[![License](http://poser.pugx.org/wickedone/phrase-tag-bundle/license)](https://packagist.org/packages/wickedone/phrase-tag-bundle)
[![PHP Version Require](http://poser.pugx.org/wickedone/phrase-tag-bundle/require/php)](https://packagist.org/packages/wickedone/phrase-tag-bundle)## Installation
Make sure Composer is installed globally, as explained in the
[installation chapter](https://getcomposer.org/doc/00-intro.md)
of the Composer documentation.### Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
```console
$ composer require wickedone/phrase-tag-bundle
```### Applications that don't use Symfony Flex
#### Step 1: Download the Bundle
Open a command console, enter your project directory and execute the
following command to download the latest stable version of this bundle:```console
$ composer require wickedone/phrase-tag-bundle
```#### Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the `config/bundles.php` file of your project:```php
// config/bundles.phpreturn [
// ...
WickedOne\PhraseTagBundle\WickedOnePhraseTagBundle::class => ['all' => true],
];
```#### step 3: configuration
in your `config/packages` directory create a `wickedone.yaml` file with the following content:
```yaml
wicked_one_phrase_tag:
dsn: '%env(PHRASE_DSN)%'
```
and in your `.env` file define the phrase dsn like so
```dotenv
PHRASE_DSN=phrase://PROJECT_ID:API_TOKEN@default?userAgent=myProject
```##### dsn elements
- `PROJECT_ID`: can be retrieved in phrase from `project settings > API > Project ID`
- `API_TOKEN`: can be created in your [phrase profile settings](https://app.phrase.com/settings/oauth_access_tokens)
- `default`: endpoint, defaults to `api.phrase.com`##### dsn query parameters
- `userAgent`: please read [this](https://developers.phrase.com/api/#overview--identification-via-user-agent) for some examples.## Commands
After installation two new commands will be available to your application:
### `phrase:keys:tag` command
this command helps you to batch tag keys in phrase by querying for existing tags and / or key name.
you can search for multiple tags at once and a broad search on key name using the `*` wildcard.
keep in mind the query is an AND query, meaning the keys have to match all criteria.**example**:
```bash
php bin/console phrase:keys:tag -k error.* -t ticket-15 -t ticket-13 --tag epic-5
```
this will search for all keys matching the name `error.*` and with tags `ticket-15` AND `ticket-13` and will add the tag `epic-5` to them.when you add the `--dry-run` option to the command, it will list the first 100 matches to your query.
### `phrase:keys:untag` command
this command helps you to batch remove tags from keys in phrase by querying for existing tags and / or key name.
you can search for multiple tags at once and a broad search on key name using the `*` wildcard.
keep in mind the query is an AND query, meaning the keys have to match all criteria.**example**:
```bash
php bin/console phrase:keys:untag -k error.* -t ticket-15 -t ticket-13 --tag epic-5
```
this will search for all keys matching the name `error.*` and with tags `ticket-15` AND `ticket-13` and will remove the tag `epic-5` from them.when you add the `--dry-run` option to the command, it will list the first 100 matches to your query.