Gnus development mailing list
 help / color / mirror / Atom feed
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


  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).