<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yfanhan</id>
	<title>FlightGear wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yfanhan"/>
	<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/Special:Contributions/Yfanhan"/>
	<updated>2026-04-04T13:03:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Route_manager&amp;diff=115535</id>
		<title>Zh/Route manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Route_manager&amp;diff=115535"/>
		<updated>2018-07-02T06:24:05Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BeingTranslated}}&lt;br /&gt;
{{forum|46|Autopilot &amp;amp; Route Manager}}&lt;br /&gt;
{{Autoflight Navigation}}&lt;br /&gt;
&lt;br /&gt;
一个真实的'''路线管理器'''&lt;br /&gt;
&lt;br /&gt;
==介绍==&lt;br /&gt;
(在下面的部分中，我们假设你知道基本的IFR概念，并会使用自动驾驶仪和无线电导航）&lt;br /&gt;
&lt;br /&gt;
路线管理器模拟现实世界中GPS和FMS设备的功能，它在任何飞机中都是可用的。一些驾驶舱仪器可以通过自己的UI访问路线管理器，航线管理器也是飞行计划提供给Flightgear的途径。在未来，这将希望允许更好的ATC和多人互动，因为ATC将能够看到飞行员的飞行计划。&lt;br /&gt;
&lt;br /&gt;
It's important to realize that the route-manager (and GPS) are pieces that a panel instrument might present as a single real world device - the mapping between C++ modules, generic user interface and in-panel instruments is very fluid, by design. In general core features exist in whichever place seems the most natural, and it's up to instruments to aggregate the core modules as they require.&lt;br /&gt;
==概念==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==制作路线==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===标准仪表离场和标准仪表进场===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===如何飞进场===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==激活路线==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==飞一个路线==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==对准跑道==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==特性==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==有用的软件==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==相关内容==&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Route_manager&amp;diff=115534</id>
		<title>Zh/Route manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Route_manager&amp;diff=115534"/>
		<updated>2018-07-02T06:23:43Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BeingTranslated}}&lt;br /&gt;
{{forum|46|Autopilot &amp;amp; Route Manager}}&lt;br /&gt;
{{Autoflight Navigation}}&lt;br /&gt;
&lt;br /&gt;
一个真实的'''路线管理器'''&lt;br /&gt;
&lt;br /&gt;
==介绍==&lt;br /&gt;
(在下面的部分中，我们假设你知道基本的IFR概念，并会使用自动驾驶仪和无线电导航）&lt;br /&gt;
路线管理器模拟现实世界中GPS和FMS设备的功能，它在任何飞机中都是可用的。一些驾驶舱仪器可以通过自己的UI访问路线管理器，航线管理器也是飞行计划提供给Flightgear的途径。在未来，这将希望允许更好的ATC和多人互动，因为ATC将能够看到飞行员的飞行计划。&lt;br /&gt;
&lt;br /&gt;
It's important to realize that the route-manager (and GPS) are pieces that a panel instrument might present as a single real world device - the mapping between C++ modules, generic user interface and in-panel instruments is very fluid, by design. In general core features exist in whichever place seems the most natural, and it's up to instruments to aggregate the core modules as they require.&lt;br /&gt;
==概念==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==制作路线==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===标准仪表离场和标准仪表进场===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===如何飞进场===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==激活路线==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==飞一个路线==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==对准跑道==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==特性==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==有用的软件==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==相关内容==&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Howto:Creating_3D_instruments&amp;diff=115533</id>
		<title>Zh/Howto:Creating 3D instruments</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Howto:Creating_3D_instruments&amp;diff=115533"/>
		<updated>2018-07-02T05:57:53Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;本教程描述了制作在FlightGear中使用的3D仪器的基本过程。现在，我们假设你已经完成了仪器的3D模型。我们将会用FITK 50的ITT测量仪作为例子来教会你如何添加3D仪器模型进入驾驶舱。&lt;br /&gt;
&lt;br /&gt;
=== 你需要什么 ===&lt;br /&gt;
* 一个文本编辑器 （即使是记事本也可以，但是语法高亮可以帮助你找出错误。如果你在Windows上[http://notepad-plus.sourceforge.net/uk/site.htm Notepad++],看起来很合适。）&lt;br /&gt;
* 你的3D模型&lt;br /&gt;
* Flightgear&lt;br /&gt;
=== Creating the XML file ===&lt;br /&gt;
The first step is to create an XML file which will load the 3D model and animate it. There are no hard and fast rules about where these files should live or what they must be called, but we'll follow the fairly standard procedure of calling it itt.xml and placing it in the Models directory.&lt;br /&gt;
&lt;br /&gt;
So, using your favourite text editor, create a file called itt.xml in the Aircraft/fokker50/Models directory (folder).&lt;br /&gt;
&lt;br /&gt;
It should start like this (and please remember that case is ALWAYS important);&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Everything you will add to this file '''must''' go between the &amp;lt;PropertyList&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
Now, our file does nothing useful at this point. First of all, we want to tell FG to load the 3d model of our instrument. Add a section under &amp;lt;PropertyList&amp;gt; like this;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;path&amp;gt;itt.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is obviously the name of the 3d model file we wish to load. The model in question looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker51_ITT_screenshot1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adding an animation ===&lt;br /&gt;
&lt;br /&gt;
{{main article | Howto:_Animate_models}}&lt;br /&gt;
&lt;br /&gt;
As you can see, the main item to animate is the temperature needle, and its name is &amp;quot;needle&amp;quot; (you can animate either [[AC3D]] &amp;quot;objects&amp;quot; or complete &amp;quot;groups&amp;quot;). We will want to use a &amp;quot;rotate&amp;quot; animation (for more details on available animation types, see &amp;quot;model-howto.html&amp;quot; which is provided with FG in the Docs directory.)&lt;br /&gt;
&lt;br /&gt;
So, we add an &amp;lt;animation&amp;gt; section to our XML file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;rotate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;needle&amp;lt;/object-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, we need to specify a property which will determine the amount of rotation required; in other words, the property that provides the ITT value at any one time. To find the name of this property, we need to start FlightGear in the usual manner with the correct aircraft (fokker50 in this case). Once FG has started, open the property browser (file/browse internal properties). You will see the top level of the property tree. Click on &amp;quot;engines&amp;quot; and you will see a list of engines; click on the first one (engine) and you will see a long list of properties and their current values.&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker50_prop_browser_screenshot1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now, we have a slight problem at this stage; the fokker50 was created before JSBSim could model turboprops, and so the ITT property is not available right now. For the purposes of this tutorial though, we'll just use the exhaust temperature instead; the process is what's important.&lt;br /&gt;
&lt;br /&gt;
So, the next line in our XML file will specify the property to use;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next we need to specify exactly how much that property moves the needle. There are several ways to do this, but we'll use a simple interpolation table since these are especially useful in more complicated situations. The ITT gauge is marked from 0 degC to 1200 degC; since we're having to use a value that's reported in degF for now, we'll just convert those two values. 0 degC is about 32 degF and 1200 degC is about 2192 degF. Two handy tips here; for Linux/unix users, the &amp;quot;units&amp;quot; program is truly invaluable; for everyone, google has a useful units converter; for example search for &amp;quot;&lt;br /&gt;
1200 degrees celsius in fahrenheit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On to our table then.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;interpolation&amp;gt;&lt;br /&gt;
            &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;32&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
            &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;2192&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;230&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;/interpolation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;ind&amp;gt; entries are the ''ind''ependent variables, or values read from the property tree; the &amp;lt;dep&amp;gt; entries are the ''dep''endent variables, or corresponding degrees the object will be rotated by. In this case I found that number by rotating the needle in AC3D from one end of the scale to the other and reading off the rotation value reported (see screenshot)&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker50_rotation_value.jpg]]&lt;br /&gt;
&lt;br /&gt;
Having configured the type of animation, the controlling property, and specified the effect of that property, we need to describe an axis and centre for the animation.&lt;br /&gt;
&lt;br /&gt;
In this case, the centre is easy, because the needle centre is at the origin of the 3d model. If you wanted the rotation centre to be somewhere else, you could use your modelling app to obtain these values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;center&amp;gt;&lt;br /&gt;
            &amp;lt;x-m&amp;gt;0&amp;lt;/x-m&amp;gt;&lt;br /&gt;
            &amp;lt;y-m&amp;gt;0&amp;lt;/y-m&amp;gt;&lt;br /&gt;
            &amp;lt;z-m&amp;gt;0&amp;lt;/z-m&amp;gt;&lt;br /&gt;
        &amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The axis is also very simple in this case;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;-1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The negative sign on the x axis means that the rotation will be clockwise when viewed from the -x direction (i.e. looking &amp;quot;forwards&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
That concludes the rotation animation and so (as always) we need to add a suitable closing tag;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Digital display ===&lt;br /&gt;
Our itt.xml file, as it stands, should now &amp;quot;work&amp;quot; in flightgear; that is, it will animate the needle object to display exhaust temperature on the first engine, in degC (despite the input property being in degF!)&lt;br /&gt;
&lt;br /&gt;
However, the bottom half of the gauge contains a digital readout of the same information, and we haven't mentioned that yet. In order to only introduce one new aspect at a time, for the moment I am going to ignore the fact that our input property is in degF and simply display it using the digits; there are several ways we could display degC (or indeed any kind of value) instead, but those are probably best left to another tutorial.&lt;br /&gt;
&lt;br /&gt;
Now, in order to give the illusion of a digital display, we are going to use a slightly less obvious technique than the simple rotation used for the needle. Our digits are going to come from this texture, freshly borrowed from another model in FlightGear (remember, this is open source software - don't reinvent the wheel unless it's absolutely necessary!).&lt;br /&gt;
&lt;br /&gt;
[[File:digits.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now, each &amp;quot;digit&amp;quot; in the 3d model is a separate rectangle, and each is mapped to the number zero on that texture. What we are going to do is use a &amp;quot;textranslate&amp;quot; animation to slide the texture along to the relevant number in each case. Here's the code for the first digit;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Digital Display --&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;textranslate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;digit1&amp;lt;/object-name&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;factor&amp;gt;0.0001&amp;lt;/factor&amp;gt;&lt;br /&gt;
        &amp;lt;step&amp;gt;1000&amp;lt;/step&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As always, if you need more detailed explanations of any of these animations, remember to RTFM which in this case is the model-howto.html referred to previously.&lt;br /&gt;
&lt;br /&gt;
Each subsequent digit is handled in the same way, though with the object-name, factor and step values modified accordingly.&lt;br /&gt;
&lt;br /&gt;
For example, the next digit along, the &amp;quot;hundreds&amp;quot; digit;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;textranslate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;digit2&amp;lt;/object-name&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;factor&amp;gt;0.001&amp;lt;/factor&amp;gt;&lt;br /&gt;
        &amp;lt;step&amp;gt;100&amp;lt;/step&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And so on, for the remaining two. Now, your itt instrument should display the EGT in degC using the needle, and give a &amp;quot;digital&amp;quot; readout of the same in degF.&lt;br /&gt;
&lt;br /&gt;
=== Level Of Detail ===&lt;br /&gt;
: ''See also [[Modeling - Getting Started#Level of Detail (LOD)]].''&lt;br /&gt;
&lt;br /&gt;
To prevent objects like this instrument being drawn when the aircraft is actually too far away for them to be seen anyway we use a Level Of Detail section (a &amp;quot;range&amp;quot; &amp;quot;animation&amp;quot;.) Notice the &amp;lt;pre&amp;gt;&amp;lt;!-- --&amp;gt;&amp;lt;/pre&amp;gt; section; this is a comment, feel free to add them where you need a reminder of what's going on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;!-- LoD --&amp;gt;&lt;br /&gt;
 &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;30&amp;lt;/max-m&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, if you've managed to stay with us the whole way through, the file should look something like this one, which you can download and compare with. [[Media:itt.xml]] Notice that under each new opening xml tag (such as &amp;lt;animation&amp;gt;) the text is indented one more level. Sensible people(!) use one tab to indent each level, others try to use various numbers of spaces to indent; whatever you use, the single most important thing is to be consistent. Consistent indentation makes the file much easier to read.&lt;br /&gt;
&lt;br /&gt;
=== Including the instrument in an aircraft ===&lt;br /&gt;
&lt;br /&gt;
Now to the exciting bit, actually seeing the fruits of our labour in FlightGear! &lt;br /&gt;
Including our itt.xml file in the fokker50 is actually an easy step. The &amp;quot;model&amp;quot; XML file controls the 3d model; this is often called aircraftname-model.xml and nearly always lives in the aircraftname/Models directory. However, FG is very flexible and in this case, the model XML file is fokker50/Models/fokker50.xml . To avoid confusion, it would be preferable for this to be called fokker50-model.xml, and if you're creating one from scratch, please use that convention.&lt;br /&gt;
&lt;br /&gt;
If we open that file in a text editor, it should look quite familiar; you will recognise the way it specifies an ac3d file, and animates the various parts of it. However, we wish to include an instrument, and that is done very simply. Below the &amp;lt;offsets&amp;gt; section, add a section like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;!-- ITT Gauge --&amp;gt;&lt;br /&gt;
  &amp;lt;model&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Aircraft/fokker50/Models/itt.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
    &amp;lt;offsets&amp;gt;&lt;br /&gt;
      &amp;lt;x-m&amp;gt;-8.9088&amp;lt;/x-m&amp;gt;&lt;br /&gt;
      &amp;lt;y-m&amp;gt;-0.0811&amp;lt;/y-m&amp;gt;&lt;br /&gt;
      &amp;lt;z-m&amp;gt;-1.0722&amp;lt;/z-m&amp;gt;&lt;br /&gt;
      &amp;lt;pitch-deg&amp;gt;-10&amp;lt;/pitch-deg&amp;gt;&lt;br /&gt;
    &amp;lt;/offsets&amp;gt;&lt;br /&gt;
  &amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those numbers can be easily obtained from your 3d modelling app; just open the aircraft model and place an object in the correct position, then use the distances here. The usual FG model coordinate system is used; x=back, y=right, z=up, from the pilot's perspective; the origin is the one in the 3d model (.ac file). The &amp;quot;pitch&amp;quot; entry is fairly obvious; pitch of zero is a completely vertical instrument, pitch of -90 is one tilted &amp;quot;top edge forwards&amp;quot; to lie flat.&lt;br /&gt;
&lt;br /&gt;
Now, when you start FlightGear, you should see your fully-working instrument in all its glory, situated where it ought to be! If you need to move it later, it's trivial to tweak the numbers above to suit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;br /&gt;
[[Category:Modeling]]&lt;br /&gt;
[[Category:Howto|Creating 3D instruments]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Creating_3D_instruments&amp;diff=115532</id>
		<title>Howto:Creating 3D instruments</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Creating_3D_instruments&amp;diff=115532"/>
		<updated>2018-07-02T05:38:54Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial describes the basic process of '''creating''' a 3D '''instrument''' for use in [[FlightGear]]. For now, we're assuming that you have created the actual 3d model to use and wish to include it in a cockpit and animate it. As an example, we will be animating the ITT gauge for the [[Fokker 50]].&lt;br /&gt;
&lt;br /&gt;
=== What you need ===&lt;br /&gt;
You will need:&lt;br /&gt;
* a text editor (even notepad will do, but one that does syntax highlighting might help you spot typos more easily; if you're on Windows, [http://notepad-plus.sourceforge.net/uk/site.htm Notepad++] looks suitable.)&lt;br /&gt;
* your 3d modelling package&lt;br /&gt;
* and of course a copy of FlightGear&lt;br /&gt;
&lt;br /&gt;
=== Creating the XML file ===&lt;br /&gt;
The first step is to create an XML file which will load the 3D model and animate it. There are no hard and fast rules about where these files should live or what they must be called, but we'll follow the fairly standard procedure of calling it itt.xml and placing it in the Models directory.&lt;br /&gt;
&lt;br /&gt;
So, using your favourite text editor, create a file called itt.xml in the Aircraft/fokker50/Models directory (folder).&lt;br /&gt;
&lt;br /&gt;
It should start like this (and please remember that case is ALWAYS important);&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Everything you will add to this file '''must''' go between the &amp;lt;PropertyList&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
Now, our file does nothing useful at this point. First of all, we want to tell FG to load the 3d model of our instrument. Add a section under &amp;lt;PropertyList&amp;gt; like this;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;path&amp;gt;itt.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is obviously the name of the 3d model file we wish to load. The model in question looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker51_ITT_screenshot1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adding an animation ===&lt;br /&gt;
&lt;br /&gt;
{{main article | Howto:_Animate_models}}&lt;br /&gt;
&lt;br /&gt;
As you can see, the main item to animate is the temperature needle, and its name is &amp;quot;needle&amp;quot; (you can animate either [[AC3D]] &amp;quot;objects&amp;quot; or complete &amp;quot;groups&amp;quot;). We will want to use a &amp;quot;rotate&amp;quot; animation (for more details on available animation types, see &amp;quot;model-howto.html&amp;quot; which is provided with FG in the Docs directory.)&lt;br /&gt;
&lt;br /&gt;
So, we add an &amp;lt;animation&amp;gt; section to our XML file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;rotate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;needle&amp;lt;/object-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, we need to specify a property which will determine the amount of rotation required; in other words, the property that provides the ITT value at any one time. To find the name of this property, we need to start FlightGear in the usual manner with the correct aircraft (fokker50 in this case). Once FG has started, open the property browser (file/browse internal properties). You will see the top level of the property tree. Click on &amp;quot;engines&amp;quot; and you will see a list of engines; click on the first one (engine) and you will see a long list of properties and their current values.&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker50_prop_browser_screenshot1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now, we have a slight problem at this stage; the fokker50 was created before JSBSim could model turboprops, and so the ITT property is not available right now. For the purposes of this tutorial though, we'll just use the exhaust temperature instead; the process is what's important.&lt;br /&gt;
&lt;br /&gt;
So, the next line in our XML file will specify the property to use;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next we need to specify exactly how much that property moves the needle. There are several ways to do this, but we'll use a simple interpolation table since these are especially useful in more complicated situations. The ITT gauge is marked from 0 degC to 1200 degC; since we're having to use a value that's reported in degF for now, we'll just convert those two values. 0 degC is about 32 degF and 1200 degC is about 2192 degF. Two handy tips here; for Linux/unix users, the &amp;quot;units&amp;quot; program is truly invaluable; for everyone, google has a useful units converter; for example search for &amp;quot;&lt;br /&gt;
1200 degrees celsius in fahrenheit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On to our table then.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;interpolation&amp;gt;&lt;br /&gt;
            &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;32&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
            &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;2192&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;230&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;/interpolation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;ind&amp;gt; entries are the ''ind''ependent variables, or values read from the property tree; the &amp;lt;dep&amp;gt; entries are the ''dep''endent variables, or corresponding degrees the object will be rotated by. In this case I found that number by rotating the needle in AC3D from one end of the scale to the other and reading off the rotation value reported (see screenshot)&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker50_rotation_value.jpg]]&lt;br /&gt;
&lt;br /&gt;
Having configured the type of animation, the controlling property, and specified the effect of that property, we need to describe an axis and centre for the animation.&lt;br /&gt;
&lt;br /&gt;
In this case, the centre is easy, because the needle centre is at the origin of the 3d model. If you wanted the rotation centre to be somewhere else, you could use your modelling app to obtain these values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;center&amp;gt;&lt;br /&gt;
            &amp;lt;x-m&amp;gt;0&amp;lt;/x-m&amp;gt;&lt;br /&gt;
            &amp;lt;y-m&amp;gt;0&amp;lt;/y-m&amp;gt;&lt;br /&gt;
            &amp;lt;z-m&amp;gt;0&amp;lt;/z-m&amp;gt;&lt;br /&gt;
        &amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The axis is also very simple in this case;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;-1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The negative sign on the x axis means that the rotation will be clockwise when viewed from the -x direction (i.e. looking &amp;quot;forwards&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
That concludes the rotation animation and so (as always) we need to add a suitable closing tag;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Digital display ===&lt;br /&gt;
Our itt.xml file, as it stands, should now &amp;quot;work&amp;quot; in flightgear; that is, it will animate the needle object to display exhaust temperature on the first engine, in degC (despite the input property being in degF!)&lt;br /&gt;
&lt;br /&gt;
However, the bottom half of the gauge contains a digital readout of the same information, and we haven't mentioned that yet. In order to only introduce one new aspect at a time, for the moment I am going to ignore the fact that our input property is in degF and simply display it using the digits; there are several ways we could display degC (or indeed any kind of value) instead, but those are probably best left to another tutorial.&lt;br /&gt;
&lt;br /&gt;
Now, in order to give the illusion of a digital display, we are going to use a slightly less obvious technique than the simple rotation used for the needle. Our digits are going to come from this texture, freshly borrowed from another model in FlightGear (remember, this is open source software - don't reinvent the wheel unless it's absolutely necessary!).&lt;br /&gt;
&lt;br /&gt;
[[File:digits.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now, each &amp;quot;digit&amp;quot; in the 3d model is a separate rectangle, and each is mapped to the number zero on that texture. What we are going to do is use a &amp;quot;textranslate&amp;quot; animation to slide the texture along to the relevant number in each case. Here's the code for the first digit;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Digital Display --&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;textranslate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;digit1&amp;lt;/object-name&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;factor&amp;gt;0.0001&amp;lt;/factor&amp;gt;&lt;br /&gt;
        &amp;lt;step&amp;gt;1000&amp;lt;/step&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As always, if you need more detailed explanations of any of these animations, remember to RTFM which in this case is the model-howto.html referred to previously.&lt;br /&gt;
&lt;br /&gt;
Each subsequent digit is handled in the same way, though with the object-name, factor and step values modified accordingly.&lt;br /&gt;
&lt;br /&gt;
For example, the next digit along, the &amp;quot;hundreds&amp;quot; digit;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;textranslate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;digit2&amp;lt;/object-name&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;factor&amp;gt;0.001&amp;lt;/factor&amp;gt;&lt;br /&gt;
        &amp;lt;step&amp;gt;100&amp;lt;/step&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And so on, for the remaining two. Now, your itt instrument should display the EGT in degC using the needle, and give a &amp;quot;digital&amp;quot; readout of the same in degF.&lt;br /&gt;
&lt;br /&gt;
=== Level Of Detail ===&lt;br /&gt;
: ''See also [[Modeling - Getting Started#Level of Detail (LOD)]].''&lt;br /&gt;
&lt;br /&gt;
To prevent objects like this instrument being drawn when the aircraft is actually too far away for them to be seen anyway we use a Level Of Detail section (a &amp;quot;range&amp;quot; &amp;quot;animation&amp;quot;.) Notice the &amp;lt;pre&amp;gt;&amp;lt;!-- --&amp;gt;&amp;lt;/pre&amp;gt; section; this is a comment, feel free to add them where you need a reminder of what's going on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;!-- LoD --&amp;gt;&lt;br /&gt;
 &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;30&amp;lt;/max-m&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, if you've managed to stay with us the whole way through, the file should look something like this one, which you can download and compare with. [[Media:itt.xml]] Notice that under each new opening xml tag (such as &amp;lt;animation&amp;gt;) the text is indented one more level. Sensible people(!) use one tab to indent each level, others try to use various numbers of spaces to indent; whatever you use, the single most important thing is to be consistent. Consistent indentation makes the file much easier to read.&lt;br /&gt;
&lt;br /&gt;
=== Including the instrument in an aircraft ===&lt;br /&gt;
&lt;br /&gt;
Now to the exciting bit, actually seeing the fruits of our labour in FlightGear! &lt;br /&gt;
Including our itt.xml file in the fokker50 is actually an easy step. The &amp;quot;model&amp;quot; XML file controls the 3d model; this is often called aircraftname-model.xml and nearly always lives in the aircraftname/Models directory. However, FG is very flexible and in this case, the model XML file is fokker50/Models/fokker50.xml . To avoid confusion, it would be preferable for this to be called fokker50-model.xml, and if you're creating one from scratch, please use that convention.&lt;br /&gt;
&lt;br /&gt;
If we open that file in a text editor, it should look quite familiar; you will recognise the way it specifies an ac3d file, and animates the various parts of it. However, we wish to include an instrument, and that is done very simply. Below the &amp;lt;offsets&amp;gt; section, add a section like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;!-- ITT Gauge --&amp;gt;&lt;br /&gt;
  &amp;lt;model&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Aircraft/fokker50/Models/itt.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
    &amp;lt;offsets&amp;gt;&lt;br /&gt;
      &amp;lt;x-m&amp;gt;-8.9088&amp;lt;/x-m&amp;gt;&lt;br /&gt;
      &amp;lt;y-m&amp;gt;-0.0811&amp;lt;/y-m&amp;gt;&lt;br /&gt;
      &amp;lt;z-m&amp;gt;-1.0722&amp;lt;/z-m&amp;gt;&lt;br /&gt;
      &amp;lt;pitch-deg&amp;gt;-10&amp;lt;/pitch-deg&amp;gt;&lt;br /&gt;
    &amp;lt;/offsets&amp;gt;&lt;br /&gt;
  &amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those numbers can be easily obtained from your 3d modelling app; just open the aircraft model and place an object in the correct position, then use the distances here. The usual FG model coordinate system is used; x=back, y=right, z=up, from the pilot's perspective; the origin is the one in the 3d model (.ac file). The &amp;quot;pitch&amp;quot; entry is fairly obvious; pitch of zero is a completely vertical instrument, pitch of -90 is one tilted &amp;quot;top edge forwards&amp;quot; to lie flat.&lt;br /&gt;
&lt;br /&gt;
Now, when you start FlightGear, you should see your fully-working instrument in all its glory, situated where it ought to be! If you need to move it later, it's trivial to tweak the numbers above to suit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;br /&gt;
[[Category:Modeling]]&lt;br /&gt;
[[Category:Howto|Creating 3D instruments]]&lt;br /&gt;
&lt;br /&gt;
[[zh:Howto:Creating_3D_instruments]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Creating_3D_instruments&amp;diff=115531</id>
		<title>Howto:Creating 3D instruments</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Creating_3D_instruments&amp;diff=115531"/>
		<updated>2018-07-02T05:38:02Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial describes the basic process of '''creating''' a 3D '''instrument''' for use in [[FlightGear]]. For now, we're assuming that you have created the actual 3d model to use and wish to include it in a cockpit and animate it. As an example, we will be animating the ITT gauge for the [[Fokker 50]].&lt;br /&gt;
&lt;br /&gt;
=== What you need ===&lt;br /&gt;
You will need:&lt;br /&gt;
* a text editor (even notepad will do, but one that does syntax highlighting might help you spot typos more easily; if you're on Windows, [http://notepad-plus.sourceforge.net/uk/site.htm Notepad++] looks suitable.)&lt;br /&gt;
* your 3d modelling package&lt;br /&gt;
* and of course a copy of FlightGear&lt;br /&gt;
&lt;br /&gt;
=== Creating the XML file ===&lt;br /&gt;
The first step is to create an XML file which will load the 3D model and animate it. There are no hard and fast rules about where these files should live or what they must be called, but we'll follow the fairly standard procedure of calling it itt.xml and placing it in the Models directory.&lt;br /&gt;
&lt;br /&gt;
So, using your favourite text editor, create a file called itt.xml in the Aircraft/fokker50/Models directory (folder).&lt;br /&gt;
&lt;br /&gt;
It should start like this (and please remember that case is ALWAYS important);&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Everything you will add to this file '''must''' go between the &amp;lt;PropertyList&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
Now, our file does nothing useful at this point. First of all, we want to tell FG to load the 3d model of our instrument. Add a section under &amp;lt;PropertyList&amp;gt; like this;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;path&amp;gt;itt.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is obviously the name of the 3d model file we wish to load. The model in question looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker51_ITT_screenshot1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adding an animation ===&lt;br /&gt;
&lt;br /&gt;
{{main article | Howto:_Animate_models}}&lt;br /&gt;
&lt;br /&gt;
As you can see, the main item to animate is the temperature needle, and its name is &amp;quot;needle&amp;quot; (you can animate either [[AC3D]] &amp;quot;objects&amp;quot; or complete &amp;quot;groups&amp;quot;). We will want to use a &amp;quot;rotate&amp;quot; animation (for more details on available animation types, see &amp;quot;model-howto.html&amp;quot; which is provided with FG in the Docs directory.)&lt;br /&gt;
&lt;br /&gt;
So, we add an &amp;lt;animation&amp;gt; section to our XML file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;rotate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;needle&amp;lt;/object-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, we need to specify a property which will determine the amount of rotation required; in other words, the property that provides the ITT value at any one time. To find the name of this property, we need to start FlightGear in the usual manner with the correct aircraft (fokker50 in this case). Once FG has started, open the property browser (file/browse internal properties). You will see the top level of the property tree. Click on &amp;quot;engines&amp;quot; and you will see a list of engines; click on the first one (engine) and you will see a long list of properties and their current values.&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker50_prop_browser_screenshot1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now, we have a slight problem at this stage; the fokker50 was created before JSBSim could model turboprops, and so the ITT property is not available right now. For the purposes of this tutorial though, we'll just use the exhaust temperature instead; the process is what's important.&lt;br /&gt;
&lt;br /&gt;
So, the next line in our XML file will specify the property to use;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next we need to specify exactly how much that property moves the needle. There are several ways to do this, but we'll use a simple interpolation table since these are especially useful in more complicated situations. The ITT gauge is marked from 0 degC to 1200 degC; since we're having to use a value that's reported in degF for now, we'll just convert those two values. 0 degC is about 32 degF and 1200 degC is about 2192 degF. Two handy tips here; for Linux/unix users, the &amp;quot;units&amp;quot; program is truly invaluable; for everyone, google has a useful units converter; for example search for &amp;quot;&lt;br /&gt;
1200 degrees celsius in fahrenheit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On to our table then.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;interpolation&amp;gt;&lt;br /&gt;
            &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;32&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
            &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;2192&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;230&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;/interpolation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;ind&amp;gt; entries are the ''ind''ependent variables, or values read from the property tree; the &amp;lt;dep&amp;gt; entries are the ''dep''endent variables, or corresponding degrees the object will be rotated by. In this case I found that number by rotating the needle in AC3D from one end of the scale to the other and reading off the rotation value reported (see screenshot)&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker50_rotation_value.jpg]]&lt;br /&gt;
&lt;br /&gt;
Having configured the type of animation, the controlling property, and specified the effect of that property, we need to describe an axis and centre for the animation.&lt;br /&gt;
&lt;br /&gt;
In this case, the centre is easy, because the needle centre is at the origin of the 3d model. If you wanted the rotation centre to be somewhere else, you could use your modelling app to obtain these values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;center&amp;gt;&lt;br /&gt;
            &amp;lt;x-m&amp;gt;0&amp;lt;/x-m&amp;gt;&lt;br /&gt;
            &amp;lt;y-m&amp;gt;0&amp;lt;/y-m&amp;gt;&lt;br /&gt;
            &amp;lt;z-m&amp;gt;0&amp;lt;/z-m&amp;gt;&lt;br /&gt;
        &amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The axis is also very simple in this case;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;-1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The negative sign on the x axis means that the rotation will be clockwise when viewed from the -x direction (i.e. looking &amp;quot;forwards&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
That concludes the rotation animation and so (as always) we need to add a suitable closing tag;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Digital display ===&lt;br /&gt;
Our itt.xml file, as it stands, should now &amp;quot;work&amp;quot; in flightgear; that is, it will animate the needle object to display exhaust temperature on the first engine, in degC (despite the input property being in degF!)&lt;br /&gt;
&lt;br /&gt;
However, the bottom half of the gauge contains a digital readout of the same information, and we haven't mentioned that yet. In order to only introduce one new aspect at a time, for the moment I am going to ignore the fact that our input property is in degF and simply display it using the digits; there are several ways we could display degC (or indeed any kind of value) instead, but those are probably best left to another tutorial.&lt;br /&gt;
&lt;br /&gt;
Now, in order to give the illusion of a digital display, we are going to use a slightly less obvious technique than the simple rotation used for the needle. Our digits are going to come from this texture, freshly borrowed from another model in FlightGear (remember, this is open source software - don't reinvent the wheel unless it's absolutely necessary!).&lt;br /&gt;
&lt;br /&gt;
[[File:digits.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now, each &amp;quot;digit&amp;quot; in the 3d model is a separate rectangle, and each is mapped to the number zero on that texture. What we are going to do is use a &amp;quot;textranslate&amp;quot; animation to slide the texture along to the relevant number in each case. Here's the code for the first digit;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Digital Display --&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;textranslate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;digit1&amp;lt;/object-name&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;factor&amp;gt;0.0001&amp;lt;/factor&amp;gt;&lt;br /&gt;
        &amp;lt;step&amp;gt;1000&amp;lt;/step&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As always, if you need more detailed explanations of any of these animations, remember to RTFM which in this case is the model-howto.html referred to previously.&lt;br /&gt;
&lt;br /&gt;
Each subsequent digit is handled in the same way, though with the object-name, factor and step values modified accordingly.&lt;br /&gt;
&lt;br /&gt;
For example, the next digit along, the &amp;quot;hundreds&amp;quot; digit;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;textranslate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;digit2&amp;lt;/object-name&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;factor&amp;gt;0.001&amp;lt;/factor&amp;gt;&lt;br /&gt;
        &amp;lt;step&amp;gt;100&amp;lt;/step&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And so on, for the remaining two. Now, your itt instrument should display the EGT in degC using the needle, and give a &amp;quot;digital&amp;quot; readout of the same in degF.&lt;br /&gt;
&lt;br /&gt;
=== Level Of Detail ===&lt;br /&gt;
: ''See also [[Modeling - Getting Started#Level of Detail (LOD)]].''&lt;br /&gt;
&lt;br /&gt;
To prevent objects like this instrument being drawn when the aircraft is actually too far away for them to be seen anyway we use a Level Of Detail section (a &amp;quot;range&amp;quot; &amp;quot;animation&amp;quot;.) Notice the &amp;lt;pre&amp;gt;&amp;lt;!-- --&amp;gt;&amp;lt;/pre&amp;gt; section; this is a comment, feel free to add them where you need a reminder of what's going on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;!-- LoD --&amp;gt;&lt;br /&gt;
 &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;30&amp;lt;/max-m&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, if you've managed to stay with us the whole way through, the file should look something like this one, which you can download and compare with. [[Media:itt.xml]] Notice that under each new opening xml tag (such as &amp;lt;animation&amp;gt;) the text is indented one more level. Sensible people(!) use one tab to indent each level, others try to use various numbers of spaces to indent; whatever you use, the single most important thing is to be consistent. Consistent indentation makes the file much easier to read.&lt;br /&gt;
&lt;br /&gt;
=== Including the instrument in an aircraft ===&lt;br /&gt;
&lt;br /&gt;
Now to the exciting bit, actually seeing the fruits of our labour in FlightGear! &lt;br /&gt;
Including our itt.xml file in the fokker50 is actually an easy step. The &amp;quot;model&amp;quot; XML file controls the 3d model; this is often called aircraftname-model.xml and nearly always lives in the aircraftname/Models directory. However, FG is very flexible and in this case, the model XML file is fokker50/Models/fokker50.xml . To avoid confusion, it would be preferable for this to be called fokker50-model.xml, and if you're creating one from scratch, please use that convention.&lt;br /&gt;
&lt;br /&gt;
If we open that file in a text editor, it should look quite familiar; you will recognise the way it specifies an ac3d file, and animates the various parts of it. However, we wish to include an instrument, and that is done very simply. Below the &amp;lt;offsets&amp;gt; section, add a section like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;!-- ITT Gauge --&amp;gt;&lt;br /&gt;
  &amp;lt;model&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Aircraft/fokker50/Models/itt.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
    &amp;lt;offsets&amp;gt;&lt;br /&gt;
      &amp;lt;x-m&amp;gt;-8.9088&amp;lt;/x-m&amp;gt;&lt;br /&gt;
      &amp;lt;y-m&amp;gt;-0.0811&amp;lt;/y-m&amp;gt;&lt;br /&gt;
      &amp;lt;z-m&amp;gt;-1.0722&amp;lt;/z-m&amp;gt;&lt;br /&gt;
      &amp;lt;pitch-deg&amp;gt;-10&amp;lt;/pitch-deg&amp;gt;&lt;br /&gt;
    &amp;lt;/offsets&amp;gt;&lt;br /&gt;
  &amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those numbers can be easily obtained from your 3d modelling app; just open the aircraft model and place an object in the correct position, then use the distances here. The usual FG model coordinate system is used; x=back, y=right, z=up, from the pilot's perspective; the origin is the one in the 3d model (.ac file). The &amp;quot;pitch&amp;quot; entry is fairly obvious; pitch of zero is a completely vertical instrument, pitch of -90 is one tilted &amp;quot;top edge forwards&amp;quot; to lie flat.&lt;br /&gt;
&lt;br /&gt;
Now, when you start FlightGear, you should see your fully-working instrument in all its glory, situated where it ought to be! If you need to move it later, it's trivial to tweak the numbers above to suit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;br /&gt;
[[Category:Modeling]]&lt;br /&gt;
[[Category:Howto|Creating 3D instruments]]&lt;br /&gt;
&lt;br /&gt;
[[zh:Help:Translate]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Howto:Creating_3D_instruments&amp;diff=115530</id>
		<title>Zh/Howto:Creating 3D instruments</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Howto:Creating_3D_instruments&amp;diff=115530"/>
		<updated>2018-07-02T05:36:43Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: Created page with &amp;quot;This tutorial describes the basic process of '''creating''' a 3D '''instrument''' for use in FlightGear. For now, we're assuming that you have created the actual 3d model...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial describes the basic process of '''creating''' a 3D '''instrument''' for use in [[FlightGear]]. For now, we're assuming that you have created the actual 3d model to use and wish to include it in a cockpit and animate it. As an example, we will be animating the ITT gauge for the [[Fokker 50]].&lt;br /&gt;
&lt;br /&gt;
=== What you need ===&lt;br /&gt;
You will need:&lt;br /&gt;
* a text editor (even notepad will do, but one that does syntax highlighting might help you spot typos more easily; if you're on Windows, [http://notepad-plus.sourceforge.net/uk/site.htm Notepad++] looks suitable.)&lt;br /&gt;
* your 3d modelling package&lt;br /&gt;
* and of course a copy of FlightGear&lt;br /&gt;
&lt;br /&gt;
=== Creating the XML file ===&lt;br /&gt;
The first step is to create an XML file which will load the 3D model and animate it. There are no hard and fast rules about where these files should live or what they must be called, but we'll follow the fairly standard procedure of calling it itt.xml and placing it in the Models directory.&lt;br /&gt;
&lt;br /&gt;
So, using your favourite text editor, create a file called itt.xml in the Aircraft/fokker50/Models directory (folder).&lt;br /&gt;
&lt;br /&gt;
It should start like this (and please remember that case is ALWAYS important);&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Everything you will add to this file '''must''' go between the &amp;lt;PropertyList&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
Now, our file does nothing useful at this point. First of all, we want to tell FG to load the 3d model of our instrument. Add a section under &amp;lt;PropertyList&amp;gt; like this;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;path&amp;gt;itt.ac&amp;lt;/path&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is obviously the name of the 3d model file we wish to load. The model in question looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker51_ITT_screenshot1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Adding an animation ===&lt;br /&gt;
&lt;br /&gt;
{{main article | Howto:_Animate_models}}&lt;br /&gt;
&lt;br /&gt;
As you can see, the main item to animate is the temperature needle, and its name is &amp;quot;needle&amp;quot; (you can animate either [[AC3D]] &amp;quot;objects&amp;quot; or complete &amp;quot;groups&amp;quot;). We will want to use a &amp;quot;rotate&amp;quot; animation (for more details on available animation types, see &amp;quot;model-howto.html&amp;quot; which is provided with FG in the Docs directory.)&lt;br /&gt;
&lt;br /&gt;
So, we add an &amp;lt;animation&amp;gt; section to our XML file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;rotate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;needle&amp;lt;/object-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, we need to specify a property which will determine the amount of rotation required; in other words, the property that provides the ITT value at any one time. To find the name of this property, we need to start FlightGear in the usual manner with the correct aircraft (fokker50 in this case). Once FG has started, open the property browser (file/browse internal properties). You will see the top level of the property tree. Click on &amp;quot;engines&amp;quot; and you will see a list of engines; click on the first one (engine) and you will see a long list of properties and their current values.&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker50_prop_browser_screenshot1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now, we have a slight problem at this stage; the fokker50 was created before JSBSim could model turboprops, and so the ITT property is not available right now. For the purposes of this tutorial though, we'll just use the exhaust temperature instead; the process is what's important.&lt;br /&gt;
&lt;br /&gt;
So, the next line in our XML file will specify the property to use;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next we need to specify exactly how much that property moves the needle. There are several ways to do this, but we'll use a simple interpolation table since these are especially useful in more complicated situations. The ITT gauge is marked from 0 degC to 1200 degC; since we're having to use a value that's reported in degF for now, we'll just convert those two values. 0 degC is about 32 degF and 1200 degC is about 2192 degF. Two handy tips here; for Linux/unix users, the &amp;quot;units&amp;quot; program is truly invaluable; for everyone, google has a useful units converter; for example search for &amp;quot;&lt;br /&gt;
1200 degrees celsius in fahrenheit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On to our table then.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;interpolation&amp;gt;&lt;br /&gt;
            &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;32&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
            &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;2192&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;230&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;/interpolation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;ind&amp;gt; entries are the ''ind''ependent variables, or values read from the property tree; the &amp;lt;dep&amp;gt; entries are the ''dep''endent variables, or corresponding degrees the object will be rotated by. In this case I found that number by rotating the needle in AC3D from one end of the scale to the other and reading off the rotation value reported (see screenshot)&lt;br /&gt;
&lt;br /&gt;
[[File:Fokker50_rotation_value.jpg]]&lt;br /&gt;
&lt;br /&gt;
Having configured the type of animation, the controlling property, and specified the effect of that property, we need to describe an axis and centre for the animation.&lt;br /&gt;
&lt;br /&gt;
In this case, the centre is easy, because the needle centre is at the origin of the 3d model. If you wanted the rotation centre to be somewhere else, you could use your modelling app to obtain these values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;center&amp;gt;&lt;br /&gt;
            &amp;lt;x-m&amp;gt;0&amp;lt;/x-m&amp;gt;&lt;br /&gt;
            &amp;lt;y-m&amp;gt;0&amp;lt;/y-m&amp;gt;&lt;br /&gt;
            &amp;lt;z-m&amp;gt;0&amp;lt;/z-m&amp;gt;&lt;br /&gt;
        &amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The axis is also very simple in this case;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;-1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The negative sign on the x axis means that the rotation will be clockwise when viewed from the -x direction (i.e. looking &amp;quot;forwards&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
That concludes the rotation animation and so (as always) we need to add a suitable closing tag;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Digital display ===&lt;br /&gt;
Our itt.xml file, as it stands, should now &amp;quot;work&amp;quot; in flightgear; that is, it will animate the needle object to display exhaust temperature on the first engine, in degC (despite the input property being in degF!)&lt;br /&gt;
&lt;br /&gt;
However, the bottom half of the gauge contains a digital readout of the same information, and we haven't mentioned that yet. In order to only introduce one new aspect at a time, for the moment I am going to ignore the fact that our input property is in degF and simply display it using the digits; there are several ways we could display degC (or indeed any kind of value) instead, but those are probably best left to another tutorial.&lt;br /&gt;
&lt;br /&gt;
Now, in order to give the illusion of a digital display, we are going to use a slightly less obvious technique than the simple rotation used for the needle. Our digits are going to come from this texture, freshly borrowed from another model in FlightGear (remember, this is open source software - don't reinvent the wheel unless it's absolutely necessary!).&lt;br /&gt;
&lt;br /&gt;
[[File:digits.jpg]]&lt;br /&gt;
&lt;br /&gt;
Now, each &amp;quot;digit&amp;quot; in the 3d model is a separate rectangle, and each is mapped to the number zero on that texture. What we are going to do is use a &amp;quot;textranslate&amp;quot; animation to slide the texture along to the relevant number in each case. Here's the code for the first digit;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Digital Display --&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;textranslate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;digit1&amp;lt;/object-name&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;factor&amp;gt;0.0001&amp;lt;/factor&amp;gt;&lt;br /&gt;
        &amp;lt;step&amp;gt;1000&amp;lt;/step&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As always, if you need more detailed explanations of any of these animations, remember to RTFM which in this case is the model-howto.html referred to previously.&lt;br /&gt;
&lt;br /&gt;
Each subsequent digit is handled in the same way, though with the object-name, factor and step values modified accordingly.&lt;br /&gt;
&lt;br /&gt;
For example, the next digit along, the &amp;quot;hundreds&amp;quot; digit;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;animation&amp;gt;&lt;br /&gt;
        &amp;lt;type&amp;gt;textranslate&amp;lt;/type&amp;gt;&lt;br /&gt;
        &amp;lt;object-name&amp;gt;digit2&amp;lt;/object-name&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;engines/engine/egt_degf&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;factor&amp;gt;0.001&amp;lt;/factor&amp;gt;&lt;br /&gt;
        &amp;lt;step&amp;gt;100&amp;lt;/step&amp;gt;&lt;br /&gt;
        &amp;lt;axis&amp;gt;&lt;br /&gt;
            &amp;lt;x&amp;gt;1&amp;lt;/x&amp;gt;&lt;br /&gt;
            &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
            &amp;lt;z&amp;gt;0&amp;lt;/z&amp;gt;&lt;br /&gt;
        &amp;lt;/axis&amp;gt;&lt;br /&gt;
    &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And so on, for the remaining two. Now, your itt instrument should display the EGT in degC using the needle, and give a &amp;quot;digital&amp;quot; readout of the same in degF.&lt;br /&gt;
&lt;br /&gt;
=== Level Of Detail ===&lt;br /&gt;
: ''See also [[Modeling - Getting Started#Level of Detail (LOD)]].''&lt;br /&gt;
&lt;br /&gt;
To prevent objects like this instrument being drawn when the aircraft is actually too far away for them to be seen anyway we use a Level Of Detail section (a &amp;quot;range&amp;quot; &amp;quot;animation&amp;quot;.) Notice the &amp;lt;pre&amp;gt;&amp;lt;!-- --&amp;gt;&amp;lt;/pre&amp;gt; section; this is a comment, feel free to add them where you need a reminder of what's going on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;!-- LoD --&amp;gt;&lt;br /&gt;
 &amp;lt;animation&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;range&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;min-m&amp;gt;0&amp;lt;/min-m&amp;gt;&lt;br /&gt;
   &amp;lt;max-m&amp;gt;30&amp;lt;/max-m&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, if you've managed to stay with us the whole way through, the file should look something like this one, which you can download and compare with. [[Media:itt.xml]] Notice that under each new opening xml tag (such as &amp;lt;animation&amp;gt;) the text is indented one more level. Sensible people(!) use one tab to indent each level, others try to use various numbers of spaces to indent; whatever you use, the single most important thing is to be consistent. Consistent indentation makes the file much easier to read.&lt;br /&gt;
&lt;br /&gt;
=== Including the instrument in an aircraft ===&lt;br /&gt;
&lt;br /&gt;
Now to the exciting bit, actually seeing the fruits of our labour in FlightGear! &lt;br /&gt;
Including our itt.xml file in the fokker50 is actually an easy step. The &amp;quot;model&amp;quot; XML file controls the 3d model; this is often called aircraftname-model.xml and nearly always lives in the aircraftname/Models directory. However, FG is very flexible and in this case, the model XML file is fokker50/Models/fokker50.xml . To avoid confusion, it would be preferable for this to be called fokker50-model.xml, and if you're creating one from scratch, please use that convention.&lt;br /&gt;
&lt;br /&gt;
If we open that file in a text editor, it should look quite familiar; you will recognise the way it specifies an ac3d file, and animates the various parts of it. However, we wish to include an instrument, and that is done very simply. Below the &amp;lt;offsets&amp;gt; section, add a section like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;!-- ITT Gauge --&amp;gt;&lt;br /&gt;
  &amp;lt;model&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Aircraft/fokker50/Models/itt.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
    &amp;lt;offsets&amp;gt;&lt;br /&gt;
      &amp;lt;x-m&amp;gt;-8.9088&amp;lt;/x-m&amp;gt;&lt;br /&gt;
      &amp;lt;y-m&amp;gt;-0.0811&amp;lt;/y-m&amp;gt;&lt;br /&gt;
      &amp;lt;z-m&amp;gt;-1.0722&amp;lt;/z-m&amp;gt;&lt;br /&gt;
      &amp;lt;pitch-deg&amp;gt;-10&amp;lt;/pitch-deg&amp;gt;&lt;br /&gt;
    &amp;lt;/offsets&amp;gt;&lt;br /&gt;
  &amp;lt;/model&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those numbers can be easily obtained from your 3d modelling app; just open the aircraft model and place an object in the correct position, then use the distances here. The usual FG model coordinate system is used; x=back, y=right, z=up, from the pilot's perspective; the origin is the one in the 3d model (.ac file). The &amp;quot;pitch&amp;quot; entry is fairly obvious; pitch of zero is a completely vertical instrument, pitch of -90 is one tilted &amp;quot;top edge forwards&amp;quot; to lie flat.&lt;br /&gt;
&lt;br /&gt;
Now, when you start FlightGear, you should see your fully-working instrument in all its glory, situated where it ought to be! If you need to move it later, it's trivial to tweak the numbers above to suit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;br /&gt;
[[Category:Modeling]]&lt;br /&gt;
[[Category:Howto|Creating 3D instruments]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Using_TerraGear&amp;diff=114363</id>
		<title>Zh/Using TerraGear</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Using_TerraGear&amp;diff=114363"/>
		<updated>2018-02-10T14:07:42Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: Created page with &amp;quot;TerraGear Process Flow Chart TerraGear软件项目用创建flightgear中表示地形和包括机场，城市，森林，河流，...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Terragearprocesschart.png|thumb|TerraGear Process Flow Chart]]&lt;br /&gt;
[[TerraGear]]软件项目用创建flightgear中表示地形和包括机场，城市，森林，河流，田野，道路的地景的文件来支持[[flightgear]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Using_TerraGear&amp;diff=114360</id>
		<title>Using TerraGear</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Using_TerraGear&amp;diff=114360"/>
		<updated>2018-02-10T07:30:13Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Out of date}}&lt;br /&gt;
&lt;br /&gt;
[[File:Terragearprocesschart.png|thumb|TerraGear Process Flow Chart]]&lt;br /&gt;
The [[TerraGear]] software project supports [[FlightGear]] by creating the files used by FlightGear to represent the elevation and texture of the earth, including airports, cities, fields, forests, rivers, roads and so on. The TerraGear software reads data files containing ground elevation, airport locations and layouts, geographical land-cover data, and more, and produces the scenery files used by FlightGear to represent the terrain of the world.&lt;br /&gt;
&lt;br /&gt;
For simplicity and convenience, most FlightGear users simply download the plug-and-play scenery files from the FlightGear scenery server, or use [[TerraSync]] to automatically download scenery as needed. But there is a variety of reasons you might want to use TerraGogrear to produce your own terrain files, rather than downloading the standard FlightGear scenery. &lt;br /&gt;
&lt;br /&gt;
For instance, if you use [[WorldEditor]] to modify/improve information about an [[:Category:Airports|airport]]'s taxiway/apron layout, you might wish to see how that modified airport would look in the scenery before deciding you're happy with the results. Maybe the official scenery is too detailed for your slow machine, and you'd like to build terrain using a digital elevation model (DEM) with poorer resolution, to decrease the number of polygons and thus improve your framerates. Or maybe you've got a fantastically fast machine, and you want to build your own terrain using higher-resolution vector data (vmap1, Tiger, osm) to get better roads/streams. For all these reasons, learning how to use TerraGear is a good idea.&lt;br /&gt;
&lt;br /&gt;
== Obtaining TerraGear ==&lt;br /&gt;
You can either build TerraGear yourself, or download a pre-compiled binary. The later is the easiest and advised for starters.&lt;br /&gt;
&lt;br /&gt;
* '''Option 1a - Download TerraGear pre-compiled (recommended for beginners) on Windows'''&lt;br /&gt;
*# Download the latest TerraGear build from the [http://build.flightgear.org:8080/job/TerraGear-Win-Cmake/lastSuccessfulBuild/artifact/*zip*/archive.zip FlightGear Build Server].&lt;br /&gt;
*# Create or choose a directory to hold the TerraGear tools. &lt;br /&gt;
*# Unzip the package and move the files from &amp;lt;code&amp;gt;archive/install/msvc100/TerraGear/bin&amp;lt;/code&amp;gt; into a sub-directory named &amp;lt;code&amp;gt;Terragear/&amp;lt;/code&amp;gt; in the base directory.&lt;br /&gt;
&lt;br /&gt;
* '''Option 1b - Download ppa packages for Ubuntu Linux'''&lt;br /&gt;
&lt;br /&gt;
https://launchpad.net/~saiarcot895/+archive/ubuntu/flightgear-edge/+index?batch=75&amp;amp;memo=75&amp;amp;start=75&lt;br /&gt;
&lt;br /&gt;
* '''Option 2 - Compile TerraGear from source code''' as explained in [[Building TerraGear|this article]].&lt;br /&gt;
&lt;br /&gt;
{{note|1=You might need &amp;lt;code&amp;gt;default_priorities.txt&amp;lt;/code&amp;gt; from the {{terragear source|path=src/BuildTiles/Main/default_priorities.txt|text=git repository}} or from the archive downloaded from the build server (in the &amp;lt;code&amp;gt;archive/install/msvc100/TerraGear/share&amp;lt;/code&amp;gt; subdirectory). See [http://forum.flightgear.org/viewtopic.php?f=5&amp;amp;p=77950 this forum thread] for details.}}&lt;br /&gt;
&lt;br /&gt;
=== GUI tool ===&lt;br /&gt;
A [[TerraGear GUI]] is available for those that would like to use TerraGear without knowing/using the command line options.&lt;br /&gt;
&lt;br /&gt;
== Using TerraGear ==&lt;br /&gt;
First, choose the boundaries for the area of scenery you want to build, in terms of latitude and longitude. The smaller the area of scenery you generate, the smaller the amount of data you will need, and the less CPU time it will take. For example, if you are just interested in generating a new airport layout at 12.3W 34.4N, then simply generating the scenery between 12W 34N and 13W 35N would be sufficient. &lt;br /&gt;
&lt;br /&gt;
Write down the bounding box (minimum and maximum longitude and latitude) for the scenery you want to generate. Remember that West and South are negative - in essence 4W 10S would be -4, -10. Try not to get mixed up, otherwise you'll end up generating scenery or airports on the other side of the planet! &lt;br /&gt;
&lt;br /&gt;
You'll be dealing with multiple different types of data in various formats. Create a new directory for your scenery work. Within that directory, create the following sub-directories: &lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;data/&amp;lt;/code&amp;gt;:    For raw and pre-processed data (eg elevation files) &lt;br /&gt;
; &amp;lt;code&amp;gt;output/&amp;lt;/code&amp;gt;:  For the scenery files you will create &lt;br /&gt;
; &amp;lt;code&amp;gt;work/&amp;lt;/code&amp;gt;:    For data that has been processed (eg by shape-decode) and is ready to be munged into scenery &lt;br /&gt;
&lt;br /&gt;
=== Obtaining and processing data ===&lt;br /&gt;
TerraGear uses three different kinds of information to generate scenery:&lt;br /&gt;
&lt;br /&gt;
# The elevation of the land (provided by SRTM) &lt;br /&gt;
# The location and layout of airports (provided by apt.dat or a custom .dat) &lt;br /&gt;
# Whether a given lat/lon is sea, land, city, forest, town, road, railway (provided by VMAP0, [[CORINE]] etc. or custom shapefiles) &lt;br /&gt;
&lt;br /&gt;
This article describes how obtain and process each of these types of data in order, and bring it together for use by FlightGear. The order of these steps is important. For example, the airport data step needs the elevation data to determine the elevation of the airports and thus you should start with preparing elevation data.&lt;br /&gt;
&lt;br /&gt;
{{caution|For inclusion in the official FlightGear scenery, all data '''must''' come from [[GNU GPL]] compatible sources!}}&lt;br /&gt;
&lt;br /&gt;
==== Elevation data ====&lt;br /&gt;
The best worldwide elevation data currently available is from the Shuttle Radar Topography Mission (SRTM). There are two types of SRTM data: &lt;br /&gt;
* Highly accurate 1-arcsecond resolution data, known as SRTM-1, for the USA &lt;br /&gt;
* Less accurate 3-arcsecond resolution data, known as SRTM-3, for the rest of the world. &lt;br /&gt;
From now on, we'll assume you are using SRTM-3 data. Unless otherwise noted, the process for SRTM-1 is identical.&lt;br /&gt;
&lt;br /&gt;
You can download the appropriate data from http://dds.cr.usgs.gov/srtm/version2_1/. You want all .hgt.zip files covering your region of interest. Depending on the size of your scenery, there may be quite a few. Download them to &amp;lt;code&amp;gt;data/SRTM-1/&amp;lt;/code&amp;gt; (or SRTM-3/SRTM-30 depending on the type you downloaded) in your base directory. (Genapts looks for a few known, hardcoded elevation data directories in its working directory. SRTM-30 is one of them and this is the least confusing in that list. Note: W.E.F. 31st July 2010, the genapts tool now also looks for SRTM-1/SRTM-3 directories. If you are using an older version, please supply the directories using --dem-path).&lt;br /&gt;
&lt;br /&gt;
Now we've got the data, we need to convert it into something of use to TerraGear. First, you need to unzip each of the .hgt files. After that, open the commandline (Windows: Start &amp;gt; Run &amp;gt; &amp;lt;code&amp;gt;cmd.exe&amp;lt;/code&amp;gt;) and change into the base directory (&amp;lt;code&amp;gt;cd .../.../TerraGear&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{{note|According to [[TerraGear_Documentation]], hgtchop is superseded by gdalchop.}}&lt;br /&gt;
{{note|For SRTM-1 data, replace the &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; by a &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; in the first argument to hgtchop}}&lt;br /&gt;
{{tip|If you want to create a batch-file, replace &amp;lt;code&amp;gt;%f&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;%%f&amp;lt;/code&amp;gt;, see [http://technet.microsoft.com/en-us/library/bb490909.aspx]}}&lt;br /&gt;
&lt;br /&gt;
For Windows:&lt;br /&gt;
 for %f in (.\data\SRTM-3\*.hgt) do .\Terragear\hgtchop.exe 3 %f .\work\SRTM-3&lt;br /&gt;
or&lt;br /&gt;
 for %f in (.\data\SRTM-3\*.hgt) do .\Terragear\hgtchop.exe 3 .\data\SRTM-3\%f .\work\SRTM-3&lt;br /&gt;
&lt;br /&gt;
For Linux:&lt;br /&gt;
 for f in ${PWD}/data/SRTM-3/*.hgt; do ./Terragear/hgtchop 3 &amp;quot;${f}&amp;quot; &amp;quot;${PWD}/work/SRTM-3&amp;quot;; done&lt;br /&gt;
&lt;br /&gt;
Now you will get a lot of .arr.gz files in your work/SRTM-3/ directory. We need to convert these to the .fit.gz format. Run the commandline again with&lt;br /&gt;
&lt;br /&gt;
{{note|The space and dot at the and are important!}}&lt;br /&gt;
&lt;br /&gt;
For Windows:&lt;br /&gt;
 .\Terragear\terrafit.exe work\SRTM-3&lt;br /&gt;
&lt;br /&gt;
For Linux:&lt;br /&gt;
 ./Terragear/terrafit work/SRTM-3&lt;br /&gt;
&lt;br /&gt;
==== Airport data ====&lt;br /&gt;
Now we've got elevation data, we can generate our airports. First, create a &amp;lt;code&amp;gt;data/airports/&amp;lt;/code&amp;gt; directory and copy in your apt.dat file. This may be direct from your FlightGear data package (though you'll need to unzip it), or it may be one that you've modified with [[WorldEditor]]. &lt;br /&gt;
&lt;br /&gt;
The command to create airports is &amp;quot;genapts850&amp;quot;. Run it without any arguments to see the various command-line options. &lt;br /&gt;
&lt;br /&gt;
If it is simply run with a specified apt.dat and work directory, it will generate airport layouts for every airport in the file, which can take a long time. Make sure the input is not the apt.dat.gz, but an uncompressed file. Otherwise genapts850 will block and not produce any output.&lt;br /&gt;
&lt;br /&gt;
If you are just creating a single airport and you know the ICAO ID (for example [[San Francisco International Airport|KSFO]], EGPH or EG32), use it as follows from your root scenery directory (in essence the directory above your data, work and output directories). If you use an apt.dat file with one single airport in it you should omit the &amp;lt;code&amp;gt;--airport&amp;lt;/code&amp;gt; parameter. &lt;br /&gt;
&lt;br /&gt;
 genapts850 --input=data/airports/apt.dat --work=./work --airport=&amp;lt;AIRPORT_ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or, if you have elevation data available:&lt;br /&gt;
&lt;br /&gt;
 genapts850 --input=data/airports/apt.dat --work=./work --dem-path=SRTM-3&lt;br /&gt;
&lt;br /&gt;
If you are generating a larger set of scenery, then you can specify the minimum and maximum longitude and latitude. &lt;br /&gt;
&lt;br /&gt;
Genapts will create two sub-directories in your work directory:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;AirportArea/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;AirportObj/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These contain the definitions of the airport layout and any objects present (e.g. windsocks and beacons).&lt;br /&gt;
&lt;br /&gt;
==== Landuse data ====&lt;br /&gt;
The final piece of data we need to generate is the landuse data. In general, this is taken from the VMAP0 dataset as shapefiles from the scenery database mapserver, but other sources can also be used.&lt;br /&gt;
&lt;br /&gt;
The landuse data can be split into a number of different types:&lt;br /&gt;
&lt;br /&gt;
; Landmass:  Separates the land from the sea. It can be used as a mask for all other data. The most commonly used is the VMAP0 Landmass, but GSHHS can also be used. When running tg-construct with &amp;lt;code&amp;gt;--ignore-landmass&amp;lt;/code&amp;gt;, all input shapefiles will be taken into consideration, so no landmass mask is required then.&lt;br /&gt;
; Land use data:  Defines whether a piece of land is forest, urban, sand, lava, glacier etc. These are usually VMAP0 data, defined as polygons.&lt;br /&gt;
; Line data:  Includes railroads, streams, roads. Typically VMAP0, but also OpenStreetMap for roads.&lt;br /&gt;
; Point data:  Is currently only used for defining towns.&lt;br /&gt;
 &lt;br /&gt;
By far the easiest way to get this data is to download shapefiles from the wonderful [http://mapserver.flightgear.org MapServer]. The MapServer lets you download the shapefiles for any selected scenery area. Click on the &amp;quot;Download Shapefiles&amp;quot; link (or go direct: http://mapserver.flightgear.org/download.psp). Enter in the bounding box of the scenery you want to generate, select the type of shapefile data you want, and click download.&lt;br /&gt;
&lt;br /&gt;
==== Layers ====&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;v0&amp;lt;/code&amp;gt;:  Global coverage, low detail. This is &amp;quot;the last resort&amp;quot;, but unfortunately it is the only layer that covers the entire world.&lt;br /&gt;
; &amp;lt;code&amp;gt;cs&amp;lt;/code&amp;gt;:  It is v0 with some contributions someone did in the past. Get this instead of v0.&lt;br /&gt;
; &amp;lt;code&amp;gt;v1&amp;lt;/code&amp;gt;:  Only parts of some countries available, higher detail than v0.&lt;br /&gt;
; &amp;lt;code&amp;gt;clc06&amp;lt;/code&amp;gt;:  European '''only'''. Very high detail, this is the preferred choice for an European country.&lt;br /&gt;
; &amp;lt;code&amp;gt;osm&amp;lt;/code&amp;gt;:  Global coverage, high resolution but very low detail.&lt;br /&gt;
: This means: if you are interested in an area out of Europe and forests are defined in OpenStreetMaps for your area, this is going to be the best data source. If forests are not defined, you will get a dull, neverending DEFAULT landclass. OSM provides the best coastline and I encourage you to use this coastline even in Europe. [http://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=25549&amp;amp;sid=d501cb651ef9e34ca9dc8fae429d51ab&amp;amp;p=234002#p234002]&lt;br /&gt;
&lt;br /&gt;
{{caution|Make sure each shape file is in its own directory whether you download shape files or create your own otherwise the ogrDecode step will fail.}}&lt;br /&gt;
Download each shapefile into a seperate (!) &amp;lt;code&amp;gt;data/shapefiles/...&amp;lt;/code&amp;gt; directory. So, for v0_landmass, you would end up with &amp;lt;code&amp;gt;data/shapefiles/v0_landmass/v0_landmass.shp&amp;lt;/code&amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
You can load these shapefiles into a GIS editor such as [[QGIS]] or GRASS to view and edit. This is a good idea to verify you have the correct files! Later on, you can experiment with replacing various shapefiles with other versions (GSHHS for coastline, OSM for roads etc.).&lt;br /&gt;
&lt;br /&gt;
The next step is to decode the shape-files into TerraGear format using the '''ogr-decode''' command (renamed to '''poly-decode''' in recent versions of TerraGear). &lt;br /&gt;
&lt;br /&gt;
There are three important command-line arguments for ogr-decode:&lt;br /&gt;
* the destination directory for the decoded data&lt;br /&gt;
* the location of the shapefile's directory&lt;br /&gt;
* the material type&lt;br /&gt;
&lt;br /&gt;
Each shape-file corresponds with one of the material types defined in the materials.xml files. The mapping is pretty obvious. For example, &amp;lt;code&amp;gt;v0_mixedcroppasturecover&amp;lt;/code&amp;gt; maps to &amp;lt;code&amp;gt;MixedCropPastureCover&amp;lt;/code&amp;gt;. Note that the material types are case-sensitive, so it is a good idea to refer to the &amp;lt;code&amp;gt;[[$FG_ROOT]]/Materials/default/materials.xml&amp;lt;/code&amp;gt; file (&amp;lt;code&amp;gt;[[$FG ROOT]]/materials.xml&amp;lt;/code&amp;gt; in FlightGear 2.6.0 and older) to hand so you can check. The exception is landmass, which - when used - MUST be mapped onto the type Default.&lt;br /&gt;
&lt;br /&gt;
Additionally, there are a number of optional arguments, to indicate the width of line data (for roads, streams, railways), how large to make point data (for towns) and how long the longest straight line is allowed to be.&lt;br /&gt;
&lt;br /&gt;
For example, to decode the &amp;lt;code&amp;gt;v0_landmass&amp;lt;/code&amp;gt; shapefile, you use the following command:&lt;br /&gt;
&lt;br /&gt;
 ogr-decode --max-segment 500 --area-type Default work/Default data/shapefiles/v0_landmass&lt;br /&gt;
&lt;br /&gt;
To create streams of width 10 metres&lt;br /&gt;
&lt;br /&gt;
 ogr-decode --max-segment 500 --line-width 10 --area-type Stream work/Stream data/shapefiles/v0_stream&lt;br /&gt;
&lt;br /&gt;
To generate some towns about 1km across&lt;br /&gt;
&lt;br /&gt;
 ogr-decode --point-width 500 --area-type Town work/Town data/shapefiles/v0_town&lt;br /&gt;
&lt;br /&gt;
Run this command for each shapefile in the set.&lt;br /&gt;
&lt;br /&gt;
== Generating scenery ==&lt;br /&gt;
You will now have a work directory, with subdirectories like:&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
: AirportArea&lt;br /&gt;
: AirportObj&lt;br /&gt;
: Bog&lt;br /&gt;
: Default&lt;br /&gt;
: DryCropPastureCover&lt;br /&gt;
: EvergreenBroadCover&lt;br /&gt;
: GrassCover&lt;br /&gt;
: IrrCropPastureCover&lt;br /&gt;
: Lake&lt;br /&gt;
: Marsh&lt;br /&gt;
: MixedCropPastureCover&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
: MixedForestCover&lt;br /&gt;
: Railroad&lt;br /&gt;
: Road&lt;br /&gt;
: Sand&lt;br /&gt;
: ScrubCover&lt;br /&gt;
: Shared&lt;br /&gt;
: SRTM-3&lt;br /&gt;
: Stream&lt;br /&gt;
: Town&lt;br /&gt;
: Urban&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now we can actually generate the scenery. This is done by the tg-construct command. Run the command with &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt; to get usage information. &lt;br /&gt;
&lt;br /&gt;
We need to define:&lt;br /&gt;
* The work (&amp;lt;code&amp;gt;--work-dir&amp;lt;/code&amp;gt;) and output (&amp;lt;code&amp;gt;--output-dir&amp;lt;/code&amp;gt;) directories.&lt;br /&gt;
* The center of the scenery we want to generate (&amp;lt;code&amp;gt;--lat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--lon&amp;lt;/code&amp;gt;).&lt;br /&gt;
* The radius (&amp;lt;code&amp;gt;--xdist&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--ydist&amp;lt;/code&amp;gt;) from which to generate.&lt;br /&gt;
* All the work directories to include in the scenery.&lt;br /&gt;
&lt;br /&gt;
{{note|The output directory must point to a &amp;lt;code&amp;gt;Terrain/&amp;lt;/code&amp;gt; directory, else recent FlightGear versions will be unable to load the terrain.}}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
{{Pre2|&amp;lt;nowiki&amp;gt;tg-construct --work-dir=./work --output-dir=./output/Terrain --min-lon=55 --max-lon=57 --min-lat=60 --max-lat=62 AirportArea SRTM-3 AirportObj Default Stream Bog IrrCropPastureCover Town Lake Urban Railroad DryCropPastureCover Road EvergreenBroadCover Marsh Sand MixedCropPastureCover ScrubCover GrassCover MixedForestCover&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
When this finishes, the output directory will contain a scenery sub-tree. Point to it by setting either [[$FG_SCENERY]] or by using the &amp;lt;code&amp;gt;--fg-scenery&amp;lt;/code&amp;gt; command-line option to fgfs, and give your new scenery a try!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
Below is a list of common problems and solutions. If in doubt - Google it. Many problems (particularly when compiling TerraGear) have been hit before: &lt;br /&gt;
&lt;br /&gt;
* Crashes in genapts. Sometimes genapts will crash when dealing with a particular airport. In that case, try running it again with the &amp;lt;code&amp;gt;--start-id&amp;lt;/code&amp;gt; argument to start at the airport it failed on, and the &amp;lt;code&amp;gt;--nudge&amp;lt;/code&amp;gt; argument which tries to nudge the calculations in the right direction. &lt;br /&gt;
* tg-construct killed. The tg-construct process may kill itself if it is using too many system resources. Increasing the values for &amp;lt;code&amp;gt;setrlimit&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;src/BuildTiles/Main/main.cxx&amp;lt;/code&amp;gt; is the best solution. &lt;br /&gt;
* tg-construct silently stops immediately without an error and nothing goes to the &amp;quot;output&amp;quot; directory: make sure that lon/lat values correspond to tiles boundaries. See [[Tile Index Scheme]]&lt;br /&gt;
* Airports appear in the bottom of holes, or there are spaces between the airports and the scenery. This typically happens when genapts is unable to find the correct elevation data, or the elevation data changed between running genapts and shape-decode. Try generating a single airport in your scenery area using genapts, and look at the output. In particular, make sure there is a work/SRTM-3 directory. &lt;br /&gt;
* Only the airports appear in the scenery. There are three typical causes for this: &lt;br /&gt;
** You didn't download the correct shapefiles for the area. &lt;br /&gt;
** You haven't run shape-decode on the &amp;lt;code&amp;gt;v0_landmass&amp;lt;/code&amp;gt; shapefile as Default &lt;br /&gt;
** You didn't include the correct directories in tg-construct. &lt;br /&gt;
* Generate scenery includes data removed from the shapefiles. If you are editing shapefiles, you need to delete the appropriate work subdirectory before running shape-decode. Otherwise your changes will be in addition to those already present. &lt;br /&gt;
* All the scenery is flat and at sea-level. Typically this is because you didn't include any elevation data in your tg-construct command. Make sure there's a STRM-3 directory included in the command-line. &lt;br /&gt;
* All terrain copies the material of a certain shapefile. You have probably forgotten to put each of the downloaded shapefiles in a seperate directory inside the Data/shapefiles directory.&lt;br /&gt;
* genapts850 never passes the stage &amp;quot;Adding airport &amp;lt;ICAO&amp;gt; to parse list&amp;quot;: did you unzip &amp;lt;code&amp;gt;apt.dat.gz&amp;lt;/code&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
== General comments from forum discussion ==&lt;br /&gt;
{{cquote|f-ojac, you are right, the parameters used in scenery 2.0 were &amp;quot;-e 5 -x 20000&amp;quot; according to the wiki. I don't know why I had the impression these parameters were not public. In any case, it does not matter because using the same parameters will create closer results, but they are not guaranteed to be the same.&lt;br /&gt;
&lt;br /&gt;
The parameters used to create scenery 2,0 seem to be:&lt;br /&gt;
&lt;br /&gt;
-m ??: the minimum number of vertices in a tile. In FG, any number bellow 100 (and probably, any number below 1000) will do. I don't think there is any surface on the world perfectly flat for several kilometers. The default value is 50 and I'm sure is ok for any normal use.&lt;br /&gt;
-e 5: the max allowed error for elevation, in meters. That is: if terrafit calculates a simplification of the terrain where all points are at most this distance from the real elevation, no more vertices are created. The default value is 40 meters: a point may have an elevation error up to 40m (~100ft) High values for this parameter create less detailed mountains and smaller (in disk size) and more efficient (in FPS) terrain.&lt;br /&gt;
-x 20000: the max number of vertices in a tile. If this number of vertices is reached, terrafit stop regardless the max error of the vertices. The default value is 1000&lt;br /&gt;
&lt;br /&gt;
Keep in mind you can set values that do not make sense:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;-e 1 -x 100&amp;quot; does not make sense because it is going to be impossible to calculate errors less than 1 meters using only 100 vertices. The max number of vertices will be reached always and the max error will be probably ignored.&lt;br /&gt;
* &amp;quot;-e 300 -x 20000&amp;quot; does not make sense, tiles are going to use for sure much less vertices than 20,000 because you are allowing huge elevation errors.&lt;br /&gt;
&lt;br /&gt;
If you want an efficient scenery (less vertices), use the default values &amp;quot;-e 40 -x 1000&amp;quot;. If you want more accurate elevation at the cost of disk space and FPS, use values similar to scenery 2.0 (&amp;quot;-e 5 -x 20000&amp;quot;) Anything in the middle will produce performance and disk use in the middle.&amp;lt;ref&amp;gt;{{cite web |url=http://forum.flightgear.org/viewtopic.php?f=5&amp;amp;t=24681#p225363 &lt;br /&gt;
|title=Re: Terrasync Help (surprinsingly!) :)&lt;br /&gt;
|author=ludomotico |date= Mon Nov 24, 2014 4:28 am}}&amp;lt;/ref&amp;gt;|ludomotico}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Howto:Create custom terrain]], editing/making terrain data.&lt;br /&gt;
* [[TerraGear CORINE]], building terrain from CORINE data.&lt;br /&gt;
* [[TerraGear Documentation]], using TerraGear details.&lt;br /&gt;
&lt;br /&gt;
{{Terra}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scenery enhancement|TerraGear, Using]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Utiliser TerraGear]]&lt;br /&gt;
[[zh:Using TerraGear]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Portal:Developer&amp;diff=114050</id>
		<title>Portal:Developer</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Portal:Developer&amp;diff=114050"/>
		<updated>2018-01-25T14:44:46Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main page/Header&lt;br /&gt;
  |title=Welcome to the developer portal&lt;br /&gt;
  |introduction=Please visit [http://forum.flightgear.org our forum] if you cannot find what you're looking for.&lt;br /&gt;
  |rightbox=&lt;br /&gt;
&amp;lt;!-------------------------------------------------------------&lt;br /&gt;
                    Portal overview&lt;br /&gt;
--------------------------------------------------------------&amp;gt;&lt;br /&gt;
  |rightcolumn1= &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:105%; font-weight:bold&amp;quot;&amp;gt;[[FlightGear and Git|Development repository status]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
 &amp;lt;center style=&amp;quot;padding-top:.9em;&amp;quot;&amp;gt;{{GitStatus}}&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |rightcolumn2= &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:105%; font-weight:bold&amp;quot;&amp;gt;Getting started&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style:italic;&amp;quot;&amp;gt;&lt;br /&gt;
[[How the FlightGear project works]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Understand the FlightGear development process|The development process]] · [[Release plan]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Building FlightGear]] · [[FlightGear and Git|Git]] · [[FlightGear Build Server|Build server]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Property tree]] · [[File formats]] · [[Tools of the Trade]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |rightcolumn3= &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:105%; font-weight:bold&amp;quot;&amp;gt;General&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style:italic;&amp;quot;&amp;gt;&lt;br /&gt;
[[Long Term Goals|Long term goals]] · [[:Category:Popular Community Requests|Popular Ideas]] · [[Google Summer of Code]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Project Infrastructure Enhancements|Project infrastructure enhancements]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Improving Glider Realism|Improving glider realism]] / [[Improving Helicopter Realism|helicopter realism]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto:Set up a multiplayer server|Setting up a multiplayer server]] · [[FlightGear Expo Checklist|Expo checklist]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |rightcolumn4= [[File:Portal aircraft.png|40px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:105%; font-weight:bold&amp;quot;&amp;gt;[[Portal:Developer/Aircraft|Aircraft]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style:italic;&amp;quot;&amp;gt;&lt;br /&gt;
[[Howto:Troubleshooting Aircraft Performance Issues]]·&lt;br /&gt;
[[Howto: Make an aircraft|Making an aircraft]] · [[Flight Dynamics Model|Flight dynamics model]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: 3D Aircraft Models|3D aircraft models]] · [[Howto: Edit a livery|Liveries]] · [[:Category:Aircraft Resources|Resources]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Soaring instrumentation sdk]]  · [[Creating instruments for FG|Creating instruments]] · [[System dependent instruments|System dependent instruments]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Design an autopilot|Designing an autopilot]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |rightcolumn5= [[File:Nuvola apps kaboodle.png|40px]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:105%; font-weight:bold&amp;quot;&amp;gt;Animations&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style:italic;&amp;quot;&amp;gt;&lt;br /&gt;
[[Howto: Animate models|Animate models]] · [[Howto: Illuminate faces|Illuminate objects]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Animate gear scissors|Gear scissors]] · [[Tracking animation]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Make a clickable panel|Clickable panels]] · [[Knob / slider animation]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |rightcolumn6=  [[File:Portal developer.png|40px]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:105%; font-weight:bold&amp;quot;&amp;gt;Core&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style:italic;&amp;quot;&amp;gt;&lt;br /&gt;
[[:Category:FlightGear Core developers|List of Core Developers]] · [[:Category:Developer Plans|Developer Plans]] · [[:Category:Core development projects|Projects]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Start core development|Getting started]] · [[Programming resources]] · [[Nasal/CppBind|Adding scripting bindings]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto:Add new fgcommands to FlightGear|Adding fgcommands]] · [[Howto:Create new subsystems|Creating subsystems]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Built-in Profiler]] · [[Howto:Extend Nasal]] · [[Howto:Using Ada in FlightGear]] &amp;lt;small&amp;gt;(&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;updated!&amp;lt;/font&amp;gt;)&amp;lt;/small&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto:Use Property Tree Objects]] · [[Code cleanup]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[FlightGear-Points of Interest]] · [[Request for comments]] &amp;lt;br/&amp;gt;&lt;br /&gt;
[[OpenSceneGraph]] · [[Rendering system improvements]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |rightcolumn7= [[File:Portal scenery.png|40px]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:105%; font-weight:bold&amp;quot;&amp;gt;[[Portal:Developer/Scenery|Scenery]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style:italic;&amp;quot;&amp;gt;&lt;br /&gt;
[[Procedural Texturing]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Place 3D objects with the UFO|Placing objects]] · [[Signs|Airport signs]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Convert objects from X-Plane|Converting from X-Plane/MSFS]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto: Make an airport|Making an airport]] · [[Using TerraGear|Generating terrain]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Interactive traffic]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |rightcolumn8= [[File:Nasallogo3.png|40px]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:105%; font-weight:bold&amp;quot;&amp;gt;[[Nasal|Scripting]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style:italic;&amp;quot;&amp;gt;&lt;br /&gt;
[[Nasal FAQ|Frequently asked questions]] · [[Howto:Write simple scripts in Nasal|Writing simple scripts]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Nasal for C++ programmers]] · [[Nasal Variables|Variables and their types]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Nasal Conditionals|Conditionals]] · [[Nasal Loops|Loops]] · [[Nasal Operators|Operators]] · [[Nasal Console|In-sim console]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  |rightcolumn9= [[File:Animation Icon.png|40px]] &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:105%; font-weight:bold&amp;quot;&amp;gt;Effects and shaders&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-style:italic;&amp;quot;&amp;gt;&lt;br /&gt;
[[Shaders]] · [[Project Rembrandt]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Howto:Shader Programming in FlightGear|Shader programming in FlightGear]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Shader Coding - Best Practices|Best Practices]] · [[GLSL Shader Programming Resources|GLSL resources]]&amp;lt;/span&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;!-------------------------------------------------------------&lt;br /&gt;
                    Main sections&lt;br /&gt;
--------------------------------------------------------------&amp;gt;&lt;br /&gt;
  |sections=&lt;br /&gt;
&lt;br /&gt;
{{Main page/Leftbox|title=Put a piece of yourself into FlightGear!&lt;br /&gt;
  |contents=In FlightGear, &amp;quot;development&amp;quot; is [[Howto:Understand the FlightGear development process|anything that improves the project]]. So, it's not just code-related [[Howto:Start core development|core development]]. There's also [[Portal:Developer/Scenery|scenery development]], [[Portal:Developer/Aircraft|aircraft development]] and all the stuff you can see in the column here on the left. If you want an extended overview, check out the [[Volunteer]] page.&lt;br /&gt;
&lt;br /&gt;
Actually that's not all you can contribute. There's also documentation, with the [[FlightGear Manual]]... and this wiki of course! To contribute to the wiki, head off to the [[Portal:Wiki|Wiki Portal]]. There's a lot to do there too.&lt;br /&gt;
&lt;br /&gt;
If you want to get in touch with other developers, register an account at the [http://forum.flightgear.org/viewforum.php?f=18 forum], and for core development subscribe to the [[mailing list]] too and consider visiting the {{tickets|issue tracker}}.&lt;br /&gt;
&lt;br /&gt;
Remember: we might call it volunteering, but what should drive you is [[How the FlightGear project works|the fun of doing something]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main page/Leftbox|title=For core developers&lt;br /&gt;
  |contents=Visit [[:Category:Core development projects]] to see a list of currently ongoing projects!&lt;br /&gt;
See [[:Category:Developer Plans]] to see a list of developer plans for the upcoming release.&lt;br /&gt;
See [[request for comments]] for a list of long-standing issues and challenges affecting FlightGear's evolution and overall development progress (admittedly a little outdated meanwhile).&lt;br /&gt;
&lt;br /&gt;
'''Help needed:''' &lt;br /&gt;
&lt;br /&gt;
Creating an integrated [[Canvas]] based GUI launcher/package manager {{Issue|1295}}:&lt;br /&gt;
&lt;br /&gt;
{{cquote|For aircraft, the system supports aircraft dirs, there is the package manager code which works but is currently unused, which can download and extract zipped aircraft. This needs a GUI but thanks to the new reset architecture we can finally build this GUI inside FG - i.e an ‘aircraft chooser’ UI - however I am find building such a UI rather outside my comfort zone. If anyone would like to help in this area, let me know.&amp;lt;ref&amp;gt;{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/32239376/ &lt;br /&gt;
|title=size of flightgear-data&lt;br /&gt;
|author=James Turner |date= 2014-04-17 18:23:24}}&amp;lt;/ref&amp;gt;|James Turner}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[YASim]] FDM is looking for a new maintainer:&lt;br /&gt;
&lt;br /&gt;
{{cquote|There are some pending merge requests[http://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/533DBD01.9040802%40sol2500.net/#msg32183541] to add some YASim features, but we have an issue that since none of the current C++ developers own, or are experts in YASim, we're reluctant to be the person who merges such changes, and potentially introduces subtle regressions.&lt;br /&gt;
&lt;br /&gt;
Obviously this is chicken-and-egg, since no one can become expert enough in the  code to become a maintainer :)&lt;br /&gt;
&lt;br /&gt;
So, I'm more than happy to apply patches *providing* I can be convinced they are sane+reasonable from a pure code perspective (happy to help with that, too, &lt;br /&gt;
if people are new to C++), and providing we have some assurance that a representative sample of YASim aircraft are unchanged or improved by the patch. &lt;br /&gt;
Suggestions for that means in practice, are most welcome!&lt;br /&gt;
&lt;br /&gt;
Otherwise I worry, given the nature of the solver, we'll keep optimising the solver for some aircraft, and making other existing aircraft worse - until someone tests them, and announced that they're no longer working.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg23986.html &lt;br /&gt;
|title=YASim and documentation&lt;br /&gt;
|author=James Turner |date= Fri, 05 Oct 2012 03:54:43 -0700}}&amp;lt;/ref&amp;gt;|James Turner}}&lt;br /&gt;
&lt;br /&gt;
{{cquote|I am still broadly happy to answer questions if posed (as long as I remember enough to come up with a meaningful answer).  Just cc: me if you do, because my latencies here are measured in weeks.Bugs can always be fixed.  What YASim needs is a maintainer, not really expertise per se.  The latter comes from the former.&amp;lt;ref&amp;gt;{{cite web |url=http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg23986.html &lt;br /&gt;
|title=YASim and documentation&lt;br /&gt;
|author=Andy Ross |date= Fri, 05 Oct 2012 03:54:43 -0700}}&amp;lt;/ref&amp;gt;|Andy Ross}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Main page/Leftbox|title=Coding Help Needed! (Updated 11/2013)&lt;br /&gt;
  |contents=&lt;br /&gt;
* {{Pending}} [[World Scenery 3.0 roadmap]] &lt;br /&gt;
* {{Pending}} [[Reset &amp;amp; re-init]] and [[Fixing Presets]]&lt;br /&gt;
* {{Pending}} [[USB HID Support]] - mapping USB/HID devices onto the property tree&lt;br /&gt;
* {{Pending}} [[Project Rembrandt#TODO List|Project Rembrandt (Todo List)]] (Shadows/Deferred Rendering: OpenGL/OSG, C++)&lt;br /&gt;
* {{Pending}} [[Canvas Development]] - discusses possible future Canvas additions&lt;br /&gt;
* {{Pending}} [[Canvas Properties#Planned Features|Canvas Project (Planned Features)]] (fully scriptable 2D rendering API)&lt;br /&gt;
* {{Pending}} [[Canvas Widgets#Missing_.2F_Todo|Canvas Widgets (Missing Features)]] (Canvas GUI layer for scriptable widgets)&lt;br /&gt;
* {{Pending}} [[Howto:Use Property Tree Objects|Depreciate tied properties and use PropertyObjects instead]]&lt;br /&gt;
* {{Pending}} [[A_local_weather_system#Feature_requests_on_the_C.2B.2B_side|Local weather system Improvements]] (Requested C++ Changes)&lt;br /&gt;
* {{Pending}} [[Subsystem-level Memory Tracking for FlightGear]]&lt;br /&gt;
* {{Pending}} [[How the Nasal GC works|Fixing the Garbage Collector]] (the GC in [[Nasal]] needs to be improved)&lt;br /&gt;
* {{Pending}} [[CompositeViewer Support|Switching to osgViewer::CompositeViewer]] (multiple scenery cameras and moving maps)&lt;br /&gt;
* {{Pending}} [[Performance Database via FDM]] - implementing VNAV support for FlightGear aircraft&lt;br /&gt;
* {{Pending}} [[TerraGear scenery build server]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* {{Pending}} [[FlightGear Run Levels|Subsystem allocation and re-initialization via listeners]] (Making subsystems optional and better configurable)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Main page/Leftbox|title=Wanted: interview candidates&lt;br /&gt;
  |contents=Every month we try to include an interview with a contributor in the [[FlightGear Newsletter]]. Anyone contributing to FlightGear, in whatever way, is welcome to answer a few questions and write his/her own interview.&lt;br /&gt;
&lt;br /&gt;
More info at [[FlightGear Newsletter: Interview]].&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Portals]]&lt;br /&gt;
&lt;br /&gt;
[[ca:Portal:Desenvolupador]]&lt;br /&gt;
[[es:Portal:Desarrollo]]&lt;br /&gt;
[[fr:Portal:Développeur]]&lt;br /&gt;
[[sr:Portal:Razvoj]]&lt;br /&gt;
[[zh:Portal:Developer]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Help:Tutorial&amp;diff=114048</id>
		<title>Zh/Help:Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Help:Tutorial&amp;diff=114048"/>
		<updated>2018-01-25T08:41:32Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: Created page with &amp;quot;寻求FlightGear飞行模拟器的支持，看用户门户或浏览故障类别。  这里有一些帮助页面，在编辑wiki时可能有用。他们中的大多数都是关...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;寻求FlightGear飞行模拟器的支持，看用户门户或浏览故障类别。&lt;br /&gt;
&lt;br /&gt;
这里有一些帮助页面，在编辑wiki时可能有用。他们中的大多数都是关于MediaWiki软件本身的使用的技术。为了更流畅的介绍，请先看前三个。&lt;br /&gt;
&lt;br /&gt;
==阅读==&lt;br /&gt;
*[[Help:Main navigation elements]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==编辑==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==高级编辑==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==技术问题与请求==&lt;br /&gt;
有请求或与维基/服务器技术问题，在Gmail接触hellosimon。&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Route_manager&amp;diff=114047</id>
		<title>Zh/Route manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Route_manager&amp;diff=114047"/>
		<updated>2018-01-25T07:32:20Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: Created page with &amp;quot;{{BeingTranslated}} {{forum|46|Autopilot &amp;amp; Route Manager}} {{Autoflight Navigation}}  一个真实的'''路线管理器'''  ==介绍==   ==概念==   ==制作路线==   ===标...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BeingTranslated}}&lt;br /&gt;
{{forum|46|Autopilot &amp;amp; Route Manager}}&lt;br /&gt;
{{Autoflight Navigation}}&lt;br /&gt;
&lt;br /&gt;
一个真实的'''路线管理器'''&lt;br /&gt;
&lt;br /&gt;
==介绍==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==概念==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==制作路线==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===标准仪表离场和标准仪表进场===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===如何飞进场===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==激活路线==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==飞一个路线==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==对准跑道==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==特性==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==有用的软件==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==相关内容==&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Route_manager&amp;diff=114046</id>
		<title>Route manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Route_manager&amp;diff=114046"/>
		<updated>2018-01-25T07:31:49Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{forum|46|Autopilot &amp;amp; Route Manager}}&lt;br /&gt;
{{Autoflight Navigation}}&lt;br /&gt;
&lt;br /&gt;
A real '''route-manager''' page!&lt;br /&gt;
&lt;br /&gt;
[[File:Routemanager.jpg|thumb|270px|The route manager dialog.]]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
(in the following sections, familiarity with basic [[IFR]] concepts, [[Autopilot]] usage and [[radio navigation]] is assumed)&lt;br /&gt;
&lt;br /&gt;
The route-manager models part of the functionality found in real-world [[GPS]] and FMS devices, but is usable in any aircraft. Some panel instruments may provide access to the route manager via their own UI, but the route-manager is always available through a generic dialog box. The route-manager is also how a flight plan is made available to FlightGear - in the future this will hopefully permit better [[ATC]] and multi-player interactions, since [[ATC]] logic or controllers will be able to observe the filed plan associated with a pilot.&lt;br /&gt;
&lt;br /&gt;
It's important to realize that the route-manager (and [[GPS]]) are pieces that a panel instrument might present as a single real world device - the mapping between C++ modules, generic user interface and in-panel instruments is very fluid, by design. In general core features exist in whichever place seems the most natural, and it's up to instruments to aggregate the core modules as they require.&lt;br /&gt;
&lt;br /&gt;
== Concepts ==&lt;br /&gt;
The route-manager maintains a flight-plan, consisting of departure, destination, alternate airport and cruise information, as well as a list of waypoints. All information is currently optional, which is highly unrealistic, but convenient.&lt;br /&gt;
&lt;br /&gt;
Route manager waypoints are entered as a [[navaid]] ident, an explicit latitude/longitude pair, or as an offset (bearing and distance) from another navaid. Each waypoint may also have an [[altitude]] associated with it, for vertical navigation modes (VNAV). In the future, other data, especially speed restrictions, may also be associated with waypoints.&lt;br /&gt;
&lt;br /&gt;
The route-manager maintains a ''current waypoint'', which is shown in route-manager dialog, the GPS dialog (in LEG mode), on the default HUD, and potentially in cockpit displays in the aircraft. Normally, the route-manager moves automatically to the next waypoint after passing the current point (this is known as 'sequencing'), but if necessary the active waypoint can be manually adjusted.&lt;br /&gt;
&lt;br /&gt;
An important piece of terminology is a ''leg'', which is a section of route between two waypoints. Many real-world devices deal in legs primarily, since each leg corresponds to a desired track, a distance and possibly an altitude to climb / descend. In the FlightGear route manager, the ''active leg'' is from the previous waypoint to the current waypoint - i.e the current waypoint is where you're heading to at the moment.&lt;br /&gt;
&lt;br /&gt;
== Defining a Route ==&lt;br /&gt;
The simplest way to define a route is to add waypoints one at a time by identifier. Since navaid identifiers are not unique, the route-manager uses your departure airport or the previously defined waypoint to locate the identifier search. In practice, navaids with conflicting names are located far enough apart that this works automatically in practice.&lt;br /&gt;
&lt;br /&gt;
From Flightgear 2016.2.0 onwards, it is also possible to add a list of waypoints using the route manager dialog. These should be separated by spaces, e.g. &amp;quot;TLA DCS HON WCO BNN&amp;quot; and the result is the same as typing individually and pressing the add button for each.&lt;br /&gt;
&lt;br /&gt;
Until departure and arrival procedures are supported, you can often define them yourself, by creating offset waypoints, as shown in the examples below.&lt;br /&gt;
&lt;br /&gt;
Routes can be loaded and saved to and from a simple XML format, so you may prefer to create the routes in a text editor, and load them instead of entering them by hand. You can also use a 3rd party flight-planning tool to create the route, export the route in GPX format and load the file with the route manager (requires FlightGear &amp;gt;= 2.99 and the file must have the suffix &amp;quot;.gpx&amp;quot;). Contact the developer list if you are interested on working on support for further file formats.&lt;br /&gt;
&lt;br /&gt;
In the future, auto-routing using airways or VOR-VOR routing will also be added.&lt;br /&gt;
&lt;br /&gt;
Example waypoint definitions:&lt;br /&gt;
&lt;br /&gt;
;KJFK&lt;br /&gt;
: airport identifier&lt;br /&gt;
;UW&lt;br /&gt;
: navaid identifier ([[NDB]], [[VOR]] or a fix/interaction)&lt;br /&gt;
;TLA/210/35&lt;br /&gt;
: offset from a [[navaid]] - in this example, the 210-degree magnetic radial from TLA VOR, 35 nautical miles out&lt;br /&gt;
;WOBAD@18000&lt;br /&gt;
: WOBAD fix, at eighteen thousand feet altitude&lt;br /&gt;
;SPL/050/12.3@2000&lt;br /&gt;
: 12.3 nautical miles from SPL VOR on the 050 magnetic radial, at two thousand feet&lt;br /&gt;
;-20,55&lt;br /&gt;
: virtual point at W020N55, eg. when flying North Atlantic Tracks&lt;br /&gt;
&lt;br /&gt;
See also [[#Useful Software]]&lt;br /&gt;
&lt;br /&gt;
=== SIDs and STARs ===&lt;br /&gt;
As of FlightGear 2.4.0, the route manager has basic [[SID]]/[[STAR]] support. The route files are not free; access for a single {{wikipedia|AIRAC}} cycle and subscriptions can be bought at [http://www.navigraph.com/ Navigraph].&lt;br /&gt;
&lt;br /&gt;
# Download the Level-D formatted files from the [http://www.navigraph.com/FmsDataPricing.aspx Navigraph manual install page]; log in and pay for the access when prompted. '''Save the .exe file somewhere safe (in case you need to reinstall the route files in the future): Navigraph won't provide you with another copy when the next data update comes out.'''&lt;br /&gt;
# Run the executable file. When prompted, choose to extract the data files in a directory on your Desktop (or in another easily accessible place).&lt;br /&gt;
# Open that directory, you will find many XML files named &amp;lt;tt&amp;gt;ICAO.procedures.xml&amp;lt;/tt&amp;gt; (where &amp;lt;tt&amp;gt;ICAO&amp;lt;/tt&amp;gt; is the ICAO code of the airport the XML file refers to): move each of them to [[$FG_SCENERY]]/Airports/&amp;lt;tt&amp;gt;I&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;C&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;A&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;ICAO&amp;lt;/tt&amp;gt;.procedures.xml (replace &amp;lt;tt&amp;gt;I&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;C&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;A&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ICAO&amp;lt;/tt&amp;gt; with the corresponding letters of the ICAO code). (Example: put &amp;lt;tt&amp;gt;EDDF.procedures.xml&amp;lt;/tt&amp;gt; in [[$FG_SCENERY]]/Airports/E/D/D/EDDF.procedures.xml&amp;lt;/tt&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
The third point can be automated to install many procedure files at once:&lt;br /&gt;
&lt;br /&gt;
* If you have Ruby installed on your computer, you can use [http://files.goneabitbursar.com/fg/install-navdat.rb this renaming script].&lt;br /&gt;
* Another possibility, using [https://www.python.org/ Python] 3, is this [http://people.via.ecp.fr/~flo/python_dumping_ground/short_scripts/extract-navdata.py extract-navdata.py script], which can install the files from a directory or directly from a tarball. Run &amp;lt;tt&amp;gt;extract-navdata.py --help&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;python3 extract-navdata.py --help&amp;lt;/tt&amp;gt; for instructions. You may need to use &amp;lt;tt&amp;gt;py -3&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;python3&amp;lt;/tt&amp;gt; on Windows, cf. [https://docs.python.org/3/using/windows.html Using Python on Windows].&lt;br /&gt;
* You could also use a small bash-script to do the work for you. Bash is a shell, native on Linux, also exists on Macs. Copy the following code into a new file, name it &amp;quot;convert.sh&amp;quot;. Put it into the lowest directory, where all the xml-files are stored. (.../Level-D Simulations/navdata/)&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
for file in *.xml&lt;br /&gt;
  do&lt;br /&gt;
    FILENAME=$( echo $file | sed s/.xml// )&lt;br /&gt;
    DIR=$( echo &amp;quot;$FILENAME&amp;quot; | sed s/[A-Z0-9]\$// )&lt;br /&gt;
    ONE=$( echo &amp;quot;$DIR&amp;quot; | sed s/[A-Z0-9]\$// | sed s/[A-Z0-9]\$// )&lt;br /&gt;
    TWO=$( echo &amp;quot;$DIR&amp;quot; | sed s/[A-Z0-9]// | sed s/[A-Z0-9]\$// )&lt;br /&gt;
    THREE=$( echo &amp;quot;$DIR&amp;quot; | sed s/[A-Z0-9]// | sed s/[A-Z0-9]// )&lt;br /&gt;
    #echo &amp;quot;$file =&amp;gt; $DIR =&amp;gt; $ONE / $TWO / $THREE / $file&amp;quot;&lt;br /&gt;
    mkdir -pv &amp;quot;../Airports/$ONE/$TWO/$THREE&amp;quot;&lt;br /&gt;
    cp -v $file &amp;quot;../Airports/$ONE/$TWO/$THREE/$FILENAME.procedures.xml&amp;quot;&lt;br /&gt;
  done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:# Now it's time to fire up a terminal and navigate to the files: &amp;lt;code&amp;gt;cd /path/to/Level-D Simulations/navdata&amp;lt;/code&amp;gt;&lt;br /&gt;
:# To make the script executable type: &amp;lt;code&amp;gt;chmod +x convert.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
:# Now you're ready to run the script! &amp;lt;code&amp;gt;./convert.sh&amp;lt;/code&amp;gt; &lt;br /&gt;
:When the script is done, you will find a new folder on your hard-disk: &amp;quot;/path/to/LevelD/Airports&amp;quot; which contains the files in our &amp;quot;I/C/A/ICAO.procedures.xml fashion&amp;quot;. You can now copy this Airports-folder into a new scenery-folder and add it to your scenery-list.&lt;br /&gt;
&lt;br /&gt;
Next time you start FlightGear, you can load the routes through the route manager interface.&lt;br /&gt;
&lt;br /&gt;
=== Flying Approaches ===&lt;br /&gt;
The route manager can also be used to fly from airport to airport without using navaids or waypoints. The following is a step-by-step tutorial on how to plan a flight from KSFO-KLAX without using navaids or waypoints. &lt;br /&gt;
&lt;br /&gt;
In the route manager, you will see two rows at the top: departure and arrival. They are almost the same, except departure has SID and the arrival airport has STAR (see below, SID/STAR). &lt;br /&gt;
&lt;br /&gt;
1. In the departure airport row, fill in the ICAO of the airport you are departing from (KSFO) as well as the runway you are taking off from. (10R) If you are not familiar with the airport, choose your departure runway carefully, as your taxi time will depend on the distance of this runway. The SID dropdown can remain as it is.&lt;br /&gt;
&lt;br /&gt;
2. In the arrival airport row, fill in the ICAO of the airport you are arriving at (KLAX) as well as the runway you will be landing on. (06L) Again, if you are not familiar with this airport, choose your arrival runway carefully, as this may significantly extend flight time. Next, select &amp;quot;Default&amp;quot; in the approach dropdown box. STAR can remain as it is. &lt;br /&gt;
&lt;br /&gt;
3. There should now be a list of waypoints below the information fields. The first waypoint (outside of the airport) is a ways from the departure airport (in this example, 283.9 NM). However, the waypoints following that continue the approach, so they are only a few nautical miles away from the previous. The list should be populated with at least 4 waypoints, excluding the airports. When this is true, proceed to the next step.&lt;br /&gt;
&lt;br /&gt;
4. There is a row of buttons at the bottom of the route manager. Press the button that says &amp;quot;Activate&amp;quot;. This will enable the route that you have created (in this case, KSFO-KLAX). However, we don't want to fly to the airport we're already at. We want to fly to the first waypoint, which should be APP-4. To do this, click on APP-4 and click the &amp;quot;Jump To&amp;quot; button at the bottom. APP-4 should now be highlighted in orange. This means that autopilot is ready to fly to that waypoint.&lt;br /&gt;
&lt;br /&gt;
5. Once you get above 500ft, after takeoff, enable autopilot. Click LNAV for lateral navigation to that first waypoint. Your plane will make a slight turn (in this case) towards Los Angeles. Altitude works separately, so you will have to set your own altitude and vertical speed. (If pressing the LNAV button only produces this error: &amp;quot;Captain, we forgot to program or activate the route manager!&amp;quot;, you forgot to click the activate button! Repeat step 4 and 5, then proceed to step 6. You should pause the simulation while doing this.) &lt;br /&gt;
&lt;br /&gt;
6. Your planes will make all the turns for you to get on approach. Remember that you, the pilot, are responsible for altitude, which deserves a whole different tutorial in itself.&lt;br /&gt;
&lt;br /&gt;
== Activating a Route ==&lt;br /&gt;
Activating a route performs certain checks, and creates start and end waypoints based on the selected departure and arrival info. For the moment, that consists of adding the departure runway as waypoint zero, but in the future (when departure procedures are supported) this will create the appropriate procedure waypoints.&lt;br /&gt;
&lt;br /&gt;
This will also be the hook point for calculating cruise information, such as top-of-climb and top-of-descent points in the future.&lt;br /&gt;
&lt;br /&gt;
Other devices (especially a GPS/FMS) may trigger other changes based on activating a route, such as sequencing the first leg of the route, resetting internal counters / timers, and so on.&lt;br /&gt;
&lt;br /&gt;
== Flying a Route ==&lt;br /&gt;
&lt;br /&gt;
When a route is activated, the GPS system enters 'leg' mode, and will automatically sequence waypoints as they are overflown. Note that all aircraft can use the default route-manager and GPS functions, even aircraft that would never (historically) has such systems. This is a convenience to casual users, testing, and so on.&lt;br /&gt;
&lt;br /&gt;
In particular, the GPS drives some properties of the generic autopilot, so 'true heading hold' mode can be used to fly the route manager route (or any other GPS course).&lt;br /&gt;
&lt;br /&gt;
The default [[HUD]] (activated by pressing 'h') shows information about the active waypoint and leg, in the top-left corner. Notably, it includes the identifier, time and distance to the current waypoint, the magnetic bearing to the waypoint, and the current ground track, and finally the deviation (in nautical miles) from the leg course.&lt;br /&gt;
&lt;br /&gt;
In aircraft with realistic navigation systems, or customised autopilots, the default behaviours above may not work; hopefully the aircraft author has provided alternative methods, such as panel instruments, to control the interaction with that aircraft's autopilot and panel.&lt;br /&gt;
&lt;br /&gt;
=== Lining up with Runways ===&lt;br /&gt;
The route-manager only provides guidance to a particular location - to arrive on a particular heading, such as lined up with a runway or [[ILS]] localizer, it is necessary to use multiple waypoints. Virtually all ILS approaches define multiple [[fixes]] that can be used for this purpose, usually including altitude restrictions. For example, for the [http://flightaware.com/resources/airport/KPHX/IAP/ILS+OR+LOC+RWY+08 KPHX 08 approach], waypoints ALLIS, SARTE, HIKID, ILIKE, JAMIL and WAZUP are defined, extending 20nm from the threshold. Typically you enter the initial approach fix (IAF), ALLIS in this example, and as many of the intermediate waypoints as necessary, depending on required descent profile. It is helpful to include the glidepath capture waypoint (WAZUP), to provide an easy altitude reference and cross-check that your ILS receiver is working.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
When a route is active, the route-manage provides various pieces of information based upon current aircraft position / speed, and the route progress. These values would be calculated by the navigation computer in a real system, but are handled by route-manage in FG for convenience. Values logged include the takeoff time, estimated time enroute (ETE), distance remaining enroute, and so on - browse the property tree to see what's available.&lt;br /&gt;
&lt;br /&gt;
== Useful Software ==&lt;br /&gt;
To easily create entries for route manager the application;&lt;br /&gt;
*[http://rubyforge.org/projects/fgmap Flightgear Mapping] is useful. With just a few clicks you can add navaids displayed on the map and as well a route you have defined there via waypoints. Navaids can be inserted into the list at any point, not just at the end.&lt;br /&gt;
*[http://sourceforge.net/projects/fgflightplanner/ Kelpie Flight Planner] appears to be a very thorough route planning tool that works on Windows, Linux and other operating systems.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* For additional route managr system details, see [[Route manager internals]].&lt;br /&gt;
* [[Howto: Create a flightplan]]&lt;br /&gt;
* [[Radio beacons]]&lt;br /&gt;
* [[Radio navigation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Autoflight| ]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Menubar]]&lt;br /&gt;
&lt;br /&gt;
[[es:Gestor de rutas]]&lt;br /&gt;
[[zh:Route_manager]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Route_manager&amp;diff=114044</id>
		<title>Route manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Route_manager&amp;diff=114044"/>
		<updated>2018-01-25T07:30:03Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{forum|46|Autopilot &amp;amp; Route Manager}}&lt;br /&gt;
{{Autoflight Navigation}}&lt;br /&gt;
&lt;br /&gt;
A real '''route-manager''' page!&lt;br /&gt;
&lt;br /&gt;
[[File:Routemanager.jpg|thumb|270px|The route manager dialog.]]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
(in the following sections, familiarity with basic [[IFR]] concepts, [[Autopilot]] usage and [[radio navigation]] is assumed)&lt;br /&gt;
&lt;br /&gt;
The route-manager models part of the functionality found in real-world [[GPS]] and FMS devices, but is usable in any aircraft. Some panel instruments may provide access to the route manager via their own UI, but the route-manager is always available through a generic dialog box. The route-manager is also how a flight plan is made available to FlightGear - in the future this will hopefully permit better [[ATC]] and multi-player interactions, since [[ATC]] logic or controllers will be able to observe the filed plan associated with a pilot.&lt;br /&gt;
&lt;br /&gt;
It's important to realize that the route-manager (and [[GPS]]) are pieces that a panel instrument might present as a single real world device - the mapping between C++ modules, generic user interface and in-panel instruments is very fluid, by design. In general core features exist in whichever place seems the most natural, and it's up to instruments to aggregate the core modules as they require.&lt;br /&gt;
&lt;br /&gt;
== Concepts ==&lt;br /&gt;
The route-manager maintains a flight-plan, consisting of departure, destination, alternate airport and cruise information, as well as a list of waypoints. All information is currently optional, which is highly unrealistic, but convenient.&lt;br /&gt;
&lt;br /&gt;
Route manager waypoints are entered as a [[navaid]] ident, an explicit latitude/longitude pair, or as an offset (bearing and distance) from another navaid. Each waypoint may also have an [[altitude]] associated with it, for vertical navigation modes (VNAV). In the future, other data, especially speed restrictions, may also be associated with waypoints.&lt;br /&gt;
&lt;br /&gt;
The route-manager maintains a ''current waypoint'', which is shown in route-manager dialog, the GPS dialog (in LEG mode), on the default HUD, and potentially in cockpit displays in the aircraft. Normally, the route-manager moves automatically to the next waypoint after passing the current point (this is known as 'sequencing'), but if necessary the active waypoint can be manually adjusted.&lt;br /&gt;
&lt;br /&gt;
An important piece of terminology is a ''leg'', which is a section of route between two waypoints. Many real-world devices deal in legs primarily, since each leg corresponds to a desired track, a distance and possibly an altitude to climb / descend. In the FlightGear route manager, the ''active leg'' is from the previous waypoint to the current waypoint - i.e the current waypoint is where you're heading to at the moment.&lt;br /&gt;
&lt;br /&gt;
== Defining a Route ==&lt;br /&gt;
The simplest way to define a route is to add waypoints one at a time by identifier. Since navaid identifiers are not unique, the route-manager uses your departure airport or the previously defined waypoint to locate the identifier search. In practice, navaids with conflicting names are located far enough apart that this works automatically in practice.&lt;br /&gt;
&lt;br /&gt;
From Flightgear 2016.2.0 onwards, it is also possible to add a list of waypoints using the route manager dialog. These should be separated by spaces, e.g. &amp;quot;TLA DCS HON WCO BNN&amp;quot; and the result is the same as typing individually and pressing the add button for each.&lt;br /&gt;
&lt;br /&gt;
Until departure and arrival procedures are supported, you can often define them yourself, by creating offset waypoints, as shown in the examples below.&lt;br /&gt;
&lt;br /&gt;
Routes can be loaded and saved to and from a simple XML format, so you may prefer to create the routes in a text editor, and load them instead of entering them by hand. You can also use a 3rd party flight-planning tool to create the route, export the route in GPX format and load the file with the route manager (requires FlightGear &amp;gt;= 2.99 and the file must have the suffix &amp;quot;.gpx&amp;quot;). Contact the developer list if you are interested on working on support for further file formats.&lt;br /&gt;
&lt;br /&gt;
In the future, auto-routing using airways or VOR-VOR routing will also be added.&lt;br /&gt;
&lt;br /&gt;
Example waypoint definitions:&lt;br /&gt;
&lt;br /&gt;
;KJFK&lt;br /&gt;
: airport identifier&lt;br /&gt;
;UW&lt;br /&gt;
: navaid identifier ([[NDB]], [[VOR]] or a fix/interaction)&lt;br /&gt;
;TLA/210/35&lt;br /&gt;
: offset from a [[navaid]] - in this example, the 210-degree magnetic radial from TLA VOR, 35 nautical miles out&lt;br /&gt;
;WOBAD@18000&lt;br /&gt;
: WOBAD fix, at eighteen thousand feet altitude&lt;br /&gt;
;SPL/050/12.3@2000&lt;br /&gt;
: 12.3 nautical miles from SPL VOR on the 050 magnetic radial, at two thousand feet&lt;br /&gt;
;-20,55&lt;br /&gt;
: virtual point at W020N55, eg. when flying North Atlantic Tracks&lt;br /&gt;
&lt;br /&gt;
See also [[#Useful Software]]&lt;br /&gt;
&lt;br /&gt;
=== SIDs and STARs ===&lt;br /&gt;
As of FlightGear 2.4.0, the route manager has basic [[SID]]/[[STAR]] support. The route files are not free; access for a single {{wikipedia|AIRAC}} cycle and subscriptions can be bought at [http://www.navigraph.com/ Navigraph].&lt;br /&gt;
&lt;br /&gt;
# Download the Level-D formatted files from the [http://www.navigraph.com/FmsDataPricing.aspx Navigraph manual install page]; log in and pay for the access when prompted. '''Save the .exe file somewhere safe (in case you need to reinstall the route files in the future): Navigraph won't provide you with another copy when the next data update comes out.'''&lt;br /&gt;
# Run the executable file. When prompted, choose to extract the data files in a directory on your Desktop (or in another easily accessible place).&lt;br /&gt;
# Open that directory, you will find many XML files named &amp;lt;tt&amp;gt;ICAO.procedures.xml&amp;lt;/tt&amp;gt; (where &amp;lt;tt&amp;gt;ICAO&amp;lt;/tt&amp;gt; is the ICAO code of the airport the XML file refers to): move each of them to [[$FG_SCENERY]]/Airports/&amp;lt;tt&amp;gt;I&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;C&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;A&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;ICAO&amp;lt;/tt&amp;gt;.procedures.xml (replace &amp;lt;tt&amp;gt;I&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;C&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;A&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ICAO&amp;lt;/tt&amp;gt; with the corresponding letters of the ICAO code). (Example: put &amp;lt;tt&amp;gt;EDDF.procedures.xml&amp;lt;/tt&amp;gt; in [[$FG_SCENERY]]/Airports/E/D/D/EDDF.procedures.xml&amp;lt;/tt&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
The third point can be automated to install many procedure files at once:&lt;br /&gt;
&lt;br /&gt;
* If you have Ruby installed on your computer, you can use [http://files.goneabitbursar.com/fg/install-navdat.rb this renaming script].&lt;br /&gt;
* Another possibility, using [https://www.python.org/ Python] 3, is this [http://people.via.ecp.fr/~flo/python_dumping_ground/short_scripts/extract-navdata.py extract-navdata.py script], which can install the files from a directory or directly from a tarball. Run &amp;lt;tt&amp;gt;extract-navdata.py --help&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;python3 extract-navdata.py --help&amp;lt;/tt&amp;gt; for instructions. You may need to use &amp;lt;tt&amp;gt;py -3&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;python3&amp;lt;/tt&amp;gt; on Windows, cf. [https://docs.python.org/3/using/windows.html Using Python on Windows].&lt;br /&gt;
* You could also use a small bash-script to do the work for you. Bash is a shell, native on Linux, also exists on Macs. Copy the following code into a new file, name it &amp;quot;convert.sh&amp;quot;. Put it into the lowest directory, where all the xml-files are stored. (.../Level-D Simulations/navdata/)&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
for file in *.xml&lt;br /&gt;
  do&lt;br /&gt;
    FILENAME=$( echo $file | sed s/.xml// )&lt;br /&gt;
    DIR=$( echo &amp;quot;$FILENAME&amp;quot; | sed s/[A-Z0-9]\$// )&lt;br /&gt;
    ONE=$( echo &amp;quot;$DIR&amp;quot; | sed s/[A-Z0-9]\$// | sed s/[A-Z0-9]\$// )&lt;br /&gt;
    TWO=$( echo &amp;quot;$DIR&amp;quot; | sed s/[A-Z0-9]// | sed s/[A-Z0-9]\$// )&lt;br /&gt;
    THREE=$( echo &amp;quot;$DIR&amp;quot; | sed s/[A-Z0-9]// | sed s/[A-Z0-9]// )&lt;br /&gt;
    #echo &amp;quot;$file =&amp;gt; $DIR =&amp;gt; $ONE / $TWO / $THREE / $file&amp;quot;&lt;br /&gt;
    mkdir -pv &amp;quot;../Airports/$ONE/$TWO/$THREE&amp;quot;&lt;br /&gt;
    cp -v $file &amp;quot;../Airports/$ONE/$TWO/$THREE/$FILENAME.procedures.xml&amp;quot;&lt;br /&gt;
  done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:# Now it's time to fire up a terminal and navigate to the files: &amp;lt;code&amp;gt;cd /path/to/Level-D Simulations/navdata&amp;lt;/code&amp;gt;&lt;br /&gt;
:# To make the script executable type: &amp;lt;code&amp;gt;chmod +x convert.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
:# Now you're ready to run the script! &amp;lt;code&amp;gt;./convert.sh&amp;lt;/code&amp;gt; &lt;br /&gt;
:When the script is done, you will find a new folder on your hard-disk: &amp;quot;/path/to/LevelD/Airports&amp;quot; which contains the files in our &amp;quot;I/C/A/ICAO.procedures.xml fashion&amp;quot;. You can now copy this Airports-folder into a new scenery-folder and add it to your scenery-list.&lt;br /&gt;
&lt;br /&gt;
Next time you start FlightGear, you can load the routes through the route manager interface.&lt;br /&gt;
&lt;br /&gt;
=== Flying Approaches ===&lt;br /&gt;
The route manager can also be used to fly from airport to airport without using navaids or waypoints. The following is a step-by-step tutorial on how to plan a flight from KSFO-KLAX without using navaids or waypoints. &lt;br /&gt;
&lt;br /&gt;
In the route manager, you will see two rows at the top: departure and arrival. They are almost the same, except departure has SID and the arrival airport has STAR (see below, SID/STAR). &lt;br /&gt;
&lt;br /&gt;
1. In the departure airport row, fill in the ICAO of the airport you are departing from (KSFO) as well as the runway you are taking off from. (10R) If you are not familiar with the airport, choose your departure runway carefully, as your taxi time will depend on the distance of this runway. The SID dropdown can remain as it is.&lt;br /&gt;
&lt;br /&gt;
2. In the arrival airport row, fill in the ICAO of the airport you are arriving at (KLAX) as well as the runway you will be landing on. (06L) Again, if you are not familiar with this airport, choose your arrival runway carefully, as this may significantly extend flight time. Next, select &amp;quot;Default&amp;quot; in the approach dropdown box. STAR can remain as it is. &lt;br /&gt;
&lt;br /&gt;
3. There should now be a list of waypoints below the information fields. The first waypoint (outside of the airport) is a ways from the departure airport (in this example, 283.9 NM). However, the waypoints following that continue the approach, so they are only a few nautical miles away from the previous. The list should be populated with at least 4 waypoints, excluding the airports. When this is true, proceed to the next step.&lt;br /&gt;
&lt;br /&gt;
4. There is a row of buttons at the bottom of the route manager. Press the button that says &amp;quot;Activate&amp;quot;. This will enable the route that you have created (in this case, KSFO-KLAX). However, we don't want to fly to the airport we're already at. We want to fly to the first waypoint, which should be APP-4. To do this, click on APP-4 and click the &amp;quot;Jump To&amp;quot; button at the bottom. APP-4 should now be highlighted in orange. This means that autopilot is ready to fly to that waypoint.&lt;br /&gt;
&lt;br /&gt;
5. Once you get above 500ft, after takeoff, enable autopilot. Click LNAV for lateral navigation to that first waypoint. Your plane will make a slight turn (in this case) towards Los Angeles. Altitude works separately, so you will have to set your own altitude and vertical speed. (If pressing the LNAV button only produces this error: &amp;quot;Captain, we forgot to program or activate the route manager!&amp;quot;, you forgot to click the activate button! Repeat step 4 and 5, then proceed to step 6. You should pause the simulation while doing this.) &lt;br /&gt;
&lt;br /&gt;
6. Your planes will make all the turns for you to get on approach. Remember that you, the pilot, are responsible for altitude, which deserves a whole different tutorial in itself.&lt;br /&gt;
&lt;br /&gt;
== Activating a Route ==&lt;br /&gt;
Activating a route performs certain checks, and creates start and end waypoints based on the selected departure and arrival info. For the moment, that consists of adding the departure runway as waypoint zero, but in the future (when departure procedures are supported) this will create the appropriate procedure waypoints.&lt;br /&gt;
&lt;br /&gt;
This will also be the hook point for calculating cruise information, such as top-of-climb and top-of-descent points in the future.&lt;br /&gt;
&lt;br /&gt;
Other devices (especially a GPS/FMS) may trigger other changes based on activating a route, such as sequencing the first leg of the route, resetting internal counters / timers, and so on.&lt;br /&gt;
&lt;br /&gt;
== Flying a Route ==&lt;br /&gt;
&lt;br /&gt;
When a route is activated, the GPS system enters 'leg' mode, and will automatically sequence waypoints as they are overflown. Note that all aircraft can use the default route-manager and GPS functions, even aircraft that would never (historically) has such systems. This is a convenience to casual users, testing, and so on.&lt;br /&gt;
&lt;br /&gt;
In particular, the GPS drives some properties of the generic autopilot, so 'true heading hold' mode can be used to fly the route manager route (or any other GPS course).&lt;br /&gt;
&lt;br /&gt;
The default [[HUD]] (activated by pressing 'h') shows information about the active waypoint and leg, in the top-left corner. Notably, it includes the identifier, time and distance to the current waypoint, the magnetic bearing to the waypoint, and the current ground track, and finally the deviation (in nautical miles) from the leg course.&lt;br /&gt;
&lt;br /&gt;
In aircraft with realistic navigation systems, or customised autopilots, the default behaviours above may not work; hopefully the aircraft author has provided alternative methods, such as panel instruments, to control the interaction with that aircraft's autopilot and panel.&lt;br /&gt;
&lt;br /&gt;
=== Lining up with Runways ===&lt;br /&gt;
The route-manager only provides guidance to a particular location - to arrive on a particular heading, such as lined up with a runway or [[ILS]] localizer, it is necessary to use multiple waypoints. Virtually all ILS approaches define multiple [[fixes]] that can be used for this purpose, usually including altitude restrictions. For example, for the [http://flightaware.com/resources/airport/KPHX/IAP/ILS+OR+LOC+RWY+08 KPHX 08 approach], waypoints ALLIS, SARTE, HIKID, ILIKE, JAMIL and WAZUP are defined, extending 20nm from the threshold. Typically you enter the initial approach fix (IAF), ALLIS in this example, and as many of the intermediate waypoints as necessary, depending on required descent profile. It is helpful to include the glidepath capture waypoint (WAZUP), to provide an easy altitude reference and cross-check that your ILS receiver is working.&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
When a route is active, the route-manage provides various pieces of information based upon current aircraft position / speed, and the route progress. These values would be calculated by the navigation computer in a real system, but are handled by route-manage in FG for convenience. Values logged include the takeoff time, estimated time enroute (ETE), distance remaining enroute, and so on - browse the property tree to see what's available.&lt;br /&gt;
&lt;br /&gt;
== Useful Software ==&lt;br /&gt;
To easily create entries for route manager the application;&lt;br /&gt;
*[http://rubyforge.org/projects/fgmap Flightgear Mapping] is useful. With just a few clicks you can add navaids displayed on the map and as well a route you have defined there via waypoints. Navaids can be inserted into the list at any point, not just at the end.&lt;br /&gt;
*[http://sourceforge.net/projects/fgflightplanner/ Kelpie Flight Planner] appears to be a very thorough route planning tool that works on Windows, Linux and other operating systems.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* For additional route managr system details, see [[Route manager internals]].&lt;br /&gt;
* [[Howto: Create a flightplan]]&lt;br /&gt;
* [[Radio beacons]]&lt;br /&gt;
* [[Radio navigation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Autoflight| ]]&lt;br /&gt;
[[Category:FlightGear feature]]&lt;br /&gt;
[[Category:Menubar]]&lt;br /&gt;
&lt;br /&gt;
[[es:Gestor de rutas]]&lt;br /&gt;
&lt;br /&gt;
[[zh:Route_manager/zh-hans]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Fr/Aide:Traduire&amp;diff=114041</id>
		<title>Fr/Aide:Traduire</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Fr/Aide:Traduire&amp;diff=114041"/>
		<updated>2018-01-25T05:19:30Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Depuis septembre 2009, le [[Main Page|Wiki FlightGear]] permet l'utilisation de plusieurs langues. Dorénavant, chaque article peut être traduit dans n'importe quelle langue, afin d'en faciliter la compréhension pour les utilisateurs non-anglophones.&lt;br /&gt;
&lt;br /&gt;
=== Nous avons besoin de vous ! ===&lt;br /&gt;
Le Wiki contenant déjà {{NUMBEROFARTICLES}} articles (certains plus petits que d'autres), cela représente beaucoup de travail de traduire toutes les pages. Quelques utilisateurs ont commencés à traduire, mais nous avons vraiment besoin d'aide et pour être plus précis : de la vôtre !&lt;br /&gt;
&lt;br /&gt;
Si nous traduisions ne serait-ce qu'un ou deux articles chacun, cela ne prendrait pas &amp;quot;si&amp;quot; longtemps pour avoir au moins les articles les plus importants comme [[Flying the helicopter]], [[FlightGear]], [[Installing Scenery]] et [[New to FlightGear]].&lt;br /&gt;
&lt;br /&gt;
=== Exemples ===&lt;br /&gt;
Pour les exemples d'articles déjà traduits allez voir [[Main Page]].&lt;br /&gt;
&lt;br /&gt;
=== Comment commencer à traduire ? ===&lt;br /&gt;
Tout d'abord, vous devez trouver un article que vous aimeriez traduire. Ensuite, dans la barre d'adresse de votre navigateur web (Safari, Firefox, Opéra...) ajoutez l'abréviation du langage désiré (allez voir [http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/languages/Names.php ici] pour la liste) suivie par une barre de fraction (/) avant le titre de l'article anglais et allez sur cette page. Par exemple si je voulais traduire l'article terrasync en français, je visiterais [[fr/TerraSync]]. Comme vous pouvez le voir cette page n'existe pas encore, donc nous sommes sûrs que personne n'a traduit cet article pour le moment.&lt;br /&gt;
&lt;br /&gt;
Maintenant, traduisons cet article. Vous pouvez laisser les liens wiki comme ils sont (ils redirigent vers l'article anglais), à moins que l'article soit traduit dans la langue de votre article. Dans ce cas, vous faites un lien wiki comme ceci : &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. [[:nl:Hoofdpagina]] sera montré dans l'article. Il est cependant recommandé d'utiliser&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina|Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, car il permet de ne pas faire référence au préfixe de la langue ([[:nl:Hoofdpagina|Hoofdpagina]]).&lt;br /&gt;
&lt;br /&gt;
Tout en bas de l'article, vous devez placer les liens de langue, de manière à ce qu'il y ait une sympathique liste de sélection dans le menu. Toutes les traductions de l'article devraient être listées. Par exemple, dans l'article anglais de [[TerraSync]], nous ajoutons: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[nl:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. Sur l'article néerlandais, nous ajoutons &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. La langue dans laquelle l'article a été rédigé peut être laissée de côté. Veuillez laisser les langues en ordre alphabétique, de manière à ce qu'il soit plus facile d'ajouter ou de supprimer des langues.&lt;br /&gt;
&lt;br /&gt;
==== Quels articles ne devraient pas être traduit ====&lt;br /&gt;
&amp;lt;u&amp;gt;'''Ne pas'''&amp;lt;/u&amp;gt; commencer à traduire des articles qui doivent '''[[:Category:afd|être détruits]]''' ou '''[[:Category:Articles to be merged|améliorés]]'''. Ces articles doivent d'abord être améliorés dans leur langue d'origine.&lt;br /&gt;
&lt;br /&gt;
'''Merci beaucoup pour vos traductions ou pour toute autre contribution que vous auriez réalisé sur le wiki ! Votre dur labeur est très apprécié par tous les utilisateurs de Flightgear !'''&lt;br /&gt;
&lt;br /&gt;
[[ca:Help:Traduir]]&lt;br /&gt;
[[de:Help:Übersetzen]]&lt;br /&gt;
[[es:Help:Traducir]]&lt;br /&gt;
[[nl:Help:Vertalen]]&lt;br /&gt;
[[fr:Help:traduire]]&lt;br /&gt;
[[en:Help:translate]]&lt;br /&gt;
[[pt:Help: Traduzir]]&lt;br /&gt;
[[ru:Справка:Перевод]]&lt;br /&gt;
[[zh:Help:Translate]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Translate]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Es/Help:Traducir&amp;diff=114040</id>
		<title>Es/Help:Traducir</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Es/Help:Traducir&amp;diff=114040"/>
		<updated>2018-01-25T05:18:52Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Desde el pasado mes de Septiembre de 2009, La [[Main Page|FlightGear Wiki]] soporta multiples lenguas. Desde ahora cada uno de los articulos puede ser traducido a otra lengua, incrementando la simpatia para usuarios no nativos del habla inglesa. &lt;br /&gt;
&lt;br /&gt;
=== Te necesitamos! ===&lt;br /&gt;
Asi como tenemos {{NUMBEROFARTICLES}} artículos (algunos más pequeños que otros) traducir todas estas páginas resulta un infierno lleno de trabajo. Un grupo reducido de usuarios ha comenzado a traducir, pero definítivamente necesitaremos ayuda, para ser preciso: tu ayuda¡ (al menos) de aquellos que hablen más de una lengua, No me sorprendo de saber que muchos de los usuarios de FG son no nativos de la lengua inglesa.&lt;br /&gt;
&lt;br /&gt;
Si todos traducimos una o dos páginas desde ahora en adelante, no nos llevará mucho tiempo traducir al menos los articulos más importantes (como son [[:es:Volando el helicoptero|Volando el helicoptero]], [[:es:FlightGear|FlightGear]], [[Installing Scenery|Instalar escenarios]] y [[:es:Nuevo en FlightGear|Nuevo en FlightGear]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejemplos ===&lt;br /&gt;
Para ejemplos de páginas de artículos ya traducidos (sólo en un par de lenguas), echa un vistazo a la [[Main Page|Página Principal]].&lt;br /&gt;
&lt;br /&gt;
=== ¿Como comienzo a traducir ? ===&lt;br /&gt;
Primero necesitas encontrar un artículo que desees traducir. Luego en la barra de Direcciones URL de tu navegador, añade (es/) la abreviatura de la lengua deseada delante del nombre de la página (mira &lt;br /&gt;
[http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/languages/Names.php aquí] para ver la lista) sobre el titulo del artículo en Inglés y ve a esta página. Por tanto si quiero traducir el artículo TerraSync al español, visitaría la página [[es/TerraSync]]. Como puedes ver esta página no existe todavía, por tanto tendremos la seguridad de que nadie la ha traducido hasta la fecha.&lt;br /&gt;
&lt;br /&gt;
Ahora traducimos el artículo actual. Puedes dejar los enlaces wiki como están (apuntando al articulo en Inglés), a no ser que el artículo al que apunta este traducido al lenguaje de tu artículo. En este caso tienes que hacerle un enlace wiki como este: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:es:Portada]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. [[:es:Portada]] será mostrado en el articulo. Sin embargo se prefiere usar este &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:es:Portada|Portada]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, asi este eliminará el prefijo de lenguaje ([[:es:Portada|Portada]]).&lt;br /&gt;
&lt;br /&gt;
Al final del todo en la base del artículo tienes que poner los enlaces de Lenguas, así habrá una lista de selección en el menú. Todas las traducciones del articulos se listarán. Por tanto en el artículo Inglés de [[TerraSync]], añadiremos: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[es:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. En el artículo en español, añadimos &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. Asi la lengua en la que está escrito el artículo puede ser omitida. Por favor mantén el orden alfabético de las lenguas, asi será más fácil añadir/quitar lenguas.&lt;br /&gt;
&lt;br /&gt;
Una vez traducido el artículo, necesitas añadir un enlace de lengua en cada una de las traducciones del artículo. Visita el articulo en Inglés para ver en qué lenguas está traducido este.&lt;br /&gt;
&lt;br /&gt;
==== Que artículos no deben ser traducidos ====&lt;br /&gt;
&amp;lt;u&amp;gt;'''NO'''&amp;lt;/u&amp;gt; empezar a traducir articulos que estén '''[[:Category:afd|considerados para borrarse]]''' o '''[[:Category:Articles to be merged|que deben ser fundidos]]'''. Primero debe ser mejorada las variante en Inglés de estos articulos.&lt;br /&gt;
&lt;br /&gt;
'''Muchas gracias por tus traducciones u otras contribuciones que haces al wiki! Tu duro trabajo es realmente apreciado por todos los usuarios de FG!'''&lt;br /&gt;
&lt;br /&gt;
[[ca:Help:Traduir]]&lt;br /&gt;
[[de:Help:Übersetzen]]&lt;br /&gt;
[[en:Help:Translate]]&lt;br /&gt;
[[pt:Help: Traduzir]]&lt;br /&gt;
[[nl:Help:Vertalen]]&lt;br /&gt;
[[ru:Справка:Перевод]]&lt;br /&gt;
[[fa:راهنمایی:ترجمه]]&lt;br /&gt;
[[zh:Help:Translate]]&lt;br /&gt;
[[Category:Help|Translate]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=De/Help:%C3%9Cbersetzen&amp;diff=114039</id>
		<title>De/Help:Übersetzen</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=De/Help:%C3%9Cbersetzen&amp;diff=114039"/>
		<updated>2018-01-25T05:16:45Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Seit September 2009 unterstützt das [[:de:Hauptseite|FlightGear Wiki]] mehrere Sprachen. Seit diesem Zeitpunkt kann ''jeder'' Artikel in ''jede'' Sprache übersetzt werden, was die Benutzerfreundlichkeit für Nicht-Englisch sprechende Benutzer erhöht.&lt;br /&gt;
&lt;br /&gt;
== Wir brauchen DICH! ==&lt;br /&gt;
Da wir momentan {{NUMBEROFARTICLES}} Artikel haben (einige kleiner als andere), ist es ein verdammt umfangreiches Stück Arbeit alle Artikel zu übersetzen. Einige Benutzer haben schon damit angefangen, doch wir brauchen noch mehr Hilfe - um genau zu sein: '''Deine''' Hilfe! So gut wie jeder hier im Wiki spricht mehr als nur eine Sprache, also würde es nicht überraschen, wenn die meisten [[:de:FlightGear|FlightGear]] Benutzer Englisch nicht als Muttersprache sprechen.&lt;br /&gt;
&lt;br /&gt;
Wenn wir nur ab und zu mal einen Artikel übersetzen würden, würde es '''sehr''' lange dauern, zumindest die wichtigsten Artikeln (wie [[Flying the helicopter]], [[FlightGear]], [[Installing Scenery]] und/oder [[New to FlightGear]]) zu übersetzen.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
Für Beispiele von Artikeln, die schon (in einige Sprachen) übersetzt wurden, schau auf der [[:de:Hauptseite|Hauptseite]] nach.&lt;br /&gt;
&lt;br /&gt;
== Wie übersetze ich einen Artikel? ==&lt;br /&gt;
Bei Artikeln die schon in eine oder mehrere Sprachen übersetzt wurden, findest Du in der Menüleiste auf der linken Seite am Ende einen Hinweis darauf (''in anderen Sprachen''). Dort sind die Sprachen aufgelistet, in denen der Artikel verfügbar ist. Aber '''Achtung''', nicht immer sind diese Hinweise korrekt. Manchmal wird vergessen einen Artikel als übersetzt zu markieren.&lt;br /&gt;
&lt;br /&gt;
Zunächst brauchst Du einen Artikel, den Du übersetzen möchtest (und der natürlich noch nicht übersetzt wurde). Wenn Du den Artikel geöffnet hast, fügst Du in der Adresszeile Deines Browsers die Abkürzung der gewünschten Sprache ([http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/languages/Names.php hier] eine Übersicht der verfügbaren Abkürzungen), gefolgt von einem Slash (/) vor dem Titel des englischsprachigen Artikels und öffnest diese Seite.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
''Originalartikel'': &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://wiki.flightgear.org/index.php/TerraSync&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Einzufügen ist'': &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://wiki.flightgear.org/index.php/&amp;lt;/nowiki&amp;gt;'''&amp;lt;u&amp;gt;&amp;lt;nowiki&amp;gt;de/&amp;lt;/nowiki&amp;gt;&amp;lt;/u&amp;gt;'''&amp;lt;nowiki&amp;gt;TerraSync&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn diese Seite nicht existiert (das MediaWiki-System wird Dir dies mitteilen), dann kannst Du Dir sicher sein, dass die Seite noch nicht auf Deutsch übersetzt wurde.&lt;br /&gt;
&lt;br /&gt;
== Übersetzen ==&lt;br /&gt;
=== Schritt-für-Schritt Anleitung ===&lt;br /&gt;
# Gehe auf die englische Version der Seite, die Du übersetzen willst.&lt;br /&gt;
# Lies Dir die englische Seite durch und suche nach Fehlern oder möglichen Verbesserungen. Verbessere und aktualisiere dann die englische Seite - wenn Du dir unsicher bist, schreibe deine Ideen auf die Diskussionsseite. (Es gibt zwar keinen Grund dafür, wenn die Übersetzungen besser als die Originalseiten sind, aber es orientieren sich alle restlichen Sprachen an der ''aktuellen'' englischen Seite).&lt;br /&gt;
# Prüfe in der Liste '''In other languages''' links, dass der Artikel nicht schon übersetzt wurde (siehe [[#Wie übersetze ich einen Artikel?|oben]]).&lt;br /&gt;
# Wenn die Sprache nicht aufgeführt wird, kannst Du mit der Übersetzung beginnen. (Wenn Deine Sprache aufgeführt '''ist''', überprüfe und aktualisiere sie mithilfe der englischen Seite)&lt;br /&gt;
# Suche dein Sprachenkürzel ''Language Extension'' '''LE''' aus [http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/languages/Names.php dieser] Liste oder der [[Main_Page|Hauptseite]]. Für Deutsch lautet es '''&amp;quot;de&amp;quot;'''.&lt;br /&gt;
# Rufe die Bearbeitungsfunktion (Edit) der englischen Seite auf.&lt;br /&gt;
# Am Seitenende werden die Links zu den Sprachen aufgeführt. Füge dort &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:Seitentitel]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; hinzu. Setze für ''LE'' dein Sprachenkürzel (de) ein und für ''Seitentitel'' den entgültigen '''übersetzten''' Seitennamen (kann auch Leerzeichen enthalten) ein. Sortiere die Sprachen alphabetisch.&lt;br /&gt;
# Wenn Du auf {{Key press| Show preview }} klickst, sollte deine Sprache links erscheinen. Speicher dann die Seite {{Key press| Save page }}.&lt;br /&gt;
# Klicke auf den neuen Sprachenlink und erstelle dort eine neue Seite (unter ''create'' oben links).&lt;br /&gt;
# Wenn du dir die Seite für eine spätere Übersetzung reserviern willst, füge &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{BeingTranslated}}~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; am oberen Ende der Seite ein.&lt;br /&gt;
# Kopiere ans untere Ende Deiner Seite &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:Page title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; und ersetze &amp;lt;tt&amp;gt;Page title&amp;lt;/tt&amp;gt; mit dem Originaltitel der englischen Seite (wenn vorhanden mit Leerzeichen; achte auf Groß/Kleinschreibung).&lt;br /&gt;
# Wenn der Artikel schon in andere Sprachen übersetzt wurde, kopiere die Liste von der Bearbeitungsseite des englischen Artikels in deinen. Die Sprache in der deine Übersetzung verfasst wird, kann ausgelassen werden. Achte darauf, die Auflistung alphabetisch zu sortieren (en aber immer oben). Dies vereinfacht das Hinzufügen oder Entfernen von Übersetzungen.&lt;br /&gt;
# Prüfe mithilfe von {{Key press| Show preview }}, ob die Links funktionieren und speicher die Seite.{{Key press| Save page }}&lt;br /&gt;
# Wenn die Seite in [[Translation requests]] gelistet ist, kannst Du die Übersetzung dort angeben&lt;br /&gt;
# Nun kannst du mit der Übersetzung des Quelltextes vom englischen Artikel in deine neue Seite beginnen.&lt;br /&gt;
# Wenn du fertig bist und es noch andere Übersetzungen gibt, setze &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[de:deutscher Seitentitel]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; an das Seitenende der anderen Übersetzungen (alphabetisch).&lt;br /&gt;
# Schaue auf der englischen Seite links auf Tools&amp;gt;What links here. Suche dort nach Seiten mit deinem Sprachenkürzel. Suche in denen dann den entsprehenden Link zur englischen Seite und ändere ihn auf den Link zur deutschen Version (siehe [[#Wikilinks|unten]])&lt;br /&gt;
# Beobachte weiter alle späteren Änderungen der englischen Seite und halte deine Übersetzung so aktuell.&lt;br /&gt;
&lt;br /&gt;
=== Formatierung und spezielle Elemente ===&lt;br /&gt;
Bei Deiner Übersetzung wirst Du hin und wieder auf merkwürdige Zeichenketten stoßen. Hier sind einige davon erklärt. Eine vollständige Liste findest du [[Help:Your first article|hier(en)]].&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;== text ==&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; ist eine '''Überschrift'''.&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;''text''&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; ist eine '''Formatierung'''. Zwei mal bedeutet ''kursiv'', drei mal (&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;'''text'''&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;) '''fett'''. &lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;* text / # text&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; sind '''Aufzählungen''' mit &amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Punkt (wie hier) oder &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mit Zahlen (wie oben)&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[Seitenname|text]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; ist ein '''Wikilink''' ([[#Wikilinks|siehe unten]]). Vor dem '''{{!}}''' steht der Seitenname, dahinter der Linktext, den du übersetzen kannst.&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[www.google.de Google]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; ist ein '''Weblink'''. Dieser geht zu [http://www.google.de Google]. Vor dem ersten Leerzeichen steht der Link, dahinter der angezeigte Text, den du übersetzen kannst.&lt;br /&gt;
* &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{Name|Parameter}}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; ist ein '''Template'''. Es fügt Teile wie Tabellen, Textfelder, andere Links... hinzu. Eine Übersicht einiger Templates findest du [[:de:Help:Messagebox Vorlagengalerie|hier]]. Generell gilt, was vor dem ersten '''{{!}}''' steht, ist der Templatename, der nicht mit übersetzt werden darf. Hinter dem ersten '''{{!}}''' sind Parameter oder angezeigte Texte, die Du evtl. übersetzen darfst. Zu den meißten Templates gibt es eine Beschreibung, die Du durch die Suchfunktion oder unter &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;wiki.flightgear.org/template:name&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; erreichst. Dort kannst Du sie auch manchmal übersetzen: [[Help:Templates#Translating templates|Anleitung zur Übersetzung von Templates]]&lt;br /&gt;
&lt;br /&gt;
==== Wikilinks ====&lt;br /&gt;
Lass die Wikilinks wie sie sind (also auf den englischen Artikel verlinkt) solange der verlinkte Artikel noch nicht in Deine Sprache übersetzt wurde. Ist der Artikel schon übersetzt, dann ändere den Link folgendermaßen ab:&lt;br /&gt;
&lt;br /&gt;
''Originallink:'' &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[MainPage]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Nach Übersetzung:'' &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[:de:Hauptseite]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, der Sprachen-Präfix wird mit angezeigt: [[:de:Hauptseite]].&lt;br /&gt;
&lt;br /&gt;
''Besser:'' &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[:de:Hauptseite|Hauptseite]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, der Sprachen-Präfix wird nicht mehr angezeigt: [[:de:Hauptseite|Hauptseite]].&lt;br /&gt;
&lt;br /&gt;
Lass bei den Kategorien am unteren Ende der Seite z.B. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Category:Help|Übersetzen]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; den ersten Teil so stehen. Der Artikel wird durch sie zugeordnet. Den zweiten Teil darfst Du übersetzen.&lt;br /&gt;
&lt;br /&gt;
== Welche Artikel '''nicht''' übersetzt werden sollten ==&lt;br /&gt;
Übersetze '''keine''' Artikel, die für eine [[:Category:afd|Löschung]] oder ein [[:Category:Articles to be merged|Zusammenfügen]] vorgeschlagen sind. Zunächst sollten die englischsprachigen Artikel verbessert/erweitert werden.&lt;br /&gt;
&lt;br /&gt;
'''Danke vielmals für Deine Übersetzung und auch für alle weiteren Beiträge im Wiki. Alle [[:de:Flightgear|Flightgear]] Benutzer werden Deine Arbeit zu schätzen wissen!'''&lt;br /&gt;
&lt;br /&gt;
[[ca:Help:Traduir]]&lt;br /&gt;
[[en:Help:Translate]]&lt;br /&gt;
[[es:Help:Traducir]]&lt;br /&gt;
[[fa:راهنمایی:ترجمه]]&lt;br /&gt;
[[fr:Help:Traduire]]&lt;br /&gt;
[[it:Help:Tradurre]]&lt;br /&gt;
[[nl:Help:Vertalen]]&lt;br /&gt;
[[pt:Help: Traduzir]]&lt;br /&gt;
[[ru:Справка:Перевод]]&lt;br /&gt;
[[sv:Hjälp:Översättning]]&lt;br /&gt;
[[zh:Help:Translate]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Übersetzen]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Ca/Help:Traduir&amp;diff=114038</id>
		<title>Ca/Help:Traduir</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Ca/Help:Traduir&amp;diff=114038"/>
		<updated>2018-01-25T05:16:09Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{hatnote|Per a la traducció de plantilles, vegeu [[Help:Plantilles#Traducció de plantilles]].}}&lt;br /&gt;
&lt;br /&gt;
Des de setembre de 2009, el [[Ca/Portada|wiki de FlightGear]] és compatible amb diversos idiomes. A partir d'ara, tots els articles es poden traduir a qualsevol idioma, augmentant la facilitat d'ús dels usuaris que no parlen anglès.&lt;br /&gt;
&lt;br /&gt;
===Us necessitem!===&lt;br /&gt;
Tenim actualment {{NUMBEROFARTICLES}} articles (alguns són més petits que d'altres), és un gran treball haver de traduir totes les pàgines. Un parell d'usuaris ja van començar a traduir, però definitivament podríem ajudar-nos i, per ser més exactes, necessitem de la vostra ajuda. Gairebé tothom aquí parla més d'un idioma, així que no sorprèn que la majoria dels usuaris de FG siguin parlants d'idiomes no natius d'anglès.&lt;br /&gt;
&lt;br /&gt;
Si tots ens posem a traduir una o dues pàgines de tant en tant, no hauria de portar molt de temps tenir almenys els articles més importants traduïts (com [[Ca/Vol en helicòpter|Vol en helicòpter]], [[Ca/FlightGear|FlightGear]], [[Ca/Instal·lació de l'escenari|Instal·lació de l'escenari]] i [[Ca/Nou a FlightGear|Nou a FlightGear]]).&lt;br /&gt;
&lt;br /&gt;
Vegeu la pàgina de [[Translation requests|peticions de traducció]] per a les traduccions més urgents.&lt;br /&gt;
&lt;br /&gt;
===Exemples===&lt;br /&gt;
Per a exemples d'articles ja traduïts (en un parell d'idiomes), feu una ullada a la [[Ca/Portada|Portada]].&lt;br /&gt;
&lt;br /&gt;
=== Com puc començar a traduir? ===&lt;br /&gt;
Primer heu de trobar un article que vulgueu traduir. A continuació, a la barra URL del navegador, afegiu l'abreviatura del vostre idioma (vegeu &lt;br /&gt;
[https://phabricator.wikimedia.org/diffusion/MW/browse/master/languages/data/Names.php aquí] per a una llista) seguit d'una barra inclinada (/) davant del títol de l'article anglès i entreu en aquesta pàgina. Per tant, per exemple si tenim que traduir l'article TerraSync al neerlandès, podríem entrar a la pàgina amb l'enllaç [[nl/TerraSync]]. Com podeu veure, aquesta pàgina encara no existeix, així que estem segurs que ningú l'ha traduït al neerlandès fins ara.&lt;br /&gt;
&lt;br /&gt;
Ara traduïm l'article real. Podeu deixar enllaços wiki tal com estan (assenyalant l'article en anglès), llevat que l'article es tradueixi a l'idioma del vostre article. En aquest cas, feu un enllaç wiki com aquest: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. [[:nl:Hoofdpagina]] es mostrarà a l'article. No obstant això, es prefereix utilitzar &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina|Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, ja que agafarà el prefix d'idioma ([[:nl:Hoofdpagina|Hoofdpagina]]).&lt;br /&gt;
&lt;br /&gt;
A la part inferior de l'article cal que col·loqueu els enllaços d'idioma, així que hi haurà una bona llista de selecció al menú. Totes les traduccions de l'article s'han d'enumerar. Així que a l'article anglès de [[TerraSync]], afegim: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[nl:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. En l'article neerlandès, afegim &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. Es pot excloure el llenguatge en què s'escriu l'article. Mantingueu les llengües per ordre alfabètic, de manera que serà més fàcil afegir o eliminar idiomes.&lt;br /&gt;
&lt;br /&gt;
Un cop hagueu traduït un article, heu d'afegir un enllaç d'idioma a cada traducció de l'article. Visiteu l'article en anglès per veure en quina llengua s'ha traduït.&lt;br /&gt;
&lt;br /&gt;
==== Guia pas a pas ====&lt;br /&gt;
# Cerqueu la versió en anglès de la pàgina que vulgueu traduir.&lt;br /&gt;
# Comproveu si accepteu el contingut de la pàgina anglesa, utilitzeu la pàgina de discussió o editeu la pàgina anglesa perquè estigui actualitzada (no hi ha cap motiu perquè una pàgina traduïda no sigui millor com la versió en anglès, però per a la sincronització s'a preferit que la versió en anglès estigui actualitzada primer).&lt;br /&gt;
# Mireu a sota, si la pàgina s'ha traduït a altres idiomes, s'enumerarà a continuació '''En altres idiomes'''.&lt;br /&gt;
# Si el vostre idioma no apareix, podeu reclamar-lo i començar a traduir. (Si el vostre idioma es troba a la llista, verifiqueu-lo i actualitzeu-lo)&lt;br /&gt;
# Descobriu el codi de llengua o Language Extension '''LE''' [https://phabricator.wikimedia.org/diffusion/MW/browse/master/languages/data/Names.php d'aquesta] llista.&lt;br /&gt;
# Editeu la versió anglesa a la pàgina.&lt;br /&gt;
# Afegiu al final de la pàgina &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:títol de la pàgina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; on LE és el codi de l'idioma i &amp;lt;tt&amp;gt;títol de la pàgina&amp;lt;/tt&amp;gt; és el títol '''correcte''' en la '''vostra llengua'''. &lt;br /&gt;
# Deseu la pàgina anglesa i comproveu si troba el vostre idioma.&lt;br /&gt;
# Feu clic a l'enllaç d'idioma per editar la pàgina en el vostre idioma.&lt;br /&gt;
# Afegiu &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{BeingTranslated}}~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; a la part superior de la pàgina.&lt;br /&gt;
# Afegiu &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:títol de la pàgina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; a la part inferior de la vostra pàgina, on &amp;lt;tt&amp;gt;títol de la pàgina&amp;lt;/tt&amp;gt; és el títol de la pàgina original en anglès.&lt;br /&gt;
# Si la pàgina anglesa ja s'ha traduït a altres idiomes, copieu i enganxeu-los a la pàgina anglesa al final de la vostra pàgina.&lt;br /&gt;
# Deseu la vostra pàgina i comproveu si la llengua s'ha vinculat.&lt;br /&gt;
# Podeu reclamar la vostra traducció aquí: [[Translation requests]]&lt;br /&gt;
# Comenceu a traduir i afegiu el vostre treball a la nova pàgina.&lt;br /&gt;
# Col·loqueu l'enllaç a la vostra traducció (&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:títol de la pàgina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;) a la part inferior de les pàgines d'altres traduccions.&lt;br /&gt;
# Seguiu/Reviseu la pàgina anglesa i actualitzeu la vostra pàgina quan vegeu actualitzacions interessants.&lt;br /&gt;
&lt;br /&gt;
=== Quins articles no s'han de traduir? ===&lt;br /&gt;
&amp;lt;u&amp;gt;'''No'''&amp;lt;/u&amp;gt; comenceu a traduir articles que són '''[[:Category:afd|considerats per a la seva supressió]]''' o '''[[:Category:Articles to be merged|cal una fusió]]'''. En primer lloc, cal millorar les variants en anglès d'aquests articles.&lt;br /&gt;
&lt;br /&gt;
'''Moltes gràcies per a les vostres traduccions o qualsevol altra contribució que feu al wiki. El vostre treball dur és realment apreciat per tots els usuaris de FG!'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Translate]]&lt;br /&gt;
&lt;br /&gt;
[[de:Help:Übersetzen]]&lt;br /&gt;
[[en:Help:Translate]]&lt;br /&gt;
[[es:Help:Traducir]]&lt;br /&gt;
[[fa:راهنمایی:ترجمه]]&lt;br /&gt;
[[fr:Help:Traduire]]&lt;br /&gt;
[[it:Help:Tradurre]]&lt;br /&gt;
[[nl:Help:Vertalen]]&lt;br /&gt;
[[pt:Help: Traduzir]]&lt;br /&gt;
[[ru:Справка:Перевод]]&lt;br /&gt;
[[sv:Hjälp:Översättning]]&lt;br /&gt;
[[zh:Help:Translate]]&lt;br /&gt;
[[th:Help:Translate]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=It/Help:Tradurre&amp;diff=114037</id>
		<title>It/Help:Tradurre</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=It/Help:Tradurre&amp;diff=114037"/>
		<updated>2018-01-25T05:15:34Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dal Settembre del 2009, la [[Flightgear Wiki]] supporta la possibilità di avere la traduzione di ogni articolo in qualsiasi lingua, permettendo di avere visite dello stesso articolo anche da parte di utenti che non conoscono l'inglese.&lt;br /&gt;
&lt;br /&gt;
===Abbiamo bisogno di TE!===&lt;br /&gt;
Da momento che abbiamo {{NUMBEROFARTICLES}} articoli (alcuni più corti di altri), è necessario fare un gran lavoro per tradurli tutti. Un paio di utenti hanno già iniziato a tradurre, ma abbiamo decisamente bisogno di aiuto, e per essere precisi il tuo aiuto! Quasi tutti parlano più di una lingua, quindi non mi sorprendo che la maggior parte degli utenti di Flightgear non siano di madrelingua inglese.&lt;br /&gt;
&lt;br /&gt;
Se noi tutti ci impegnassimo a tradurre solo una o due pagine ogni tanto, non sarebbe necessaria una grande quantità di tempo e avremmo almeno gli articoli più importanti tradotti.&lt;br /&gt;
&lt;br /&gt;
Gli articoli che necessitano di una traduzione urgente si trovano nella pagina [[Translation requests]].&lt;br /&gt;
&lt;br /&gt;
===Esempi===&lt;br /&gt;
Per un esempio di pagina che è stata tradotta in più lingue da un'occhiata alla [[Main Page|Pagina Principale]]&lt;br /&gt;
&lt;br /&gt;
===Come posso inizare a tradurre?===&lt;br /&gt;
In primo luogo devi trovare l'articolo che vuoi tradurre. Successivamente, nella barra dell'URL del tuo browser, aggiungi l'abbreviazione della tua lingua desiderata (fai riferimento a [http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/languages/Names.php here] per una lista delle abbreviazioni) e aggiungi uno slash (/) prima del nome dell'articolo scritto in inglese ed entra nella pagina. Detto questo, se volessi tradurre l'articolo che fa riferimento a TerraSync in italiano, dovrei visitare la pagina [[it/TerraSync]]. come puoi vedere, questa pagina non esiste ancora e siamo sicuri che nessuno abbia tradotto questa pagina fin'ora.&lt;br /&gt;
&lt;br /&gt;
Ora traduciamo l'articolo vero e proprio. Puoi lasciare link wiki come sono (indicando l'articolo inglese), a meno che l'articolo è tradotto nella lingua del vostro articolo. In questo caso si fa un collegamento wiki come questo: [[: NL: Hoofdpagina]]. nl: Hoofdpagina verrà mostrato in questo articolo. Si è preferito tuttavia usare [[: NL: Hoofdpagina | Hoofdpagina]], come che sbarazzarsi del prefisso lingua (Hoofdpagina).&lt;br /&gt;
&lt;br /&gt;
In fondo lontano di questo articolo è necessario inserire i link di lingua, quindi ci sarà un elenco di selezione piacevole nel menu. Tutte le traduzioni di questo articolo dovrebbe essere incluso. Così sull'articolo inglese di TerraSync, aggiungiamo: [[nl: TerraSync]]. Sull'articolo olandese, aggiungiamo [[it: TerraSync]]. La lingua che l'articolo è scritto in può essere lasciato fuori. Si prega di tenere le lingue in ordine alfabetico, in modo che sarà più facile per aggiungere / rimuovere le lingue.&lt;br /&gt;
&lt;br /&gt;
Dopo aver tradotto un articolo, è necessario aggiungere un link lingua su ogni traduzione dell'articolo. Visita l'articolo inglese per vedere in quali lingue è stato tradotto.&lt;br /&gt;
&lt;br /&gt;
==== Guida passo per passo ====&lt;br /&gt;
# Trovare la versione inglese della pagina che si desidera tradurre.&lt;br /&gt;
# Verificare se siete d'accordo con il contenuto della pagina inglese, utilizzare la pagina di discussione o modificare la pagina inglese in modo che sia up-to date (vi è alcun motivo per cui una pagina tradotta non dovrebbe essere meglio come la versione inglese, ma per la sincronizzazione è preferibile che la versione inglese è up-to-date in primo luogo).&lt;br /&gt;
# Guardare a sinistra in basso, se la pagina è stata tradotta in altre lingue sarà elencare tali lingue al di sotto '' 'In altre lingue' ''.&lt;br /&gt;
# Se la tua lingua non è presente nell'elenco si può pretendere e iniziare a tradurre. (Se la vostra lingua * è * elencato, controllare e aggiornare)&lt;br /&gt;
# Scopri il Extension Language '' 'LE' '' della lingua da [http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3/languages/Names.php questo] lista.&lt;br /&gt;
# Modificare la versione inglese della pagina.&lt;br /&gt;
# Aggiungere al fondo della pagina &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt; [[LE: Titolo della pagina]] &amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; dove LE è l'estensione di lingua e &amp;lt;tt&amp;gt; Titolo della pagina &amp;lt;/tt&amp;gt; è il '' 'corretto' '' titolo '' 'la lingua'''.&lt;br /&gt;
# Salvare la pagina inglese e verificare se ora elenca la lingua.&lt;br /&gt;
# Fare clic sul collegamento linguaggio per modificare la pagina nella tua lingua.&lt;br /&gt;
# Aggiungere &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt; {{BeingTranslated}} ~~~~ &amp;lt;/nowiki&amp;gt; &amp;lt;/tt&amp;gt; nella parte superiore della pagina.&lt;br /&gt;
# Invio &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt; [[it: Pagina title]] &amp;lt;/nowiki&amp;gt; &amp;lt;/tt&amp;gt; nella parte inferiore della pagina, dove &amp;lt;tt&amp;gt; Titolo della pagina &amp;lt;/tt&amp;gt; è il titolo della pagina originale inglese.&lt;br /&gt;
# Se la pagina inglese è già stato tradotto in altre lingue copiare e incollare le lingue dalla pagina inglese al fondo della pagina.&lt;br /&gt;
# Salvare la pagina e controllare se il linguaggio collega di lavoro.&lt;br /&gt;
# È possibile richiedere il traduzione qui: [[Translation requests]]&lt;br /&gt;
# Avviare tradurre e inserire il vostro lavoro nella nuova pagina.&lt;br /&gt;
# Posizionare il link per la vostra traduzione (&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt; [[LE: Titolo della pagina]] &amp;lt;/nowiki&amp;gt; &amp;lt;/tt&amp;gt;) in fondo alle pagine di altre traduzioni.&lt;br /&gt;
# Seguire / Guarda la pagina inglese e aggiornare la pagina quando si vede aggiornamenti interessanti.&lt;br /&gt;
&lt;br /&gt;
=== Quali articoli non dovrebbero essere tradotti? ===&lt;br /&gt;
&amp;lt;u&amp;gt; '' Non '' &amp;lt;/u&amp;gt; iniziare a tradurre articoli che sono '' [[:Category:Afd |considerati in attesa di eliminazione]] '' oppure '' [[:Category:Articles to be merged|articoli che necessitano di essere fusi]]. In quanto le varianti inglesi di tali articoli dovrebbero essere migliorate.&lt;br /&gt;
&lt;br /&gt;
'' 'Grazie mille per le vostre traduzioni o altri contributi apportate alla wiki! Il vostro duro lavoro è molto apprezzato da tutti gli utenti di Flightgear! '' '&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Translate]]&lt;br /&gt;
&lt;br /&gt;
[[ca:Help:Traduir]]&lt;br /&gt;
[[de:Help:Übersetzen]]&lt;br /&gt;
[[es:Help:Traducir]]&lt;br /&gt;
[[nl:Help:Vertalen]]&lt;br /&gt;
[[fa:راهنمایی:ترجمه]]&lt;br /&gt;
[[fr:Help:Traduire]]&lt;br /&gt;
[[pt:Help: Traduzir]]&lt;br /&gt;
[[ru:Справка:Перевод]]&lt;br /&gt;
[[sv:Hjälp:Översättning]]&lt;br /&gt;
[[zh:Help:Translate]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Help:Translate&amp;diff=114036</id>
		<title>Help:Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Help:Translate&amp;diff=114036"/>
		<updated>2018-01-25T05:14:37Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{hatnote|For translation of templates, see [[Help:Templates#Translating templates]].}}&lt;br /&gt;
&lt;br /&gt;
Since September 2009, the [[Main Page|FlightGear Wiki]] supports multiple languages. From now on every article can be translated into any language, increasing the user friendliness for non-native English speaking users. &lt;br /&gt;
&lt;br /&gt;
===We need '''YOU'''!===&lt;br /&gt;
As we have {{NUMBEROFARTICLES}} articles (some are smaller than others,) it is a heck lot of work to translate all the pages. A couple of users already started translating, but we definitely could use some help, and to be precise: your help! (Almost) everyone here speaks more than one language, so I wouldn't be surprised if most of the FG users are non-native English speakers.&lt;br /&gt;
&lt;br /&gt;
If we all just translate one or two pages every now and then, it would not take *that* long to have at least the most important articles (like [[Flying the helicopter]], [[FlightGear]], [[Installing Scenery]] and [[New to FlightGear]]) translated.&lt;br /&gt;
&lt;br /&gt;
Look at [[translation requests]] for the most urgent translations.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
For examples of articles already translated (into a couple of languages,) take a look at the [[Main Page]].&lt;br /&gt;
&lt;br /&gt;
=== How do I start translating? ===&lt;br /&gt;
First you need to find an article that you'd like to translate. Then, in the URL bar of your browser, add the abbreviation of your desired language (see &lt;br /&gt;
[https://phabricator.wikimedia.org/diffusion/MW/browse/master/languages/data/Names.php here] for a list) followed by a slash (/) in front of the English article title and go to that page. Thus, if I wanted to translate the TerraSync article into Dutch, I would visit the [[nl/TerraSync]] page. As you can see this page does not exist yet, so we are sure no-one translated it in Dutch so far.&lt;br /&gt;
&lt;br /&gt;
Now we translate the actual article. You can leave wiki links as they are (pointing to the English article,) unless the article is translated into the language of your article. In that case you make a wiki link like this: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. [[:nl:Hoofdpagina]] will be shown in the article. It is prefered however to use &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina|Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, as that will get rid of the language prefix ([[:nl:Hoofdpagina|Hoofdpagina]]).&lt;br /&gt;
&lt;br /&gt;
At the far bottom of the article you need to place the language links, so there will be a nice selection list in the menu. All translations of the article should be listed. So on the English article of [[TerraSync]], we add: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[nl:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. On the Dutch article, we add &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. The language that the article is written in can be left out. Please keep the languages in alphabetical order, so it will be easier to add/remove languages.&lt;br /&gt;
&lt;br /&gt;
Once you have translated an article, you need to add a language link to it on every translation of the article. Visit the English article to see in which languages it has been translated.&lt;br /&gt;
&lt;br /&gt;
==== Step by step guide ====&lt;br /&gt;
# Find the English version of the page you would like to translate.&lt;br /&gt;
# Check if you agree with the content of the English page, use the discussion page or edit the English page so that it is up-to date (There is no reason why a translated page should not be better as the English version but for synchronisation it's preferred that the English version is up-to-date first) .&lt;br /&gt;
# Look left below, if the page has been translated to other languages it will list those languages below '''In other languages'''.&lt;br /&gt;
# If your language is not listed you can claim it and start translating. (If your language *is* listed, check it and update it)&lt;br /&gt;
# Find out the Language Extension '''LE''' of your language from [https://phabricator.wikimedia.org/diffusion/MW/browse/master/languages/data/Names.php this] list.&lt;br /&gt;
# Edit the English version on the page.&lt;br /&gt;
# Add to the bottom of the page &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:Page title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; where LE is the language extension and &amp;lt;tt&amp;gt;Page title&amp;lt;/tt&amp;gt; is the '''correct''' title in '''your language'''. &lt;br /&gt;
# Save the English page and check if it now lists your language.&lt;br /&gt;
# Click the language link to edit the page in your language.&lt;br /&gt;
# Add &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{BeingTranslated}}~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; at the top of the page.&lt;br /&gt;
# Enter &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:Page title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; at the bottom of your page, where &amp;lt;tt&amp;gt;Page title&amp;lt;/tt&amp;gt; is the title of the original English page.&lt;br /&gt;
# If the English page has already been translated to other languages copy and paste those languages from the English page to the bottom of your page.&lt;br /&gt;
# Save your page and check if the language links work.&lt;br /&gt;
# You can claim your translation here: [[Translation requests]]&lt;br /&gt;
# Start translating and place your work into the new page.&lt;br /&gt;
# Place the link to your translation (&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:Page Title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;) at the bottom of the pages of other translations.&lt;br /&gt;
# Follow/Watch the English page and update your page when you see interesting updates.&lt;br /&gt;
&lt;br /&gt;
=== What articles should not be translated? ===&lt;br /&gt;
&amp;lt;u&amp;gt;'''Do not'''&amp;lt;/u&amp;gt; start translating articles that are '''[[:Category:afd|considered for deletion]]''' or '''[[:Category:Articles to be merged|need merging]]'''. First, the English variants of those articles should be improved.&lt;br /&gt;
&lt;br /&gt;
'''Thanks a lot for your translations or any other contributions you make to the wiki! Your hard work is really appreciated by all FG users!'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Translate]]&lt;br /&gt;
&lt;br /&gt;
[[ca:Help:Traduir]]&lt;br /&gt;
[[de:Help:Übersetzen]]&lt;br /&gt;
[[es:Help:Traducir]]&lt;br /&gt;
[[fa:راهنمایی:ترجمه]]&lt;br /&gt;
[[fr:Help:Traduire]]&lt;br /&gt;
[[it:Help:Tradurre]]&lt;br /&gt;
[[nl:Help:Vertalen]]&lt;br /&gt;
[[pt:Help: Traduzir]]&lt;br /&gt;
[[ru:Справка:Перевод]]&lt;br /&gt;
[[sv:Hjälp:Översättning]]&lt;br /&gt;
[[zh:Help:Translate]]&lt;br /&gt;
[[th:Help:Translate]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Help:Translate&amp;diff=114035</id>
		<title>Zh/Help:Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Help:Translate&amp;diff=114035"/>
		<updated>2018-01-25T05:14:17Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{hatnote|翻译模板，请参阅[[Help:Templates#Translating templates]]。}}&lt;br /&gt;
&lt;br /&gt;
自2009年9月以来，维基的FlightGear支持多种语言。现在，每一篇文章都可以翻译成任何语言，增加对非母语英语使用者的用户友好性。&lt;br /&gt;
&lt;br /&gt;
===我们需要你！===&lt;br /&gt;
现在，我们有2957篇文章，翻译所有的页面是一件很辛苦的工作。有几个用户已经开始翻译，但我们依然需要您的帮助！&lt;br /&gt;
这里的每个人都说不止一种语言，所以如果大部分的FG用户都是非英语母语者，我也不会感到惊讶。如果我们只是把一个&lt;br /&gt;
或两个页面翻译，每种语言有最重要的页面（如如何飞行直升机，FlightGear，安装风光和FlightGear的新手）的翻译将不会花费太长时间。&lt;br /&gt;
查看最迫切的翻译请求。&lt;br /&gt;
&lt;br /&gt;
===实例===&lt;br /&gt;
对于已经翻译过的文章，请看主页。&lt;br /&gt;
&lt;br /&gt;
===我怎样开始翻译？===&lt;br /&gt;
首先，你需要找到一篇你想翻译的文章。然后，在浏览器的URL栏上英文文章标题前添加一个斜线（/）和你想要的语言的缩写，然后转到那个页面。因此，如果我想把terrasync翻译成荷兰语，我将参观NL / terrasync页。正如你所看到的，这个页面还不存在，所以我们确信至今没有人用荷兰语翻译它。&lt;br /&gt;
&lt;br /&gt;
现在我们翻译实际的文章。您可以为它们wiki保留链接（指向英文文章），除非文章被翻译成您文章的语言。在这种情况下，你做的维基链接是这样的：&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;。但最好使用&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina|Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;，因为这会摆脱语言的前缀。&lt;br /&gt;
&lt;br /&gt;
在文章的最底层，你需要放置语言链接，这样菜单中就会有一个不错的选择列表。所有文章的翻译都应该列出来。所以在[[terrasync]]的英语文章添加：&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[nl:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;。在荷兰的文章中，我们添加 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;。这篇文章原来的语言可以被忽略。请按字母顺序排列语言，这样就更容易添加/删除语言。&lt;br /&gt;
&lt;br /&gt;
一旦你翻译了一篇文章，你需要在这篇文章的不同语言版本中添加一个语言链接。浏览英文文章，看看已翻译过的语言。&lt;br /&gt;
&lt;br /&gt;
====具体操作过程====&lt;br /&gt;
# 查找您要翻译的网页的英文版本。&lt;br /&gt;
# 检查你是否同意英文页的内容，使用讨论页或编辑英文页，以便它是最新的（没有理由解释为什么翻译的页面不应该比英文版本更好，但是为了同步，英文版本最好是最新的）。&lt;br /&gt;
# 向左看，如果页面被翻译成其他语言，它将列出这些语言。&lt;br /&gt;
# 如果您的语言没有列出，您可以创建它，并开始翻译。（如果您的语言已列出，请检查并更新它）&lt;br /&gt;
# 从[https://phabricator.wikimedia.org/diffusion/MW/browse/master/languages/data/Names.php 这个列表]中找出语言的扩展名。&lt;br /&gt;
# 编辑页面上的英文版本。&lt;br /&gt;
# 添加&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:Page title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;到页面的底部，LE是语言扩展名，Page title是您语言中正确的标题。&lt;br /&gt;
# 保存英语页面并检查它是否列出了你的语言。&lt;br /&gt;
# 单击你的语言的链接，编辑页面。&lt;br /&gt;
# 在页面的顶部添加&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{BeingTranslated}}~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
# 在页面底部输入&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:Page title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;，其中&amp;lt;tt&amp;gt;Page title&amp;lt;/tt&amp;gt;是原始英文页面的标题。&lt;br /&gt;
# 如果英文页面已被翻译成其他语言，请将这些语言从英文页复制并粘贴到页面底部。&lt;br /&gt;
# 保存您的页面并检查语言链接是否工作。&lt;br /&gt;
# 您可以在这里声明您的翻译：[[Translation requests]]。&lt;br /&gt;
# 开始翻译，把你的成果放到新的页面中。&lt;br /&gt;
# 在其他翻译页面的底部放置链接(&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:Page Title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;)到你的翻译。&lt;br /&gt;
# 当你看到有趣的更新时，跟随/观看英语页面并更新你的页面。&lt;br /&gt;
&lt;br /&gt;
===哪些文章不应该翻译？===&lt;br /&gt;
&amp;lt;u&amp;gt;'''不要'''&amp;lt;/u&amp;gt;开始翻译被认为是'''[[:Category:afd|需要删除]]'''或'''[[:Category:Articles to be merged|需要合并]]'''的文章。首先，应该改进这些文章的英语版本。&lt;br /&gt;
&lt;br /&gt;
'''非常感谢你的翻译或者你对维基的任何贡献！你的辛勤工作将得到所有FG用户的赞赏！'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Translate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Help:Translate]]&lt;br /&gt;
[[ca:Help:Traduir]]&lt;br /&gt;
[[de:Help:Übersetzen]]&lt;br /&gt;
[[es:Help:Traducir]]&lt;br /&gt;
[[fa:راهنمایی:ترجمه]]&lt;br /&gt;
[[fr:Help:Traduire]]&lt;br /&gt;
[[it:Help:Tradurre]]&lt;br /&gt;
[[nl:Help:Vertalen]]&lt;br /&gt;
[[pt:Help: Traduzir]]&lt;br /&gt;
[[ru:Справка:Перевод]]&lt;br /&gt;
[[sv:Hjälp:Översättning]]&lt;br /&gt;
[[th:Help:Translate]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Help:Translate&amp;diff=114034</id>
		<title>Zh/Help:Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Help:Translate&amp;diff=114034"/>
		<updated>2018-01-25T05:13:36Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{hatnote|翻译模板，请参阅[[Help:Templates#Translating templates]]。}}&lt;br /&gt;
&lt;br /&gt;
自2009年9月以来，维基的FlightGear支持多种语言。现在，每一篇文章都可以翻译成任何语言，增加对非母语英语使用者的用户友好性。&lt;br /&gt;
&lt;br /&gt;
===我们需要你！===&lt;br /&gt;
现在，我们有2957篇文章，翻译所有的页面是一件很辛苦的工作。有几个用户已经开始翻译，但我们依然需要您的帮助！&lt;br /&gt;
这里的每个人都说不止一种语言，所以如果大部分的FG用户都是非英语母语者，我也不会感到惊讶。如果我们只是把一个&lt;br /&gt;
或两个页面翻译，每种语言有最重要的页面（如如何飞行直升机，FlightGear，安装风光和FlightGear的新手）的翻译将不会花费太长时间。&lt;br /&gt;
查看最迫切的翻译请求。&lt;br /&gt;
&lt;br /&gt;
===实例===&lt;br /&gt;
对于已经翻译过的文章，请看主页。&lt;br /&gt;
&lt;br /&gt;
===我怎样开始翻译？===&lt;br /&gt;
首先，你需要找到一篇你想翻译的文章。然后，在浏览器的URL栏上英文文章标题前添加一个斜线（/）和你想要的语言的缩写，然后转到那个页面。因此，如果我想把terrasync翻译成荷兰语，我将参观NL / terrasync页。正如你所看到的，这个页面还不存在，所以我们确信至今没有人用荷兰语翻译它。&lt;br /&gt;
&lt;br /&gt;
现在我们翻译实际的文章。您可以为它们wiki保留链接（指向英文文章），除非文章被翻译成您文章的语言。在这种情况下，你做的维基链接是这样的：&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;。但最好使用&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina|Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;，因为这会摆脱语言的前缀。&lt;br /&gt;
&lt;br /&gt;
在文章的最底层，你需要放置语言链接，这样菜单中就会有一个不错的选择列表。所有文章的翻译都应该列出来。所以在[[terrasync]]的英语文章添加：&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[nl:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;。在荷兰的文章中，我们添加 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;。这篇文章原来的语言可以被忽略。请按字母顺序排列语言，这样就更容易添加/删除语言。&lt;br /&gt;
&lt;br /&gt;
一旦你翻译了一篇文章，你需要在这篇文章的不同语言版本中添加一个语言链接。浏览英文文章，看看已翻译过的语言。&lt;br /&gt;
&lt;br /&gt;
====具体操作过程====&lt;br /&gt;
# 查找您要翻译的网页的英文版本。&lt;br /&gt;
# 检查你是否同意英文页的内容，使用讨论页或编辑英文页，以便它是最新的（没有理由解释为什么翻译的页面不应该比英文版本更好，但是为了同步，英文版本最好是最新的）。&lt;br /&gt;
# 向左看，如果页面被翻译成其他语言，它将列出这些语言。&lt;br /&gt;
# 如果您的语言没有列出，您可以创建它，并开始翻译。（如果您的语言已列出，请检查并更新它）&lt;br /&gt;
# 从[https://phabricator.wikimedia.org/diffusion/MW/browse/master/languages/data/Names.php 这个列表]中找出语言的扩展名。&lt;br /&gt;
# 编辑页面上的英文版本。&lt;br /&gt;
# 添加&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:Page title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;到页面的底部，LE是语言扩展名，Page title是您语言中正确的标题。&lt;br /&gt;
# 保存英语页面并检查它是否列出了你的语言。&lt;br /&gt;
# 单击你的语言的链接，编辑页面。&lt;br /&gt;
# 在页面的顶部添加&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{BeingTranslated}}~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
# 在页面底部输入&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:Page title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;，其中&amp;lt;tt&amp;gt;Page title&amp;lt;/tt&amp;gt;是原始英文页面的标题。&lt;br /&gt;
# 如果英文页面已被翻译成其他语言，请将这些语言从英文页复制并粘贴到页面底部。&lt;br /&gt;
# 保存您的页面并检查语言链接是否工作。&lt;br /&gt;
# 您可以在这里声明您的翻译：[[Translation requests]]。&lt;br /&gt;
# 开始翻译，把你的成果放到新的页面中。&lt;br /&gt;
# 在其他翻译页面的底部放置链接(&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:Page Title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;)到你的翻译。&lt;br /&gt;
# 当你看到有趣的更新时，跟随/观看英语页面并更新你的页面。&lt;br /&gt;
&lt;br /&gt;
===哪些文章不应该翻译？===&lt;br /&gt;
&amp;lt;u&amp;gt;'''不要'''&amp;lt;/u&amp;gt;开始翻译被认为是'''[[:Category:afd|需要删除]]'''或'''[[:Category:Articles to be merged|需要合并]]'''的文章。首先，应该改进这些文章的英语版本。&lt;br /&gt;
&lt;br /&gt;
'''非常感谢你的翻译或者你对维基的任何贡献！你的辛勤工作将得到所有FG用户的赞赏！'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Translate]]&lt;br /&gt;
&lt;br /&gt;
[[en:Help：Translate]]&lt;br /&gt;
[[ca:Help:Traduir]]&lt;br /&gt;
[[de:Help:Übersetzen]]&lt;br /&gt;
[[es:Help:Traducir]]&lt;br /&gt;
[[fa:راهنمایی:ترجمه]]&lt;br /&gt;
[[fr:Help:Traduire]]&lt;br /&gt;
[[it:Help:Tradurre]]&lt;br /&gt;
[[nl:Help:Vertalen]]&lt;br /&gt;
[[pt:Help: Traduzir]]&lt;br /&gt;
[[ru:Справка:Перевод]]&lt;br /&gt;
[[sv:Hjälp:Översättning]]&lt;br /&gt;
[[th:Help:Translate]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Help:Translate&amp;diff=114033</id>
		<title>Help:Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Help:Translate&amp;diff=114033"/>
		<updated>2018-01-25T05:11:02Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{hatnote|For translation of templates, see [[Help:Templates#Translating templates]].}}&lt;br /&gt;
&lt;br /&gt;
Since September 2009, the [[Main Page|FlightGear Wiki]] supports multiple languages. From now on every article can be translated into any language, increasing the user friendliness for non-native English speaking users. &lt;br /&gt;
&lt;br /&gt;
===We need '''YOU'''!===&lt;br /&gt;
As we have {{NUMBEROFARTICLES}} articles (some are smaller than others,) it is a heck lot of work to translate all the pages. A couple of users already started translating, but we definitely could use some help, and to be precise: your help! (Almost) everyone here speaks more than one language, so I wouldn't be surprised if most of the FG users are non-native English speakers.&lt;br /&gt;
&lt;br /&gt;
If we all just translate one or two pages every now and then, it would not take *that* long to have at least the most important articles (like [[Flying the helicopter]], [[FlightGear]], [[Installing Scenery]] and [[New to FlightGear]]) translated.&lt;br /&gt;
&lt;br /&gt;
Look at [[translation requests]] for the most urgent translations.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
For examples of articles already translated (into a couple of languages,) take a look at the [[Main Page]].&lt;br /&gt;
&lt;br /&gt;
=== How do I start translating? ===&lt;br /&gt;
First you need to find an article that you'd like to translate. Then, in the URL bar of your browser, add the abbreviation of your desired language (see &lt;br /&gt;
[https://phabricator.wikimedia.org/diffusion/MW/browse/master/languages/data/Names.php here] for a list) followed by a slash (/) in front of the English article title and go to that page. Thus, if I wanted to translate the TerraSync article into Dutch, I would visit the [[nl/TerraSync]] page. As you can see this page does not exist yet, so we are sure no-one translated it in Dutch so far.&lt;br /&gt;
&lt;br /&gt;
Now we translate the actual article. You can leave wiki links as they are (pointing to the English article,) unless the article is translated into the language of your article. In that case you make a wiki link like this: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. [[:nl:Hoofdpagina]] will be shown in the article. It is prefered however to use &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina|Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;, as that will get rid of the language prefix ([[:nl:Hoofdpagina|Hoofdpagina]]).&lt;br /&gt;
&lt;br /&gt;
At the far bottom of the article you need to place the language links, so there will be a nice selection list in the menu. All translations of the article should be listed. So on the English article of [[TerraSync]], we add: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[nl:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. On the Dutch article, we add &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;. The language that the article is written in can be left out. Please keep the languages in alphabetical order, so it will be easier to add/remove languages.&lt;br /&gt;
&lt;br /&gt;
Once you have translated an article, you need to add a language link to it on every translation of the article. Visit the English article to see in which languages it has been translated.&lt;br /&gt;
&lt;br /&gt;
==== Step by step guide ====&lt;br /&gt;
# Find the English version of the page you would like to translate.&lt;br /&gt;
# Check if you agree with the content of the English page, use the discussion page or edit the English page so that it is up-to date (There is no reason why a translated page should not be better as the English version but for synchronisation it's preferred that the English version is up-to-date first) .&lt;br /&gt;
# Look left below, if the page has been translated to other languages it will list those languages below '''In other languages'''.&lt;br /&gt;
# If your language is not listed you can claim it and start translating. (If your language *is* listed, check it and update it)&lt;br /&gt;
# Find out the Language Extension '''LE''' of your language from [https://phabricator.wikimedia.org/diffusion/MW/browse/master/languages/data/Names.php this] list.&lt;br /&gt;
# Edit the English version on the page.&lt;br /&gt;
# Add to the bottom of the page &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:Page title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; where LE is the language extension and &amp;lt;tt&amp;gt;Page title&amp;lt;/tt&amp;gt; is the '''correct''' title in '''your language'''. &lt;br /&gt;
# Save the English page and check if it now lists your language.&lt;br /&gt;
# Click the language link to edit the page in your language.&lt;br /&gt;
# Add &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{{BeingTranslated}}~~~~&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; at the top of the page.&lt;br /&gt;
# Enter &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:Page title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; at the bottom of your page, where &amp;lt;tt&amp;gt;Page title&amp;lt;/tt&amp;gt; is the title of the original English page.&lt;br /&gt;
# If the English page has already been translated to other languages copy and paste those languages from the English page to the bottom of your page.&lt;br /&gt;
# Save your page and check if the language links work.&lt;br /&gt;
# You can claim your translation here: [[Translation requests]]&lt;br /&gt;
# Start translating and place your work into the new page.&lt;br /&gt;
# Place the link to your translation (&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[LE:Page Title]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;) at the bottom of the pages of other translations.&lt;br /&gt;
# Follow/Watch the English page and update your page when you see interesting updates.&lt;br /&gt;
&lt;br /&gt;
=== What articles should not be translated? ===&lt;br /&gt;
&amp;lt;u&amp;gt;'''Do not'''&amp;lt;/u&amp;gt; start translating articles that are '''[[:Category:afd|considered for deletion]]''' or '''[[:Category:Articles to be merged|need merging]]'''. First, the English variants of those articles should be improved.&lt;br /&gt;
&lt;br /&gt;
'''Thanks a lot for your translations or any other contributions you make to the wiki! Your hard work is really appreciated by all FG users!'''&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Translate]]&lt;br /&gt;
&lt;br /&gt;
[[ca:Help:Traduir]]&lt;br /&gt;
[[de:Help:Übersetzen]]&lt;br /&gt;
[[es:Help:Traducir]]&lt;br /&gt;
[[fa:راهنمایی:ترجمه]]&lt;br /&gt;
[[fr:Help:Traduire]]&lt;br /&gt;
[[it:Help:Tradurre]]&lt;br /&gt;
[[nl:Help:Vertalen]]&lt;br /&gt;
[[pt:Help: Traduzir]]&lt;br /&gt;
[[ru:Справка:Перевод]]&lt;br /&gt;
[[sv:Hjälp:Översättning]]&lt;br /&gt;
[[zh:Help:Translate|帮助：翻译]]&lt;br /&gt;
[[th:Help:Translate]]&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Help:Translate&amp;diff=114032</id>
		<title>Zh/Help:Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Help:Translate&amp;diff=114032"/>
		<updated>2018-01-25T03:40:41Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{hatnote|翻译模板，请参阅[[Help:Templates#Translating templates]]。}}&lt;br /&gt;
&lt;br /&gt;
自2009年9月以来，维基的FlightGear支持多种语言。现在，每一篇文章都可以翻译成任何语言，增加对非母语英语使用者的用户友好性。&lt;br /&gt;
&lt;br /&gt;
===我们需要你！===&lt;br /&gt;
现在，我们有2957篇文章，翻译所有的页面是一件很辛苦的工作。有几个用户已经开始翻译，但我们依然需要您的帮助！&lt;br /&gt;
这里的每个人都说不止一种语言，所以如果大部分的FG用户都是非英语母语者，我也不会感到惊讶。如果我们只是把一个&lt;br /&gt;
或两个页面翻译，每种语言有最重要的页面（如如何飞行直升机，FlightGear，安装风光和FlightGear的新手）的翻译将不会花费太长时间。&lt;br /&gt;
查看最迫切的翻译请求。&lt;br /&gt;
&lt;br /&gt;
===实例===&lt;br /&gt;
对于已经翻译过的文章，请看主页。&lt;br /&gt;
&lt;br /&gt;
===我怎样开始翻译？===&lt;br /&gt;
首先，你需要找到一篇你想翻译的文章。然后，在浏览器的URL栏上英文文章标题前添加一个斜线（/）和你想要的语言的缩写，然后转到那个页面。因此，如果我想把terrasync翻译成荷兰语，我将参观NL / terrasync页。正如你所看到的，这个页面还不存在，所以我们确信至今没有人用荷兰语翻译它。&lt;br /&gt;
&lt;br /&gt;
现在我们翻译实际的文章。您可以为它们wiki保留链接（指向英文文章），除非文章被翻译成您文章的语言。在这种情况下，你做的维基链接是这样的：&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;。但最好使用&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[:nl:Hoofdpagina|Hoofdpagina]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;，因为这会摆脱语言的前缀。&lt;br /&gt;
&lt;br /&gt;
在文章的最底层，你需要放置语言链接，这样菜单中就会有一个不错的选择列表。所有文章的翻译都应该列出来。所以在[[terrasync]]的英语文章添加：&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[nl:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;。在荷兰的文章中，我们添加 &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[[en:TerraSync]]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;。这篇文章原来的语言可以被忽略。请按字母顺序排列语言，这样就更容易添加/删除语言。&lt;br /&gt;
&lt;br /&gt;
一旦你翻译了一篇文章，你需要在这篇文章的不同语言版本中添加一个语言链接。浏览英文文章，看看已翻译过的语言。&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Help:Translate&amp;diff=114031</id>
		<title>Zh/Help:Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Help:Translate&amp;diff=114031"/>
		<updated>2018-01-25T03:24:19Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{hatnote|翻译模板，请参阅[[Help:Templates#Translating templates]]。}}&lt;br /&gt;
&lt;br /&gt;
自2009年9月以来，维基的FlightGear支持多种语言。现在，每一篇文章都可以翻译成任何语言，增加对非母语英语使用者的用户友好性。&lt;br /&gt;
&lt;br /&gt;
===我们需要你！===&lt;br /&gt;
现在，我们有2957篇文章，翻译所有的页面是一件很辛苦的工作。有几个用户已经开始翻译，但我们依然需要您的帮助！&lt;br /&gt;
这里的每个人都说不止一种语言，所以如果大部分的FG用户都是非英语母语者，我也不会感到惊讶。如果我们只是把一个&lt;br /&gt;
或两个页面翻译，每种语言有最重要的页面（如如何飞行直升机，FlightGear，安装风光和FlightGear的新手）的翻译将不会花费太长时间。&lt;br /&gt;
查看最迫切的翻译请求。&lt;br /&gt;
&lt;br /&gt;
==实例==&lt;br /&gt;
对于已经翻译过的文章，请看主页。&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Zh/Help:Translate&amp;diff=114030</id>
		<title>Zh/Help:Translate</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Zh/Help:Translate&amp;diff=114030"/>
		<updated>2018-01-25T03:17:24Z</updated>

		<summary type="html">&lt;p&gt;Yfanhan: Created page with &amp;quot;帮助：翻译 (翻译模板，请参阅帮助#翻译模板：模板。) 自2009年9月以来，维基的FlightGear支持多种语言。现在，每一篇文章都可以翻...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;帮助：翻译&lt;br /&gt;
(翻译模板，请参阅帮助#翻译模板：模板。)&lt;br /&gt;
自2009年9月以来，维基的FlightGear支持多种语言。现在，每一篇文章都可以翻译成任何语言，增加对非母语英语使用者的用户友好性。&lt;br /&gt;
&lt;br /&gt;
内容&lt;br /&gt;
1我们需要你！&lt;br /&gt;
2例子&lt;br /&gt;
3我怎样开始翻译？&lt;br /&gt;
   3.1具体操作指南&lt;br /&gt;
4哪些文章不应该翻译？&lt;br /&gt;
&lt;br /&gt;
我们需要你！&lt;br /&gt;
现在，我们有2957篇文章，翻译所有的页面是一件很辛苦的工作。有几个用户已经开始翻译，但我们依然需要您的帮助！&lt;br /&gt;
这里的每个人都说不止一种语言，所以如果大部分的FG用户都是非英语母语者，我也不会感到惊讶。如果我们只是把一个&lt;br /&gt;
或两个页面翻译，每种语言有最重要的页面（如如何飞行直升机，FlightGear，安装风光和FlightGear的新手）的翻译将不会花费太长时间。&lt;br /&gt;
查看最迫切的翻译请求。&lt;br /&gt;
&lt;br /&gt;
实例&lt;br /&gt;
对于已经翻译过的文章，请看主页。&lt;/div&gt;</summary>
		<author><name>Yfanhan</name></author>
	</entry>
</feed>