in src/co_op_translator/core/project/project_translator.py [0:0]
def __init__(self, language_codes, root_dir=".", markdown_only=False):
self.language_codes = language_codes.split()
self.root_dir = Path(root_dir).resolve()
self.translations_dir = self.root_dir / "translations"
self.image_dir = self.root_dir / "translated_images"
self.markdown_only = markdown_only
# Use factory methods to create appropriate translators
self.text_translator = text_translator.TextTranslator.create()
try:
if (
not markdown_only
): # Only create image translator if not in markdown-only mode
self.image_translator = image_translator.ImageTranslator.create(
default_output_dir=self.image_dir, root_dir=self.root_dir
)
else:
logger.info(
"Skipping image translator initialization in markdown-only mode"
)
self.image_translator = None
except ValueError as e:
logger.info(
"Switching to markdown-only mode due to missing Computer Vision configuration"
)
self.markdown_only = True # Auto-switch to markdown-only mode
self.image_translator = None
self.markdown_translator = markdown_translator.MarkdownTranslator.create(
self.root_dir
)
# Initialize managers
self.directory_manager = DirectoryManager(
self.root_dir, self.translations_dir, self.language_codes, EXCLUDED_DIRS
)
self.translation_manager = TranslationManager(
self.root_dir,
self.translations_dir,
self.image_dir,
self.language_codes,
EXCLUDED_DIRS,
SUPPORTED_IMAGE_EXTENSIONS,
self.markdown_translator,
self.image_translator,
self.markdown_only,
)