IPB     Il futuro di Tevac dipende da te!  

Benvenuto Visitatore ( Log In | Registrati )

  · · · · · · · · · · · ·
Reply to this topicStart new topic
> Preferenze Ortografia: dove sono?
nutsmuggler
messaggio 12 Mar 2008, 16:16
Messaggio #1


Level 6/11
******

Gruppo: Forum User +
Messaggi: 1.571
Iscritto il: 1-September 04
Da: Verona
Utente Nr.: 2.260



Salve a tutti.
Qualcuno sa dirmi dove Mac Os X registra le preferenze dell'utente relative al correttore ortografico? Mi trovo spasso a cambiare fra inglese e italiano, e mi piacerebbe accedere alla preferenza programmaticamente, con Cocoa.
Grazie,
Davide


--------------------
Vieni a trovarmi sul mio blog e su flickr.
Go to the top of the page
 
+Quote Post
kato
messaggio 12 Mar 2008, 16:48
Messaggio #2


Level 4/11
****

Gruppo: Forum User +
Messaggi: 381
Iscritto il: 17-September 07
Da: Roma (in teoria), quasi Varese (in pratica)
Utente Nr.: 8.750



CITAZIONE(nutsmuggler @ 12 Mar 2008, 15:16) *
Mi trovo spasso a cambiare fra inglese e italiano, e mi piacerebbe accedere alla preferenza programmaticamente, con Cocoa.
Ah! Posso aiutare poco ma il problema mi è purtroppo ben chiaro. Ricordo che avevo provato a fare qualcosa con AppleScript o altre robe senza però arrivare a risultati concreti così sono rimasto al metodo "digitale" ovvero manuale. In giornata vedo di recuperare quanto avevo scoperto ed eventualmente comunico.

Sono molto interessato ad un sistema per automatizzare il cambio di lingua nell'ortografia.

Saluti,

Giulio
Go to the top of the page
 
+Quote Post
nutsmuggler
messaggio 12 Mar 2008, 17:17
Messaggio #3


Level 6/11
******

Gruppo: Forum User +
Messaggi: 1.571
Iscritto il: 1-September 04
Da: Verona
Utente Nr.: 2.260



CITAZIONE(kato @ 12 Mar 2008, 17:48) *
Sono molto interessato ad un sistema per automatizzare il cambio di lingua nell'ortografia.

Saluti,

Giulio


Sto pensando di fare una menulet da distribuire come freeware, per sgranchirmi le "dita" con cocoa. Ho postato la stessa domanda alla lista cocoa di Apple, ti tengo aggiornato.
Nel frattempo, se qualcuno qui ha qualche idea... icon_smile.gif
Davide


--------------------
Vieni a trovarmi sul mio blog e su flickr.
Go to the top of the page
 
+Quote Post
nutsmuggler
messaggio 12 Mar 2008, 19:44
Messaggio #4


Level 6/11
******

Gruppo: Forum User +
Messaggi: 1.571
Iscritto il: 1-September 04
Da: Verona
Utente Nr.: 2.260



A quanto pare la cosa non è così facile... Mi ha risposto un ingegnere apple, a occhio, nella dev-list. Però dice anche che sono consci del problema del cambio lingua, e hanno in programma di migliorarlo.
Un altro suggerimento che mi hanno dato è di usare l'Accessibiity Api, forse in effetti...
Davide


--------------------
Vieni a trovarmi sul mio blog e su flickr.
Go to the top of the page
 
+Quote Post
kato
messaggio 12 Mar 2008, 21:05
Messaggio #5


Level 4/11
****

Gruppo: Forum User +
Messaggi: 381
Iscritto il: 17-September 07
Da: Roma (in teoria), quasi Varese (in pratica)
Utente Nr.: 8.750



Finora ho solamente ritrovato due pagine un po' vecchiotte su Macosxhints:
- Qualcuno conferma che si possa ancora usare quel comando da Terminale, mutuando magari l'ultima parte per le altre lingue, o che lo si possa adattare in qualche modo? Come?
- Se sì, quali sono le abbreviazioni per le altre lingue o dove le si trovano?

Saluti,

Giulio
Go to the top of the page
 
+Quote Post
nutsmuggler
messaggio 13 Mar 2008, 01:34
Messaggio #6


Level 6/11
******

Gruppo: Forum User +
Messaggi: 1.571
Iscritto il: 1-September 04
Da: Verona
Utente Nr.: 2.260



CITAZIONE(kato @ 12 Mar 2008, 22:05) *
- Qualcuno conferma che si possa ancora usare quel comando da Terminale, mutuando magari l'ultima parte per le altre lingue, o che lo si possa adattare in qualche modo? Come?
- Se sì, quali sono le abbreviazioni per le altre lingue o dove le si trovano?

Saluti,

Giulio

Per l'italiano è "it", ma serve a poco. Ogni applicazione salva una preferenza. Però una volta avviata l'applicazione, viene avviato un NSSpellChecker che gestisce le modifiche della lingua; a questo punto le preferenze settate non contano più, l'oggetto è dinamico. Insomma, non è molto semplice cambiare la lingua "in corsa". Forse è possibile tramite l'accessibility, ma non ho esperienza in merito... Qualcuno ne sa di più?
Davide


--------------------
Vieni a trovarmi sul mio blog e su flickr.
Go to the top of the page
 
+Quote Post
poweruser
messaggio 15 Mar 2008, 20:26
Messaggio #7


MacInATopic
Gruppo icone

Gruppo: Root Admin
Messaggi: 24.319
Iscritto il: 27-July 03
Da: Maglie (LE)
Utente Nr.: 440



La lingua che si imposta in TextEdit vale per tutte le applicazioni che non abbiano una loro preferenza particolare.
Ma non fai prima a mettere Multilingual come dizionario?

Ciao
Paolo


--------------------
Paolo Portaluri

guru, n: A computer owner who can read the manual.
Go to the top of the page
 
+Quote Post
kato
messaggio 15 Mar 2008, 22:40
Messaggio #8


Level 4/11
****

Gruppo: Forum User +
Messaggi: 381
Iscritto il: 17-September 07
Da: Roma (in teoria), quasi Varese (in pratica)
Utente Nr.: 8.750



CITAZIONE(poweruser @ 15 Mar 2008, 19:26) *
Ma non fai prima a mettere Multilingual come dizionario?

Quella è una soluzione molto lontana da qualsiasi tipo di eleganza in quanto si aumenta a dismisura il numero di parole errate ma lasciate come corrette (perché magari lo sono in farsi, hindi, o swahili ma non nei nostri più comuni italiano, inglese, francese, ...). Ben diverso è l'uso di un dizionario specifico per la lingua che si sta usando in un certo momento.

Saluti,

Giulio
Go to the top of the page
 
+Quote Post
poweruser
messaggio 16 Mar 2008, 05:52
Messaggio #9


MacInATopic
Gruppo icone

Gruppo: Root Admin
Messaggi: 24.319
Iscritto il: 27-July 03
Da: Maglie (LE)
Utente Nr.: 440



CITAZIONE(kato @ 15 Mar 2008, 21:40) *
CITAZIONE(poweruser @ 15 Mar 2008, 19:26) *
Ma non fai prima a mettere Multilingual come dizionario?

Quella è una soluzione molto lontana da qualsiasi tipo di eleganza in quanto si aumenta a dismisura il numero di parole errate ma lasciate come corrette (perché magari lo sono in farsi, hindi, o swahili ma non nei nostri più comuni italiano, inglese, francese, ...). Ben diverso è l'uso di un dizionario specifico per la lingua che si sta usando in un certo momento.
Farsi, hindi e swahili io non ce li ho, mi devo preoccupare? icon_biggrin.gif
Il rischio c'è con le parole brevi, ma già oltre le 4-5 lettere è improbabile che ci siano problemi. Io non ne ho mai trovati.

Ciao
Paolo


--------------------
Paolo Portaluri

guru, n: A computer owner who can read the manual.
Go to the top of the page
 
+Quote Post
kato
messaggio 16 Mar 2008, 12:44
Messaggio #10


Level 4/11
****

Gruppo: Forum User +
Messaggi: 381
Iscritto il: 17-September 07
Da: Roma (in teoria), quasi Varese (in pratica)
Utente Nr.: 8.750



CITAZIONE(poweruser @ 16 Mar 2008, 04:52) *
Farsi, hindi e swahili io non ce li ho, mi devo preoccupare? icon_biggrin.gif
Il rischio c'è con le parole brevi, ma già oltre le 4-5 lettere è improbabile che ci siano problemi. Io non ne ho mai trovati.
Ach, avrei giurato che ci fossero icon_biggrin.gif .
Dovrò provarlo veramente il Multilingual, anzi in effetti ho già cominciato, perché potrebbe essere, se non altro, la migliore delle soluzioni rapide. Mi era venuta in mente tempo fa ma l'avevo sempre scartata in quanto non perfetta.

Ah, un momento, ora ricordo un'altra idea che mi era venuta in mente e non ero forse riuscito a mettere in pratica: c'è un modo per disabilitare (manualmente o programmaticamente) alcune delle lingue esistenti nella lista dei dizionari ortografici? Ad esempio si potrebbe tenere il Multilingual e scegliere una delle due opzioni:
- soluzione migliore: programmaticamente abilitare solo una lingua per volta
- soluzione peggiore: manualmente lasciare abilitate solo le poche in uso (per esempio italiano, inglese, francese, ...)

Saluti,

Giulio
Go to the top of the page
 
+Quote Post
poweruser
messaggio 16 Mar 2008, 19:13
Messaggio #11


MacInATopic
Gruppo icone

Gruppo: Root Admin
Messaggi: 24.319
Iscritto il: 27-July 03
Da: Maglie (LE)
Utente Nr.: 440



Non sono riuscito a trovare i file con i dizionari icon_rolleyes.gif
So solo che le parole personalizzate sono in file con stringhe separate da null in ~/Library/Spelling/.

Ciao
Paolo


--------------------
Paolo Portaluri

guru, n: A computer owner who can read the manual.
Go to the top of the page
 
+Quote Post
kato
messaggio 16 Mar 2008, 19:26
Messaggio #12


Level 4/11
****

Gruppo: Forum User +
Messaggi: 381
Iscritto il: 17-September 07
Da: Roma (in teoria), quasi Varese (in pratica)
Utente Nr.: 8.750



CITAZIONE(poweruser @ 16 Mar 2008, 18:13) *
Non sono riuscito a trovare i file con i dizionari icon_rolleyes.gif
Nel mio piccolo anche io avevo dato qualche rastrellata qui e lì senza trovare niente. Vedrò di farmi un altro giro nei mille meandri della rete.

Saluti,

Giulio
Go to the top of the page
 
+Quote Post
kato
messaggio 17 Mar 2008, 15:24
Messaggio #13


Level 4/11
****

Gruppo: Forum User +
Messaggi: 381
Iscritto il: 17-September 07
Da: Roma (in teoria), quasi Varese (in pratica)
Utente Nr.: 8.750



CITAZIONE(poweruser @ 16 Mar 2008, 18:13) *
Non sono riuscito a trovare i file con i dizionari icon_rolleyes.gif
Allora: mi pare di aver risolto una parte del problema e mi serve una spinta per l'altra.

Quanto segue vale su Tiger e ovviamente è tutta farina del mio sacco icon_biggrin.gif (strano: è roba del 2004 ma nelle precedenti ricerche non l'avevo trovata).

1. Se si vuole avere il multilingual sempre attivo per una certa lista di lingue (rimuovendo comunque quelle non necessarie):
- cercare il file /Sistema/Libreria/Services/AppleSpell.service
- Mostra contenuto pacchetto
- scendere in /Contents/Resources
- copiare le cartelle dei dizionari inutili in un altro posto e cancellarle da qui (non si sa mai che un giorno si studi olandese e svedese)
- aprire il file Info.plist con un editor di testo e cancellare le righe dopo la 33 con i nomi dei dizionari spostati (questo passo dovrebbe essere solo per "pulizia")
- Logout/Login
- scegliere Multilingual da una qualsiasi applicazione che supporti il controllo ortografico di OS X e saranno attivi solo i dizionari precedentemente lasciati in /Sistema/Libreria/Services/AppleSpell.service/Contents/Resources

2. Se si vuole scegliere, magari tramite uno script da chiamare al volo, una sola lingua da usare per l'ortografia, il succitato gentile signore ci offre il seguente script sul quale però inciampo:
CITAZIONE
property lang_one : "English" --change to option given in menu
property lang_two : "British English" --change to option given in menu
property name_of_spelling_window : "Spelling" --change to be as given in your language
property name_of_menu : "OtherViews" --change to be as given in your language
property error_message : "Spell options not available!"
--error message displayed when an application has no spelling option for the current window

set app_name to my get_front_app()
tell application app_name to activate
tell application "System Events"
     tell process app_name
          keystroke ":" using {command down, shift down}
          delay 0.5 --need to adjust for your machine
          if exists (window name_of_spelling_window) then
               tell window name_of_spelling_window
                    tell group 1
                         tell pop up button 1
                              set current_lang to value as string
                              click
                              tell menu name_of_menu
                                   if current_lang = lang_one then
                                        click menu item lang_two
                                   else
                                        click menu item lang_one
                                   end if
                              end tell
                         end tell
                    end tell
                    click (the first button whose subrole is "AXCloseButton")
               end tell
          else
               display dialog error_message with icon stop
          end if
     end tell
end tell

on get_front_app()
     tell application "System Events"
          keystroke "h" using command down
          delay 0.5 --need to adjust for your machine
          set appname to name of (first process whose frontmost is true) as string
     end tell
     return appname
end get_front_app

-------------------------
[This script was automatically tagged for color coded syntax by Convert Script to Markup Code]

Ho provato a cambiare ovviamente "Spelling" in "Ortografia" e variare le combinazioni di lingue nello script e lingua corrente nella finestrella dell'ortografia ma niente. Al massimo ottengo che venga attivata l'applicazione più avanti, che si apra la finestrella dell'ortografia e che venga cliccato il menù a tendina della scelta della lingua. A quel punto ScriptEditor si lamenta e dice: "Errore AppleScript - System Events ha trovato un errore: NSReceiverEvaluationScriptError: 4".

Come spesso succede, sento di essere vicino alla Luce ma non so da che parte sia... Personalmente devo dire che mi puzza soprattutto la dichiarazione
CITAZIONE
property name_of_menu : "OtherViews" --change to be as given in your language
ma non so in cosa cambiarla.

Idee? Far andare questo script sarebbe la vera soluzione elegante! Altro che brutalizzare il contenuto di pacchetti di sistema...

Saluti,

Giulio
Go to the top of the page
 
+Quote Post
poweruser
messaggio 24 Mar 2008, 18:43
Messaggio #14


MacInATopic
Gruppo icone

Gruppo: Root Admin
Messaggi: 24.319
Iscritto il: 27-July 03
Da: Maglie (LE)
Utente Nr.: 440



Da un veloce controllo, quel menu in italiano non ha un nome.
Per ispezionare gli elementi dell'interfaccia grafica, puoi usare l'utility Accessibility Inspector inclusa nei DevTool.

Ciao
Paolo


--------------------
Paolo Portaluri

guru, n: A computer owner who can read the manual.
Go to the top of the page
 
+Quote Post
kato
messaggio 24 Mar 2008, 19:24
Messaggio #15


Level 4/11
****

Gruppo: Forum User +
Messaggi: 381
Iscritto il: 17-September 07
Da: Roma (in teoria), quasi Varese (in pratica)
Utente Nr.: 8.750



CITAZIONE(poweruser @ 24 Mar 2008, 17:43) *
Da un veloce controllo, quel menu in italiano non ha un nome.
Lo pensavo anche io ma avevo pure visto che lo script, tale e quale come è, non funziona nemmeno impostando il sistema in inglese: stesso errore e stesso blocco alla riga dove dice "click menu item lang_two" (o lang_one)... Altre idee?

Altrimenti mi era appunto venuto in mente di usare l'applicazione per vedere "come si chiamano le cose" ma cercavo di evitare per mia inesperienza nel campo.

Saluti,

Giulio
Go to the top of the page
 
+Quote Post
poweruser
messaggio 24 Mar 2008, 20:24
Messaggio #16


MacInATopic
Gruppo icone

Gruppo: Root Admin
Messaggi: 24.319
Iscritto il: 27-July 03
Da: Maglie (LE)
Utente Nr.: 440



Per farlo andare su Leopard occorre rimuovere il blocco
CODICE
tell group 1
e cambiare
CODICE
tell menu name_of_menu
in
CODICE
tell menu 1

Ciao
Paolo


--------------------
Paolo Portaluri

guru, n: A computer owner who can read the manual.
Go to the top of the page
 
+Quote Post
kato
messaggio 24 Mar 2008, 21:07
Messaggio #17


Level 4/11
****

Gruppo: Forum User +
Messaggi: 381
Iscritto il: 17-September 07
Da: Roma (in teoria), quasi Varese (in pratica)
Utente Nr.: 8.750



CITAZIONE(poweruser @ 24 Mar 2008, 19:24) *
Per farlo andare su Leopard...
Perfetto. Sono ancora su Tiger ma ho visto che basta modificare "tell menu name_of_menu" in "tell menu 1" perché lo script funzioni! A questo punto lo posso semplicemente mettere tra gli scripts utente (già fatto) o creare scripts ad hoc per la modifica in una sola direzione.

GRAZIE,

Giulio
Go to the top of the page
 
+Quote Post