sgalinski/lfeditor

Language File Editor

Installs: 202 718

Dependents: 1

Suggesters: 0

Security: 0

Type:typo3-cms-extension

8.0.2 2024-02-09 11:22 UTC

README

License: GNU GPL, Version 2

Repository: https://gitlab.sgalinski.de/typo3/lfeditor

Please report bugs here: https://gitlab.sgalinski.de/typo3/lfeditor

About

The lfeditor is a GUI for adding, editing and deleting translations in .xlf, .xml and .php files.

XML and PHP files can be converted to .xlf files.

The editor can be found in the user tool section of the TYPO3 backend (click on your user in the top panel and select LFEditor).

Configuration

Extension Settings

In the extension manager, you can configure the following settings of the lfeditor extension:

View languages

List of languages which will be available in the extension (comma separated country codes e.g. en, de, fi).

If this setting is empty, all languages will be used (Warning: very long list!). Default language is always included.

Default language

If en is not the default language in TYPO3 backend, the default language must be defined here. If this field is empty, English is used as default.

Ignore extensions

Regular expression which can be used to exclude extensions by their extension key.

Change XLF date

If set to TRUE, LFEditor will change the date in the files on each change.

Extension Settings

There is an additional option in the Access Rights tab on the very bottom, when editing a non-admin backend user. You can now select the The user can save localization changes directly to extensions?.

Backend users who don't have this check box selected, will be in override mode by default, and they can't switch to another mode.

Usage

The Menu

Main navigation through LFEditor is done by selecting one of the options of drop down menu on top-left part of the screen.

General

This option displays general information about all the languages.

Displayed languages should be configured in the configuration section of LFEditor, because the default behavior of LFEditor for administrators is to display all existing translation languages of TYPO3. While non-admin users see only languages which they have permissions for.

Beside the language shortcut, there is the state and origin of the related language file. Clicking any language shortcut redirects to the Edit File <edit-file-reference> page for this language.

The column state shows the state of translation and contains the number of translated, unknown and untranslated language constants. Unknown constants are the ones which exist in the language and don’t exist in default language.

At the bottom of the page, there are options for converting and splitting language files. Those options are not displayed in override mode, and it is not possible to merge your files. Splitting of language files increases the performance of backend and frontend. There is also a field set that allows editing of the meta information in language files.

Edit File

This option allows editing of all constants in a language file and a selected language. Users can choose between translated, untranslated, unknown or all constants.

This whole dialog is handled by a session. This means that a user can translate a whole page and doesn't need to save the changes before clicking on 'next' button to get the next page with language constants.

Edit Constant

This option serves for translating a single constant in several languages. Available languages depend on the user language privileges and on the configured "view languages".

Add Constant

This option serves for adding new constants to language files. The user needs to enter a new name and translations for chosen languages can be entered right away.

Delete Constant

This option allows the user to delete a selected constant. The constant will be deleted from all languages.

Rename Constant

This option serves for renaming the key of an existing language constant. The constant to rename is chosen from a select list, and then the new name is entered in the text field.

Search Constants

This option allows the user to search for constants in all language files.

  • Find constants which match the search string within a key or value (translation).
  • The matching can be case-sensitive or insensitive
  • Supports regular expressions
  • Looks only among a subset of languages which is defined in the lfeditor extension configuration

Clicking on a constant key of any search result, redirects to the Edit Constant <edit-constant-reference> page.

View Tree

This option serves for a better overview and easier access to constants. It displays all constants of a language file arranged in a tree.

Constants are displayed as leaves of the tree, and they are colored in three colors which indicate the translation state of each constant for a selected language (language from first select box).

Constants are compared to a language from the second select box, resulting in three states:

  • green - normal constant (translated in both languages)
  • red - untranslated constant (translated only in second language)
  • blue - unknown constant (translated only in first language)

Clicking on tree leaf (last segment of constant key) redirects to the Edit Constant <edit-constant-reference> page.

Manage Backups

The backup option displays all backups of the selected extension. It is possible to recover every backup, delete them or just have a look at the differences. User can revert splitting and merging of files too.

Conversions of the file format are not revertible.

If language file was converted to another format, there will be a red warning in the status of the backup table entry and that backup can only be deleted.

All changes since the backup are visible through the differences' functionality. Green color means that the constant was added and red that it was deleted since the backup was made.

Editing modes

There are three editing modes:

  • Extension mode
  • l10n mode
  • Override mode

They can be chosen from the rightmost select menu on top of the screen. The select menu is visible only for administrators.

If the user is not an admin, Override mode is chosen by default. For administrators, the default is the Extension mode.

Extension mode

This mode is useful for extension developers, because in this mode the lfeditor edits the extension files directly. Even if copies of extension files exist in l10n folder or extension files are overridden, lfeditor will still edit the extension files only.

l10n mode

This mode is similar to extension mode, with the only difference being that the l10n directory has higher priority than the extension directory. This means that if there is a copy of the language file in l10n folder (e.g. de.locallang), that copy will be edited instead of the original extension file. If there is no corresponding file in l10n folder the original file will be edited.

Here are some of the characteristics of l10n mode:

  • Files can't be moved to the l10n folder. They can be edited if they already exist in l10n folder
  • Merging/splitting is not allowed in l10n mode
  • Renaming of a constant will rename it in the main language file (e.g. ext/.../locallang) and in all subfiles in the l10n (e.g. l10n/.../de.locallang) and ext folder
  • Deleting and adding files work similar to renaming
Override mode

The purpose of this mode is making translations unaffected by changes in an extension (e.g., when an extension updates, the translations will be preserved). This mode is useful for translators and is the only mode available for non-admin users.

  • If a user makes any changes in a language file, only the changed constants (or metadata) will be saved in the corresponding language file in typo3confLFEditorOverrideFiles
  • When reading language file, LFEditor is first reading constants from files in override folder, then it reads rest of constants from l10n folder (if there is corresponding file in l10n folder), and then reads from ext folder (if there was no file in l10n folder).
Note for switch to v4 of v4 of typo3/cms-composer-installers:

If you do switch to new composer installer, you will have to rename your Overridesfolder to use "-" instead of "_", since the naming scheme is different.