<HTML>
<!-- SECTION: Getting Started -->
<HEAD>
- <TITLE>Translating CUPS</TITLE>
+ <TITLE>Translating and Customizing CUPS</TITLE>
</HEAD>
<BODY>
<UL>
+ <LI><VAR>desktop/cups.desktop</VAR> - the GNOME/KDE
+ desktop file pointing to the CUPS web interface</LI>
+
<LI><VAR>doc/images/button-*.gif</VAR> - the web
interface button images</LI>
- <LI><VAR>doc/images/button-*.scm</VAR> - the Gimp scripts
- we use to generate the web interface button images</LI>
+ <LI><VAR>tools/buttons.txt</VAR> - the English text for the
+ web interface buttons</LI>
+
+ <LI><VAR>tools/makebuttons</VAR> - the shell script we use
+ to generate the web interface button images</LI>
<LI><VAR>doc/index.html</VAR> - the web interface home
page</LI>
<LI><VAR>templates/*.tmpl</VAR> - the web interface
template files</LI>
-
+
</UL>
-<P>With the exception of the message catalogs, localization files
-are placed in subdirectories under the <VAR>doc</VAR> and
-<VAR>templates</VAR> using the locale name. Locale names are
-either <VAR>ll</VAR> or <VAR>ll_CC</VAR>, where "ll" is the
-2-letter language code and "CC" is the 2-letter country code.</P>
+<P>With the exception of the message catalogs and desktop file,
+localization files are placed in subdirectories under the
+<VAR>doc</VAR> and <VAR>templates</VAR> using the locale name.
+Locale names are either <VAR>ll</VAR> or <VAR>ll_CC</VAR>, where
+"ll" is the 2-letter language code and "CC" is the 2-letter
+country code. <em>CUPS does not currently use or support the newer <VAR>ll-region</VAR> syntax for locale names.</em></P>
<P>All non-image files must be encoded using the UTF-8 character
set.</P>
<H2 CLASS="title"><A NAME="SUBMIT">Submitting a Translation for CUPS</A></H2>
-<P>To submit a translation for inclusion in CUPS, translate all
-of the button images, template files, the
+<P>To submit a translation for inclusion in CUPS, translate the
+desktop file, all of the button images, template files, the
<VAR>index.html.in</VAR> file, and the message catalog. Place
these files in the correct subdirectory in the CUPS source code
archive and run the following command to create an archive with
your files:</P>
<PRE CLASS="command">
-tar cvf <I>ll_CC</I>.tar.gz doc/<I>ll_CC</I> locale/<I>ll_CC</I>.po templates/<I>ll_CC</I>
+tar cvf <I>ll_CC</I>.tar.gz desktop/cups.desktop doc/<I>ll_CC</I> \
+ locale/cups_<I>ll_CC</I>.po templates/<I>ll_CC</I>
</PRE>
<P>Replace "ll_CC" with the locale name for your translation.
translation to the report.</P>
+<H2 CLASS="title"><A NAME="DESKTOP">The Desktop File</A></H2>
+
+<P>The <VAR>desktop/cups.desktop</VAR> file provides a link to
+the CUPS web interface from desktop environments such as
+GNOME and KDE. To translate this file, add two lines to the
+bottom with the <tt>Name</tt> and <tt>Comment</tt> keys:</P>
+
+<PRE CLASS="command">
+Name[<I>ll_CC</I>]=<I>Translation of "Manage Printing"</I>
+Comment[<I>ll_CC</I>]=<I>Translation of "CUPS Web Interface"</I>
+</PRE>
+
+
<H2 CLASS="title"><A NAME="IMAGES">Button Images</A></H2>
-<P>The web interface button images are used to activate functions
-on the CUPS web pages. Table 1 lists the button images and the
-English text labels for those buttons. Use the supplied Gimp
-scripts to create button images that match the CUPS web interface
-and save them in the <VAR>doc/ll_CC/images</VAR> subdirectory.
-The Gimp button scripts can be installed using the following
-command:</P>
+<P>The web interface button images are used to activate functions on
+the CUPS web pages. Table 1 lists the button images and the English
+text labels for those buttons. Copy the file
+<VAR>tools/buttons.txt</VAR> to <VAR>buttons-ll_CC.txt</VAR>,
+translate the text in that file (use UTF-8 as the text encoding!),
+and then use the supplied <VAR>tools/makebuttons</VAR> script to
+create button images that match the CUPS web interface:</P>
<PRE CLASS="command">
-cp doc/images/button*.scm ~/.gimp-2.2/scripts
+cp tools/buttons.txt buttons-ll_CC.txt
+vi buttons-ll_CC.txt
+tools/makebuttons ll_CC buttons-ll_CC.txt
</PRE>
-<P>If you have already started the Gimp application, choose
-<VAR>Refresh Scripts</VAR> from the <VAR>Xtns->Script-Fu</VAR>
-sub-menu. The button scripts will be available under a new
-<VAR>Btns</VAR menu in the Gimp tool window.</P>
+<BLOCKQUOTE><B>Note:</B> The <VAR>tools/makebuttons</VAR> script
+requires at least version 6.2.4 of the ImageMagick software to
+work.</BLOCKQUOTE>
<P>When you have created all of the button images, edit the
-<VAR>doc/Makefile</VAR> file and add the locale name to the
+<VAR>Makedefs</VAR> file and add the locale name to the
<CODE>LANGUAGES</CODE> variable. You can then run "make
install" in the <VAR>doc</VAR> subdirectory to test the
translated buttons.</P>
<TD>button-add-printer.gif</TD>
<TD>Add Printer</TD>
</TR>
+<TR>
+ <TD>button-add-rss-subscription.gif</TD>
+ <TD>Add RSS Subscription</TD>
+</TR>
<TR>
<TD>button-add-this-printer.gif</TD>
<TD>Add This Printer</TD>
<TD>button-cancel-job.gif</TD>
<TD>Cancel Job</TD>
</TR>
+<TR>
+ <TD>button-cancel-subscription.gif</TD>
+ <TD>Cancel Subscription</TD>
+</TR>
<TR>
<TD>button-change-settings.gif</TD>
<TD>Change Settings</TD>
<TD>button-export-samba.gif</TD>
<TD>Export Printers to Samba</TD>
</TR>
+<TR>
+ <TD>button-find-new-printers.gif</TD>
+ <TD>Find New Printers</TD>
+</TR>
<TR>
<TD>button-help.gif</TD>
<TD>Help</TD>
<PRE CLASS="command">
cd locale
-cp cups.pot fr_CA.po
+cp cups.pot cups_fr_CA.po
</PRE>
-<P>Alternatively, you can copy the existing <VAR>fr.po</VAR>
+<P>Alternatively, you can copy the existing <VAR>cups_fr.po</VAR>
message catalog and then make any necessary changes.</P>
<P>Once you have make your copy of the file, edit it using your
favorite text editor or translation program to translate the text
to the desired language.</P>
-<P>Finally, add your locale to the <CODE>LANGUAGES</CODE>
-variable in the <VAR>locale/Makefile</VAR> file and run the "make
+<P>Then validate your translation using the <VAR>locale/checkpo</VAR> utility:</P>
+
+<PRE CLASS="command">
+cd locale
+./checkpo cups_ll_CC.po
+</PRE>
+
+<P>After fixing any errors in your translation, add your locale to the <CODE>LANGUAGES</CODE>
+variable in the <VAR>Makedefs</VAR> file and run the "make
install" command in the <VAR>locale</VAR> subdirectory to test
the translation.</P>
<VAR>templates/fr_CA</VAR> subdirectory. After you have
translated all of the templates, add the locale to the
<CODE>LANGUAGES</CODE> variable in the
-<VAR>templates/Makefile</VAR> and run "make install" in the
+<VAR>Makedefs</VAR> file and run "make install" in the
<VAR>templates</VAR> subdirectory to test the translation.</P>
<DIV CLASS="table"><TABLE SUMMARY="Web Interface Template Files">
<TD>This is the initial form that is shown to add a new
printer.</TD>
</TR>
+<TR>
+ <TD>add-rss-subscription.tmpl</TD>
+ <TD>This is the form that is shown to add a new RSS subscription.</TD>
+</TR>
<TR>
<TD>admin.tmpl</TD>
<TD>This is the main administration page.</TD>
<TD>This template shows the "showing N or M jobs" header in the
jobs list.</TD>
</TR>
+<TR>
+ <TD>list-available-printers.tmpl</TD>
+ <TD>This template shows a list of new printers that have been found.</TD>
+</TR>
<TR>
<TD>maintenance.tmpl</TD>
<TD>This template shows "maintenance commands sent".</TD>
<TD>This template is used as the first form when modifying a
printer.</TD>
</TR>
+<TR>
+ <TD>norestart.tmpl</TD>
+ <TD>This template shows "server not restarted because no
+ changes were made to the configuration".</TD>
+</TR>
<TR>
<TD>option-boolean.tmpl</TD>
<TD>This template is used to select a boolean PPD option.</TD>
<TD>This template shows the last part of the set printer options
form.</TD>
</TR>
+<TR>
+ <TD>subscription-added.tmpl</TD>
+ <TD>This template shows "subscription xyz added".</TD>
+</TR>
+<TR>
+ <TD>subscription-canceled.tmpl</TD>
+ <TD>This template shows "subscription #NNN canceled".</TD>
+</TR>
<TR>
<TD>test-page.tmpl</TD>
<TD>This template shows "test page printed".</TD>
<TD>export-samba</TD>
<TD>Exports printers to Samba.</TD>
</TR>
+<TR>
+ <TD>find-new-printers</TD>
+ <TD>Find new printers that have not yet been added.</TD>
+</TR>
<TR>
<TD>modify-class</TD>
<TD>Modifies a printer class.</TD>