← Back to team overview

kicad-developers team mailing list archive

Re: Translation of dialog_bom_help.html

 

As a some start point, I was simplified
eeschema/dialogs/dialog_bom_help.html as much as possible (with several
fixes).

пт, 13 июл. 2018 г. в 6:40, David Godfrey <info@xxxxxxxxxxx>:

> Hi Wayne,
>
> Out of interest, if formatted translated text is required in this dialogue
> would  it be easier to change from html to markdown?
>
> At least markdown is fairly easy for a translator to work with, although
> it doesn't provide all of the flexibility of html.
> Regards
> David Godfrey
> SB Tech Services
> mb: +61 437 286 200 <+61437286200>
>
> chat: with *dcg_mx* at
> #sbts:matrix.org <http://riot.im/app/#/room/%23sbts:matrix.org> (Computer)
> #sbts:matrix.org <http://matrix.to/#/%23sbts:matrix.org> (mobile Device)
>
>
> On 12/07/18 22:15, Wayne Stambaugh wrote:
>
> On 7/12/2018 8:59 AM, Simon Richter wrote:
>
> Hi,
>
> On 11.07.2018 21:51, Wayne Stambaugh wrote:
>
>
> This probably should have been done as a cpp string wrapped with the
> translation macro _().  I'm not sure there is anything we can do to make
> this translatable.  Anyone else have any ideas?
>
>
> We could move the entire text to the user documentation, and make the
> dialog point at it.
>
> If the dialog is unusable without the documentation, then that is a
> separate problem, but I doubt it's that bad.
>
>    Simon
>
>
> I completely missed the fact the html file is converted to a C string by
> Html2C.cmake.  It would be easy enough to modify Html2C.cmake to wrap
> the string with the _() macro.  The problem I see is the string (see
> generated file eeschema/dialogs/dialog_bom_help_html.h) has a lot of
> markup which I'm sure will make life miserable for translators.
>
> We could try Simon's suggestion of moving the html text to the eeschema
> user docs and provide a link using the help button.  We would have to
> add code to point the help url to the translated version if it exists
> but that shouldn't be too difficult (famous last words).  The contents
> of the BOM dialog html file do not appear to exist anywhere in the
> eeschema user doc.
>
> In the future we should refrain from doing this so that all source
> strings and documentation can be translated.
>
> Wayne
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
From e787b579b7e197f6391be153ba57a298190b20bd Mon Sep 17 00:00:00 2001
From: Baranovskiy Konstantin <baranovskiykonstantin@xxxxxxxxx>
Date: Fri, 13 Jul 2018 20:09:01 +0300
Subject: [PATCH] Html source of bom help message is simplified.

The file eeschema/dialogs/dialog_bom_help.html was generated from
LibreOffice and has the lot of unnecessary tags.
---
 eeschema/dialogs/dialog_bom_help.html | 555 +++++++++++++-------------
 1 file changed, 273 insertions(+), 282 deletions(-)

diff --git a/eeschema/dialogs/dialog_bom_help.html b/eeschema/dialogs/dialog_bom_help.html
index cd6169a2c..529d93e42 100644
--- a/eeschema/dialogs/dialog_bom_help.html
+++ b/eeschema/dialogs/dialog_bom_help.html
@@ -1,286 +1,277 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!DOCTYPE html>
 <html>
-<head>
-	<meta http-equiv="content-type" content="text/html; charset=windows-1252"/>
-	<title>kicad help</title>
-	<meta name="generator" content="LibreOffice 4.3.5.2 (Windows)"/>
-	<meta name="created" content="00:00:00"/>
-	<meta name="changed" content="2015-05-27T11:29:49.733000000"/>
-	<meta name="created" content="00:00:00">
-	<meta name="changed" content="2015-05-27T10:36:10.287000000">
-	<meta name="created" content="00:00:00">
-	<meta name="changed" content="2015-05-27T09:45:48.809000000">
-	<meta name="created" content="00:00:00">
-	<meta name="changed" content="2015-05-27T09:29:26.026000000">
-	<meta name="created" content="00:00:00">
-	<meta name="changed" content="2014-12-03T20:04:24.723000000">
-	<meta name="created" content="00:00:00">
-	<meta name="changed" content="2014-12-03T20:04:06.003000000">
-	<meta name="created" content="00:00:00">
-	<meta name="changed" content="2014-12-03T19:59:24.882000000">
-	<style type="text/css">
-		@page { margin: 2cm }
-		p { margin-bottom: 0.21cm; color: #000000; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto }
-		p.western { font-family: "Arial", sans-serif; font-size: 10pt; so-language: en-US }
-		h1 { color: #000000 }
-		h1.western { font-family: "Times New Roman", serif }
-		h2 { color: #000000 }
-		h2.western { font-family: "Times New Roman", serif; font-size: 20pt }
-		h2.cjk { font-family: "SimSun"; font-size: 14pt }
-		h2.ctl { font-family: "Mangal"; font-size: 14pt }
-		h3 { background: transparent; color: #000000 }
-		h3.western { font-family: "Times New Roman", serif; font-size: 16pt; font-style: italic }
-		h3.cjk { font-family: "SimSun" }
-		h3.ctl { font-family: "Mangal" }
-		a:link { color: #004586; text-decoration: none }
-		a.western:link { font-family: "Liberation Sans", sans-serif; so-language: zxx; font-style: italic }
-		a.sdfootnotesym-western { font-family: "DejaVu Serif", serif }
-	</style>
-</head>
-<body lang="en-AU" text="#000000" link="#004586" dir="ltr">
-<h1 class="western"><a name="__RefHeading__2925_482973253"></a>1 -
-Full documentation:</h1>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-weight: normal">The
-</span><i><b>Eeschema documentation</b></i> <span style="font-weight: normal">describes
-this </span><b>intermediate netlist and gives examples<br></b><span style="font-weight: normal">See
-also </span><i><b>https://answers.launchpad.net/kicad/+faq/2265</b></i></font></font></p>
-<h1 class="western"><i>2 - </i>The intermediate Netlist File</h1>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">BOM
-files (and netlist files) can be created from an Intermediate netlist
-file created by Eeschema.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">This
-file uses XML syntax and is called the intermediate netlist. The
-intermediate netlist includes a large amount of data about your board
-and because of this, it can be used with post-processing to create a
-BOM or other reports.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Depending
-on the output (BOM or netlist), different subsets of the complete
-Intermediate Netlist file will be used in the post-processing.</font></font></p>
-<h1 class="western">3 - Conversion to a new format</h1>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">By
-applying a post-processing filter to the Intermediate netlist file
-you can generate foreign netlist files as well as BOM files. Because
-this conversion is a text to text transformation.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">this
-post-processing filter can be written using <b>Python</b>, <b>XSLT</b>,
-or any other tool capable of taking XML as input.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">XSLT
-itself is a XML language very suitable for XML transformations. There
-is a free program called </span></span></span><i><span style="font-weight: normal">xsltproc</span></i><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">that
-you can download and install. The</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">xsltproc
-program can be used to read the Intermediate XML netlist input file,
-apply</span></span></span><span style="font-variant: normal"> </span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">a
-style-sheet to transform the input, and save the results in an output
-file. Use of xsltproc requires a style-sheet file using XSLT
-conventions. The full conversion process is handled</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">by
-Eeschema, after it is configured once to run xsltproc in a specific
-way.</span></span></span></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; font-variant: normal; font-style: normal; font-weight: normal; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">A
-Python script is somewhat more easy to create.</font></font></p>
-<h1 class="western">4 - Initialization of the dialog window</h1>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">You
-should add a new pluging (a script) in plugin list by clicking on the
-Add Plugin button.</font></font></p>
-<h2 class="western">4.1 - Plugin Configuration Parameters</h2>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
-Eeschema plug-in configuration dialog requires the following
-information:</font></font></p>
-<ul>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
-	title: for instance, the name of the netlist format.</font></font></p>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
-	command line to launch the converter (usually a script).</font></font></p>
-</ul>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b><i>Note (Windows only):</i></b></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; margin-top: 0cm; margin-left: 1cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i>By default, command line runs with hidden console window and output is redirected to "Plugin info" field. To show the window of the running command, set the checkbox "Show console window".</i></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Once
-you click on the generate button the following will happen:</font></font></p>
-<ol>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Eeschema
-	creates an intermediate netlist file *.xml, for instance <i>test.xml.</i></font></font></p>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Eeschema
-	runs the script from the command line to create the final output
-	file.</font></font></p>
-</ol>
-<h2 class="western">4.2 - Generate netlist files with the command
-line</h2>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Assuming
-we are using the program <i>xsltproc.exe</i><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal">to
-apply the sheet style to the intermediate file, </span></span><i>xsltproc.exe</i><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal">is
-executed with the following command.</span></span></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">xsltproc.exe
--o &lt; output filename &gt; &lt; style-sheet filename &gt; &lt;
-input XML file to convert &gt;</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Windows the command line is the following.<br><i>f:/kicad/bin/xsltproc.exe
--o &ldquo;%O&rdquo; f:/kicad/bin/plugins/myconverter.xsl &ldquo;%I&rdquo;</i></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Linux the command becomes as following.<br><i>xsltproc -o &ldquo;%O&rdquo;
-/usr/local/kicad/bin/plugins/myconverter .xsl &ldquo;%I&rdquo;<br>w</i><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">here
-</span></span></span><span style="font-variant: normal"><i><span style="font-weight: normal">myconverter</span></i></span><i><span style="font-weight: normal">.xsl</span></i><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">is
-the style-sheet that you are applying.</span></span></span></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">Do
-not forget the double quotes</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">around
-the file names, this allows them to have spaces after the
-substitution by Eeschema.</span></span></span></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; font-variant: normal; font-style: normal; font-weight: normal; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">If
-a Python script is used, the command line is something like
-(depending on the Python script):</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i>python</i>
-<i>f:/kicad/bin/plugins/bom-in-python/myconverter.py</i>
-&ldquo;<i>%I&rdquo;&ldquo;%O&rdquo;<br>or<br>python</i>
-<i>/usr/local/kicad/bin/plugins/bom-in-python/myconverter .xsl &ldquo;%I&rdquo;
-&ldquo;%O&rdquo; </i></font></font>
-</p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
-command line format accepts parameters for filenames:</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
-supported formatting parameters are.</font></font></p>
-<ul>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%B</b>
-	=&gt; base filename of selected output file, minus path and extension.</font></font></p>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%P</b>
-	=&gt; project directory, without name and without trailing '/'.</font></font></p>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%I
-	</b>=&gt; complete filename and path of the temporary input file
-	(the intermediate net file).</font></font></p>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%O</b>
-	=&gt; complete filename and path (but without extension) of the user
-	chosen output file.</font></font></p>
-</ul>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><b>%I</b>
-will be replaced by the actual intermediate file name<span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">(usually
-the full root sheet filename with extension &ldquo;.xml&rdquo;)</span></span></span><br><span style="font-variant: normal"><span style="font-style: normal"><b>%O</b></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">will
-be replaced by the actual output file name (the full root sheet
-filename minus extension).<br></span></span></span><span style="font-variant: normal"><span style="font-style: normal"><b>%B</b></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">will
-be replaced by the actual output short file name</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">(the
-short root sheet filename minus extension).<br></span></span></span><span style="font-variant: normal"><span style="font-style: normal"><b>%P</b></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">will
-be replaced by the actual current project path.</span></span></span></font></font></p>
-<h2 class="western">4.3 - Command line format:</h2>
-<h3 class="western">4.3.1 - Remark:</h3>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Most
-of time, the created file must have an extension, depending on its
-type.<br>Therefore you have to add to the option <i><b>%O</b></i> the
-right file extension.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">For
-instance:</font></font></p>
-<ul>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i><b>%O.csv</b></i>
-	to create a .csv file (comma separated value file).</font></font></p>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i><b>%O.html</b></i>
-	to create a .html file.</font></font></p>
-	<li/>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-	<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><i><b>%O.bom</b></i>
-	to create a .bom file.</font></font></p>
-</ul>
-<h3 class="western">4.3.2 Example for<i> </i><span style="font-variant: normal"><i>xsltproc:</i></span></h3>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-variant: normal"><span style="font-style: normal">The
-command line format for xsltproc is the following:<br>&lt; path of
-</span></span>xsltproc &gt; <span style="font-variant: normal"><span style="font-style: normal">xsltproc
-&lt; </span></span>xsltproc parameters &gt;</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Windows:<br><i><b>f:/kicad/bin/xsltproc.exe -o &ldquo;%O.bom</b></i>&rdquo;
-<i><b>f:/kicad/bin/plugins/netlist_form_pads-pcb.xsl &ldquo;%I&rdquo;</b></i></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Linux:<br><i><b>xsltproc -o &ldquo;%O.bom</b></i>&rdquo;
-<i><b>/usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl &ldquo;%I&rdquo;</b></i></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt"><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">The
-above examples assume</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">xsltproc
-is installed on your PC under Windows xsl</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">exe</span></span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">files
-located in kicad/bin</span></span></span><span style="font-variant: normal"><i><b>plugins/</b></i></span><span style="font-variant: normal"><span style="font-style: normal"><span style="font-weight: normal">.</span></span></span></font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0">
-<br/>
+	<head>
+		<meta charset="utf-8"/>
+		<title>
+kicad help
+		</title>
+	</head>
+	<body>
+		<h1>
+1 - Full documentation:
+		</h1>
+		<p>
+The <i><b>Eeschema documentation</b></i> describes this <b>intermediate netlist and gives examples.</b>
+			<br>
+See also <a href="https://answers.launchpad.net/kicad/+faq/2265";>https://answers.launchpad.net/kicad/+faq/2265</a>
+		</p>
 
-</p>
-<h3 class="western">4.3.3 <i>Example fo</i><span style="font-variant: normal"><i>r
-python scripts:</i></span></h3>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">The
-command line format for python is something like:<br><span style="font-variant: normal"><span style="font-style: normal">python</span></span><span style="font-variant: normal">
-</span><span style="font-variant: normal"><span style="font-style: normal">&lt;
-script file name </span></span>&gt; &lt; input filename &gt; &lt;
-output filename &gt;</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Windows:<br><i><b>python.exe f:/kicad/bin/plugins
-/bom-in-python/my_python_script.py</b></i> &ldquo;<i><b>%I&rdquo;
-&ldquo;%O.html</b></i>&rdquo;</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">On
-Linux:<br><i><b>python</b></i> <i><b>/usr/local/kicad/bin/plugins
-/bom-in-python/my_python_script.py</b></i> &ldquo;<i><b>%I&rdquo;
-&ldquo;%O.csv</b></i>&rdquo;</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<font face="Times New Roman, serif"><font size="3" style="font-size: 12pt">Assuming
-python is installed on your PC, and python scripts are located in
-<i><b>kicad/bin/plugins /bom-in-python/</b></i>.</font></font></p>
-<p lang="en-US" class="western" style="margin-bottom: 0cm; widows: 0; orphans: 0; page-break-before: auto; page-break-after: auto">
-<br/>
+		<h1>
+2 - The intermediate Netlist File
+		</h1>
+		<p>
+BOM files (and netlist files) can be created from an Intermediate netlist file created by Eeschema.
+		</p>
+		<p>
+This file uses XML syntax and is called the intermediate netlist. The intermediate netlist includes a large amount of data about your board and because of this, it can be used with post-processing to create a BOM or other reports.
+		</p>
+		<p>
+Depending on the output (BOM or netlist), different subsets of the complete Intermediate Netlist file will be used in the post-processing.
+		</p>
 
-</p>
-</body>
+		<h1>
+3 - Conversion to a new format
+		</h1>
+		<p>
+By applying a post-processing filter to the Intermediate netlist file you can generate foreign netlist files as well as BOM files. Because this conversion is a text to text transformation.
+		</p>
+		<p>
+This post-processing filter can be written using <b>Python</b>, <b>XSLT</b>, or any other tool capable of taking XML as input.
+		</p>
+		<p>
+XSLT itself is a XML language very suitable for XML transformations. There is a free program called <i>xsltproc</i> that you can download and install. The xsltproc program can be used to read the Intermediate XML netlist input file, apply a style-sheet to transform the input, and save the results in an output file. Use of xsltproc requires a style-sheet file using XSLT conventions. The full conversion process is handled by Eeschema, after it is configured once to run xsltproc in a specific way.
+		</p>
+		<p>
+A Python script is somewhat more easy to create.
+		</p>
+
+		<h1>
+4 - Initialization of the dialog window
+		</h1>
+		<p>
+You should add a new pluging (a script) in plugin list by clicking on the Add Plugin button.
+		</p>
+
+		<h2>
+4.1 - Plugin Configuration Parameters
+		</h2>
+		<p>
+The Eeschema plug-in configuration dialog requires the following information:
+		</p>
+		<ul>
+			<li>
+				<p>
+The title: for instance, the name of the netlist format.
+				</p>
+			</li>
+			<li>
+				<p>
+The command line to launch the converter (usually a script).
+				</p>
+			</li>
+		</ul>
+		<p>
+			<b><i>
+Note (Windows only):
+			</i></b>
+		</p>
+		<p>
+			<i>
+By default, command line runs with hidden console window and output is redirected to "Plugin info" field. To show the window of the running command, set the checkbox "Show console window".
+			</i>
+		</p>
+		<p>
+Once you click on the generate button the following will happen:
+		</p>
+		<ol>
+			<li>
+				<p>
+Eeschema creates an intermediate netlist file *.xml, for instance <i>test.xml.</i>
+				</p>
+			</li>
+			<li>
+				<p>
+Eeschema runs the script from the command line to create the final output file.
+				</p>
+			</li>
+		</ol>
+
+		<h2>
+4.2 - Generate netlist files with the command line
+		</h2>
+		<p>
+Assuming we are using the program <i>xsltproc.exe</i> to apply the sheet style to the intermediate file, <i>xsltproc.exe</i> is executed with the following command.
+		</p>
+		<p>
+			<samp>
+xsltproc.exe -o &lt; output filename &gt; &lt; style-sheet filename &gt; &lt; input XML file to convert &gt;
+			</samp>
+		</p>
+		<p>
+On Windows the command line is the following.
+		</p>
+		<p>
+			<samp>
+f:&bsol;kicad&bsol;bin&bsol;xsltproc.exe -o &ldquo;%O&rdquo; f:&bsol;kicad&bsol;bin&bsol;plugins&bsol;myconverter.xsl &ldquo;%I&rdquo;
+			</samp>
+		</p>
+		<p>
+On Linux the command becomes as following.
+		</p>
+		<p>
+			<samp>
+xsltproc -o &ldquo;%O&rdquo; /usr/local/kicad/bin/plugins/myconverter .xsl &ldquo;%I&rdquo;
+			</samp>
+		</p>
+		<p>
+where <i>myconverter.xsl</i> is the style-sheet that you are applying.
+		</p>
+		<p>
+Do not forget the double quotes around the file names, this allows them to have spaces after the substitution by Eeschema.
+		</p>
+		<p>
+If a Python script is used, the command line is something like (depending on the Python script):
+		</p>
+		<p>
+			<samp>
+python f:&bsol;kicad&bsol;bin&bsol;plugins&bsol;bom-in-python&bsol;myconverter.py &ldquo;%I&rdquo;&ldquo;%O&rdquo;
+			</samp>
+		</p>
+		<p>
+or
+		</p>
+		<p>
+			<samp>
+python /usr/local/kicad/bin/plugins/bom-in-python/myconverter.py &ldquo;%I&rdquo; &ldquo;%O&rdquo;
+			</samp>
+		</p>
+		<p>
+The command line format accepts parameters for filenames:
+		</p>
+		<p>
+The supported formatting parameters are.
+		</p>
+		<ul>
+			<li>
+				<p>
+<b>%B</b> =&gt; base filename of selected output file, minus path and extension.
+				</p>
+			</li>
+			<li>
+				<p>
+<b>%P</b> =&gt; project directory, without name and without trailing '/'.
+				</p>
+			</li>
+			<li>
+				<p>
+<b>%I</b> =&gt; complete filename and path of the temporary input file (the intermediate net file).
+				</p>
+			</li>
+			<li>
+				<p>
+<b>%O</b> =&gt; complete filename and path (but without extension) of the user chosen output file.
+				</p>
+			</li>
+		</ul>
+		<p>
+<b>%I</b> will be replaced by the actual intermediate file name (usually the full root sheet filename with extension &ldquo;.xml&rdquo;)
+			<br>
+<b>%O</b> will be replaced by the actual output file name (the full root sheet filename minus extension).
+			<br>
+<b>%B</b> will be replaced by the actual output short file name (the short root sheet filename minus extension).
+			<br>
+<b>%P</b> will be replaced by the actual current project path.
+		</p>
+
+		<h2>
+4.3 - Command line format:
+		</h2>
+		<h3>
+4.3.1 - Remark:
+		</h3>
+		<p>
+Most of time, the created file must have an extension, depending on its type.
+			<br>
+Therefore you have to add to the option <i><b>%O</b></i> the right file extension.
+		</p>
+		<p>
+For instance:
+		</p>
+		<ul>
+			<li>
+				<p>
+<i><b>%O.csv</b></i> to create a .csv file (comma separated value file).
+				</p>
+			</li>
+			<li>
+				<p>
+<i><b>%O.html</b></i> to create a .html file.
+				</p>
+			</li>
+			<li>
+				<p>
+<i><b>%O.bom</b></i> to create a .bom file.
+				</p>
+			</li>
+		</ul>
+		<h3>
+4.3.2 - Example for <i>xsltproc:</i>
+		</h3>
+		<p>
+The command line format for xsltproc is the following:
+		</p>
+		<p>
+			<samp>
+&lt; path of xsltproc &gt; xsltproc &lt; xsltproc parameters &gt;
+			</samp>
+		</p>
+		<p>
+On Windows:
+			<br>
+			<samp>
+f:&bsol;kicad&bsol;bin&bsol;xsltproc.exe -o &ldquo;%O.bom&rdquo; f:&bsol;kicad&bsol;bin&bsol;plugins&bsol;netlist_form_pads-pcb.xsl &ldquo;%I&rdquo;
+			</samp>
+		</p>
+		<p>
+On Linux:
+			<br>
+			<samp>
+xsltproc -o &ldquo;%O.bom&rdquo; /usr/local/kicad/bin/plugins/netlist_form_pads-pcb.xsl &ldquo;%I&rdquo;
+			</samp>
+		</p>
+		<p>
+The above examples assume xsltproc is installed on your PC under Windows xsl exe files located in kicad&bsol;bin&bsol;<b>plugins&bsol;</b>.
+		</p>
+
+		<h3>
+4.3.3 - Example for <i>python</i> scripts:
+		</h3>
+		<p>
+The command line format for python is something like:
+		</p>
+		<p>
+			<samp>
+python &lt; script file name &gt; &lt; input filename &gt; &lt; output filename &gt;
+			</samp>
+		</p>
+		<p>
+On Windows:
+		</p>
+		<p>
+			<samp>
+python.exe f:&bsol;kicad&bsol;bin/plugins&bsol;bom-in-python&bsol;my_python_script.py &ldquo;%I&rdquo; &ldquo;%O.html&rdquo;
+			</samp>
+		</p>
+		<p>
+On Linux:
+		</p>
+		<p>
+			<samp>
+python /usr/local/kicad/bin/plugins/bom-in-python/my_python_script.py &ldquo;%I&rdquo; &ldquo;%O.csv&rdquo;
+			</samp>
+		</p>
+		<p>
+Assuming python is installed on your PC, and python scripts are located in <i><b>kicad&bsol;bin&bsol;plugins&bsol;bom-in-python&bsol;</b></i>.
+		</p>
+	</body>
 </html>
-- 
2.18.0


References