31 votos

¿Cómo puedo instalar un nuevo diccionario en OS X para utilizarlo con el salvapantallas "Palabra del día"?

El motivo es trivial: soy un fan del salvapantallas "Palabra del día" y me gustaría añadir diccionarios para otros idiomas además del inglés y el japonés (son los dos que puedo seleccionar ahora en las opciones del salvapantallas).

¿Cómo puedo hacerlo?

1 votos

¿Ha habido suerte? Parece que no tiene ningún sentido que sólo se puedan seleccionar los diccionarios de inglés y japonés, pero no he encontrado ninguna forma de evitarlo.

1 votos

Parece un proyecto a medias/huevo de pascua abandonado después de OS X 10.8.

16voto

jsomers Puntos 31

En un hilo de comentarios bastante oscuro, alguien explicó dónde se puede encontrar la lista de palabras que Apple utiliza para activar el salvapantallas. Está en /System/Library/Graphics/Quartz\ Composer\ Plug-Ins/WOTD.plugin/Contents/Resources/NOAD_wotd_list.txt . El archivo tiene el siguiente aspecto:

m_en_us1282510  quinsy
m_en_us1273791  orbicular
m_en_us1220945  alimony
m_en_us1250517  genome

Es una lista de entradas separadas por pestañas. A la derecha tienes la palabra, y a la izquierda, lo que parece un ID. Pero, ¿para qué es un ID, y cómo podrías encontrarlo para otra palabra que no esté ya en la lista?

Como es de esperar, el ID se refiere a una entrada del diccionario por defecto de Apple, el "New Oxford American Dictionary". (Eso es lo que significa "NOAD" en la ruta de la lista de palabras de arriba).

Cómo encontrar las identificaciones para otros ¿palabras?

Un compañero llamado Joseph Gentle, en una serie de entradas de blog, muestra cómo llegar a los datos subyacentes a los diccionarios de Apple. En su "Los diccionarios de Apple, parte 2" post, señala el código que desempaqueta el archivo binario correspondiente (almacenado en /Library/Dictionaries ) en XML. Utilizando el dedict.c y strip.c archivos encontrados aquí y siguiendo el ejemplo de Gentle, utilicé los siguientes comandos bash para llegar al XML de la NOAD (estos comandos se ejecutan desde el directorio donde se descargó el dedict.c y strip.c archivos):

clang dedict.c -Wall -lz -o dedict
clang strip.c -Wall -lz -o strip
./dedict "New Oxford American Dictionary" | ./strip > dict.xml

Cuando head -ed las primeras líneas del dict.xml archivo, vi algo prometedor, con entradas que se parecían a esto:

<d:entry xmlns:d="http://www.apple.com/DTDs/DictionaryService-1.0.rng" id="m_en_us1219333" d:title="abode" class="entry">

Observe que id param... ¡es un identificador exactamente igual al de la lista de palabras del salvapantallas!

Escribí el siguiente Ruby script para analizar el XML, y luego, usando mi propia lista de palabras, crear un nuevo archivo de salvapantallas que asigna mis propias palabras a sus identificaciones en el diccionario:

raw = File.open("./dict.xml").read
my_words = File.open("./word_list.csv").readlines.map { |line| line.split(',')[1] }

word_id_map = {}

raw.scan(/<d:entry .*? id="(.*?)" d:title="(.*?)" class="entry">/).each do |entry|
   word_id_map[entry[1]] = entry[0]
end

my_words.each do |word|
  if id = word_id_map[word]
    puts [id, word].join('  ')
  end
end

Cuando sustituí el archivo original del salvapantallas por este nuevo, funcionó. Ahora puedes tener un salvapantallas "Palabra del día" que da definiciones para las palabras que elijas.

9voto

Si tienes 10.8, puedes habilitar los diccionarios de francés, alemán, chino simplificado y español desde las preferencias de Dictionary.app:

Sin embargo, no parece que se muestren como opciones para el salvapantallas de la Palabra del Día:

También he probado a reiniciar después de habilitar los diccionarios.

4 votos

Sí, no aparecen en el salvapantallas, exactamente.

9 votos

Ni idea de por qué este post tiene tantos upvotes- No resuelve la pregunta en absoluto :(

2voto

Chris Puntos 1

Por si alguien sigue interesado en esto en 2018 y se encuentra con esto..

Acabo de actualizar a OS X Mojave y he encontrado un Word of the Day.saver archivo en /System/Library/Screen Savers/ . En este paquete, vaya a Contents/Resources/WordLists/ y puedes encontrar los 5 archivos .plist utilizados en el WotD de Mojave (han añadido tres diccionarios de chino mandarín/cantonés). Ahí puedes usar el método de jsomers de arriba.

Además, hace tiempo que Apple añadió la protección de la integridad del sistema a OS X, por lo que tendrá que desactivarlo antes de escribir en el archivo .plist.

Estoy bastante contento de que Apple no haya abandonado el buen WotD, y lo haya actualizado un poco en Mojave. Espero que puedan ofrecer aún más opciones de diccionario en el futuro.

-2voto

kipz Puntos 314

0 votos

Ver el comentario de Lauri. No funciona con el salvapantallas.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X