From: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
Cc: Forum of ding/Gnus users <ding@ifi.uio.no>,
Ulrich Drepper <drepper@gnu.ai.mit.edu>
Subject: Re: Internationalization
Date: 12 Nov 1996 23:07:03 +0100 [thread overview]
Message-ID: <m2wwvrc6ig.fsf@proletcult.ifi.uio.no> (raw)
In-Reply-To: pinard@progiciels-bpi.ca's message of (unknown date)
Ok; so I'm kinda impatient. :-) Here's a patch to install the
gettext functions into Emacs. It defines five subrs, `get-text',
`{g,s}et-text-domain' and `{g,s}et-text-directory'. I think these
should all be renamed, and editfns.c is probably the wrong file for
these functions. `translate' would be better than `get-text', and
`get-translation-domain' (etc) would follow naturally.
Is this all it takes to use gettext? Kinda amazing.
*** editfns.c.~1~ Tue Aug 6 10:16:40 1996
--- editfns.c Tue Nov 12 22:54:02 1996
***************
*** 2447,2452 ****
--- 2447,2537 ----
}
\f
+
+ #define USE_GETTEXT
+ #include <libintl.h>
+
+ DEFUN ("get-text", Fget_text, Sget_text, 1, 1, "sTranslate string: ",
+ "Translate STRING using gettext.")
+ (string)
+ Lisp_Object string;
+ {
+ char *trans;
+ CHECK_STRING (string, 0);
+
+ #ifdef USE_GETTEXT
+ trans = gettext (XSTRING (string)->data);
+ return make_string (trans, strlen(trans));
+ #else
+ return string;
+ #endif
+
+ }
+
+ DEFUN ("set-text-domain", Fset_text_domain, Sset_text_domain, 1, 1, 0,
+ "Set the current translation domain to STRING.")
+ (string)
+ Lisp_Object string;
+ {
+ CHECK_STRING (string, 0);
+
+ #ifdef USE_GETTEXT
+ textdomain (XSTRING (string)->data);
+ return Qt;
+ #else
+ return Qnil;
+ #endif
+
+ }
+
+ DEFUN ("get-text-domain", Fget_text_domain, Sget_text_domain, 0, 0, 0,
+ "Return the current translation domain.")
+ ()
+ {
+ char *domain;
+ #ifdef USE_GETTEXT
+ domain = textdomain (NULL);
+ return make_string (domain, strlen (domain));
+ #else
+ return Qnil;
+ #endif
+
+ }
+
+ DEFUN ("set-text-directory", Fset_text_directory, Sset_text_directory, 1, 1, 0,
+ "Set the current translation directory to STRING.")
+ (string)
+ Lisp_Object string;
+ {
+ CHECK_STRING (string, 0);
+
+ #ifdef USE_GETTEXT
+ bindtextdomain (textdomain (NULL), XSTRING (string)->data);
+ return Qt;
+ #else
+ return Qnil;
+ #endif
+
+ }
+
+ DEFUN ("get-text-directory", Fget_text_directory, Sget_text_directory, 0, 0, 0,
+ "Return the current translation directory.")
+ ()
+ {
+ char *dir;
+ #ifdef USE_GETTEXT
+ if (dir = bindtextdomain (textdomain (NULL), NULL))
+ return make_string (dir, strlen (dir));
+ else
+ return Qnil;
+ #else
+ return Qnil;
+ #endif
+
+ }
+
+
+ \f
void
syms_of_editfns ()
{
***************
*** 2558,2561 ****
--- 2643,2652 ----
defsubr (&Snarrow_to_region);
defsubr (&Ssave_restriction);
defsubr (&Stranspose_regions);
+
+ defsubr (&Sget_text);
+ defsubr (&Sget_text_domain);
+ defsubr (&Sset_text_domain);
+ defsubr (&Sget_text_directory);
+ defsubr (&Sset_text_directory);
}
--
(domestic pets only, the antidote for overdose, milk.)
larsi@ifi.uio.no * Lars Ingebrigtsen
next prev parent reply other threads:[~1996-11-12 22:07 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-11-10 15:31 Internationalization Lars Magne Ingebrigtsen
1996-11-10 17:05 ` Internationalization Andy Eskilsson
1996-11-10 17:51 ` Internationalization Kai Grossjohann
1996-11-10 19:02 ` Internationalization David Kågedal
1996-11-11 6:27 ` Internationalization Steinar Bang
1996-11-11 15:20 ` Internationalization Lars Magne Ingebrigtsen
1996-11-11 0:25 ` Internationalization visigoth
1996-11-11 15:25 ` Internationalization Lars Magne Ingebrigtsen
1996-11-11 22:19 ` Internationalization David Moore
1996-11-12 22:45 ` Internationalization Lars Magne Ingebrigtsen
1996-11-11 12:14 ` Internationalization Robert Bihlmeyer
1996-11-11 12:50 ` Internationalization Per Abrahamsen
1996-11-11 15:14 ` Internationalization William Perry
1996-11-11 15:24 ` Internationalization Per Abrahamsen
1996-11-11 22:01 ` Internationalization François Pinard
1996-11-12 10:58 ` Internationalization Per Abrahamsen
1996-11-12 15:59 ` Internationalization François Pinard
1996-11-12 16:57 ` Internationalization Ulrich Drepper
[not found] ` <rjwwvqgxz1.fsf@babbage.dina.kvl.dk>
[not found] ` <x7ralyf6rx.fsf@myware.rz.uni-karlsruhe.de>
[not found] ` <rj3eydhwx5.fsf@babbage.dina.kvl.dk>
1996-11-14 12:28 ` Internationalization François Pinard
1996-11-12 22:07 ` Lars Magne Ingebrigtsen [this message]
1996-11-13 19:19 ` Internationalization Jan Vroonhof
1996-11-13 22:05 ` Internationalization William Perry
1996-11-14 19:27 ` Internationalization Ralph Schleicher
1996-11-12 20:12 ` Internationalization Jan Vroonhof
1996-11-11 21:35 ` Internationalization François Pinard
1996-11-12 1:57 ` Internationalization Ulrich Drepper
1996-11-12 19:56 ` Internationalization Lars Magne Ingebrigtsen
1996-11-12 22:40 ` Internationalization Ulrich Drepper
2002-10-20 21:21 ` Internationalization François Pinard
1996-11-17 22:59 ` Internationalization Ralph Schleicher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2wwvrc6ig.fsf@proletcult.ifi.uio.no \
--to=larsi@ifi.uio.no \
--cc=ding@ifi.uio.no \
--cc=drepper@gnu.ai.mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).