Interface TranslationContext

All Known Subinterfaces:
NodeFormatterContext, TranslationHandler, TranslationHandlerFactory
All Known Implementing Classes:
Formatter.MainNodeFormatter, Formatter.MainNodeFormatter.SubNodeFormatter, NodeFormatterSubContext, TranslationHandlerImpl

public interface TranslationContext
  • Method Details

    • getIdGenerator

      @Nullable @Nullable HtmlIdGenerator getIdGenerator()
    • getRenderPurpose

      @NotNull @NotNull RenderPurpose getRenderPurpose()
      Get the reason this format rendering is being performed
      Returns:
      RenderPurpose for current rendering
    • getTranslationStore

      @NotNull @NotNull MutableDataHolder getTranslationStore()
      Get MutableDataHolder for storing this translation run values across render purpose phases
    • isTransformingText

      boolean isTransformingText()
      Returns false if special translation functions are no-ops

      During RenderPurpose.TRANSLATION_SPANS this is true During RenderPurpose.TRANSLATED_SPANS this is true During RenderPurpose.TRANSLATED this is true

      Returns:
      true if need to call translation related functions
    • transformNonTranslating

      @NotNull @NotNull CharSequence transformNonTranslating(@Nullable @Nullable CharSequence prefix, @NotNull @NotNull CharSequence nonTranslatingText, @Nullable @Nullable CharSequence suffix, @Nullable @Nullable CharSequence suffix2)
      Transform non-translating text

      During RenderPurpose.TRANSLATION_SPANS this converts text to non-translating placeholder based on ordinal id During RenderPurpose.TRANSLATED_SPANS this returns the non-translating placeholder based on ordinal id During RenderPurpose.TRANSLATED this returns the original non-translating text for the nonTranslatingText (placeholder)

      Parameters:
      prefix - prefix to use on non-translating placeholder so it is interpreted as a proper element during parsing
      nonTranslatingText - non-rendering text of the node (content will depend on translation phase)
      suffix - suffix to use on non-translating placeholder so it is interpreted as a proper element during parsing
      suffix2 - suffix to use on non-translating placeholder so it is interpreted as a proper element during parsing
      Returns:
      text to be used in rendering for this phase
    • postProcessNonTranslating

      void postProcessNonTranslating(@NotNull @NotNull Function<String,CharSequence> postProcessor, @NotNull @NotNull Runnable scope)
      Parameters:
      postProcessor - id post processor for TRANSLATED purpose
      scope - code to which the post processor applies
    • postProcessNonTranslating

      @NotNull <T> T postProcessNonTranslating(@NotNull @NotNull Function<String,CharSequence> postProcessor, @NotNull @NotNull Supplier<T> scope)
      Parameters:
      postProcessor - id post processor for TRANSLATED purpose
      scope - code to which the post processor applies
    • isPostProcessingNonTranslating

      boolean isPostProcessingNonTranslating()
      Returns:
      true if non-translating post processor is set
    • transformTranslating

      @NotNull @NotNull CharSequence transformTranslating(@Nullable @Nullable CharSequence prefix, @NotNull @NotNull CharSequence translatingText, @Nullable @Nullable CharSequence suffix, @Nullable @Nullable CharSequence suffix2)
      Transform translating text but which is contextually isolated from the text block in which it is located ie. link reference or image reference

      During RenderPurpose.TRANSLATION_SPANS this converts text to non-translating placeholder based on ordinal id and adds it to translation snippets During RenderPurpose.TRANSLATED_SPANS this returns the non-translating placeholder based on ordinal id During RenderPurpose.TRANSLATED this returns the translated text for the translatingText (placeholder)

      Parameters:
      prefix - prefix to use on non-translating placeholder so it is interpreted as a proper element during parsing
      translatingText - translating but isolated text of the node (content will depend on translation phase)
      suffix - suffix to use on non-translating placeholder so it is interpreted as a proper element during parsing
      suffix2 - suffix to use on non-translating placeholder so it is interpreted as a proper element during parsing
      Returns:
      text to be used in rendering for this phase
    • transformAnchorRef

      @NotNull @NotNull CharSequence transformAnchorRef(@NotNull @NotNull CharSequence pageRef, @NotNull @NotNull CharSequence anchorRef)
      During RenderPurpose.TRANSLATION_SPANS this converts anchorRef to ordinal placeholder id During RenderPurpose.TRANSLATED_SPANS this returns the ordinal placeholder During RenderPurpose.TRANSLATED this returns new anchorRef for the AnchorRefTarget original was referring to
      Parameters:
      pageRef - url part without the anchor ref to resolve reference
      anchorRef - anchor ref
      Returns:
      anchorRef for the phase to be used for rendering
    • translatingSpan

      void translatingSpan(@NotNull @NotNull TranslatingSpanRender render)
      Separate translation span. Will generate a paragraph of text which should be translated as one piece

      During RenderPurpose.TRANSLATION_SPANS this adds the generated output to translation spans During RenderPurpose.TRANSLATED_SPANS output from renderer is suppressed, instead outputs corresponding translated span During RenderPurpose.TRANSLATED calls render

    • nonTranslatingSpan

      void nonTranslatingSpan(@NotNull @NotNull TranslatingSpanRender render)
      Separate non-translation span. Will generate a paragraph of text which will not be translated

      During RenderPurpose.TRANSLATION_SPANS this adds the generated output to translation spans During RenderPurpose.TRANSLATED_SPANS output from renderer is suppressed, instead outputs corresponding translated span During RenderPurpose.TRANSLATED calls render

    • translatingRefTargetSpan

      void translatingRefTargetSpan(@Nullable @Nullable Node target, @NotNull @NotNull TranslatingSpanRender render)
      Separate translation span which is also a ref target
      Parameters:
      target - target node,
      render -
    • customPlaceholderFormat

      void customPlaceholderFormat(@NotNull @NotNull TranslationPlaceholderGenerator generator, @NotNull @NotNull TranslatingSpanRender render)
      Temporarily change the format for placeholders
      Parameters:
      generator - placeholder generator
      render - render which will be used with the custom generator
    • getMergeContext

      @Nullable @Nullable MergeContext getMergeContext()