[libvoikko] VoikkoGrammarError and voikkoGetGrammarErrorShortDescription
Harri Pitkänen
hatapitk at iki.fi
Mon Nov 4 18:14:06 EET 2013
On Monday 04 November 2013 15:20:36 Francis Tyers wrote:
> At the moment VoikkoGrammarError is typedeffed as voikko_grammar_error.
>
> I would like to add 'char *title' to voikko_grammar_error, would this be
> ok ?
The exact layout of voikko_grammar_error is visible to client code through
deprecated API and thus it cannot be changed. But you can change
VoikkoGrammarError:
typedef struct {
voikko_grammar_error legacyError;
char * title;
GrammarChecker * checker;
} VoikkoGrammarError;
(Actually VoikkoGrammarError could just as well be turned into a class.)
You need the reference to the grammar checker that created the error so that
in voikkoGetGrammarErrorShortDescription you can do something like
error->checker->translateErrorTitle(error->title, language);
> Also, what would the best way be to load the error descriptions from the
> XML file ? Keep a map<pair<string, string>, pair<string, string>> in the
> CgGrammarChecker.hpp with pair<code, lang>, pair<title, description>,
> e.g.
>
> map< pair<"orth-prop", "en">, pair<"Capitalisation of proper nouns",
> "The proper noun "$1" should begin with a capital letter."> >
>
> Then pass this to the CgRuleEngine class via the constructor ?
Sounds reasonable.
> I would probably have to edit the DictionaryLoader too, to pass through
> the path to the errors.xml file.
I think the path could be derived directly from
dictionary.getGrammarBackend().getPath() which is something CgGrammarChecker
already has access to?
Harri
More information about the Libvoikko
mailing list