Hugin translation guide

From PanoTools.org Wiki
(Difference between revisions)
Jump to: navigation, search
m (Use your new translation file)
(Become a Power Translator)
Line 40: Line 40:
 
If you don't have a Sourceforge user account, [http://sourceforge.net/account/registration/ sign up] now. This is anyway useful also for submitting patches - it makes sure that you are credited for your work and ensures that we can trust the translation because we know the source. Tell the developers on the [http://groups.google.com/group/hugin-ptx/ mailing list] what your user account is, so that they can grant you access.
 
If you don't have a Sourceforge user account, [http://sourceforge.net/account/registration/ sign up] now. This is anyway useful also for submitting patches - it makes sure that you are credited for your work and ensures that we can trust the translation because we know the source. Tell the developers on the [http://groups.google.com/group/hugin-ptx/ mailing list] what your user account is, so that they can grant you access.
  
Get and install [http://tortoisesvn.net/downloads TortoiseSVN](Windows) or [http://subversion.tigris.org/ Subversion](Linux/Unix/OSX).
+
;For Windows users
 
+
:Get and install [http://tortoisesvn.net/downloads TortoiseSVN].
Get and install the Hugin trunk source code using Subversion/TortoiseSVN.
+
:Make a new folder called hugin-trunk. Right click on the folder in Windows Explorer, select "SVN Checkout..." in the context menu, enter the source URL <tt>https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk</tt> and click OK to get the Hugin trunk source code.
 
+
:Do your translation work inside the folder hugin-trunk
For Windows: Make a new folder called hugin-trunk. Right click on the folder in Windows Explorer, select "SVN Checkout..." in the context menu, enter the source URL <tt>https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk</tt> and click OK.
+
:You can commit your (partial) results anytime: right-click on the folder and select in the context menu "SVN Commit..." - enter a short text describing what you did (e.g.: "updated French translation") and click OK.
 
+
For Linux/Unix/OSX:
+
  
 +
;For Linux/Unix/OSX
 +
:Get and install [http://subversion.tigris.org/ Subversion].
 +
:Get the Hugin trunk source code by running
 
<pre>
 
<pre>
 
svn co https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk/ hugin-trunk
 
svn co https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk/ hugin-trunk
 
</pre>
 
</pre>
 
+
:Do your translation work inside the folder hugin-trunk
Do your translation work inside the folder hugin-trunk
+
:You can commit your (partial) results anytime by running the command
 
+
At the end of the translation session (not necessary the end of the work) commit your (partial) results. Windows: right-click on the folder and select in the context menu "SVN Commit..." - enter a short text describing what you did (e.g.: "updated French translation") and click OK. For Linux/Unix/OSX:
+
 
+
 
<pre>
 
<pre>
 
svn ci -m "updated French translation"
 
svn ci -m "updated French translation"
 
</pre>
 
</pre>
  
Extra perk: if you're already here, you may want to also build and enjoy the latest Hugin. Some of the current contributors to the build, distribution and code of Hugin have learned this way. You are just a few clicks away from building your own bleeding edge Hugin. Find your platform in [http://wiki.panotools.org/Development_of_Open_Source_tools#Build_your_Own_Test_Builds this] section of the wiki and follow the instructions. Welcome to the club!
+
;Extra perk - Build the latest Hugin
 
+
:If you're already here, you may want to also build and enjoy the latest Hugin. Some of the current contributors to the build, distribution and code of Hugin have learned this way. You are just a few clicks away from building your own bleeding edge Hugin. Find your platform in [http://wiki.panotools.org/Development_of_Open_Source_tools#Build_your_Own_Test_Builds this] section of the wiki and follow the instructions. Welcome to the club!
While building your own Hugin is not required for the translation work, using the same Subversion approach to translation reduces considerably the burden on the rest of the team and is very much appreciated. Translation is a development too!
+
:While building your own Hugin is not required for the translation work, using the same Subversion approach to translation reduces considerably the burden on the rest of the team and is very much appreciated. Translation is a development too!
  
 
== Translation guide for specific terms ==
 
== Translation guide for specific terms ==

Revision as of 17:58, 24 September 2009

Contents

Introduction

This page intends to provide guidance to translators of the Hugin project. Some terminology is very specific or used in a specific way in hugin, making it hard to find a close translation that fits the context of hugin in another language than English.

Getting Started on translations

  • 1. Get your *.po file

Each language has a *.po file containing all the translated strings. Those *.po files use the ISO 639-1 naming convention (like "fr.po" for French, "ja.po" for Japanese, ...). If no translation for your language exist, you'll have to create one using that naming convention or ask the developers list for assistance.

In general, you need the latest *.po files (or at least the one for the language you want to modify). You can download the current translation file for you language in the SVN repository. If there is no *.po file for your language, you can download the hugin.pot file.

  • 2. Edit your *.po file

To edit the *.po or *.pot files, use poedit (it is a cross-platform PO files editor which runs on Mac OS X, Unix and Windows) or kbabel (it runs on any KDE platform). Note that you don't have to translate everything if you don't have time or knowledge to do it all. Also check below for things that shouldn't be translated (like software names) or for some explanations on specific words.

NB: When using Poedit, editing comments directly in the right pane doesn't work, the text isn't saved into the .po file. To edit comments, use the "edit comment" dialogue from the menu.

UPDATE: it works at least in Poedit 1.4.3. Note that to see the comment window you have to check "View / Show comment window", and to be able to modify the comment you must go to "File / Preferences..." and check "Comment window is editable" in the "Editor" tab.

  • 3. Submit your *.po file

Submit your edited translation via hugin's patches tracker on sourceforge. Select the category "translation" and the group "hugin".

Use your new translation file

poedit updates your PO file and creates a MO file for your language. You can rename your MO file into hugin.mo and replace the hugin.mo file from your current installation (don't forget to make a backup of the original MO file, just in case).

  • If you use Windows, the MO file is under your hugin directory, in share\locale\XX\LC_MESSAGES\hugin.mo, where XX is your language.
  • If you use Linux, the MO file is under /usr/local/share/locale/XX/LC_MESSAGES/hugin.mo

If you want to can also rebuild hugin (doesn't have to be a heavy job when you only changed the .po file, the process only updates that part).

Become a Power Translator

Some translators just stop here. All they do is add their PO file to Hugin's patch tracker and leave it up to the developers to integrate it. This is not easy for the developers. Integration means dealing with conflicting version, but how should a developer know which one of two conflicting sentences in a foreign language is the right one?

You can! It's simple, and here is how.

If you don't have a Sourceforge user account, sign up now. This is anyway useful also for submitting patches - it makes sure that you are credited for your work and ensures that we can trust the translation because we know the source. Tell the developers on the mailing list what your user account is, so that they can grant you access.

For Windows users
Get and install TortoiseSVN.
Make a new folder called hugin-trunk. Right click on the folder in Windows Explorer, select "SVN Checkout..." in the context menu, enter the source URL https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk and click OK to get the Hugin trunk source code.
Do your translation work inside the folder hugin-trunk
You can commit your (partial) results anytime: right-click on the folder and select in the context menu "SVN Commit..." - enter a short text describing what you did (e.g.: "updated French translation") and click OK.
For Linux/Unix/OSX
Get and install Subversion.
Get the Hugin trunk source code by running
svn co https://hugin.svn.sourceforge.net/svnroot/hugin/hugin/trunk/ hugin-trunk
Do your translation work inside the folder hugin-trunk
You can commit your (partial) results anytime by running the command
svn ci -m "updated French translation"
Extra perk - Build the latest Hugin
If you're already here, you may want to also build and enjoy the latest Hugin. Some of the current contributors to the build, distribution and code of Hugin have learned this way. You are just a few clicks away from building your own bleeding edge Hugin. Find your platform in this section of the wiki and follow the instructions. Welcome to the club!
While building your own Hugin is not required for the translation work, using the same Subversion approach to translation reduces considerably the burden on the rest of the team and is very much appreciated. Translation is a development too!

Translation guide for specific terms

Note to translators, please add your language variant to the term on a new line in the same format as NL=
Also add your own difficult terms that are not mentioned here.

Note to developers, please check and enhance the meanings of these terms if they are unclear or incorrect.

Custom parameters
Meaning=parameters other than standard (+context???)
NL=aangepaste parameters
bundle
Meaning=A technique for distributing OS X software as a single file.
NL=bundle (bundel?)
bundled version
Meaning=? Any packaged software will contain multiple files, these files are said to be 'bundled' (not just OS X)
NL=ingebouwde versie (gebundelde versie?)
image
Meaning= photo, scan, ....
ET=pilt
NL=afbeelding
Stitcher (the tab)
Meaning= Where the actual combining of the images is done
ET=Ühendaja
NL=Samenvoegen (alt: Combineren, Naaien?)
grayscale
Meaning=monochrome colourspace. Typically grayscale images can have many shades of gray as well as black and white.
ET=halltoonid
NL=grijsschaal (kan beter!)
pyramid image
Meaning=This is the practice of creating a stack of successively smaller versions of an image, useful for many image manipulation tasks.
NL=piramidale afbeelding
mapping
Meaning=render and distort an image to a different projection?
NL=translatie, afbeelding, vervorming, projectie?
control points
Meaning=corresponding areas in two images (or the same image for horizontal and vertical control points)
ET=juhtpunktid
NL=ijkpunten (was controle punten), IJkpunten bij hoofdletters
Druid
Meaning=wizard for ease of use, alternative names: Assistant, workflow guide, etc.
NL=Druide (kan beter?)
Cropped (images)
Meaning=image cut smaller than the original size
Discussion=Should this be translated? Like Blend, this is jargon, may be clearer when untranslated?
ET=kärbitud (pildid)
NL=uitgesneden (afbeeldingen)
Crop factor
Meaning=The physical size of a CCD sensor relative to a 35mm frame.
Exposure blending (or Exposure fusion)
Meaning=Taking a bracketed photo stack and picking the best bits to create a new image. Hugin tries to use the phrase 'Exposure fusion' rather than 'blending' as the tool for this is enfuse.
NL=Blend van belichtingen?
Seam blending
Meaning=Taking two or more partially overlapping photos and blending then with a seam down the middle of the overlap. The tool typically used for this is enblend
Photometric Optimisation
Meaning=Optimisation of non-mapping image parameters, such as 'Camera response', Vignetting and Exposure.
ET=fotomeetriline optimeerimine
NL=fotometrische optimalisatie
Photometric Alignment
Meaning=Determining relative exposure, camera response and vignetting
ET=fotomeetriline joondamine
NL=fotometrische uitlijning (beter?: fotometrische afstemming)
Low Dynamic Range (LDR)
Meaning=Luminance values are within a small numeric range (typically 8-bit or 16bit integer with a non-linear response curve).
NL=Laag Dynamisch Bereik (LDR)
High Dynamic Range (HDR)
Meaning=Luminance values are within a large numeric range (typically floating point with a linear response)
NL=Hoog Dynamisch Bereik (HDR)
Anchor
Meaning=Reference
NL=referentie (was anker)
Num. Transf.
Meaning=Numerical Transform. Rotation of panorama roll, pitch and yaw by manually entering numbers.
NL=Num. Transf.
Field of View
Meaning=Horizontal Angle of view
ET=vaateväli
NL=beeldhoek
flatfield
Meaning=An astronomical technique, using a photo taken with the lens covered or of an even white surface to calibrate normal photos
NL=flatfield (astrofoto jargon, ook in NL gebruikt)
flatfile
Meaning=?
NL=?
Aligning versus Finding control points
Problem= they appear to be similar or the same, can they be interchanged?
Vertical or Horizontal guide
Meaning=Horizontal or Vertical "control points"
NL=h/v hulp (suggestie: ijklijnen)?
Estimate (position, FoV, etc.)
Meaning=? in my book, estimate means an educated guess. I get the impression that a more exact term is intended for hugin. Where can this term be replaced with "calculate" or "determine"?
ET=määratlema
NL=bepalen (eng:determine), bereken (eng:calculate) alternative suggestion: Schatten (eng:estimate)
Camera response (C. r. curve)
Meaning=it corresponds with photo-electrical transfer function, and I am not sure can I translate it to "opto-electic curve of camera" in my language, because stright tranlation of "camera response" statement sounds trivial and not clear.
PL=krzywa optoelektryczna aparatu?


Do not translate:

  • Nona (program name)
  • Enblend (program name)
  • Autopano (program name)
  • Autopano-SIFT (program name)
  • PTStitcher (program name)
  • Deflate (zip method)
  • JPEG (file type)
  • EXR (HDR file type)

Technical translation issues

Some strings don't appear to be translated, they are apparently generated by the GUI toolkit or the operating system. Most likely they will be in the same language as hugin, because very few people, other than translators, start a program with a specific language other than that of the environment.

If you find a source term that isn't correct, spelling or meaning, probably best to bring it up with Pablo d'Angelo or on the hugin mailinglist: [1]

List of source string problems

  • approximation of values beetwen source pixels
between
  • calculate highest sensible width. (uses every image pixel)
I can translate this literally, but is this even helpful in English? (this is a tooltip for the size calc button in the Stitcher tab)

Tips and Tricks

Running hugin in a specific language

If you want to run hugin in another language than the default, use the following command (Linux with UTF8):

$ LANG=nl_NL.utf8 hugin

This will start hugin in dutch. Other languages have different names of course, try looking in /usr/share/i18n/locales/.

Developer info

Adding new strings

After adding new strings, translators need to find them in the .pot and .po files otherwise they won't get translated.

Hugin has a script to extract the messages from both the .xrc files and the .cpp source code and insert them into the hugin.pot and .po files. New strings are added and unused strings are marked as obsolete.

Before running the script, make sure you have wxrc installed. On Ubuntu, run sudo apt-get install wxrc

Then, add the new strings:

svn up
cd src/translations
./extract-messages.sh
svn diff
svn ci

Applying a contributed .po file

You could just overwrite the original and commit, but this assumes the file is correctly formatted and hasn't lost any strings. Better to use msgmerge to merge the contributed .po file with the existing:

 msgmerge -o zh_CN.merged.po /tmp/zh_CN.contributed.po src/translations/zh_CN.po
 mv zh_CN.merged.po src/translations/zh_CN.po
 svn diff
 svn ci

Statistics

msgfmt --statistics eo_XX.po

Issues That Need Work

  • There are 1044 strings in the hugin.pot file. The main translation problem we have now is that many of these strings are in the sourcecode, but not in bits that are used - i.e. there are strings that are being translated unnecessarily (the panodruid for example).
  • The .po files headers are inconsistent. Ideally they would all feature the same license and copyright notice; and they would list all contributors.
Personal tools
Namespaces

Variants
Actions
Navigation
tools
Tools