Neos 9 BUG: backend language switcher failes to translate Node Labels

  1. I defined i18n values properly in my Headline.yaml
…
 ui:

    label: 'i18n' # 'Headline'

    icon: 'icon-header'

    group: 'article_general'

    position: 10

    help:

      message: 'i18n' # 'A normal Headline.'

    inspector:

      tabs:

        editTab:

          label: 'i18n' # 'Edit'

          icon: 'icon-pencil'

      groups:

        generalGroup:

          label: 'i18n' # 'General'

          tab: 'editTab'
…
  1. I created paths Resources/Private/Translations/en/NodeTypes/Content/Headline.xlf and Resources/Private/Translations/de/NodeTypes/Content/Headline.xlf
<?xml version="1.0" encoding="UTF-8"?>

<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">

  <file original="" product-name="Custom.Site" source-language="en" target-language="de" datatype="plaintext">

    <body>

      <trans-unit id="ui.label" xml:space="preserve">

        <source>Headline</source>

        <target state="translated">Überschrift</target>

      </trans-unit>

      <trans-unit id="ui.help.message" xml:space="preserve">

        <source>A normal Headline.</source>

        <target state="translated">Ein normales Überschrift.</target>

      </trans-unit>

      <trans-unit id="tabs.editTab" xml:space="preserve">

        <source>Edit</source>

        <target state="translated">Bearbeiten</target>

      </trans-unit>

      <trans-unit id="groups.generalGroup" xml:space="preserve">

        <source>General</source>

        <target state="translated">Allgemein</target>

      </trans-unit>

      <trans-unit id="properties.title" xml:space="preserve">

        <source>Title</source>

        <target state="translated">Titel</target>

      </trans-unit>

      <trans-unit id="properties.tagName" xml:space="preserve">

        <source>Tag Name</source>

        <target state="translated">Tag-Name</target>

      </trans-unit>

    </body>

  </file>

</xliff>
  1. and
<?xml version="1.0" encoding="UTF-8"?>

<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">

  <file original="" product-name="Custom.Site" source-language="en" datatype="plaintext">

    <body>

      <trans-unit id="ui.label" xml:space="preserve">

        <source>Headline</source>

      </trans-unit>

      <trans-unit id="ui.help.message" xml:space="preserve">

        <source>A normal Headline.</source>

      </trans-unit>

      <trans-unit id="tabs.editTab" xml:space="preserve">

        <source>Edit</source>

      </trans-unit>

      <trans-unit id="groups.generalGroup" xml:space="preserve">

        <source>General</source>

      </trans-unit>

      <trans-unit id="properties.title" xml:space="preserve">

        <source>Title</source>

      </trans-unit>

      <trans-unit id="properties.tagName" xml:space="preserve">

        <source>Tag Name</source>

      </trans-unit>

    </body>

  </file>

</xliff>
  1. I configured my Settings.CR.yaml
Neos:

  Neos:

    sitePresets:

      'default':

        uriPathSuffix: '' # prevent .html

        contentRepository: default

        contentDimensions:

          resolver:

            factoryClassName: Neos\Neos\FrontendRouting\DimensionResolution\Resolver\AutoUriPathResolverFactory

    sites:

      '*':

        contentDimensions:

          # the defaultDimensionSpacePoint is used when resolving the "/" URL.

          defaultDimensionSpacePoint:

            language: en_US

          resolver:

            factoryClassName: Neos\Neos\FrontendRouting\DimensionResolution\Resolver\UriPathResolverFactory

            options:

              segments:

                - dimensionIdentifier: language

                  dimensionValueMapping:

                    en_US: '' # default language → no prefix (/news)

                    de: de    # German → /de prefix          (/de/news)

    userInterface:

      translation:

        autoInclude:

          Custom.Site:

            - 'NodeTypes/*'

  ContentRepositoryRegistry:

    contentRepositories:

      default:

        contentDimensions:

          language:

            label: 'Language'

            icon: language

            values:

              'en_US':

                label: English

              'de':

                label: Deutsch

I tested and see always English labels translation, even if i switched to ‘de’ language. I tried to check https://demo.neos.io/ and there is the same problem with translation.

Hi,

the user interface language is defined in your user settings and can be changed there. The website language is switched with the dropdown in the user interface or in the frontend with your own switcher.

Hope this helps. There is no known error regarding the localisation of the node labels afaik.

2 Likes