Help:Howto/How to translate langpacks: Difference between revisions

From Miranda NG
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
{{Todo|lang=en|Needs revision.}}
{{Todo|lang=en|Needs revision.}}
== How to translate ==
== How to translate ==
<div style="overflow:auto; height:auto;">
<div style="overflow:auto; height:auto;">
Line 13: Line 14:
# Create new folder for langpack in <tt>/langpacks/</tt> folder
# Create new folder for langpack in <tt>/langpacks/</tt> folder
# Create subfolders there: <tt>Plugins</tt>, <tt>Untranslated</tt> and file <tt>=HEAD=.txt</tt> (see the existing langpacks to know what should be in this file)
# Create subfolders there: <tt>Plugins</tt>, <tt>Untranslated</tt> and file <tt>=HEAD=.txt</tt> (see the existing langpacks to know what should be in this file)
# Take an old langpack file (e. g. from Miranda IM, it must be previously converted to UTF-8) and put it somewhere (e. g. into new subfolder <tt>Deprecated</tt>) (optional)
# (optional) Take an old langpack file (e. g. from Miranda IM; it must be previously converted to UTF-8) and put it somewhere (e. g. into new subfolder <tt>Deprecated</tt>)
# Copy <tt>Refresh.bat</tt> from <tt>/langpacks/czech/</tt> and edit it – change "czech" to name of your langpack folder and change path to the old langpack (if exists, leave empty otherwise)
# Copy <tt>Refresh.bat</tt> from <tt>/langpacks/czech/</tt> and edit it – change "czech" to name of your langpack folder and change path to the old langpack (if exists; leave empty otherwise)
# Run <tt>Refresh.bat</tt> – it will create all files which will now contain translation from your old langpack (or empty translations when you have no old langpack)
# Run <tt>Refresh.bat</tt> – it will create all files which will now contain translation from your old langpack (or empty translations if you have no old langpack)


=== Translating ===
=== Translating ===
* Remember to make backups before running <tt>Refresh.bat</tt>, as it overwrites all your files
* Remember to make backups before running <tt>Refresh.bat</tt>, as it overwrites all your files.
* For each plugin, it's translation is in the file <tt>Plugins/<PluginName>.txt</tt>. Note that the same english word can have multiple meanings, translate them in the context.
* Each plugin has its translation in a separate file <tt>Plugins/<PluginName>.txt</tt>. Note that the same English word can have multiple meanings, translate them in the context.
*All files are like this. First string is the english line, your translation is below.
* All files are like this. First string is the English line, your translation is below:
<pre>
<pre>
[Decide &later]
[Decide &later]
&Später entscheiden</pre>
&Später entscheiden</pre>
* Be aware that the size of the ressources won't be dynamically resized, please test if the length of the string fits the dialog. If not, cut them or ask in the forum for a possible relayout.
* Be aware that the space for the resources won't be dynamically resized, please test if translated strings fit the dialog. If not, cut them or ask in the forum for a possible relayout.
* For strings in this form, it is important to keep the '''%X''' variables in '''exactly that order'''. See [http://www.cplusplus.com/reference/cstdio/printf/ here] for details.
* Some strings contain the '''%X''' variables, it is important to keep those variables in '''exactly the same order''' in your translation (See [http://www.cplusplus.com/reference/cstdio/printf/ here] for details):
<pre>
<pre>
[%s added you to the contact list\n%u (%s) on %s]
[%s added you to the contact list\n%u (%s) on %s]
%s hat Sie zu Ihrer Kontaktliste hinzugefügt\n%u (%s) in %s
%s hat Sie zu Ihrer Kontaktliste hinzugefügt\n%u (%s) in %s
</pre>
</pre>
* In strings like this, the '''&''' means a keyboard shortcut. Try to use the same in your translation to keep it consistent, or use something typical to your language.
* Some strings contain '''&''' symbol which means a keyboard shortcut. Try to use the same in your translation to keep it consistent, or use something typical to your language.
<pre>[Re&ad status message]
<pre>[Re&ad status message]
St&atusnachricht lesen</pre>
St&atusnachricht lesen</pre>
Line 37: Line 38:
# Write your translations into <tt>=CORE=.txt</tt> file and files inside <tt>Plugins</tt> folder (don't touch <tt>Untranslated</tt> folder, those files have only informative character of what translations are missing)
# Write your translations into <tt>=CORE=.txt</tt> file and files inside <tt>Plugins</tt> folder (don't touch <tt>Untranslated</tt> folder, those files have only informative character of what translations are missing)
# Run <tt>Refresh.bat</tt> which will redistribute your changes to other files
# Run <tt>Refresh.bat</tt> which will redistribute your changes to other files
=== After english langpack update ===
=== After English langpack update ===
# Run <tt>Refresh.bat</tt> which will apply changes to your files
# Run <tt>Refresh.bat</tt> which will apply changes to your files
# Use TortoiseSVN / ''Check for modifications'' context menu item and check changed files there to easily correct typos or translation changes
# Use TortoiseSVN / ''Check for modifications'' context menu item and check changed files there to easily correct typos or translation changes

Revision as of 23:04, 27 June 2015

Todo [en]: Needs revision.

How to translate

You are expected to have the whole Miranda NG SVN checked out http://svn.miranda-ng.org/main/trunk If you don't want the whole repository, you need at least both langpacks and tools folders in the same folder on your disk.

Notes:

  • All files of your langpack must be saved in UTF-8 codepage
  • Refresh.bat must be started from /langpacks/<language>/ folder
  • Final langpack_<language>.txt is automatically created after running Refresh.bat

Creating a new langpack

  1. Create new folder for langpack in /langpacks/ folder
  2. Create subfolders there: Plugins, Untranslated and file =HEAD=.txt (see the existing langpacks to know what should be in this file)
  3. (optional) Take an old langpack file (e. g. from Miranda IM; it must be previously converted to UTF-8) and put it somewhere (e. g. into new subfolder Deprecated)
  4. Copy Refresh.bat from /langpacks/czech/ and edit it – change "czech" to name of your langpack folder and change path to the old langpack (if exists; leave empty otherwise)
  5. Run Refresh.bat – it will create all files which will now contain translation from your old langpack (or empty translations if you have no old langpack)

Translating

  • Remember to make backups before running Refresh.bat, as it overwrites all your files.
  • Each plugin has its translation in a separate file Plugins/<PluginName>.txt. Note that the same English word can have multiple meanings, translate them in the context.
  • All files are like this. First string is the English line, your translation is below:
[Decide &later]
&Später entscheiden
  • Be aware that the space for the resources won't be dynamically resized, please test if translated strings fit the dialog. If not, cut them or ask in the forum for a possible relayout.
  • Some strings contain the %X variables, it is important to keep those variables in exactly the same order in your translation (See here for details):
[%s added you to the contact list\n%u (%s) on %s]
%s hat Sie zu Ihrer Kontaktliste hinzugefügt\n%u (%s) in %s
  • Some strings contain & symbol which means a keyboard shortcut. Try to use the same in your translation to keep it consistent, or use something typical to your language.
[Re&ad status message]
St&atusnachricht lesen

Updating langpack

  1. Write your translations into =CORE=.txt file and files inside Plugins folder (don't touch Untranslated folder, those files have only informative character of what translations are missing)
  2. Run Refresh.bat which will redistribute your changes to other files

After English langpack update

  1. Run Refresh.bat which will apply changes to your files
  2. Use TortoiseSVN / Check for modifications context menu item and check changed files there to easily correct typos or translation changes
  3. Run Refresh.bat which will redistribute your changes to other files

External links