in src/co_op_translator/core/project/translation_manager.py [0:0]
def get_outdated_translations(self) -> List[tuple[Path, Path]]:
"""
Identify translations that need updates by comparing metadata.
Returns:
List[tuple[Path, Path]]: List of (original file, translation file) tuples that need updates
"""
outdated_files = []
all_translation_files = []
for lang_code in self.language_codes:
translation_dir = self.translations_dir / lang_code
if not translation_dir.exists():
continue
for md_file in translation_dir.rglob("*.md"):
all_translation_files.append((lang_code, md_file))
if not all_translation_files:
return []
for lang_code, trans_file in all_translation_files:
try:
relative_path = trans_file.relative_to(
self.translations_dir / lang_code
)
original_file = self.root_dir / relative_path
if not original_file.exists():
continue
# Compare metadata
if self._is_translation_outdated(original_file, trans_file):
outdated_files.append((original_file, trans_file))
except ValueError:
logger.warning(f"Error calculating relative path for {trans_file}")
continue
return outdated_files