2 votos

open dict://"$palabra" dejó de funcionar para los chinos después de actualizar a Big Sur

No estoy seguro de que esta pregunta sea apropiada para este foro. Si no lo es, por favor, hágamelo saber y la eliminaré (si puedo).

Tengo un shell script open dict://"$word" que funcionaba bien en Catalina tanto para el inglés como para el chino. Abrirá el Diccionario.app y buscar la palabra para mí.

Problema :

Después de actualizar a Big Sur Ahora sólo funciona para el inglés, ya no para el chino. Si intento buscar una palabra en chino, por ejemplo, ejecutar open dict://"中" dará un error en el Terminal.app : The file /Users/USERNAME/dict:/天 does not exist . Buscando una palabra en inglés, diga open dict://'hello' El sistema de búsqueda de palabras en chino, actúa con normalidad (es decir, abre Dictionary.app y busca "Hola" en la aplicación). Todavía puedo buscar palabras en chino utilizando la interfaz de Dictionary.app.

Soy un aficionado a la programación. No sé qué puedo intentar para resolver este problema.

¡Se agradece cualquier ayuda! Gracias de antemano.

1voto

aaplmath Puntos 599

Esto parece ser un error con el open al manejar ciertos caracteres-por ejemplo, open http://www.google.com?q=中 da un mensaje de error similar. Puede que merezca la pena informar de este error a Apple; mientras tanto, puedes utilizar la siguiente solución (menos elegante, eso sí):

osascript -l JavaScript -e "(a = Application.currentApplication()).includeStandardAdditions=true; a.openLocation('dict://' + encodeURIComponent('中'))"

Esto utiliza JavaScript para la automatización para codificar y abrir la URL, al igual que open hace. Para utilizar el genérico $word sólo tendría que hacer la siguiente sustitución:

osascript -l JavaScript -e "(a = Application.currentApplication()).includeStandardAdditions=true; a.openLocation('dict://' + encodeURIComponent('$word'))"

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