2017 © Pedro Peláez
 

symfony-bundle translation-bundle

Integrate Symfony with translations SaaS like http://localise.biz

image

happyr/translation-bundle

Integrate Symfony with translations SaaS like http://localise.biz

  • Sunday, December 17, 2017
  • by Nyholm
  • Repository
  • 10 Watchers
  • 56 Stars
  • 67,216 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 28 Forks
  • 9 Open issues
  • 11 Versions
  • 4 % Grown

The README.md

Happyr Translation Bundle

Latest Version Build Status Code Coverage Quality Score Total Downloads, (*1)

DEPRECATED: Use php-translation/symfony-bundle

This bundle has been deprecated in favor of php-tranlation/symfony-bundle. We took all features form this bundle and put them (and many more) at php-translation., (*2)

The bundle will still live here forever but no new features or bugfixes will be merged. Forking or moving this repo to new maintainers will not make any sense since that is pretty much what we already done in php-translation., (*3)


This bundle helps you to integrate with a third party translation service. The bundle has been focused to integrate to the Loco service. If you want to know how Happyr work with this bundle you should check out this blog post., (*4)

The key features of this bundle is:, (*5)

  • Easy to download all translations from
  • Support for multiple projects
  • Create new translation assets by the Symfony WebProfiler
  • Edit, flag and synchronize the translation via the Symfony WebProfiler
  • Auto upload missing translations to SaaS

Usage

To download all translations from Loco, simply run: ``` bash php app/console happyr:translation:download, (*6)


When you have added new translations you may submit these to your translation SaaS by the WebProfiler toolbar. ![New translations to SaaS](src/Resources/doc/images/missing-translation-example.gif) You may also change translations and flag them from the same WebProfiler page. ![Manage translations with SaaS](src/Resources/doc/images/edit-flag-sync-example.gif) When you want to fetch new translations from your SaaS you should run the synchronize command. This command will keep your current placeholders from missing translations. ``` bash php app/console happyr:translation:sync

Install

Install the bundle with composer require happyr/translation-bundle, (*7)

You do also need to choose what library to use when you are sending http messages. Consult the php-http/client-implementation virtual package to find adapters to use. For more information about virtual packages please refer to Httplug. Example:, (*8)

composer require php-http/guzzle6-adapter

Enable the bundle in your kernel:, (*9)

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Happyr\TranslationBundle\HappyrTranslationBundle(),
    );
}

This bundle require you to register a service for the HttpClient and the MessageFactory and then set service name to the config like below. The easiest way of doing this is with the HttplugBundle., (*10)

``` yaml happyr_translation: httplug_client: 'httplug.client' httplug_message_factory: 'httplug.message_factory', (*11)


## Configure If you have one Loco project per domain you may configure the bundle like this: ``` yaml # /app/config/config.yml happyr_translation: locales: ['en','sv','fr','es'] projects: messages: api_key: 'foobar' navigation: api_key: 'bazbar'

If you just doing one project and have tags for all your translation domains you may use this configuration: ``` yaml, (*12)

/app/config/config.yml

happyr_translation: locales: ['en','sv','fr','es'] domains: ['messages', 'navigation'] projects: acme: api_key: 'foobar', (*13)


You do also need to configure a development route. ``` yaml # /app/config/routing_dev.yml _happyr_translation: resource: '@HappyrTranslationBundle/Resources/config/routing_dev.yml'

Default configuration

yaml happyr_translation: httplug_client: 'httplug.client' httplug_message_factory: 'httplug.message_factory' file_extension: 'xlf' # could be 'json', 'mo', 'php', 'po', 'yml' and many more locales: [] domains: [] translation_service: 'loco' target_dir: '%kernel.root_dir%/Resources/translations' auto_add_assets: false allow_edit: true, (*14)

TODO

  • The new page in the WebProfiler needs some design and nice icons.
  • The error handling is not always the best.
    • The Loco class
    • In the HttpAdapters
    • In the javascript

Credits

This bundle is both inspired by and is using some of the code from @damienalexandre / JoliCode and from Cliff Odijk's (@cmodijk) LocoBundle., (*15)

I would also thank Tim Whitlock (@timwhitlock) for creating Loco., (*16)

The Versions

23/04 2016

0.4.2

0.4.2.0 http://developer.happyr.com

Integrate Symfony with translations SaaS like http://localise.biz

  Sources   Download

MIT

The Requires

 

The Development Requires

18/04 2016

0.4.1

0.4.1.0 http://developer.happyr.com

Integrate Symfony with translations SaaS like http://localise.biz

  Sources   Download

MIT

The Requires

 

The Development Requires

17/04 2016

0.4.0

0.4.0.0 http://developer.happyr.com

Integrate Symfony with translations SaaS like http://localise.biz

  Sources   Download

MIT

The Requires

 

The Development Requires

25/02 2016

0.3.0

0.3.0.0 http://developer.happyr.com

Integrate Symfony with translations SaaS like http://localise.biz

  Sources   Download

MIT

The Requires

 

The Development Requires

04/01 2016
23/12 2015

0.2.1

0.2.1.0 http://developer.happyr.com

Integrate Symfony with translations SaaS like http://localise.biz

  Sources   Download

MIT

The Requires

 

The Development Requires

23/12 2015

0.2.0

0.2.0.0 http://developer.happyr.com

Integrate Symfony with translations SaaS like http://localise.biz

  Sources   Download

MIT

The Requires

 

The Development Requires

23/12 2015

0.1.0

0.1.0.0 http://developer.happyr.com

Integrate Symfony with translations SaaS like http://localise.biz

  Sources   Download

MIT

The Requires