[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]]
[[meta license="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled
[[GNU_Free_Documentation_License|/fdl]]."]]

## Setting up translators - HowTo

Translators can be got from hurd-extras <http://www.nongnu.org/hurdextras/>

    cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/hurdextras co <modulename> 

* httpfs translator 

<!-- Prevent ikiwiki / Markdown rendering bug.  -->

    $ settrans -a tmp/ /hurd/httpfs www.hurd-project.com/

or

    $ settrans -a tmp/ /hurd/httpfs www.hurd-project.com/ --proxy=<proxy> --port=<port>
    $ cd tmp/
    $ ls -l      

* ftpfs translator

<!-- Prevent ikiwiki / Markdown rendering bug.  -->

    $ settrans -cgap ftp /hurd/hostmux /hurd/ftpfs /
    $ cd ftp
    ftp$ ls
    ftp$ cd ftp.fr.debian.org
    ftp/ftp.fr.debian.org $ ls

* tarfs  translator 

You can use tarfs to mount (almost) any tar file:

    $ settrans -ca a /hurd/tarfs -z myfile.tar.gz
    $ settrans -ca b /hurd/tarfs -y myfile.tar.bz2
    $ settrans -ca c /hurd/tarfs myfile.tar

You can even use it to create new tar files:

    $ settrans -ca new /hurd/tarfs -cz newfile.tar.gz
    $ cp -r all my files  new/
    $ syncfs new

This is not as fast as `tar czvf newfile.tar.gz all my files` but at least, it's more original. ;)
    
* cvsfs translator 

<!-- Prevent ikiwiki / Markdown rendering bug.  -->

    $ settrans -ac cvsfs_testing /hurd/cvsfs cvs.savannah.nongnu.org /sources/hurdextras
    $ cd cvsfs_testing
   
* pfinet translator --  configuring your network interface 

<!-- Prevent ikiwiki / Markdown rendering bug.  -->

    $ settrans -fgca /servers/socket/2 /hurd/pfinet -i <interface> -a <ip address> -m <subnet mask> -g <gateway ip>
   
* Console translator -- setting up virtual consoles  

<!-- Prevent ikiwiki / Markdown rendering bug.  -->

    $ console -d vga -d pc_mouse -d pc_kbd -d generic_speaker /dev/vcs
   
* iso9660fs translator --  'mounting' your cdrom 

<!-- Prevent ikiwiki / Markdown rendering bug.  -->

    $ settrans -ac /cdrom /hurd/iso9660fs /dev/<cdrom device file>      
   
* ext2fs translator  -- 'mounting' an ext2fs partition 

<!-- Prevent ikiwiki / Markdown rendering bug.  -->

    $ settrans -ac /linux /hurd/ext2fs /dev/<partition device file>   

* unionfs translator 

To join "foo/" "bar/" and "baz/" in the directory "quux/", just do:

    $ settrans -capfg quux/ /hurd/unionfs foo/ bar/ baz/

If you want to join even quux/ contents in the union itself, add -u as a translator argument.
You can add filesystems at run-time with the fsysopts command.