MCPcopy Create free account
hub / github.com/fastapi/fastapi / check_translation

Function check_translation

scripts/doc_parsing_utils.py:676–733  ·  view source on GitHub ↗
(
    doc_lines: list[str],
    en_doc_lines: list[str],
    lang_code: str,
    auto_fix: bool,
    path: str,
)

Source from the content-addressed store, hash-verified

674
675
676def check_translation(
677 doc_lines: list[str],
678 en_doc_lines: list[str],
679 lang_code: str,
680 auto_fix: bool,
681 path: str,
682) -> list[str]:
683 # Fix code includes
684 en_code_includes = extract_code_includes(en_doc_lines)
685 doc_lines_with_placeholders = replace_code_includes_with_placeholders(doc_lines)
686 fixed_doc_lines = replace_placeholders_with_code_includes(
687 doc_lines_with_placeholders, en_code_includes
688 )
689 if auto_fix and (fixed_doc_lines != doc_lines):
690 print(f"Fixing code includes in: {path}")
691 doc_lines = fixed_doc_lines
692
693 # Fix permalinks
694 en_permalinks = extract_header_permalinks(en_doc_lines)
695 doc_permalinks = extract_header_permalinks(doc_lines)
696 fixed_doc_lines = replace_header_permalinks(
697 doc_lines, doc_permalinks, en_permalinks
698 )
699 if auto_fix and (fixed_doc_lines != doc_lines):
700 print(f"Fixing header permalinks in: {path}")
701 doc_lines = fixed_doc_lines
702
703 # Fix markdown links
704 en_markdown_links = extract_markdown_links(en_doc_lines)
705 doc_markdown_links = extract_markdown_links(doc_lines)
706 fixed_doc_lines = replace_markdown_links(
707 doc_lines, doc_markdown_links, en_markdown_links, lang_code
708 )
709 if auto_fix and (fixed_doc_lines != doc_lines):
710 print(f"Fixing markdown links in: {path}")
711 doc_lines = fixed_doc_lines
712
713 # Fix HTML links
714 en_html_links = extract_html_links(en_doc_lines)
715 doc_html_links = extract_html_links(doc_lines)
716 fixed_doc_lines = replace_html_links(
717 doc_lines, doc_html_links, en_html_links, lang_code
718 )
719 if auto_fix and (fixed_doc_lines != doc_lines):
720 print(f"Fixing HTML links in: {path}")
721 doc_lines = fixed_doc_lines
722
723 # Fix multiline code blocks
724 en_code_blocks = extract_multiline_code_blocks(en_doc_lines)
725 doc_code_blocks = extract_multiline_code_blocks(doc_lines)
726 fixed_doc_lines = replace_multiline_code_blocks_in_text(
727 doc_lines, doc_code_blocks, en_code_blocks
728 )
729 if auto_fix and (fixed_doc_lines != doc_lines):
730 print(f"Fixing multiline code blocks in: {path}")
731 doc_lines = fixed_doc_lines
732
733 return doc_lines

Callers 2

process_one_pageFunction · 0.90
translate_pageFunction · 0.90

Tested by

no test coverage detected