Má to být dialog pro Najít/Nahradit s ohledem na použité jazyky (viz. např. dotaz na EN Asku https://ask.libreoffice.org/en/question … gs-regex/). S možností dávkového zpracování a později i možností formátovaného hledání/nahrazování. Ve Writeru se udělá nějaká zdrojová tabulka s potřebnými údaji v řádcích a makro ji načte a v dialogu je poté možno jednotlivé řádky (jednotlivé údaje pro Najít/Nahradit) pouštět ručně jako v klasickém Najít&Nahradit, nebo to celé pustit dávkově. Nebo si prostě zadávat vlastní položky jako v klasickém dialogu Najít&Nahradit s tím, že je to prostě rozšířeno o jazykové podmínky.
Jediné na čem jsem se zasekl je ale právě Najít vše - a to tak, aby vyhledal a označil jen to co bude odpovídat zadaným jazykům. Takže když budu mít vícejazyčný dokument (třeba CS, SK, EN) a budu chtít najít nějaký řetězec jen v CS+SK, tak aby mi to neoznačilo ten řetězec i v EN. Když použiji oDoc.createSearchDescriptor a poté třeba oDoc.FindAll, tak výsledek hledání označím pomocí Select, ale bude označeno vše vyhledané a nebudu tam mít pouze potřebné jazyky. To samé když použiji .uno:ExecuteSearch - tím také nelze vyhledávat pro více jazyků (byť umí třeba navíc rozlišovat diakritiku apod. a je hodně rychlej). Dá se použít parametr Locale (myslím že v obou metodách), ale lze to jen pro jeden jazyk. Takže mě napadlo vyhledat prostě vše bez ohledu na jazyky a označit to přes Select a pak projet jednotlivé položky Selectu a v případě že nebude u nějaké položky vyhovovat jazyková podmínka, tak ji odendat z výběru. Jenže ono v tom objektu vyhledaných nejde ty položky přidávat ani ubírat.
Jediné co mi fungovalo při iteraci těch vyhledaných položek bylo změnit vlastnost string a přidat ke stringu třeba sérii nějakých nulových znaků; pak následující Select těch položek označí jen ty u kterých vlastnost string nebyla změněna; no a poté dát nahrazení těch nulových znaků což je odebere ale položky zůstanou označené. Takhle nějak mi to fungovalo, avšak nevýhoda je ta, že když je nalezené položce změněna hodnota string, tak to samozřejmě rozhodí její případné formátování, např. je-li část položky tučně, tak po změně stringu třeba již nebude.
V ukázce dialog s datovou tabulkou https://uloz.to/tamhle/744mVGGFTdSl. Zatím nejsou dělané možnosti pro formátované hledání&nahrazení. Ale to mám téměř hotové z arabštiny a jejího nahrazení do barevné transkripce, byť snad jen pro 9 základních vlastností (tučné, kurzíva, barva, podtržení ...), což se však dá rozšířit. Nicméně na to se v dohledné době nechystám, to třeba někdy v budoucnu.