Interface TranslationContext

    • Method Detail

      • getRenderPurpose

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

        @NotNull
        @NotNull com.vladsch.flexmark.util.data.MutableDataHolder getTranslationStore()
        Get MutableDataHolder for storing this translation run values across render purpose phases
      • 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
      • translatingRefTargetSpan

        void translatingRefTargetSpan​(@Nullable
                                      @Nullable com.vladsch.flexmark.util.ast.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()