|Change exception names, and use `LangSelection` for dialog (makes error more understandable).|
|mario authored 55 days ago last checkin c62b11cb0 ⎘|
|📂 META-INF||Introduce crude help file for config options.‹›||420 days ago|
|📂 dingonyms||added related/subproject: dingonyms‹›||158 days ago|
|📂 help||Add errors, update help tree‹›||177 days ago|
|📂 icons||resized, lighter blue tones‹›||453 days ago|
|📂 off||Add more languages ('le continental submenus)‹›||182 days ago|
|📂 pkg-desc||move license text to pkg-desc/‹›||438 days ago|
|📂 pythonpath||Disable ToggleDropdown, update dependencies‹›||63 days ago|
|📄 Addons.xcu||Disable ToggleDropdown, update dependencies‹›||63 days ago|
|📄 Makefile||Move MessageBox() to unocompat (not actually used anymore, doesn't wo‹›||55 days ago|
|📄 NEWS||Notes about ArgosTranslate, CLI alternative‹›||55 days ago|
|📄 OptionsDialog.xcu||AOO compat. OptionsDialog XCU requires leaf name to equal handler ID.‹›||432 days ago|
|📄 OptionsDialog.xdl||Add ArgosTranslate (offline/python-based backend), albeit it probably‹›||59 days ago|
|📄 OptionsSchema.xcs||Introduce 🏴 button configuration to change default language/behaviour‹›||81 days ago|
|📄 description.xml||Add Systran backend (untested).‹›||62 days ago|
|📄 pagetranslate.py||Move MessageBox() to unocompat (not actually used anymore, doesn't wo‹›||55 days ago|
OpenOffice/LibreOffice extension that translates whole documents, whilst retaining some formatting.
- Iterates over paragraphs / text segments / and tables (only linebreaks kept)
- Utilizes Google translate (or DeepL, Microsoft Translate, MyMemory, PONS, or Yandex/Qcri/Linguee).
- And is therefore rather slow.
(Writer freezes during process for long documents!)
- Still allows for text-selection mode translation (from original extension).
Download the package file, and import it in LibreOffice via Tools → Extension Manager → Add.
|Source repository||Newest package, Linux-only package, no python dependencies||pagetranslate.oxt|
|LibreOffice Extensions||Older/stable versions, bundles python
|OpenOffice Extensions||Full releases, AOO/LO/Windows compatible (bundles
For using the unbundled/development package, you should install Python dependencies on your system:
pip3 install -U requests translate deep-translator six
- Hit the T→🇬🇧 toolbar button to get entire document translated to English. Have some trust and patience for longer documents.
- The second button 🏴 translates to the local/system language.
- Or select a paragraph, to get a partial translation.
- Alternatively pick a menu entry from Tools > PageTranslate.
- The →System lang entry refers to your OpenOffice/Desktop setting.
- Whereas → Paragraph locale respects the text language as set in the Writer status bar.
- A manual selection dialog is brought up by the From ➜ To 🗺 menu entry. (Best used in MyMemory mode)
- Configure options in Tools→PageTranslate→Options...
- Generally you want to download the extension package from AOO. Those are usually full releases (2 to 20MB). The smaller package only makes sense for Linux/LibreOffice installations, because then you can automatically utilize local Python modules (
pip install requests deep-translator).
- The plugin is also likely to crash (won't affect Writer) when encountering complex documents (embedded drawings, Calc sheets, OLE elements, etc). It's only been tested with flow text and text tables.
- Generally there's a log file in /tmp.
- OpenOffice support is somewhat preliminary still (albeit it's mostly Python 2.7 fallbacks and XCU variations).
- For direct content.xml translations, there's an inconvenient tool in off/. (Each office document .odt/.odc is a zip file. Extract the content.xml, apply the script, then repackage the content.xml into the .odc)
- Unify internal API lang=/source= handling, extract .skip() check, and outsource some of the common processing to main.
Integrate deep-translator backends (Yandex, QCRI, Pons, Linguee) and language mapping. Perhaps offer as alternative to T-P and internal variants. Finalize DeepL web translation mode (for testing really).The API mode is untested, but likely faster because longer paragraphs can be translated at once. And reportedly it yields smoother/more natural translations. (No XML block translation yet.) Unfortunately not sure yet how to bundle
Nor how to craft an options/settings page. Support for TextFrames
- Figure out if getText() provides for some XML serialization,
or how to traverse Paragraphs piece by piece (super slow mode: retain more formatting). Does not yet support anything but Writer documents. (Structure is entirely distinct for Draw/Impress). Not sure if the toolbar icons work at all, or if that's a bug in the Linux version of LibreOffice.