Tags:
create new tag
, view all tags
gettext is a program (libary?) that is (often?) used in programs that need to deal with text strings, especially when a program is being internationalized. In the case of internationalization (i18n), the "strings" of text on things like menus, legends on controls, etc. must be changed (dynamically) to use words in the selected user language. gettext facilitates this.

In additition to internationalization, there is a process called localization that is sometimes applied to a program. Just by their names, I think of the two processes as being almost the same, but there is some distinction between them among those in the know. (I don't know the distinction -- I'm pretty sure I saw it described in some mail list thread, possibly a recent thread on the abiword-dev list.)

IIUC, .po files are used by gettext, perhaps to store the translated strings for a particular language.

See:

Contents

Notes

Resources

Recommended

I've read these, possibly not thoroughly or completely, but enough to believe that they are very useful generally for the subject of this page:
  • One or more threads on abiword-dev dealing with internationalization. Here are the headers for two particular posts (ToDo: get a URL from the archives) (some of these are related to threads on the use of UniCode):
    • "RFP: externalize all locale-specific information", Mon, 29 Apr 2002 14:36:37 -0700, Paul Rohr <paul@abisource.com>
    • "Re: use gnu gettext", Mon, 29 Apr 2002 18:01:52 +0100 (BST), Andrew Dunbar <hippietrail@yahoo.com>
  • How to use gettext in GUI programs -- this resource was mentioned on the abiword-dev thread listed as the previous resource. The thread (and this resource) mention a few potential problems with gettext, all related to the idea that (IIUC) getthread seems to use the strings stored in one language as the key to the strings in other languages, thus leading to problems like the following:
    • (I'm almost certain I have this reversed, but I'm leaving it this way until I get it straight.) IIUC, the tools used by translaters to translate the strings into another language refer to strings in the base language by an index number or such, thus making the process at least a little cumbersome for a translater. If he wants to see the string in the base language (and in context?), he must use some other tool/process/instantiation to look up the string in the base language.
    • When a word(/string) has more than one meaning in the base language, and is used with two different meanings in a program, in gettext it can be difficult to recognize and provide appropriate different translations for the strings with the different meanings. (Again, I may be confused about whether what I say her applies to gettext, or the mechanism currently used in AbiWord for the translation of strings for internationalization purposes.)
    • gettext (or the alternative currently used in AbiWord?) takes longer to get a translated string because it must do a search based lookup instead a "database style" lookup using an index. (IIUC, the people discussing this on abiword-dev think that the extra work is negligible.) (See this post in particular: "Re: RFP: externalize all locale-specific information", Mon, 29 Apr 2002 15:37:26 -0700, from Paul Rohr)

Recommended for Specific Needs

I've read parts (or all) of these, possibly not thoroughly or completely, but enough to believe that they are useful for specific items related to the subject of this page:

Skimmed or Visited Briefly

I have not read these thoroughly, and certainly not enough to list them as recommended, but I list them here as they may be useful, and for further evaluation in the future:

Recommended by Others

These links have been recommended to me, or I've found reference to them, but haven't read them (possibly haven't even visited them):


Contributors

  • RandyKramer - 30 Apr 2002
  • <If you edit this page, add your name here, move this to the next line>

Rants

Aside: Writing this particular topic (and some others I've written recently (or in the past), or plan to write soon) make me realize I should touch (again) on something like the following as a "diclaimer" about WikiLearn. I'm going to start writing it here and then decide where to move it to (just using indentation (blockquotes) to set the following apart from the rest of the topic.

There are certainly stages of learning or knowledge. For example, I now know that there are things like the following:
  • A process called internationalization that deals with providing menu choices and so forth in the native (preferred) language of the user of a program.
  • At least one program (library?) (gettext) developed for the purpose of supporting this process (or perhaps developed for some other purpose, but used often for this purpose)
  • At least one alternative approach to internationalization -- the one currently used by AbiWord
  • These two approaches are different enough that there are pros and cons to each approach (some of the pros and cons are listed further down the page, but at this point I might have them mixed up as to which program takes which approach
  • A process called localization which is easily confused with internationalization, but which, at least in some circles, apparently, has a distinctly different meaning or nuance.

I do not know enough of the details about gettext and the alternative to be sure that this topic is absolutely correct (and I certainly know that it is not complete).

So, the question arises, should this page even (exist | be started)?

I can easily imagine people being confused or frustrated after reading this page on WikiLearn, and I can imagine the arguments that would be raised against "publishing" it in its current condition.

On the other hand, this very much fits my intent / needs for WikiLearn -- it records (some of) what I know about a topic, some of what I don't know about a topic, and provides a (scratchpad | learning tool) for me to gather additional knowledge about the topic. Thus to suit my needs, this topic in its very unfinished condition is appropriate to my needs (at this stage of my learning).

And, in part of what I consider the "Wiki way" it allows for others to collaborate in my learning experience -- anybody who reads this page and knows that I've confused something can edit this page and at a minimum, point out my error, or, more helpfully, "constructively" (can't think of the word I want to use -- see below) fix the page to be correct.

Now, to "protect" readers of this page (and other pages on WikiLearn) who might mistake my confused notes while learning something with authoritative notes by a knowledgable expert, I need to warn the reader. And, I guess I have the beginnings of a mechanism in place to do that, that being the PageStatus form and ratings at the bottom of more recent pages. Unfortunately, I don't have the concept "finished", and I haven't been trying to keep the rating for a particular page accurate. (The problems are related -- the two lowest ratings are "Scribbles" and "Collecting Notes". Even though the next two ratings are "First Draft" and "Believed Factual" which sort of implies that pages rated before "Believed Factual" might easily contain errors (as even the "Believed Factual" and higher rated pages might have errors), maybe I need some lower ratings, like "(Dazed and) Confused" or "Probable Errors". (And, this confusion is somewhat to be expected, as:

  • I (currently) use this single rating to reflect a number of things -- the factual accuracy of the page as well as the status of the writing -- I will rate a page "Scribbles" if I have not made much of an effort to write the page well as well as if the page might contain errors, etc. (and, it is the default rating, so if I don't give it any thought, it will say scribbles -- maybe I need "Unrated" and make it the default?).
  • <did I forget something, or is it covered in the previous bullet?>

And, on a related note, what if I never finish this page. In my way of thinking that's fine. There are at least two possibilities, either of them acceptable (to me):

  • I don't have enough interest or need for information about the topic -- the information I've collected so far satisfies my curiosity on the subject (at this point in time).
  • Someone else comes along, with more knowledge or interest, and fixes the page (either based on their current knowledge, or because their interest is piqued enough to dig deeper).

One possibility is that I will gain enough knowledge of the subject to make a more correct page, but out of laziness or neglect never bother to fix the page. I will describe this as unfortunate, not the preferred result, and not the expected result -- but, I may lose interest in this entire WikiLearn thing and that may be the result. I do know that I may neglect pages for long periods of time, but I do expect to come back to them, and at that point expect that I will improve them if I recognize the need for improvement and have the knowledge to do so.

So, was this digression worth writing, or is it just a repeat of things I've already said elsewhere? (It is a repeat of things I've had in my head -- I'm just not sure if I've got them down on paper, and if they are, whether this version adds some insight not provided by the other versions, etc. I'll put a pointer to this in AboutThesePages, but leave this here for the time being.

Page Ratings

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2002-04-30 - RandyKramer
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by PerlCopyright 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WikiLearn? WebBottomBar">Send feedback
See TWiki's New Look