Extensión de Chrome para convertir texto a 'Caso de oración'.

Estoy buscando una extensión de Chrome que pueda, con un atajo de teclado, convertir texto a mayúsculas y minúsculas y viceversa.

Por ejemplo:

.ESTE ES UN TEXTO DE MUESTRA

debe ser convertido a

.Este es un texto de muestra

Requisitos:

  • Mantiene la letra después .como mayúscula (para una oración)
  • Atajo de teclado
  • Funciona en cuadros de texto/áreas de texto de sitios web, etc.
  • Funciona en Chrome en Windows 7 y OSX 10.6.8

NOTA: No estoy buscando esto para convertir el texto en el portapapeles. Estoy buscando una solución que funcione con el texto seleccionado dentro de un cuadro de texto/área de texto en un sitio web .

¿Desea que el texto que copie del navegador o que el texto se muestre en el navegador?
También me parece que desea Oración en mayúsculas en lugar de minúsculas estrictamente hablando , no es que importe mucho, pero son ligeramente diferentes .
@NickWilde Ahhh... OK, ¡no sabía que el término 'Caso de sentencia' era realmente real!
@NickWilde Y, para el texto seleccionado en el navegador, eso es todo

Respuestas (2)

Una secuencia de comandos para hacerlo con AutoHotkey (lenguaje de secuencias de comandos para la automatización de escritorio en Windows), en caso de que esté bien que no sea solo un navegador:

CTL+ALT+k - Sentence case (what you asked for)
CTL+L - convert to lowercase
CTL+U - convert to uppercase
CTL+K - invert the case (e.g. "The Big Dog" becomes "tHE bIG dOG")
SHIFT+CTL+K - convert to capitalized (e.g. "the big dog" becomes "The Big Dog")
SHIFT+CTL+U - convert to sentence case

Código:

!^k::                                           ; Sentence case
StringLower, Clipboard, Clipboard
Clipboard := RegExReplace(Clipboard, "((?:^|[.!?]\s+)[a-z])", "$u1")
Send %Clipboard%
RETURN

^u::                                                                 ; Convert text to upper
 StringUpper Clipboard, Clipboard
 Send %Clipboard%
RETURN

^l::                                                                 ; Convert text to lower
 StringLower Clipboard, Clipboard
 Send %Clipboard%
RETURN

+^k::                                                                ; Convert text to capitalized
 StringUpper Clipboard, Clipboard, T
 Send %Clipboard%
RETURN

^k::                                                                 ; Convert text to inverted
 Lab_Invert_Char_Out:= ""
 Loop % Strlen(Clipboard) {
    Lab_Invert_Char:= Substr(Clipboard, A_Index, 1)
    if Lab_Invert_Char is upper
       Lab_Invert_Char_Out:= Lab_Invert_Char_Out Chr(Asc(Lab_Invert_Char) + 32)
    else if Lab_Invert_Char is lower
       Lab_Invert_Char_Out:= Lab_Invert_Char_Out Chr(Asc(Lab_Invert_Char) - 32)
    else
       Lab_Invert_Char_Out:= Lab_Invert_Char_Out Lab_Invert_Char
 }
 Send %Lab_Invert_Char_Out%
RETURN

Ejemplo:

  • dvfv dKMLM sdf. sdf SDFKLMSF sdf.->Dvfv dkmlm sdf. Sdf sdfklmsf sdf.
¿Esto convierte el texto del portapapeles? No quise decir eso, lo siento. Quiero tener una forma de convertir el texto dentro de un cuadro de texto/campo de texto en un sitio web...
@shub En este caso, agregar algunos comandos más en el script AHK debería funcionar. autohotkey.com/docs/commands/Send.htm

Sobre la base de la respuesta AutoHotKey de Franck, principalmente desde aquí , se encuentra este script:

#d:: ConvertSentence()

ConvertSentence()
{
    clipSave := Clipboard
    Clipboard = ; Empty the clipboard so that ClipWait has something to detect
    SendInput, ^c ;copies selected text
    ClipWait
    StringReplace, Clipboard, Clipboard, `r`n, `n, All ;Fix for SendInput sending Windows linebreaks 
    StringLower, Clipboard, Clipboard ;Convert case
    Clipboard := RegExReplace(Clipboard, "(((^|([.!?]+\s+))[a-z])| i | i')", "$u1")
    Len:= Strlen(Clipboard) ;Set number of characters
    Send %Clipboard% ;Send new string
    Send +{left %Len%} ;Re-select text
    VarSetCapacity(OutputText, 0) ;free memory
    Clipboard := clipSave ;Restore previous clipboard
}

Cuando presiona Windows+ D, el texto seleccionado se convertirá a mayúsculas y minúsculas.

Desafortunadamente, AutoHotKey es solo para Windows, ¡así que esto no funcionará en Chrome en todas las plataformas!

funciona copiando el texto seleccionado, convirtiendo el texto copiado, pegando el texto convertido y borrando el portapapeles después.