getMissingTranslations(NodeRef localizedNodeRef, boolean addThisNodeLocale);
/**
* Given any node, this returns the pivot translation. All multilingual documents belong to
* a group linked by a hidden parent node of type cm:mlContainer. The pivot language
* for the translations is stored on the parent, and the child that has the same locale is the
* pivot translation.
*
* @param nodeRef a cm:mlDocument translation or cm:mlContainer translation
* container
* @return Returns a corresponding cm:mlDocument that matches the locale of
* of the cm:mlContainer. null is returned if there is no
* pivot translation.
*/
@Auditable(key = Auditable.Key.ARG_0, parameters = {"nodeRef"})
NodeRef getPivotTranslation(NodeRef nodeRef);
/**
* Make a empty translation out of an existing pivot translation. The given translation or
* container will be used to find the pivot translation. Failing this, the given translation
* will be used directly. If no name is provided or if the name is the same as the original's
* then the locale will be added to the main portion of the filename, i.e.
*
* Document.txt --> Document_fr.txt
*
*
* The necessary translation structures will be created as necessary.
*
* @param translationOfNodeRef An existing cm:mlDocument
* @param name The name of the file to create, or null to use
* the default naming convention.
* @return Returns the new created cm:mlEmptyTranslation
*/
@Auditable(key = Auditable.Key.ARG_0, parameters = {"translationOfNodeRef", "name", "locale"})
NodeRef addEmptyTranslation(NodeRef translationOfNodeRef, String name, Locale locale);
}