¿Cómo elimino Nikkud (marcas de vocales) de un documento de Word 2016?

Estoy trabajando en un comentario sobre Ética de los Padres y quiero que los lectores puedan leer las fuentes que estoy citando en su hebreo original. Obtengo la mayoría de mis fuentes de sefaria.org y, lamentablemente, muchas de las fuentes tienen Nekudos (marcas de vocales), mientras que la mayoría no. Por consistencia y profesionalismo, quiero que todas las fuentes no contengan Nekudos.

Por ejemplo , esta línea: מֹשֶׁה קִבֵּל תּוֹרָה מִסִּינַי. אוֹמֵר אֲנִי, לְפִי שֶׁמַּסֶּכֶת זוֹ debería ser משה קבל תורה מסיני. אומר אני שמסכת זו. Espero tener que hacer esto cientos de veces, así que necesito algo rápido. Alguien una vez me hizo un documento con macros para hacer esto, pero no funciona en Word 2016. ¿Alguien más tiene una forma eficiente de hacerlo? Muchas gracias.

¿Puede alguien agregar hebreo como etiqueta? No puedo hacerlo todavía. Gracias.
¿Probaste el bloc de notas++?
Se agregaron algunas etiquetas. ¿Eso ayuda? Es posible que desee intentar buscar en la comunidad hebrea o en la comunidad de superusuarios de Stack Exchange. Desearía poder encontrar un enlace directo a cualquiera de las comunidades, pero rápidamente me encontré con esta pregunta. No estoy seguro si es relevante. superuser.com/questions/769204/hebrew-nikkud-on-ms-word
@BugFolk Cambié las etiquetas para incluir [microsoft-word] y [formato]. El hebreo no es viable como etiqueta, porque si bien la pregunta se trata de marcas de vocales en hebreo, podría aplicarse fácilmente a cualquier idioma. Además, 'hebreo' no es una etiqueta, y es una buena práctica evitar crear etiquetas siempre que sea posible. De manera similar, las etiquetas [software] e [idioma] no se ajustaban a la pregunta, que no preguntaba sobre un idioma, ni específicamente sobre software. El OP preguntaba específicamente sobre MS Word, por lo que es una etiqueta mucho mejor que 'software'.
Bueno. Bueno saber.

Respuestas (4)

Una búsqueda rápida en Google hebrew remove nikkuddio una respuesta.

En Github hay un JavaScript con un código de vista previa en vivo . Si es poco texto, puede usar el JavaScript en línea o descargarlo y usarlo en su PC (guardar como .js).

Los códigos char hebreos están todos entre 1425 y 1479 y los nikud están entre 0591 y 05C7.

Implementación de Python (probada):

import unicodedata
# nikkud-test.txt is the file you save your text in.
f= open('nikkud-test.txt','r', encoding='utf-8') 
content = f.read()
normalized=unicodedata.normalize('NFKD', content)
no_nikkud=''.join([c for c in normalized if not unicodedata.combining(c)])
no_nikkud
f.close()
f = open('no-nikkud-test.txt','w',encoding='utf-8')
fw = f.write(no_nikkud)
f.close()

Esto funciona muy rápido.

ACTUALIZADO: ¿Cómo usar este script?

  1. Descargue Python 3.xx desde python.org
  2. Guarde su texto nikud nikkud-test.txten cualquier directorio
  3. Desde el menú de inicio, inicie su cmdshell/símbolo del sistema/terminal.
  4. Muévase al directorio donde guardó su archivo escribiendo cdseguido del directorio
  5. escriba pythono abra una iPythonconsola.
  6. copiar + pegar guión
  7. no-nikkud-test.txtaparecerá en el mismo directorio

ACTUALIZAR sin Terminal (Probado con Python 3.5 IDLE e iPython)

  1. Descargue Python 3.5 o superior desde python.org
  2. Guarde su texto niqqud niqqud.txten su carpeta Documentos. (Windows/Mac)
  3. Abra IDLE desde el menú Inicio. (Alternativamente, use iPython )

Copie y pegue la siguiente función:

def hasar_niqqud(source="niqqud.txt"):
    """This function removes niqqud vowel diacretics from Hebrew.
    @param source: The source filename with .txt extension."""
    import os, unicodedata
    path  = os.path.expanduser('~/Documents/'+str(source))
    f= open(path,'r', encoding='utf-8')
    content = f.read()
    normalized=unicodedata.normalize('NFKD', content)
    no_niqqud=''.join([c for c in normalized if not unicodedata.combining(c)])
    f.close()
    path  = os.path.expanduser('~/Documents/'+str(source)[:-4]+"-removed.txt")
    f = open(path,'w',encoding='utf-8')
    f.write(no_niqqud)
    f.close()

Luego ejecuta la función con este código:

hasar_niqqud()

¡Eso es! Puede encontrar la salida en la carpeta Documentosniqqud-removed.txt

Muchas gracias. No estoy familiarizado con la codificación. ¿Cómo uso esto?
Para aquellos de nosotros que tenemos problemas técnicos, ¿podría explicarnos dónde descargar Python3 y cómo iniciar un cmdshell?
Actualizado. El símbolo del sistema también se llama terminal en otros sistemas. No es tan difícil como parece. Es un poco abrumador al principio.
No sé. Pasé un tiempo tratando de seguir estas instrucciones y sigo recibiendo códigos de error. Realmente no sé nada sobre el uso de este tipo de programas.
Intente instalar iPython ipython.org/install.html Tiene una mejor interfaz que la terminal.
Se agregó un tutorial simplificado sin necesidad de la terminal. Eliminaré el tutorial anterior si es demasiado complicado (?). Tengo que decir que he aprendido bastante sobre hebreo :)

Estaba buscando exactamente lo mismo. Busqué y encontré formas de hacerlo fuera de Word, pero realmente quería hacerlo sin salir de Word. Leí un poco más y descubrí que la clave es buscar y reemplazar, buscando los caracteres de las vocales en el bloque Unicode hebreo. Quería mantener maqqef y sof pasuq, así que tuve que usar tres rangos separados (si no quieres esos caracteres, puedes simplificar esto a una búsqueda para todo el rango 1425-1479). Los resultados están abajo. Si selecciona texto y ejecuta la macro, solo se aplicará a la selección. Si no tiene una selección, se ejecutará hasta el final del documento.

Sub HebrewDevocalizer()
With Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "[" & ChrW(1425) & "-" & ChrW(1469) & "]"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchKashida = False
    .MatchDiacritics = False
    .MatchAlefHamza = False
    .MatchControl = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

With Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "[" & ChrW(1471) & "-" & ChrW(1474) & "]"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchKashida = False
    .MatchDiacritics = False
    .MatchAlefHamza = False
    .MatchControl = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

With Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "[" & ChrW(1476) & "-" & ChrW(1479) & "]"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchKashida = False
    .MatchDiacritics = False
    .MatchAlefHamza = False
    .MatchControl = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

En caso de que su lista esté en Excel, podría usar esta macro (basada en la sugerencia de Jonathan Potter). Seleccione un rango de celdas, luego ejecute la macro en VBEditor.

Sub HebrewDevocalizer()
Dim i As Integer

    For i = 1425 To 1469
        Selection.Replace What:=ChrW(i), Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Next i
    For i = 1471 To 1474
        Selection.Replace What:=ChrW(i), Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False
    Next i
    For i = 1476 To 1479
        Selection.Replace What:=ChrW(i), Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByColumns, MatchCase:=False
    Next i

End Sub

Busqué una aplicación que proporcionara el nikud (vocales) a las palabras que estaba usando para crear un glosario. Sin embargo, una vez que tuve las palabras en esa forma, ya no pude ordenarlas (como podemos ver en estas preguntas).

Sin embargo, la misma aplicación, https://nakdan.dicta.org.il/ , también permite al usuario seleccionar la versión "hebrea moderna", y si hace clic en לחץ כאן (haga clic aquí) aparece un pequeño cuadro de diálogo. Haga clic en el cuadro negro que básicamente lo lleva a otra versión para agregar vocales, en realidad luego borra las vocales que tenía allí.

Es posible que tengas que jugar un poco con él para dominarlo y/o hacerlo en partes.

Luego, puede simplemente copiar y pegar en su hoja de cálculo en una columna temporal para usar para clasificar. Después de la clasificación final, elimine esa columna.

¡Pruébalo para una solución alternativa!

Saludos, Magdalena

Hola Madeleine, ¡bienvenida a writing.se! Realice el recorrido y visite el centro de ayuda para obtener más información. Esta es una buena primera respuesta, gracias por participar y ¡feliz escritura!
Aquí hay una página web que elimina nikud: eshkol.net/Nikud/Default.aspx הסרת ניקוד Hasarat Nikkud