Campus Lingo Release Notes

The further development of the Campus Lingo software includes the following software components:

  • TYPO3 extension campus_lingo
  • Campus Lingo API

The Campus Lingo API is used by campus_lingo as an endpoint. It acts as middleware between TYPO3 systems equipped with campus_lingo and the translation service DeepL. New Campus Lingo API versions are always put into operation with an update of campus_lingo.

Here you can find all release notes of campus_lingo. The version numbering scheme follows the Semantic Versioning idea (Major.Minor.Bugfix). If an update of campus_lingo is accompanied by an update of Campus Lingo API, this is highlighted accordingly.

campus_lingo 3.1.0

Release date: 22.01.2026 ☆ Minor update & bugfix release ☆ TYPO3 v11, v12 & v13

New feature

PSR-14 Event "BrainAppeal\CampusLingo\Event\PreventAutoTranslationsEvent" for individual control of automatic translation:
With the event BrainAppeal\CampusLingo\Event\PreventAutoTranslationsEvent, it is now possible to individually deactivate automatic translation by implementing a corresponding EventListener. Examples can be found in the updated documentation on pages 15 and 16.

Many thanks to the Carl von Ossietzky University of Oldenburg for sponsoring this feature.

Version 3.1.0 also contains numerous bug fixes for compatibility bugs that crept into version 3.0.0.

In the changelog

  • [FEATURE] PSR-14 PreventAutoTranslationsEvent implemented, with which the automatic translation can be prevented individually via an EventListener
  • [FEATURE] Avoid database queries against pages + data of individual data records added to PreventAutoTranslationsEvent
  • [TASK] Version set to 3.1.0
  • [TASK] PHP compatibility with PHP 8.5
  • [TASK] Copyright year changed to 2026
  • [TASK] Removed dead code
  • [DOC] Description of "feature_showAutoTranslationStateInfo" clarified and added. Formatting optimised
  • [BUGFIX] Incorrect array assignment corrected when subsequently loading the control flags for the automatic translation of pages
  • [BUGFIX] PreventAutoTranslationsEvent must already be executed during initialisation of automatic translation control
  • [BUGFIX] PageRepository::isPageSuitableForLanguage must take into account the site setting hidePageIfNotTranslated ("Hide untranslated pages")
  • [BUGFIX] Backend labels for status information corrected
  • [BUGFIX] TYPO3 v13 backend/ ensure minimal initialisation for pages
  • [BUGFIX] Pages must pass the translatability test regardless of the target language (otherwise problems in the menu)
  • [BUGFIX] Compatibility with PHP 7.4 restored for TYPO3 v11.5 + minor code improvements
  • [BUGFIX] Compatibility with TYPO3 v11 restored (regression from version 3.0.0)
  • [BUGFIX] TYPO3 v13 / Overlay fields for pages migrated. This could lead to broken menus.

campus_lingo 3.0.1

Release date: 27.11.2025 ☆ Bugfix release ☆ TYPO3 v11, v12 & v13

Changelog

  • [TASK] Version set to 3.0.1
  • [TASK] Set author to Brain Appeal DEV team, removed version in composer.json
  • [BUGFIX] Fixed regression in web > page so that drag & drop works again
  • [BUGFIX] Incorrect class reference in the use statement corrected

campus_lingo 3.0.0

Release date: 29.10.2025 ☆ Major Update ☆ TYPO3 v11, v12 & v13

New features TYPO3 extension campus_lingo

With version 3.0.0, campus_lingo is optionally integrated into the TYPO3 backend and has updated documentation, which can be found here: TYPO3_EXT_campus_lingo-3.0.0.pdf. The two most important new features are

  • campus_lingo is now officially compatible with TYPO3 v13, v12 and v11.
    If you are using campus_lingo with TYPO3 v13 via our develop branch, please update the used version to ^3.0.0
  • Display of the status of automatic translation in the TYPO3 backend.
    After activation in the extension configuration, the following places display whether the respective content is translated automatically: Web > Page, Web > List, Web > Info > Translation overview, File > File list and Inline panels. The feature can be deactivated again per user or user group after activation via the "User TsConfig" property "options.campusLingo.showAutoTranslationStateInfo = 0". The feature has no effect for TYPO3 v11 and works from TYPO3 v12.

Campus Lingo API

The update of the Campus Lingo API on 20 October 2025 not only fundamentally updated the technology working in the background. Important adjustments were also made to interfaces to DeepL so that Campus Lingo simply continues to work as usual without you having to do anything. There are also a few helpful new features:

  • New menu item DeepL > API Key
    for configuring the Campus Lingo API Key ("Advanced options")
  • API Key > Advanced options: Access restriction IP addresses.
    It is now possible to whitelist or blacklist IP addresses that are authorised to use the Campus Lingo API Key. This can be used, for example, to avoid unwanted translation costs when used on a development system.
  • API Key > Advanced options: Pre- and post-processing.
    The standard settings selected here deal with typical problems with automatic translation using DeepL. An adjustment is not normally necessary. Campus Lingo thus corrects these two DeepL problems: Incorrect translation when using quadratic or chemical formulae (too much superscript or subscript is used). Special spaces at formatting boundaries are "forgotten" during translation (words are contracted without spaces, e.g. if they contain bold text). If the corrective measures lead to individual problems, they can be switched off here.
  • Dashboard widget "Translated characters".
    The "Translated characters" widget now shows incoming characters as a comparison to translated characters.

Announcement: campus_lingo Version 4, TYPO3 v14 and TYPO3 v11

With version 4, campus_lingo will be compatible with TYPO3 v14. However, compatibility with TYPO3 v11 will be discontinued. If you are planning to use TYPO3 v11 in the longer term, you will not be able to use campus_lingo in version 4. However, full functionality for all interfaces of DeepL is still guaranteed for version 3 thanks to the Campus Lingo API.

Changelog

  • [FEATURE] Backend information for automatic translations for TYPO3 v12+: Web > Page, Web > List, File list, Inline elements, Web > Info > Translation view
  • [TASK] The Sites module now displays a warning when languages have multiple fallbacks
  • [FEATURE ] If EXT:news is installed, an XClass for \GeorgRinger\News\Seo\NewsAvailability is added to check the availability of translated news
  • [FEATURE] Activate translation of data records in strict mode if the default language is used
  • [FEATURE ] TYPO3 v13 compatibility + version upgrade to v3.0.0
  • [TASK] Determination of the TYPO3 main version outsourced to EnvironmentService::getTypo3version
  • [TASK] Labelling made more precise
  • [FEATURE] Backend Web > Page: Always show translation information of a page (if possible) and avoid overwriting the backend template
  • [FEATURE] Backend Web > Page: Translation information of the page moved to the header next to the language button
  • [BUGFIX] Bug fixes for automatic translation information in the backend
  • [TASK ] Notes/ToDos for less invasive backend changes in the Web > Page & Inline Elements module added
  • [TASK] TYPO3 v13: Adaptation to changed backend fluid partial "RecordDefault"
  • [TASK] TYPO3 v13: Migration of ApiRecordTranslations
  • [BUGFIX] Cacheable content must be passed by reference to post-processing, otherwise "dontTranslateWrap" will no longer be resolved
  • [FEATURE] "No automatic translation" toggle: Avoid the "Extended" div in favour of the "Language" div
  • [TASK] Avoid using outdated code + analyse and fix warnings for TYPO3 v12 and v13 in "Scan Extension Files"
  • [TASK ] Clean up the label keys used in Web > Info > TranslationStatus translation view
  • [BUGFIX] Fixed bug where cache entries were not updated when glossary entries were created/updated for EN or PT, but the configured translation language was a language variant (e.g. EN-US)
  • [BUGFIX] Automatic translation for fields configured as EXT:t3editor HTML content (e.g. tt_content with CType "html")
  • [TASK] IRRE status information for auto-translation: XClass replaced by ModifyInlineElementControlsEvent
  • [BUGFIX] TYPO3 v13: Drag & Drop of content elements in Web > Page restored
  • [FEATURE] Add version information and client name in HTTP header when requesting the API
  • [BUGFIX] TYPO3 v13 Regression: Insert values back in tab (necessary for translation placeholder)
  • [TASK] Auto-translated locallang.xlf files: README updated + XLIFF <header><tool> added
  • [BUGFIX] Handling of uninitialised "request" (e.g. in CLI context)
  • [DOC] Release notes linked to academic-hero.de
  • [FEATURE] Error logging in log file typo3_campus_lingo_errors_[hash].log (including individual errors that were previously only written in sys_log)
  • [TASK] Copyright notice updated

campus_lingo 2.0.3

Release date: 14.05.2025 ☆ Bugfix release ☆ TYPO3 v11 & v12

Changelog

  • [TASK] Line break of labels in the backend sites module optimised
  • [BUGFIX] Test whether automatic translation is deactivated before the record overlay event listener is called
  • [BUGFIX] Backend page properties: Information about automatic translation must be displayed under the legend heading (TYPO3 v12+)
  • [BUGFIX] Intercept PHP warnings when "Debug output of additional translation information" is activated
  • [TASK] Version set to 2.0.3

campus_lingo 2.0.2

Release date: 30.04.2025 ☆ Bugfix release ☆ TYPO3 v11 & v12

Changelog

[BUGFIX] Prioritise page ID for determining the current site
Scenario: The determination of l18n_cfg may fail in the backend in a multisite installation with the current site

campus_lingo 2.0.1

Release date: 13.12.2024 ☆ Bugfix release ☆ TYPO3 v11 & v12

Changelog

  • [TASK] CurrentPageAspect: Allows the current page to be determined if it cannot be determined by the request
  • [BUGFIX] if not yet available, pages.tx_campus_lingo_features must be loaded before checking the configuration
  • [BUGFIX] Avoid slow database queries to the sys_log table to avoid repeated log entries
  • [BUGFIX] The TCA API for deactivating automatic translation must not place the control field in a hidden palette (isHiddenPalette)
  • [TASK] Version set to 2.0.1

campus_lingo 2.0.0

Release date: 19.11.2024 ☆ Major update ☆ TYPO3 v11 & v12

Breaking Change: Hide untranslated pages

The "Hide untranslated pages" feature in the site configuration has been moved from the translations to the default language and is activated by default from version 2.0.0.

Description of the feature

Hides pages that have not been translated manually or automatically. As soon as this option is activated, the checkbox in the page properties "Hide page if no translation is available for the current language" is removed.

If you have already used the feature before, no customisation is required.

If you have not used the feature before and still do not want to use it, please deactivate it in the default language of the site configuration.

New features

With version 2.0.0 campus_lingo gets many new features and an updated documentation, which can be found here: campus_lingo-2.0.0.pdf. The most important new features are listed here:

  • compatible with TYPO3 v12
    campus_lingo is now officially compatible with TYPO3 v12 and v11. If you are using campus_lingo with TYPO3 v12 via our develop-Branch, please update the used version to ^2.0.0
  • Automatic translation of syndicated content
    This makes it possible to translate content in the frontend that is not stored in the TYPO3 database but is output in the frontend. This can be data from an external database or a web service, for example. Please read the section "Translation of arbitrary content" in the documentation.
  • Automatic translation of content stored in FlexForms
    Please read the section "Configure auto-translation for FlexForm fields" in the documentation.
  • Automatic translation of template labels
    As a developer, you have the option of automatically translating template labels saved in locallang.xlf files. Please read the section "Translate locallang.xlf files" in the documentation. This makes the integration of new languages even easier.
  • Problem detection of TYPO3 sites
    The TYPO3 sites (visible in the backend module Sites) show possible problems regarding compatibility and configuration when edited in the "Languages" tab. This makes commissioning even easier.
  • Hide untranslated pages
    The feature now works stable for menu generation.

Changelog

  • [TASK] TYPO3 v12 / version set to 2.0.0dev
  • [BUGFIX] prevents return of NULL if an error occurs with preg_replace
  • [BUGFIX] languageAspect must be restored if pages outside a site are requested
  • !!![BUGFIX] Hide untranslated pages in site configuration did not work for language menus and had an inconsistent configuration
  • [TASK] TYPO3 v12 / Support for TYPO3 12.4
  • [TASK] TYPO3 v12 / Site configuration TCA compatibility established
  • [TASK] TYPO3 v12 / TCA Migration
  • [TASK] TYPO3 v12 / Extension key added when using translate VH
  • [TASK] TYPO3 v12 / Prevent 503 errors on 404 pages for already translated but deactivated pages
  • [TASK] TYPO3 v12 / Migration for strict mode with Extbase
  • [TASK] TYPO3 v12 / refactor code from hooks to events + mark hooks for <v12 as deprecated
  • [FEATURE] automatic translation of .xlf files ("locallang.xlf") for configured extensions
  • !!![FEATURE] option "Hide untranslated pages" is enabled by default in the site configuration
  • !!![FEATURE] prevents repeated writing of error log messages to the log table
  • [TASK] TYPO3 v12 / handling of ext_conf_template core bugs
  • [TASK] Code Clean-up
  • [FEATURE] Enables the direct transfer of untranslated lines and the setting of the id field. Streamlining of the fields pid & tstamp
  • [TASK] TranslationService refactored
  • [FEATURE] Enables a value comparison before delivery from the campus_lingo cache
  • [FEATURE] Definition of the translation status for source=target language
  • [FEATURE] TranslationServiceModifyTCAEvent for setting/changing the TCA for campus_lingo only
  • [FEATURE] LanguageOverlayService provides API for manual automatic translation of an associative array
  • [TASK] Replace invalid URL with DeepL documentation for target languages
  • [TASK] Correction of PHPStan warnings
  • [FEATURE] Console command campuslingo:delete-manual-translations enables the targeted deletion of editorial translations
  • [BUGFIX] Correction of page translation in PageRouter for pages that are not yet in the translation cache
  • [TASK] Refactoring of the special handling of sys_file_reference in EventListener
  • [FEATURE] Content saved via FlexForms can now be translated automatically (must be configured, see README)
  • [BUGFIX] Ensure compatibility when automatically translating FlexForms with TYPO3 v11 & EXT:form
  • [FEATURE] TCA columnsOverrides are taken into account
  • [FEATURE] Backend module Sites: Languages show hints for automatic translation configuration
  • [TASK] TYPO3 v13 Deprecations removed
  • [DOC] Update README for 2.0.0
  • [TASK] Version set to 2.0.0

campus_lingo 1.6.3

Release date: 25.09.2024 ☆ Bugfix release ☆ TYPO3 v11

Changelog

  • [BUGFIX] Avoids calling currentSite in CLI environment
  • [TASK] Version set to 1.6.3

campus_lingo 1.6.2

Release date: 01.08.2024 ☆ Bugfix release ☆ TYPO3 v11

Changelog

  • [TASK] PHP 8.3 is supported
    [BUGFIX] Correct automatic placement of autoTranslationSettings for data records with different types
  • [TASK] Version set to 1.6.2

campus_lingo 1.6.1

Release date: 16.07.2024 ☆ Bugfix release ☆ TYPO3 v11

Campus Lingo API

Glossary entries
Numerous improvements and bug fixes for editing and automatic updating.

Dashboard widget "Translated characters"
After logging in, the "Translated characters" diagram is displayed in the dashboard. This shows how many characters have been translated in the last 30 days.

Changelog

  • [BUGFIX] Glossary updates work with glossary entries containing multibyte UTF8 characters
  • [BUGFIX] Translation cache: Avoid crashes if content is too large + Use of LONGTEXT for the source language and translation fields
  • [BUGFIX] Automatic update of the glossary recognises HTML-encoded characters + Cache entries are updated independently of the HTML encoding
  • [BUGFIX] Updating the glossary recognises JSON-encoded inverted commas in the translation cache
  • [BUGFIX] Updating the glossary: Matching glossary entries with multibyte characters regardless of capitalisation
  • [TASK] Method renamed to reflect its "fuzzy" nature
  • [TASK] Version set to 1.6.1

campus_lingo 1.6.0

Release date: 04.07.2024 ☆ Minor update ☆ TYPO3 v11

New features

  • Opt-in / opt-out for pages (branches) It is now possible to deliberately deactivate automatic translation (in the "Sites Configuration") and then only activate it for certain pages or page branches (in the page properties). The behaviour can be reversed in the underlying pages or page branches in the page properties.
    Many thanks to the University of Kassel for sponsoring this feature.
  • Exclusion of individual fields from automatic translation via the TCA
  • The control options in the page properties for using the translation service must now be explicitly activated in the site configuration and are otherwise not visible.

Changelog

  • [BUGFIX] Fixed typo when removing "/" from TYPO3_SITE_PATH
  • [FEATURE] TCA autotranslate_forbidden to explicitly prohibit automatic translation
  • [TASK] new extension icon
  • [FEATURE] "Opt-In": Switching the automatic translation for subpages can be cancelled for subpages
  • [BUGFIX] selectCheckBox must trigger a reload if onChange=reload is configured
  • [FEATURE] Page properties: Show configuration field for automatic translation for all page types
  • [FEATURE] Setup of a static member runtime cache + refactoring
  • !!![FEATURE] Deactivation of the translation service via page properties, configurable via websites, default setting "off"
  • [TASK] Sites configuration: Placeholder for Campus Lingo language code
  • [TASK] Code Cleanup
  • [BUGFIX] Functional fields of sys_file_reference must not be translated automatically
  • [TASK] Update @see links
  • [TASK] Refactoring of allowed types and renderTypes
  • [DOC] Better description for the use of TCA API
  • [BUGFIX] The TYPO3 context must not be cached
  • [TASK] Version set to 1.6.0

campus_lingo 1.5.0

Release date: 23.11.2024 ☆ Minor update ☆ TYPO3 v11

New feature

Automatic update by glossary entries
Automatic update of existing translations when a new glossary entry is created, changed or deleted. Only the translations that contain the glossary term in the source language or the translation are updated.

campus_lingo 1.4.0

Release date: 31.08.2023 ☆ Minor update ☆ TYPO3 v11

New features

  • Alternative solution type "Strict" is supported
  • Consideration of the settings for automatic translation in the page properties that do not correspond to the current page
  • New configuration options:
    • Page properties / pages.l18n_cfg can be controlled via automatic translation
    • Page properties / options for optional deactivation of CampusLingo API while retaining the translation cache can be deactivated

campus_lingo 1.3.0

Release date: 23.05.2023 ☆ Minor update ☆ TYPO3 v11

New feature

TCA control option for the explicit editorial exclusion of any data records

campus_lingo 1.2.0

Release date: 04.05.2023 ☆ Minor update ☆ TYPO3 v11

New feature

Placeholder <!-- CAMPUS_LINGO_AUTOTRANSLATION_INFORMATION --> in templates shows information as to whether there is automatically translated content on the current page.

campus_lingo 1.1.0

Release date: 02.05.2023 ☆ Minor update ☆ TYPO3 v11

New feature

TCA option for editorially deactivating automatic translation of any data records (e.g. news, content elements, ...).
Can be activated via TCA using the API method (see README)

campus_lingo 1.0.0

Release date: 23.03.2023 ☆ First public version ☆ TYPO3 v11

Satisfied customers

These customers benefit from Campus Lingo

Contact us

Talk to me

Jörg Oswald

Dipl.-Ing. (FH) Jörg Oswald, M.Sc.

Managing Director, Product Lead

The following errors occurred when checking the form:
Contact us
Name: This field must be filled!
e-mail: This field must be filled!
Telephone: This field must be filled!
Arrange a callback
Arrange a callback: This field must be filled!
Message: This field must be filled!
Data protection*
Data protection: This field must be filled!