PackageTrack
Sign in Get early access

jms/translation-bundle

Puts the Symfony Translation Component on steroids

2.7.0 11M downloads/mo #2680 most downloaded on Packagist schmittjoh/JMSTranslationBundle

What this package is like to depend on

Last release 4 months ago

18 Apr 2026

Release timing varies

gaps range from 5 weeks to 10 months

Most releases are documented

notes for 29 of 35 stable releases

Nothing withdrawn

no release was ever pulled

14 years old

38 releases · first in 2012

2 releases in the last 12 months

see the full history below

Release timeline

38 releases · Sep 2012 to Apr 2026
2013 2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 38
  1. 3.0.0-beta1 18 Apr 2026 pre-release
    Release notes

    What's Changed

    Full Changelog: 2.6.0...3.0.0-beta1

    Open source →
  2. 2.7.0 20 Dec 2025
    Release notes

    What's Changed

    Full Changelog: 2.6.0...2.7.0

    Open source →
  3. 2.6.0 09 Feb 2025
    Release notes

    What's Changed

    Kudos to @deguif for his contributions!

    Full Changelog: 2.5.0...2.6.0

    Open source →
  4. 2.5.0 07 Jan 2025
    Release notes

    What's Changed

    • Use file_link filter only when available by @deguif in #593

    Full Changelog: 2.4.0...2.5.0

    Open source →
  5. 2.4.0 23 Sep 2024
    Release notes

    What's Changed

    • Fix deprecations triggered since twig 3.12.0 by @deguif in #591

    Full Changelog: 2.3.0...2.4.0

    Open source →
  6. 2.3.0 08 Jun 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 2.2.1...2.3.0

    Open source →
  7. 2.2.1 11 Mar 2024
    Release notes

    What's Changed

    • fix: prevent type error on choices array with optional keys by @qkdreyer in #585

    Full Changelog: 2.2.0...2.2.1

    Open source →
  8. 2.2.0 06 Feb 2024
    Release notes

    What's Changed

    Full Changelog: 2.1.0...2.2.0

    Open source →
  9. 2.1.0 12 Dec 2023
    Release notes

    What's Changed

    • Fix coding style by @deguif in #583
    • Add attributes for routes by @deguif in #568
    • Fix wrong return type-hint depending on which symfony/translation version is installed by @deguif in #582

    Full Changelog: 2.0.0...2.1.0

    Open source →
  10. 2.0.0 26 Sep 2023
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 1.8.0...2.0.0

    Open source →
  11. 2.0.0-beta1 07 Jan 2023 pre-release

    Nothing published for this version

  12. 2.0.0-RC1 29 Mar 2023 pre-release

    Nothing published for this version

  13. 1.9.1 27 Mar 2023

    Nothing published for this version

  14. 1.9.0 30 Jan 2023

    Nothing published for this version

  15. 1.8.0 07 Jan 2023

    Nothing published for this version

  16. 1.7.0 14 Dec 2022

    Nothing published for this version

  17. 1.6.2 15 Feb 2022

    Nothing published for this version

  18. 1.6.1 26 Nov 2021

    Nothing published for this version

  19. 1.6.0 16 Jan 2021
    Release notes
    Open source →
  20. 1.5.4 21 Apr 2020
    Release notes

    Fixed bugs:

    • test translation state is preserved for xliff #540 (goetas)
    Open source →
  21. 1.5.3 19 Apr 2020
    Release notes

    Closed issues:

    • ExtractTranslationCommand unlink() expects parameter 1 to be a valid path, object given #537
    • 1.5 => simplexml_load_file() expects parameter 1 to be a valid path, object given #535

    Merged pull requests:

    Open source →
  22. 1.5.2 19 Mar 2020
    Release notes

    Merged pull requests:

    Open source →
  23. 1.5.1 17 Mar 2020
    Release notes

    Merged pull requests:

    • Fixed object instead of string error introduced by strict_types #533 (ViniTou)
    Open source →
  24. 1.5.0 15 Mar 2020
    Release notes

    Closed issues:

    • New major release #527
    • Requirement of nikic/php-parser does not match packgist page #514
    • The format "yaml~" does not exist. #512
    • ClassLoader deprecation notice #511
    • Symfony 4 : Unable to find template "JMSTranslationBundle::base.html.twig" #503
    • Symfony 2.7 should be required in composer.json #263

    Merged pull requests:

    Open source →
  25. 1.4.4 14 May 2019
    Release notes

    Closed issues:

    • Invalid type annotation for the return value of getTranslationMessages() #508
    • php 7.2 method return type throw error #494
    • The annotation "@created" , "@optional" ... was never imported. #488
    • Unable to find template "@JMSTranslation/translate/index.html.twig" #474
    • Symfony 4 support? #471
    • Translatable options for ArrayChoiceList not being translated (moving from ChoiceList) #469
    • symfony 3.4 problem #466
    • Deleting translation entries : how to prevent certain messages being culled when running translation:extract ? #448

    Merged pull requests:

    Open source →
  26. 1.4.3 28 Jun 2018
    Release notes

    Merged pull requests:

    Open source →
  27. 1.4.2 27 Jun 2018
    Release notes

    Closed issues:

    • PHP-Parser v4.0 compatibility #476
    • Possibility to remove the jms:reference-file from the dumped .xlf #409

    Merged pull requests:

    Open source →
  28. 1.4.1 09 Feb 2018
    Release notes

    Closed issues:

    • The last release is not on packagist #480
    • The format "yml" does not exist #468
    Open source →
  29. 1.4.0 07 Feb 2018
    Release notes

    Closed issues:

    • Get rid of JMSDI #457
    • JMS translation doesn't extract dynamic form build? #444
    • Improve management of xlf files #372
    • Remove dependency on DiExtraBundle #355

    Merged pull requests:

    Open source →
  30. 1.3.2 20 Apr 2017
    Release notes

    Closed issues:

    • PHPUnit Errors on a clean forked clone of master HEAD #436
    • Incompatibility between bundle 1.3.1 and Symfony 3.2.3 #429
    • PHP error with Twig 2.0 #425
    • Call to a member function getNames() on null | TranslateController.php:64 #417
    • abstract keys are lost when desc exists #414
    • LogicException Node "domain" does not exist for Node "Symfony\Bridge\Twig\Node\TransNode". #402
    • Translation of variable placeholders #401
    • ReferenceError: event is not defined with firebug. #397
    • The Twig_Node_Expression_ExtensionReference class is deprecated #387

    Merged pull requests:

    Open source →
  31. 1.3.1 13 Aug 2016
    Release notes

    Closed issues:

    • New translations #392

    Merged pull requests:

    Open source →
  32. 1.3.0 07 Aug 2016
    Release notes

    Fixed bugs:

    • Full paths instead of relative paths since upgrade to 1.2.3 #366

    Closed issues:

    • The format "php~" does not exist. #375
    • Custom form with constraint #373
    • Add contribution guide #361
    • Extract error with optipng & jpegoptim filters #346
    • Translation extract error #340
    • The license of the bundle. #316
    • Roadmap for version 1.3.0 #306
    • Extracting a concatenated string #296
    • How to use a different context for form labels translation #288
    • Not working on symfony 3 #287
    • Cant launch Web UI #272
    • It is ignoring existing messages while dumping translation #266
    • output_dir should accept @BundlePaths #264
    • File paths next to the translation line. #257
    • You can only merge messages with the same id. #249
    • The format "yml~" does not exist. #245
    • php parser dependency #244
    • The annotation "@brief" in class Converter\Converter was never imported. #243
    • JMS Translation Bundle does not extract keys from controllers in Symfony2 - getTranslationMessages() #239
    • Support for /* @Ignore */ #234
    • The extension with alias "jms_translation" does not have its getConfiguration() method setup #232
    • Change location of translation files #231
    • xliff dumper error #229
    • Extractor misunderstands my "label" key #227
    • "Translations in this page" debug toolbar helper #226
    • error on extract #224
    • Invalid output #218
    • Messages inside propel validators aren't extracted #216
    • usage of Twig_Extension_StringLoader #211
    • Generate empty translations #208
    • Errors when using the global namespace #201
    • Customize jmstranslation web ui #200
    • Indentation mess in ultilines translations using PHP dumper #192
    • Twig parser ignore {% for ... else ... endfor %} syntax #189
    • How to only update routes.*.yml files ? #167
    • phpunit annotations like @covers crashes the extractor #157
    • Keep XLIFF attributes #147
    • cant create routes in other langs, keep giving me erros #142
    • Exception at Translation Extract with bundle #141
    • PrettyPrint: disable in config.yml #136
    • Preserve the approve status as set by QT Linguist #115
    • Throws an exception for grouped choice items in form class #88
    • Display in UI full path #87
    • Incorrect translation when multiple @Desc for the same key on the same file #86
    • Translator chokes on numerical IDs #83
    • Definition of source-language #78
    • [RFC] Open referenced sources from web UI #110

    Merged pull requests:

    Open source →
  33. 1.2.3 08 May 2016
    Release notes

    Fixed bugs:

    Closed issues:

    • Translation Web UI - Fatal error #341
    • Form extractor crashes when label is false #126
    • List also available placeholders #113
    • Duplicated extraction on Inherited Validation Constraints of different bundles classes. #79

    Merged pull requests:

    Open source →
  34. 1.2.2 03 Apr 2016
    Release notes

    Closed issues:

    • Extracting choices not keys from forms #332
    • Run the test suite #329
    • Remove branch 'dataCollector' #323
    • Add test case for bundle config and service definition #318
    • Update current translation files #298
    • jms xliff loader not working in Symfony 3.0 #281
    • Bundle does not work in Symfony 3. #279
    • Fix Deprecations for Symfony 2.8 preparing for Symfony 3.0 #278
    • Add a way to extract custom Validation messageProperties #159
    • Impossible to update the bundle via composer. #138
    • getClassMetadata() is deprecated since symfony 2.2 #129
    • Cannot redeclare class Doctrine\ORM\Mapping\Annotation on extraction #124
    • OutputLogger not conform to new LoggerInterface (PsrLogger) #95
    • One case where @Desc before doesn't work #77
    • Change definitions for XLIFF loader and dumper to accomodate XLF #29

    Merged pull requests:

    Open source →
  35. 1.2.1 23 Mar 2016
    Release notes

    Fixed bugs:

    • Error when choice label is not defined #242
    • Fatal Error : FormExtractor due to empty index array #106

    Closed issues:

    • Supported Symfony versions #305
    • New release #300
    • Truncate Filter #299
    • [Symfony\Component\Debug\Exception\ContextErrorException] Catchable Fatal Error: Argument 2 passed to JMS\TranslationBundle\Translation\Extractor\FileExtractor::__construct() must be an instance of Symfony\Component\HttpKernel\Log\LoggerInterface, instance of Symfony\Bridge\Monolog\Logger given, called in... #293
    • Maintainer not responding #280
    • you might want to do a version (tag) 1.2.0? #236
    • Is this bundle abandoned ? #213
    • Please update to use newer parser version #155
    • Unit Tests #103

    Merged pull requests:

    Open source →
  36. 1.2.0 23 Mar 2016
    Release notes

    Closed issues:

    • Is this bundle dead ? #294
    • twig deprecation #273
    • @Ignore does not work on custom Extractor #265
    • Conflict with nikic/php-parser 1.4.1 #262
    • PHP Parser 0.9.1 cannot recognize new php 5.6 syntax. #255
    • security.yml configuration #252
    • Error with logger dependency in symfony 2.6.* #237
    • config.yml issue #214
    • Can't extract "%kernel.root_dir%/../src" dir in config.yml (translation:extract command) #210
    • Cannot use object of type PHPParser_Comment_Doc as array #205
    • Ignore comment cause Fatal error #204
    • Error on placeholder extraction #193
    • Tags and versioning #190
    • Composer installed a fork instead if this bundle #177
    • Error "no DTD found" #169
    • cave #168
    • Admin UI - no cache options when updating translations #151
    • Exception in FormExtractor #145
    • jms/di-extra-bundle should be required in composer.json #144
    • Web interface error #139
    • Error with DI #133
    • XLIFF Wrong file extension #128
    • Extractor overrides empty "" values with "translation.identifier" #125
    • Not so helpfull error message #84

    Merged pull requests:

    Open source →
  37. 1.1.0 08 Jun 2013
    Release notes

    Closed issues:

    • master and sf <2.3 #116
    • Manually add translation #109
    • PUT no longer allowed by default in Symfony 2.2 #99
    • Extractor searching same directories mulitple times #97
    • Translation extractor delete unfound keys #94
    • PHPParser_Error with no information to debug #92
    • Parse strings in annotations #91
    • Composer does not work with symfony 2.0.x #90
    • Translation could not be saved #89
    • Inconsistent defaults between translation:extract and translation:update #85
    • Regarding Setting Default domain for templates #82
    • Regarding Forcing Translator to look into a perticular directory #81
    • Regarding inclusion of Multiple domains #80
    • Wrong php code generated when using |trans with parameters in twig #73
    • Use framework.session.cookie_domain to store "hl" cookie ? #72
    • Position of @Desc in PHP #16

    Merged pull requests:

    Open source →
  38. 1.0.0 21 Sep 2012
    Release notes

    Closed issues:

    • Twig Error when launch extract command #70
    • Example of JMS\TranslationBundle\Annotation\Ignore #68
    • non-existent service config_factory #67
    • Translation_domain on forms #61
    • Readme add how to test this bundle as it does not test tand-alone #58
    • OS ordering seems to be causing git merge conflicts #57
    • Ids on xliff entries on generation #56
    • can't tag service jms_translation.file_vistor or not working #54
    • Advanced translations depending on variables gender, number, etc... #52
    • FileExtractor would not work with current php-parser #50
    • translation:extract command for a Bundle not correct #49
    • Issue running script for extracts from the cli and website #48
    • Look for FormBuilderInterface instances too #46
    • Extract options/second_options labels of form field repeated type #45
    • Fatal Error when exporting translations #42
    • error in 'clean' install (used to work before) #41
    • illegal XLIFF file format due to jms:reference-file elements #39
    • Invalid WebUI configurations #38
    • translation:extract --bundle=XXXBundle => grabbing messages from all bundles #37
    • Keep empty strings #36
    • yml and linebreaks #35
    • translating messages from validation.yml #33
    • Can't run tests #30
    • Problem with WebUi #26
    • Please remove dependency on the DI Bundle #23
    • The twig 'desc' filter does not work with the 'transchoice' filter #22
    • @Ignore gets ignored for plain text form field labels #20
    • Extract empty_values of form field choice/entity type #17
    • Content of desc filter not dumped #14
    • How to use @Ignore? #13
    • WebUI: Update fail without domain "message" (Bug fix include) #11
    • Inline Editing? #10
    • Empty meaning and wrong description in Message while dumping #9
    • Use of removed MessageCatalogue->all() method in Updater #8
    • export option to remove jms specific xliff code #7
    • Translation.loader dependency #1

    Merged pull requests:

    • Bugfix in RuntimeException when when trying to load an incorrectly formatted XML #71 (skwi)
    • Use the "validators" domain for the "invalid_message" options in forms. #66 (bvleur)
    • Parse default option for translation_domain #65 (bvleur)
    • Extract invalid_message option for repeated field type #64 (bvleur)
    • Support translation_domain option on forms #63 (bvleur)
    • [#57] fix problem with undetermined comparison callback on uasort( , strcasecmp) #62 (cordoval)
    • [#56] fix ids on xliff files to be sha1 to avoid merging conflicts #59 (cordoval)
    • Support labels for "repeated" field groups #55 (bvleur)
    • Look for FormBuilderInterface instances too #47 (albyrock87)
    • Change incorrect "master-dev" to "dev-master" #44 (jonathaningram)
    • Keep empty strings, Yml line breaks #43 (cdfre)
    • Specify a php-parser version #40 (nikic)
    • Fix "Argument 7 passed (...) must be an array, null given" #34 (frosas)
    • check consistency of messages desc #32 (arnaud-lb)
    • Added CDATA support for XLIFF format #31 (dlsniper)
    • Changed the XLIFF dumper so that it supports CDATA for target and source #28 (dlsniper)
    • don't pass the message id in the URL (workaround for https://github.com/symfony/symfony/issues/2962 ) #27 (arnaud-lb)
    • add composer file #25 (cdfre)
    • Add Support for Choices #21 (AlexKa)
    • Fix DefaultApplyingNodeVisitor when |trans has replacement param #18 (arnaud-lb)
    • set validator messages' domain to "validators" #15 (arnaud-lb)
    • Resolve issue #11 #12 (jpierront)
    • Add an option to load external resources #6 (rande)
    • Add LoggerAwareInterface, display error messages on parsing errors #5 (rande)
    • Add domain management #4 (rande)
    • add an option to keep old translation #3 (rande)
    • Add only domains option #2 (rande)

    * This Changelog was automatically generated by github_changelog_generator

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive