mirror of https://github.com/tLDP/LDP
new
This commit is contained in:
parent
41fbe95e2c
commit
ae06924717
|
@ -0,0 +1,885 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>
|
||||
|
||||
<article>
|
||||
|
||||
<!-- Header -->
|
||||
<articleinfo>
|
||||
<title>Bengali in GNU/Linux HOWTO</title>
|
||||
|
||||
<author>
|
||||
<firstname>Taneem</firstname> <surname>Ahmed</surname>
|
||||
|
||||
<affiliation>
|
||||
<address> <email>taneem@_NOSPAM_bengalinux.org</email> </address>
|
||||
</affiliation>
|
||||
</author>
|
||||
|
||||
<author>
|
||||
<firstname>Santanu</firstname> <surname>Chatterjee</surname>
|
||||
|
||||
<affiliation>
|
||||
<address> <email>santanu@_NOSPAM_Softhome.net</email> </address>
|
||||
</affiliation>
|
||||
</author>
|
||||
|
||||
<author>
|
||||
<othername>Progga</othername>
|
||||
|
||||
<affiliation>
|
||||
<address> <email>abulfazl@_NOSPAM_juniv.edu</email> </address>
|
||||
</affiliation>
|
||||
</author>
|
||||
|
||||
<author>
|
||||
<firstname>Sayamindu</firstname> <surname>Dasgupta</surname>
|
||||
|
||||
<affiliation>
|
||||
<address> <email>unmadindu@_NOSPAM_bengalinux.org</email> </address>
|
||||
</affiliation>
|
||||
</author>
|
||||
|
||||
<subjectset>
|
||||
<subject><subjectterm>Bangla/Bengali</subjectterm></subject>
|
||||
<subject><subjectterm>Localization</subjectterm></subject>
|
||||
</subjectset>
|
||||
|
||||
<pubdate>2003-04-25</pubdate>
|
||||
|
||||
<revhistory>
|
||||
<revision>
|
||||
<revnumber>1.1.2</revnumber>
|
||||
<date>2003-04-29</date>
|
||||
<authorinitials>SDG</authorinitials>
|
||||
<revremark> Added section on testing the translations. Initial LDP release.</revremark>
|
||||
</revision>
|
||||
|
||||
|
||||
<revision>
|
||||
<revnumber>1.1.1</revnumber>
|
||||
<date>2003-04-20</date>
|
||||
<authorinitials>Pro</authorinitials>
|
||||
<revremark> Initial LDP release, section added on Lekho </revremark>
|
||||
</revision>
|
||||
|
||||
<revision>
|
||||
<revnumber> 1.1.0 </revnumber>
|
||||
<date>2003-02-20</date>
|
||||
<authorinitials>SDG</authorinitials>
|
||||
<revremark> Added Developers' Guide, made some significant changes in the document structure</revremark>
|
||||
</revision>
|
||||
|
||||
<revision>
|
||||
<revnumber> 1.0.0 </revnumber>
|
||||
<date>2003-02-14</date>
|
||||
<revremark> Initial Release </revremark>
|
||||
</revision>
|
||||
|
||||
</revhistory>
|
||||
|
||||
<abstract>
|
||||
<para>The purpose of this document is to guide you setup and develop support for Bengali (Bangla) in <systemitem class="osname"><acronym>GNU</acronym>/Linux</systemitem>.</para>
|
||||
</abstract>
|
||||
|
||||
</articleinfo>
|
||||
|
||||
<!-- Section1: intro -->
|
||||
<sect1 id="intro">
|
||||
<title>Introduction</title>
|
||||
|
||||
<sect2 id="preface">
|
||||
<title>Preface</title>
|
||||
|
||||
<para> One of the foremost things on many GNU/Linuxers' wishlist is better support for their vernacular
|
||||
script on their favourite operating system. But Indic scripts are some of the most difficult in
|
||||
the world to add support for, because of inherent complexities like the exsistence of conjuncts
|
||||
(yuktakshars) and non-standard spellings. However, the Free/Libre/Open Source community is not one that is
|
||||
easily daunted, and this document tries to outline the process of setting up Bangla support in <acronym>FLOSS</acronym> applications.
|
||||
Moreover, it also aims to be the "developers' guide" for new developers in the Bangla in GNU/Linux project. </para>
|
||||
</sect2>
|
||||
|
||||
<!-- Section2: copyright -->
|
||||
<sect2 id="copyright">
|
||||
<title>Copyright Information</title>
|
||||
|
||||
<blockquote><para> Copyright (c) 2002-2003 Taneem Ahmed, Santanu Chatterjee, Progga, Sayamindu Dasgupta.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections , with no Front-Cover Texts , and with no Back-Cover Texts .
|
||||
A copy of the license is located at
|
||||
<ulink url="http://www.gnu.org/licenses/fdl.html">
|
||||
http://www.gnu.org/licences/fdl.html</ulink>.</para></blockquote>
|
||||
</sect2>
|
||||
|
||||
<!-- Section2: disclaimer -->
|
||||
<sect2 id="disclaimer">
|
||||
<title>Disclaimer</title>
|
||||
|
||||
<para> All copyrights are held by their respective owners, unless
|
||||
specifically noted otherwise. Use of a term in this document
|
||||
should not be regarded as affecting the validity of any trademark
|
||||
or service mark. </para>
|
||||
|
||||
<para> Naming of particular products or brands should not be seen
|
||||
as endorsements. </para>
|
||||
|
||||
<para> You are strongly recommended to take a backup of your system
|
||||
before major installation and backups at regular intervals. </para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="newversions">
|
||||
<title>New Versions</title>
|
||||
|
||||
<para> The latest version of this mini-HOWTO will always be made available at the <ulink url="http://www.bengalinux.org">www.bengalinux.org</ulink> site in a variety of formats. </para>
|
||||
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<ulink url="http://www.bengalinux.org/howto/bengali.html"><acronym>HTML</acronym> </ulink>. </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<ulink url="http://www.bengalinux.org/howto/bengali.txt">Plain text</ulink>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<ulink url="http://www.bengalinux.org/howto/bengali.pdf"><acronym>PDF</acronym>
|
||||
</ulink>. </para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<!-- Section2: credits -->
|
||||
<sect2 id="credits">
|
||||
<title>Credits</title>
|
||||
|
||||
<para> We are extremely grateful to all the developers/users involved in the Bangla in GNU/Linux project, especially
|
||||
the people at <ulink url="http://www.bengalinux.org">Ankur</ulink> and at <ulink url="http://www.nongnu.org/freebangfont">the Free Bangla Fonts project</ulink>. </para>
|
||||
|
||||
<para> The <acronym>XML</acronym>-stuff has been done with the help of the template written by <othercredit><firstname>Stein</firstname><surname>Gjoen</surname></othercredit>, <othercredit><firstname>Gregory</firstname><surname>Leblanc</surname></othercredit> and <othercredit><firstname>Greg</firstname><surname>Ferguson</surname></othercredit>. </para>
|
||||
</sect2>
|
||||
|
||||
<!-- Section2: feedback -->
|
||||
<sect2 id="feedback">
|
||||
<title>Feedback</title>
|
||||
|
||||
<para> If you have any comments, criticisms, ideas, additions, corrections, questions then please do mail them to
|
||||
<email>users@bengalinux.org</email> mailing list. We would be happy to help you. </para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="conventions">
|
||||
<title>Conventions used in this document</title>
|
||||
|
||||
<para>We have used a number of special formatting to indicate warning messages, commands, filenames, computer outputs etc.
|
||||
They are listed below. </para>
|
||||
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>Shell commands</term>
|
||||
<listitem>
|
||||
<para><command> bash$ ls </command></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Notes</term>
|
||||
<listitem>
|
||||
<para><note><para>NOTE</para></note></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Cautions</term>
|
||||
<listitem>
|
||||
<para><caution><para>CAUTION</para></caution></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Information</term>
|
||||
<listitem>
|
||||
<para><tip><para>INFO</para></tip></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Warnings</term>
|
||||
<listitem>
|
||||
<para><warning><para>WARNING</para></warning></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Filename/Directory </term>
|
||||
<listitem>
|
||||
<para><filename>/usr/src/linux/</filename></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Applications</term>
|
||||
<listitem>
|
||||
<para><application>application</application></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Computer Output</term>
|
||||
<listitem>
|
||||
<para><computeroutput>no such file or directory</computeroutput></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Codes/scripts</term>
|
||||
<listitem>
|
||||
<para><programlisting>#! /bin/bash</programlisting></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Large Computer Outputs</term>
|
||||
<listitem>
|
||||
<para><screen>logfile begins</screen></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="purpose">
|
||||
<title>Purpose of this HOWTO</title>
|
||||
|
||||
<para> This document explains how to setup and develop support for Bangla (or Bengali) in a GNU/Linux systems. Bangla support in
|
||||
GNU/Linux is by no means complete, but, in modern GNU/Linux distributions, you may be able to write in Bangla,
|
||||
send emails in Bangla, chat in Bangla, save with Bangla filenames (<acronym>UTF-8</acronym>....), have some of your graphical
|
||||
applications localized in Bangla, etc. Moreover, we have targeted to have the <acronym>GNOME</acronym> core translated into Bangla
|
||||
by August 2003, so that it can be included in the 2.4 release of GNOME.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<note>
|
||||
<para> However, note that this documents deals with Bangla support in GNU/Linux in <acronym>GUI</acronym> based applications only - we have
|
||||
no immediate plans for supporting Bangla on the console. </para>
|
||||
</note>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<note>
|
||||
<para> Also note that the Bangla support that we speak of here is totally Unicode compliant. We do not support any kind of proprietary/non-standard encoding. </para>
|
||||
</note>
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="usersguide">
|
||||
<title>Users' Guide</title>
|
||||
|
||||
<para> This part is mainly for the user - it does not go into the intricacies of development procedures.
|
||||
However, developers planning to work in this field must also read it - so that they can setup the required
|
||||
develoment environment. </para>
|
||||
|
||||
<sect2 id="locale">
|
||||
<title>Setting up the locale for Bengali</title>
|
||||
|
||||
<para>The first job that you have to do is to setup the locale for Bangla. The
|
||||
formal description of specific set of cultural habits for some country,
|
||||
together with all associated translations targeted to the same native
|
||||
language, is called the <quote>locale</quote> for this language or country. This
|
||||
sub-section describes how to setup
|
||||
the <filename>bn_BD</filename> locale definition file, which is for Bangladeshi Bengali. However, the Indian Bengali definition
|
||||
file, i.e. <filename>bn_IN</filename>, can be used in the same manner. </para>
|
||||
|
||||
<para>
|
||||
<note>
|
||||
<para> Remember that this sub-section is not intended to explain how to create a locale definition file, we
|
||||
will just explain how to <emphasis>use</emphasis> the locale defition file for Bangladeshi Bengali.
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
|
||||
<para> The <filename>bn_BD</filename> file should come with the latest glibc package. in case you have an older glibc, you can download
|
||||
this file from the <ulink url="http://www.bengalinux.org/downloads/">download</ulink> section of bengalinux.org. </para>
|
||||
|
||||
<para>
|
||||
<caution>
|
||||
<para> Make sure you have some Unicode encoded Bengali fonts installed on your system.
|
||||
If you don't have one, check out <link linkend="fonts">fonts section</link>.
|
||||
</para>
|
||||
</caution>
|
||||
</para>
|
||||
|
||||
<para> Now issue the following command as <systemitem class="username">root</systemitem>: </para>
|
||||
<para><prompt>bash$</prompt> <userinput>localedef -f UTF-8 -i bn_BD bn_BD.UTF-8</userinput></para>
|
||||
<para> This makes your system ready to be used with bn_BD locale definition. </para>
|
||||
|
||||
<para> Now make sure your X server is ready for Bengali locale. Check the following file <filename>/usr/X11R6/lib/X11/locale/locale.dir</filename> </para>
|
||||
|
||||
<para> It should have the following lines: </para>
|
||||
|
||||
<programlisting>
|
||||
en_US.UTF-8/XLC_LOCALE bn_BD.UTF-8
|
||||
en_US.UTF-8/XLC_LOCALE: bn_BD.UTF-8
|
||||
</programlisting>
|
||||
|
||||
<para> Now your system is ready to use bn_BD.UTF-8 locale. For example,
|
||||
I use the following command to open up an <command>xterm</command> with my own crappy font:
|
||||
</para>
|
||||
|
||||
<para><prompt>bash$</prompt><userinput>LC_ALL=bn_BD.UTF-8 xterm -fn "-misc-Probhat-medium-r-normal--0-0-0-0-p-0-iso10646-1" -u8</userinput></para>
|
||||
|
||||
<para> Remember, if you want to use Bengali in any application, you will have to start that application under an environment where the locale was set to bn_BD.UTF-8, otherwise it won't work. </para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="fonts">
|
||||
<title>Installing the Bengali Fonts</title>
|
||||
|
||||
<sect3 id="install-rpm">
|
||||
<title>Installing using the rpm package</title>
|
||||
|
||||
<para> If you are a rpm [read: RedHat %#$!@] user, then the easiest way to install the fonts from <emphasis><acronym>FBFP</acronym></emphasis> is
|
||||
by using the rpm package. The rpm package can be downloaded from
|
||||
<ulink url="http://www.bengalinux.org/downloads/freebanglafont-0.2-1.noarch.rpm">
|
||||
http://www.bengalinux.org/downloads/freebanglafont-0.2-1.noarch.rpm</ulink> or
|
||||
<ulink url="http://savannah.nongnu.org/files/?group=freebangfont">http://savannah.nongnu.org/files/?group=freebangfont</ulink>. Just install the rpm package as you would do for any other rpm package with the command </para>
|
||||
|
||||
<para>
|
||||
<prompt>bash$</prompt><userinput> rpm -ivh freebanglafont-0.2-1.noarch.rpm</userinput>
|
||||
</para>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="install-tarball">
|
||||
<title>Installing using individual font file</title>
|
||||
|
||||
<para> If you cannot or do not want to use the rpm package, there is always the good old tgz packages.
|
||||
Remember that you should have root privilege when you execute the commands mentioned here. </para>
|
||||
|
||||
<para> Download the files you want to install from <ulink url="http://savannah.nongnu.org/files/?group=freebangfont"> http://savannah.nongnu.org/files/?group=freebangfont.</ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<note>
|
||||
<para> Remember that you will find several different tgz packages in <emphasis>FBFP</emphasis>. Each of them
|
||||
contain different font faces, i.e. they all look different from one another.
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
|
||||
<para> Once you have downloaded all the packages you want, extract all the <filename>*.ttf</filename> file(s).
|
||||
Basically run the following command on each <filename>*.tgz</filename> or <filename>*.tar.gz</filename> you have downloaded. </para>
|
||||
|
||||
<para>
|
||||
<prompt>bash$</prompt><userinput>tar -zxvf your_font_package.tar.gz</userinput></para>
|
||||
|
||||
<para> This will create a new directory that will contain different files that comes with the font package. We are only
|
||||
interested about the <filename>*.ttf</filename> files. </para>
|
||||
|
||||
<para> Create a new directory where you want to install these fonts. Forthe rest of this document, we will
|
||||
assume we are installing the fonts in <filename class="directory">/usr/X11R6/lib/X11/fonts/bengali/</filename>
|
||||
</para>
|
||||
|
||||
<para> Copy the <filename>*.ttf</filename> files we just extracted in to this directory, and execute the following commands: </para>
|
||||
|
||||
<para>
|
||||
<prompt>bash$</prompt><userinput>cd /usr/X11R6/lib/X11/fonts/bengali</userinput> </para>
|
||||
<para><prompt>bash$</prompt><userinput>ttmkfdir</userinput></para>
|
||||
<para><prompt>bash$</prompt><userinput>mkfontdir</userinput></para>
|
||||
<para>
|
||||
<prompt>bash$</prompt><userinput>chkfontpath -q -a /usr/X11R6/lib/X11/fonts/bengali </userinput></para>
|
||||
|
||||
<para> Now we will add the new directory to <application>fontconfig</application> configuration. Usually this
|
||||
configuration file is <filename>/etc/fonts/fonts.conf</filename>. Open this file with you choice of
|
||||
text editor and look for the part that looks somewhat like shown below </para>
|
||||
|
||||
<programlisting>
|
||||
<dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
|
||||
<dir>/usr/share/fonts</dir>
|
||||
<dir>~/.fonts</dir>
|
||||
</programlisting>
|
||||
|
||||
<para>
|
||||
Add the line <programlisting><dir>/usr/X11R6/lib/X11/fonts/bengali</dir></programlisting> so that now it looks
|
||||
something like this: </para>
|
||||
|
||||
<programlisting>
|
||||
<dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
|
||||
<dir>/usr/share/fonts</dir>
|
||||
<dir>/usr/X11R6/lib/X11/fonts/bengali</dir>
|
||||
<dir>~/.fonts</dir>
|
||||
</programlisting>
|
||||
|
||||
<para> After you have saved the file, execute the following command: </para>
|
||||
<para><prompt>bash$</prompt><userinput>fc-cache</userinput></para>
|
||||
<para> If you have GNOME print library (<systemitem class="library">libgnomeprint</systemitem>) installed, then execute the following commands: </para>
|
||||
|
||||
<para><prompt>bash$</prompt><userinput> cd /usr/X11R6/lib/X11/fonts/bengali</userinput> </para>
|
||||
|
||||
<para>
|
||||
<prompt>bash$</prompt><userinput>libgnomeprint-2.0-font-install --dynamic</userinput>
|
||||
</para>
|
||||
|
||||
<para> That should be it! If you have any problem, please let us know at <email>users@bengalinux.org</email>
|
||||
</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="keyboard">
|
||||
<title>Setting up the Bengali keyboard</title>
|
||||
|
||||
<para>
|
||||
<note>
|
||||
<para> The intention of this HOWTO is <emphasis>not</emphasis> to explain what is xkb symbol file, or how to create
|
||||
a new layout, etc. There are tons of places on the web where one can find a better and more in-depth HOWTO about XFree86 keyboard[layout/xkb/etc]. </para>
|
||||
</note>
|
||||
</para>
|
||||
|
||||
<para> There is nothing special about setting up a Bengali Keyboard, just follow the steps described below. Remember
|
||||
everything you need in the following steps can be downloaded from the <ulink url="http://www.bengalinux.org/downloads/">
|
||||
download</ulink> section of bengalinux.org, except the machine and the OS :-).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<caution>
|
||||
<para> Make sure you have some Unicode encoded Bengali fonts installed on your system.
|
||||
If you don't have one, check out <link linkend="fonts">fonts section</link>.
|
||||
</para>
|
||||
</caution>
|
||||
</para>
|
||||
|
||||
<para> Download the xkb symbol file <filename>ben</filename> and copy it to the directory where the other xkb symbol files are.
|
||||
Usually this would be <filename class="directory">/usr/X11R6/lib/X11/xkb/symbols</filename> </para>
|
||||
|
||||
<para>
|
||||
<note>
|
||||
<para> <acronym>BTW</acronym>, usually only root can copy files into this directory.
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
|
||||
<para> You are now one command away from starting the keyboard. On my system I just type the following command: </para>
|
||||
|
||||
<para>
|
||||
<prompt>bash$</prompt> <userinput>setxkbmap -symbols "us(pc101)+ben+group(ctrl_shift_toggle)"</userinput>
|
||||
</para>
|
||||
|
||||
<para> On your system you are most likely to use a different value for <option>-symbols</option>
|
||||
option. Let me explain what they mean, then you can decide what should
|
||||
be the value for your system. My default keyboard layout for X is <literal>us(pc101)</literal>.
|
||||
If you don't know what is the default you use, check the <filename>XF86Config</filename> file
|
||||
As the Bengali keyboard layout is defined in the second group we can simply
|
||||
add everything from <filename>ben</filename> to our keyboard layout. Now you have setup
|
||||
your keyboard with <literal>us(pc101)</literal> as group one and <literal>ben</literal> as your second group. What does that mean? Well in simple words: with
|
||||
X you can have different layouts in different groups and you can switch
|
||||
between these different layouts. And that is exactly why we added <quote>group(ctrl_shift_toggle)</quote>.
|
||||
This means we can switch between the two groups by pressing <keycombo><keycap>ctrl</keycap><keycap>shift</keycap></keycombo> buttons together. Matter of fact there are other options for the toggle
|
||||
switch. If your XFree86 is new enough, you will find a file named <filename>group</filename>
|
||||
in the same directory you copied <filename>ben</filename>. If your system does not have this file do not worry. You can use an option like <quote>grp:shift_toggle</quote> which will toggle by pressing
|
||||
both shift buttons. In which case your command becomes: </para>
|
||||
<para>
|
||||
<prompt>bash$</prompt> <userinput>setxkbmap -symbols "us(pc101)+ben" -option "grp:shift_toggle"</userinput>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="Bangla-Application">
|
||||
<title>Some "special" Bengali only applications</title>
|
||||
|
||||
<sect3 id="lekho">
|
||||
<title>Lekho</title>
|
||||
|
||||
<para> <application>Lekho</application> is a text editor for creating Bangla Unicode files without
|
||||
using any type of Unicode font. </para>
|
||||
|
||||
<note>
|
||||
<para> This section must not be taken as "The Complete Reference of Lekho". At best it can be regarded
|
||||
as a short introduction to the editor. The main purpose of this section is to make you aware of
|
||||
the presence of this wonderful editor. In any case, the primary source of information on Lekho
|
||||
is it's website or the documentation provided with the package distribution.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
<para> You may find <application>Lekho</application> helpful if you are </para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para> Too lazy/busy to install the necessary Locale, Opentype fonts and Keyboard. </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> Currently using a Gnome version earlier than 2.0 . </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> Don't have gtk+ in your system at all. </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> Want to export as Latex for use with Bangtex macro package. </para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
||||
<para> Some of the major features of <application>Lekho</application> are as follows </para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Keyboard Layout- Phonetic (i.e. k=ka, kh=kha etc)
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para> Minimum Requirements- Qt 2.3 </para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para> Font Usage- Adarshalipi </para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para> Save As- UTF-8, UTF-16, ISO-8859-1 </para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para> Export As- HTML, Bangtex </para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para> Development Status- Beta </para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para> Support- Through Mailing list </para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para> Download the latest tarball from Lekho's website at <ulink url="http://lekho.sourceforge.net">
|
||||
http://lekho.sourceforge.net</ulink> (Rumours are that an RPM is
|
||||
on the pipeline. By the time you read this HOWTO, it may be already out. So
|
||||
please check it if you prefer RPMs). Now untar the tarball: </para>
|
||||
|
||||
<para> <prompt>bash$</prompt> <userinput>tar xfz Lekho.tar.gz</userinput> </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> 'CD' to the Lekho source directory and then go through the traditional way
|
||||
of compilation+installation: </para>
|
||||
|
||||
<para><prompt>bash$</prompt> <userinput>./configure</userinput> </para>
|
||||
<para><prompt>bash$</prompt> <userinput>make</userinput></para>
|
||||
|
||||
<para><prompt>bash$</prompt> <userinput>make install</userinput></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> At the very end of 'make install', the Adarshalipi fonts are copied to a
|
||||
seperate directory and the name of this directory is also printed. Now add
|
||||
that directory to your fontpath. There are several ways to do this depending
|
||||
on the XFree86 version you are using. Please consult Lekho's documentation
|
||||
for details. </para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
||||
<para> Although Lekho is still in development stage, it has enough features to meet
|
||||
the requirements of most people <acronym>IMHO</acronym>. </para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="devguide">
|
||||
<title>Developers' Guide</title>
|
||||
|
||||
<para> This part of the HOWTO is mainly for developers - though the user who is interested in the internals can also
|
||||
go through it ;-). However, the developer should not start from here - he/she should at first read the preceding
|
||||
section to setup the system for Bengali support. </para>
|
||||
|
||||
<sect2 id="devproc">
|
||||
<title>The general development process</title>
|
||||
|
||||
<para> The development center is the <ulink url="http://www.bengalinux.org">www.bengalinux.org</ulink> website.
|
||||
The model followed is the generic FLOSS type "bazaar" model (slightly localized version ;-), and you
|
||||
get all the goodies (<acronym>CVS</acronym>, shell access, scp, email lists, etc).
|
||||
If you are interested in developing, send a mail to <email>core@bengalinux.org</email> announcing your intentions. </para>
|
||||
|
||||
<para> A developer must be subscribed to the mailing list of the project he or she is work on - please see the
|
||||
<ulink url="http://www.bengalinux.org/projects">Projects</ulink> section of Bengalinux.org. </para>
|
||||
|
||||
<para> Usual netiquettes are applicable to all the lists - be polite/gentle, do not send HTML mails, do not shout, etc. </para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="prerequisites">
|
||||
<title>Pre-requisites</title>
|
||||
|
||||
<para>
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para> Must know how to read and write proper Bangla (at least Grammar should be OK). </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> Must have some sort of editor which can be used to edit Unicode encoded Bangla. (Proprietary
|
||||
editors are not advisable - no support will be provided.)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> (This one is optional) - must have basic idea about l10n (if possible, <acronym>RTFM</acronym> by going through the
|
||||
<application>GNU gettext</application> info page)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> Must be willing to follow the general FLOSS philosophy and procedures while developing for the project - and in general
|
||||
behave like a saint ;-). </para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="transguide">
|
||||
<title>Translators' Guide</title>
|
||||
|
||||
<sect3 id="procedural">
|
||||
<title>Procedural Guide</title>
|
||||
|
||||
<para> Translation is pretty straight forward - you need to edit the <filename>*.po</filename> (Portable Object) files.
|
||||
To get the <acronym>PO</acronym> files - check out which files are untranslated from
|
||||
<ulink url="http://developer.gnome.org/projects/gtp/status/gnome-2.2/bn/index.html">
|
||||
http://developer.gnome.org/projects/gtp/status/gnome-2.2/bn/index.html</ulink>. Download any one of the untranslated
|
||||
files and open it in an editor that supports Bangla (sorry - vi/emacs won't work here). I personally use
|
||||
<ulink url="http://www.yudit.org"><application>Yudit</application></ulink> - and other possible options
|
||||
are <ulink url="http://lekho.sourceforge.net"><application>Lekho</application></ulink> and the good old <application>
|
||||
Gedit2</application>. </para>
|
||||
|
||||
<note>
|
||||
<para> Before you start working on something, make sure that you announce the file you are working on at
|
||||
<email>gnome-translations@bengalinux.org</email>. This may save a lot of trouble and frustation ;-). </para>
|
||||
</note>
|
||||
|
||||
<para> At the beginning of the file you will see some fields for filling in the translators' name, email, translation time,
|
||||
package name, etc. Fill them up, and proceed to the next part. </para>
|
||||
|
||||
<para> You will find some lines like </para>
|
||||
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
#: atk/atkobject.c:1183
|
||||
msgid "invalid"
|
||||
msgstr ""
|
||||
]]>
|
||||
</programlisting>
|
||||
|
||||
<para> The first line specifies the filename and the position in which the string in the second line occurs. The
|
||||
second line contains the actual string that is to be translated and the third line is the placeholder for the
|
||||
translated string in Bangla. Thus, in a translated file this set would look like</para>
|
||||
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
#: atk/atkobject.c:1183
|
||||
msgid "invalid"
|
||||
msgstr "bhul"
|
||||
]]>
|
||||
</programlisting>
|
||||
|
||||
<tip>
|
||||
<para> Here, I have written the word <foreignphrase><emphasis>bhul</emphasis></foreignphrase> in English due the limitations of present day technology. However, when you do the actual translation, you will need to write the translated strings in Bangla - and not
|
||||
English. </para>
|
||||
</tip>
|
||||
|
||||
<para> You will have to translate all the sets in a po file before it is considered to be complete. When it is complete,
|
||||
mail it to the translation list <email>gnome-translation@bengalinux.org</email>, so that the other developers can also
|
||||
go through it. </para>
|
||||
|
||||
<important>
|
||||
<para> Before submitting the translation as final - please check the file with the command: </para>
|
||||
|
||||
<para> <prompt>bash$</prompt> <userinput>msgfmt -c filename_bn.po -o /dev/null</userinput> </para>
|
||||
|
||||
<para> where <filename>filename_bn.po</filename> is the file you are working on. </para>
|
||||
</important>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="style">
|
||||
<title>Style Guide</title>
|
||||
|
||||
<para> While translating, remember not to <emphasis>kill the language</emphasis> ;-). Do not overdo the translation -
|
||||
do not use <foreignphrase><emphasis>Sadhu Basha</emphasis></foreignphrase>. Also, when the computer is addressing the user, it is <foreignphrase><emphasis>
|
||||
samman-shuchak (karun, balun, etc)</emphasis></foreignphrase> while the computer is addressed by<foreignphrase><emphasis>karo, balo, etc</emphasis></foreignphrase>.
|
||||
If a Bangla equivalent sounds too out of the ordinary - keep the English word (in Bangla script) - it can be always
|
||||
changed/improved later. <emphasis>DO NOT</emphasis> overdo anything. </para>
|
||||
<para>Also, keep proper nouns and trademarks/brandnames as they are. (<application>Bourne Again Shell (BASH)</application> should not be called <foreignphrase>Aabaar Bourne Shell</foreignphrase>).
|
||||
</para>
|
||||
|
||||
<para> Use the more common word (<foreignphrase><emphasis>jaanlaa</emphasis></foreignphrase> and not <foreignphrase><emphasis>gabaakhya</emphasis></foreignphrase>). Also always remember that
|
||||
the words need not be very much applicable to the actual action - an Englishman from the nineteenth century could not
|
||||
even have guessed what <quote>Save</quote> can do in a computer ;-). </para>
|
||||
<!--FIXME - I need to rephrase the above -->
|
||||
|
||||
<para> If you have comments regarding a certain translated string, please write that (commented out with a <quote>#</quote>), so that
|
||||
we can go through it later. If you have more than one equivalent string in your mind, write all of them, and comment
|
||||
all of them except the one you think is the best. </para>
|
||||
|
||||
<para> However, while commenting, remember that you <emphasis>cannot</emphasis> have any comments between the
|
||||
<emphasis>msgid</emphasis> and <emphasis>msgstr</emphasis> lines. </para>
|
||||
|
||||
<para> That means </para>
|
||||
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
#: atk/atkobject.c:1183
|
||||
msgid "invalid"
|
||||
# yadayadayada
|
||||
msgstr "bhul"
|
||||
]]>
|
||||
</programlisting>
|
||||
|
||||
<para>is invalid. Instead you should write-</para>
|
||||
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
#: atk/atkobject.c:1183
|
||||
msgid "invalid"
|
||||
msgstr "bhul"
|
||||
# yadayadayada
|
||||
]]>
|
||||
</programlisting>
|
||||
|
||||
<para> Also ...last but in no way the least, spellcheck, spellcheck, spellcheck. During translation session - always sit with
|
||||
your dictionary, or even better, the <emphasis>Bangla Baanaan Abhidhan</emphasis> from the Bangladesh Bangla Academy.
|
||||
The <application>bspeller</application> from <ulink url="http://www.bengalinux.org/projects/dictionary/bspeller.php">Bengalinux</ulink> may be useful
|
||||
here. </para>
|
||||
|
||||
<para> Another recommended book is the <emphasis>Samartha-ShabdaKosh</emphasis> (Bangla Thesaraus) by Ashok Mukherjee from Sahitya Samsad. </para>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="testing">
|
||||
<title>Testing the translations</title>
|
||||
|
||||
<para> One of the most tricky things for a translator is understanding the context. For example, by simply looking at a
|
||||
pofile, a translator will have no clue whether <emphasis>Open</emphasis> stands for <foreignphrase>Kholo</foreignphrase>
|
||||
or <foreignphrase>Khola</foreignphrase>. To do context sensitive translation, a translator has to check out his/her
|
||||
translations in action, that is, in the application interfaces. This section describes a hack to see the translations
|
||||
without having to recompile the program. </para>
|
||||
|
||||
<note>
|
||||
<para> This process works for most systems with GDM as the login manager. However, I cannot guarantee
|
||||
that this will work on your system. </para>
|
||||
</note>
|
||||
|
||||
<para> To begin with, setup the <link linkend="locale">locale for Bangla</link> and <link linkend="fonts">install some
|
||||
</link> Bangla fonts. </para>
|
||||
|
||||
<para> Once that is done, get all the translated pofiles in a single folder in you machine (to avoid mess), and one by
|
||||
one convert them into <acronym>MO</acronym> files with the command: </para>
|
||||
|
||||
<para><prompt>bash$</prompt> <userinput>msgfmt -o file.mo file.version.gnomeversion_bn.po</userinput></para>
|
||||
|
||||
<caution>
|
||||
<para> While doing this, remember to strip all the version and language information from the mofile's name, ie,
|
||||
<filename>gnome-games.gnome-2-2.bn.po</filename> should be converted to <filename>gnome-games.mo</filename>. </para>
|
||||
|
||||
<para> If you are unsure about a package, do a <command>rpm -ql packagename</command>, and you will get the naming
|
||||
scheme for the package. For example, a part of the output of <command>rpm <option>-ql</option> <parameter>gdm</parameter></command> reads
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
/usr/share/locale/ru/LC_MESSAGES/gdm-2.4.mo
|
||||
/usr/share/locale/sk/LC_MESSAGES/gdm-2.4.mo
|
||||
/usr/share/locale/sl/LC_MESSAGES/gdm-2.4.mo
|
||||
/usr/share/locale/sv/LC_MESSAGES/gdm-2.4.mo
|
||||
/usr/share/locale/ta/LC_MESSAGES/gdm-2.4.mo
|
||||
</programlisting>
|
||||
|
||||
<para> From this, it becomes apparent that one has to issue the command <command>msgfmt <option>-o</option>
|
||||
<parameter>gdm-2.4.mo gdm2.gnome-2-2.bn.po</parameter> </command> for the <application>GDM</application> package. </para>
|
||||
</caution>
|
||||
|
||||
<para> Once you are finished with that, copy the <acronym>MO</acronym> files to <filename>/usr/share/locale/bn_IN.UTF-8
|
||||
</filename> or <filename>/usr/share/locale/bn_BD.UTF-8</filename>, depending on how you set up your locale. </para>
|
||||
|
||||
<para> Now, open up <filename>/etc/X11/gdm/locale.alias</filename> and add the following lines to it. </para>
|
||||
|
||||
<programlisting>
|
||||
Bengali bn_IN.UTF-8,bn_IN
|
||||
</programlisting>
|
||||
|
||||
<para> After this, restart <application>X</application>, select Bengali in the Languages menu and relogin into
|
||||
<application><acronym>GNOME</acronym></application>. You will be presented with a Bangla system. </para>
|
||||
|
||||
<note>
|
||||
<para> For testing a single application, you don't have to go through all this stuff. Just setup the locale, install the
|
||||
font and put the <acronym>MO</acronym> file in the proper place. Now, fire up <application>xterm</application>, and
|
||||
issue the command <command>export LANG=bn_IN.UTF-8</command> or <command>export LANG=bn_BD.UTF-8</command>. After this,
|
||||
from xterm itself, start the program you want to check, and it will start up with a Bangla interface. </para>
|
||||
</note>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<appendix id="appendix">
|
||||
<title>Appendix</title>
|
||||
|
||||
<para> This section contains some miscellaneous information. </para>
|
||||
|
||||
<sect1 id="sites">
|
||||
<title>Related Websites</title>
|
||||
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para> <ulink url="http://www.bengalinux.org/">www.bengalinux.org</ulink>: The mother site of all major projects
|
||||
related to Bangla in GNU/Linux. </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> <ulink url="http://www.nongnu.org/freebangfont">http://www.nongnu.org/freebangfont</ulink>: The font
|
||||
wing of bengalinux.org. </para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para> <ulink url="http://www.unicode.org">www.unicode.org</ulink>: The official site of the Unicode Consortium. </para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="volunteering">
|
||||
<title>Volunteering for the Bangla in GNU/Linux project</title>
|
||||
|
||||
<para> If you want to help us in bringing Bangla support in GNU/Linux and in other Free/Libre/Open Source Software (FLOSS)
|
||||
applications, then please let us know at <email>users@bengalinux.org</email>. We are looking for mentors, developers,
|
||||
beta testers, translators, font designers to volunteer for our project. Even if you are not a conventional technically
|
||||
skilled person, you may help us by letting us know your comments on the work we are doing (especially the translation
|
||||
jobs.) </para>
|
||||
|
||||
<para> Also, if you are a font developer, you may consider (re)licensing your work under the GNU <acronym>GPL</acronym> so that we can reuse
|
||||
the fonts in our projects (of course, with due credit to you).
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="software">
|
||||
<title>Software which has Bangla rendering support</title>
|
||||
|
||||
<para> Rendering of the Bangla script is a complex job, especially when one has to be within the Unicode limits. Hence,
|
||||
the technology behind Bangla rendering is considered to be quite <quote>bleeding edge</quote>, and only the latest software support
|
||||
it. For example, Bangla text rendering support is not there in the <systemitem class="library">QT</systemitem> toolkit (which is used for <application><acronym>KDE</acronym></application>), and at present
|
||||
only <ulink url="http://www.pango.org"><application>Pango</application></ulink>, which is the text rendering/layout engine of <systemitem
|
||||
class="library">GTK 2</systemitem>, supports
|
||||
Bangla rendering. Pango 1.1.1 and above has a seperate module for Bangla. In addition to that, in the Free Software
|
||||
world, <ulink url="http://www.yudit.org"><application>Yudit</application></ulink> can render Bangla text correctly. However, the situation is
|
||||
improving slowly, and in the near future, we will probably see Bangla rendering in QT based applications, <application>Mozilla</application>,
|
||||
<application>OpenOffice</application>, etc. In fact, the beta version of OpenOffice (at the time of writing) has partial support for
|
||||
Bangla - however, it still has some serious problems with the split vowel signs. </para>
|
||||
</sect1>
|
||||
</appendix>
|
||||
</article>
|
||||
|
||||
|
Loading…
Reference in New Issue