diff --git a/gnu/installer/newt/locale.scm b/gnu/installer/newt/locale.scm index 0be9db449e..df168baca9 100644 --- a/gnu/installer/newt/locale.scm +++ b/gnu/installer/newt/locale.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès ;;; Copyright © 2024 Janneke Nieuwenhuizen +;;; Copyright © 2024 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,9 +25,6 @@ (define-module (gnu installer newt locale) #:use-module (gnu installer newt page) #:use-module (guix i18n) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) - #:use-module (srfi srfi-34) - #:use-module (srfi srfi-35) #:use-module (ice-9 match) #:export (run-locale-page)) @@ -52,16 +50,22 @@ (define result result) (define (run-territory-page territories territory->text) - (let ((title (G_ "Locale location"))) + (define result (run-listbox-selection-page - #:title title + #:title (G_ "Locale location") #:info-text (G_ "Choose a territory for this language.") #:listbox-items territories #:listbox-item->text territory->text #:button-text (G_ "Back") #:button-callback-procedure (lambda _ - (abort-to-prompt 'installer-step 'abort))))) + (abort-to-prompt 'installer-step 'abort)))) + + ;; Some languages, such as pt, cannot be installed early in the + ;; run-language-page step. Install them now, when we know the territory. + (setenv "LANGUAGE" (string-append (getenv "LANGUAGE") "_" result)) + + result) (define (run-codeset-page codesets) (let ((title (G_ "Locale codeset")))