From 8585fe0ece9cd5b5791378ea6d231ba665794ce5 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Wed, 6 Dec 2017 23:39:42 +0000 Subject: Add support for language/keyboard selection in bootloader. Eventually most of this should move elsewhere so it can be shared with the classic installer ISOs. --- bootloader/Makefile | 14 ++++ bootloader/lang-names.txt | 66 ++++++++++++++++ bootloader/make-grub-po | 180 +++++++++++++++++++++++++++++++++++++++++++ bootloader/make-kbd-info | 115 +++++++++++++++++++++++++++ bootloader/make-kbd-po | 81 +++++++++++++++++++ bootloader/po/Makefile | 16 ++++ bootloader/po/bootloader.pot | 62 +++++++++++++++ bootloader/po/de.po | 62 +++++++++++++++ bootloader/po/fr.po | 62 +++++++++++++++ config/live.cfg | 28 +++---- 10 files changed, 673 insertions(+), 13 deletions(-) create mode 100644 bootloader/Makefile create mode 100644 bootloader/lang-names.txt create mode 100755 bootloader/make-grub-po create mode 100755 bootloader/make-kbd-info create mode 100755 bootloader/make-kbd-po create mode 100644 bootloader/po/Makefile create mode 100644 bootloader/po/bootloader.pot create mode 100644 bootloader/po/de.po create mode 100644 bootloader/po/fr.po diff --git a/bootloader/Makefile b/bootloader/Makefile new file mode 100644 index 0000000..9994dae --- /dev/null +++ b/bootloader/Makefile @@ -0,0 +1,14 @@ +all: kbd-names.txt lang-kbds.txt po + +kbd-names%txt lang-kbds%txt: layouts + make-kbd-info + +layouts: + +.PHONY: po +po: make-grub-po make-kbd-po kbd-names.txt + make -C po + +clean: + rm -rf kbd-names.txt lang-kbds.txt layouts + make -C po clean diff --git a/bootloader/lang-names.txt b/bootloader/lang-names.txt new file mode 100644 index 0000000..57a70e5 --- /dev/null +++ b/bootloader/lang-names.txt @@ -0,0 +1,66 @@ +# The GNU Unifont font contains all the glyphs used in this file.use utf8; +# \x{nnnn} represents the Unicode code point U+nnnn (where nnnn is four hex digits). +use utf8; +( +"af_ZA" => "Afrikaans", # Afrikaans +"ar_EG" => "\x{fef2}\x{fe91}\x{feae}\x{fecb}", # Arabic +"bg_BG" => "Български", # Bulgarian +"bn_BD" => "\x{09ac}\x{09be}\x{0982}\x{09b2}\x{09be}", # Bengali +"bs_BA" => "Bosanski", # Bosnian +"ca_ES" => "Català", # Catalan +"cs_CZ" => "Čeština", # Czech +"cy_GB" => "Cymraeg", # Welsh +"da_DK" => "Dansk", # Danish +"de_DE" => "Deutsch", # German +"el_GR" => "Ελληνικά", # Greek +"en_GB" => "English (UK)", # English +"en_US" => "English (US)", # English +"es_ES" => "Español", # Spanish +"et_EE" => "Eesti", # Estonian +"fa_IR" => "\x{fbfd}\x{feb4}\x{0631}\x{fe8e}\x{fed3}", # Farsi +"fi_FI" => "Suomi", # Finnish +"fr_FR" => "Français", # French +"gl_ES" => "Galego", # Galician +"ka_GE" => "ქართული", # Kartuli +"gu_IN" => "\x{0a97}\x{0ac1}\x{0a9c}\x{0ab0}\x{0abe}\x{0aa4}\x{0ac0}", # Gujarati +"he_IL" => "תירבע", # Hebrew +"hi_IN" => "\x{0939}\x{093f}\x{0902}\x{0926}\x{0940}", # Hindi +"hr_HR" => "Hrvatski", # Croatian +"hu_HU" => "Magyar", # Hungarian +"id_ID" => "Bahasa Indonesia", # Indonesian +"it_IT" => "Italiano", # Italian +"ja_JP" => "日本語", # Japanese +"jv_ID" => "Basa Jawa", # Javanese +"km_KH" => "Khmer", # Khmer +"ko_KR" => "한글", # Korean +"ky_KG" => "Кыргызча", # Kirghiz +"lo_LA" => "\x{0e9e}\x{0eb2}\x{0eaa}\x{0eb2}\x{0ea5}\x{0eb2}\x{0ea7}", # Lao +"lt_LT" => "Lietuvių", # Lithuanian +"mk_MK" => "Македонски", # Macedonian +"mr_IN" => "\x{092e}\x{0930}\x{093e}\x{0920}\x{0940}", # Marathi +"nb_NO" => "Norsk (bokmål)", # Norwegian +"nn_NO" => "Norsk (nynorsk)", # Norwegian +"nl_NL" => "Nederlands", # Dutch +"pa_IN" => "\x{0a2a}\x{0a70}\x{0a1c}\x{0a3e}\x{0a2c}\x{0a40}", # Punjabi +"pl_PL" => "Polski", # Polish +"pt_PT" => "Português", # Portuguese +"pt_BR" => "Português (Brasil)", # Portuguese (Brazilian) +"ro_RO" => "Română", # Romanian +"ru_RU" => "Русский", # Russian +"si_LK" => "\x{0dc3}\x{0dd2}\x{0d82}\x{0dc4}\x{0dbd}", # Sinhala +"sk_SK" => "Slovenčina", # Slovak +"sl_SI" => "Slovenščina", # Slovenian +"sr_CS" => "Srpski", # Serbian +"sv_SE" => "Svenska", # Swedish +"ta_IN" => "\x{0ba4}\x{0bae}\x{0bbf}\x{0bb4}\x{0bcd}", # Tamil +"tg_TJ" => "Тоҷикӣ", # Tajik +"th_TH" => "\x{0e20}\x{0e32}\x{0e29}\x{0e32}\x{0e44}\x{0e17}\x{0e22}", # Thai +"tr_TR" => "Türkçe", # Turkish +"uk_UA" => "Українська", # Ukrainian +"vi_VN" => "Tiếng Việt", # Vietnamese +"wa_BE" => "Walon", # Walloon +"xh_ZA" => "isiXhosa", # Xhosa +"zh_CN" => "简体中文", # Simplified Chinese +"zh_TW" => "繁體中文 (台灣)", # Traditional Chinese +"zu_ZA" => "isiZulu", # Zulu +) diff --git a/bootloader/make-grub-po b/bootloader/make-grub-po new file mode 100755 index 0000000..d85005b --- /dev/null +++ b/bootloader/make-grub-po @@ -0,0 +1,180 @@ +#!/usr/bin/perl + +# Copyright (C) 2017 Mageia +# +# 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 2, 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, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# SYNOPSIS +# +# This program generates a PO file containing translations of the grub2 +# runtime messages into the language specified by the first command line +# argument. grub2 must be installed on the build system, so that the +# translations are available. +# +# The full set of translations is quite large, so we only generate +# translations for the messages we expect to see in the ISO bootloader. +# +# The PO file (${LANGUAGE}-grub.po) is stored in the current working +# directory. + +use lib qw(/usr/lib/libDrakX); + +use strict; + +use Cwd qw(abs_path getcwd); +use MDK::Common; +use common; + +# Get correct namespace (grub instead of libDrakX). +BEGIN { unshift @::textdomains, 'grub' } + +# Set the translation language. +@ARGV == 1 && $ARGV[0] or die "Usage: make-grub-po \n"; +$ENV{LANGUAGE} = $ARGV[0]; + +# Define the list of strings we want to translate. +my @msgids = ( + "Press enter to boot the selected OS, `e' to edit the commands before booting " . + "or `c' for a command-line. ESC to return previous menu.", + + "The highlighted entry will be executed automatically in %ds.", + + "%ds remaining.", + + "%ds", + + "Minimal BASH-like line editing is supported. For the first word, TAB lists " . + "possible command completions. Anywhere else TAB lists possible device or " . + "file completions. %s", + + "ESC at any time exits.", + + "Press any key to continue...", + + "Possible commands are:", + + "Possible devices are:", + + "Possible files are:", + + "Possible partitions are:", + + "Possible arguments are:", + + "Possible things are:", + + "can't find command `%s'", + + "one argument expected", + + "two arguments expected", + + "three arguments expected", + + "four arguments expected", + + "missing arguments", + + "unknown argument", + + "missing `%c' symbol", + + "filename expected", + + "file or layout name required", + + "file `%s' not found", + + "no terminal specified", + + "terminal `%s' isn't found", + + "Active input terminals:", + + "Available input terminals:", + + "Active output terminals:", + + "Available output terminals:", + + "no server is specified", + + "Device %s:", + + "Partition %s:", + + "No known filesystem detected", + + "Filesystem cannot be accessed", + + "Filesystem type %s", + + "- Label `%s'", + + "- Last modification time %d-%02d-%02d %02d:%02d:%02d %s", + + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday", + + " - Sector size %uB", + + " - Total size %llu%sKiB", + + " - Total size unknown", + + "Loaded fonts:", + + "error: %s.\n", + + ".5" +); + +# Open the output file +my $fn = getcwd() . '/' . $ARGV[0] . '-grub.po'; +open(my $fh, '>' . $fn) or die "couldn't open $fn"; + +print $fh "# This file is automatically generated\n"; +print $fh "\n"; + +foreach (@msgids) { + my ($msgid) = $_; + + my $msgstr = translate($msgid); + + # Blank the message string if there is no translation available. + $msgstr = '' if $msgstr eq $msgid; + + # Any double quote characters need to be escaped when writing the + # PO file. + $msgid =~ s/"/\\"/g; + $msgstr =~ s/"/\\"/g; + + # Any newline characters need to be escaped when writing the + # PO file. + $msgid =~ s/\R/\\n/g; + $msgstr =~ s/\R/\\n/g; + + # Write the entry for this item. + print $fh "msgid \"$msgid\"\n"; + print $fh "msgstr \"$msgstr\"\n"; + print $fh "\n"; +} + +close($fh); diff --git a/bootloader/make-kbd-info b/bootloader/make-kbd-info new file mode 100755 index 0000000..d36fde8 --- /dev/null +++ b/bootloader/make-kbd-info @@ -0,0 +1,115 @@ +#!/usr/bin/perl + +# Copyright (C) 2017 Mageia +# +# 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 2, 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, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# SYNOPSIS +# +# This program gets the list of supported keyboards from libDrakX and +# generates a grub2 keyboard mapping file for each keyboard in the list. +# It then generates the keyboard names file and the language to keyboard +# mapping file that are used when generating the bootloader menus for +# the Mageia ISOs. +# +# The grub2 keyboard mapping files are generated using the grub2-kbdcomp +# program. The X11 keyboard layout and variant names are obtained from +# libDrakX. The files (*.gkb) are stored in the 'layouts' subdirectory +# of the current working directory. +# +# The keyboard names file consists of a list of paired identifier and +# description strings. The identifier is the keyboard identifier used +# in libDrakX. The description is the canonical keyboard description +# provided by libDrakX. The file (kbd-names.txt) is stored in the +# current working directory. +# +# The language to keyboard mapping file consists of a map of language +# identifier to keyboard identifier strings. The language identifier +# is the standard language/country code used for specifying a locale +# (e.g. en_US). The keyboard identifier is the default keyboard for +# that language, as provided by libDrakX. The file (lang-kbds.txt) is +# stored in the current working directory. +# +# The list of supported languages is read from the language names file +# (lang-names.txt) that is used when generating the bootloader menus. +# This file is expected to be found in the current working directory. + +use lib qw(/usr/lib/libDrakX); + +use strict; + +use Cwd qw(getcwd); +use Data::Dumper; +use MDK::Common; +use common; +use keyboard; +use run_program; + +# Make sure we get the canonical description for the keyboard. +$ENV{LANGUAGE} = 'C'; + +# Make sure the 'layouts' subdirectory exists. +my $kbd_dir = getcwd() . '/layouts'; +mkdir_p($kbd_dir); + +# Generate the grub2 keyboard mapping files and collect the keyboard +# descriptions. For keyboards with multiple layouts, only use the first +# layout. If we fail to generate a keyboard mapping, don't include that +# keyboard in the lists. +my %names; +my @keyboards = map { { KEYBOARD => $_ } } keyboard::KEYBOARDs(); +foreach (@keyboards) { + my $id = $_->{KEYBOARD}; + my $xkb = keyboard::keyboard2full_xkb($_); + my @model = split(',', $xkb->{XkbModel}); + my @layout = split(',', $xkb->{XkbLayout}); + my @variant = split(',', $xkb->{XkbVariant}); + my $kbd_file = $kbd_dir . '/' . $id . '.gkb'; + if (-e $kbd_file || run_program::run('grub2-kbdcomp', '-o', $kbd_file, '-model', $model[0], $layout[0], $variant[0])) { + $names{$id} = translate(keyboard::keyboard2text($_)); + } else { + rm_rf($kbd_file); + } +} + +# Generate the keyboard names file. +my $filename = getcwd() . '/kbd-names.txt'; +open(my $f, '>' . $filename) or die "couldn't open $filename"; +print $f "(\n"; +foreach my $id (sort keys %names) { + my $name = $names{$id}; + printf $f " '$id'%s => '$name',\n", ' ' x (16 - length($id)); +} +print $f ")\n"; +close($f); + +# Read the list of supported languages. +my $lang_names = getcwd() . '/lang-names.txt'; +-e $lang_names or die "cannot find language names file $lang_names\n"; +my @langs = group_by2(eval(cat_($lang_names))) + or die "error in language names file $lang_names\n"; + +# Generate the language to keyboard mapping file. +$filename = getcwd() . '/lang-kbds.txt'; +open($f, '>' . $filename) or die "couldn't open $filename"; +print $f "{\n"; +foreach (@langs) { + my ($lang) = @$_; + my $kbd = keyboard::lang2keyboard($lang)->{KEYBOARD}; + $kbd = '' if !$names{$kbd}; + printf $f " '$lang' => '$kbd',\n"; +} +print $f "}\n"; +close($f); diff --git a/bootloader/make-kbd-po b/bootloader/make-kbd-po new file mode 100755 index 0000000..54ed57e --- /dev/null +++ b/bootloader/make-kbd-po @@ -0,0 +1,81 @@ +#!/usr/bin/perl + +# Copyright (C) 2017 Mageia +# +# 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 2, 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, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# SYNOPSIS +# +# This program reads the keyboard names file created by the make-kbd-info +# program and generates a PO file containing translations of the keyboard +# names into the language specified by the first command line argument. +# The translations are obtained from libDrakX. +# +# The keyboard names file (kbd-names.txt) is searched for in the directory +# containing this program. The PO file (${LANGUAGE}-kbd.po) is stored in +# the current working directory. + +use lib qw(/usr/lib/libDrakX); + +use strict; + +use Cwd qw(abs_path getcwd); +use MDK::Common; +use common; +use keyboard; + +# Get correct namespace (drakx-kbd-mouse-x11 instead of libDrakX). +BEGIN { unshift @::textdomains, 'drakx-kbd-mouse-x11' } + +# Set the translation language. +@ARGV == 1 && $ARGV[0] or die "Usage: make-kbd-po \n"; +$ENV{LANGUAGE} = $ARGV[0]; + +# Read the keyboard names file. +my $kbd_names = dirname(abs_path($0)) . '/kbd-names.txt'; +-e $kbd_names or die "cannot find keyboard name file $kbd_names\n"; +my @kbds = group_by2(eval(cat_($kbd_names))) + or die "error in keyboard name file $kbd_names\n"; + +# Open the output file +my $fn = getcwd() . '/' . $ARGV[0] . '-kbd.po'; +open(my $fh, '>' . $fn) or die "couldn't open $fn"; + +print $fh "# This file is automatically generated\n"; +print $fh "\n"; + +foreach (@kbds) { + my ($kbd, $msgid) = @$_; + + # make-kbd-info strips off the prefix from the drakx-kbd-mouse-x11 + # msgids, so we must use the original msgid to get the translation. + my $msgstr = translate(keyboard::KEYBOARD2text($kbd)); + + # Any double quote characters need to be escaped when writing the + # PO file. + $msgid =~ s/"/\\"/g; + $msgstr =~ s/"/\\"/g; + + # Some translations contain embedded newline characters. We need + # all translations to be a single line. + $msgstr =~ s/\R/ /g; + + # Write the entry for this keyboard. + print $fh "msgid \"$msgid\"\n"; + print $fh "msgstr \"$msgstr\"\n"; + print $fh "\n"; +} + +close($fh); diff --git a/bootloader/po/Makefile b/bootloader/po/Makefile new file mode 100644 index 0000000..297110e --- /dev/null +++ b/bootloader/po/Makefile @@ -0,0 +1,16 @@ +PO_FILES = $(filter-out $(wildcard *-*.po), $(wildcard *.po)) +MO_FILES = $(addsuffix .mo, $(basename $(PO_FILES))) + +all: $(MO_FILES) + +%.mo: %.po %-grub.po %-kbd.po + msgfmt -o $@ $^ + +%-grub.po: ../make-grub-po + ../make-grub-po $(basename $*) + +%-kbd.po: ../make-kbd-po ../kbd-names.txt + ../make-kbd-po $(basename $*) + +clean: + rm -f *-grub.po *-kbd.po *.mo diff --git a/bootloader/po/bootloader.pot b/bootloader/po/bootloader.pot new file mode 100644 index 0000000..3c70470 --- /dev/null +++ b/bootloader/po/bootloader.pot @@ -0,0 +1,62 @@ +# Translations for Mageia ISO boot loader +# Copyright (C) 2017 Mageia +# +# NOTE: If you add a new language, please uncomment (or add if necessary) +# the corresponding line(s) in the lang-names.txt file. +# +# NOTE: Except where noted, all strings must fit on a single line on the +# bootloader screen (which may be running at a low resolution). Please keep +# the translated strings as short as possible. +# +# NOTE: grub2 currently doesn't display some scripts properly. It is probably +# best not to enable these languages. Language codes known to be affected +# are: bn gu hi mr pa si ta +# +msgid "" +msgstr "" +"Project-Id-Version: draklive-config\n" +"POT-Creation-Date: 2017-11-30 14:23+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +# NOTE: Please leave "[$lang]" untranslated - it is automatically replaced +# by the currently selected language code (e.g. en_US). +msgid "Language [$lang]" +msgstr "" + +# NOTE: Please leave "[$kbd]" untranslated - it is automatically replaced +# by the currently selected keyboard code (e.g. us). +msgid "Keyboard [$kbd]" +msgstr "" + +msgid "[more options after boot]" +msgstr "" + +msgid "Boot Mageia Live" +msgstr "" + +msgid "Install Mageia Live" +msgstr "" + +msgid " + use non-free video drivers (slower to boot)" +msgstr "" + +msgid "Select an item with the arrow keys and press Enter to boot." +msgstr "" + +msgid "Press 'c' for command line, 'e' to edit." +msgstr "" + +# NOTE: The Mageia grub2 package replaces one of the upstream messages +# with this, but doesn't provide any translations. This doesn't need +# to fit on a single line. +msgid "" +"Press Ctrl-x to start, Ctrl-c for a command prompt or Escape to discard " +"edits and return to the menu. Pressing Tab lists possible completions." +msgstr "" diff --git a/bootloader/po/de.po b/bootloader/po/de.po new file mode 100644 index 0000000..d965c90 --- /dev/null +++ b/bootloader/po/de.po @@ -0,0 +1,62 @@ +# Translations for Mageia ISO boot loader +# Copyright (C) 2017 Mageia +# +# NOTE: If you add a new language, please uncomment (or add if necessary) +# the corresponding line(s) in the lang-names.txt file. +# +# NOTE: All strings must fit on a single line on the bootloader screen (which +# may be running at a low resolution). Please keep the translated strings as +# short as possible. +# +# NOTE: grub2 currently doesn't display some scripts properly. It is probably +# best not to enable these languages. Language codes known to be affected +# are: bn gu hi mr pa si ta +# +msgid "" +msgstr "" +"Project-Id-Version: draklive-config\n" +"POT-Creation-Date: 2017-11-30 14:23+0000\n" +"PO-Revision-2017-11-30 14:23+0000\n" +"Last-Translator: Martin Whitaker\n" +"Language-Team: LANGUAGE \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +# NOTE: Please leave "[$lang]" untranslated - it is automatically replaced +# by the currently selected language code (e.g. en_US). +msgid "Language [$lang]" +msgstr "Sprache [$lang]" + +# NOTE: Please leave "[$kbd]" untranslated - it is automatically replaced +# by the currently selected keyboard code (e.g. us). +msgid "Keyboard [$kbd]" +msgstr "Tastatur [$kbd]" + +msgid "[more options after boot]" +msgstr "untranslated" + +msgid "Boot Mageia Live" +msgstr "Mageia Live starten" + +msgid "Install Mageia Live" +msgstr "Mageia Live installieren" + +msgid " + use non-free video drivers (slower to boot)" +msgstr " + verwende unfreie Videotreiber (System startet langsamer)" + +msgid "Select an item with the arrow keys and press Enter to boot." +msgstr "untranslated" + +msgid "Press 'c' for command line, 'e' to edit." +msgstr "untranslated" + +# NOTE: The Mageia grub2 package replaces one of the upstream messages +# with this, but doesn't provide any translations. This doesn't need +# to fit on a single line. +msgid "" +"Press Ctrl-x to start, Ctrl-c for a command prompt or Escape to discard " +"edits and return to the menu. Pressing Tab lists possible completions." +msgstr "untranslated" diff --git a/bootloader/po/fr.po b/bootloader/po/fr.po new file mode 100644 index 0000000..4aba501 --- /dev/null +++ b/bootloader/po/fr.po @@ -0,0 +1,62 @@ +# Translations for Mageia ISO boot loader +# Copyright (C) 2017 Mageia +# +# NOTE: If you add a new language, please uncomment (or add if necessary) +# the corresponding line(s) in the lang-names.txt file. +# +# NOTE: All strings must fit on a single line on the bootloader screen (which +# may be running at a low resolution). Please keep the translated strings as +# short as possible. +# +# NOTE: grub2 currently doesn't display some scripts properly. It is probably +# best not to enable these languages. Language codes known to be affected +# are: bn gu hi mr pa si ta +# +msgid "" +msgstr "" +"Project-Id-Version: draklive-config\n" +"POT-Creation-Date: 2017-11-30 14:23+0000\n" +"PO-Revision-Date: 2017-11-30 14:23+0000\n" +"Last-Translator: Martin Whitaker\n" +"Language-Team: LANGUAGE \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +# NOTE: Please leave "[$lang]" untranslated - it is automatically replaced +# by the currently selected language code (e.g. en_US). +msgid "Language [$lang]" +msgstr "Langue [$lang]" + +# NOTE: Please leave "[$kbd]" untranslated - it is automatically replaced +# by the currently selected keyboard code (e.g. us). +msgid "Keyboard [$kbd]" +msgstr "Clavier [$kbd]" + +msgid "[more options after boot]" +msgstr "" + +msgid "Boot Mageia Live" +msgstr "Amorcer Mageia Live" + +msgid "Install Mageia Live" +msgstr "Installer Mageia Live" + +msgid " + use non-free video drivers (slower to boot)" +msgstr " + avec pilote vidéo propriétaire (démarrage lent)" + +msgid "Select an item with the arrow keys and press Enter to boot." +msgstr "" + +msgid "Press 'c' for command line, 'e' to edit." +msgstr "" + +# NOTE: The Mageia grub2 package replaces one of the upstream messages +# with this, but doesn't provide any translations. This doesn't need +# to fit on a single line. +msgid "" +"Press Ctrl-x to start, Ctrl-c for a command prompt or Escape to discard " +"edits and return to the menu. Pressing Tab lists possible completions." +msgstr "" diff --git a/config/live.cfg b/config/live.cfg index 105c3d7..1a2bbc8 100644 --- a/config/live.cfg +++ b/config/live.cfg @@ -242,19 +242,21 @@ my $_l = { int => [ map { "i18n-$_" } qw(en) ], }, media => { - storage => 'iso', - source => build_one_label($live), - bootloader_theme => 'maggy', - bootloader_timeout => 10, - bootloader_default => 0, - bootloader_entries => [ 'Boot Mageia Live' => 'xdriver=free', - ' + use non-free video drivers' => 'nokmsboot', - 'Install Mageia Live' => 'install xdriver=free', - ' + use non-free video drivers' => 'install nokmsboot', - ], - #mbr_boot_img => 'files/grub2/boot_hybrid.img', - #eltorito_img => 'files/grub2/eltorito.img', - #bootx64_efi => 'files/grub2/bootx64.efi', + storage => 'iso', + source => build_one_label($live), + bootloader_langs => 'bootloader/lang-names.txt', + bootloader_kbds => 'bootloader/kbd-names.txt', + bootloader_messages => 'bootloader/po', + bootloader_default => 0, + bootloader_timeout => 10, + bootloader_entries => [ 'Boot Mageia Live' => 'xdriver=free', + ' + use non-free video drivers (slower to boot)' => 'nokmsboot', + 'Install Mageia Live' => 'install xdriver=free', + ' + use non-free video drivers (slower to boot)' => 'install nokmsboot', + ], + #mbr_boot_img => 'bootloader/boot_hybrid.img', + #eltorito_img => 'bootloader/eltorito.img', + #bootx64_efi => 'bootloader/bootx64.efi', files => [ # FIXME: add doc and autorun #[ 'extra/livecd/autorun/*', ''], -- cgit v1.2.1