Weave Code
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

Xliff Bundle Laravel Package

c975l/xliff-bundle

View on GitHub
Deep Wiki
Context7

XliffBundle

XliffBundle does the following:

  • exports xlf files from a database, where columns are languages, to be used as translation files in Symfony (or other).

XliffBundle dedicated web page.

XliffBundle API documentation.

Bundle installation

Step 1: Download the Bundle

Use Composer to install the library

    composer require-dev c975l/xliff-bundle

We strongly recommend to use this only on the dev part

Step 2: Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in the app/AppKernel.php file of your project:

<?php
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // ...
        ];

        if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
            // ...
            $bundles[] = new c975L\XliffBundle\c975LXliffBundle();
        }
    }
}

Step 3: Enable the Routes

Then, enable the routes by adding them to the app/config/routing_dev.yml file of your project:

// app/config/routing_dev.yml

c975_l_xliff:
    resource: "@c975LXliffBundle/Controller/"
    type:     annotation
    prefix:   /

Step 5: Create MySql table

You can use php bin/console make:migration to create the migration file as documented in Symfony's Doctrine docs OR use /Resources/sql/translations.sql to create the table translations. The DROP TABLE is commented to avoid dropping by mistake.

Step 4: Define languages to be exported

v2.0+ of c975LXliffBundle uses c975L/ConfigBundle to manage configuration parameters. Use the Route "/xliff/config" with the proper user role to modify them.

Upgrading from v1.x? Check UPGRADE.md.

How to use

Call your localhost with /xliff/create, this will run the bundle and create the xlf files.

Please note that the missing translations in a language will be replaced by the source language between brackets. This will break the ability to see from Symfony's toolbar the missing translations, but as we rely on the database, we'll still be able to know what are the missing texts.

If this project help you to reduce time to develop, you can sponsor me via the "Sponsor" button at the top :)

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.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui