<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.tls-wiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=John</id>
	<title>The Last Starwiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.tls-wiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=John"/>
	<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/wiki/Special:Contributions/John"/>
	<updated>2026-06-04T08:00:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=2351</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=2351"/>
		<updated>2025-09-26T15:40:54Z</updated>

		<summary type="html">&lt;p&gt;John: /* Translation Editor In Game */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Thank you for Coming To This Page! ==&lt;br /&gt;
As I am sure you have noticed by now, the translations are very much a work-in-progress and we need your help to improve and perfect them. Your help will be much appreciated!&lt;br /&gt;
&lt;br /&gt;
=== Getting your translation fixes or contributions included in the next Alpha ===&lt;br /&gt;
If you would like to get your fixes or perhaps even a new language included in the next Alpha, please talk to John on @jknotten on the Discord and he will be happy to help.&lt;br /&gt;
=== Discord ===&lt;br /&gt;
For help please visit the &#039;&#039;&#039;#mods&#039;&#039;&#039; channel on [https://www.introversion.co.uk/last-starship/discord Discord].&lt;br /&gt;
&lt;br /&gt;
== Overflowing Text and Missing Translations ==&lt;br /&gt;
If you spot any overflowing text or places where the game is still using hard-coded English strings, please file a bug report (if one doesn&#039;t exist already) on the&lt;br /&gt;
&lt;br /&gt;
* [https://bugs.introversion.co.uk bug tracker].&lt;br /&gt;
&lt;br /&gt;
A screenshot with some kind of callout or highlight of the particular area would be a very useful.&lt;br /&gt;
&lt;br /&gt;
== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the &lt;br /&gt;
&lt;br /&gt;
* [https://github.com/Introversion-Software/LastStarshipIssues/issues/new?template=localisation-feedback.yml bug tracker (localisation bug entry form)] (bugs.introversion.co.uk).&lt;br /&gt;
&lt;br /&gt;
Remember to include:&lt;br /&gt;
&lt;br /&gt;
* which language,&lt;br /&gt;
* the incorrect phrase and the &lt;br /&gt;
* correct translation. &lt;br /&gt;
* a screenshot, if possible. &lt;br /&gt;
&lt;br /&gt;
If the translation is good, but the rendering on screen is bad, a [https://bugs.introversion.co.uk general bug report] would be very welcome.&lt;br /&gt;
&lt;br /&gt;
== Inconsistency in Translation ==&lt;br /&gt;
If you notice an inconsistency in translation please let us know. For example, if an object type is translated in one way but then referred to in a different way.&lt;br /&gt;
&lt;br /&gt;
Or if a ship name is translated in different ways.&lt;br /&gt;
&lt;br /&gt;
Or other inconsistency.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/Introversion-Software/LastStarshipIssues/issues/new?template=localisation-feedback.yml bug tracker (localisation bug entry form)] (bugs.introversion.co.uk).&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt;. {{Data directories|preferences.txt}}&lt;br /&gt;
[[File:Translation Editor.png|thumb|In-game Translation Editor]]&lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
* Pessing &amp;lt;code&amp;gt;F8&amp;lt;/code&amp;gt; will bring up the in-game translation editor. See below.&lt;br /&gt;
&lt;br /&gt;
=== Translation Editor In Game ===&lt;br /&gt;
If you enable &#039;&#039;&#039;Translator Assist&#039;&#039;&#039; you will be able to press &amp;lt;code&amp;gt;F8&amp;lt;/code&amp;gt;  to bring up the in game editor. You can search for the key you would like to change and make the change directly, which should be visible in game immediately.&lt;br /&gt;
&lt;br /&gt;
Once you have finished making your changes press the &amp;lt;code&amp;gt;Browse&amp;lt;/code&amp;gt; button to bring up the File Explorer on the language folder, where you can find &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;. This is the file that contains your changes and that you should share with Introversion (e.g. talk to @Totengeist or @jknotten on the Discord)&lt;br /&gt;
&lt;br /&gt;
=== Editing Language.CSV directly ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Characters don&#039;t appear properly ===&lt;br /&gt;
[[File:SpreadsheetTextImportScreen.png|thumb]]&lt;br /&gt;
If you are opening &#039;&#039;&#039;language.csv&#039;&#039;&#039; with a spreadsheet application like LibreOffice Calc or Microsoft Excel, you may see a &#039;&#039;Text Import&#039;&#039; screen. Please ensure that the &#039;&#039;Character set&#039;&#039; is set to Unicode (UTF-8), or you may see some characters not display properly.&lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&#039;&#039;&#039;key&#039;&#039;&#039;: the language key (e.g. &amp;lt;code&amp;gt;newmainmenu_newgame&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;svn&#039;&#039;&#039;: the source code revision number (Subversion Revision) when this key&#039;s english was last updated. This is a kind of version number of the key. You can have several rows with the same key and the game should use the translation with the highest svn number. You should leave this value unmodified so that it is clear which version of the key the translation corresponds to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;english&#039;&#039;&#039;: the English text corresponding to the key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translation&#039;&#039;&#039;: the translation itself.&lt;br /&gt;
&lt;br /&gt;
=== Double Quotes &amp;quot;&amp;quot; ===&lt;br /&gt;
Note that because language.csv is a comma-separated value text file, if there are any commas present in the English or the Translation, then the value should be surrounded by double quotes &amp;quot;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
For example, if the English was: &lt;br /&gt;
&lt;br /&gt;
Hello, John. &lt;br /&gt;
&lt;br /&gt;
Then in the language.csv file, it should have &amp;quot;&amp;quot; around it:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Hello, John.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This is so that the game can tell which commas separate fields of the translation table and which are part of the text itself. Note that the enclosing double quotes (&amp;quot;&amp;quot;) will be ignored by the game and won&#039;t render on the screen.&lt;br /&gt;
&lt;br /&gt;
=== Markers in the text ===&lt;br /&gt;
&lt;br /&gt;
==== Programmatic Placeholders ====&lt;br /&gt;
Some strings have markers in them. We use these to programmatically add information to strings while the game is running. They are an asterisk followed by a single letter (e.g. *X). These markers must be kept as an asterisk followed by the given letter, but can be placed anywhere in the string. &lt;br /&gt;
&lt;br /&gt;
For example, *X might be the number of fuel containers on your ship, or it might be a monetary value. If it is not clear, please ask for more context.&lt;br /&gt;
&lt;br /&gt;
There are some markers that are special:&lt;br /&gt;
* S*X  - a star system (e.g. NG11).&lt;br /&gt;
* $*X - an amount of money.  The game uses the format_currency key to format it accordingly.&lt;br /&gt;
* L*X - the name of a star ship (e.g. PROCYON).&lt;br /&gt;
* R*X -the name of an object type in game (e.g. Fuel, Crew, Docking Port).&lt;br /&gt;
&lt;br /&gt;
==== Escaped characters, e.g. \n  ====&lt;br /&gt;
&lt;br /&gt;
Some strings contain newline markers (written as \n) which should be left in appropriate places. They are used to start a new line and/or paragraphs.&lt;br /&gt;
&lt;br /&gt;
==== Key Bindings ====&lt;br /&gt;
&lt;br /&gt;
Key bindings are of the form {ToggleMap}. As with markers, if a keybinding appears in the English, it should also appear in the Translation.&lt;br /&gt;
&lt;br /&gt;
=== Other Issues ===&lt;br /&gt;
The fonts used in the game don&#039;t have every character from every language. Get in touch (see below) and we will try to accommodate you in the next alpha if we can.&lt;br /&gt;
&lt;br /&gt;
Some parts of the game still have hardcoded English strings. Please let us know in the bug tracker.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=File:Translation_Editor.png&amp;diff=2350</id>
		<title>File:Translation Editor.png</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=File:Translation_Editor.png&amp;diff=2350"/>
		<updated>2025-09-26T15:40:16Z</updated>

		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Translation Editor GUI in game.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=2349</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=2349"/>
		<updated>2025-09-26T15:36:34Z</updated>

		<summary type="html">&lt;p&gt;John: Instructions for accessing the in game editor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Thank you for Coming To This Page! ==&lt;br /&gt;
As I am sure you have noticed by now, the translations are very much a work-in-progress and we need your help to improve and perfect them. Your help will be much appreciated!&lt;br /&gt;
&lt;br /&gt;
=== Getting your translation fixes or contributions included in the next Alpha ===&lt;br /&gt;
If you would like to get your fixes or perhaps even a new language included in the next Alpha, please talk to John on @jknotten on the Discord and he will be happy to help.&lt;br /&gt;
=== Discord ===&lt;br /&gt;
For help please visit the &#039;&#039;&#039;#mods&#039;&#039;&#039; channel on [https://www.introversion.co.uk/last-starship/discord Discord].&lt;br /&gt;
&lt;br /&gt;
== Overflowing Text and Missing Translations ==&lt;br /&gt;
If you spot any overflowing text or places where the game is still using hard-coded English strings, please file a bug report (if one doesn&#039;t exist already) on the&lt;br /&gt;
&lt;br /&gt;
* [https://bugs.introversion.co.uk bug tracker].&lt;br /&gt;
&lt;br /&gt;
A screenshot with some kind of callout or highlight of the particular area would be a very useful.&lt;br /&gt;
&lt;br /&gt;
== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the &lt;br /&gt;
&lt;br /&gt;
* [https://github.com/Introversion-Software/LastStarshipIssues/issues/new?template=localisation-feedback.yml bug tracker (localisation bug entry form)] (bugs.introversion.co.uk).&lt;br /&gt;
&lt;br /&gt;
Remember to include:&lt;br /&gt;
&lt;br /&gt;
* which language,&lt;br /&gt;
* the incorrect phrase and the &lt;br /&gt;
* correct translation. &lt;br /&gt;
* a screenshot, if possible. &lt;br /&gt;
&lt;br /&gt;
If the translation is good, but the rendering on screen is bad, a [https://bugs.introversion.co.uk general bug report] would be very welcome.&lt;br /&gt;
&lt;br /&gt;
== Inconsistency in Translation ==&lt;br /&gt;
If you notice an inconsistency in translation please let us know. For example, if an object type is translated in one way but then referred to in a different way.&lt;br /&gt;
&lt;br /&gt;
Or if a ship name is translated in different ways.&lt;br /&gt;
&lt;br /&gt;
Or other inconsistency.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/Introversion-Software/LastStarshipIssues/issues/new?template=localisation-feedback.yml bug tracker (localisation bug entry form)] (bugs.introversion.co.uk).&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt;. {{Data directories|preferences.txt}}&lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
* Pessing &amp;lt;code&amp;gt;F8&amp;lt;/code&amp;gt; will bring up the in-game translation editor. See below.&lt;br /&gt;
&lt;br /&gt;
=== Translation Editor In Game ===&lt;br /&gt;
If you enable &#039;&#039;&#039;Translator Assist&#039;&#039;&#039; you will be able to press &amp;lt;code&amp;gt;F8&amp;lt;/code&amp;gt;  to bring up the in game editor. You can search for the key you would like to change and make the change directly, which should be visible in game immediately.&lt;br /&gt;
&lt;br /&gt;
Once you have finished making your changes press the &amp;lt;code&amp;gt;Browse&amp;lt;/code&amp;gt; button to bring up the File Explorer on the language folder, where you can find &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;. This is the file that contains your changes and that you should share with Introversion (e.g. talk to @Totengeist or @jknotten on the Discord)&lt;br /&gt;
&lt;br /&gt;
=== Editing Language.CSV directly ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Characters don&#039;t appear properly ===&lt;br /&gt;
[[File:SpreadsheetTextImportScreen.png|thumb]]&lt;br /&gt;
If you are opening &#039;&#039;&#039;language.csv&#039;&#039;&#039; with a spreadsheet application like LibreOffice Calc or Microsoft Excel, you may see a &#039;&#039;Text Import&#039;&#039; screen. Please ensure that the &#039;&#039;Character set&#039;&#039; is set to Unicode (UTF-8), or you may see some characters not display properly.&lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&#039;&#039;&#039;key&#039;&#039;&#039;: the language key (e.g. &amp;lt;code&amp;gt;newmainmenu_newgame&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;svn&#039;&#039;&#039;: the source code revision number (Subversion Revision) when this key&#039;s english was last updated. This is a kind of version number of the key. You can have several rows with the same key and the game should use the translation with the highest svn number. You should leave this value unmodified so that it is clear which version of the key the translation corresponds to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;english&#039;&#039;&#039;: the English text corresponding to the key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translation&#039;&#039;&#039;: the translation itself.&lt;br /&gt;
&lt;br /&gt;
=== Double Quotes &amp;quot;&amp;quot; ===&lt;br /&gt;
Note that because language.csv is a comma-separated value text file, if there are any commas present in the English or the Translation, then the value should be surrounded by double quotes &amp;quot;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
For example, if the English was: &lt;br /&gt;
&lt;br /&gt;
Hello, John. &lt;br /&gt;
&lt;br /&gt;
Then in the language.csv file, it should have &amp;quot;&amp;quot; around it:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Hello, John.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This is so that the game can tell which commas separate fields of the translation table and which are part of the text itself. Note that the enclosing double quotes (&amp;quot;&amp;quot;) will be ignored by the game and won&#039;t render on the screen.&lt;br /&gt;
&lt;br /&gt;
=== Markers in the text ===&lt;br /&gt;
&lt;br /&gt;
==== Programmatic Placeholders ====&lt;br /&gt;
Some strings have markers in them. We use these to programmatically add information to strings while the game is running. They are an asterisk followed by a single letter (e.g. *X). These markers must be kept as an asterisk followed by the given letter, but can be placed anywhere in the string. &lt;br /&gt;
&lt;br /&gt;
For example, *X might be the number of fuel containers on your ship, or it might be a monetary value. If it is not clear, please ask for more context.&lt;br /&gt;
&lt;br /&gt;
There are some markers that are special:&lt;br /&gt;
* S*X  - a star system (e.g. NG11).&lt;br /&gt;
* $*X - an amount of money.  The game uses the format_currency key to format it accordingly.&lt;br /&gt;
* L*X - the name of a star ship (e.g. PROCYON).&lt;br /&gt;
* R*X -the name of an object type in game (e.g. Fuel, Crew, Docking Port).&lt;br /&gt;
&lt;br /&gt;
==== Escaped characters, e.g. \n  ====&lt;br /&gt;
&lt;br /&gt;
Some strings contain newline markers (written as \n) which should be left in appropriate places. They are used to start a new line and/or paragraphs.&lt;br /&gt;
&lt;br /&gt;
==== Key Bindings ====&lt;br /&gt;
&lt;br /&gt;
Key bindings are of the form {ToggleMap}. As with markers, if a keybinding appears in the English, it should also appear in the Translation.&lt;br /&gt;
&lt;br /&gt;
=== Other Issues ===&lt;br /&gt;
The fonts used in the game don&#039;t have every character from every language. Get in touch (see below) and we will try to accommodate you in the next alpha if we can.&lt;br /&gt;
&lt;br /&gt;
Some parts of the game still have hardcoded English strings. Please let us know in the bug tracker.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1899</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1899"/>
		<updated>2025-03-05T13:39:11Z</updated>

		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Thank you for Coming To This Page! ==&lt;br /&gt;
As I am sure you have noticed by now, the translations are very much a work-in-progress and we need your help to improve and perfect them. Your help will be much appreciated!&lt;br /&gt;
&lt;br /&gt;
=== Getting your translation fixes or contributions included in the next Alpha ===&lt;br /&gt;
If you would like to get your fixes or perhaps even a new language included in the next Alpha, please talk to John on @jknotten on the Discord and he will be happy to help.&lt;br /&gt;
=== Discord ===&lt;br /&gt;
For help please visit the &#039;&#039;&#039;#mods&#039;&#039;&#039; channel on [https://www.introversion.co.uk/last-starship/discord Discord].&lt;br /&gt;
&lt;br /&gt;
== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [https://github.com/Introversion-Software/LastStarshipIssues/issues/new?template=localisation-feedback.yml bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;br /&gt;
&lt;br /&gt;
If the translation is good, but the rendering on screen is bad, a general bug report would be very welcome.&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt ( On Windows, &amp;lt;code&amp;gt;%APPLOCALDATA%\Introversion\LastStarship\preferences.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;~/Library/Application Support/LastStarship/preferences.txt&amp;lt;/code&amp;gt; on Mac OS X ) there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt; . &lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
&lt;br /&gt;
=== Contributing Translations ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&#039;&#039;&#039;key&#039;&#039;&#039;: the language key (e.g. &amp;lt;code&amp;gt;newmainmenu_newgame&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;svn&#039;&#039;&#039;: the source code revision number (Subversion Revision) when this key&#039;s english was last updated. This is a kind of version number of the key. You can have several rows with the same key and the game should use the translation with the highest svn number. You should leave this value unmodified so that it is clear which version of the key the translation corresponds to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;english&#039;&#039;&#039;: the English text corresponding to the key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translation&#039;&#039;&#039;: the translation itself.&lt;br /&gt;
&lt;br /&gt;
=== Markers in the text ===&lt;br /&gt;
&lt;br /&gt;
==== Programmatic Placeholders ====&lt;br /&gt;
Some strings have markers in them. We use these to programmatically add information to strings while the game is running. They are an asterisk followed by a single letter (e.g. *X). These markers must be kept as an asterisk followed by the given letter, but can be placed anywhere in the string. &lt;br /&gt;
&lt;br /&gt;
For example, *X might be the number of fuel containers on your ship, or it might be a monetary value. If it is not clear, please ask for more context.&lt;br /&gt;
&lt;br /&gt;
There are some markers that are special:&lt;br /&gt;
* S*X  - a star system (e.g. NG11).&lt;br /&gt;
* $*X - an amount of money.  The game uses the format_currency key to format it accordingly.&lt;br /&gt;
* L*X - the name of a star ship (e.g. PROCYON).&lt;br /&gt;
* R*X -the name of an object type in game (e.g. Fuel, Crew, Docking Port).&lt;br /&gt;
&lt;br /&gt;
==== Escaped characters, e.g. \n  ====&lt;br /&gt;
&lt;br /&gt;
Some strings contain newline markers (written as \n) which should be left in appropriate places. They are used to start a new line and/or paragraphs.&lt;br /&gt;
&lt;br /&gt;
==== Key Bindings ====&lt;br /&gt;
&lt;br /&gt;
Key bindings are of the form {ToggleMap}. As with markers, if a keybinding appears in the English, it should also appear in the Translation.&lt;br /&gt;
&lt;br /&gt;
=== Other Issues ===&lt;br /&gt;
The fonts used in the game don&#039;t have every character from every language. Get in touch (see below) and we will try to accommodate you in the next alpha if we can.&lt;br /&gt;
&lt;br /&gt;
Some parts of the game still have hardcoded English strings. Please let us know in the bug tracker.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1898</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1898"/>
		<updated>2025-03-05T12:53:20Z</updated>

		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Thank you for Coming To This Page! ==&lt;br /&gt;
As I am sure you have noticed by now, the translations are very much a work-in-progress and we need your help to improve and perfect them. Your help will be much appreciated!&lt;br /&gt;
&lt;br /&gt;
== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [https://github.com/Introversion-Software/LastStarshipIssues/issues/new?template=localisation-feedback.yml bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;br /&gt;
&lt;br /&gt;
If the translation is good, but the rendering on screen is bad, a general bug report would be very welcome.&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt ( On Windows, &amp;lt;code&amp;gt;%APPLOCALDATA%\Introversion\LastStarship\preferences.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;~/Library/Application Support/LastStarship/preferences.txt&amp;lt;/code&amp;gt; on Mac OS X ) there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt; . &lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
&lt;br /&gt;
=== Contributing Translations ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&#039;&#039;&#039;key&#039;&#039;&#039;: the language key (e.g. &amp;lt;code&amp;gt;newmainmenu_newgame&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;svn&#039;&#039;&#039;: the source code revision number (Subversion Revision) when this key&#039;s english was last updated. This is a kind of version number of the key. You can have several rows with the same key and the game should use the translation with the highest svn number. You should leave this value unmodified so that it is clear which version of the key the translation corresponds to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;english&#039;&#039;&#039;: the English text corresponding to the key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translation&#039;&#039;&#039;: the translation itself.&lt;br /&gt;
&lt;br /&gt;
=== Markers in the text ===&lt;br /&gt;
&lt;br /&gt;
==== Programmatic Placeholders ====&lt;br /&gt;
Some strings have markers in them. We use these to programmatically add information to strings while the game is running. They are an asterisk followed by a single letter (e.g. *X). These markers must be kept as an asterisk followed by the given letter, but can be placed anywhere in the string. &lt;br /&gt;
&lt;br /&gt;
For example, *X might be the number of fuel containers on your ship, or it might be a monetary value. If it is not clear, please ask for more context.&lt;br /&gt;
&lt;br /&gt;
There are some markers that are special:&lt;br /&gt;
* S*X  - a star system (e.g. NG11).&lt;br /&gt;
* $*X - an amount of money.  The game uses the format_currency key to format it accordingly.&lt;br /&gt;
* L*X - the name of a star ship (e.g. PROCYON).&lt;br /&gt;
* R*X -the name of an object type in game (e.g. Fuel, Crew, Docking Port).&lt;br /&gt;
&lt;br /&gt;
==== Escaped characters, e.g. \n  ====&lt;br /&gt;
&lt;br /&gt;
Some strings contain newline markers (written as \n) which should be left in appropriate places. They are used to start a new line and/or paragraphs.&lt;br /&gt;
&lt;br /&gt;
==== Key Bindings ====&lt;br /&gt;
&lt;br /&gt;
Key bindings are of the form {ToggleMap}. As with markers, if a keybinding appears in the English, it should also appear in the Translation.&lt;br /&gt;
&lt;br /&gt;
=== Other Issues ===&lt;br /&gt;
The fonts used in the game don&#039;t have every character from every language. Get in touch (see below) and we will try to accommodate you in the next alpha if we can.&lt;br /&gt;
&lt;br /&gt;
Some parts of the game still have hardcoded English strings. Please let us know in the bug tracker.&lt;br /&gt;
&lt;br /&gt;
=== Discord ===&lt;br /&gt;
For help please visit the #mods channel on Discord.&lt;br /&gt;
&lt;br /&gt;
=== Getting your translation fixes or contributions included in the next Alpha ===&lt;br /&gt;
Please talk to John on @jknotten on the Discord and he will be happy to help.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1897</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1897"/>
		<updated>2025-03-04T16:06:14Z</updated>

		<summary type="html">&lt;p&gt;John: Set localisation feedback form.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [https://github.com/Introversion-Software/LastStarshipIssues/issues/new?template=localisation-feedback.yml bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt ( On Windows, &amp;lt;code&amp;gt;%APPLOCALDATA%\Introversion\LastStarship\preferences.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;~/Library/Application Support/LastStarship/preferences.txt&amp;lt;/code&amp;gt; on Mac OS X ) there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt; . &lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
&lt;br /&gt;
=== Contributing Translations ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&#039;&#039;&#039;key&#039;&#039;&#039;: the language key (e.g. &amp;lt;code&amp;gt;newmainmenu_newgame&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;svn&#039;&#039;&#039;: the source code revision number (Subversion Revision) when this key&#039;s english was last updated. This is a kind of version number of the key. You can have several rows with the same key and the game should use the translation with the highest svn number. You should leave this value unmodified so that it is clear which version of the key the translation corresponds to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;english&#039;&#039;&#039;: the English text corresponding to the key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translation&#039;&#039;&#039;: the translation itself.&lt;br /&gt;
&lt;br /&gt;
=== Markers in the text ===&lt;br /&gt;
&lt;br /&gt;
==== Programmatic Placeholders ====&lt;br /&gt;
Some strings have markers in them. We use these to programmatically add information to strings while the game is running. They are an asterisk followed by a single letter (e.g. *X). These markers must be kept as an asterisk followed by the given letter, but can be placed anywhere in the string. &lt;br /&gt;
&lt;br /&gt;
For example, *X might be the number of fuel containers on your ship, or it might be a monetary value. If it is not clear, please ask for more context.&lt;br /&gt;
&lt;br /&gt;
There are some markers that are special:&lt;br /&gt;
* S*X  - a star system (e.g. NG11).&lt;br /&gt;
* $*X - an amount of money.  The game uses the format_currency key to format it accordingly.&lt;br /&gt;
* L*X - the name of a star ship (e.g. PROCYON).&lt;br /&gt;
* R*X -the name of an object type in game (e.g. Fuel, Crew, Docking Port).&lt;br /&gt;
&lt;br /&gt;
==== Escaped characters, e.g. \n  ====&lt;br /&gt;
&lt;br /&gt;
Some strings contain newline markers (written as \n) which should be left in appropriate places. They are used to start a new line and/or paragraphs.&lt;br /&gt;
&lt;br /&gt;
==== Key Bindings ====&lt;br /&gt;
&lt;br /&gt;
Key bindings are of the form {ToggleMap}. As with markers, if a keybinding appears in the English, it should also appear in the Translation.&lt;br /&gt;
&lt;br /&gt;
=== Other Issues ===&lt;br /&gt;
The fonts used in the game don&#039;t have every character from every language. Get in touch (see below) and we will try to accommodate you in the next alpha if we can.&lt;br /&gt;
&lt;br /&gt;
Some parts of the game still have hardcoded English strings. Please let us know in the bug tracker.&lt;br /&gt;
&lt;br /&gt;
=== Discord ===&lt;br /&gt;
For help please visit the #mods channel on Discord.&lt;br /&gt;
&lt;br /&gt;
=== Getting your translation fixes or contributions included in the next Alpha ===&lt;br /&gt;
Please talk to John on @jknotten on the Discord and he will be happy to help.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1896</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1896"/>
		<updated>2025-03-04T15:32:07Z</updated>

		<summary type="html">&lt;p&gt;John: /* Getting your translation fixes or contributions included in the next Alpha */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [http://bugs.introversion.co.uk bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt ( On Windows, &amp;lt;code&amp;gt;%APPLOCALDATA%\Introversion\LastStarship\preferences.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;~/Library/Application Support/LastStarship/preferences.txt&amp;lt;/code&amp;gt; on Mac OS X ) there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt; . &lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
&lt;br /&gt;
=== Contributing Translations ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&#039;&#039;&#039;key&#039;&#039;&#039;: the language key (e.g. &amp;lt;code&amp;gt;newmainmenu_newgame&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;svn&#039;&#039;&#039;: the source code revision number (Subversion Revision) when this key&#039;s english was last updated. This is a kind of version number of the key. You can have several rows with the same key and the game should use the translation with the highest svn number. You should leave this value unmodified so that it is clear which version of the key the translation corresponds to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;english&#039;&#039;&#039;: the English text corresponding to the key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translation&#039;&#039;&#039;: the translation itself.&lt;br /&gt;
&lt;br /&gt;
=== Markers in the text ===&lt;br /&gt;
&lt;br /&gt;
==== Programmatic Placeholders ====&lt;br /&gt;
Some strings have markers in them. We use these to programmatically add information to strings while the game is running. They are an asterisk followed by a single letter (e.g. *X). These markers must be kept as an asterisk followed by the given letter, but can be placed anywhere in the string. &lt;br /&gt;
&lt;br /&gt;
For example, *X might be the number of fuel containers on your ship, or it might be a monetary value. If it is not clear, please ask for more context.&lt;br /&gt;
&lt;br /&gt;
There are some markers that are special:&lt;br /&gt;
* S*X  - a star system (e.g. NG11).&lt;br /&gt;
* $*X - an amount of money.  The game uses the format_currency key to format it accordingly.&lt;br /&gt;
* L*X - the name of a star ship (e.g. PROCYON).&lt;br /&gt;
* R*X -the name of an object type in game (e.g. Fuel, Crew, Docking Port).&lt;br /&gt;
&lt;br /&gt;
==== Escaped characters, e.g. \n  ====&lt;br /&gt;
&lt;br /&gt;
Some strings contain newline markers (written as \n) which should be left in appropriate places. They are used to start a new line and/or paragraphs.&lt;br /&gt;
&lt;br /&gt;
==== Key Bindings ====&lt;br /&gt;
&lt;br /&gt;
Key bindings are of the form {ToggleMap}. As with markers, if a keybinding appears in the English, it should also appear in the Translation.&lt;br /&gt;
&lt;br /&gt;
=== Other Issues ===&lt;br /&gt;
The fonts used in the game don&#039;t have every character from every language. Get in touch (see below) and we will try to accommodate you in the next alpha if we can.&lt;br /&gt;
&lt;br /&gt;
Some parts of the game still have hardcoded English strings. Please let us know in the bug tracker.&lt;br /&gt;
&lt;br /&gt;
=== Discord ===&lt;br /&gt;
For help please visit the #mods channel on Discord.&lt;br /&gt;
&lt;br /&gt;
=== Getting your translation fixes or contributions included in the next Alpha ===&lt;br /&gt;
Please talk to John on @jknotten on the Discord and he will be happy to help.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1895</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1895"/>
		<updated>2025-03-04T15:31:46Z</updated>

		<summary type="html">&lt;p&gt;John: /* Let&amp;#039;s say for example that I want to change the key language_system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [http://bugs.introversion.co.uk bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt ( On Windows, &amp;lt;code&amp;gt;%APPLOCALDATA%\Introversion\LastStarship\preferences.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;~/Library/Application Support/LastStarship/preferences.txt&amp;lt;/code&amp;gt; on Mac OS X ) there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt; . &lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
&lt;br /&gt;
=== Contributing Translations ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&#039;&#039;&#039;key&#039;&#039;&#039;: the language key (e.g. &amp;lt;code&amp;gt;newmainmenu_newgame&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;svn&#039;&#039;&#039;: the source code revision number (Subversion Revision) when this key&#039;s english was last updated. This is a kind of version number of the key. You can have several rows with the same key and the game should use the translation with the highest svn number. You should leave this value unmodified so that it is clear which version of the key the translation corresponds to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;english&#039;&#039;&#039;: the English text corresponding to the key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translation&#039;&#039;&#039;: the translation itself.&lt;br /&gt;
&lt;br /&gt;
=== Markers in the text ===&lt;br /&gt;
&lt;br /&gt;
==== Programmatic Placeholders ====&lt;br /&gt;
Some strings have markers in them. We use these to programmatically add information to strings while the game is running. They are an asterisk followed by a single letter (e.g. *X). These markers must be kept as an asterisk followed by the given letter, but can be placed anywhere in the string. &lt;br /&gt;
&lt;br /&gt;
For example, *X might be the number of fuel containers on your ship, or it might be a monetary value. If it is not clear, please ask for more context.&lt;br /&gt;
&lt;br /&gt;
There are some markers that are special:&lt;br /&gt;
* S*X  - a star system (e.g. NG11).&lt;br /&gt;
* $*X - an amount of money.  The game uses the format_currency key to format it accordingly.&lt;br /&gt;
* L*X - the name of a star ship (e.g. PROCYON).&lt;br /&gt;
* R*X -the name of an object type in game (e.g. Fuel, Crew, Docking Port).&lt;br /&gt;
&lt;br /&gt;
==== Escaped characters, e.g. \n  ====&lt;br /&gt;
&lt;br /&gt;
Some strings contain newline markers (written as \n) which should be left in appropriate places. They are used to start a new line and/or paragraphs.&lt;br /&gt;
&lt;br /&gt;
==== Key Bindings ====&lt;br /&gt;
&lt;br /&gt;
Key bindings are of the form {ToggleMap}. As with markers, if a keybinding appears in the English, it should also appear in the Translation.&lt;br /&gt;
&lt;br /&gt;
=== Other Issues ===&lt;br /&gt;
The fonts used in the game don&#039;t have every character from every language. Get in touch (see below) and we will try to accommodate you in the next alpha if we can.&lt;br /&gt;
&lt;br /&gt;
Some parts of the game still have hardcoded English strings. Please let us know in the bug tracker.&lt;br /&gt;
&lt;br /&gt;
=== Discord ===&lt;br /&gt;
For help please visit the #mods channel on Discord.&lt;br /&gt;
&lt;br /&gt;
=== Getting your translation fixes or contributions included in the next Alpha ===&lt;br /&gt;
Please talk to John on the @jknotten on the Discord and he will be happy to help.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1894</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1894"/>
		<updated>2025-03-04T15:27:18Z</updated>

		<summary type="html">&lt;p&gt;John: /* Markers in the text */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [http://bugs.introversion.co.uk bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt ( On Windows, &amp;lt;code&amp;gt;%APPLOCALDATA%\Introversion\LastStarship\preferences.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;~/Library/Application Support/LastStarship/preferences.txt&amp;lt;/code&amp;gt; on Mac OS X ) there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt; . &lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
&lt;br /&gt;
=== Contributing Translations ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&#039;&#039;&#039;key&#039;&#039;&#039;: the language key (e.g. &amp;lt;code&amp;gt;newmainmenu_newgame&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;svn&#039;&#039;&#039;: the source code revision number (Subversion Revision) when this key&#039;s english was last updated. This is a kind of version number of the key. You can have several rows with the same key and the game should use the translation with the highest svn number. You should leave this value unmodified so that it is clear which version of the key the translation corresponds to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;english&#039;&#039;&#039;: the English text corresponding to the key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translation&#039;&#039;&#039;: the translation itself.&lt;br /&gt;
&lt;br /&gt;
=== Markers in the text ===&lt;br /&gt;
&lt;br /&gt;
==== Programmatic Placeholders ====&lt;br /&gt;
Some strings have markers in them. We use these to programmatically add information to strings while the game is running. They are an asterisk followed by a single letter (e.g. *X). These markers must be kept as an asterisk followed by the given letter, but can be placed anywhere in the string. &lt;br /&gt;
&lt;br /&gt;
For example, *X might be the number of fuel containers on your ship, or it might be a monetary value. If it is not clear, please ask for more context.&lt;br /&gt;
&lt;br /&gt;
There are some markers that are special:&lt;br /&gt;
* S*X  - a star system (e.g. NG11).&lt;br /&gt;
* $*X - an amount of money.  The game uses the format_currency key to format it accordingly.&lt;br /&gt;
* L*X - the name of a star ship (e.g. PROCYON).&lt;br /&gt;
* R*X -the name of an object type in game (e.g. Fuel, Crew, Docking Port).&lt;br /&gt;
&lt;br /&gt;
==== Escaped characters, e.g. \n  ====&lt;br /&gt;
&lt;br /&gt;
Some strings contain newline markers (written as \n) which should be left in appropriate places. They are used to start a new line and/or paragraphs.&lt;br /&gt;
&lt;br /&gt;
==== Key Bindings ====&lt;br /&gt;
&lt;br /&gt;
Key bindings are of the form {ToggleMap}. As with markers, if a keybinding appears in the English, it should also appear in the Translation.&lt;br /&gt;
&lt;br /&gt;
=== Example: Fixing an incorrect translation in French ===&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s say for example that I want to change the key language_system ===&lt;br /&gt;
&lt;br /&gt;
=== Example: Starting a new Portuguese translation ===&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1893</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1893"/>
		<updated>2025-03-04T15:21:38Z</updated>

		<summary type="html">&lt;p&gt;John: /* Markers in the text */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [http://bugs.introversion.co.uk bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt ( On Windows, &amp;lt;code&amp;gt;%APPLOCALDATA%\Introversion\LastStarship\preferences.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;~/Library/Application Support/LastStarship/preferences.txt&amp;lt;/code&amp;gt; on Mac OS X ) there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt; . &lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
&lt;br /&gt;
=== Contributing Translations ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&#039;&#039;&#039;key&#039;&#039;&#039;: the language key (e.g. &amp;lt;code&amp;gt;newmainmenu_newgame&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;svn&#039;&#039;&#039;: the source code revision number (Subversion Revision) when this key&#039;s english was last updated. This is a kind of version number of the key. You can have several rows with the same key and the game should use the translation with the highest svn number. You should leave this value unmodified so that it is clear which version of the key the translation corresponds to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;english&#039;&#039;&#039;: the English text corresponding to the key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translation&#039;&#039;&#039;: the translation itself.&lt;br /&gt;
&lt;br /&gt;
=== Markers in the text ===&lt;br /&gt;
&lt;br /&gt;
Some strings have markers in them. We use these to programmatically add information to strings while the game is running. They are an asterisk followed by a single letter (e.g. *X). These markers must be kept as an asterisk followed by the given letter, but can be placed anywhere in the string. &lt;br /&gt;
- For example, *X might be the number of fuel containers on your ship, or it might be a monetary value. If it is not clear, please ask for more context.&lt;br /&gt;
- There are some markers that are special:&lt;br /&gt;
  S*X  - a star system (e.g. NG11).&lt;br /&gt;
  $*X - an amount of money.  The game uses the format_currency key to format it accordingly.&lt;br /&gt;
  L*X - the name of a star ship (e.g. PROCYON).&lt;br /&gt;
  R*X -the name of an object type in game (e.g. Fuel, Crew, Docking Port).&lt;br /&gt;
&lt;br /&gt;
## Escaped characters, e.g. \n&lt;br /&gt;
- Some strings contain newline markers (written as \n) which should be left in appropriate places. They are used to start a new line and/or paragraphs.&lt;br /&gt;
&lt;br /&gt;
=== Example: Fixing an incorrect translation in French ===&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s say for example that I want to change the key language_system ===&lt;br /&gt;
&lt;br /&gt;
=== Example: Starting a new Portuguese translation ===&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1892</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1892"/>
		<updated>2025-03-04T15:20:31Z</updated>

		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [http://bugs.introversion.co.uk bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt ( On Windows, &amp;lt;code&amp;gt;%APPLOCALDATA%\Introversion\LastStarship\preferences.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;~/Library/Application Support/LastStarship/preferences.txt&amp;lt;/code&amp;gt; on Mac OS X ) there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt; . &lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
&lt;br /&gt;
=== Contributing Translations ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&#039;&#039;&#039;key&#039;&#039;&#039;: the language key (e.g. &amp;lt;code&amp;gt;newmainmenu_newgame&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;svn&#039;&#039;&#039;: the source code revision number (Subversion Revision) when this key&#039;s english was last updated. This is a kind of version number of the key. You can have several rows with the same key and the game should use the translation with the highest svn number. You should leave this value unmodified so that it is clear which version of the key the translation corresponds to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;english&#039;&#039;&#039;: the English text corresponding to the key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;translation&#039;&#039;&#039;: the translation itself.&lt;br /&gt;
&lt;br /&gt;
=== Markers in the text ===&lt;br /&gt;
&lt;br /&gt;
=== Example: Fixing an incorrect translation in French ===&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s say for example that I want to change the key language_system ===&lt;br /&gt;
&lt;br /&gt;
=== Example: Starting a new Portuguese translation ===&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1891</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1891"/>
		<updated>2025-03-04T15:13:36Z</updated>

		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [http://bugs.introversion.co.uk bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt ( On Windows, &amp;lt;code&amp;gt;%APPLOCALDATA%\Introversion\LastStarship\preferences.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;~/Library/Application Support/LastStarship/preferences.txt&amp;lt;/code&amp;gt; on Mac OS X ) there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt; . &lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
&lt;br /&gt;
=== Contributing Translations ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Format of language.csv ===&lt;br /&gt;
&amp;lt;code&amp;gt;Language.csv&amp;lt;/code&amp;gt; is a Comma-Separated-Value text file in UTF-8 encoding. It must start with a header row which indicates columns for &#039;&#039;&#039;state, key, svn, english, translation&#039;&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;state&#039;&#039;&#039;: NEW, MODIFIED, PREVIOUS, CURRENT, OBSOLETE &lt;br /&gt;
&lt;br /&gt;
* NEW, it means that the string was recently added to the game and there is no translation for it yet.&lt;br /&gt;
* MODIFIED means that the English string was changed since the last time it was translated and maybe the translation needs to be updated too.&lt;br /&gt;
* PREVIOUS indicates the previous translation (or translations). These are typically for reference, and you should supply a translation for the MODIFIED key instead.&lt;br /&gt;
* CURRENT indicates the current translation for a particular string.&lt;br /&gt;
* OBSOLETE indicates old translations. These have been superceded by new translations. They are for reference only and should typically not be changed.&lt;br /&gt;
&lt;br /&gt;
=== Example: Fixing an incorrect translation in French ===&lt;br /&gt;
&lt;br /&gt;
=== Let&#039;s say for example that I want to change the key language_system ===&lt;br /&gt;
&lt;br /&gt;
=== Example: Starting a new Portuguese translation ===&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1890</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1890"/>
		<updated>2025-03-04T15:03:01Z</updated>

		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [http://bugs.introversion.co.uk bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;br /&gt;
&lt;br /&gt;
== Translation Tools (Available from Alpha 14) ==&lt;br /&gt;
If you would like to look a further under the hood, and maybe contribute your own fixes or translations, it can be useful to enable the translator tools.&lt;br /&gt;
&lt;br /&gt;
=== Translator Assist ===&lt;br /&gt;
In preferences.txt ( On Windows, &amp;lt;code&amp;gt;%APPLOCALDATA%\Introversion\LastStarship\preferences.txt&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;~/Library/Application Support/LastStarship/preferences.txt&amp;lt;/code&amp;gt; on Mac OS X ) there is a preference called &amp;lt;code&amp;gt;TranslatorAssist&amp;lt;/code&amp;gt; . &lt;br /&gt;
[[File:Image.png|thumb]]&lt;br /&gt;
[[File:LanguageKeys.png|thumb]]&lt;br /&gt;
If you set this true, it will enable two hot keys in the game:&lt;br /&gt;
&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; will display the English text instead of the currently loaded language. Actually this is implemented by temporarily loading the English language strings and then, when &amp;lt;code&amp;gt;Alt&amp;lt;/code&amp;gt; is released, reloading the language.&lt;br /&gt;
* Pressing &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt; will display the name of the key instead of the actual translated phrase (or English fallback).&lt;br /&gt;
&lt;br /&gt;
=== Contributing Translations ===&lt;br /&gt;
In the same directory as preferences.txt, you will find a folder called &amp;lt;code&amp;gt;language&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It contains sub-directories for each language currently supported by the game. &lt;br /&gt;
&lt;br /&gt;
* preferences.txt&lt;br /&gt;
* language&lt;br /&gt;
** french&lt;br /&gt;
*** original.csv&lt;br /&gt;
** german&lt;br /&gt;
*** original.csv&lt;br /&gt;
** spanish&lt;br /&gt;
*** original.csv&lt;br /&gt;
&lt;br /&gt;
You will see that in each language directory there is a file called &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; . These are the original translations bundled with the game. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT EDIT&#039;&#039;&#039; &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;, &#039;&#039;&#039;because the game will overwrite them at every start&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Instead start a new file called &#039;&#039;&#039;language.csv&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
You can copy just the lines that you want to change from &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;language.csv&amp;lt;/code&amp;gt;, or you can copy all the whole contents of &amp;lt;code&amp;gt;original.csv&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
=== Example: Fixing an incorrect translation in French ===&lt;br /&gt;
&lt;br /&gt;
=== Example: Starting a new Portuguese translation ===&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=File:LanguageKeys.png&amp;diff=1889</id>
		<title>File:LanguageKeys.png</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=File:LanguageKeys.png&amp;diff=1889"/>
		<updated>2025-03-04T14:49:13Z</updated>

		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shows the language keys when Ctrl is held down.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=File:Image.png&amp;diff=1887</id>
		<title>File:Image.png</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=File:Image.png&amp;diff=1887"/>
		<updated>2025-03-04T14:25:25Z</updated>

		<summary type="html">&lt;p&gt;John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TranslatorAssist preference&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1886</id>
		<title>HelpUsTranslate</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=HelpUsTranslate&amp;diff=1886"/>
		<updated>2025-03-04T14:13:39Z</updated>

		<summary type="html">&lt;p&gt;John: Created page with &amp;quot;== Mistakes in existing Translations == If you notice a translation error, please let us know about it on the [http://bugs.introversion.co.uk bug tracker] (bugs.introversion.co.uk).   Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mistakes in existing Translations ==&lt;br /&gt;
If you notice a translation error, please let us know about it on the [http://bugs.introversion.co.uk bug tracker] (bugs.introversion.co.uk). &lt;br /&gt;
&lt;br /&gt;
Remember to let us know which language, the incorrect phrase and the correct translation. A screenshot would be really helpful.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://www.tls-wiki.com/w/index.php?title=Modding&amp;diff=1872</id>
		<title>Modding</title>
		<link rel="alternate" type="text/html" href="https://www.tls-wiki.com/w/index.php?title=Modding&amp;diff=1872"/>
		<updated>2025-01-24T14:58:40Z</updated>

		<summary type="html">&lt;p&gt;John: Correct typo: spitebank.txt -&amp;gt; spritebank.txt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mods are packages of files that change The Last Starship in some way. These packages match the &amp;lt;code&amp;gt;[[main.dat]]&amp;lt;/code&amp;gt; file structure to overload specific files. Mods can change game textures, default ships, and adjust system interactions.&lt;br /&gt;
&lt;br /&gt;
== Using mods ==&lt;br /&gt;
&lt;br /&gt;
To install a mod, unzip the mod package into the game directory (&amp;lt;code&amp;gt;C:\Program Files (x86)\Steam\steamapps\common\The Last Starship&amp;lt;/code&amp;gt; for Steam). If done correctly, you should end up with a &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; directory containing the mod files.&lt;br /&gt;
&lt;br /&gt;
== Creating mods ==&lt;br /&gt;
&lt;br /&gt;
=== Texture packs ===&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039; The texture files for the game are still changing regularly. Any texture pack mods may need to be updated with each game release.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To create new textures for the game, it is recommended to create new sprite sheets and only override &amp;lt;code&amp;gt;spritebank.txt&amp;lt;/code&amp;gt;. This should allow multiple texture packs to co-exist once stronger mod tooling has been developed.&lt;br /&gt;
&lt;br /&gt;
Sprites define their textures as below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;BEGIN Sprite     &lt;br /&gt;
    Name                 Engine  &lt;br /&gt;
    Image                sprite-bank.png  &lt;br /&gt;
    BEGIN Frames     &lt;br /&gt;
        Size                 2  &lt;br /&gt;
        BEGIN &amp;quot;[i 0]&amp;quot;      X 2160  Y 300  Width 840  Height 480  ExtendLeft 123  ExtendRight 1  ExtendUp 250  END&lt;br /&gt;
        BEGIN &amp;quot;[i 1]&amp;quot;      X 4140  Y 60  Width 840  Height 480  ExtendLeft 135  ExtendRight 1  ExtendUp 2  END&lt;br /&gt;
    END&lt;br /&gt;
    BEGIN Markers    &lt;br /&gt;
        Size                 13  &lt;br /&gt;
        BEGIN &amp;quot;[i 0]&amp;quot;      Name Activation  X 2544  Y 239  Width 198  Height 40  END&lt;br /&gt;
        BEGIN &amp;quot;[i 1]&amp;quot;      Name FuelBuffer  X 2544  Y 318  Width 201  Height 36  END&lt;br /&gt;
        BEGIN &amp;quot;[i 2]&amp;quot;      Name Terminal1  X 2963  Y 448  Width 30  Height 92  END&lt;br /&gt;
        BEGIN &amp;quot;[i 3]&amp;quot;      Name Terminal2  X 2969  Y 326  Width 19  Height 98  END&lt;br /&gt;
        BEGIN &amp;quot;[i 4]&amp;quot;      Name GlowOn1  X 2177  Y 575  Width 186  Height 164  END&lt;br /&gt;
        BEGIN &amp;quot;[i 5]&amp;quot;      Name GlowThrust3  X 2097  Y 132  Width 146  Height 356  END&lt;br /&gt;
        BEGIN &amp;quot;[i 6]&amp;quot;      Name GlowThrust1  X 2046  Y 467  Width 90  Height 145  END&lt;br /&gt;
        BEGIN &amp;quot;[i 7]&amp;quot;      Name GlowThrust2  X 2069  Y 612  Width 69  Height 70  END&lt;br /&gt;
        BEGIN &amp;quot;[i 8]&amp;quot;      Name GlowOn3  X 2524  Y 368  Width 244  Height 275  END&lt;br /&gt;
        BEGIN &amp;quot;[i 9]&amp;quot;      Name GlowOn4  X 2627  Y 156  Width 64  Height 64  END&lt;br /&gt;
        BEGIN &amp;quot;[i 10]&amp;quot;     Name GlowOn5  X 2876  Y 312  Width 34  Height 220  END&lt;br /&gt;
        BEGIN &amp;quot;[i 11]&amp;quot;     Name GlowThrust1  X 4083  Y 119  Width 141  Height 360  END&lt;br /&gt;
        BEGIN &amp;quot;[i 12]&amp;quot;     Name GlowOn1  X 4519  Y 162  Width 229  Height 293  END&lt;br /&gt;
    END&lt;br /&gt;
    BEGIN State      Frames [0]  END&lt;br /&gt;
    BEGIN State      Name Exterior  Frames [1]  END&lt;br /&gt;
END&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Name field of the sprite must match the name of the item used in the game. The Image field must be an image inside the &amp;lt;code&amp;gt;sprites&amp;lt;/code&amp;gt; data folder. Frames define textures for different rotations and state the item may appear, while Markers define effects on the item.&lt;br /&gt;
&lt;br /&gt;
=== Translations ===&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;An existing [https://github.com/Totengeist/LastStarshipTranslations fan translation project] needs support. Please consider contributing to it instead of creating your own.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To add a new language, create a new directory in &amp;lt;code&amp;gt;data\language&amp;lt;/code&amp;gt; with the name of the language (e.g.: &amp;lt;code&amp;gt;latin&amp;lt;/code&amp;gt;). The name of the folder will be used for the selection menu in the game. Inside this folder, create the file &amp;lt;code&amp;gt;language.txt&amp;lt;/code&amp;gt; to contain all of the strings for the language.&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
</feed>