08 / Repetition
The problem became obvious when an apparently simple request arrived: add ten more languages.
Until then, producing hundreds of labels could look mainly like a problem of speed. Tools such as Data Merge already exist for that; there was no need to invent another one.
But adding ten languages changed the scale of the work.
I did not want every new language to become another family of documents to build, update and check. So I began separating things that had previously lived together.
Data → rules → template → output.
The data holds the information and translations. The rules determine how to interpret them. Templates decide which information to use and how to present it. The output is only one possible final form.
Today, a language is not necessarily a different document.
A template can request Italian only; changing the suffix can make it use another language. A multilingual template can call a different set of languages, choose which ones to include and freely change the order in which they appear.
The complexity does not disappear. It changes place: instead of being spread across hundreds of files, it is described in the structure.
That was also the point when InDesign stopped being the centre of the system.
The same data can be interpreted by InDesign to produce a label, by Photoshop to build a product mockup, or by a purpose-built WordPress plugin to generate a web page. That page can in turn produce a PDF.
These are not copies of the same information maintained in different places. They are different tools reading the same structure and turning it into the output that is needed.
The first label still requires decisions and checks. A new language still requires content and verification. But a decision already made should not have to be made again for every product, language, document and channel.
Automation comes later. First, you have to understand which information is genuinely the same, which rules can be shared and which exceptions still need a person.
I was not looking for a faster way to produce three hundred labels. I was trying to understand why three hundred labels, multiplied by languages and outputs, should become thousands of separate problems.