SubtitleTools.psd1
|
@{ ModuleVersion = '1.0.0' GUID = 'a3f2e1d0-4b5c-6d7e-8f9a-0b1c2d3e4f50' Author = 'Iman Edrisian' Copyright = '(c) 2025 Iman Edrisian. All rights reserved.' Description = 'A comprehensive toolkit for SRT and ASS/SSA subtitle files: parse, validate, repair, shift timestamps, fix encoding, convert formats, manage ASS styles, and translate using OpenAI, Anthropic, or Google AI APIs.' PowerShellVersion = '5.1' CompatiblePSEditions = @('Desktop', 'Core') RootModule = 'SubtitleTools.psm1' FunctionsToExport = @( # Core I/O 'Import-SubtitleFile' 'Export-SubtitleFile' 'ConvertFrom-SrtFile' 'ConvertTo-SrtFile' 'ConvertFrom-AssFile' 'ConvertTo-AssFile' # Validation 'Test-SrtFile' 'Test-AssFile' 'Test-SubtitleTimestamps' 'Test-SubtitleOverlap' # Repair 'Repair-SrtFile' 'Repair-AssFile' 'Repair-SubtitleEncoding' 'Repair-SubtitleOverlap' 'Repair-SubtitleNumbering' # Timestamps 'Add-SubtitleOffset' 'Set-SubtitleOffset' 'Get-SubtitleDuration' 'Set-SubtitleDuration' 'Invoke-SubtitleStretch' 'Merge-SubtitleFile' 'Split-SubtitleFile' # ASS Advanced 'Get-AssStyle' 'Set-AssStyle' 'New-AssStyle' 'Remove-AssStyle' 'Remove-AssOverrideTag' 'Convert-AssToPlainText' 'Convert-AssToSrt' 'Convert-SrtToAss' # Translation 'Invoke-SubtitleTranslation' 'Get-TranslationProvider' 'Set-TranslationProvider' 'Remove-TranslationProvider' 'New-TranslationSession' 'Invoke-BackTranslation' 'Get-TranslationGlossary' 'Add-TranslationGlossaryEntry' 'Remove-TranslationGlossaryEntry' 'Set-SubtitleLineWidth' # Utilities 'Get-SubtitleInfo' 'Find-SubtitleFile' 'Compare-SubtitleFile' 'Optimize-SubtitleFile' 'Invoke-SubtitleBatch' # Sharing 'Publish-SubtitleFile' 'Set-SubDLCredential' 'Get-SubDLCredential' 'Remove-SubDLCredential' ) CmdletsToExport = @() VariablesToExport = @() AliasesToExport = @() PrivateData = @{ PSData = @{ Tags = @('Subtitle', 'SRT', 'ASS', 'SSA', 'SubRip', 'SubStation', 'Translation', 'Video', 'Encoding', 'Repair', 'Timestamp', 'Batch', 'OpenAI', 'Anthropic', 'Gemini') ProjectUri = 'https://github.com/imanedr/SubtitleTools' LicenseUri = 'https://github.com/imanedr/SubtitleTools/blob/main/LICENSE' ReleaseNotes = @' Version 1.0.0 — Initial release - Parse and serialize SRT and ASS/SSA files with full round-trip fidelity - Validate: block structure, timestamps, overlapping entries - Repair: numbering, encoding (UTF-16/Windows-1252 → UTF-8), timestamp separators, overlaps - Timestamp manipulation: shift, stretch (two-point sync), merge, split - ASS/SSA: style CRUD, override tag stripping, format conversion (SRT ↔ ASS) - AI translation via OpenAI, Anthropic, and Google APIs with batching, caching, glossary, content-aware priming, back-translation verification, and resume from checkpoint - Batch processing: apply any operation to an entire directory tree (PS7+ parallel support) - Subtitle publishing to SubDL - No external dependencies; API keys encrypted with Windows DPAPI '@ } } } |