Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib
diff options
context:
space:
mode:
Diffstat (limited to 'archinstall/lib')
-rw-r--r--archinstall/lib/menu/menu.py2
-rw-r--r--archinstall/lib/translationhandler.py25
-rw-r--r--archinstall/lib/user_interaction/general_conf.py35
3 files changed, 13 insertions, 49 deletions
diff --git a/archinstall/lib/menu/menu.py b/archinstall/lib/menu/menu.py
index 13ce8c0e..773ff1de 100644
--- a/archinstall/lib/menu/menu.py
+++ b/archinstall/lib/menu/menu.py
@@ -53,7 +53,7 @@ class Menu(TerminalMenu):
preset_values :Union[str, List[str]] = None,
cursor_index : Optional[int] = None,
preview_command: Optional[Callable] = None,
- preview_size: float = 0.75,
+ preview_size: float = 0.0,
preview_title: str = 'Info',
header :Union[List[str],str] = None,
raise_error_on_interrupt :bool = False,
diff --git a/archinstall/lib/translationhandler.py b/archinstall/lib/translationhandler.py
index 1a3ed85f..0d74f974 100644
--- a/archinstall/lib/translationhandler.py
+++ b/archinstall/lib/translationhandler.py
@@ -21,15 +21,10 @@ class Language:
translation: gettext.NullTranslations
translation_percent: int
translated_lang: Optional[str]
- external_dep: Optional[str]
@property
def display_name(self) -> str:
- if not self.external_dep and self.translated_lang:
- name = self.translated_lang
- else:
- name = self.name_en
-
+ name = self.name_en
return f'{name} ({self.translation_percent}%)'
def is_match(self, lang_or_translated_lang: str) -> bool:
@@ -48,24 +43,9 @@ class TranslationHandler:
self._base_pot = 'base.pot'
self._languages = 'languages.json'
- # check if a custom font was provided, otherwise we'll
- # use one that can display latin, greek, cyrillic characters
- if self.is_custom_font_enabled():
- self._set_font(self.custom_font_path().name)
- else:
- self._set_font('LatGrkCyr-8x16')
-
self._total_messages = self._get_total_active_messages()
self._translated_languages = self._get_translations()
- @classmethod
- def custom_font_path(cls) -> Path:
- return Path('/usr/share/kbd/consolefonts/archinstall_font.psfu.gz')
-
- @classmethod
- def is_custom_font_enabled(cls) -> bool:
- return cls.custom_font_path().exists()
-
@property
def translated_languages(self) -> List[Language]:
return self._translated_languages
@@ -84,7 +64,6 @@ class TranslationHandler:
abbr = mapping_entry['abbr']
lang = mapping_entry['lang']
translated_lang = mapping_entry.get('translated_lang', None)
- external_dep = mapping_entry.get('external_dep', False)
try:
# get a translation for a specific language
@@ -99,7 +78,7 @@ class TranslationHandler:
# prevent cases where the .pot file is out of date and the percentage is above 100
percent = min(100, percent)
- language = Language(abbr, lang, translation, percent, translated_lang, external_dep)
+ language = Language(abbr, lang, translation, percent, translated_lang)
languages.append(language)
except FileNotFoundError as error:
raise TranslationError(f"Could not locate language file for '{lang}': {error}")
diff --git a/archinstall/lib/user_interaction/general_conf.py b/archinstall/lib/user_interaction/general_conf.py
index 6365014d..efd746a4 100644
--- a/archinstall/lib/user_interaction/general_conf.py
+++ b/archinstall/lib/user_interaction/general_conf.py
@@ -4,19 +4,16 @@ import logging
import pathlib
from typing import List, Any, Optional, Dict, TYPE_CHECKING
-from ..menu.menu import MenuSelectionType
-from ..menu.text_input import TextInput
-
from ..locale_helpers import list_keyboard_languages, list_timezones
from ..menu import Menu
-from ..output import log
-from ..profiles import Profile, list_profiles
+from ..menu.menu import MenuSelectionType
+from ..menu.text_input import TextInput
from ..mirrors import list_mirrors
-
-from ..translationhandler import Language, TranslationHandler
+from ..output import log
from ..packages.packages import validate_package_list
-
+from ..profiles import Profile, list_profiles
from ..storage import storage
+from ..translationhandler import Language
if TYPE_CHECKING:
_: Any
@@ -125,21 +122,14 @@ def select_archinstall_language(languages: List[Language], preset_value: Languag
# name of the language in its own language
options = {lang.display_name: lang for lang in languages}
- def dependency_preview(current_selection: str) -> Optional[str]:
- current_lang = options[current_selection]
-
- if current_lang.external_dep and not TranslationHandler.is_custom_font_enabled():
- font_file = TranslationHandler.custom_font_path()
- text = str(_('To be able to use this translation, please install a font manually that supports the language.')) + '\n'
- text += str(_('The font should be stored as {}')).format(font_file)
- return text
- return None
+ title = 'NOTE: If a language can not displayed properly, a proper font must be set manually in the console.\n'
+ title += 'All available fonts can be found in "/usr/share/kbd/consolefonts"\n'
+ title += 'e.g. setfont LatGrkCyr-8x16 (to display latin/greek/cyrillic characters)\n'
choice = Menu(
- _('Archinstall language'),
+ title,
list(options.keys()),
default_option=preset_value.display_name,
- preview_command=lambda x: dependency_preview(x),
preview_size=0.5
).run()
@@ -147,12 +137,7 @@ def select_archinstall_language(languages: List[Language], preset_value: Languag
case MenuSelectionType.Esc:
return preset_value
case MenuSelectionType.Selection:
- language: Language = options[choice.value]
- # we have to make sure that the proper AUR dependency is
- # present to be able to use this language
- if not language.external_dep or TranslationHandler.is_custom_font_enabled():
- return language
- return select_archinstall_language(languages, preset_value)
+ return options[choice.value]
def select_profile(preset) -> Optional[Profile]: