mirror of https://github.com/tLDP/LDP
1010 lines
40 KiB
XML
1010 lines
40 KiB
XML
<?xml version="1.0" ?>
|
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://docbook.org/xml/4.2/docbookx.dtd" []>
|
|
|
|
<!-- Wordwrap level is 96 -->
|
|
<article id="Bangla-HOWTO">
|
|
|
|
<!-- Header -->
|
|
<articleinfo>
|
|
<title>Bangla 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 id="revhistory">
|
|
<revision>
|
|
<revnumber>1.1.3</revnumber>
|
|
<date>2003-10-23</date>
|
|
<authorinitials>Pro</authorinitials>
|
|
<revremark> Some info on Qt and KDE 3.2's ability to render bn text is added at the
|
|
very end. </revremark>
|
|
</revision>
|
|
|
|
<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>
|
|
<authorinitials>SDG</authorinitials>
|
|
<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
|
|
existence 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 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/Bangla-HOWTO.html"><acronym>HTML</acronym> </ulink>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<ulink url="http://www.bengalinux.org/howto/Bangla-HOWTO.txt">Plain text</ulink>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<ulink url="http://www.bengalinux.org/howto/Bangla-HOWTO.pdf"><acronym>PDF</acronym></ulink>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<ulink url="http://www.bengalinux.org/howto/Bangla-HOWTO.xml"><acronym>XML</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.AnkurBangla.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. (Update- GNOME 2.4 is now out with partial support for Bangla)
|
|
</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. For the 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 prior to 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.4/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 your
|
|
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 mo file's name, ie, <filename>gnome-games.gnome-2-4.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> or
|
|
<ulink url="http://www.AnkurBangla.Org/">www.AnkurBangla.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 Ankur. </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 there only in the latest <systemitem class="library">Qt</systemitem>
|
|
toolkit (Qt 3.2) which is used for <application><acronym>KDE</acronym></application> and
|
|
<ulink url="http://www.pango.org"><application>Pango</application></ulink>, which is the text
|
|
rendering/layout engine of <systemitem class="library">GTK 2</systemitem>. 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 <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. Starting from version 3.2.0, KDE applications (will) officially support
|
|
Bangla rendering too. </para>
|
|
</sect1>
|
|
</appendix>
|
|
</article>
|