Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion archinstall/lib/general/general_menu.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,8 @@ async def select_archinstall_language(languages: list[Language], preset: Languag

title = 'NOTE: Console font will be set automatically for supported languages.\n'
title += 'For other languages, fonts can be found in "/usr/share/kbd/consolefonts"\n'
title += 'and set manually with: setfont <fontname>\n'
title += 'and set manually with: setfont <fontname>\n\n'
title += 'Select the archinstall language'

result = await Selection[Language](
header=title,
Expand Down
18 changes: 16 additions & 2 deletions archinstall/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,21 @@
import time
import traceback
from pathlib import Path
from typing import override

from archinstall.lib.args import ArchConfigHandler, SubCommand
from archinstall.lib.disk.utils import disk_layouts
from archinstall.lib.general.general_menu import select_archinstall_language
from archinstall.lib.hardware import SysInfo
from archinstall.lib.log import debug, error, info, logger, share_install_log, warn
from archinstall.lib.menu.helpers import Confirmation
from archinstall.lib.network.wifi_handler import WifiHandler
from archinstall.lib.networking import ping
from archinstall.lib.packages.util import check_version_upgrade
from archinstall.lib.pacman.pacman import Pacman
from archinstall.lib.translationhandler import tr, translation_handler
from archinstall.lib.translationhandler import Language, tr, translation_handler
from archinstall.lib.utils.util import running_from_iso
from archinstall.tui.components import tui
from archinstall.tui.components import InstanceRunnable, tui
from archinstall.tui.menu_item import MenuItemGroup


Expand Down Expand Up @@ -107,6 +109,15 @@ async def _confirm() -> bool:
error(tr('Failed to upload log.'))


class LangSelect(InstanceRunnable[Language]):
@override
async def run(self) -> Language:
preset_lang = translation_handler.get_language_by_name('English')
selected_lang = await select_archinstall_language(translation_handler.translated_languages, preset_lang)
translation_handler.activate(selected_lang)
return selected_lang


def run() -> int:
"""
This can either be run as the compiled and installed application: python setup.py install
Expand Down Expand Up @@ -140,6 +151,9 @@ def run() -> int:

_log_sys_info()

# The main menu isn't shown if there's no internet, and so the user wouldn't be able to select a language if not for this.
arch_config_handler.config.archinstall_language = tui.run(LangSelect())

if not arch_config_handler.args.offline:
if not arch_config_handler.args.skip_wifi_check:
wifi_handler = WifiHandler()
Expand Down