Ceci est une ancienne révision du document !
Attention cette page est en cours de rédaction.
Script de localisation de live-CD en français
Voici une proposition de script pour localiser le CD en Français. Il reste encore un peu de travail à faire, en particulier au niveau de la localisation de Firefox et des exemples, mais cela devrais faciliter le travail préliminaire.
Cette méthode servira de base pour les autres versions (kubuntu, xubuntu…) francophones.
Page principale du projet : traduction_live_cd. Forum du projet : ici.
Préparation
Installation des outils nécessaires
Le paquet squashfs est nécessaire afin de pouvoir décompresser le système de fichier embarqué sur le live-cd. Le paquet mkisofs servira à la génération de l'iso finale.
sudo apt-get install squashfs-tools genisoimage
Script en cours de modification
#!/bin/bash # Translation script for Ubuntu CDs # Copyright (C) 2010 Vincent-Xavier JUMEL # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # Be sure to set up the variables according to your needs and preferences V_NUM=10.04 # Stand for version number V_NAME=lucid # stand for version name ARCH=i386 # Architecture WD=$HOME/tmp/ubuntu # our working directory, should not interfere with anything you have if [ -e ${WD} ] then rm -rf ${WD} ; mkdir -p ${WD} ; else mkdir ${WD} ; fi ; mkdir ${WD}/tmp wget -c http://cdimage.ubuntu.com/daily-live/current/${V_NAME}-desktop-${ARCH}.iso #http://releases.ubuntu.com/karmic/ubuntu-9.10-desktop-i386.iso # Going into working directory cd ${WD} mkdir ${WD}/mnt sudo mount -o loop ${WD}/ubuntu-${V_NAME}-desktop-${ARCH}.iso ${WD}/mnt mkdir ${WD}/extract-cd rsync --exclude=/casper/filesystem.squashfs -av ${WD}/mnt/ ${WD}/extract-cd mkdir ${WD}/edit unsquashfs -d ${WD}/edit/. -f ${WD}/mnt/casper/filesystem.squashfs sudo umount mnt # Just replace archives by French ones sed -i 's/archive/fr.archive/' ${WD}/edit/etc/apt/sources.list # We just uncomment universe and multiverse for special package. They # will be commented out by the end of the installation dans /var/lib/apt # will be purged to gain space. sed -i -r -e 's/# (deb .* iverse)/\1/' ${WD}/edit/etc/apt/sources.list # Preparing and entering the chroot environment cp /etc/resolv.conf edit/etc/ cp /etc/hosts edit/etc/ sudo mount --bind /dev/ edit/dev sudo chroot edit /bin/bash mount -t proc none /proc mount -t sysfs none /sys mount -t devpts none /dev/pts export HOME=/root export PS1="(chroot-trad-ubuntu) $PS1" # Updating repositories aptitude update # Removing unused packages aptitude purge `dpkg -l | awk '{print $2}' | egrep "^language-pack-|^language-pack-gnome-|^language-support-|^aspell|^myspell-|^hunspell-|^wamerican$|^wbritish$|^openoffice.org-help-|^openoffice.org-hyphenation-|^openoffice.org-thesaurus-|^gimp-help-|^evolution-documentation-" | xargs` # Installing packages aptitude install language-pack-fr language-pack-fr-base gimp-help-fr language-support-fr language-support-writing-fr language-pack-gnome-fr language-pack-gnome-fr-base openoffice.org-hyphenation-fr openoffice.org-help-fr openoffice.org-l10n-fr wfrench gimp-help-fr manpages-fr manpages-fr-dev manpages-fr-extra LANG=fr_FR.UTF-8 # Purging *.mo files # May be inmproved # Creating localepurge configuration file cat >> /etc/locale.nopurge << EOF #################################################### # This is the configuration file for localepurge(8). #################################################### #################################################### # Uncommenting this string enables removal of localized # man pages based on the configuration information for # locale files defined below: MANDELETE #################################################### # Uncommenting this string causes localepurge to simply delete # locales which have newly appeared on the system without # bothering you about it: DONTBOTHERNEWLOCALE #################################################### # Uncommenting this string enables display of freed disk # space if localepurge has purged any superfluous data: SHOWFREEDSPACE ##################################################### # Commenting out this string enables faster but less # accurate calculation of freed disk space: #QUICKNDIRTYCALC ##################################################### # Commenting out this string disables verbose output: #VERBOSE ##################################################### # Following locales won't be deleted from this system # after package installations done with apt-get(8): fr fr_FR fr_FR@euro fr_FR.UTF-8 EOF # Really purging locale aptitude install localepurge localepurge aptitude purge localepurge # Changing the name onto the CD sed -i "s/Live session user/Session CD/g" /etc/casper.conf sed -i "s/Live session user/Session CD/g" /usr/share/initramfs-tools/scripts/casper ## edition de casper sed -i 's/Desktop/Bureau/g;s/Examples/Exemples/g' /usr/share/initramfs-tools/scripts/casper-bottom/10adduser ## profitons en pour ajouter un saut de ligne au texte de l'icone installer ubuntu 9.10 sed -i 's/Installer RELEASE/Installer \\nRELEASE/' /usr/share/applications/ubiquity-gtkui.desktop # TTY localisation dpkg-reconfigure -phigh console-setup sed -i 's/Please remove the disc, close the tray (if any)/Retirez le disque, refermez le tiroir (si nécessaire)'/ /etc/init.d/casper sed -i 's/and press ENTER to continue/et appuyer sur Entrée pour continuer/' /etc/init.d/casper # Todo : casped-md5sum translation # Live CD doesn't accept UID greater than 500 if [ -neq `grep '^[^:]*:[^:]*:[1-9][0-9][0-9][0-9]:' /etc/passwd` "" ] then usermod -u 500 $login ; fi ; if [ -neq `grep '^[^:]*:[^:]*:[12][0-9][0-9][0-9][0-9]:' /etc/passwd` "" ] then usermod -u 500 $login ; fi ; KV-KB=boot/initrd.img-* mkdir -p /tmp/init mkinitramfs -o /tmp/init/initrd.gz 2.6.31-14-generic ## extrait cd /tmp/init gzip -dc initrd.gz | cpio -id rm *.gz ## recompresse en lzma, specifique à karmic... find . | cpio --quiet --dereference -o -H newc | lzma -7 > /initrd.lz cd / rm -R /tmp/init # On supprime l'initrd du squashfs généré lors du changement de locale: rm boot/initrd.img-2.6.31-14-generic # Getting out the chroot environment apt-get clean rm -rf /tmp/* rm -rf /var/tmp/* rm /etc/resolv.conf rm /etc/hosts umount /proc umount /sys exit sudo umount edit/dev # Getting out the chroot environment mv -f ${WD}/edit/initrd.lz ${WD}/extract-cd/casper/ # Updating the autorun.inf sed -i 's/Install Ubuntu/Installer Ubuntu/' ${WD}/extract-cd/autorun.inf # Dealing with gfxboot cd ${WD}/extract-cd/isolinux chmod u+w . echo fr > lang echo fr > langlist cp fr.* ${WD}/tmp/ rm *.hlp *.tr mv ${WD}/tmp/fr.* . chmod u-w . lang langlist # Creating CD manifest chmod +w extract-cd/casper/filesystem.manifest sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest sudo cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop sed -i '/casper/d;/cryptsetup/d;/dmraid/d;/ecryptfs-utils/d;/gparted/d;/jfsutils/d;/keyutils/d;/kpartx/d;/libdebconfclient0/d;/libdebian-installer4/d;/libdmraid1.0.0.rc15/d;/libecryptfs0/d;/libntfs10/d;/libreadline5/d;/localechooser-data/d;/lupin-casper/d;/ntfsprogs/d;/python-pyicu/d;/rdate/d;/reiserfsprogs/d;/ubiquity/d;/ubiquity-casper/d;/ubiquity-frontend-gtk/d;/ubiquity-slideshow-ubuntu/d;/ubiquity-ubuntu-artwork/d;/user-setup/d;/xfsprogs/d' extract-cd/casper/filesystem.manifest-desktop # Creating the squashfs sudo rm ${WD}/extract-cd/casper/filesystem.squashfs sudo mksquashfs ${WD}/edit ${WD}/extract-cd/casper/filesystem.squashfs rm ${WD}/extract-cd/md5sum.txt cd ${WD}/extract-cd && find . -type f -not -name md5sum.txt -not -path '*/isolinux/*' -print0 | xargs -0 -- md5sum > md5sum.txt cd ${WD}/extract-cd mkisofs -r -V "Ubuntu ${V_NUM} Edition Francophone" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-${V_NUM}-desktop-i386-fr.iso .
Vous pouvez tester l'image avec
kvm -m 512 -enable-kvm -cdrom ubuntu-10.04-desktop-i386-fr.iso -boot d -net nic -net user -net vde