Вынеси локализацию параграфов в отдельную таблицу.
Таблица переводов paragraphs_locale:
id
uuid
manualId = manuals.Id
authorId = Authors.id
changeAuthorId = Authors.id
parentParagraphId = paragraphs_locale.Id - будет NULL у параграфов от имени автора по authorId может даже в нескольких локалях т.к. автор же может знать несколько языков и написать переводы?
lang
content
revision - просто счетчик, увеличивающийся с вверх с каждым изменением.
created
updated
Я вынес параграфы в отдельную таблицу paragraphs_locale т.к. переводов параграфа может быть много и делать их могут разные люди, включая самого автора. Другие люди всегда берут за основу имеющийся параграф, по этому есть parentParagraphId и lang где lang - целевой язык который хотят добавить. Здесь же разделяется понятие автора. Автором может быть один человек но вносить изменения могут и другие, потому есть changeAuthorId чтобы указать на того кто последним внес изменения.