Repository navigation
feat: add 10 formats (Mermaid, UDF, code sources), M4R ringtones and Ukrainian translation - #1373
Closed
Marouane-elfadli wants to merge 17 commits into
Closed
Marouane-elfadli wants to merge 17 commits into
Marouane-elfadli wants to merge 17 commits into
Conversation
Implemented the TranslationService class for offline document and text translation using local AI. The service includes methods for language normalization, model checking, and text translation while ensuring no data is sent to third-party services.
Marouane-elfadli
deleted the
feat/formats-and-features-mermaid-udf-m4r-uk
branch
November 10, 2026 23:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this change?
Adds 10 new file formats and 2 small features. Each one is tagged with its issue where there is one.
Formats (label:
formats)[Format]: .mermaid.mermaidand.mmddiagram files are read as plain text and can be converted like other text files.[Format]: .udf.udfdisc images are unpacked with the bundled 7-Zip, like ISO and IMG. Read only, never a target.[Format]: .rs .go .kt .swift .scala .scss .vue .tsx.javawas added in #1176.Features (label:
enhancement)[Feature]: Add iPhone ringtone (M4R) conversion.m4raudio output. It is always AAC in the iPod muxer, because iOS does not play ALAC ringtones.[Feature]: Add Ukrainian (Українська) as a target language for the Translator (Ollama) engineHow it fits together
.udfand.m4rare graded General, like ISO and M4B, so they appear with the other common formats..udf, audio donut gets.m4r. A donut that already claims one of them keeps it.docs/ENGINES.mdlists the new formats.Not included, on purpose
.js,.phpand shell scripts: they are programs and web pages, refused byWebFileNames..djvu([Format]: .djvu #1346): needs a separate engine, so it deserves its own PR.Type of change
How was it tested?
dotnet format --verify-no-changesdotnet testTests added or updated:
tests/Filee.Core.Tests/ScriptTextTests.cs: detection of every new text extension, UDF and M4R recognition, and the schema 76 to 77 migration (custom claims are kept, a second run changes nothing).tests/Filee.Core.Tests/FormatFieldsTests.cs: General grade count goes from 95 to 97.tests/Filee.Engines.Tests/ScriptTextTests.cs: Mermaid, Rust and Go files convert to PDF.tests/Filee.Engines.Tests/ArchiveTests.cs: UDF has a one-step route to every archive target.tests/Filee.Engines.Tests/MediaTests.cs: M4R is AAC in the iPod muxer, even when ALAC is asked for.Screenshots (UI changes)
None. The only visible change is one more entry (Українська) in the Translate language list.
Checklist
src/Filee.App/Assets/i18n/*.jsonfiles (no new keys; the language name is written in its own language like the others)THIRD-PARTY-NOTICES.md(none added)