all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Emacs i18n
@ 2021-07-17  9:27 Narendra Joshi
  2021-07-17  9:36 ` Thibaut Verron
  2021-07-17  9:53 ` Eli Zaretskii
  0 siblings, 2 replies; 238+ messages in thread
From: Narendra Joshi @ 2021-07-17  9:27 UTC (permalink / raw)
  To: Help Gnu Emacs mailing list

Hi everyone,

Recently I was asked if Emacs can be configured to use a different language
in its interface, e.g. menu bars, org mode agenda, days of the week, etc. I
tried finding out if it is possible but only found documentation on
language environments. Are there translations for Emacs in other languages?


Best regards,
Narendra


^ permalink raw reply	[flat|nested] 238+ messages in thread
* Re: Emacs i18n
@ 2019-03-20 11:59 Bruno Haible
  2019-03-20 16:36 ` Paul Eggert
                   ` (2 more replies)
  0 siblings, 3 replies; 238+ messages in thread
From: Bruno Haible @ 2019-03-20 11:59 UTC (permalink / raw)
  To: rms-mXXj517/zsQ; +Cc: bug-gettext-mXXj517/zsQ, emacs-devel-mXXj517/zsQ

Richard Stallman wrote in
<https://lists.gnu.org/archive/html/emacs-devel/2019-03/msg00328.html>:

> I can envision something like this:
>
>       "russian-nom:%d байт%| скопирован%|, %s, %s"
>
> where the 'russian-nom' operator would replace the two %| sequences
> with the appropriate declensional suffixes for the nominative case.

It is, of course, tempting to try to do morphological analysis in an
algorithmic way, based on our background as algorithm hackers. François
Pinard and others considered this, back in 1995 when they started i18n in GNU.

The reason this approach was not chosen is still valid today:

When you design a translation system, you have two personas:
  - the programmer,
  - the translator.

The translation system defines
  1) which information flows from the programmer to the translator,
     and in which format,
  2) which information flows back from the translator to the programmer,
     and in which format.

And it has to cope with the assumed skills of these personas:

  - The programmer, you can assume, can write and understand algorithms,
    but does not master the grammar of more than one language (usually).

  - The translator, you can assume, can translate sentences and knows
    about the different meanings of words in different context. But they
    cannot write nor understand algorithms. Many translators, in fact,
    don't see the grammar as a set of rules.

You may find some people on the intersection, such as a Russian hacker,
but it is hard to find people with both skills for languages such as
Vietnamese, Slovenian, or Basque. So, you better design the system in
such a way that no person is assumed to have both skills.

The challenge is to define these formats 1) and 2) in a way that

  * Programmers can do their job with their skills (i.e. don't need to
    understand Russian).

  * Translators can do their job with their skills (i.e. don't need to
    understand algorithms).

In the gettext approach (where 1) are POT files and 2) are PO files) we
added plural form handling, which is just a small morphological variation,
and it required a significant amount of documentation and education for
translators. I would say, it is on the limit what we can make translators
grok.

Now, when you give a translator a string

   "russian-nom:%d байт%| скопирован%|, %s, %s"

you need to think about the appropriate tooling that will make the
translator understand
  - what 'russian-nom' means,
  - what the '|' characters mean,
  - what the '%' characters mean.
Either the translator tool should somehow highlight these characters
and present on-line help, or it should present it as a sequence of
strings to translate:

  Rule: russian-nom
  "%d байт"
  " скопирован"
  ", %s, %s"

It is important to realize that each such case of morphological variation
requires translator tooling support. And unfortunately different such tools
exist, and every translator has their preferred one. For the plural form
handling alone, it took several years until the main tools had support for
it in their UI.

Bruno




^ permalink raw reply	[flat|nested] 238+ messages in thread
* bug#34520: delete-matching-lines should report how many lines it deleted
@ 2019-02-18  0:35 積丹尼 Dan Jacobson
  2019-02-27 21:36 ` Juri Linkov
  0 siblings, 1 reply; 238+ messages in thread
From: 積丹尼 Dan Jacobson @ 2019-02-18  0:35 UTC (permalink / raw)
  To: 34520

delete-matching-lines is an alias for ‘flush-lines’ in ‘replace.el’.

It works great... or does it? Can't often tell. That's because well,
if there are matching lines off the screen, you won't really know, so
you have to go down there to have a look... and well, need eagle eyes
often too depending on the pattern and how many similar lines there
still are.

Got an idea!: Simply keep a count of how many lines were deleted, and
report that in the minibuffer, if using interactively.

What if there were no matching lines?
Then say
Deleted 0 matching lines.
Or beep "No matching lines!"

Try this with matching lines all below the visible part of the buffer:
C-x h [mark-whole-buffer]
M-x delete-matching-lines zzzzz

See the feeling (felt nothing, did it work in the first place one wonders?)





^ permalink raw reply	[flat|nested] 238+ messages in thread

end of thread, other threads:[~2021-07-27 20:52 UTC | newest]

Thread overview: 238+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-17  9:27 Emacs i18n Narendra Joshi
2021-07-17  9:36 ` Thibaut Verron
2021-07-17  9:53 ` Eli Zaretskii
2021-07-17 13:32   ` mrf
2021-07-17 14:01     ` Eli Zaretskii
2021-07-17 20:00       ` Alexandre Garreau
2021-07-17 20:57         ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-17 22:06           ` Jean-Christophe Helary
2021-07-17 22:55             ` Alexandre Garreau
2021-07-18  2:26               ` Jean-Christophe Helary
2021-07-19  1:53                 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-18  6:47               ` Eli Zaretskii
2021-07-19  1:52               ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-19  1:51             ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-19  5:28               ` Thibaut Verron
2021-07-21  5:24                 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21  6:32                   ` Alexandre Garreau
2021-07-21  9:45                     ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 10:16                       ` Christopher Dimech
2021-07-21 12:08                         ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 12:36                           ` Alexandre Garreau
2021-07-21  8:28                   ` Christopher Dimech
2021-07-21  8:39                     ` tomas
2021-07-21  9:18                       ` Christopher Dimech
2021-07-21 10:52                         ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 11:53                           ` Christopher Dimech
2021-07-21 12:56                     ` Jean Louis
2021-07-21 13:23                       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 13:39                         ` Thibaut Verron
2021-07-21 14:05                           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 14:47                             ` Thibaut Verron
2021-07-21 17:55                               ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 18:15                                 ` Thibaut Verron
2021-07-21 18:26                                   ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 18:27                                   ` Christopher Dimech
2021-07-21 18:42                                     ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 19:06                                       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 19:40                                     ` Stefan Monnier via Users list for the GNU Emacs text editor
2021-07-21 20:49                                       ` Christopher Dimech
2021-07-21 21:44                                         ` Stefan Monnier via Users list for the GNU Emacs text editor
2021-07-21 21:58                                           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 22:55                                             ` Stefan Monnier via Users list for the GNU Emacs text editor
2021-07-22  7:05                                               ` Christopher Dimech
2021-07-22  8:11                                                 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-22  8:16                                                   ` tomas
2021-07-22  9:24                                                   ` Christopher Dimech
2021-07-22  5:49                                           ` Eli Zaretskii
2021-07-22 10:04                                           ` Christopher Dimech
2021-07-21 21:57                                       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-22  7:09                                         ` tomas
2021-07-22  8:17                                           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-22  9:18                                             ` lisa-asket
2021-07-22  3:48                                       ` [External] : " Drew Adams
2021-07-22  4:08                                         ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-22  7:10                                           ` tomas
2021-07-21 14:22                       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 17:02                       ` Christopher Dimech
2021-07-21 17:49                         ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-19 11:43               ` Alexandre Garreau
2021-07-21  6:11                 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21  7:02                   ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21  8:43                     ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 10:04                       ` Christopher Dimech
2021-07-21 10:14                         ` tomas
2021-07-21 10:34                         ` Alexandre Garreau
2021-07-21 11:16                           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 13:01                       ` Jean Louis
2021-07-21 13:51                         ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-22  8:15                         ` Alexandre Garreau
2021-07-22 17:32                       ` Yuri Khan
2021-07-22 18:02                         ` Alexandre Garreau
2021-07-21  7:31                   ` Alexandre Garreau
2021-07-21  7:47                     ` Thibaut Verron
2021-07-21  9:59                       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 10:28                         ` Christopher Dimech
2021-07-21 11:49                           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-21 12:44                             ` Christopher Dimech
2021-07-21 13:20                               ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-23  6:03           ` Jean Louis
2021-07-23  9:22             ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-27 20:52               ` Christopher Dimech
2021-07-17 22:03         ` Jean-Christophe Helary
2021-07-19  1:46           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-07-18  6:28         ` Eli Zaretskii
2021-07-17 20:06   ` Alexandre Garreau
2021-07-17 22:03     ` Jean-Christophe Helary
2021-07-18  6:30     ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2019-03-20 11:59 Bruno Haible
2019-03-20 16:36 ` Paul Eggert
2019-03-20 21:32 ` Juri Linkov
2019-03-21  2:14   ` Richard Stallman
     [not found]     ` <E1h6nE3-0000bt-SW-iW7gFb+/I3LZHJUXO5efmti2O/JbrIOy@public.gmane.org>
2019-03-21 21:45       ` Juri Linkov
2019-03-23  2:28         ` Richard Stallman
2019-03-23  7:55           ` Yuri Khan
     [not found]             ` <CAP_d_8WjQwAtcWCfkjXHtc-dqYyBfnaP0+9L8KK6eCp4r_ZsPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-03-23 17:50               ` Ineiev
2019-03-24  1:43               ` Richard Stallman
     [not found]           ` <E1h7WOF-0006T8-Be-iW7gFb+/I3LZHJUXO5efmti2O/JbrIOy@public.gmane.org>
2019-03-23 21:48             ` Juri Linkov
2019-03-24  1:47               ` Richard Stallman
2019-03-22 20:50       ` Chusslove Illich
     [not found]   ` <87h8bx5ijn.fsf-i9wRM+HIrmlRTR8OWt4JRw@public.gmane.org>
2019-03-21  2:55     ` Bruno Haible
2019-03-21  2:14 ` Richard Stallman
2019-03-22  1:26   ` Bruno Haible
2019-03-23  2:29     ` Richard Stallman
2019-02-18  0:35 bug#34520: delete-matching-lines should report how many lines it deleted 積丹尼 Dan Jacobson
2019-02-27 21:36 ` Juri Linkov
2019-02-28  3:34   ` Eli Zaretskii
2019-02-28 21:33     ` Juri Linkov
2019-03-01  3:59       ` Richard Stallman
2019-03-02 20:55         ` Juri Linkov
2019-03-03  3:04           ` Richard Stallman
2019-03-03 15:31             ` Emacs i18n (was: bug#34520: delete-matching-lines should report how many lines it deleted) Eli Zaretskii
2019-03-03 20:57               ` Emacs i18n Juri Linkov
2019-03-04  1:46                 ` Jean-Christophe Helary
2019-03-06  9:38                   ` Elias Mårtenson
2019-03-06 11:23                     ` Jean-Christophe Helary
2019-03-21 20:33                   ` Clément Pit-Claudel
2019-03-21 20:50                     ` Eli Zaretskii
2019-03-21 21:03                       ` Clément Pit-Claudel
2019-03-21 21:21                         ` Jean-Christophe Helary
2019-03-21 21:34                           ` Clément Pit-Claudel
2019-03-21 21:56                             ` Jean-Christophe Helary
2019-03-21 22:05                               ` Clément Pit-Claudel
2019-03-21 23:46                                 ` Jean-Christophe Helary
2019-03-22  8:22                         ` Eli Zaretskii
2019-03-22 16:10                           ` Clément Pit-Claudel
2019-03-22 16:35                             ` Eli Zaretskii
2019-03-22 17:16                               ` Clément Pit-Claudel
2019-03-22 17:35                                 ` Eli Zaretskii
2019-03-22 23:17                                   ` Clément Pit-Claudel
2019-03-21 21:17                     ` Jean-Christophe Helary
2019-03-21 21:59                     ` Juri Linkov
2019-03-22  8:22                       ` Eli Zaretskii
2019-03-23 21:50                         ` Juri Linkov
2019-03-24  3:36                           ` Eli Zaretskii
2019-03-24 21:55                             ` Juri Linkov
2019-03-24 23:31                               ` Jean-Christophe Helary
2019-03-25 21:32                                 ` Juri Linkov
2019-03-25 22:31                                   ` Paul Eggert
2019-03-26 16:11                                     ` Eli Zaretskii
2019-03-26 16:22                                       ` Stefan Monnier
2019-03-26 16:55                                         ` Eli Zaretskii
2019-03-26 22:35                                       ` Paul Eggert
2019-03-27  3:43                                         ` Eli Zaretskii
2019-03-28 14:56                                           ` Clément Pit-Claudel
2019-03-28 15:52                                             ` Eli Zaretskii
2019-03-27  2:34                                       ` Jean-Christophe Helary
2019-03-26 23:16                                     ` Juri Linkov
2019-03-27  1:35                                       ` Paul Eggert
2019-04-24  6:39                                       ` Jean-Christophe Helary
2019-04-24 20:18                                         ` Juri Linkov
2019-03-25  3:35                               ` Eli Zaretskii
2019-03-25  9:04                                 ` Jean-Christophe Helary
2019-03-25 21:02                                 ` Juri Linkov
2019-03-26  3:27                                   ` Eli Zaretskii
2019-03-27 23:06                                     ` Richard Stallman
2019-03-25 10:52                               ` Mattias Engdegård
2019-03-25 15:37                                 ` Eli Zaretskii
2019-03-25 21:11                                 ` Juri Linkov
2019-03-25 22:05                                   ` Mattias Engdegård
2019-03-27 21:22                                     ` Juri Linkov
2019-03-28 11:03                                       ` Mattias Engdegård
2019-03-04  3:27               ` Emacs i18n (was: bug#34520: delete-matching-lines should report how many lines it deleted) Richard Stallman
2019-03-04 16:36                 ` Eli Zaretskii
2019-03-04 18:37                   ` Paul Eggert
2019-03-04 19:07                     ` Eli Zaretskii
2019-03-05  2:09                       ` Paul Eggert
2019-03-05 21:58                         ` Emacs i18n Juri Linkov
2019-03-06  2:16                           ` Richard Stallman
2019-03-06 18:15                             ` Eli Zaretskii
2019-03-06 19:47                               ` Paul Eggert
2019-03-06 20:19                                 ` Eli Zaretskii
2019-03-07  1:52                                   ` Paul Eggert
2019-03-07  3:37                                     ` Eli Zaretskii
2019-03-08  4:07                                       ` Richard Stallman
2019-03-08  8:16                                         ` Eli Zaretskii
2019-03-08  4:07                                 ` Richard Stallman
2019-03-08  4:33                                   ` Elias Mårtenson
2019-03-08  8:22                                     ` Eli Zaretskii
2019-03-09  3:11                                     ` Richard Stallman
2019-03-09  7:54                                       ` Paul Eggert
2019-03-09 10:30                                         ` Eli Zaretskii
2019-03-10  3:05                                         ` Richard Stallman
2019-03-10  6:07                                           ` Paul Eggert
2019-03-11  1:20                                             ` Richard Stallman
2019-03-11  3:52                                               ` Paul Eggert
2019-03-12  3:31                                                 ` Richard Stallman
2019-03-12  3:31                                                 ` Richard Stallman
2019-03-10  8:45                                           ` Yuri Khan
2019-03-10  3:05                                         ` Richard Stallman
2019-03-10  6:14                                           ` Paul Eggert
2019-03-10  3:05                                         ` Richard Stallman
2019-03-07  3:42                               ` Richard Stallman
2019-03-07 14:46                                 ` Eli Zaretskii
2019-03-07 17:19                                   ` Paul Eggert
2019-03-07 18:24                                     ` martin rudalics
2019-03-07 18:44                                       ` Paul Eggert
2019-03-07 20:22                                     ` Eli Zaretskii
2019-03-07 22:25                                       ` Paul Eggert
2019-03-08  7:29                                         ` Eli Zaretskii
2019-03-08  4:18                                       ` Richard Stallman
2019-03-08  4:11                                   ` Richard Stallman
2019-03-06 17:30                           ` Eli Zaretskii
2019-03-06 18:09                           ` Eli Zaretskii
2019-03-06 19:39                             ` Paul Eggert
2019-03-06 19:49                               ` Eli Zaretskii
2019-03-07  1:33                                 ` Paul Eggert
2019-03-07  3:30                                   ` Eli Zaretskii
2019-03-07 16:06                                     ` Paul Eggert
2019-03-07  4:35                                   ` Jean-Christophe Helary
2019-03-07 16:04                                     ` Paul Eggert
2019-03-08  4:09                                     ` Richard Stallman
2019-03-11 21:48                                     ` Juri Linkov
2019-03-11 22:51                                       ` Paul Eggert
2019-03-12 21:45                                         ` Juri Linkov
2019-03-17 21:23                                           ` Juri Linkov
2019-03-18 21:20                                             ` Juri Linkov
2019-03-18 21:55                                               ` Paul Eggert
2019-03-19 20:40                                                 ` Juri Linkov
2019-03-11 23:59                                       ` Jean-Christophe Helary
2019-03-12  9:16                                       ` Michael Albinus
2019-03-06 19:47                             ` Paul Eggert
2019-03-06 20:21                               ` Eli Zaretskii
2019-03-07  1:43                                 ` Paul Eggert
2019-03-07  3:31                                   ` Eli Zaretskii
2019-03-07  3:44                             ` Richard Stallman
2019-03-07 14:48                               ` Eli Zaretskii
2019-03-07 22:29                                 ` Juri Linkov
2019-03-08  1:48                                   ` Jean-Christophe Helary
2019-03-08  8:08                                     ` Eli Zaretskii
2019-03-08 15:11                                       ` Jean-Christophe Helary
2019-03-08 20:11                                         ` Eli Zaretskii
2019-03-09  2:44                                           ` Jean-Christophe Helary
2019-03-09  6:40                                             ` Eli Zaretskii
2019-03-09  8:37                                               ` Michael Albinus
2019-03-09 10:45                                                 ` Eli Zaretskii
2019-03-09 11:27                                                   ` Michael Albinus
2019-03-09 17:23                                                     ` Eli Zaretskii
2019-03-09 19:55                                                       ` Paul Eggert
2019-03-09 20:07                                                         ` Eli Zaretskii
2019-03-09 20:47                                                           ` Paul Eggert
2019-03-09 20:04                                                       ` Michael Albinus
2019-03-09 20:14                                                         ` Eli Zaretskii
2019-03-09 19:22                                                     ` Paul Eggert
2019-03-09 19:39                                                       ` Eli Zaretskii
2019-03-09 20:48                                                         ` Paul Eggert
2019-03-09 20:08                                                       ` Michael Albinus
2019-03-10  3:09                                                       ` Richard Stallman
2019-03-10 13:38                                                         ` Eli Zaretskii
2019-03-08  7:37                                   ` Eli Zaretskii
2019-03-09  3:12                                     ` Richard Stallman
2019-03-08  4:11                                 ` Richard Stallman

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.