Si può usare questo sito.
python script per cycle case (lower – mixed – upper)
Utile con autokey. Eccolo:
pre.CICodeFormatter{
font-family:arial;
font-size:12px;
border:1px dashed #CCCCCC;
width:99%;
height:auto;
overflow:auto;
background:#f0f0f0;
line-height:20px;
background-image:URL(http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif);
padding:0px;
color:#000000;
text-align:left;
}
pre.CICodeFormatter code{
color:#000000;
word-wrap:normal;
}
# Get the current selection. sText=clipboard.get_selection() lLength=len(sText) try: if not store.has_key("textCycle"): store.set_value("state","title") except: pass # get saved value of textCycle state = store.get_value("textCycle") # modify text and set next modfication style if state == "title": #sText=sText.capitalize() sText=sText.title() newstate = "lower" elif state == "lower": sText=sText.lower() newstate = "upper" elif state == "upper": sText=sText.upper() newstate = "title" else: newstate = "lower" # save for next run of script store.set_value("textCycle",newstate) # Send the result. keyboard.send_keys(sText) keyboard.send_keys("<shift>+<left>"*lLength)
convertire un documento in html/epub
E’ meglio non farlo direttamente da LibreOffice, ma con FF Multiconverter, che usa i tag i e b, e non span. Il che permette di ripulire bene, successivamente, il codice sorgente.
LO: tradurre una parola e scrievere quella tradotta a fianco di querla originale
Si tratta di una macro per LibreOffice, con l’estensione Traduttore; ho copiato, da un sito per imparare inglese, un elenco di verbi inglesi, non tradotti; così ho cercato di velocizzare il prcesso di traduzione e aggiunta della parola tradotta a fianco di quella originale.
Riporto la soluzioone, dal sito AskLibreOffice:
Solved, with the help of macro’s author!
- After inserting ~/.config/libreoffice/4/user/Scripts/python/TradutorLibreText.py
- and after installing libreoffice-script-provider-python
This is my macro
sub translate_word
rem ———————————————————————-
rem define variables
dim document as object
dim dispatcher as object
rem ———————————————————————-
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”)
rem ———————————————————————-
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = “Language”
args1(0).Value = “Current_Italian (Italy)”
dispatcher.executeDispatch(document, “.uno:LanguageStatus”, “”, 0, args1())
rem–nuovo inserim inizio
Dim oScriptProvider, oScript
oScriptProvider = ThisComponent.getScriptProvider()
oScript = oScriptProvider.getScript(“vnd.sun.star.script:TradutorLibreText.py$TradutorLibreText?language=Python&location=user”)
oScript.invoke(array(), array(), array())
rem–nuovo inserim fine
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:WordLeftSel”, “”, 0, Array())
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:Copy”, “”, 0, Array())
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:Undo”, “”, 0, Array())
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:Undo”, “”, 0, Array())
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:GoToEndOfLine”, “”, 0, Array())
rem ———————————————————————-
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = “Text”
args7(0).Value = ” ”
dispatcher.executeDispatch(document, “.uno:InsertText”, “”, 0, args7())
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:Paste”, “”, 0, Array())
rem ———————————————————————-
dim args9(0) as new com.sun.star.beans.PropertyValue
args9(0).Name = “Text”
args9(0).Value = “)”
dispatcher.executeDispatch(document, “.uno:InsertText”, “”, 0, args9())
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:GoToPrevWord”, “”, 0, Array())
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:GoToPrevWord”, “”, 0, Array())
rem ———————————————————————-
dim args12(0) as new com.sun.star.beans.PropertyValue
args12(0).Name = “Text”
args12(0).Value = “(”
dispatcher.executeDispatch(document, “.uno:InsertText”, “”, 0, args12())
rem ———————————————————————-
dim args13(1) as new com.sun.star.beans.PropertyValue
args13(0).Name = “Count”
args13(0).Value = 1
args13(1).Name = “Select”
args13(1).Value = false
dispatcher.executeDispatch(document, “.uno:GoLeft”, “”, 0, args13())
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:WordRightSel”, “”, 0, Array())
rem ———————————————————————-
dispatcher.executeDispatch(document, “.uno:WordRightSel”, “”, 0, Array())
rem ———————————————————————-
dim args16(1) as new com.sun.star.beans.PropertyValue
args16(0).Name = “Count”
args16(0).Value = 1
args16(1).Name = “Select”
args16(1).Value = true
dispatcher.executeDispatch(document, “.uno:GoRight”, “”, 0, args16())
rem ———————————————————————-
dim args17(0) as new com.sun.star.beans.PropertyValue
args17(0).Name = “Color”
args17(0).Value = 8421504
dispatcher.executeDispatch(document, “.uno:Color”, “”, 0, args17())
rem ———————————————————————-
dim args18(2) as new com.sun.star.beans.PropertyValue
args18(0).Name = “FontHeight.Height”
args18(0).Value = 8
args18(1).Name = “FontHeight.Prop”
args18(1).Value = 100
args18(2).Name = “FontHeight.Diff”
args18(2).Value = 0
dispatcher.executeDispatch(document, “.uno:FontHeight”, “”, 0, args18())
end sub
rippare sottotitoli da video online
Anche con Firefox si può:
- attivare inspect element (ad esempio ctrl+shift +I)
- scegliere network
- dare eventualmente F5
- cercare la riga con estensione vtt
- tasto destro del mouse: apri in una nuova scheda
- salvate il testo che vi apparirà (con un po’ di pazienza) come .srt
- aggiungetelo al video con il programma apposito
Cfr. https://www.youtube.com/watch?v=rzkqJLEIPOQ