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

Translation Bundle Laravel Package

adcog-cpi/translation-bundle

Symfony bundle providing translation-aware link helpers for controllers and Twig. Generates tags with translated name/title/description from route keys, optional route-to-class, underscore-to-dot mapping, prefixing, and active-route tracking via configurable defaults.

View on GitHub
Deep Wiki
Context7

EBTranslationBundle

This bundle helps me deal with links in my templates.

Default configuration

# app/config/config.yml

eb_translation:
  # domain where translations are stored
  domain: messages
  # default locale
  locale: '%locale%'
  # add route name as class when generating a link
  use_route_as_class: false
  # replace underscores by points in route names to
  # find its translation : home_index => home.index
  # create array structures in Yaml
  replace_underscore: true
  # link translations prefix
  prefix: 'page.'
  # wether we have to track selected links by adding
  # a class when the route is the same as the current
  # route (the class to add, or null)
  track_selected_links: 'active'

Translation example base on the default configuration

# messages.fr.yml
page:
  home:
    name: 'Home page name'
    title: 'Home page title'
    description: 'Home page description'

Controller

// SomeController.php

/** @var EB\TranslationBundle\Translation $translation */
$translation = $this->get('eb_translation');

// <a href="/" title="Home page title">Home page name</a>
$translation->link('home');

// <a href="/page-1" title="Home page title">Home page name</a>
$translation->link('home',{'page':1});

// <a href="/" title="Home page title">something</a>
$translation->link('home',{},{'name':'something'});

// <a href="/" title="something">Home page name</a>
$translation->link('home',{},{'title':'something'});

// <a href="/" title="Home page title" class="something">Home page name</a>
$translation->link('home',{},{'class':'something'});

// Home page name
$translation->name('home');

// Home page title
$translation->title('home');

// Home page description
$translation->description('home');

Twig

{# SomeTemplate.html.twig #}

{# @return '<a href="/" title="Home page title">Home page name</a>' #}
{{ link('home') }}

{# @return '<a href="/page-1" title="Home page title">Home page name</a>' #}
{{ link('home',{'page':1}) }}

{# @return '<a href="/" title="Home page title">something</a>' #}
{{ link('home',{},{'name':'something'}) }}

{# @return '<a href="/" title="something">Home page name</a>' #}
{{ link('home',{},{'title':'something'}) }}

{# @return '<a href="/" title="Home page title" class="something">Home page name</a>' #}
{{ link('home',{},{'class':'something'}) }}

{# @return 'Home page name' #}
{{ name('home') }}

{# @return 'Home page title' #}
{{ title('home') }}

{# @return 'Home page description' #}
{{ description('home') }}
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.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity