Jump to content
You must now use your email address to sign in [click for more info] ×

Spellchecking - LocalDictionary - Where are learned words stored?


Recommended Posts

The OSX help says that learned words are saved to the "LocalDictionary" file in the Spelling folder. Some words were saved there - but many were not. I checked - my newly learned words are now used correctly in the dictionary/spellchecking - but are not in the folder mentioned. Does Affinity have its own folder/file for this?

Link to comment
Share on other sites

2 hours ago, Eisbar said:

Does Affinity have its own folder/file for this?

Perhaps in your custom user library folder? There for instance the "autocorrect.propcol" is stored (for your custom entries in app preference -> autocorrect), together with a range of various user related app data or custom preferences.

36 minutes ago, Eisbar said:

what about two dictionarys?

What exactly do you ask for? – A text may contain multiple languages while a character / word / text style may have only 1 language assigned. (of course / luckily)

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Link to comment
Share on other sites

6 minutes ago, thomaso said:

What exactly do you ask for?

Apparently, so that each language has its "own" LocalDictionary - that is, a word learned and valid for Croatian was identified as wrong for German.

Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.4.0.2301
Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.

Link to comment
Share on other sites

24 minutes ago, Pšenda said:

a word learned and valid for Croatian was identified as wrong for German

Is this a result of your experience – or a guess what the OP possibly might mean?

If a word gets identified as wrong in a language though the word is not part of that language, then – I assume – the word did not got the correct language assigned in the layout.

Dictionaries containing several languages would not be useful since there exist various words that may exist in several languages, while some of them may have a different spelling in a certain language. (e.g.  disc / disk / disque )

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Link to comment
Share on other sites

53 minutes ago, thomaso said:

Is this a result of your experience – or a guess what the OP possibly might mean?

Yes and Yes.

 

53 minutes ago, thomaso said:

If a word gets identified as wrong in a language though the word is not part of that language, then – I assume – the word did not got the correct language assigned in the layout.

Words "have" been assigned the correct language, "are" part of the language, and yet identified as wrong - this is simply because the dictionary does not cover all the words of the given language (quite often specific and technical words).
This word which not found in the general dictionary will be added to the Local Dictionary, even though it is only valid for the Croatian language, so when using this word incorrectly in the German language, it will not be marked as wrong. Therefore, it would be useful if, during word learning, it could be specified whether the word is valid for all languages (for example, some abbreviation or label), or if the word is only valid for a given specific language, so it will again be marked as wrong in another language.

 

53 minutes ago, thomaso said:

Dictionaries containing several languages would not be useful since there exist various words that may exist in several languages, while some of them may have a different spelling in a certain language. (e.g.  disc / disk / disque )

Yes, and that's why no one is asking for it here either.

Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.4.0.2301
Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.

Link to comment
Share on other sites

If you learn a word on macOS with "Automatic by Language" then macOS will save learned words to the "LocalDictionary" file regardless of the language of the text you're spell checking, they're all mixed together. But if you change that Spelling option to a specific language, such as English Canada or German, then macOS will save learned words to a language-specific dictionary such as "en_CA" or "de" instead of to "LocalDictionary".

Affinity never uses "LocalDictionary" so any words you add to it in another macOS app with the "Automatic by Language" setting won't be added to a dictionary usable by Affinity. If you want macOS and Affinity to use the same dictionary file for learned words, you should change "Automatic by Language" to a specific language. You can do this in the Spelling dialog within an application, or you can change your global default through macOS System Settings. Click Spelling and Prediction > Input Sources (Edit) and change Spelling from "Automatic by Language" to a specific language.

Screenshot2023-11-01at12_04_35PM.thumb.png.dd10c8c9bf54a0be7bd91ca161d84c7d.png

Download a free manual for Publisher 2.4 from this forum - expanded 300-page PDF

My system: Affinity 2.4.2 for macOS Sonoma 14.4.1, MacBook Pro 14" (M1 Pro)

Link to comment
Share on other sites

2 hours ago, Pšenda said:

This word which not found in the general dictionary will be added to the Local Dictionary, even though it is only valid for the Croatian language, so when using this word incorrectly in the German language, it will not be marked as wrong. Therefore, it would be useful if, during word learning, it could be specified whether the word is valid for all languages (for example, some abbreviation or label), or if the word is only valid for a given specific language, so it will again be marked as wrong in another language.

In addition to @MikeTO's hint: Words added directly to the file ~/ Library / Spelling / "Local Dictionary" (via TextEdit / macOS) work in Affinity for every language, and they can get selected as "Unlearn Spelling" from any language in Affinity. Whereas words in the custom dictionary file "de" (my system language) work in Affinity only for this language ("Deutsch"). Thus it might be more efficient or reliable to edit these specific dictionary files manually / outside Affinity.

spellinguserlibrary.jpg.f81b4def43a2a00391fa966667fb79d4.jpg

spellingEnglish.thumb.jpg.882b4e2ada6060a3781af44429bcb4d7.jpg

spellingFrench.thumb.jpg.05ad4041877e2b8a0fd6751af7c4410f.jpg

spellingGerman.thumb.jpg.b3c7b27461daee1570c3318e4b76eebd.jpg

spellingunlearnEnglish.jpg.87f50ebdeeb18b3bb05c71b19304e5d5.jpg

spellingunlearnFrench.jpg.b432f1311ed0c2aab88104b7f881c27c.jpg

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Link to comment
Share on other sites

1 hour ago, MikeTO said:

If you learn a word on macOS

Unfortunately, on Windows, after learning a word using Learn Spelling, the word is marked as correct in all languages.

image.png.67410e21ca315a8b469e1dc4792df6fd.png

image.png.e843c6fdb8a457dd4544a674a13c8050.png

Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.4.0.2301
Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.

Link to comment
Share on other sites

1 hour ago, Pšenda said:

Unfortunately, on Windows, after learning a word using Learn Spelling, the word is marked as correct in all languages.

That's not what I see. I just Learned a word in a paragraph marked German, then used the same word in a paragraph marked English (US), and it was still flagged as misspelled in the English paragraph.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1

Link to comment
Share on other sites

And on Windows, all the Learned words are stored in dictionary.propcol, but as my post above mentions, the language must be stored with the word.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1

Link to comment
Share on other sites

Many thanks for your help. I read and tried everything!
But - at least for me - the problem is not solved.
Interestingly, I have 3 files with user-specific dictionaries.
1. LocalDictionray
2. it (I don't have an Italian dictionary installed... Only Croatian - which has the abbreviation hr.
3. de (for German)

Some German and Croatian words are stored in LocalDictionary. As @MikeTO explained, this can be explained with the corresponding setting in the default settings. But newly added words are no longer saved there... see below!

The de dictionary only contains German words - that is also understandable. But newly added words are no longer saved there... see below!

Croatian words are included in the it dictionary. Also understandable - the file is probably just named incorrectly and should actually be called hr... But the same applies here: newly added words are no longer saved there... see below!

What's strange now: When I learn new words in AffPub - they don't appear in any of the three files - regardless of whether I set Croatian or German in the system settings. So there must be another file where Aff saves...
Or am I misunderstanding something?

Link to comment
Share on other sites

59 minutes ago, Eisbar said:

What's strange now: When I learn new words in AffPub - they don't appear in any of the three files -

You might see if you have a dictionary.propcol file, and check if its date/timestamp changes after you Learn a new word. I haven't checked on my Mac yet.

If you're using V2, this FAQ will help you locate the file: 

 

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1

Link to comment
Share on other sites

16 hours ago, walt.farrell said:

That's not what I see.

I tried it again and it works fine. Apparently I copied the word yesterday including the language settings.

 

16 hours ago, walt.farrell said:

I just Learned a word in a paragraph marked German, then used the same word in a paragraph marked English (US), and it was still flagged as misspelled in the English paragraph.

Here, in some cases, it would be useful to be able to specify that a given word is correct for all languages. Thus, the word must be learned repeatedly in all the languages used.

Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.4.0.2301
Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.

Link to comment
Share on other sites

6 minutes ago, Pšenda said:

Here, in some cases, it would be useful to be able to specify that a given word is correct for all languages. Thus, the word must be learned repeatedly in all the languages used.

Or, just use a Character Text Style that specifies None for the Spelling Language when you need that word.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1

Link to comment
Share on other sites

1 hour ago, walt.farrell said:

Or, just use a Character Text Style that specifies None for the Spelling Language when you need that word.

But I would have to do that every time I use a word of this type - even a hundred times in one document, select it and mark it as None (no spell check). This completely defeats the purpose and benefit of checking spelling and adding new/unfamiliar words to your own dictionaries. It's already easier to add it repeatedly for each language used, although it's unnecessary work that the application could/should make easier.

Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.4.0.2301
Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.

Link to comment
Share on other sites

11 minutes ago, Pšenda said:

But I would have to do that every time I use a word of this type - even a hundred times in one document, select it and mark it as None (no spell check). This completely defeats the purpose and benefit of checking spelling and adding new/unfamiliar words to your own dictionaries. It's already easier to add it repeatedly for each language used, although it's unnecessary work that the application could/should make easier.

True. Or, in Publisher, you could use Find & Replace to set that Character Text Style to all occurrences.

If you have need of that function, a Feature Request would be appropriate, of course.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1

Link to comment
Share on other sites

3 hours ago, Pšenda said:

it would be useful to be able to specify that a given word is correct for all languages.

Definitely! – Do you know how dictionaries get managed in/by Windows?

As shown in the screenshots from two posts above, there are ways in macOS to influence whether a custom dictionary entry is used for a specific or all languages: with an appropriate system setting and/or by directly editing these custom dictionary files with a Text editor.

Is it possible for a similar workflow to work on Windows, too – apart from the current Affinity options?

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Link to comment
Share on other sites

1 hour ago, thomaso said:

Is it possible for a similar workflow to work on Windows, too – apart from the current Affinity options?

Windows does not provide Spelling functions at the system level, as macOS does, so no. Each application would provide their own unique handling.

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1

Link to comment
Share on other sites

Unfortunately, I can't get any further... I reinstalled the Croatian dictionary in the spelling folder and deleted LocalDictionary and the user-specific croatian and german dictionary. So I hoped that these files would be created anew.

And yes - the German user-specific spelling file has been newly created. I can add new words - and these words are also available in Pages.

I can continue to learn Croatian words in Affinity, which are then available in Pages. So far - so good. But where is the LocalDictionary file and where is the Croatian user-specific spelling saved?

After learning new words, I could not find the corresponding files via the timestamp.

I would really appreciate your help! Thank you!!

Link to comment
Share on other sites

1 hour ago, Eisbar said:

Unfortunately, I can't get any further... I reinstalled the Croatian dictionary in the spelling folder and deleted LocalDictionary and the user-specific croatian and german dictionary. So I hoped that these files would be created anew.

And yes - the German user-specific spelling file has been newly created. I can add new words - and these words are also available in Pages.

I can continue to learn Croatian words in Affinity, which are then available in Pages. So far - so good. But where is the LocalDictionary file and where is the Croatian user-specific spelling saved?

After learning new words, I could not find the corresponding files via the timestamp.

I would really appreciate your help! Thank you!!

A LocalDictionary file will be created or appended to only if when you check spelling with the "Automatic by Language" feature in another macOS application (not in Affinity). I don't have such a file because I only check spelling with specific spelling languages.

For Croatian, you should download these files and store them as:

  • ~/Library/Spelling/hr_HR.aff
  • ~/Library/Spelling/hr_HR.dic
  • ~/Library/Spelling/hr_HR/hyph_hr_HR.dic

For German, it depends on whether you want German for Germany, Austria, or Switzerland. For Germany it's already installed, don't install anything and you'll be okay. For Austria or Switzerland, you would install:

German Austria:

  • ~/Library/Spelling/de_AT_frami.aff *** but remove _frami from the filename!
  • ~/Library/Spelling/de_AT_frami.dic *** but remove _frami from the filename!
  • ~/Library/Spelling/de_AT/hyph_de_AT.dic

German Switzerland:

  • ~/Library/Spelling/de_CH_frami.aff *** but remove _frami from the filename!
  • ~/Library/Spelling/de_CH_frami.dic *** but remove _frami from the filename!
  • ~/Library/Spelling/de_AT/hyph_de_CH.dic

Good luck.

 

Download a free manual for Publisher 2.4 from this forum - expanded 300-page PDF

My system: Affinity 2.4.2 for macOS Sonoma 14.4.1, MacBook Pro 14" (M1 Pro)

Link to comment
Share on other sites

Hey @MikeTO,following your instructions, I now have the LocalDictionary. Thanks!

I have not installed the German dictionary - because I use the one built in from OSX.

However, there is still the mystery where the Croatian user-specific spelling is stored. See attached picture! I can continue to add words to the Croatian dictionary... but where is the dictionary?

Bildschirmfoto 2023-11-04 um 17.23.02.jpg

Link to comment
Share on other sites

1 hour ago, Eisbar said:

However, there is still the mystery where the Croatian user-specific spelling is stored. See attached picture! I can continue to add words to the Croatian dictionary... but where is the dictionary?

If you add words in Croatian, macOS will create a new hr_HR file (without an extension) in the same folder as hr_HR.dic and .aff. That is your custom user dictionary for Croatian.

Download a free manual for Publisher 2.4 from this forum - expanded 300-page PDF

My system: Affinity 2.4.2 for macOS Sonoma 14.4.1, MacBook Pro 14" (M1 Pro)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.