diff options
author | Andreas Baumann <abaumann@yahoo.com> | 2009-03-19 14:55:52 +0100 |
---|---|---|
committer | Andreas Baumann <abaumann@yahoo.com> | 2009-03-19 14:55:52 +0100 |
commit | ed6cc08ece97aa3ad840530385ca098967a8a8b4 (patch) | |
tree | 0527851eeca3c360ca0516308581ad73e06cd090 /docs | |
parent | 744b4fff6063209b5e348ffc59df398a37c2c004 (diff) | |
download | wolfbones-ed6cc08ece97aa3ad840530385ca098967a8a8b4.tar.gz wolfbones-ed6cc08ece97aa3ad840530385ca098967a8a8b4.tar.bz2 |
added documentation on how to tackle the gettext/MC problem for the logger
Diffstat (limited to 'docs')
-rw-r--r-- | docs/i18n/EventSourceGenerator | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/docs/i18n/EventSourceGenerator b/docs/i18n/EventSourceGenerator new file mode 100644 index 0000000..79e79b2 --- /dev/null +++ b/docs/i18n/EventSourceGenerator @@ -0,0 +1,40 @@ +Idea: +- the master is gettext, a logger and a set of category, message ids in a + header file +- produce an .mc file from it, which can be used in the event logger + application as message/category DLL +- maybe its awk/sed in the beginning + +Links: +- members.tripod.com/~ashimg/Parser.html +- cscope +- mcpp_lib + +we must find all wolf_log calls in a given set of source files (in this case +libwolf.dll), later we also need a merger for at least wolfmsg.mc and app.mc + +foreach call to wolf_log we get: +- wolf level: must be mapped to 'Severity' +- the category_id (is passed in ReportEvent directly, we don't need it to + generate the MC file, also the categories and their names are few and + change not too often, so we hard-code them) +- message_id (we need it here expanded) + - the Severity, the Facility and the message_id form the 'MessageId' +- _( ) format string or message: this is the msgid in gettext and gets + the English version in the MC file +- for each msgid we must search for the msgstr in the corresponding gettext + file and map it to the right language +- The 'SymbolicName' is tricky: we need the define from log/messages.h, + unexpanded + +1) Easy way to find all calls of wolf_log with macros correctly expanded +find . -name '*.c' -exec cat {} \; | mcpp -DLINUX + -DOS_MAJOR_VERSION=2 -DOS_MINOR_VERSION=6 -DENABLE_NLS=1 -I. -I +- /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include -I../include/wolf | grep +- / wolf_log\( + +2) The logger must map the messageid correcly (masks) + +3) Sort out the problems with message.dll installation and the registry in + the event source + |