diff options
author | Frederic Culot <calcurse@culot.org> | 2006-07-31 21:00:02 +0000 |
---|---|---|
committer | Frederic Culot <calcurse@culot.org> | 2006-07-31 21:00:02 +0000 |
commit | ac36e94341ca73d581f0df39f1c7bbf2138b2845 (patch) | |
tree | 47de561cd962ff8f47f6d811109907f15b9ff989 /doc/manual_en.html | |
download | calcurse-ac36e94341ca73d581f0df39f1c7bbf2138b2845.tar.gz calcurse-ac36e94341ca73d581f0df39f1c7bbf2138b2845.zip |
Initial revision
Diffstat (limited to 'doc/manual_en.html')
-rwxr-xr-x | doc/manual_en.html | 783 |
1 files changed, 783 insertions, 0 deletions
diff --git a/doc/manual_en.html b/doc/manual_en.html new file mode 100755 index 0000000..3b1420b --- /dev/null +++ b/doc/manual_en.html @@ -0,0 +1,783 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!-- +/* + * $calcurse: manual_en.html,v 1.1 2006/07/31 21:00:04 culot Exp $ + * + * Calcurse - text-based organizer + * Copyright (c) 2004-2006 Frederic Culot + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Send your feedback or comments to : calcurse@culot.org + * Calcurse home page : http://culot.org/calcurse + * + */ +--> + +<html> +<head> +<title>CALCURSE documentation</title> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +</head> +<body bgcolor="white" text="black" link="blue" vlink="navy"> + +<h1><code>CALCURSE - text-based organizer</code></h1> +<p> +<p><hr><p> + +<h1>Table of Contents</h1> +<ul> +<li><a href="#intro">Introduction</a> +<li><a href="#overview">Overview</a> +<ul> +<li><a href="#overview_history">Creation history</a> +<li><a href="#overview_features">Important features</a> +</ul> +<li><a href="#install">Installation</a> +<ul> +<li><a href="#install_requirements">Requirements</a> +<ul> +<li><a href="#install_requirements_ncurses"><code>ncurses</code> library</a> +<li><a href="#install_requirements_gettext"><code>gettext</code> library</a> +</ul> +<li><a href="#install_process">Install process</a> +</ul> +<li><a href="#basics"><code>calcurse</code> basics</a> +<ul> +<li><a href="#basics_invocation">Invocation</a> +<ul> +<li><a href="#basics_invocation_commandline">Command line arguments</a> +<li><a href="#basics_invocation_variable">Environment variable for i18n</a> +</ul> +<li><a href="#basics_interface">User interface</a> +<ul> +<li><a href="#basics_interface_noninteractive">Non-interactive mode</a> +<li><a href="#basics_interface_interactive">Interactive mode</a> +</ul> +<li><a href="#basics_files"><code>calcurse</code> files</a> +<li><a href="#basics_help">Online help</a> +</ul> +<li><a href="#options">Options</a> +<ul> +<li><a href="#options_general">General options</a> +<li><a href="#options_colors">Color themes</a> +<li><a href="#options_layout">Layout configuration</a> +</ul> +<li><a href="#known_bugs">Known bugs</a> +<li><a href="#bugs">Reporting bugs and feedback</a> +<li><a href="#contribute">How to contribute?</a> +<ul> +<li><a href="#contribute_documentation">Translating documentation</a> +<li><a href="#contribute_i18n"><code>calcurse</code> i18n</a> +<ul> +<li><a href="#contribute_i18n_overview">Overview</a> +<li><a href="#contribute_i18n_translator">Translator tasks</a> +<li><a href="#contribute_i18n_po-files">po-files</a> +</ul> +</ul> +<li><a href="#links">Links</a> +<ul> +<li><a href="#links_homepage"><code>calcurse</code> homepage</a> +<li><a href="#links_list"><code>calcurse</code> announce list</a> +</ul> +<li><a href="#thanks">Thanks</a> +</ul> +<p><hr><p> + + +<a name="intro"></a><h1>Introduction</a></h1> +<p> + <code>calcurse</code> is a text-based personal organizer + which helps keeping track of events and everyday tasks. + It contains a calendar, a 'todo' list, and puts your + appointments in order. The user interface is configurable, + and one can choose between different color schemes and + layouts. All of the commands are documented within an + online help system. + + +<a name="overview"></a><h1>Overview</h1> +<a name="overview_history"></a><h2>Creation history</h2> +<p> + I started thinking about this project when I was finishing + my Ph.D. in Astrophysics... It started to be a little hard + to organize myself, and I really needed a good tool to help + me in that difficult task ;)<br> + I like programs which use Text User Interfaces, because they + are simple, fast, portable and efficient, so I thought about + working on coding a simple calendar using such an interface. + Moreover, I wanted to go on learning the <code>C</code> + language, which I only used for a while during my undergraduate + studies. So I thought that would be the good project to start + in order to get organized and to learn about a few + <code>C</code> things ! + Unfortunately, I finished my Ph.D. before finishing + <code>calcurse</code>, + but anyway, I still wanted to work on it, hoping it would + be helpful to other people. So here it is...<br> + <br> + But why 'calcurse' anyway ? Well, it is simply the + concatenation of 'CALendar' and 'nCURSEs', the name of the + library used to build the user interface. + + +<a name="overview_features"></a><h2>Important features</h2> +<p> + <code>Calcurse</code> is multi-platform and intended to be + lightweight, fast and reliable. It is to be used inside a + console or terminal, locally or on a distant machine within + an ssh (or similar) connection. <br> + <code>Calcurse</code> can be run in two different modes : + interactive or non-interactive mode. The first mode allows + oneself to view its own personal organizer almost everywhere, + thanks to the text-based interface. + The second mode permits to easily build reminders just by adding + <code>calcurse</code> with appropriate command line arguments + inside a cron tab or within a shell init script.<br> + Moreover, <code>calcurse</code> was created with the end-user + in mind, and tends to be as friendly as possible. This means + a complete on-line help system, together with having all of + the possible actions displayed at any time inside a status bar. + The user interface is also configurable, and one can choose + between several color and layout combinations. + + +<a name="install"></a><h1>Installation</h1> +<a name="install_requirements"></a><h2>Requirements</h2> +<a name="install_requirements_ncurses"></a><h3><code>ncurses</code> library</h3> +<p> + <code>Calcurse</code> requires only a <code>C</code> compiler, such as + <code>cc</code> or <code>gcc</code>, and the <code>ncurses</code> + library. + It would be very surprising not to have a valid <code>ncurses</code> + library already installed on your computer, but if not, you can + find it at the following url :<br> + <pre> + http://ftp.gnu.org/pub/gnu/ncurses/ + </pre> + +<a name="install_requirements_gettext"></a><h3><code>gettext</code> library</h3> +<p> + <code>calcurse</code> supports internationalization + (<em>i18n</em> hereafter) through the <code>gettext</code> + utilities. This means <code>calcurse</code> can produce + multi-lingual messages if compiled with native language + support (i.e. <em>NLS</em>). However, <em>NLS</em> is + optionnal and if you do not want to have support for + multi-lingual messages, you can disable this feature. This is + done by giving the <code>--disable-nls</code> option to + <code>configure</code> (see section <a + href="#install_process">Install process</a>). <br> + To check if the <code>gettext</code> utilities are + installed on your system, you can search for the + <code>libintl.h</code> header file for instance: + <pre> + locate libintl.h + </pre> + If this header file is not found, then you can obtain the + <code>gettext</code> sources at the following url :<br> + <pre> + http://ftp.gnu.org/pub/gnu/gettext/ + </pre> + <u>Note:</u> Even if <code>libintl.h</code> is found on your + system, it can be wise to specify its location during the <a + href="#install_process">install process</a>, by using the + <code>--with-libintl-prefix</code> option with + <code>configure</code>. Indeed, the <code>configure</code> + could fail to locate this library if installed in an uncommon + place. + + +<a name="install_process"></a><h2>Install process</h2> +<p> + First you need to gunzip and untar the source archive: + <pre> + tar zxvf calcurse-1.4.tar.gz + </pre> + Once you meet the requirements and have extracted the archive, + the install process is quite simple, and follows the standard + three steps process: + <OL> + <li><code>./configure</code> + <li><code>make</code> + <li><code>make install</code> (may require root privilege) + </OL> + Use <code>./configure --help</code> to obtain a list of + possible options. + + +<a name="basics"></a><h1><code>calcurse</code> basics</h1> +<a name="basics_invocation"></a><h2>Invocation</h2> +<a name="basics_invocation_commandline"></a><h3>Command line arguments</h3> +<p> + <code>calcurse</code> takes the following options from the + command line: + + <dl compact> + <dt><code>-a</code> + <dd> + Print the appointments for the current day and exit.<br> + <u>Note:</u> the calendar from which to read the appointments + can be specified using the '-c' flag.<br> + <br> + <dt><code>-c</code> + <dd> + Specify the calendar file to use.<br> + The default calendar is <code>~/.calcurse/apts</code> + (see section <a href="#basics_files"><code>calcurse</code> files</a>).<br> + <br> + <dt><code>-d</code> + <dd> + Print the appointments for the given date or for the + given number of upcoming days, depending on the argument + format. Two possible formats are supported: + <ul> + <li>a date of the form 'mm/dd/yyyy'. + <li>a number 'n'. + </ul> + In the first case, the appointment list for the + specified date will be returned, while in the second + case the appointment list for the 'n' upcoming days + will be returned.<br> + As an example, typing <code>calcurse -d 3</code> + will display your appointments for today, tomorrow, + and the day after tomorrow.<br> + <u>Note:</u> as for the '-a' flag, the calendar from + which to read the appointments can be specified using + the '-c' flag.<br> + <br> + <dt><code>-h</code> + <dd> + Print a short help text describing the supported + command-line options, and exit.<br> + <br> + <dt><code>-t</code> + <dd> + Print the 'todo' list and exit.<br> + <br> + <dt><code>-v</code> + <dd> + Display <code>calcurse</code> version and exit. + </DL> + +<a name="basics_invocation_variable"></a><h3>Environment variable for i18n</h3> +<p> + <code>calcurse</code> can be compiled with native language + support (see <a + href="#install_requirements_gettext"><code>gettext</code> + library</a>). Thus, if you wish to have messages displayed + into your native language, first make sure it is available by + looking at the <code>po/LINGUAS</code> file. + This file indicates the set of available languages by showing + the two-letters corresponding code (for exemple, <em>fr</em> + stands for french). If you do not find your language, it + would be greatly appreciated if you could help translating + <code>calcurse</code> (see the <a href="#contribute">How to + contribute?</a> section).<br> + If your language is available, run + <code>calcurse</code> with the following command: + <pre> + LC_ALL=fr_FR calcurse + </pre> + where <em>fr_FR</em> is the locale name in this exemple, but + should be replaced by the locale corresponding to the desired + language. + +<a name="basics_interface"></a><h2>User interface</h2> +<a name="basics_interface_noninteractive"></a><h3>Non-interactive mode</h3> +<p> + When called with at least one of the following arguments:<br> + <code>-a</code>, <code>-d</code>, <code>-t</code>, + <code>-h</code>, <code>-v</code><br> + <code>calcurse</code> is started in non-interactive mode. + This means the desired information will be displayed, and + after that, <code>calcurse</code> simply quits and you are + driven back to the shell prompt.<br> + That way, one can add a line such as <code>'calcurse -ta'</code> + in its init config file to display at logon the list of tasks + and appointments scheduled for the current day. + + +<a name="basics_interface_interactive"></a><h3>Interactive mode</h3> +<p> + When called without any argument or only with the + <code>-c</code> option, <code>calcurse</code> is started in + interactive mode. In this mode, you are shown an interface + containing three different panels which you can browse using + the 'TAB' key, plus a status bar (see figure below). + <pre> + + appointment panel---. .---calendar panel + | | + v v + +------------------------------------++----------------------------+ + | Appointments || Calendar | + |------------------------------------||----------------------------| + | April 6, 2006 || April 2006 | + | ||Mon Tue Wed Thu Fri Sat Sun | + | || 1 2 | + | || 3 4 5 6 7 8 9 | + | || 10 11 12 13 14 15 16 | + | || 17 18 19 20 21 22 23 | + | || 24 25 26 27 28 29 30 | + | || | + | |+----------------------------+ + | |+----------------------------+ + | || ToDo | todo + | ||----------------------------| panel + | || | | + | || | | + | || |<--. + | || | + | || | + | || | + +------------------------------------++----------------------------+ + | ? Help R Redraw H/L -/+1 Day G GoTo C Config | + | Q Quit S Save J/K -/+1 Week Tab Chg View |<-. + +------------------------------------------------------------------+ | + | + status bar + + </pre> + The first panel represents a calendar which allows to highligth + a particular day, the second one contains the list of the events + and appointments on that day, and the last one contains a list + of tasks to do but which are not assigned to any specific day. + In the bottom line of the screen there is a status bar, which + indicates the possible actions and the corresponding keystrokes. + + +<a name="basics_files"></a><h2><code>calcurse</code> files</h2> +<p> + The following structure is created in your <code>$HOME</code> + directory the first time <code>calcurse</code> is run : + <pre> + $HOME/.calcurse/ + |___conf + |___apts + |___todo + </pre> + The <em>conf</em> file contains the user configuration.<br> + The <em>apts</em> file contains all of the events and + user's appointments.<br> + The <em>todo</em> file contains the todo list. + + +<a name="basics_help"></a><h2>Online help</h2> +<p> + At any time, the built-in help system can be invoked by + pressing the '?' key. Once viewing the help screens, + informations on a specific command can be accessed by pressing + the keystroke corresponding to that command. + +<a name="options"></a><h1>Options</h1> +<p> + All of the <code>calcurse</code> parameters are configurable from the + Configuration menu available when pressing 'C'. You are then + driven to a submenu with three possible choices : pressing 'C' + again will lead you to the Color scheme configuration, + pressing 'L' allows you to choose the layout of the main + <code>calcurse</code> screen (in other words, where to put the three + different panels on screen), and last you can choose between + different general options by pressing 'G'. + +<a name="options_general"></a><h2>General options</h2> +<p> + These options control <code>calcurse</code> general behavior, + as described below: + <ul> + <li><code>auto_save</code> (default: <em>yes</em>)<br> + This option allows to automatically save the user's data + (if set to <em>yes</em>) when quitting.<br> + <em>warning:</em> No data will be automatically saved if + <code>auto_save</code> is set to <em>no</em>. This means + the user must press 'S' (for saving) in order to retrieve its + modifications.<br> + <br> + <li><code>confirm_quit</code> (default: <em>yes</em>)<br> + If set to <em>yes</em>, confirmation is required before + quitting, otherwise pressing 'Q' will cause <code>calcurse</code> + to quit without prompting for user confirmation.<br> + <br> + <li><code>confirm_delete</code> (default: <em>yes</em>)<br> + If this option is set to <em>yes</em>, pressing 'D' for + deleting an item (either a <em>todo</em>, <em>appointment</em>, + or <em>event</em>), will lead to a prompt asking for user + confirmation before removing the selected item from the list. + Otherwise, no confirmation will be needed before deleting the + item.<br> + <br> + <li><code>skip_system_dialogs</code> (default: <em>no</em>)<br> + Setting this option to <em>yes</em> will result in skipping the + system dialogs related to the saving and loading of data. + This can be useful to speed up the input/output processes.<br> + <br> + <li><code>skip_progress_bar</code> (default: <em>no</em>)<br> + If set to <em>yes</em>, this will cause the disappearing of the + progress bar which is usually shown when saving data to file. + If set to <em>no</em>, this bar will be displayed, together with + the name of the file being saved + (see section <a href="#basics_files"><code>calcurse</code> files</a>).<br> + <br> + <li><code>week_begins_on_monday</code> (default: <em>yes</em>)<br> + One can choose between Monday and Sunday as the first day of the + week. If the option <em>week_begins_on_monday</em> is set to + <em>yes</em>, Monday will be first in the calendar view. Else if + the option is set to <em>no</em>, then Sunday will be the first + day of the week. + </ul> + + +<a name="options_colors"></a><h2>Color themes</h2> +<p> + <code>calcurse</code> color theme is configurable and is to be + chosen by typing the number corresponding to the desired + theme. This color will then be applied to the panel borders, + to the titles, to the keystrokes, and to general informations + displayed inside status bar. A black and white theme is also + available, in order to support non-color terminals.<br> + <u>Notes:</u> + <ul> + <li> Depending on your terminal type and on the value of the + <code>$TERM</code> environnement variable, color could or + could not be supported. An error message will appear if you + try to change colors whereas your terminal does not support + this feature.<br> + <br> + <li> If you do know your terminal supports colors but could + not get <code>calcurse</code> to display them, try to set your + <code>$TERM</code> variable to another value (such as + <em>xterm-xfree86</em> for instance). + </ul> + + +<a name="options_layout"></a><h2>Layout configuration</h2> +<p> + The layout corresponds to the position of the panels inside + <code>calcurse</code> screen. The default layout makes the + calendar panel to be displayed on the top-right corner of the + terminal, the todo panel on the bottom-right corner, while the + appointment panel is displayed on the left hand-side of the + screen (see the figure in section + <a href="#basics_interface_interactive">Interactive mode</a> + for an exemple of the default layout).<br> + By choosing another layout in the configuration screen, user + can customize <code>calcurse</code> appearence to best suit + his needs by placing the different panels where needed. + + +<a name="known_bugs"></a><h1>Known bugs</h1> +<p> + Incorrect highlighting of items appear when using calcurse + black and white theme together with a <code>$TERM</code> + variable set to <em>xterm-color</em>. + To fix this bug, and as advised by Thomas E. Dickey + (<code>xterm</code> maintainer), <em>xterm-xfree86</em> + should be used instead of <em>xterm-color</em> to set + the <code>$TERM</code> variable:<br> + <blockquote> + "The xterm-color value for $TERM is a bad choice for XFree86 xterm + because it is commonly used for a terminfo entry which happens to + not support bce. Use the xterm-xfree86 entry which is distributed + with XFree86 xterm (or the similar one distributed with ncurses)." + </blockquote> + +<a name="bugs"></a><h1>Reporting bugs and feedback</h1> +<p> + Please send bug reports and feedback to: + <pre> + calcurse@culot.org + </pre> + or to the author: + <pre> + frederic@culot.org + </pre> + +<a name="contribute"></a><h1>How to contribute?</h1> +<p> + If you would like to contribute to the project, + you can first send your feedback on what you like or dislike, + and if there are features you miss in <code>calcurse</code>. + For now on, possible contributions concern the translation + of <code>calcurse</code> messages and documentation. <br> + <br> + <u>Note:</u> Any help in getting <code>calcurse</code> + internationalized would be very welcomed, but before + contributing, send a mail to + <code>calcurse-i18n@culot.org</code> to know if someone + already started the translation process into your language. + +<a name="contribute_documentation"></a><h2>Translating documentation</h2> +<p> + The <em>doc/</em> directory of the source package already + contains translated version of <code>calcurse</code> + manual. However, if the manual is not yet available into your + native language, it would be appreciated if you could help + translating it.<br> + To do so, just copy one of the existing manual + file to <code>manual_XX.html</code>, where <em>XX</em> + identifies your language. Then translate this newly created + file and send it to the author (see <a href="#bugs">Reporting + bugs and feeback</a>), so that it can be included in the + next <code>calcurse</code> release. + +<a name="contribute_i18n"></a><h2><code>calcurse</code> i18n</h2> +<p> + As already mentioned, <code>gettext</code> utilities are used + by <code>calcurse</code> to produce multi-lingual + messages. This section provides informations about how to + translate those messages into your native language. However, + this howto is deliberately incomplete, focusing on working + with <code>gettext</code> for <code>calcurse</code> + specifically. For more comprehensive informations or to grasp + the Big Picture of Native Language Support, you should refer + to the <code>GNU gettext</code> manual at: + <pre> + http://www.gnu.org/software/gettext/manual/ + </pre> + Basically, three different people get involved in the + translation chain: coders, language coordinator, and + translators. After a quick overview of how things work, the + translator tasks will be described hereafter. + + +<a name="contribute_i18n_overview"></a><h3>Overview</h3> +<p> + To be able to display texts in the native language of the + user, two steps are required: <em>internationalization</em> + (i18n) and <em>localization</em> (l10n). i18n is about making + <code>calcurse</code> support multiple languages. It is + performed by coders, who will mark translatable texts and + provide a way to display them translated at runtime. l10n is + about making the i18n'ed <code>calcurse</code> adapt to the + specific language of the user, ie translating the strings + previously marked by the developers, and setting the + environment correctly for <code>calcurse</code> to use the + result of this translation.<br> <br> + + So, translatable strings are first marked by the coders within + the <code>C</code> source files, then gathered in a template + file (<em>calcurse.pot</em> - the <em>pot</em> extension + meaning <em>portable object template</em>). The content of + this template file is then merged with the translation files + for each language (<em>fr.po</em> for french, for instance - + with <em>po</em> standing for <em>portable object</em>, ie + meant to be read and edited by humans). A given translation + team will take this file, translate its strings, and send it + back to the developers. At compilation time, a binary version + of this file (for efficiency reasons) will be produced + (<em>fr.mo</em> - <em>mo</em> stands for <em>machine + object</em>, ie meant to be read by programs), and then + installed. Then <code>calcurse</code> will use this file at + runtime, translating the strings according to the locale + settings of the user. + + +<a name="contribute_i18n_translator"></a><h3>Translator tasks</h3> +<p> + Suppose someone wants to initiate the translation of a new + language. Here are the steps to follow: + <ul> + <li>First, find out what the locale name is. For instance, for + french, it is 'fr_FR', or simply 'fr'. This is the value the + user will have to put in his <code>LC_ALL</code> environment + variable for software to be translated (see <a + href="#basics_invocation_variable">Environment variable for + i18n</a>).<br> + <br> + <li>Then, go into the <em>po/</em> directory, and create a new po-file + from the template file using the following command: + <pre> + 'msginit -i calcurse.pot -o fr.po -l fr --no-translator' + </pre> + If you do not have <code>msginit</code> installed on your + system, simply copy the <em>calcurse.pot</em> file to + <em>fr.po</em> and edit the header by hand.<br> + Now, having this <em>fr.po</em> file, the translator is ready + to begin. + </ul> + + +<a name="contribute_i18n_po-files"></a><h3>po-files</h3> +<p> + The format of the po-files is quite simple. Indeed, po-files + are made of four things: + <ol> + <li><em>location lines:</em> tells you where the strings can + be seen (name of file and line number), in case you need to + see a bit of context. + <li><em>msgid lines:</em> the strings to translate. + <li><em>msgstr lines:</em> the translated strings. + <li><em>lines prefixed with '#':</em> comments (some with a + special meaning, as we will see below). + </ol> + Basically, all you have to do is fill the <em>msgstr</em> + lines with the translation of the above <em>msgid</em> + line. + <p> + <u>A few notes:</u> + <ul> + <li><em>Fuzzy strings</em><br> + You will meet strings marked with a <code>"#, fuzzy"</code> + comment. <code>calcurse</code> won't use the translations of + such strings until you do something about them. A string + being fuzzy means either that the string has already been + translated but has since been changed in the sources of the + program, or that this is a new string for which + <code>gettext</code> made a 'wild guess' for the translation, + based on other strings in the file. It means you have to + review the translation. Sometimes, the original string has + changed just because a typo has been fixed. In this case, you + won't have to change anything. But sometimes, the translation + will no longer be accurate and needs to be changed. Once you + are done and happy with the translation, just remove the + <code>"#, fuzzy"</code> line, and the translation will be used + again in <code>calcurse</code>.<br> + <br> + <li><em>c-format strings and special sequences</em><br> + Some strings have the following comment: <code>"#, + c-format"</code>. This tells that parts of the string to + translate have a special meaning for the program, and that you + should leave them alone. For instance, %-sequences, like + <code>"%s"</code>. These means that <code>calcurse</code> will + replace them with another string. So it is important it + remains. There are also \-sequences, like <code>\n</code> or + <code>\t</code>. Leave them, too. The former represents an end + of line, the latter a tabulation.<br> + <br> + <li><em>Translations can be wrapped</em><br> + If lines are too long, you can just break them like this: + <pre> + msgid "" + "some very long line" + "another line" + </pre> + <li><em>po-file header</em><br> + At the very beginning of the po-file, the first string form a + header, where various kind of information has to be filled + in. Most important one is the charset. It should resemble + <pre> + "Content-Type: text/plain; charset=utf-8\n" + </pre> + You should also fill in the Last-Translator field, so that + potential contributors can contact you if they want to join + you in the translation team, or have remarks/typo fixes to + give about the translations. You can either just give your + name/nick, or add an email address, for exemple: + <pre> + "Last-Translator: Frederic Culot <frederic@culot.org>\n" + </pre> + <li><em>Comments</em><br> + Adding comments (lines begining with the '#' character) can be + a good way to point out problems or translation difficulties + to proofreaders or other members of your team.<br> + <br> + <li><em>Strings size</em><br> + <code>calcurse</code> is a curses/console program, thus it can + be heavily dependant on the terminal size (number of + columns). You should think about this when translating. Often, + a string must fit into a single line (standard length is 80 + characters). Don't translate blindly, try to look where your + string will be displayed to adapt your translation.<br> + <br> + <li><em>A few useful tools</em><br> + The po-file format is very simple, and the file can be edited + with a standard text editor. But if you prefer, there are few + specialized tools you may find convenient for translating: + <ul> + <li><code>poEdit</code> (<a + href="http://www.poedit.org/" target="_blank"> + http://www.poedit.org/</a>) + <li><code>KBabel</code> (<a + href="http://i18n.kde.org/tools/kbabel/" target="_blank"> + http://i18n.kde.org/tools/kbabel/</a>) + <li><code>GTranslator</code> (<a + href="http://gtranslator.sourceforge.net/" target="_blank"> + http://gtranslator.sourceforge.net/</a>) + <li><code>Emacs</code> po mode + <li><code>Vim</code> po mode + </ul> + <br> + <li><em>And finally</em><br> + I hope you'll have fun contributing to a more + internationalized world. :) If you have any more questions, + don't hesitate to contact me at <em>frederic@culot.org</em>. + </ul> + + +<a name="links"></a><h1>Links</h1> +<p> + This section contains links and references that may be of + interest to you. + + +<a name="links_homepage"></a><h2><code>calcurse</code> homepage</h2> +<p> + The <code>calcurse</code> homepage can be found at + <pre> + http://culot.org/calcurse + </pre> + +<a name="links_list"></a><h2><code>calcurse</code> announce list</h2> +<p> + If you are interested in the project and want to be warned + when a new release comes out, you can subscribe to the + <code>calcurse</code> announce list. In doing so, you will + receive an email as soon as a new feature appears in + <code>calcurse</code>.<br> + To subscribe to this list, send a message to + <code>calcurse-announce@culot.org</code> with "subscribe" + in the subject field. + + +<a name="thanks"></a><h1>Thanks</a></h1> +<p> + Its time now to thank other people without whom this program + would not exist! So here is a list of contributing persons I + would like to thank : + <ul> + <li>Alex for its patches, help and advices with <code>C</code> programming + <li>Gwen for testing and general discussions about how to + improve <code>calcurse</code> + <li>Kevin and Ryan for packaging <code>calcurse</code> for Debian + <li>Steffen for packaging <code>calcurse</code> for Archlinux + <li>Alexandre for packaging <code>calcurse</code> for Mac OsX + <li>Joel for its calendar script which inspired <code>calcurse</code> + calendar view + <li>Michael Schulz for the german translation of + <code>calcurse</code> manual + <li>people who write softwares I like and which inspired me, + especially : + <ul> + <li><code>vim</code> for the displacement keys + <li><code>orpheus</code> and <code>abook</code> for documentation + <li><code>pine</code> and <code>aptitude</code> + for the text user interface + </ul> + </ul> + <br> + And last, many many thanks to all of the <code>calcurse</code> + users who sent me their feedback. + +<hr> +<small><em> +Copyright (c) 2004-2006 Frédéric Culot<br> +Calcurse version 1.4 - Last change: May 07, 2006 +<em></small> + + +</body> +</html> |