flownative / neos-trados
XML import/export for Neos, suited for Trados translations
Installs: 4 538
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 6
Forks: 9
Open Issues: 4
Type:neos-package
Requires
- php: ^7.4 || ^8.0
- ext-xmlreader: *
- ext-xmlwriter: *
- neos/neos: ^5.3 || ^7.0 || ^8.0
README
Trados Support for Neos
Features
- Export content into an XML format Trados can digest and that carries only needed data
- Import translations into a specific language
Installation
composer require flownative/neos-trados
Usage
The export command:
Export sites content (e.g. trados:export --filename "acme.com.xml" --source-language "en")
COMMAND:
flownative.neos.trados:trados:export
USAGE:
./flow trados:export [<options>] <starting point> <source language>
ARGUMENTS:
--starting-point The node with which to start the export, relative to the
site node. Optional.
--source-language The language to use as base for the export.
OPTIONS:
--target-language The target language for the translation, optional.
--filename Path and filename to the XML file to create.
--modified-after
--exclude-child-documents If child documents should not be included in the export.
The import command:
Import sites content (e.g. trados:import --filename "acme.com.xml" --workspace "czech-review")
COMMAND:
flownative.neos.trados:trados:import
USAGE:
./flow trados:import [<options>] <filename>
ARGUMENTS:
--filename Path and filename to the XML file to import.
OPTIONS:
--target-language The target language for the translation, optional if
included in XML.
--workspace A workspace to import into, optional but recommended
Workflow
The workflow usually goes like this:
- The site content is exported using
trados:export
- The XML is translated by some translation agency
- The translated XML is imported into a fresh workspace using
trados:import
- The changes are reviewed and published in the workspace module
Configuration
The command usually exports all properties of type string. If you want to exclude
certain properties, you can configure that in your NodeTypes.yaml
file like this:
'TYPO3.Neos:Document':
options:
Flownative:
Neos:
Trados:
properties:
twitterCardType:
skip: true
In order to configure which dimension should be translated, this can be configured using Settings.yaml
:
Flownative: Neos: Trados: languageDimension: 'language_country'
Trados setup
To configure Trados in a way that only shows the content that should be translated, you need to create a custom XML file type as filter. It needs to specify the tags that sould be filtered. This explains it: https://www.youtube.com/watch?v=TrxLLP5OaIc
Thanks to Robin Clemens for the hint!