home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 September / Chip_2004-09_cd1.bin / software / abi / setup.exe / AbiWord / howtotranslation.abw < prev    next >
Extensible Markup Language  |  2004-07-11  |  31KB  |  108 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE abiword PUBLIC "-//ABISOURCE//DTD AWML 1.0 Strict//EN" "http://www.abisource.com/awml.dtd">
  3. <abiword template="false" version="2.0.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:dc="http://purl.org/dc/elements/1.1/" fileformat="1.1" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg" xmlns:awml="http://www.abisource.com/awml.dtd" xmlns="http://www.abisource.com/awml.dtd" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" props="lang:yi-US; dom-dir:ltr">
  4. <!-- ======================================================================== -->
  5. <!-- This file is an AbiWord document.                                        -->
  6. <!-- AbiWord is a free, Open Source word processor.                           -->
  7. <!-- More information about AbiWord is available at http://www.abisource.com/ -->
  8. <!-- You should not edit this file by hand.                                   -->
  9. <!-- ======================================================================== -->
  10.  
  11. <metadata>
  12. <m key="dc.format">application/x-abiword</m>
  13. <m key="abiword.generator">AbiWord</m>
  14. <m key="abiword.date_last_changed">Tue Sep 16 14:40:14 2003</m>
  15. <m key="dc.title">AbiWord Help: How To Translate AbiWord</m>
  16. <m key="dc.creator">Copyright (C) 2003 Raphael Finkel</m>
  17. </metadata>
  18. <styles>
  19. <s type="P" name="Heading 1" basedon="Normal" followedby="Normal" props="font-family:Arial; margin-top:22pt; font-style:normal; font-weight:bold; lang:en-GB; text-indent:0.00cm; text-align:center; keep-with-next:1; bgcolor:transparent; margin-bottom:3pt; line-height:1.000000; font-size:17pt; field-font:NULL"/>
  20. <s type="P" name="Normal" followedby="Current Settings" props="text-indent:0in; field-font:NULL; margin-top:0pt; margin-left:0pt; font-stretch:normal; line-height:1.0; text-align:left; bgcolor:transparent; lang:yi; dom-dir:ltr; margin-bottom:0pt; font-weight:normal; text-decoration:none; font-variant:normal; color:000000; text-position:normal; font-size:12pt; margin-right:0pt; font-style:normal; widows:2; font-family:Times New Roman"/>
  21. <s type="P" name="Heading 2" basedon="Normal" followedby="Normal" props="margin-top:22pt; font-size:14pt; text-indent:0.00cm; margin-bottom:3pt; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/>
  22. <s followedby="Current Settings" name="Code" basedon="Plain Text" type="C" props="bgcolor:transparent; font-weight:bold; color:000000; font-family:Courier; font-size:12pt; font-style:normal"/>
  23. <s type="P" name="Plain Text" basedon="Normal" followedby="Current Settings" props="font-family:Courier New"/>
  24. </styles>
  25. <lists>
  26. <l id="1004" parentid="0" type="0" start-value="2" list-delim="%L." list-decimal="."/>
  27. <l id="1008" parentid="0" type="0" start-value="3" list-delim="%L." list-decimal="."/>
  28. <l id="1010" parentid="0" type="0" start-value="4" list-delim="%L." list-decimal="."/>
  29. <l id="1012" parentid="0" type="0" start-value="5" list-delim="%L." list-decimal="."/>
  30. <l id="1014" parentid="0" type="0" start-value="6" list-delim="%L." list-decimal="."/>
  31. <l id="1017" parentid="1014" type="0" start-value="1" list-delim="%L." list-decimal="."/>
  32. <l id="1022" parentid="0" type="0" start-value="2" list-delim="%L." list-decimal="."/>
  33. <l id="1024" parentid="0" type="0" start-value="3" list-delim="%L." list-decimal="."/>
  34. <l id="1026" parentid="0" type="0" start-value="4" list-delim="%L." list-decimal="."/>
  35. <l id="1028" parentid="0" type="0" start-value="5" list-delim="%L." list-decimal="."/>
  36. <l id="1000" parentid="0" type="0" start-value="1" list-delim="%L" list-decimal="."/>
  37. <l id="1019" parentid="0" type="0" start-value="1" list-delim="%L" list-decimal="."/>
  38. </lists>
  39. <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
  40. <section>
  41. <p style="Heading 1"><c props="lang:en-US">Translating AbiWord</c><c props="lang:en-US"></c></p>
  42. <p style="Heading 2"><c props="lang:en-US">Getting started</c><c props="lang:en-US"></c></p>
  43. <p style="Normal"></p>
  44. <p level="1" listid="1000" parentid="0" style="Normal" props="list-style:Numbered List; start-value:1; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1001; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US"> If you want to work on a particular language, say Pelonian (langu</c>age<c props="font-weight:bold; lang:en-US"> </c><c style="Code">zz-ZZ</c><c props="lang:en-US">), you may start this way:</c></p>
  45. <p style="Plain Text" props="margin-left:36pt"><c props="lang:en-US">    </c><c props="lang:en-US"></c><c style="Code">/update.pl --pot</c></p>
  46. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    mv abiword.pot zz-ZZ.po</c><c style="Code"></c></p>
  47. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">(The .po suffix doesn't mean Pelonian; it applies to any language.) Now edit </c><c props="lang:en-US"></c><c style="Code">zz-ZZ.po</c><c props="lang:en-US">.  Fix the comment at the start to indicate who you are, what the language is, and when you are doing this work.</c></p>
  48. <p level="1" listid="1004" parentid="0" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:2; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1005; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">I strongly recommend you use Unicode UTF-8 to encode all your Pelonian strings.  In the comment at the top of </c><c style="Code">zz-ZZ.po</c><c props="lang:en-US">, make sure the following two lines appear:</c></p>
  49. <p style="Plain Text" props="margin-left:36pt"><c props="lang:en-US">    </c><c props="lang:en-US"></c><c style="Code">"Content-Type: text/plain; charset=UTF-8\n"</c></p>
  50. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    "Content-Transfer-Encoding: 8-bit\n"</c><c style="Code"></c></p>
  51. <p level="1" listid="1008" parentid="0" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:3; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1009; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">Now you want to translate all lines that start with </c><c style="Code">msgid</c><c props="lang:en-US"> and place the translation in place of the empty string in the following msgstr line.  For instance, you might translate</c></p>
  52. <p style="Plain Text" props="margin-left:36pt"><c props="lang:en-US">    </c><c props="lang:en-US"></c><c style="Code">msgid "the dictionary"</c></p>
  53. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    msgstr "grompabikku-la"</c><c style="Code"></c></p>
  54. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">(Sorry, my knowledge of the Pelonian language is limited.) Translate as many entries as you like.  Entries that have </c><c props="lang:en-US"></c><c style="Code">%d</c><c props="lang:en-US"> or </c><c style="Code">%s</c><c props="lang:en-US"> should most likely be translated with </c><c style="Code">%d</c><c props="lang:en-US"> and </c><c style="Code">%s</c><c props="lang:en-US"> in place, referring to numeric or string data to be filled in later.  Don't worry that lines get very long.  If you like, you may divide long lines:</c></p>
  55. <p style="Plain Text" props="margin-left:36pt"><c props="lang:en-US">    </c><c props="lang:en-US"></c><c style="Code">msgstr ""</c></p>
  56. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    "implog revulam"</c><c style="Code"></c></p>
  57. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    "groppsigu moturo nula"</c><c style="Code"></c></p>
  58. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">Later processing steps will automatically divide long lines for you in any case.</c><c props="lang:en-US"></c></p>
  59. <p level="1" listid="1010" parentid="0" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:4; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1011; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">Once you have translated as much as you want, check your translation for sanity:</c></p>
  60. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    msgfmt -cv zz-ZZ.po</c><c style="Code"></c><c props="lang:en-US">    </c></p>
  61. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">Fix any errors that msgfmt finds.  Then run this script:</c><c props="lang:en-US"></c></p>
  62. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    ./ui-backport.pl zz-ZZ</c><c style="Code"></c></p>
  63. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">This program places strings in </c><c props="lang:en-US"></c><c style="Code">../user/wp/strings/zz-ZZ.strings</c><c props="lang:en-US">.  The next time you build AbiWord, the Pelonian strings will be available, or you can manually copy the strings file to </c><c style="Code">$prefix/AbiSuite-2.0/AbiWord/strings/zz-ZZ.strings</c><c props="lang:en-US"> and see them immediately when you next run AbiWord.</c></p>
  64. <p level="1" listid="1012" parentid="0" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:5; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1013; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">Later, you will want to fix your translations, finish strings you didn't translate earlier, and see if new strings have been introduced into AbiWord that you need to translate.  Run this script:</c></p>
  65. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    ./update.pl zz-ZZ</c><c style="Code"></c></p>
  66. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">You will be see a summary that tells you how many messages have been translated and how many are still untranslated.  It will also indicate how many "fuzzy" translations there are.  These are translations that you have made but which may no longer be right, because AbiWord no longer uses quite the same text in the message that it did when you first made the translation.  Search for the word "fuzzy" in </c><c props="lang:en-US"></c><c style="Code">zz-ZZ.po</c><c props="lang:en-US">, and fix all such translations, if necessary.  Remove the line that says "fuzzy" to indicate that you have fixed them.  Then do whatever other translations you want, and backport as indicated above.</c></p>
  67. <p style="Normal"></p>
  68. <p level="1" listid="1014" parentid="0" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:6; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1015; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">There are several alternative techniques for building Pelonian string files, although I don't recommend them.</c></p>
  69. <p level="2" listid="1017" parentid="1014" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:1; dom-dir:ltr; margin-left:1.0000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1016; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">Look in </c><a xlink:href="http://www.abisource.com/dev/strings/strings.html"><c props="lang:en-US">http://www.abisource.com/dev/strings/strings.html</c></a><c props="lang:en-US"> (quite long; all you need is the beginning) to find a fairly complete translation of some language that you can work from, perhaps because the language is related to Pelonian.  Say you choose </c><c style="Code">no-NO</c><c props="lang:en-US">.  Copy </c><c style="Code">user/wp/strings/no-NO.strings</c><c props="lang:en-US"> to </c><c style="Code">user/wp/strings/zz-ZZ.strings</c><c props="lang:en-US"> and modify the translations.  Disadvantages: (a) You can't easily keep up with new strings added to AbiWord over time, (b) You can't easily find which Pelonian strings you haven't done yet, (c) In the cases where the same English string occurs in multiple instances, you need to introduce your Pelonian translation for each instance. (d) You have to trust the no-NO translation, which is one step removed from the English source.</c></p>
  70. <p level="2" listid="1017" parentid="1014" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:1; dom-dir:ltr; margin-left:1.0000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1018; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">Run </c><c style="Code">AbiWord --dumpstrings</c><c props="lang:en-US">; you will find a fresh file in the current directory called en-US.strings.  Copy this file to </c><c style="Code">user/wp/strings/zz-ZZ.strings</c><c props="lang:en-US"> and edit it.  Disadvantages:  (a-c) above.</c></p>
  71. <p style="Heading 2"><c props="lang:en-US">Unix and Gtk+ issues</c><c props="lang:en-US"></c></p>
  72. <p style="Normal"></p>
  73. <p level="1" listid="1019" parentid="0" style="Normal" props="list-style:Numbered List; start-value:1; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1020; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">In order for your translations to appear, you need to set your environment to specify your language.  Before you start AbiWord, set your </c><c style="Code">LANG</c><c props="lang:en-US"> and </c><c style="Code">LC_ALL</c><c props="lang:en-US"> environment variables to</c><c props="width:0in; font-family:Times New Roman; display:inline; color:000000; font-weight:normal; text-position:normal; lang:en-US; font-style:normal; font-variant:normal; text-decoration:none; bgcolor:transparent; list-style:None; homogeneous:1; height:0in; font-size:12pt; font-stretch:normal">    </c></p>
  74. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    LANG=zz-ZZ.utf8</c><c style="Code"></c></p>
  75. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    LC_ALL=zz_ZZ</c><c style="Code"></c></p>
  76. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">AbiWord uses the </c><c props="lang:en-US"></c><c style="Code">LANG</c><c props="lang:en-US"> variable; Gtk+ uses the </c><c style="Code">LC_ALL</c><c props="lang:en-US"> variable.</c></p>
  77. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">When you run AbiWord, you should see all the strings you have translated in Pelonian, not in English.</c><c props="lang:en-US"></c></p>
  78. <p level="1" listid="1022" parentid="0" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:2; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1023; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">You might not like the font in which Pelonian is displayed.  In your home directory, place a file called</c></p>
  79. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    .gtkrc-2.0</c><c style="Code"></c></p>
  80. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">In that file, place a line saying</c><c props="lang:en-US"></c></p>
  81. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    gtk-font-name = "sans 20"</c><c style="Code"></c></p>
  82. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">The 20 is a size indicator; you may change that if you like.  Now you must tell Pango (which actually draws the fonts) what you mean by sans 20.  Copy </c><c props="lang:en-US"></c><c style="Code">/usr/local/etc/pango/pangox.aliases</c><c props="lang:en-US"> (it may be in a different place, such as </c><c style="Code">/etc/pango</c><c props="lang:en-US">) to </c><c style="Code">~/.pangox_aliases</c><c props="lang:en-US">).  Add your favorite Pelonian font (mine is </c><c style="Code">-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1</c><c props="lang:en-US">) to the top of the entry for "sans normal normal normal normal".  You may have to remove other fonts from that list if you don't get the font you want.</c></p>
  83. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">If your favorite font is monospace (like mine), set your </c><c props="lang:en-US"></c><c style="Code">gtk-font-name</c><c props="lang:en-US"> to </c><c props="lang:en-US; font-weight:bold; font-family:Courier">"</c><c style="Code">monospace 20</c><c props="lang:en-US; font-weight:bold; font-family:Courier">"</c><c props="lang:en-US"> and put your font name in the entry for "</c><c style="Code">monospace normal normal normal normal</c><c props="lang:en-US">".</c></p>
  84. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">If you don't see any font at all, your Unix machine is most likely using the fontconfig library.  Look at its configuration file in </c><c props="lang:en-US"></c><c style="Code">/etc/fonts/fonts.conf</c><c props="lang:en-US"> to see where it finds fonts.  For instance, you might find that it mentions the directory </c><c style="Code">/usr/share/fonts</c><c props="lang:en-US">, which is a good place to put extra fonts, such as Unicode TrueType fonts.  Apparently </c><c style="Code">/usr/share/fonts</c><c props="lang:en-US"> must not be a symlink to a remotely mounted filesystem.</c></p>
  85. <p level="1" listid="1024" parentid="0" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:3; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1025; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">Your AbiWord translations only apply to those menus and buttons that AbiWord builds for itself.  AbiWord also uses "stock" items from Gtk+, including buttons that say "Cancel" and "OK".  If you don't see these messages in Pelonian, you need to introduce Pelonian strings to the gtk+ library.  Get the source distribution of gtk+ (mine is </c><c style="Code">gtk+-2.0.0</c><c props="lang:en-US"> as of 2/2003).  In the </c><c style="Code">po</c><c props="lang:en-US"> subdirectory, run</c></p>
  86. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    ./update.pl --pot</c><c style="Code"></c></p>
  87. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    mv abiword.pot zz_ZZ.po</c><c style="Code"></c></p>
  88. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">and edit the </c><c props="lang:en-US"></c><c style="Code">zz_ZZ.po</c><c props="lang:en-US"> file just as you did for Abiword, paying special attention to those items labeled with </c><c style="Code">gtk/gtkstock.c</c><c props="lang:en-US">.</c></p>
  89. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">Modify the Makefile, adding </c><c props="lang:en-US"></c><c style="Code">zz_ZZ.po</c><c props="lang:en-US"> and </c><c style="Code">zz_ZZ.gmo</c><c props="lang:en-US"> everywhere you see </c><c style="Code">zh_CN.po</c><c props="lang:en-US">.</c></p>
  90. <p style="Plain Text" props="margin-left:36pt"><c props="lang:en-US">    </c><c props="lang:en-US"></c><c style="Code">make zz_ZZ.gmo</c></p>
  91. <p style="Normal" props="margin-left:36pt">    <c style="Code">make install</c><c style="Code"></c> (you may need privilege)</p>
  92. <p level="1" listid="1026" parentid="0" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:4; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1027; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">If you get the error message that your </c><c style="Code">zz_ZZ</c><c props="lang:en-US"> locale isn't recognized, or you don't see stock items in Pelonian, try</c></p>
  93. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    locale -a</c><c style="Code"></c></p>
  94. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">If </c><c props="lang:en-US"></c><c style="Code">zz_ZZ</c><c props="lang:en-US"> is not listed, you need to set up Pelonian as one of the supported locales on your machine.  You will need privilege, typically as root.</c></p>
  95. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    cd /usr/share/i18n/locales/</c><c style="Code"></c></p>
  96. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">        [pick any language that seems similar to Pelonian, such as en_GB]</c><c props="lang:en-US"></c></p>
  97. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    cp en_GB zz_ZZ</c><c style="Code"></c></p>
  98. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">        [edit </c><c props="lang:en-US"></c><c style="Code">zz_ZZ</c><c props="lang:en-US"> as needed, or just leave it the way it is]</c></p>
  99. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    localedef -i zz_ZZ -c -f UTF-8 zz_ZZ</c><c style="Code"></c></p>
  100. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">        [for older versions of localedef]</c><c props="lang:en-US"></c></p>
  101. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    localedef -c -f UTF-8 </c><c style="Code"></c>\</p>
  102. <p style="Plain Text" props="margin-left:108pt"><c style="Code"></c><c style="Code">-i zz_ZZ /usr/share/locale/zz_ZZ</c></p>
  103. <p style="Plain Text" props="margin-left:36pt"><c style="Code">    localedef --add-to-archive /usr/share/locale/zz_ZZ</c><c style="Code"></c></p>
  104. <p style="Normal" props="text-align:left; dom-dir:ltr; margin-left:36pt"><c props="lang:en-US">        [for newer versions]</c><c props="lang:en-US"></c></p>
  105. <p level="1" listid="1028" parentid="0" style="Normal" props="list-delim:%L.; list-decimal:.; list-style:Numbered List; start-value:5; dom-dir:ltr; margin-left:0.5000in; text-indent:-0.3000in; text-align:left; field-font:NULL"><c props="list-tag:1029; lang:en-US"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-variant:normal; font-weight:normal; lang:en-US; font-style:normal; color:000000; homogeneous:1; bgcolor:transparent; font-size:12pt; text-decoration:none; list-style:Numbered List; height:0in; text-position:normal; font-stretch:normal">    </c><c props="lang:en-US">If Pelonian is written right-to-left (RTL) instead of LTR, you might need to put a directional marker such as u202b at the start of any message that includes non-RTL characters, such as periods, query marks, and numbers.  But a better solution is to set the translation for the Gtk (not AbiWord) </c><c style="Code">msgid</c><c props="lang:en-US; font-weight:bold; font-family:Courier"> </c><c style="Code">"default:LTR"</c><c props="lang:en-US"> to be </c><c style="Code">msgstr "default:RTL"</c><c props="lang:en-US">.  This single setting modifies the "outer" directionality, influencing the position of widgets within containers and the default direction of all text.</c></p>
  106. </section>
  107. </abiword>
  108.