Merge pull request #7 from ghostbsd/rework-install-station

Rework install-station to rely on itself.
This commit is contained in:
Eric Turgeon
2025-09-21 18:13:27 -03:00
committed by GitHub
97 changed files with 24427 additions and 267 deletions
+2 -2
View File
@@ -49,7 +49,6 @@ coverage.xml
# Translations
*.mo
*.pot
# Django stuff:
*.log
@@ -105,4 +104,5 @@ venv.bak/
# Editor directories and files
.vscode/
.idea/.idea
.idea
CLAUDE.md
+1 -1
View File
@@ -1,4 +1,4 @@
Copyright (c) 2020, GhostBSD
Copyright (c) 2020-2025, GhostBSD
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
+13 -2
View File
@@ -1,5 +1,16 @@
Install Station
===
It is a strip down version of gbi and it is the new installer for GhostBSD. It depend on gbi.
It is a strip down version of install-station and it is the new installer for GhostBSD.
Install Station only edit disk, partition and will install GhostBSD. Users and system setup will be done with at the first boot after installation with Setup Station
Install Station only edit disk, partition and will install GhostBSD. Users and system setup will be done with at the first boot after installation with Setup Station.
## Managing Translations
To create a translation file.
```shell
./setup.py create_translation --locale=fr
```
To update translation files
```shell
./setup.py update_translations
```
+51 -230
View File
@@ -1,242 +1,63 @@
#!/usr/local/bin/python
"""
Install Station executable module.
import sys
import os
import shutil
This is the main entry point for the Install Station GTK+ application.
It initializes all page components and sets up the main window interface.
"""
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
installer = "/usr/local/lib/gbi/"
sys.path.append(installer)
from welcome_live import Welcome
from installType import Types
from use_ufs import use_ufs
from partition import Partitions
from use_zfs import ZFS
from boot_manager import bootManager
from partition_handler import create_disk_partition_db
from install import installProgress, installWindow
from network_setup import network_setup
logo = "/usr/local/lib/gbi/image/logo.png"
tmp = "/tmp/.gbi/"
if not os.path.exists(tmp):
os.makedirs(tmp)
disk = '%sdisk' % tmp
dslice = '%sslice' % tmp
disk_schem = '%sscheme' % tmp
zfs_config = '%szfs_config' % tmp
ufs_config = '%sufs_config' % tmp
partitiondb = "%spartitiondb/" % tmp
from install_station.language import Language
from install_station.keyboard import Keyboard
from install_station.network_setup import NetworkSetup
from install_station.try_install import TryOrInstall
from install_station.install_type import InstallTypes
from install_station.custom import PartitionManager
from install_station.use_zfs import ZFS
from install_station.boot_manager import BootManager
from install_station.data import logo
from install_station.window import Window
from install_station.interface_controller import Interface, Button
class MainWindow():
"""Main window class."""
class MainWindow:
"""
Install Station main window class.
This class initializes the main GTK window and sets up all page components
for the installation wizard interface.
"""
def delete(self, widget, event=None):
"""Close the main window."""
if os.path.exists('/tmp/.gbi'):
shutil.rmtree('/tmp/.gbi')
Gtk.main_quit()
return False
def next_page(self, widget):
if self.welcome.get_what() == "install":
self.next_install_page()
else:
self.next_setup_page()
def next_install_page(self):
"""Go to the next window."""
page = self.notebook.get_current_page()
if page == 0:
typebox = Gtk.VBox(homogeneous=False, spacing=0)
typebox.show()
self.types = Types()
get_types = self.types.get_model()
typebox.pack_start(get_types, True, True, 0)
label = Gtk.Label(label="Types")
self.notebook.insert_page(typebox, label, 1)
self.notebook.next_page()
self.notebook.show_all()
self.cancel_button.show()
self.next_button.show()
elif page == 1:
create_disk_partition_db()
self.back_button.show()
if self.types.get_type() == "ufs":
udbox = Gtk.VBox(homogeneous=False, spacing=0)
udbox.show()
self.partition = use_ufs(self.next_button)
get_ud = self.partition.get_model()
udbox.pack_start(get_ud, True, True, 0)
label = Gtk.Label(label="UFS Disk Configuration")
self.notebook.insert_page(udbox, label, 2)
self.notebook.next_page()
self.notebook.show_all()
self.next_button.set_sensitive(False)
elif self.types.get_type() == "custom":
Pbox = Gtk.VBox(homogeneous=False, spacing=0)
Pbox.show()
self.partition = Partitions(self.next_button)
get_part = self.partition.get_model()
Pbox.pack_start(get_part, True, True, 0)
label = Gtk.Label(label="UFS Custom Configuration")
self.notebook.insert_page(Pbox, label, 2)
self.notebook.next_page()
self.notebook.show_all()
self.next_button.set_sensitive(False)
elif self.types.get_type() == "zfs":
Zbox = Gtk.VBox(homogeneous=False, spacing=0)
Zbox.show()
self.partition = ZFS(self.next_button)
get_ZFS = self.partition.get_model()
Zbox.pack_start(get_ZFS, True, True, 0)
label = Gtk.Label(label="ZFS Configuration")
self.notebook.insert_page(Zbox, label, 2)
self.notebook.next_page()
self.notebook.show_all()
self.next_button.set_sensitive(False)
elif page == 2:
self.partition.save_selection()
Mbox = Gtk.VBox(homogeneous=False, spacing=0)
Mbox.show()
self.bootmanager = bootManager()
get_root = self.bootmanager.get_model()
Mbox.pack_start(get_root, True, True, 0)
label = Gtk.Label(label="Boot Option")
self.notebook.insert_page(Mbox, label, 3)
self.next_button.set_label("Install")
self.notebook.next_page()
self.notebook.show_all()
self.next_button.set_sensitive(True)
elif page == 3:
Ibox = Gtk.VBox(homogeneous=False, spacing=0)
Ibox.show()
install = installWindow()
get_install = install.get_model()
Ibox.pack_start(get_install, True, True, 0)
label = Gtk.Label(label="Installation")
self.notebook.insert_page(Ibox, label, 8)
self.notebook.next_page()
instpro = installProgress(self.window)
progressBar = instpro.getProgressBar()
box1 = Gtk.VBox(homogeneous=False, spacing=0)
box1.show()
label = Gtk.Label(label="Progress Bar")
box1.pack_end(progressBar, False, False, 0)
self.nbButton.insert_page(box1, label, 4)
self.nbButton.next_page()
self.window.show_all()
def next_setup_page(self):
page = self.notebook.get_current_page()
if page == 0:
self.next_button.show()
self.next_button.set_sensitive(False)
self.window.set_title("Setup GhostBSD")
net_setup_box = Gtk.VBox(homogeneous=False, spacing=0)
net_setup_box.show()
self.net_setup = network_setup(self.next_button)
model = self.net_setup.get_model()
net_setup_box.pack_start(model, True, True, 0)
label = Gtk.Label(label="Network Setup")
self.notebook.insert_page(net_setup_box, label, 1)
self.notebook.next_page()
self.notebook.show_all()
if page == 1:
xinitrc = open('/usr/home/ghostbsd/.xinitrc', 'w')
xinitrc.writelines('gsettings set org.mate.SettingsDaemon.plugins.housekeeping active true &\n')
xinitrc.writelines('gsettings set org.mate.screensaver lock-enabled false &\n')
xinitrc.writelines('exec ck-launch-session mate-session\n')
xinitrc.close()
Gtk.main_quit()
def back_page(self, widget):
"""Go back to the previous window."""
current_page = self.notebook.get_current_page()
if current_page == 2:
self.back_button.hide()
elif current_page == 3:
self.next_button.set_label("Next")
self.notebook.prev_page()
new_page = self.notebook.get_current_page()
if current_page == 2 and new_page == 1:
if os.path.exists(partitiondb):
shutil.rmtree(partitiondb)
if os.path.exists(tmp + 'create'):
os.remove(tmp + 'create')
if os.path.exists(tmp + 'delete'):
os.remove(tmp + 'delete')
if os.path.exists(tmp + 'destroy'):
os.remove(tmp + 'destroy')
if os.path.exists(tmp + 'partlabel'):
os.remove(tmp + 'partlabel')
if os.path.exists(zfs_config):
os.remove(zfs_config)
if os.path.exists(ufs_config):
os.remove(ufs_config)
if os.path.exists(disk):
os.remove(disk)
if os.path.exists(dslice):
os.remove(dslice)
if os.path.exists(disk_schem):
os.remove(disk_schem)
self.next_button.set_sensitive(True)
def __init__(self):
"""Were the Main window start."""
self.window = Gtk.Window()
self.window.connect("delete_event", self.delete)
self.window.set_border_width(0)
self.window.set_default_size(800, 500)
self.window.set_size_request(800, 500)
self.window.set_title("Install GhostBSD")
self.window.set_border_width(0)
self.window.set_icon_from_file(logo)
mainHBox = Gtk.HBox(homogeneous=False, spacing=0)
mainHBox.show()
mainVbox = Gtk.VBox(homogeneous=False, spacing=0)
mainVbox.show()
self.window.add(mainHBox)
mainHBox.pack_start(mainVbox, True, True, 0)
self.notebook = Gtk.Notebook()
mainVbox.pack_start(self.notebook, True, True, 0)
self.notebook.show()
self.notebook.set_show_tabs(False)
self.notebook.set_show_border(False)
welcome_box = Gtk.VBox(homogeneous=False, spacing=0)
welcome_box.show()
self.welcome = Welcome(self.next_install_page, self.next_setup_page)
get_types = self.welcome.get_model()
welcome_box.pack_start(get_types, True, True, 0)
label = Gtk.Label(label="Welcome")
self.notebook.insert_page(welcome_box, label, 0)
# Set what page to start at type of installation
self.notebook.set_current_page(0)
self.table = Gtk.Table(n_rows=1, n_columns=6, homogeneous=True)
self.back_button = Gtk.Button(label='Back')
self.back_button.connect("clicked", self.back_page)
self.table.attach(self.back_button, 3, 4, 0, 1)
self.cancel_button = Gtk.Button(label='Cancel')
self.cancel_button.connect("clicked", self.delete)
self.table.attach(self.cancel_button, 4, 5, 0, 1)
self.next_button = Gtk.Button(label='Next')
self.next_button.connect("clicked", self.next_page)
self.table.attach(self.next_button, 5, 6, 0, 1)
self.table.set_col_spacings(5)
self.table.show()
self.nbButton = Gtk.Notebook()
mainVbox.pack_end(self.nbButton, False, False, 5)
self.nbButton.show()
self.nbButton.set_show_tabs(False)
self.nbButton.set_show_border(False)
label = Gtk.Label(label="Button")
self.nbButton.insert_page(self.table, label, 0)
self.window.show_all()
self.back_button.hide()
self.cancel_button.hide()
self.next_button.hide()
def __init__(self) -> None:
"""
Initialize the Install Station main window.
Sets up page assignments to Interface class, configures the main window
properties, and creates the main interface layout.
"""
Interface.welcome = Language
Interface.keyboard = Keyboard
Interface.network_setup = NetworkSetup
Interface.try_install = TryOrInstall
Interface.installation_type = InstallTypes
Interface.custom_partition = PartitionManager
Interface.full_zfs = ZFS
Interface.boot_manager = BootManager
Window.connect("delete_event", Interface.delete)
Window.set_border_width(0)
Window.set_default_size(800, 500)
Window.set_size_request(800, 500)
Window.set_title("Install GhostBSD")
Window.set_border_width(0)
Window.set_icon_from_file(logo)
main_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=0)
main_box.show()
Window.add(main_box)
main_box.pack_start(Interface.get_interface(), True, True, 0)
Window.show_all()
Button.show_initial()
MainWindow()
+14
View File
@@ -0,0 +1,14 @@
"""
Install Station Package.
A streamlined installer for GhostBSD providing a GTK+ interface
for disk partitioning and OS installation.
This package contains all the modules needed for the installation wizard
including language selection, keyboard configuration, network setup,
and filesystem management.
"""
__version__ = "0.1"
__author__ = "Eric Turgeon"
__license__ = "BSD"
+214
View File
@@ -0,0 +1,214 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk
from install_station.partition import bios_or_uefi
from install_station.data import InstallationData, get_text
cssProvider = Gtk.CssProvider()
cssProvider.load_from_path('/usr/local/lib/install-station/ghostbsd-style.css')
screen = Gdk.Screen.get_default()
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(
screen,
cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
class BootManager:
"""
Utility class for managing boot manager selection in GhostBSD installation following the utility class pattern.
This class provides a GTK+ interface for selecting and configuring boot managers
including rEFInd, FreeBSD boot manager, and native UEFI/BIOS loaders. The class
automatically determines available options based on the partition scheme (GPT/MBR)
and firmware type (UEFI/BIOS).
Available boot manager options:
- rEFInd: Available only for GPT + UEFI configurations
- FreeBSD boot manager: Available only for MBR partition schemes
- Native loader: Default option, always available (UEFI or BIOS loader)
The class follows a utility pattern with class methods and variables for state management,
designed to integrate with the InstallationData system for configuration persistence.
"""
# Class variables for state management
boot = None
vbox1 = None
# UI elements as class variables
refind = None
bsd = None
none = None
box3 = None
@classmethod
def get_model(cls):
"""
Return the GTK widget model for the boot manager interface.
Creates and initializes the UI if it doesn't exist yet.
Returns:
Gtk.Box: The main container widget for the boot manager interface
"""
if cls.vbox1 is None:
cls.initialize()
return cls.vbox1
@classmethod
def boot_manager_selection(cls, _radiobutton, val: str):
"""
Handle boot manager selection from radio buttons.
Called when a radio button is toggled to update the selected boot manager
option and store it in both the class variable and InstallationData.
Args:
_radiobutton: The radio button widget that was toggled (unused)
val: The boot manager value ('refind', 'bsd', or 'none')
"""
cls.boot = val
InstallationData.boot = cls.boot
@classmethod
def get_boot_manager_option(cls):
"""
Get the currently selected boot manager option.
Returns the boot manager value from InstallationData if available,
otherwise falls back to the class variable.
Returns:
str: The selected boot manager ('refind', 'bsd', or 'none')
"""
return InstallationData.boot or cls.boot
@classmethod
def initialize(cls):
"""
Initialize the boot manager user interface following the utility class pattern.
Creates the GTK+ interface for boot manager selection including:
- Title header ("Boot Option")
- Radio button group for boot manager options
- Automatic option availability based on partition scheme and firmware type
- Default selection of native loader option
The interface adapts based on:
- Firmware type (UEFI/BIOS) detected from system
- Partition scheme (GPT/MBR) from installation configuration
- rEFInd: Only available for GPT + UEFI
- FreeBSD boot manager: Only available for MBR
- Native loader: Always available as default
This method is called automatically by get_model() when the interface is first accessed.
"""
cls.vbox1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.vbox1.show()
# Determine firmware type
if bios_or_uefi() == "UEFI":
loader = "UEFI"
else:
loader = "BIOS"
# Get partition scheme from InstallationData
scheme = cls._get_partition_scheme()
# Create title header
title = Gtk.Label(label=get_text('Boot Option'), name="Header")
title.set_property("height-request", 50)
cls.vbox1.pack_start(title, False, False, 0)
# Create main horizontal container
hbox1 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=0)
hbox1.show()
cls.vbox1.pack_start(hbox1, True, True, 10)
# Create vertical box for radio buttons
bbox1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
bbox1.show()
# rEFInd boot manager option
cls.refind = Gtk.RadioButton(label=get_text("Setup rEFInd boot manager"))
bbox1.pack_start(cls.refind, False, True, 10)
cls.refind.connect("toggled", cls.boot_manager_selection, "refind")
cls.refind.show()
# Enable rEFInd only for GPT + UEFI
if scheme == 'GPT' and loader == "UEFI":
cls.refind.set_sensitive(True)
else:
cls.refind.set_sensitive(False)
# FreeBSD boot manager option
cls.bsd = Gtk.RadioButton.new_with_label_from_widget(
cls.refind,
get_text("Setup FreeBSD boot manager")
)
bbox1.pack_start(cls.bsd, False, True, 10)
cls.bsd.connect("toggled", cls.boot_manager_selection, "bsd")
cls.bsd.show()
# Enable FreeBSD boot manager only for MBR
if scheme == 'MBR':
cls.bsd.set_sensitive(True)
else:
cls.bsd.set_sensitive(False)
# Native loader option (always available)
cls.none = Gtk.RadioButton.new_with_label_from_widget(
cls.bsd,
get_text("FreeBSD {loader} loader only").format(loader=loader)
)
bbox1.pack_start(cls.none, False, True, 10)
cls.none.connect("toggled", cls.boot_manager_selection, "none")
cls.none.show()
# Add radio button container to main layout
hbox1.pack_start(bbox1, False, False, 50)
# Set default selection
cls.none.set_active(True)
cls.boot = "none"
InstallationData.boot = cls.boot
# Create additional container for future expansion
cls.box3 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.box3.set_border_width(0)
cls.vbox1.pack_start(cls.box3, True, True, 0)
@classmethod
def _get_partition_scheme(cls):
"""
Determine the partition scheme from installation configuration data.
Checks ZFS and UFS configuration data, then falls back to InstallationData.scheme
or defaults to GPT if no scheme is found.
Returns:
str: The partition scheme ('GPT' or 'MBR')
"""
# Check ZFS config data for scheme
if InstallationData.zfs_config_data:
scheme_line = next((line for line in InstallationData.zfs_config_data if 'partscheme=' in line), '')
if scheme_line:
return scheme_line.split('=')[1].strip()
# Check UFS config data for scheme
if InstallationData.ufs_config_data:
scheme_line = next((line for line in InstallationData.ufs_config_data if 'partscheme=' in line), '')
if scheme_line:
return scheme_line.split('=')[1].strip()
# Use scheme from InstallationData or default to GPT
if InstallationData.scheme:
# Handle both 'partscheme=GPT' and 'GPT' formats
if 'partscheme=' in InstallationData.scheme:
return InstallationData.scheme.split('=')[1].strip()
else:
return InstallationData.scheme.strip()
return 'GPT' # Default fallback
+194
View File
@@ -0,0 +1,194 @@
"""
Common utility functions for Install Station.
This module provides various utility functions including password strength
checking, text validation, and deprecation decorators.
"""
import re
import warnings
from install_station.data import get_text
def lower_case(text: str) -> bool:
"""
Find if password contain only lower case.
:param text: password
:return: True if password contain only lower case
"""
search = re.compile(r'[^a-z]').search
return not bool(search(text))
# Find if password contain only upper case
def upper_case(text: str) -> bool:
"""
Find if password contain only upper case.
:param text: password
:return: True if password contain only upper case
"""
search = re.compile(r'[^A-Z]').search
return not bool(search(text))
# Find if password contain only lower case and number
def lower_and_number(text: str) -> bool:
"""
Find if password contain only lower case and number.
:param text: password
:return: True if password contain only lower case and number
"""
search = re.compile(r'[^a-z0-9]').search
return not bool(search(text))
# Find if password contain only upper case and number
def upper_and_number(text: str) -> bool:
"""
Find if password contain only upper case and number.
:param text: password
:return: True if password contain only upper case and number
"""
search = re.compile(r'[^A-Z0-9]').search
return not bool(search(text))
# Find if password contain only lower and upper case and
def lower_upper(text: str) -> bool:
"""
Find if password contain only lower and upper case and
:param text: password
:return: True if password contain only lower and upper case and
"""
search = re.compile(r'[^a-zA-Z]').search
return not bool(search(text))
def lower_upper_number(text: str) -> bool:
"""
Find if password contains only lowercase, uppercase letters and numbers.
Args:
text: password to check
Returns:
True if password contains only lowercase, uppercase letters and numbers
"""
search = re.compile(r'[^a-zA-Z0-9]').search
return not bool(search(text))
# Find if password contain only lowercase, uppercase numbers
# and some special character.
def all_character(text: str) -> bool:
"""
Find if password contain only lowercase, uppercase numbers
and some special character.
:param text: password
:return: True if password contain only lowercase, uppercase numbers
and some special character.
"""
search = re.compile(r'[^a-zA-Z0-9~!@#$%^&*_+":;\'-]').search
return not bool(search(text))
def password_strength(password: str, label3) -> None:
"""
Evaluate and display password strength.
Args:
password: The password to evaluate
label3: GTK Label widget to display strength result
"""
same_character_type = any(
[
lower_case(password),
upper_case(password),
password.isdigit()
]
)
mix_character = any(
[
lower_and_number(password),
upper_and_number(password),
lower_upper(password)
]
)
if ' ' in password or '\t' in password:
label3.set_text(get_text("Space not allowed"))
elif len(password) <= 4:
label3.set_text(get_text("Super Weak"))
elif len(password) <= 8 and same_character_type:
label3.set_text(get_text("Super Weak"))
elif len(password) <= 8 and mix_character:
label3.set_text(get_text("Very Weak"))
elif len(password) <= 8 and lower_upper_number(password):
label3.set_text(get_text("Fairly Weak"))
elif len(password) <= 8 and all_character(password):
label3.set_text(get_text("Weak"))
elif len(password) <= 12 and same_character_type:
label3.set_text(get_text("Very Weak"))
elif len(password) <= 12 and mix_character:
label3.set_text(get_text("Fairly Weak"))
elif len(password) <= 12 and lower_upper_number(password):
label3.set_text(get_text("Weak"))
elif len(password) <= 12 and all_character(password):
label3.set_text(get_text("Strong"))
elif len(password) <= 16 and same_character_type:
label3.set_text(get_text("Fairly Weak"))
elif len(password) <= 16 and mix_character:
label3.set_text(get_text("Weak"))
elif len(password) <= 16 and lower_upper_number(password):
label3.set_text(get_text("Strong"))
elif len(password) <= 16 and all_character(password):
label3.set_text(get_text("Fairly Strong"))
elif len(password) <= 20 and same_character_type:
label3.set_text(get_text("Weak"))
elif len(password) <= 20 and mix_character:
label3.set_text(get_text("Strong"))
elif len(password) <= 20 and lower_upper_number(password):
label3.set_text(get_text("Fairly Strong"))
elif len(password) <= 20 and all_character(password):
label3.set_text(get_text("Very Strong"))
elif len(password) <= 24 and same_character_type:
label3.set_text(get_text("Strong"))
elif len(password) <= 24 and mix_character:
label3.set_text(get_text("Fairly Strong"))
elif len(password) <= 24 and lower_upper_number(password):
label3.set_text(get_text("Very Strong"))
elif len(password) <= 24 and all_character(password):
label3.set_text(get_text("Super Strong"))
elif same_character_type:
label3.set_text(get_text("Fairly Strong"))
else:
label3.set_text(get_text("Super Strong"))
def deprecated(*, version: str, reason: str):
"""
Decorator to mark functions as deprecated.
Args:
version: Version when function was deprecated
reason: Reason for deprecation
Returns:
Decorator function that adds deprecation warnings
"""
def decorator(func):
def wrapper(*args, **kwargs):
warnings.warn(
f"{func.__name__} is deprecated (version {version}): {reason}",
category=DeprecationWarning,
stacklevel=2
)
return func(*args, **kwargs)
wrapper.__name__ = func.__name__
wrapper.__doc__ = func.__doc__
return wrapper
return decorator
+167
View File
@@ -0,0 +1,167 @@
from install_station.data import InstallationData, installation_config
class Configuration:
"""
Utility class for creating and validating GhostBSD installation configuration files.
This class provides methods to generate the ghostbsd_installation.cfg file
used by the GhostBSD installer and validate all required installation data
before configuration file creation.
The class follows a utility pattern with class methods for stateless operations,
designed to integrate with the InstallationData system for configuration management.
"""
@classmethod
def sanity_check(cls):
"""
Perform sanity checks on all installation data used by create_cfg.
Validates that all required installation parameters are present and valid
before attempting to create the configuration file.
Returns:
tuple: (bool, list) - (is_valid, list_of_errors)
is_valid: True if all checks pass, False otherwise
list_of_errors: List of error messages describing validation failures
"""
errors = []
# Check basic installation data
if not hasattr(InstallationData, 'boot') or not InstallationData.boot:
errors.append("Boot manager not specified")
elif InstallationData.boot not in ['refind', 'grub', 'none']:
errors.append(f"Invalid boot manager: {InstallationData.boot}")
# Check ZFS configuration path
if InstallationData.zfs_config_data:
if not isinstance(InstallationData.zfs_config_data, list):
errors.append("ZFS config data is not a list")
else:
# Check for required ZFS configuration elements
has_partscheme = any('partscheme' in str(line) for line in InstallationData.zfs_config_data)
if not has_partscheme:
errors.append("ZFS config missing partition scheme")
has_disk = any('disk0=' in str(line) for line in InstallationData.zfs_config_data)
if not has_disk:
errors.append("ZFS config missing disk specification")
else:
# Check custom partition configuration path
if not hasattr(InstallationData, 'disk') or not InstallationData.disk:
errors.append("Disk not specified for custom partitioning")
if not hasattr(InstallationData, 'slice') or not InstallationData.slice:
errors.append("Partition slice not specified")
if not hasattr(InstallationData, 'scheme') or not InstallationData.scheme:
errors.append("Partition scheme not specified")
elif InstallationData.scheme not in ['partscheme=GPT', 'partscheme=MBR']:
errors.append(f"Invalid partition scheme: {InstallationData.scheme}")
if not hasattr(InstallationData, 'new_partition') or not InstallationData.new_partition:
errors.append("No partitions defined for custom partitioning")
elif not isinstance(InstallationData.new_partition, list):
errors.append("Partition data is not a list")
# Check installation config file path
if not installation_config:
errors.append("Installation config file path not defined")
return len(errors) == 0, errors
@classmethod
def create_cfg(cls):
"""
Create the ghostbsd_installation.cfg file to install GhostBSD.
Generates the configuration file used by the GhostBSD installer based on
data stored in InstallationData. Supports both ZFS and custom partitioning
configurations.
The configuration includes:
- Installation mode and type settings
- Disk and partition configuration
- Boot manager setup
- Network configuration
- First boot preparation commands
Raises:
ValueError: If sanity check fails, indicating invalid configuration data
IOError: If unable to write to the configuration file
"""
# Perform sanity check before creating configuration
is_valid, errors = cls.sanity_check()
if not is_valid:
error_msg = "Configuration validation failed:\n" + "\n".join(f"- {error}" for error in errors)
raise ValueError(error_msg)
try:
with open(installation_config, 'w') as f:
# Installation Mode
f.write('# Installation Mode\n')
f.write('installMode=fresh\n')
f.write('installInteractive=no\n')
f.write('installType=GhostBSD\n')
f.write('installMedium=livezfs\n')
f.write('packageType=livezfs\n')
if InstallationData.zfs_config_data:
# ZFS Configuration Path
for line in InstallationData.zfs_config_data:
if 'partscheme' in line:
f.write(line)
boot = InstallationData.boot
if boot == 'refind':
f.write('bootManager=none\n')
f.write(f'efiLoader={boot}\n')
else:
f.write(f'bootManager={boot}\n')
f.write('efiLoader=none\n')
else:
f.write(line)
else:
# Custom Partition Configuration Path
d_output = InstallationData.disk
f.write('\n# Disk Setup\n')
f.write('ashift=12\n')
f.write(f'disk0={d_output}\n')
# Partition Slice.
f.write(f'partition={InstallationData.slice}\n')
# Boot Menu
boot = InstallationData.boot
if boot == 'refind':
f.write('bootManager=none\n')
f.write(f'efiLoader={boot}\n')
else:
f.write(f'bootManager={boot}\n')
f.write('efiLoader=none\n')
f.write(f'{InstallationData.scheme}\n')
f.write('commitDiskPart\n')
# Partition Setup
f.write('\n# Partition Setup\n')
for line in InstallationData.new_partition:
if 'BOOT' in line or 'BIOS' in line or 'UEFI' in line:
pass
else:
f.write(f'disk0-part={line.strip()}\n')
f.write('commitDiskLabel\n')
# Network Configuration
f.write('\n# Network Configuration\n')
f.write('hostname=installed\n')
# First Boot Preparation Commands
f.write('\n# command to prepare first boot\n')
f.write("runCommand=sysrc hostname='installed'\n")
f.write("runCommand=pw userdel -n ghostbsd -r\n")
f.write("runCommand=sed -i '' 's/ghostbsd/root/g' /etc/gettytab\n")
f.write("runCommand=sed -i '' 's/ghostbsd/root/g' /etc/ttys\n")
f.write("runCommand=mv /usr/local/etc/devd/automount_devd"
".conf.skip /usr/local/etc/devd/automount_devd.conf\n")
f.write("runCommand=mv /usr/local/etc/devd/automount_devd"
"_localdisks.conf.skip /usr/local/etc/devd/"
"automount_devd_localdisks.conf\n")
except IOError as e:
raise IOError(f"Failed to write configuration file: {e}")
+883
View File
@@ -0,0 +1,883 @@
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('Gdk', '3.0')
from gi.repository import Gtk, Gdk
from install_station.partition import (
DiskPartition,
DeletePartition,
bios_or_uefi,
CreateSlice,
AutoFreeSpace,
CreatePartition,
CreateLabel
)
from install_station.data import InstallationData, logo, get_text
from install_station.interface_controller import Button
bios_type = bios_or_uefi()
cssProvider = Gtk.CssProvider()
cssProvider.load_from_path('/usr/local/lib/install-station/ghostbsd-style.css')
screen = Gdk.Screen.get_default()
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(
screen,
cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
class PartitionManager:
"""
Utility class for partition management operations following the pattern of InstallTypes and ZFS.
This class provides a GTK+ interface for managing disk partitions including creating,
deleting, and configuring partitions with support for both GPT and MBR schemes.
Supports ZFS, UFS, SWAP, BOOT, and UEFI filesystem types.
The class follows a utility pattern with class methods and variables for state management,
designed to integrate with the InstallationData system for configuration persistence.
"""
# Class variables for state management
fs = None
mount_point = None
window = None
efi_exist = True
fs_behind = None
disk_index = None
path = None
disk = None
vbox1 = None
scheme = 'GPT'
size = None
slice = None
label = None
mount_point_behind = None
change_schemes = False
iter = None
store = None
treeview = None
tree_selection = None
# UI elements as class variables
create_bt = None
delete_bt = None
revert_bt = None
auto_bt = None
fs_type = None
entry = None
mount_point_box = None
@classmethod
def set_fs(cls, widget):
"""
Set the filesystem type from a ComboBoxText widget selection.
Args:
widget: GTK ComboBoxText widget containing filesystem type options
"""
cls.fs = widget.get_active_text()
@classmethod
def get_mount_point(cls, widget):
"""
Get the mount point from a ComboBoxText widget selection.
Args:
widget: GTK ComboBoxText widget containing mount point options
"""
cls.mount_point = widget.get_active_text()
@classmethod
def get_model(cls):
"""
Return the GTK widget model for the partition manager.
Creates and initializes the UI if it doesn't exist yet.
Returns:
Gtk.Box: The main container widget for the partition manager interface
"""
if cls.vbox1 is None:
cls.initialize()
return cls.vbox1
@classmethod
def initialize(cls):
"""
Initialize the partition manager UI following the utility class pattern.
Creates the main interface including the partition tree view, control buttons,
and sets up the partition database. This method is called automatically
by get_model() when the interface is first accessed.
"""
DiskPartition.create_partition_database()
cls.vbox1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.vbox1.show()
# Scrolled window for partition tree
sw = Gtk.ScrolledWindow(hexpand=True, vexpand=True)
sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
cls.store = Gtk.TreeStore(str, str, str, str, bool)
cls.tree_store()
cls.treeview = Gtk.TreeView()
cls.treeview.set_model(cls.store)
cls.treeview.set_rules_hint(True)
# Setup columns
cls._setup_columns()
cls.treeview.set_reorderable(True)
cls.treeview.expand_all()
cls.tree_selection = cls.treeview.get_selection()
cls.tree_selection.set_mode(Gtk.SelectionMode.SINGLE)
cls.tree_selection.connect("changed", cls.partition_selection)
sw.add(cls.treeview)
sw.show()
cls.vbox1.pack_start(sw, True, True, 0)
# Button box
hbox1 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=0)
hbox1.set_border_width(10)
cls.vbox1.pack_start(hbox1, False, False, 0)
hbox1.show()
cls.scheme = 'GPT'
hbox1.pack_start(cls.delete_create_button(), False, False, 10)
@classmethod
def _setup_columns(cls):
"""
Setup treeview columns for the partition display.
Creates columns for Partition, Size(MB), Mount Point, and System/Type
with appropriate widths and header labels.
"""
columns_config = [
('Partition', 0, 150),
('Size(MB)', 1, 150),
('Mount Point', 2, 150),
('System/Type', 3, 150)
]
for i, (title, text_col, width) in enumerate(columns_config):
cell = Gtk.CellRendererText()
column = Gtk.TreeViewColumn(None, cell, text=text_col)
column_header = Gtk.Label(label=title)
column_header.set_use_markup(True)
column_header.show()
column.set_widget(column_header)
column.set_resizable(True)
column.set_fixed_width(width)
if i == 0:
column.set_sort_column_id(0)
cls.treeview.append_column(column)
@classmethod
def tree_store(cls):
"""
Populate the tree store with disk and partition information from the disk database.
Creates a hierarchical tree structure showing:
- Disks (top level)
- Partitions/slices (second level)
- Labels/partitions (third level)
Each level displays relevant information like size, mount points, and filesystem types.
Returns:
Gtk.TreeStore: The populated tree store model
"""
cls.store.clear()
disk_db = DiskPartition.get_disk_database()
cls.disk_index = list(disk_db.keys())
for disk in disk_db:
disk_info = disk_db[disk]
disk_scheme = disk_info['scheme']
mount_point = ''
disk_size = str(disk_info['size'])
disk_partitions = disk_info['partitions']
partition_list = disk_info['partition-list']
pinter1 = cls.store.append(None, [disk, disk_size, mount_point,
disk_scheme, True])
for partition in partition_list:
partition_info = disk_partitions[partition]
file_system = partition_info['file-system']
mount_point = partition_info['mount-point']
partition_size = str(partition_info['size'])
partition_partitions = partition_info['partitions']
label_list = partition_info['partition-list']
pinter2 = cls.store.append(pinter1, [partition, partition_size, mount_point, file_system, True])
for label in label_list:
label_info = partition_partitions[label]
file_system = label_info['file-system']
label_mount_point = label_info['mount-point']
label_size = str(label_info['size'])
cls.store.append(pinter2, [label, label_size, label_mount_point, file_system, True])
return cls.store
@classmethod
def update(cls):
"""
Update the treeview after partition operations.
Refreshes the partition tree display, expands all rows, and attempts
to restore the previously selected row if it still exists.
"""
old_path = cls.path
cls.tree_store()
cls.treeview.expand_all()
if old_path:
cls.treeview.row_activated(old_path, cls.treeview.get_columns()[0])
cls.treeview.set_cursor(old_path)
@classmethod
def delete_create_button(cls):
"""
Create the button toolbar for partition operations.
Creates a horizontal box containing Create, Delete, Revert, and Auto buttons
for partition management operations.
Returns:
Gtk.Box: Container with partition operation buttons
"""
bbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=True, spacing=10)
bbox.set_border_width(5)
bbox.set_spacing(10)
cls.create_bt = Gtk.Button(label=get_text("Create"))
cls.create_bt.connect("clicked", cls.create_partition)
cls.create_bt.set_sensitive(False)
bbox.pack_start(cls.create_bt, True, True, 0)
cls.delete_bt = Gtk.Button(label=get_text("Delete"))
cls.delete_bt.connect("clicked", cls.delete_partition)
cls.delete_bt.set_sensitive(False)
bbox.pack_start(cls.delete_bt, True, True, 0)
cls.revert_bt = Gtk.Button(label=get_text("Revert"))
cls.revert_bt.connect("clicked", cls.revert_change)
cls.revert_bt.set_sensitive(False)
bbox.pack_start(cls.revert_bt, True, True, 0)
cls.auto_bt = Gtk.Button(label=get_text("Auto"))
cls.auto_bt.connect("clicked", cls.auto_partition)
cls.auto_bt.set_sensitive(False)
bbox.pack_start(cls.auto_bt, True, True, 0)
return bbox
@classmethod
def on_add_label(cls, _widget, entry, free_space, path):
"""
Handle adding a new label/partition in MBR scheme.
Args:
_widget: The button widget (unused)
entry: SpinButton containing the partition size
free_space: Available space in MB
path: TreePath indicating the parent location
"""
create_size = entry.get_value_as_int()
left_size = free_space - create_size
CreateLabel(path, cls.disk, cls.slice, left_size, create_size,
cls.mount_point, cls.fs)
cls.window.hide()
cls.update()
@classmethod
def on_add_partition(cls, _widget, entry, free_space, path):
"""
Handle adding a new partition in GPT scheme.
Args:
_widget: The button widget (unused)
entry: SpinButton containing the partition size
free_space: Available space in MB
path: TreePath indicating the parent location
"""
create_size = entry.get_value_as_int()
left_size = int(free_space - create_size)
CreatePartition(path, cls.disk, left_size, create_size,
cls.mount_point, cls.fs)
cls.window.hide()
cls.update()
@classmethod
def cancel(cls, _widget):
"""
Cancel the current partition operation and close the dialog.
Args:
_widget: The cancel button widget (unused)
"""
cls.window.hide()
cls.update()
@classmethod
def label_editor(cls, path, size, scheme):
"""
Open the partition/label editor dialog.
Creates a dialog window for configuring a new partition with options for
filesystem type, size, and mount point based on the partitioning scheme.
Args:
path: TreePath indicating where to create the partition
size: Available free space in MB
scheme: Partitioning scheme ('GPT' or 'MBR')
"""
free_space = int(size)
cls.window = Gtk.Window()
cls.window.set_title(title=get_text("Add Partition"))
cls.window.set_border_width(0)
cls.window.set_size_request(480, 200)
cls.window.set_icon_from_file(logo)
box1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.window.add(box1)
box1.show()
box2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=10)
box2.set_border_width(10)
box1.pack_start(box2, True, True, 0)
box2.show()
# Create partition configuration table
table = Gtk.Table(1, 2, True)
label1 = Gtk.Label(label=get_text("Type:"))
label2 = Gtk.Label(label=get_text("Size(MB):"))
label3 = Gtk.Label(label=get_text("Mount point:"))
cls.fs_type = Gtk.ComboBoxText()
cls.fs_type.append_text('ZFS')
cls.fs_type.append_text('SWAP')
cls.fs_type.append_text('UFS') # Add UFS option
# Set filesystem options based on scheme and existing partitions
if scheme == 'GPT':
if bios_type == "UEFI":
cls.fs_type.append_text("UEFI")
if cls.efi_exist is False:
cls.fs_type.set_active(3) # UEFI
cls.fs = "UEFI"
elif cls.mount_point_behind == "/" or cls.fs_behind == "ZFS":
cls.fs_type.set_active(1) # SWAP
cls.fs = "SWAP"
else:
cls.fs_type.set_active(0) # ZFS
cls.fs = "ZFS"
else:
cls.fs_type.append_text("BOOT")
if not InstallationData.new_partition:
cls.fs_type.set_active(4) # BOOT
cls.fs = "BOOT"
elif len(InstallationData.new_partition) == 0:
cls.fs_type.set_active(4) # BOOT
cls.fs = "BOOT"
elif cls.mount_point_behind == "/" or cls.fs_behind == "ZFS":
cls.fs_type.set_active(1) # SWAP
cls.fs = "SWAP"
else:
cls.fs_type.set_active(0) # ZFS
cls.fs = "ZFS"
elif cls.mount_point_behind == "/" or cls.fs_behind == "ZFS":
cls.fs_type.set_active(1) # SWAP
cls.fs = "SWAP"
else:
cls.fs_type.set_active(0) # ZFS
cls.fs = "ZFS"
cls.fs_type.connect("changed", cls.set_fs)
# Size spinner
adj = Gtk.Adjustment(free_space, 0, free_space, 1, 100, 0)
cls.entry = Gtk.SpinButton(adjustment=adj, numeric=True)
cls.entry.set_editable(True)
# Mount point selection
cls.mount_point_box = Gtk.ComboBoxText()
cls.mount_point = "none"
cls.mount_point_box.append_text('none')
cls.mount_point_box.append_text('/')
if InstallationData.new_partition:
if scheme == 'GPT' and len(InstallationData.new_partition) == 1:
cls.mount_point_box.append_text('/boot')
elif scheme == 'MBR' and len(InstallationData.new_partition) == 0:
cls.mount_point_box.append_text('/boot')
elif scheme == 'MBR' and not InstallationData.new_partition:
cls.mount_point_box.append_text('/boot')
cls.mount_point_box.append_text('/etc')
cls.mount_point_box.append_text('/root')
cls.mount_point_box.append_text('/tmp')
cls.mount_point_box.append_text('/usr')
cls.mount_point_box.append_text('/home')
cls.mount_point_box.append_text('/var')
cls.mount_point_box.set_active(0)
# Enable mount point selection for UFS
if 'UFS' in cls.fs:
cls.mount_point_box.set_sensitive(True)
else:
cls.mount_point_box.set_sensitive(False)
cls.mount_point_box.connect("changed", cls.get_mount_point)
# Add to table
table.attach(label1, 0, 1, 1, 2)
table.attach(cls.fs_type, 1, 2, 1, 2)
table.attach(label2, 0, 1, 2, 3)
table.attach(cls.entry, 1, 2, 2, 3)
table.attach(label3, 0, 1, 3, 4)
table.attach(cls.mount_point_box, 1, 2, 3, 4)
box2.pack_start(table, False, False, 0)
# Buttons
box2 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=10)
box2.set_border_width(5)
box1.pack_start(box2, False, True, 0)
box2.show()
bbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=True, spacing=10)
bbox.set_border_width(5)
bbox.set_spacing(10)
button = Gtk.Button(stock=Gtk.STOCK_CANCEL)
button.connect("clicked", cls.cancel)
bbox.pack_start(button, True, True, 0)
button = Gtk.Button(stock=Gtk.STOCK_ADD)
if scheme == 'MBR':
button.connect(
"clicked", cls.on_add_label, cls.entry, free_space, path
)
elif scheme == 'GPT' and cls.fs == 'BOOT':
button.connect(
"clicked", cls.on_add_partition, cls.entry, free_space, path
)
elif scheme == 'GPT' and cls.fs == 'UEFI' and cls.efi_exist is False:
button.connect(
"clicked", cls.on_add_partition, cls.entry, free_space, path
)
else:
button.connect(
"clicked", cls.on_add_partition, cls.entry, free_space, path
)
bbox.pack_start(button, True, True, 0)
box2.pack_end(bbox, True, True, 5)
cls.window.show_all()
@classmethod
def scheme_selection(cls, combobox):
"""
Handle partition scheme selection from combo box.
Args:
combobox: ComboBox widget containing scheme options
"""
model = combobox.get_model()
index = combobox.get_active()
data = model[index][0]
value = data.partition(':')[0]
cls.scheme = value
@classmethod
def add_gpt_mbr(cls, _widget):
"""
Apply the selected partition scheme to the disk.
Args:
_widget: The add button widget (unused)
"""
DiskPartition.set_disk_scheme(cls.scheme, cls.disk, cls.size)
cls.update()
cls.window.hide()
@classmethod
def scheme_editor(cls):
"""
Create a partition scheme editor window.
Opens a dialog allowing the user to select between GPT and MBR
partition schemes for the selected disk.
"""
cls.window = Gtk.Window()
cls.window.set_title(get_text("Partition Scheme"))
cls.window.set_border_width(0)
cls.window.set_size_request(400, 150)
cls.window.set_icon_from_file(logo)
box1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.window.add(box1)
box1.show()
box2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=10)
box2.set_border_width(10)
box1.pack_start(box2, True, True, 0)
box2.show()
# Creating MBR or GPT drive
label = Gtk.Label(label='<b>Select a partition scheme for this drive:</b>')
label.set_use_markup(True)
# Adding a combo box to selecting MBR or GPT scheme.
cls.scheme = 'GPT'
scheme_box = Gtk.ComboBoxText()
scheme_box.append_text(get_text("GPT: GUID Partition Table"))
scheme_box.append_text(get_text("MBR: DOS Partition"))
scheme_box.connect('changed', cls.scheme_selection)
scheme_box.set_active(0)
table = Gtk.Table(1, 2, True)
table.attach(label, 0, 2, 0, 1)
table.attach(scheme_box, 0, 2, 1, 2)
box2.pack_start(table, False, False, 0)
box2 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=10)
box2.set_border_width(5)
box1.pack_start(box2, False, True, 0)
box2.show()
# Add create_scheme button
bbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=True, spacing=10)
bbox.set_border_width(5)
bbox.set_spacing(10)
button = Gtk.Button(stock=Gtk.STOCK_ADD)
button.connect("clicked", cls.add_gpt_mbr)
bbox.pack_start(button, True, True, 0)
box2.pack_end(bbox, True, True, 5)
cls.window.show_all()
@classmethod
def get_value(cls, _widget, entry):
"""
Handle slice creation from the slice editor dialog.
Gets the partition size from the entry widget and creates a new slice
in the MBR partition table.
Args:
_widget: The add button widget (unused)
entry: SpinButton containing the partition size
"""
partition_size = int(entry.get_value_as_int())
rs = int(cls.size) - partition_size
CreateSlice(partition_size, rs, cls.path, cls.disk)
cls.update()
cls.window.hide()
@classmethod
def slice_editor(cls):
"""
Create a window for editing partition slices in MBR scheme.
Opens a dialog for creating a new slice partition with size configuration.
Used specifically for MBR partitioning scheme.
"""
free_space = int(cls.size)
cls.window = Gtk.Window()
cls.window.set_title(get_text("Add Partition"))
cls.window.set_border_width(0)
cls.window.set_size_request(400, 150)
cls.window.set_icon_from_file(logo)
box1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.window.add(box1)
box1.show()
box2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=10)
box2.set_border_width(10)
box1.pack_start(box2, True, True, 0)
box2.show()
# Create Partition slice
table = Gtk.Table(1, 2, True)
label1 = Gtk.Label(label=get_text("Size(MB):"))
adj = Gtk.Adjustment(free_space, 0, free_space, 1, 100, 0)
cls.entry = Gtk.SpinButton(adjustment=adj, numeric=True)
cls.entry.set_numeric(True)
table.attach(label1, 0, 1, 1, 2)
table.attach(cls.entry, 1, 2, 1, 2)
box2.pack_start(table, False, False, 0)
box2 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=10)
box2.set_border_width(5)
box1.pack_start(box2, False, True, 0)
box2.show()
# Add button
bbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=True, spacing=10)
bbox.set_border_width(5)
bbox.set_spacing(10)
button = Gtk.Button(stock=Gtk.STOCK_CANCEL)
button.connect("clicked", cls.cancel)
bbox.pack_start(button, True, True, 0)
button = Gtk.Button(stock=Gtk.STOCK_ADD)
button.connect("clicked", cls.get_value, cls.entry)
bbox.pack_start(button, True, True, 0)
box2.pack_end(bbox, True, True, 5)
cls.window.show_all()
@classmethod
def delete_partition(cls, _widget):
"""
Delete the currently selected partition.
Removes the selected partition or slice from the disk and updates
the partition display.
Args:
_widget: The delete button widget (unused)
"""
part = cls.slice if cls.label == "Not selected" else cls.label
DeletePartition(part, cls.path)
cls.update()
@classmethod
def auto_partition(cls, _widget):
"""
Automatically partition the disk with default ZFS configuration.
Creates automatic partitions suitable for ZFS installation including
boot partitions (if needed) and ZFS root partition.
Args:
_widget: The auto button widget (unused)
"""
cls.create_bt.set_sensitive(False)
cls.delete_bt.set_sensitive(False)
cls.auto_bt.set_sensitive(False)
cls.revert_bt.set_sensitive(False)
if 'freespace' in cls.slice:
AutoFreeSpace(cls.path, cls.size, 'ZFS', cls.efi_exist,
cls.disk, cls.scheme)
cls.update()
else:
print('wrong utilization')
@classmethod
def revert_change(cls, _widget):
"""
Revert all partition changes and restore original state.
Clears all partition configuration data from InstallationData and
recreates the original partition database, effectively undoing
all partition modifications.
Args:
_widget: The revert button widget (unused)
"""
# Reset all partition configuration data in InstallationData
InstallationData.create = []
InstallationData.scheme = ""
InstallationData.disk = ""
InstallationData.slice = ""
InstallationData.delete = []
InstallationData.destroy = {}
InstallationData.new_partition = []
DiskPartition.create_partition_database()
cls.tree_store()
cls.treeview.expand_all()
@classmethod
def create_partition(cls, _widget):
"""
Create a new partition based on the current selection.
Opens the appropriate editor dialog based on the selected item:
- Scheme editor for un-partitioned disks
- Label editor for free space in MBR or GPT
- Slice editor for MBR primary partition creation
Args:
_widget: The create button widget (unused)
"""
cls.create_bt.set_sensitive(False)
cls.delete_bt.set_sensitive(False)
cls.auto_bt.set_sensitive(False)
cls.revert_bt.set_sensitive(False)
if cls.change_schemes is True:
cls.scheme_editor()
elif 'freespace' in cls.label:
cls.label_editor(cls.path, cls.size, 'MBR')
elif 'freespace' in cls.slice:
if cls.scheme == "MBR" and cls.path[1] < 4:
cls.slice_editor()
elif cls.scheme == "GPT":
cls.label_editor(cls.path, cls.size, 'GPT')
else:
print('This method of creating partition is not implemented')
@classmethod
def partition_selection(cls, widget):
"""
Handle partition selection events and update UI button states.
This method is called when a user selects a different item in the partition
tree view. It analyzes the selection and enables/disables appropriate buttons
based on what operations are valid for the selected item.
The method handles complex logic for:
- Determining partition hierarchy (disk/slice/label)
- Checking partition scheme compatibility
- Validating boot partition requirements
- Managing button sensitivity states
Args:
widget: TreeSelection widget that triggered the selection change
"""
efi_already_exist = False
model, cls.iter, = widget.get_selected()
if cls.iter is None:
Button.next_button.set_sensitive(False)
return None
cls.path = model.get_path(cls.iter)
main_tree_iter = model.get_iter(cls.path)
cls.size = model.get_value(main_tree_iter, 1)
tree_iter1 = model.get_iter(cls.path[0])
cls.scheme = model.get_value(tree_iter1, 3)
cls.disk = model.get_value(tree_iter1, 0)
if len(cls.path) >= 2:
tree_iter2 = model.get_iter(cls.path[:2])
cls.slice = model.get_value(tree_iter2, 0)
cls.change_schemes = False
else:
if len(cls.path) == 1:
if DiskPartition.how_partition(cls.disk) == 0:
cls.change_schemes = True
elif DiskPartition.how_partition(cls.disk) == 1:
slice_path = f'{cls.path[0]}:0'
try:
tree_iter2 = model.get_iter(slice_path)
if 'freespace' in model.get_value(tree_iter2, 0):
cls.change_schemes = True
else:
cls.change_schemes = False
except ValueError:
cls.change_schemes = True
else:
cls.change_schemes = False
cls.slice = 'Not selected'
else:
cls.slice = 'Not selected'
cls.change_schemes = False
if len(cls.path) == 3:
tree_iter3 = model.get_iter(cls.path[:3])
cls.label = model.get_value(tree_iter3, 0)
else:
cls.label = 'Not selected'
# Get previous partition info for context
if len(cls.path) == 2 and cls.path[1] > 0 and cls.scheme == "GPT":
path_behind = f'{cls.path[0]}:{str(int(cls.path[1] - 1))}'
tree_iter4 = model.get_iter(path_behind)
cls.mount_point_behind = model.get_value(tree_iter4, 2)
cls.fs_behind = model.get_value(tree_iter4, 3)
elif len(cls.path) == 3 and cls.path[2] > 0 and cls.scheme == "MBR":
path1 = cls.path[0]
path2 = str(cls.path[1])
path3 = str(int(cls.path[2] - 1))
path_behind2 = f'{path1}:{path2}:{path3}'
tree_iter1 = model.get_iter(path_behind2)
cls.mount_point_behind = model.get_value(tree_iter1, 2)
cls.fs_behind = model.get_value(tree_iter1, 3)
else:
cls.mount_point_behind = None
cls.fs_behind = None
# Set button states based on selection
if 'freespace' in cls.slice:
cls.create_bt.set_sensitive(True)
cls.delete_bt.set_sensitive(False)
cls.auto_bt.set_sensitive(True)
# Scan for efi partition
for num in range(cls.path[1]):
partition_path = f"{cls.path[0]}:{num}"
tree_iter_1 = model.get_iter(partition_path)
first_fs = model.get_value(tree_iter_1, 3)
if first_fs == "UEFI" or 'efi' in first_fs:
cls.efi_exist = True
break
else:
cls.efi_exist = False
elif 'freespace' in cls.label:
if cls.path[1] > 3:
cls.create_bt.set_sensitive(False)
else:
cls.create_bt.set_sensitive(True)
cls.auto_bt.set_sensitive(True)
cls.delete_bt.set_sensitive(False)
elif 's' in cls.slice and len(cls.path) > 1:
cls.create_bt.set_sensitive(False)
cls.delete_bt.set_sensitive(True)
cls.auto_bt.set_sensitive(False)
elif 'p' in cls.slice and len(cls.path) > 1:
cls.create_bt.set_sensitive(False)
cls.delete_bt.set_sensitive(True)
cls.auto_bt.set_sensitive(False)
else:
cls.delete_bt.set_sensitive(False)
cls.auto_bt.set_sensitive(False)
if DiskPartition.how_partition(cls.disk) == 0:
cls.create_bt.set_sensitive(True)
elif cls.change_schemes is True:
cls.create_bt.set_sensitive(True)
else:
cls.create_bt.set_sensitive(False)
# Handle partition validation
if InstallationData.new_partition:
cls.partitions = InstallationData.new_partition
if not cls.partitions:
Button.next_button.set_sensitive(False)
return None
if 'GPT' in InstallationData.scheme:
if InstallationData.disk:
disk = InstallationData.disk
disk_id = cls.disk_index.index(disk)
num = 0
while True:
partition_path = f"{disk_id}:{num}"
try:
tree_iter_1 = model.get_iter(partition_path)
first_fs = model.get_value(tree_iter_1, 3)
if 'efi' in first_fs:
efi_already_exist = True
break
except ValueError:
efi_already_exist = False
break
num += 1
if 'BOOT' in cls.partitions[0] and bios_type == 'BIOS':
if len(cls.partitions) >= 2 and 'ZFS' in cls.partitions[1]:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif efi_already_exist is True and bios_type == 'UEFI':
if 'ZFS' in cls.partitions[0]:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif len(cls.partitions) >= 2 and 'UEFI' in cls.partitions[0] and 'ZFS' in cls.partitions[1]:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif 'MBR' in InstallationData.scheme:
cls.efi_exist = False
if len(cls.partitions) >= 1:
if "/boot\n" in cls.partitions[0]:
if len(cls.partitions) >= 2 and 'ZFS' in cls.partitions[1]:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif 'ZFS' in cls.partitions[0]:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
else:
Button.next_button.set_sensitive(False)
else:
Button.next_button.set_sensitive(False)
else:
Button.next_button.set_sensitive(False)
# Check if any configuration exists to enable revert button
path_exist = [
bool(InstallationData.create),
bool(InstallationData.scheme),
bool(InstallationData.disk),
bool(InstallationData.slice),
bool(InstallationData.delete),
bool(InstallationData.destroy),
bool(InstallationData.new_partition)
]
if any(path_exist):
cls.revert_bt.set_sensitive(True)
else:
cls.revert_bt.set_sensitive(False)
+108
View File
@@ -0,0 +1,108 @@
"""
Contains the data class and some commonly use variables
"""
import os
import gettext
be_name: str = "default"
logo: str = "/usr/local/lib/install-station/image/logo.png"
gif_logo: str = "/usr/local/lib/install-station/image/G_logo.gif"
pc_sysinstall: str = "/usr/local/sbin/pc-sysinstall"
query: str = "sh /usr/local/lib/install-station/backend-query"
tmp: str = "/tmp"
installation_config: str = f'{tmp}/ghostbsd_installation.cfg'
zfs_datasets: str = "/," \
"/home(mountpoint=/home)," \
"/tmp(mountpoint=/tmp|exec=on|setuid=off)," \
"/usr(mountpoint=/usr|canmount=off)," \
"/usr/ports(setuid=off)," \
"/usr/src," \
"/var(mountpoint=/var|canmount=off)," \
"/var/audit(exec=off|setuid=off)," \
"/var/crash(exec=off|setuid=off)," \
"/var/log(exec=off|setuid=off)," \
"/var/mail(atime=on)," \
"/var/tmp(setuid=off)"
class InstallationData:
"""
Centralized data storage for installation configuration
"""
# Partition configuration
destroy: dict = {}
delete: list = []
new_partition: list = []
create: list = []
scheme: str = ""
disk: str = ""
slice: str = ""
boot: str = ""
# ZFS configuration data (instead of zfs_config file)
zfs_config_data: list = []
# UFS configuration data (instead of ufs_config file)
ufs_config_data: list = []
# Installation type and mode
install_mode: str = "" # "install" or "try"
filesystem_type: str = "" # "zfs", "ufs", or "custom"
# Language and localization
language: str = ""
language_code: str = ""
# Keyboard configuration
keyboard_layout: str = ""
keyboard_layout_code: str = ""
keyboard_variant: str = ""
keyboard_model: str = ""
keyboard_model_code: str = ""
# Boot manager configuration
boot_manager: str = ""
# Network configuration (for live mode)
network_config: dict = {}
@classmethod
def reset(cls) -> None:
"""Reset all installation data"""
cls.destroy = {}
cls.delete = []
cls.new_partition = []
cls.create = []
cls.scheme = ""
cls.disk = ""
cls.slice = ""
cls.boot = ""
cls.zfs_config_data = []
cls.ufs_config_data = []
cls.install_mode = ""
cls.filesystem_type = ""
cls.language = ""
cls.language_code = ""
cls.keyboard_layout = ""
cls.keyboard_layout_code = ""
cls.keyboard_variant = ""
cls.keyboard_model = ""
cls.keyboard_model_code = ""
cls.boot_manager = ""
cls.network_config = {}
def get_text(text: str) -> str:
"""
Global translation function that always returns current language translation.
Args:
text: Text to translate
Returns:
str: Translated text in current language
"""
# Force reload of translations for current language
gettext.bindtextdomain('install-station', '/usr/local/share/locale')
gettext.textdomain('install-station')
return gettext.gettext(text)
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env python
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from subprocess import Popen
from install_station.data import get_text
lyrics = get_text("""Installation is complete. You need to restart the
computer in order to use the new installation.
You can continue to use this live media, although
any changes you make or documents you save will
not be preserved on reboot.""")
class EndWindow:
@classmethod
def on_reboot(cls, _widget):
Popen('shutdown -r now', shell=True)
Gtk.main_quit()
@classmethod
def on_close(cls, _widget):
Gtk.main_quit()
def __init__(self):
window = Gtk.Window()
window.set_border_width(8)
window.connect("destroy", Gtk.main_quit)
window.set_title(get_text("Installation Completed"))
window.set_icon_from_file("/usr/local/lib/install-station/image/logo.png")
box1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
window.add(box1)
box1.show()
box2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=10)
box2.set_border_width(10)
box1.pack_start(box2, True, True, 0)
box2.show()
label = Gtk.Label(label=lyrics)
box2.pack_start(label, True, True, 0)
box2 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=10)
box2.set_border_width(5)
box1.pack_start(box2, False, True, 0)
box2.show()
table = Gtk.Table(1, 2, True)
restart = Gtk.Button(label=get_text("Restart"))
restart.connect("clicked", self.on_reboot)
continue_button = Gtk.Button(label=get_text("Continue"))
continue_button.connect("clicked", self.on_close)
table.attach(continue_button, 0, 1, 0, 1)
table.attach(restart, 1, 2, 0, 1)
box2.pack_start(table, True, True, 0)
window.show_all()
+49
View File
@@ -0,0 +1,49 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from install_station.data import get_text
class ErrorWindow:
@classmethod
def on_close(cls, _widget):
Gtk.main_quit()
def __init__(self):
window = Gtk.Window()
window.set_border_width(8)
window.connect("destroy", Gtk.main_quit)
window.set_title(get_text("Installation Error"))
# window.set_icon_from_file("/usr/local/lib/install-station/image/logo.png")
box1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
window.add(box1)
box1.show()
box2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=10)
box2.set_border_width(10)
box1.pack_start(box2, True, True, 0)
box2.show()
title = Gtk.Label()
title.set_use_markup(True)
title_text = get_text("Installation has failed!")
title.set_markup(f'<b><span size="larger">{title_text}</span></b>')
label = Gtk.Label()
label.set_use_markup(True)
url = 'https://github.com/ghostbsd/ghostbsd-src/issues/new/choose'
anchor = f"<a href='{url}'>{get_text('GhostBSD issue system')}</a>"
message = get_text(
"Please report the issue to {anchor}, and \nbe sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
).format(anchor=anchor)
label.set_markup(message)
box2.pack_start(title, True, True, 0)
box2.pack_start(label, True, True, 0)
box2 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=10)
box2.set_border_width(5)
box1.pack_start(box2, False, True, 0)
box2.show()
table = Gtk.Table(n_rows=1, n_columns=2, homogeneous=True)
ok = Gtk.Button(label=get_text("Ok"))
ok.connect("clicked", self.on_close)
table.attach(ok, 0, 2, 0, 1)
box2.pack_start(table, True, True, 0)
window.show_all()
+147
View File
@@ -0,0 +1,147 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, GLib, Gdk
import threading
from subprocess import Popen, PIPE, STDOUT
from time import sleep
from install_station.partition import (
delete_partition,
destroy_partition,
add_partition
)
from install_station.create_cfg import Configuration
from install_station.end import EndWindow
from install_station.error import ErrorWindow
from install_station.window import Window
from install_station.data import (
gif_logo,
InstallationData,
installation_config,
pc_sysinstall,
get_text
)
cssProvider = Gtk.CssProvider()
cssProvider.load_from_path('/usr/local/lib/install-station/ghostbsd-style.css')
screen = Gdk.Screen.get_default()
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(
screen,
cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
def update_progress(progressbar, text):
"""
This method
"""
new_val = progressbar.get_fraction() + 0.000003
progressbar.set_fraction(new_val)
progressbar.set_text(text[0:80])
def read_output(command, progressbar):
GLib.idle_add(update_progress, progressbar, get_text("Creating ghostbsd_installation.cfg"))
Configuration.create_cfg()
sleep(1)
if InstallationData.delete:
GLib.idle_add(update_progress, progressbar, get_text("Deleting partition"))
delete_partition()
sleep(1)
# destroy disk partition and create scheme
if InstallationData.destroy:
GLib.idle_add(update_progress, progressbar, get_text("Creating disk partition"))
destroy_partition()
sleep(1)
# create partition
if InstallationData.create:
GLib.idle_add(update_progress, progressbar, get_text("Creating new partitions"))
add_partition()
sleep(1)
progressbar_text = None
process = Popen(
command, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True, universal_newlines=True
)
while True:
line = process.stdout.readline()
if not line:
break
progressbar_text = line.rstrip()
GLib.idle_add(update_progress, progressbar, progressbar_text)
# Those for next 4 line is for debugging only.
# filer = open(f"{tmp}/tmp", "a")
# filer.writelines(progressbar_text)
# filer.close
print(progressbar_text)
if progressbar_text.rstrip() == "Installation finished!":
EndWindow()
else:
ErrorWindow()
Window.hide()
class InstallWindow:
def __init__(self):
self.vBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
self.vBox.show()
label = Gtk.Label(label=get_text("Installation in progress"), name="Header")
label.set_property("height-request", 50)
self.vBox.pack_start(label, False, False, 0)
hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=0, name="install")
hbox.show()
self.vBox.pack_end(hbox, True, True, 0)
vbox2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
vbox2.show()
label2 = Gtk.Label(name="sideText")
label2.set_markup(get_text(
"Thank you for choosing GhostBSD!\n\n"
"We believe every computer operating system should "
"be simple, elegant, secure and protect your privacy"
" while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise "
"required to use it and lower the entry-level of "
"using BSD. \n\nWe hope you'll enjoy our BSD "
"operating system."
))
label2.set_justify(Gtk.Justification.LEFT)
label2.set_line_wrap(True)
# label2.set_max_width_chars(10)
label2.set_alignment(0.0, 0.2)
hbox2 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=0, name="TransBox")
hbox2.show()
hbox.pack_start(hbox2, True, True, 0)
hbox2.pack_start(label2, True, True, 30)
image = Gtk.Image()
image.set_from_file(gif_logo)
# image.set_size_request(width=256, height=256)
image.show()
hbox.pack_end(image, True, True, 20)
def get_model(self):
return self.vBox
class InstallProgress:
def __init__(self):
self.pbar = Gtk.ProgressBar()
self.pbar.set_show_text(True)
command = f'sudo {pc_sysinstall} -c {installation_config}'
thread = threading.Thread(
target=read_output,
args=(
command,
self.pbar
),
daemon=True
)
thread.start()
self.pbar.show()
def get_progressbar(self):
return self.pbar
+125
View File
@@ -0,0 +1,125 @@
"""
Module to create the inner window for select what type of installation.
"""
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk
from install_station.data import InstallationData, get_text
cssProvider = Gtk.CssProvider()
cssProvider.load_from_path('/usr/local/lib/install-station/ghostbsd-style.css')
screen = Gdk.Screen.get_default()
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(
screen,
cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
class InstallTypes:
"""Utility class for filesystem type selection following the utility class pattern.
This class provides a GTK+ interface for installation type selection including:
- Filesystem type selection between ZFS disk configuration and multi-boot
- Radio button interface for user selection
- Integration with InstallationData for persistent configuration
The class follows a utility pattern with class methods and variables for state management,
designed to integrate with the Interface controller for navigation flow.
"""
# Class variables instead of instance variables
ne: str = 'zfs'
vbox1: Gtk.Box | None = None
full_zfs_button: Gtk.RadioButton | None = None
custom_button: Gtk.RadioButton | None = None
@classmethod
def filesystem_type(cls, widget: Gtk.RadioButton, val: str) -> None:
"""Handle filesystem type selection from radio buttons.
Only responds to activation, not deactivation. Updates both
class variables and InstallationData with the selected filesystem type.
Args:
widget: RadioButton widget that triggered the action
val: Filesystem type value ('zfs' or 'custom')
"""
# Only respond to activation, not deactivation
if widget.get_active():
cls.ne = val
InstallationData.filesystem_type = val
print(f"Filesystem type selected: {val}")
@classmethod
def get_type(cls) -> str:
"""Get the current filesystem type selection.
Returns:
str: Current filesystem type ('zfs' or 'custom')
"""
return InstallationData.filesystem_type or cls.ne
@classmethod
def get_model(cls) -> Gtk.Box:
"""Return the GTK widget model for the installation type interface.
Returns the main container widget that was created during initialization.
Returns:
Gtk.Box: The main container widget for the installation type interface
"""
if cls.vbox1 is None:
cls.initialize()
return cls.vbox1
@classmethod
def initialize(cls) -> None:
"""Initialize the installation type selection UI following the utility class pattern.
Creates the main interface including:
- Radio buttons for ZFS disk configuration and multi-boot setup
- Descriptive text for each option
- Centered layout with proper spacing
This method is called automatically by get_model() when the interface is first accessed.
"""
cls.vbox1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.vbox1.show()
vbox2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
hbox1 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=0)
InstallationData.filesystem_type = cls.ne
cls.vbox1.pack_start(hbox1, True, False, 0)
hbox1.set_halign(Gtk.Align.CENTER)
label = Gtk.Label(label=get_text("How do you want to install GhostBSD?"))
label.set_alignment(0, 0.5)
vbox2.pack_start(label, False, False, 10)
# Create radio button group
cls.full_zfs_button = Gtk.RadioButton(
label=get_text(
"<b>Disks Configuration</b>"
"\nInstall GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 configurations."
)
)
cls.full_zfs_button.get_child().set_use_markup(True)
cls.full_zfs_button.get_child().set_line_wrap(True)
vbox2.pack_start(cls.full_zfs_button, True, True, 10)
cls.full_zfs_button.connect("toggled", cls.filesystem_type, "zfs")
cls.full_zfs_button.show()
cls.custom_button = Gtk.RadioButton.new_with_label_from_widget(
cls.full_zfs_button,
get_text(
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
)
)
cls.custom_button.get_child().set_use_markup(True)
cls.custom_button.get_child().set_line_wrap(True)
vbox2.pack_start(cls.custom_button, False, True, 10)
cls.custom_button.connect("toggled", cls.filesystem_type, "custom")
cls.custom_button.show()
hbox1.pack_start(vbox2, True, False, 150)
vbox2.set_halign(Gtk.Align.CENTER)
cls.full_zfs_button.set_active(True)
+316
View File
@@ -0,0 +1,316 @@
"""
Interface Controller Module.
This module provides the main navigation interface and button controls
for the Install Station GTK application wizard.
"""
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from install_station.install import InstallProgress, InstallWindow
from install_station.partition import DiskPartition
from install_station.window import Window
from install_station.data import InstallationData, get_text
from install_station.system_calls import localize_system, set_keyboard
class Button:
"""
Button management class for navigation controls.
Manages the Back, Cancel, and Next buttons used throughout
the installation wizard interface.
"""
back_button: Gtk.Button = Gtk.Button(label=get_text('Back'))
"""This button is used to go back to the previous page."""
cancel_button: Gtk.Button = Gtk.Button(label=get_text('Cancel'))
"""This button is used to quit and clean up."""
next_button: Gtk.Button = Gtk.Button(label=get_text('Next'))
"""This button is used to go to the next page."""
_box: Gtk.Box | None = None
@classmethod
def update_button_labels(cls) -> None:
"""Update button labels with current language translations."""
cls.back_button.set_label(get_text('Back'))
cls.cancel_button.set_label(get_text('Cancel'))
cls.next_button.set_label(get_text('Next'))
@classmethod
def hide_all(cls) -> None:
"""
This method hides all buttons.
"""
cls.back_button.hide()
cls.cancel_button.hide()
cls.next_button.hide()
@classmethod
def show_initial(cls) -> None:
"""
This method shows the initial buttons. Cancel and Next.
"""
cls.back_button.hide()
cls.cancel_button.show()
cls.next_button.show()
@classmethod
def show_back(cls) -> None:
"""
This method shows the back button.
"""
cls.back_button.show()
@classmethod
def hide_back(cls) -> None:
"""
This method hides the back button.
"""
cls.back_button.hide()
@classmethod
def box(cls) -> Gtk.Box:
"""
This method creates a box container of buttons aligned to the right.
Returns:
Box container with buttons aligned to the right for navigation.
"""
if cls._box is None:
# Use Box instead of Grid for better right-alignment control
cls._box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=5)
cls._box.set_halign(Gtk.Align.END) # Align the entire box to the right
cls.back_button.connect("clicked", Interface.back_page)
cls._box.pack_start(cls.back_button, False, False, 0)
cls.cancel_button.connect("clicked", Interface.delete)
cls._box.pack_start(cls.cancel_button, False, False, 0)
cls.next_button.connect("clicked", Interface.next_page)
cls._box.pack_start(cls.next_button, False, False, 0)
cls._box.show()
return cls._box
class Interface:
"""
Main interface controller for the installation wizard.
Manages the GTK Notebook pages and navigation between different
screens in the installation process including language, keyboard,
network setup, installation type, and configuration screens.
"""
welcome = None
keyboard = None
network_setup = None
try_install = None
installation_type = None
custom_partition = None
full_zfs = None
boot_manager = None
page: Gtk.Notebook = Gtk.Notebook()
nbButton: Gtk.Notebook | None = None
@classmethod
def get_interface(cls) -> Gtk.Box:
interface_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
interface_box.show()
interface_box.pack_start(cls.page, True, True, 0)
cls.page.show()
cls.page.set_show_tabs(False)
cls.page.set_show_border(False)
welcome_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
welcome_box.show()
cls.welcome.initialize()
get_types = cls.welcome.get_model()
welcome_box.pack_start(get_types, True, True, 0)
Window.set_title(get_text("Welcome to GhostBSD"))
label = Gtk.Label(label=get_text("Welcome to GhostBSD"))
cls.page.insert_page(welcome_box, label, 0)
# Set what page to start at type of installation
cls.page.set_current_page(0)
cls.nbButton = Gtk.Notebook()
interface_box.pack_end(cls.nbButton, False, False, 5)
cls.nbButton.show()
cls.nbButton.set_show_tabs(False)
cls.nbButton.set_show_border(False)
label = Gtk.Label(label=get_text("Button"))
cls.nbButton.insert_page(Button.box(), label, 0)
return interface_box
@classmethod
def delete(cls, _widget: Gtk.Widget, _event=None) -> None:
"""Close the main window."""
InstallationData.reset()
Gtk.main_quit()
@classmethod
def next_page(cls, _widget: Gtk.Button) -> None:
"""Go to the next window."""
page = cls.page.get_current_page()
if page == 0:
# Check if the keyboard page already exists
if cls.page.get_n_pages() <= 1:
keyboard_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
keyboard_box.show()
get_keyboard = cls.keyboard.get_model()
keyboard_box.pack_start(get_keyboard, True, True, 0)
label = Gtk.Label(label=get_text("Keyboard Setup"))
cls.page.insert_page(keyboard_box, label, 1)
cls.page.next_page()
cls.page.show_all()
Button.show_back()
elif page == 1:
# Check if the network setup page already exists
if cls.page.get_n_pages() <= 2:
network_setup_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
network_setup_box.show()
get_network_setup = cls.network_setup.get_model()
network_setup_box.pack_start(get_network_setup, True, True, 0)
label = Gtk.Label(label=get_text("Network Setup"))
cls.page.insert_page(network_setup_box, label, 2)
cls.page.next_page()
cls.page.show_all()
elif page == 2:
# Check if the try_install page already exists
if cls.page.get_n_pages() <= 3:
try_install_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
try_install_box.show()
get_try_install = cls.try_install.get_model()
try_install_box.pack_start(get_try_install, True, True, 0)
label = Gtk.Label(label=get_text("Try Or Install GhostBSD"))
cls.page.insert_page(try_install_box, label, 3)
cls.page.next_page()
cls.page.show_all()
elif page == 3:
if cls.try_install.get_what() == 'install':
if cls.page.get_n_pages() <= 4:
type_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
type_box.show()
get_types = cls.installation_type.get_model()
type_box.pack_start(get_types, True, True, 0)
label = Gtk.Label(label=get_text("Installation Types"))
cls.page.insert_page(type_box, label, 4)
cls.page.next_page()
cls.page.show_all()
else:
# Apply localization and keyboard layout for live session
# Apply system localization if language was selected
if InstallationData.language_code:
localize_system(InstallationData.language_code)
# Apply keyboard layout if selected
if InstallationData.keyboard_layout_code:
set_keyboard(
InstallationData.keyboard_layout_code,
InstallationData.keyboard_variant,
InstallationData.keyboard_model_code
)
# Continue to network setup for live session
cls.next_setup_page()
elif page == 4:
Button.show_back()
if InstallationData.filesystem_type == "custom":
custom_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
custom_box.show()
get_part = cls.custom_partition.get_model()
custom_box.pack_start(get_part, True, True, 0)
label = Gtk.Label(label=get_text("Custom Configuration"))
cls.page.insert_page(custom_box, label, 5)
cls.page.next_page()
cls.page.show_all()
Button.next_button.set_sensitive(False)
elif InstallationData.filesystem_type == "zfs":
zfs_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
zfs_box.show()
get_zfs = cls.full_zfs.get_model()
zfs_box.pack_start(get_zfs, True, True, 0)
label = Gtk.Label(label=get_text("ZFS Configuration"))
cls.page.insert_page(zfs_box, label, 5)
cls.page.next_page()
cls.page.show_all()
Button.next_button.set_sensitive(False)
elif page == 5:
boot_manager_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
boot_manager_box.show()
get_root = cls.boot_manager.get_model()
boot_manager_box.pack_start(get_root, True, True, 0)
label = Gtk.Label(label=get_text("Boot Option"))
cls.page.insert_page(boot_manager_box, label, 6)
Button.next_button.set_label(get_text("Install"))
cls.page.next_page()
cls.page.show_all()
Button.next_button.set_sensitive(True)
elif page == 6:
installation_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
installation_box.show()
install_window = InstallWindow()
get_install = install_window.get_model()
installation_box.pack_start(get_install, True, True, 0)
label = Gtk.Label(label=get_text("Installation Progress"))
cls.page.insert_page(installation_box, label, 7)
cls.page.next_page()
installation_progressbar = InstallProgress()
progressbar = installation_progressbar.get_progressbar()
box1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
box1.show()
label = Gtk.Label(label=get_text("Progress Bar"))
box1.pack_end(progressbar, False, False, 0)
cls.nbButton.insert_page(box1, label, 1)
cls.nbButton.next_page()
current_page_widget = cls.page.get_nth_page(cls.page.get_current_page())
title_text = cls.page.get_tab_label_text(current_page_widget)
Window.set_title(title_text)
@classmethod
def next_setup_page(cls) -> None:
page = cls.page.get_current_page()
if page == 0:
Button.next_button.show()
Button.next_button.set_sensitive(False)
Window.set_title(get_text("Network Setup"))
net_setup_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
net_setup_box.show()
model = cls.network_setup.get_model()
net_setup_box.pack_start(model, True, True, 0)
label = Gtk.Label(label=get_text("Network Setup"))
cls.page.insert_page(net_setup_box, label, 1)
cls.page.next_page()
cls.page.show_all()
if page == 1:
with open('/usr/home/ghostbsd/.xinitrc', 'w') as xinitrc:
xinitrc.writelines('gsettings set org.mate.SettingsDaemon.plugins.housekeeping active true &\n')
xinitrc.writelines('gsettings set org.mate.screensaver lock-enabled false &\n')
xinitrc.writelines('exec ck-launch-session mate-session\n')
Gtk.main_quit()
@classmethod
def back_page(cls, _widget: Gtk.Button) -> None:
"""Go back to the previous window."""
current_page = cls.page.get_current_page()
if current_page == 1:
Button.hide_back()
elif current_page == 3:
Button.next_button.set_label(get_text("Next"))
cls.page.prev_page()
new_page = cls.page.get_current_page()
if current_page == 1 and new_page == 0:
# Reset partition configuration data when going back
InstallationData.destroy = {}
InstallationData.delete = []
InstallationData.create = []
InstallationData.new_partition = []
InstallationData.scheme = ""
InstallationData.disk = ""
InstallationData.slice = ""
InstallationData.zfs_config_data = []
InstallationData.ufs_config_data = []
# Clean up temporary directory if it exists
DiskPartition.create_partition_database()
current_page_widget = cls.page.get_nth_page(cls.page.get_current_page())
title_text = cls.page.get_tab_label_text(current_page_widget)
Window.set_title(title_text)
# Button.next_button.set_sensitive(True)
+313
View File
@@ -0,0 +1,313 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk
import os
from install_station.system_calls import (
keyboard_dictionary,
keyboard_models,
change_keyboard,
set_keyboard
)
from install_station.data import InstallationData, tmp, get_text
# Ensure temp directory exists
if not os.path.exists(tmp):
os.makedirs(tmp)
layout = f'{tmp}layout'
variant = f'{tmp}variant'
KBFile = f'{tmp}keyboard'
kb_dictionary = keyboard_dictionary()
kbm_dictionary = keyboard_models()
cssProvider = Gtk.CssProvider()
cssProvider.load_from_path('/usr/local/lib/install-station/ghostbsd-style.css')
screen = Gdk.Screen.get_default()
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(
screen,
cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
class PlaceHolderEntry(Gtk.Entry):
"""
GTK Entry widget with placeholder text functionality.
This class extends Gtk.Entry to provide placeholder text that disappears
when the widget gains focus and returns when focus is lost if empty.
"""
def __init__(self, *args, **kwds) -> None:
Gtk.Entry.__init__(self, *args, **kwds)
self.placeholder = get_text('Type here to test your keyboard')
self.set_text(self.placeholder)
self._default = True
self.connect('focus-in-event', self._focus_in_event)
self.connect('focus-out-event', self._focus_out_event)
def _focus_in_event(self, _widget: Gtk.Widget, _event) -> None:
if self._default:
self.set_text('')
def _focus_out_event(self, _widget: Gtk.Widget, _event) -> None:
if Gtk.Entry.get_text(self) == '':
self.set_text(self.placeholder)
self._default = True
else:
self._default = False
def get_text(self) -> str:
if self._default:
return ''
return Gtk.Entry.get_text(self)
class Keyboard:
"""
Utility class for the keyboard configuration screen following the utility class pattern.
This class provides a GTK+ interface for keyboard layout and model selection including:
- Keyboard layout selection from available system layouts
- Keyboard model selection from available models
- Real-time keyboard testing with preview text entry
- Integration with InstallationData for persistent configuration
The class follows a utility pattern with class methods and variables for state management,
designed to integrate with the Interface controller for navigation flow.
"""
# Class variables instead of instance variables
kb_layout: str | None = None
kb_variant: str | None = None
kb_model: str | None = None
vbox1: Gtk.Box | None = None
treeView: Gtk.TreeView | None = None
test_entry: PlaceHolderEntry | None = None
@classmethod
def layout_columns(cls, treeview: Gtk.TreeView) -> None:
"""
Configure the keyboard layout treeview with appropriate columns.
Creates a single column with a "Keyboard Layout" header for displaying
available keyboard layouts in the tree view.
Args:
treeview: TreeView widget to configure with layout column
"""
cell = Gtk.CellRendererText()
column = Gtk.TreeViewColumn(None, cell, text=0)
column_header = Gtk.Label(label=f'<b>{get_text("Keyboard Layout")}</b>')
column_header.set_use_markup(True)
column_header.show()
column.set_widget(column_header)
column.set_sort_column_id(0)
treeview.append_column(column)
@classmethod
def variant_columns(cls, treeview: Gtk.TreeView) -> None:
"""
Configure the keyboard model treeview with appropriate columns.
Creates a single column with a "Keyboard Models" header for displaying
available keyboard models in the tree view.
Args:
treeview: TreeView widget to configure with model column
"""
cell = Gtk.CellRendererText()
column = Gtk.TreeViewColumn(None, cell, text=0)
column_header = Gtk.Label(label=f'<b>{get_text("Keyboard Models")}</b>')
column_header.set_use_markup(True)
column_header.show()
column.set_widget(column_header)
column.set_sort_column_id(0)
treeview.append_column(column)
@classmethod
def layout_selection(cls, tree_selection: Gtk.TreeSelection) -> None:
"""
Handle keyboard layout selection from the treeview.
Extracts the selected layout from the tree view and updates both
class variables and InstallationData with the layout information.
Also applies the keyboard layout change immediately for testing.
Args:
tree_selection: TreeSelection widget containing the user's layout choice
"""
model, treeiter = tree_selection.get_selected()
if treeiter is not None:
value = model[treeiter][0]
kb_lv = kb_dictionary[value]
cls.kb_layout = kb_lv['layout']
cls.kb_variant = kb_lv['variant']
# Save to InstallationData
InstallationData.keyboard_layout = value
InstallationData.keyboard_layout_code = cls.kb_layout
InstallationData.keyboard_variant = cls.kb_variant
change_keyboard(cls.kb_layout, cls.kb_variant)
print(f"Keyboard layout selected: {value} ({cls.kb_layout}/{cls.kb_variant})")
@classmethod
def model_selection(cls, tree_selection: Gtk.TreeSelection) -> None:
"""
Handle keyboard model selection from the treeview.
Extracts the selected model from the tree view and updates both
class variables and InstallationData with the model information.
Also applies the keyboard model change immediately for testing.
Args:
tree_selection: TreeSelection widget containing the user's model choice
"""
model, treeiter = tree_selection.get_selected()
if treeiter is not None:
value = model[treeiter][0]
cls.kb_model = kbm_dictionary[value]
# Save to InstallationData
InstallationData.keyboard_model = value
InstallationData.keyboard_model_code = cls.kb_model
if cls.kb_layout and cls.kb_variant:
change_keyboard(cls.kb_layout, cls.kb_variant, cls.kb_model)
print(f"Keyboard model selected: {value} ({cls.kb_model})")
@classmethod
def save_selection(cls) -> None:
"""
Save the current keyboard selection.
This method saves keyboard configuration to both InstallationData
(for the installer) and temporary files (for compatibility).
"""
# Data is now saved in InstallationData automatically
# Keep file writing for compatibility
if cls.kb_layout and cls.kb_variant and cls.kb_model:
with open(KBFile, 'w') as file:
file.write(f"{cls.kb_layout}\\n")
file.write(f"{cls.kb_variant}\\n")
file.write(f"{cls.kb_model}\\n")
@classmethod
def save_keyboard(cls) -> None:
"""
Apply the keyboard configuration to the system.
This method applies the selected keyboard layout, variant, and model
to the current system for immediate use.
"""
if cls.kb_layout and cls.kb_variant and cls.kb_model:
set_keyboard(cls.kb_layout, cls.kb_variant, cls.kb_model)
@classmethod
def initialize(cls) -> None:
"""
Initialize the keyboard configuration UI following the utility class pattern.
Creates the main interface including:
- Keyboard layout selection tree view on the left side
- Keyboard model selection tree view on the right side
- Test entry field at the bottom for keyboard testing
- Grid-based layout with proper spacing and margins
This method is called automatically by get_model() when the interface is first accessed.
"""
cls.vbox1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.vbox1.show()
main_grid = Gtk.Grid()
cls.vbox1.pack_start(main_grid, True, True, 0)
# Create two scrolled windows side by side for layout and model selection
# Left side - Keyboard layouts
sw_layouts = Gtk.ScrolledWindow()
sw_layouts.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
sw_layouts.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
layout_store = Gtk.TreeStore(str)
layout_store.append(None, [get_text('English (US)')])
layout_store.append(None, [get_text('English (Canada)')])
layout_store.append(None, [get_text('French (Canada)')])
for line in sorted(kb_dictionary):
layout_store.append(None, [line.rstrip()])
cls.treeView = Gtk.TreeView()
cls.treeView.set_model(layout_store)
cls.treeView.set_rules_hint(True)
cls.layout_columns(cls.treeView)
layout_selection = cls.treeView.get_selection()
layout_selection.set_mode(Gtk.SelectionMode.SINGLE)
layout_selection.connect("changed", cls.layout_selection)
sw_layouts.add(cls.treeView)
sw_layouts.show()
# Right side - Keyboard models
sw_models = Gtk.ScrolledWindow()
sw_models.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
sw_models.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
model_store = Gtk.TreeStore(str)
for line in sorted(kbm_dictionary):
model_store.append(None, [line.rstrip()])
model_treeview = Gtk.TreeView()
model_treeview.set_model(model_store)
model_treeview.set_rules_hint(True)
cls.variant_columns(model_treeview)
model_selection = model_treeview.get_selection()
model_selection.set_mode(Gtk.SelectionMode.SINGLE)
model_selection.connect("changed", cls.model_selection)
sw_models.add(model_treeview)
sw_models.show()
# Bottom - Test entry
cls.test_entry = PlaceHolderEntry()
# Layout everything in grid
main_grid.set_row_spacing(5)
main_grid.set_column_spacing(10)
main_grid.set_column_homogeneous(True)
main_grid.set_row_homogeneous(True)
main_grid.set_margin_left(10)
main_grid.set_margin_right(10)
main_grid.set_margin_top(10)
main_grid.set_margin_bottom(10)
main_grid.attach(sw_layouts, 0, 0, 1, 8)
main_grid.attach(sw_models, 1, 0, 1, 8)
main_grid.attach(cls.test_entry, 0, 9, 2, 1)
main_grid.show()
# Set default selection
cls.treeView.set_cursor(0)
@classmethod
def get_model(cls) -> Gtk.Box:
"""
Return the GTK widget model for the keyboard configuration interface.
Returns the main container widget that was created during initialization.
Returns:
Gtk.Box: The main container widget for the keyboard configuration interface
"""
if cls.vbox1 is None:
cls.initialize()
return cls.vbox1
@classmethod
def get_keyboard_info(cls) -> dict[str, str | None]:
"""
Get the current keyboard configuration information.
Returns:
dict: Dictionary containing keyboard layout, variant, and model information
"""
return {
'layout': InstallationData.keyboard_layout or cls.kb_layout,
'layout_code': InstallationData.keyboard_layout_code or cls.kb_layout,
'variant': InstallationData.keyboard_variant or cls.kb_variant,
'model': InstallationData.keyboard_model or cls.kb_model,
'model_code': InstallationData.keyboard_model_code or cls.kb_model
}
+262
View File
@@ -0,0 +1,262 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk
import os
from install_station.system_calls import (
language_dictionary,
localize_system
)
from install_station.data import InstallationData, tmp, gif_logo, get_text
from install_station.window import Window
# Ensure temp directory exists
if not os.path.exists(tmp):
os.makedirs(tmp)
lang_dictionary = language_dictionary()
cssProvider = Gtk.CssProvider()
cssProvider.load_from_path('/usr/local/lib/install-station/ghostbsd-style.css')
screen = Gdk.Screen.get_default()
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(
screen,
cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
class Language:
"""
Utility class for the language selection screen following the utility class pattern.
This class provides a GTK+ interface for language selection including:
- Language selection from available system languages
- Visual elements with welcome message and logo
- Integration with InstallationData for persistent configuration
- Environment variable setting for immediate translation updates
The class follows a utility pattern with class methods and variables for state management,
designed to integrate with the Interface controller for navigation flow.
"""
# Class variables instead of instance variables
vbox1: Gtk.Box | None = None
language: str | None = None
treeview: Gtk.TreeView | None = None
welcome_text: Gtk.Label | None = None
language_column_header: Gtk.Label | None = None
@classmethod
def language_selection(cls, tree_selection: Gtk.TreeSelection) -> None:
"""
Handle language selection from the treeview.
Extracts the selected language from the tree view and updates both
class variables and InstallationData with the language name and code.
Also sets environment variables globally so all modules pick up the language.
Args:
tree_selection: TreeSelection widget containing the user's language choice
"""
model, treeiter = tree_selection.get_selected()
if treeiter is not None:
value = model[treeiter][0]
language_code = lang_dictionary[value]
cls.language = language_code
InstallationData.language = value
InstallationData.language_code = language_code
print(f"Language selected: {value} ({language_code})")
# Set environment variables globally so all modules pick up the language
import os
os.environ['LANGUAGE'] = language_code
os.environ['LC_ALL'] = f'{language_code}.UTF-8'
os.environ['LANG'] = f'{language_code}.UTF-8'
# Update the UI text with new translations
cls.update_ui_text()
@classmethod
def update_ui_text(cls) -> None:
"""
Update all UI text elements with new translations after language change.
"""
from install_station.interface_controller import Button
# Update navigation buttons
Button.update_button_labels()
# Update the welcome text
if hasattr(cls, 'welcome_text') and cls.welcome_text:
cls.welcome_text.set_text(
get_text(
"Please select your language:"
)
)
# Update the language column header
if hasattr(cls, 'language_column_header') and cls.language_column_header:
cls.language_column_header.set_text(get_text('Language'))
Window.set_title(get_text("Welcome to GhostBSD"))
@classmethod
def setup_language_columns(cls, treeview: Gtk.TreeView) -> None:
"""
Configure the language selection treeview with appropriate columns.
Creates a single column with a "Language" header for displaying
available languages in the tree view.
Args:
treeview: TreeView widget to configure with language column
"""
cell = Gtk.CellRendererText()
column = Gtk.TreeViewColumn(None, cell, text=0)
column_header = Gtk.Label(label=get_text('Language'))
column_header.set_use_markup(True)
column_header.show()
column.set_widget(column_header)
# Store reference for updating
cls.language_column_header = column_header
column.set_sort_column_id(0)
treeview.append_column(column)
@classmethod
def save_selection(cls) -> None:
"""
Save the current language selection.
This method is maintained for compatibility but language selection
is now automatically saved to InstallationData when chosen.
"""
# Language is now saved in InstallationData automatically
pass
@classmethod
def save_language(cls) -> None:
"""
Apply the language configuration to the system.
This method applies the selected language to the system for
permanent configuration during installation.
"""
language_code = InstallationData.language_code or cls.language
if language_code:
localize_system(language_code)
@classmethod
def initialize(cls) -> None:
"""
Initialize the language selection UI following the utility class pattern.
Creates the main interface including:
- Language selection tree view on the left side
- Welcome message and logo on the right side
- Grid-based layout with proper spacing and margins
This method is called automatically by get_model() when the interface is first accessed.
"""
cls.language = None
# Main container
cls.vbox1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.vbox1.show()
main_grid = Gtk.Grid()
cls.vbox1.pack_start(main_grid, True, True, 0)
# Left side - Language selection
sw = Gtk.ScrolledWindow()
sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
store = Gtk.TreeStore(str)
for line in lang_dictionary:
store.append(None, [line])
cls.treeview = Gtk.TreeView()
cls.treeview.set_model(store)
cls.treeview.set_rules_hint(True)
cls.treeview.set_headers_visible(False)
cls.setup_language_columns(cls.treeview)
tree_selection = cls.treeview.get_selection()
tree_selection.set_mode(Gtk.SelectionMode.SINGLE)
tree_selection.connect("changed", cls.language_selection)
sw.add(cls.treeview)
sw.show()
# Right side - Welcome content
right_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=10)
right_box.set_border_width(20)
right_box.show()
# Welcome text
cls.welcome_text = Gtk.Label(
label=get_text(
"Please select your language:"
)
)
cls.welcome_text.set_use_markup(True)
cls.welcome_text.set_line_wrap(True)
cls.welcome_text.set_justify(Gtk.Justification.CENTER)
cls.welcome_text.show()
# Logo
image = Gtk.Image()
image.set_from_file(gif_logo)
image.show()
right_box.pack_start(cls.welcome_text, False, False, 10)
right_box.pack_start(sw, True, True, 10)
# Layout in grid
main_grid.set_row_spacing(10)
main_grid.set_column_spacing(20)
main_grid.set_column_homogeneous(True)
main_grid.set_row_homogeneous(True)
main_grid.set_margin_left(10)
main_grid.set_margin_right(10)
main_grid.set_margin_top(10)
main_grid.set_margin_bottom(10)
main_grid.attach(image, 0, 0, 1, 1)
main_grid.attach(right_box, 1, 0, 1, 1)
main_grid.show()
@classmethod
def get_model(cls) -> Gtk.Box:
"""
Return the GTK widget model for the language selection interface.
Returns the main container widget that was created during initialization.
Returns:
Gtk.Box: The main container widget for the language selection interface
"""
if cls.vbox1 is None:
cls.initialize()
return cls.vbox1
@classmethod
def get_language(cls) -> str | None:
"""
Get the selected language code.
Returns:
str: The selected language code
"""
return InstallationData.language_code or cls.language
@classmethod
def get_language_info(cls) -> dict[str, str]:
"""
Get the current language configuration information.
Returns:
dict: Dictionary containing language name and code information
"""
return {
'language': InstallationData.language or '',
'language_code': InstallationData.language_code or cls.language or ''
}
+470
View File
@@ -0,0 +1,470 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk, GLib, GdkPixbuf
import re
import _thread
from time import sleep
from NetworkMgr.net_api import (
networkdictionary,
connectToSsid,
delete_ssid_wpa_supplicant_config,
nic_status
)
from install_station.data import get_text
from install_station.interface_controller import Button
logo = "/usr/local/lib/install-station/logo.png"
cssProvider = Gtk.CssProvider()
cssProvider.load_from_path('/usr/local/lib/install-station/ghostbsd-style.css')
screen = Gdk.Screen.get_default()
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(
screen,
cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
class NetworkSetup:
"""
Utility class for network setup following the utility class pattern.
This class provides a GTK+ interface for network configuration including:
- Wired network detection and status
- WiFi network detection and connection
- Network authentication dialogs
- Integration with Button class for navigation
The class follows a utility pattern with class methods and variables for state management,
designed to integrate with the Interface controller for navigation flow.
"""
# Class variables instead of instance variables
vbox1: Gtk.Box | None = None
network_info: dict | None = None
wire_connection_label: Gtk.Label | None = None
wire_connection_image: Gtk.Image | None = None
wifi_connection_label: Gtk.Label | None = None
wifi_connection_image: Gtk.Image | None = None
connection_box: Gtk.Box | None = None
store: Gtk.ListStore | None = None
window: Gtk.Window | None = None
password: Gtk.Entry | None = None
@classmethod
def get_model(cls) -> Gtk.Box:
"""
Return the GTK widget model for the network setup interface.
Returns the main container widget that was created during initialization.
Returns:
Gtk.Box: The main container widget for the network setup interface
"""
if cls.vbox1 is None:
cls.initialize()
return cls.vbox1
@staticmethod
def wifi_stat(bar: int) -> str:
"""
Get WiFi signal strength icon name based on signal bar percentage.
Args:
bar (int): Signal strength percentage
Returns:
str: Icon name for the signal strength
"""
if bar > 75:
return 'nm-signal-100'
elif bar > 50:
return 'nm-signal-75'
elif bar > 25:
return 'nm-signal-50'
elif bar > 5:
return 'nm-signal-25'
else:
return 'nm-signal-00'
@classmethod
def update_network_detection(cls) -> None:
"""
Update network detection status and UI elements.
Checks both wired and wireless network connections and updates
the UI with current status and enables/disables next button.
"""
cards = cls.network_info['cards']
card_list = list(cards.keys())
r = re.compile("wlan")
wlan_list = list(filter(r.match, card_list))
wire_list = list(set(card_list).difference(wlan_list))
# Update wired connection status
if wire_list:
for card in wire_list:
if cards[card]['state']['connection'] == 'Connected':
wire_text = get_text('Network card connected to the internet')
cls.wire_connection_image.set_from_stock(Gtk.STOCK_YES, 5)
print('Connected True')
Button.next_button.set_sensitive(True)
break
else:
wire_text = get_text('Network card not connected to the internet')
cls.wire_connection_image.set_from_stock(Gtk.STOCK_NO, 5)
else:
wire_text = get_text('No network card detected')
cls.wire_connection_image.set_from_stock(Gtk.STOCK_NO, 5)
cls.wire_connection_label.set_label(wire_text)
# Update WiFi connection status
if wlan_list:
for wlan_card in wlan_list:
if cards[wlan_card]['state']['connection'] == 'Connected':
wifi_text = get_text('WiFi card detected and connected to an access point')
cls.wifi_connection_image.set_from_stock(Gtk.STOCK_YES, 5)
break
else:
wifi_text = get_text('WiFi card detected but not connected to an access point')
cls.wifi_connection_image.set_from_stock(Gtk.STOCK_NO, 5)
else:
wifi_text = get_text("WiFi card not detected or not supported")
cls.wifi_connection_image.set_from_stock(Gtk.STOCK_NO, 5)
cls.wifi_connection_label.set_label(wifi_text)
@classmethod
def update_ui_text(cls) -> None:
"""
Update all UI text elements with new translations after language change.
"""
# Update button labels
Button.update_button_labels()
# Update network status if elements exist
if cls.network_info:
cls.update_network_detection()
@classmethod
def initialize(cls) -> None:
"""
Initialize the network setup UI following the utility class pattern.
Creates the main interface including:
- Network status indicators for wired and wireless
- WiFi access point list if available
- Grid-based layout with proper spacing and margins
This method is called automatically by get_model() when the interface is first accessed.
"""
cls.network_info = networkdictionary()
print(cls.network_info)
cls.vbox1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.vbox1.show()
cards = cls.network_info['cards']
card_list = list(cards.keys())
r = re.compile("wlan")
wlan_list = list(filter(r.match, card_list))
wire_list = list(set(card_list).difference(wlan_list))
cls.wire_connection_label = Gtk.Label()
cls.wire_connection_label.set_xalign(0.01)
cls.wire_connection_image = Gtk.Image()
cls.wifi_connection_label = Gtk.Label()
cls.wifi_connection_label.set_xalign(0.01)
cls.wifi_connection_image = Gtk.Image()
# Check wired connection status
if wire_list:
for card in wire_list:
if cards[card]['state']['connection'] == 'Connected':
wire_text = get_text('Network card connected to the internet')
cls.wire_connection_image.set_from_stock(Gtk.STOCK_YES, 5)
print('Connected True')
Button.next_button.set_sensitive(True)
break
else:
wire_text = get_text('Network card not connected to the internet')
cls.wire_connection_image.set_from_stock(Gtk.STOCK_NO, 5)
else:
wire_text = get_text('No network card detected')
cls.wire_connection_image.set_from_stock(Gtk.STOCK_NO, 5)
cls.wire_connection_label.set_label(wire_text)
# Check WiFi status and setup WiFi list if available
wlan_card = ""
if wlan_list:
for wlan_card in wlan_list:
if cards[wlan_card]['state']['connection'] == 'Connected':
wifi_text = get_text('WiFi card detected and connected to an access point')
cls.wifi_connection_image.set_from_stock(Gtk.STOCK_YES, 5)
break
else:
wifi_text = get_text('WiFi card detected but not connected to an access point')
cls.wifi_connection_image.set_from_stock(Gtk.STOCK_NO, 5)
else:
wifi_text = get_text('WiFi card not detected or not supported')
cls.wifi_connection_image.set_from_stock(Gtk.STOCK_NO, 5)
cls.wifi_connection_label.set_label(wifi_text)
cls.connection_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=True, spacing=20)
if wlan_card:
# Setup WiFi access point list
sw = Gtk.ScrolledWindow()
sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
cls.store = Gtk.ListStore(GdkPixbuf.Pixbuf, str, str)
for ssid in cls.network_info['cards'][wlan_card]['info']:
ssid_info = cls.network_info['cards'][wlan_card]['info'][ssid]
bar = ssid_info[4]
stat = NetworkSetup.wifi_stat(bar)
pixbuf = Gtk.IconTheme.get_default().load_icon(stat, 32, 0)
cls.store.append([pixbuf, ssid, f'{ssid_info}'])
treeview = Gtk.TreeView()
treeview.set_model(cls.store)
treeview.set_rules_hint(True)
pixbuf_cell = Gtk.CellRendererPixbuf()
pixbuf_column = Gtk.TreeViewColumn('Stat', pixbuf_cell)
pixbuf_column.add_attribute(pixbuf_cell, "pixbuf", 0)
pixbuf_column.set_resizable(True)
treeview.append_column(pixbuf_column)
cell = Gtk.CellRendererText()
column = Gtk.TreeViewColumn('SSID', cell, text=1)
column.set_sort_column_id(1)
treeview.append_column(column)
tree_selection = treeview.get_selection()
tree_selection.set_mode(Gtk.SelectionMode.SINGLE)
tree_selection.connect("changed", cls.wifi_setup, wlan_card)
sw.add(treeview)
cls.connection_box.pack_start(sw, True, True, 50)
# Layout the interface
main_grid = Gtk.Grid()
main_grid.set_row_spacing(10)
main_grid.set_column_spacing(10)
main_grid.set_column_homogeneous(True)
main_grid.set_row_homogeneous(True)
cls.vbox1.pack_start(main_grid, True, True, 10)
main_grid.attach(cls.wire_connection_image, 2, 1, 1, 1)
main_grid.attach(cls.wire_connection_label, 3, 1, 8, 1)
main_grid.attach(cls.wifi_connection_image, 2, 2, 1, 1)
main_grid.attach(cls.wifi_connection_label, 3, 2, 8, 1)
main_grid.attach(cls.connection_box, 1, 4, 10, 5)
@classmethod
def wifi_setup(cls, tree_selection: Gtk.TreeSelection, wifi_card: str) -> None:
"""
Handle WiFi access point selection and connection setup.
Args:
tree_selection: TreeSelection widget containing the selected access point
wifi_card: WiFi card interface name
"""
model, treeiter = tree_selection.get_selected()
if treeiter is not None:
ssid = model[treeiter][1]
ssid_info = cls.network_info['cards'][wifi_card]['info'][ssid]
caps = ssid_info[6]
print(ssid)
print(ssid_info)
if caps == 'E' or caps == 'ES':
if f'"{ssid}"' in open("/etc/wpa_supplicant.conf").read():
cls.try_to_connect_to_ssid(ssid, ssid_info, wifi_card)
else:
NetworkSetup.open_wpa_supplicant(ssid)
cls.try_to_connect_to_ssid(ssid, ssid_info, wifi_card)
else:
if f'"{ssid}"' in open('/etc/wpa_supplicant.conf').read():
cls.try_to_connect_to_ssid(ssid, ssid_info, wifi_card)
else:
cls.authentication(ssid_info, wifi_card, False)
@classmethod
def add_to_wpa_supplicant(cls, _widget: Gtk.Button, ssid_info: list, card: str) -> None:
"""
Add WiFi credentials to wpa_supplicant configuration and connect.
Args:
_widget: Button widget that triggered the action (unused)
ssid_info: WiFi network information
card: WiFi card interface name
"""
pwd = cls.password.get_text()
NetworkSetup.setup_wpa_supplicant(ssid_info[0], ssid_info, pwd)
_thread.start_new_thread(
cls.try_to_connect_to_ssid,
(ssid_info[0], ssid_info, card)
)
cls.window.hide()
@classmethod
def try_to_connect_to_ssid(cls, ssid: str, ssid_info: list, card: str) -> None:
"""
Attempt to connect to the specified WiFi network.
Args:
ssid: WiFi network SSID
ssid_info: WiFi network information
card: WiFi card interface name
"""
if connectToSsid(ssid, card) is False:
delete_ssid_wpa_supplicant_config(ssid)
GLib.idle_add(cls.restart_authentication, ssid_info, card)
else:
for _ in list(range(30)):
if nic_status(card) == 'associated':
cls.network_info = networkdictionary()
print(cls.network_info)
cls.update_network_detection()
break
sleep(1)
else:
delete_ssid_wpa_supplicant_config(ssid)
GLib.idle_add(cls.restart_authentication, ssid_info, card)
return
@classmethod
def restart_authentication(cls, ssid_info: list, card: str) -> None:
"""
Restart WiFi authentication after a failed connection attempt.
Args:
ssid_info: WiFi network information
card: WiFi card interface name
"""
cls.authentication(ssid_info, card, True)
@classmethod
def on_check(cls, widget: Gtk.CheckButton) -> None:
"""
Toggle password visibility in authentication dialog.
Args:
widget: CheckButton widget for show/hide password
"""
if widget.get_active():
cls.password.set_visibility(True)
else:
cls.password.set_visibility(False)
@classmethod
def authentication(cls, ssid_info: list, card: str, failed: bool) -> str:
"""
Show WiFi authentication dialog.
Args:
ssid_info: WiFi network information
card: WiFi card interface name
failed: Boolean indicating if this is a retry after failed authentication
"""
cls.window = Gtk.Window()
cls.window.set_title(get_text("Wi-Fi Network Authentication Required"))
cls.window.set_border_width(0)
cls.window.set_size_request(500, 200)
box1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.window.add(box1)
box1.show()
box2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=10)
box2.set_border_width(10)
box1.pack_start(box2, True, True, 0)
box2.show()
# Set dialog title based on authentication status
if failed:
title = get_text("{ssid} Wi-Fi Network Authentication failed").format(ssid=ssid_info[0])
else:
title = get_text("Authentication required by {ssid} Wi-Fi Network").format(ssid=ssid_info[0])
label = Gtk.Label(label=f"<b><span size='large'>{title}</span></b>")
label.set_use_markup(True)
pwd_label = Gtk.Label(label=get_text("Password:"))
cls.password = Gtk.Entry()
cls.password.set_visibility(False)
check = Gtk.CheckButton(label=get_text("Show password"))
check.connect("toggled", cls.on_check)
table = Gtk.Table(1, 2, True)
table.attach(label, 0, 5, 0, 1)
table.attach(pwd_label, 1, 2, 2, 3)
table.attach(cls.password, 2, 4, 2, 3)
table.attach(check, 2, 4, 3, 4)
box2.pack_start(table, False, False, 0)
box2 = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=10)
box2.set_border_width(5)
box1.pack_start(box2, False, True, 0)
box2.show()
# Add authentication buttons
cancel = Gtk.Button(stock=Gtk.STOCK_CANCEL)
cancel.connect("clicked", cls.close)
connect = Gtk.Button(stock=Gtk.STOCK_CONNECT)
connect.connect("clicked", cls.add_to_wpa_supplicant, ssid_info, card)
table = Gtk.Table(1, 2, True)
table.set_col_spacings(10)
table.attach(connect, 4, 5, 0, 1)
table.attach(cancel, 3, 4, 0, 1)
box2.pack_end(table, True, True, 5)
cls.window.show_all()
return 'Done'
@classmethod
def close(cls, _widget: Gtk.Button) -> None:
"""
Close the authentication dialog.
Args:
_widget: Button widget that triggered the action (unused)
"""
cls.window.hide()
@staticmethod
def setup_wpa_supplicant(ssid: str, ssid_info: list, pwd: str) -> None:
"""
Setup wpa_supplicant configuration for WiFi network.
Args:
ssid: WiFi network SSID
ssid_info: WiFi network information
pwd: WiFi network password
"""
if 'RSN' in ssid_info[-1]:
ws = '\nnetwork={'
ws += f'\n ssid="{ssid}"'
ws += '\n key_mgmt=WPA-PSK'
ws += '\n proto=RSN'
ws += f'\n psk="{pwd}"\n'
ws += '}\n'
elif 'WPA' in ssid_info[-1]:
ws = '\nnetwork={'
ws += f'\n ssid="{ssid}"'
ws += '\n key_mgmt=WPA-PSK'
ws += '\n proto=WPA'
ws += f'\n psk="{pwd}"\n'
ws += '}\n'
else:
ws = '\nnetwork={'
ws += f'\n ssid="{ssid}"'
ws += '\n key_mgmt=NONE'
ws += '\n wep_tx_keyidx=0'
ws += f'\n wep_key0={pwd}\n'
ws += '}\n'
wsf = open("/etc/wpa_supplicant.conf", 'a')
wsf.writelines(ws)
wsf.close()
@staticmethod
def open_wpa_supplicant(ssid: str) -> None:
"""
Add open network entry to wpa_supplicant configuration.
Args:
ssid: WiFi network SSID
"""
ws = '\nnetwork={'
ws += f'\n ssid={ssid}'
ws += '\n key_mgmt=NONE\n}\n'
with open("/etc/wpa_supplicant.conf", 'a') as wsf:
wsf.writelines(ws)
File diff suppressed because it is too large Load Diff
+315
View File
@@ -0,0 +1,315 @@
#!/usr/bin/env python
import re
import os
from subprocess import Popen, run, PIPE
from install_station.data import pc_sysinstall
def replace_pattern(current: str, new: str, file: str) -> None:
"""Replace text patterns in a file using regex substitution.
Args:
current: Regular expression pattern to search for
new: Replacement text
file: Path to file to modify
"""
parser_file = open(file, 'r').read()
parser_patched = re.sub(current, new, parser_file)
save_parser_file = open(file, 'w')
save_parser_file.writelines(parser_patched)
save_parser_file.close()
def language_dictionary() -> dict[str, str]:
"""Get available system languages from pc-sysinstall.
Returns:
Dictionary mapping language names to language codes
"""
langs = Popen(f'{pc_sysinstall} query-langs', shell=True, stdin=PIPE,
stdout=PIPE, universal_newlines=True,
close_fds=True).stdout.readlines()
dictionary = {}
for line in langs:
lang_list = line.rstrip()
lang_name = lang_list.partition(' ')[2]
lang_code = lang_list.partition(' ')[0]
dictionary[lang_name] = lang_code
return dictionary
def localize_system(locale: str) -> None:
"""Apply localization settings to the system.
Updates login.conf, profile files, and greeter configurations
with the specified locale.
Args:
locale: Language code (e.g. 'en_US', 'fr_FR')
"""
slick_greeter = "/usr/local/share/xgreeters/slick-greeter.desktop"
gtk_greeter = "/usr/local/share/xgreeters/lightdm-gtk-greeter.desktop"
replace_pattern('lang=C', f'lang={locale}', '/etc/login.conf')
replace_pattern('en_US', locale, '/etc/profile')
replace_pattern('en_US', locale, '/usr/share/skel/dot.profile')
if os.path.exists(slick_greeter):
replace_pattern(
'Exec=slick-greeter',
f'Exec=env LANG={locale}.UTF-8 slick-greeter',
slick_greeter
)
elif os.path.exists(gtk_greeter):
replace_pattern(
'Exec=lightdm-gtk-greete',
f'Exec=env LANG={locale}.UTF-8 lightdm-gtk-greeter',
gtk_greeter
)
def keyboard_dictionary() -> dict[str, dict[str, str | None]]:
"""Get available keyboard layouts and variants from pc-sysinstall.
Returns:
Dictionary mapping keyboard layout names to layout/variant dictionaries
"""
xkeyboard_layouts = Popen(f'{pc_sysinstall} xkeyboard-layouts', shell=True,
stdout=PIPE,
universal_newlines=True).stdout.readlines()
dictionary = {}
for line in xkeyboard_layouts:
keyboard_list = list(filter(None, line.rstrip().split(' ')))
kb_name = keyboard_list[1].strip()
kb_layouts = keyboard_list[0].strip()
kb_variant = None
# Skip the "custom" layout as it's not a real keyboard layout
if kb_layouts != 'custom':
dictionary[kb_name] = {'layout': kb_layouts, 'variant': kb_variant}
xkeyboard_variants = Popen(f'{pc_sysinstall} xkeyboard-variants',
shell=True, stdout=PIPE,
universal_newlines=True).stdout.readlines()
for line in xkeyboard_variants:
xkb_variant = line.rstrip()
kb_name = xkb_variant.partition(':')[2].strip()
keyboard_list = list(filter
(None, xkb_variant.partition(':')[0].split()))
kb_layouts = keyboard_list[1].strip()
kb_variant = keyboard_list[0].strip()
dictionary[kb_name] = {'layout': kb_layouts, 'variant': kb_variant}
return dictionary
def keyboard_models() -> dict[str, str]:
"""Get available keyboard models from pc-sysinstall.
Returns:
Dictionary mapping keyboard model names to model codes
"""
xkeyboard_models = Popen(f'{pc_sysinstall} xkeyboard-models', shell=True,
stdout=PIPE,
universal_newlines=True).stdout.readlines()
dictionary = {}
for line in xkeyboard_models:
kbm_name = line.rstrip().partition(' ')[2]
kbm_code = line.rstrip().partition(' ')[0]
dictionary[kbm_name] = kbm_code
return dictionary
def change_keyboard(kb_layout: str, kb_variant: str | None = None, kb_model: str | None = None) -> None:
"""Apply keyboard layout change immediately using setxkbmap.
Args:
kb_layout: Keyboard layout code
kb_variant: Optional keyboard variant code
kb_model: Optional keyboard model code
"""
if kb_variant is None and kb_model is not None:
run(f"setxkbmap -layout {kb_layout} -model {kb_model}", shell=True)
elif kb_variant is not None and kb_model is None:
run(f"setxkbmap -layout {kb_layout} -variant {kb_variant}", shell=True)
elif kb_variant is not None and kb_model is not None:
set_kb_cmd = f"setxkbmap -layout {kb_layout} -variant {kb_variant} " \
f"-model {kb_model}"
run(set_kb_cmd, shell=True)
else:
run(f"setxkbmap -layout {kb_layout}", shell=True)
def set_keyboard(kb_layout: str, kb_variant: str | None = None, kb_model: str | None = None) -> None:
"""
Permanently configure keyboard layout for the live system.
Based on pc-sysinstall's localize_x_keyboard function.
"""
setxkbmap_cmd = ""
# Build setxkbmap command
if kb_model and kb_model != "NONE":
setxkbmap_cmd = f"-model {kb_model}"
kx_model = kb_model
else:
kx_model = "pc104"
if kb_layout and kb_layout != "NONE":
setxkbmap_cmd = f"{setxkbmap_cmd} -layout {kb_layout}".strip()
kx_layout = kb_layout
else:
kx_layout = "us"
if kb_variant and kb_variant != "NONE":
setxkbmap_cmd = f"{setxkbmap_cmd} -variant {kb_variant}"
# Apply the keyboard layout immediately
if setxkbmap_cmd:
run(f"setxkbmap {setxkbmap_cmd}", shell=True)
# Create .xprofile for persistent keyboard layout
xprofile_path = "/home/ghostbsd/.xprofile"
try:
# Read existing .xprofile or create new one
if os.path.exists(xprofile_path):
with open(xprofile_path, 'r') as f:
content = f.read()
# Remove existing setxkbmap lines
lines = [line for line in content.splitlines() if not line.strip().startswith('setxkbmap')]
else:
lines = ["#!/bin/sh"]
# Add new setxkbmap command
lines.append(f"setxkbmap {setxkbmap_cmd}")
# Write back to .xprofile
with open(xprofile_path, 'w') as f:
f.write('\n'.join(lines) + '\n')
# Make executable
os.chmod(xprofile_path, 0o755)
except (OSError, IOError) as e:
print(f"Warning: Could not update .xprofile: {e}")
# Set console keymap in rc.conf for live system persistence
try:
_set_console_keymap(kx_layout)
except (OSError, IOError) as e:
print(f"Warning: Could not update console keymap: {e}")
def _set_console_keymap(key_layout: str) -> None:
"""Helper function to set console keymap in rc.conf"""
# Map X11 layouts to console keymaps (from pc-sysinstall)
keymap_mapping = {
'ca': 'ca-fr.kbd',
'et': 'ee.kbd',
'es': 'es.acc.kbd',
'gb': 'uk.kbd'
}
console_keymap = keymap_mapping.get(key_layout, f"{key_layout}.kbd")
rc_conf_path = "/etc/rc.conf"
keymap_line = f'keymap="{console_keymap}"\n'
# Check if keymap already exists in rc.conf
if os.path.exists(rc_conf_path):
with open(rc_conf_path, 'r') as f:
lines = f.readlines()
# Remove existing keymap lines
lines = [line for line in lines if not line.strip().startswith('keymap=')]
# Add new keymap
lines.append(keymap_line)
with open(rc_conf_path, 'w') as f:
f.writelines(lines)
else:
with open(rc_conf_path, 'w') as f:
f.write(keymap_line)
def timezone_dictionary() -> dict[str, list[str]]:
"""Get available timezones from pc-sysinstall.
Returns:
Dictionary mapping continents to lists of cities/regions
"""
tz_list = Popen(f'{pc_sysinstall} list-tzones', shell=True,
stdout=PIPE, universal_newlines=True).stdout.readlines()
city_list = []
dictionary = {}
last_continent = ''
for zone in tz_list:
zone_list = zone.partition(':')[0].rstrip().split('/')
continent = zone_list[0]
if continent != last_continent:
city_list = []
if len(zone_list) == 3:
city = zone_list[1] + '/' + zone_list[2]
elif len(zone_list) == 4:
city = zone_list[1] + '/' + zone_list[2] + '/' + zone_list[3]
else:
city = zone_list[1]
city_list.append(city)
dictionary[continent] = city_list
last_continent = continent
return dictionary
def zfs_disk_query() -> list[str]:
"""Query available disks for ZFS installation.
Returns:
List of available disk device names
"""
disk_output = Popen(
f"{pc_sysinstall} disk-list",
shell=True,
stdin=PIPE,
stdout=PIPE,
universal_newlines=True,
close_fds=True
)
return disk_output.stdout.readlines()
def zfs_disk_size_query(disk: str) -> str:
"""Query disk size information.
Args:
disk: Disk device name
Returns:
Disk size information string
"""
disk_info_output = Popen(
f"{pc_sysinstall} disk-info {disk}",
shell=True,
stdin=PIPE,
stdout=PIPE,
universal_newlines=True,
close_fds=True
)
return disk_info_output.stdout.readlines()[3].partition('=')[2]
def set_admin_user(username: str, name: str, password: str, shell: str, homedir: str, hostname: str) -> None:
"""Set up administrator user and system hostname.
Args:
username: Username for the admin user
name: Full name for the admin user
password: Password for the admin user
shell: Default shell for the admin user
homedir: Home directory path for the admin user
hostname: System hostname to set
"""
# Set Root user
run(f"echo '{password}' | pw usermod -n root -h 0", shell=True)
cmd = f"echo '{password}' | pw useradd {username} -c {name} -h 0" \
f" -s {shell} -m -d {homedir} -g wheel,operator"
run(cmd, shell=True)
run(f"sysrc hostname={hostname}", shell=True)
run(f"hostname {hostname}", shell=True)
+161
View File
@@ -0,0 +1,161 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk
from install_station.data import InstallationData, get_text, gif_logo
cssProvider = Gtk.CssProvider()
cssProvider.load_from_path('/usr/local/lib/install-station/ghostbsd-style.css')
screen = Gdk.Screen.get_default()
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(
screen,
cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
class TryOrInstall:
"""
Utility class for the welcome screen and initial mode selection following the utility class pattern.
This class provides a GTK+ interface for the initial GhostBSD welcome screen including:
- Mode selection between "Install GhostBSD" and "Try GhostBSD" using radio buttons
- Visual elements with GhostBSD logo and instructional text
- Integration with InstallationData for persistent configuration
The class follows a utility pattern with class methods and variables for state management,
designed to integrate with the Interface controller for navigation flow.
"""
# Class variables instead of instance variables
what: str | None = None
install_button: Gtk.RadioButton | None = None
try_button: Gtk.RadioButton | None = None
instruction_label: Gtk.Label | None = None
vbox1: Gtk.Box | None = None
@classmethod
def mode_selection(cls, widget: Gtk.RadioButton, val: str) -> None:
"""
Handle mode selection from radio buttons.
Only responds to activation, not deactivation. Updates both
class variables and InstallationData with the selected mode.
Args:
widget: RadioButton widget that triggered the action
val: Mode value ('install' or 'try')
"""
# Only respond to activation, not deactivation
if widget.get_active():
cls.what = val
InstallationData.install_mode = val
print(f"Mode selected: {val}")
@classmethod
def get_what(cls) -> str | None:
"""
Get the current installation mode.
Returns the installation mode from InstallationData if available,
otherwise falls back to the class variable.
Returns:
str: Current installation mode ('install' or 'try')
"""
return InstallationData.install_mode or cls.what
@classmethod
def initialize(cls) -> None:
"""
Initialize the welcome screen UI following the utility class pattern.
Creates the main interface including:
- GhostBSD logo on the left side
- Radio buttons for Install/Try options on the right side
- Instructional text explaining the options
- Grid-based layout with proper spacing and margins
This method is called automatically by get_model() when the interface is first accessed.
"""
cls.what = 'install' # Default to install mode
InstallationData.install_mode = cls.what
cls.vbox1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.vbox1.show()
main_grid = Gtk.Grid()
cls.vbox1.pack_start(main_grid, True, True, 0)
# Left side - Logo
logo_image = Gtk.Image()
logo_image.set_from_file(gif_logo)
logo_image.show()
# Right side - Radio button options
right_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
right_box.set_border_width(20)
right_box.set_halign(Gtk.Align.CENTER)
right_box.set_valign(Gtk.Align.CENTER)
right_box.show()
# Instruction label
cls.instruction_label = Gtk.Label(label=get_text("What would you like to do?"))
cls.instruction_label.set_alignment(0.0, 0.5)
right_box.pack_start(cls.instruction_label, False, False, 10)
# Create radio button group
cls.install_button = Gtk.RadioButton(
label=get_text(
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
)
)
cls.install_button.get_child().set_use_markup(True)
cls.install_button.get_child().set_line_wrap(True)
right_box.pack_start(cls.install_button, False, False, 10)
cls.install_button.connect("toggled", cls.mode_selection, "install")
cls.install_button.show()
cls.try_button = Gtk.RadioButton.new_with_label_from_widget(
cls.install_button,
get_text(
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
)
)
cls.try_button.get_child().set_use_markup(True)
cls.try_button.get_child().set_line_wrap(True)
right_box.pack_start(cls.try_button, False, False, 10)
cls.try_button.connect("toggled", cls.mode_selection, "try")
cls.try_button.show()
# Layout in grid
main_grid.set_row_spacing(20)
main_grid.set_column_spacing(20)
main_grid.set_column_homogeneous(True)
main_grid.set_row_homogeneous(True)
main_grid.set_margin_left(10)
main_grid.set_margin_right(10)
main_grid.set_margin_top(10)
main_grid.set_margin_bottom(10)
main_grid.attach(logo_image, 0, 0, 1, 1)
main_grid.attach(right_box, 1, 0, 1, 1)
main_grid.show()
# Set default selection
cls.install_button.set_active(True)
@classmethod
def get_model(cls) -> Gtk.Box:
"""
Return the GTK widget model for the welcome screen interface.
Returns the main container widget created during initialization.
Returns:
Gtk.Box: The main container widget for the welcome screen interface
"""
if cls.vbox1 is None:
cls.initialize()
return cls.vbox1
+620
View File
@@ -0,0 +1,620 @@
from gi.repository import Gtk, Gdk
from install_station.common import password_strength
from install_station.data import InstallationData, zfs_datasets, be_name, logo, get_text
from install_station.partition import bios_or_uefi
from install_station.system_calls import (
zfs_disk_query,
zfs_disk_size_query,
)
from install_station.interface_controller import Button
cssProvider = Gtk.CssProvider()
cssProvider.load_from_path('/usr/local/lib/install-station/ghostbsd-style.css')
screen = Gdk.Screen.get_default()
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(
screen,
cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION
)
class ZFS:
"""
Utility class for ZFS configuration and disk management following the utility class pattern.
This class provides a GTK+ interface for configuring ZFS installations including:
- Disk selection and validation
- Pool type configuration (stripe, mirror, RAIDZ1/2/3)
- Partition scheme selection (GPT/MBR)
- Disk encryption setup with password verification
- ZFS pool name configuration
The class follows a utility pattern with class methods and variables for state management,
designed to integrate with the InstallationData system for configuration persistence.
"""
# Class variables instead of instance variables
zfs_disk_list = []
pool_type = 'stripe'
scheme = 'GPT'
zpool = False
disk_encrypt = False
mirror = 'single disk'
vbox1 = None
# UI elements as class variables
pool = None
password = None
repassword = None
mirrorTips = None
strenght_label = None
img = None
check_cell = None
store = None
@classmethod
def save_selection(cls):
"""
Save the current ZFS configuration to InstallationData.
Validates required fields and generates ZFS configuration data including:
- Pool name and type (stripe, mirror, RAIDZ1/2/3)
- Disk partitioning scheme and encryption settings
- Boot environment and dataset configuration
Raises:
ValueError: If required fields are missing or invalid
"""
# Validate required fields are populated
if not cls.zfs_disk_list:
raise ValueError("No disks selected for ZFS configuration")
if cls.zpool and not cls.pool.get_text().strip():
raise ValueError("Pool name cannot be empty when zpool is enabled")
if cls.disk_encrypt and not cls.password.get_text().strip():
raise ValueError("Password cannot be empty when disk encryption is enabled")
size = int(cls.zfs_disk_list[0].partition('-')[2].rstrip()) - 512
swap = 0
zfs_num = size - swap
if cls.disk_encrypt is True:
dgeli = '.eli'
else:
dgeli = ''
# Store configuration data in InstallationData instead of writing to file
InstallationData.zfs_config_data = []
if cls.zpool is True:
InstallationData.zfs_config_data.append(f"zpoolName={cls.pool.get_text()}\n")
else:
InstallationData.zfs_config_data.append("#zpoolName=None\n")
InstallationData.zfs_config_data.append(f"beName={be_name}\n")
InstallationData.zfs_config_data.append('ashift=12\n\n')
disk = cls.zfs_disk_list[0].partition('-')[0].rstrip()
InstallationData.zfs_config_data.append(f'disk0={disk}\n')
InstallationData.zfs_config_data.append('partition=ALL\n')
InstallationData.zfs_config_data.append(f'partscheme={cls.scheme}\n')
InstallationData.zfs_config_data.append('commitDiskPart\n\n')
if cls.pool_type == 'none':
pool_disk = '\n'
else:
zfs_disk = cls.zfs_disk_list
disk_len = len(zfs_disk) - 1
num = 1
mirror_dsk = ''
while disk_len != 0:
mirror_dsk += ' ' + zfs_disk[num].partition('-')[0].rstrip()
print(mirror_dsk)
num += 1
disk_len -= 1
pool_disk = f' ({cls.pool_type}:{mirror_dsk})\n'
if bios_or_uefi() == "UEFI":
zfs_num = zfs_num - 100
else:
zfs_num = zfs_num - 1
# adding zero to use remaining space
zfs_part = f'disk0-part=ZFS{dgeli} {zfs_num} {zfs_datasets}{pool_disk}'
InstallationData.zfs_config_data.append(zfs_part)
if swap != 0:
InstallationData.zfs_config_data.append('disk0-part=swap 0 none\n')
if cls.disk_encrypt is True:
InstallationData.zfs_config_data.append(f'encpass={cls.password.get_text()}\n')
else:
InstallationData.zfs_config_data.append('#encpass=None\n')
InstallationData.zfs_config_data.append('commitDiskLabel\n')
@classmethod
def scheme_selection(cls, combobox):
"""
Handle partition scheme selection from combo box.
Args:
combobox: ComboBox widget containing scheme options (GPT/MBR)
"""
model = combobox.get_model()
index = combobox.get_active()
data = model[index][0]
cls.scheme = data.partition(':')[0]
@classmethod
def mirror_selection(cls, combobox):
"""
Handle pool type selection and update UI accordingly.
Sets the pool type (stripe, mirror, RAIDZ1/2/3) and updates the tip text
and next button sensitivity based on the number of selected disks.
Args:
combobox: ComboBox widget containing pool type options
"""
model = combobox.get_model()
index = combobox.get_active()
data = model[index][0] # Get the internal value (English)
cls.mirror = data
if cls.mirror == "1+ disks Stripe":
cls.pool_type = 'stripe'
cls.mirrorTips.set_text(
get_text("Please select 1 or more drive for stripe (select the smallest disk first)"))
if len(cls.zfs_disk_list) >= 1:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "2+ disks Mirror":
cls.pool_type = 'mirror'
mir_msg1 = get_text("Please select 2 drive for mirroring (select the smallest disk first)")
cls.mirrorTips.set_text(mir_msg1)
if len(cls.zfs_disk_list) >= 2:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "3 disks RAIDZ1":
cls.pool_type = 'raidz1'
cls.mirrorTips.set_text(get_text("Please select 3 drive for RAIDZ1 (select the smallest disk first)"))
if len(cls.zfs_disk_list) == 3:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "4 disks RAIDZ2":
cls.pool_type = 'raidz2'
cls.mirrorTips.set_text(get_text("Please select 4 drive for RAIDZ2 (select the smallest disk first)"))
if len(cls.zfs_disk_list) == 4:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "5 disks RAIDZ3":
cls.pool_type = 'raidz3'
cls.mirrorTips.set_text(get_text("Please select 5 drive for RAIDZ3 (select the smallest disk first)"))
if len(cls.zfs_disk_list) == 5:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
@classmethod
def on_check_poll(cls, widget):
"""
Handle custom pool name checkbox toggle.
Enables or disables the pool name entry field based on checkbox state.
Args:
widget: CheckButton widget for pool name enable/disable
"""
if widget.get_active():
cls.pool.set_sensitive(True)
cls.zpool = True
else:
cls.pool.set_sensitive(False)
cls.zpool = False
@classmethod
def on_check_encrypt(cls, widget):
"""
Handle disk encryption checkbox toggle.
Enables or disables password fields and updates next button sensitivity
based on encryption state and current disk selection.
Args:
widget: CheckButton widget for disk encryption enable/disable
"""
if widget.get_active():
cls.password.set_sensitive(True)
cls.repassword.set_sensitive(True)
cls.disk_encrypt = True
Button.next_button.set_sensitive(False)
else:
cls.password.set_sensitive(False)
cls.repassword.set_sensitive(False)
cls.disk_encrypt = False
if cls.mirror == "1+ disks Stripe":
if len(cls.zfs_disk_list) >= 1:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "2+ disks Mirror":
if len(cls.zfs_disk_list) >= 2:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "3 disks RAIDZ1":
if len(cls.zfs_disk_list) == 3:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "4 disks RAIDZ2":
if len(cls.zfs_disk_list) == 4:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "5 disks RAIDZ3":
if len(cls.zfs_disk_list) == 5:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
@classmethod
def initialize(cls):
"""
Initialize the ZFS configuration UI following the utility class pattern.
Creates the main interface including:
- Disk selection tree view with checkboxes
- Pool type selection (stripe, mirror, RAIDZ1/2/3)
- Pool name configuration
- Partition scheme selection (GPT/MBR)
- Disk encryption options with password fields
This method is called automatically by get_model() when the interface is first accessed.
"""
cls.vbox1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
cls.vbox1.show()
# Chose disk
sw = Gtk.ScrolledWindow(hexpand=True, vexpand=True)
sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN)
sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
cls.store = Gtk.TreeStore(str, str, str, 'gboolean')
for disk in zfs_disk_query():
dsk = disk.partition(':')[0].rstrip()
dsk_name = disk.partition(':')[2].rstrip()
dsk_size = zfs_disk_size_query(dsk).rstrip()
cls.store.append(None, [dsk, dsk_size, dsk_name, False])
treeview = Gtk.TreeView()
treeview.set_model(cls.store)
treeview.set_rules_hint(True)
cls.check_cell = Gtk.CellRendererToggle()
cls.check_cell.set_property('activatable', True)
cls.check_cell.connect('toggled', cls.col1_toggled_cb, cls.store)
cell = Gtk.CellRendererText()
column = Gtk.TreeViewColumn(None, cell, text=0)
column_header = Gtk.Label(label=get_text('Disk'))
column_header.set_use_markup(True)
column_header.show()
column.set_widget(column_header)
column.set_sort_column_id(0)
cell2 = Gtk.CellRendererText()
column2 = Gtk.TreeViewColumn(None, cell2, text=0)
column_header2 = Gtk.Label(label=get_text('Size(MB)'))
column_header2.set_use_markup(True)
column_header2.show()
column2.set_widget(column_header2)
cell3 = Gtk.CellRendererText()
column3 = Gtk.TreeViewColumn(None, cell3, text=0)
column_header3 = Gtk.Label(label=get_text('Name'))
column_header3.set_use_markup(True)
column_header3.show()
column3.set_widget(column_header3)
column1 = Gtk.TreeViewColumn(get_text("Check"), cls.check_cell)
column1.add_attribute(cls.check_cell, "active", 3)
column.set_attributes(cell, text=0)
column2.set_attributes(cell2, text=1)
column3.set_attributes(cell3, text=2)
treeview.append_column(column1)
treeview.append_column(column)
treeview.append_column(column2)
treeview.append_column(column3)
tree_selection = treeview.get_selection()
tree_selection.set_mode(Gtk.SelectionMode.SINGLE)
sw.add(treeview)
sw.show()
cls.mirrorTips = Gtk.Label(label=get_text('Please select one drive'))
cls.mirrorTips.set_justify(Gtk.Justification.LEFT)
cls.mirrorTips.set_alignment(0.01, 0.5)
# Mirror, raidz and stripe
cls.mirror = 'none'
mirror_label = Gtk.Label(label=get_text('<b>Pool Type</b>'))
mirror_label.set_use_markup(True)
mirror_box = Gtk.ComboBox()
mirror_store = Gtk.ListStore(str, str) # value, display_text
mirror_store.append(["1+ disks Stripe", get_text("1+ disks Stripe")])
mirror_store.append(["2+ disks Mirror", get_text("2+ disks Mirror")])
mirror_store.append(["3 disks RAIDZ1", get_text("3 disks RAIDZ1")])
mirror_store.append(["4 disks RAIDZ2", get_text("4 disks RAIDZ2")])
mirror_store.append(["5 disks RAIDZ3", get_text("5 disks RAIDZ3")])
mirror_box.set_model(mirror_store)
renderer = Gtk.CellRendererText()
mirror_box.pack_start(renderer, True)
mirror_box.add_attribute(renderer, "text", 1) # Display column 1 (translated text)
mirror_box.connect('changed', cls.mirror_selection)
mirror_box.set_active(0)
# Pool Name
cls.zpool = False
pool_name_label = Gtk.Label(label=get_text('<b>Pool Name</b>'))
pool_name_label.set_use_markup(True)
cls.pool = Gtk.Entry()
cls.pool.set_text('zroot')
# Creating MBR or GPT drive
scheme_label = Gtk.Label(label='<b>Partition Scheme</b>')
scheme_label.set_use_markup(True)
# Adding a combo box to selecting MBR or GPT sheme.
cls.scheme = 'GPT'
shemebox = Gtk.ComboBoxText()
shemebox.append_text("GPT")
shemebox.append_text("MBR")
shemebox.connect('changed', cls.scheme_selection)
shemebox.set_active(0)
if bios_or_uefi() == "UEFI":
shemebox.set_sensitive(False)
else:
shemebox.set_sensitive(True)
# GELI Disk encryption
cls.disk_encrypt = False
encrypt_check = Gtk.CheckButton(label=get_text("Encrypt Disk"))
encrypt_check.connect("toggled", cls.on_check_encrypt)
encrypt_check.set_sensitive(True)
# password
cls.passwd_label = Gtk.Label(label=get_text("Password"))
cls.password = Gtk.Entry()
cls.password.set_sensitive(False)
cls.password.set_visibility(False)
cls.password.connect("changed", password_strength)
cls.strenght_label = Gtk.Label()
cls.strenght_label.set_alignment(0.1, 0.5)
cls.vpasswd_label = Gtk.Label(label=get_text("Verify it"))
cls.repassword = Gtk.Entry()
cls.repassword.set_sensitive(False)
cls.repassword.set_visibility(False)
cls.repassword.connect("changed", cls.password_verification)
# set image for password matching
cls.img = Gtk.Image()
cls.img.set_alignment(0.2, 0.5)
# table = Gtk.Table(12, 12, True)
grid = Gtk.Grid()
grid.set_row_spacing(10)
# grid.set_column_homogeneous(True)
# grid.set_row_homogeneous(True)
# grid.attach(Title, 1, 1, 10, 1)
grid.attach(mirror_label, 1, 2, 1, 1)
grid.attach(mirror_box, 2, 2, 1, 1)
grid.attach(pool_name_label, 7, 2, 2, 1)
grid.attach(cls.pool, 9, 2, 2, 1)
grid.attach(cls.mirrorTips, 1, 3, 8, 1)
# grid.attach(zfs4kcheck, 9, 3, 2, 1)
grid.attach(sw, 1, 4, 10, 3)
# grid.attach(scheme_label, 1, 9, 1, 1)
# grid.attach(shemebox, 2, 9, 1, 1)
# grid.attach(cls.swap_encrypt_check, 9, 15, 11, 12)
# grid.attach(swap_mirror_check, 9, 15, 11, 12)
# grid.attach(encrypt_check, 2, 8, 2, 1)
# grid.attach(cls.passwd_label, 1, 9, 1, 1)
# grid.attach(cls.password, 2, 9, 2, 1)
# grid.attach(cls.strenght_label, 4, 9, 2, 1)
# grid.attach(cls.vpasswd_label, 1, 10, 1, 1)
# grid.attach(cls.repassword, 2, 10, 2, 1)
# grid.attach(cls.img, 4, 10, 2, 1)
cls.vbox1.pack_start(grid, True, True, 10)
return
@classmethod
def get_model(cls):
"""
Return the GTK widget model for the ZFS configuration interface.
Creates and initializes the UI if it doesn't exist yet.
Returns:
Gtk.Box: The main container widget for the ZFS configuration interface
"""
if cls.vbox1 is None:
cls.initialize()
return cls.vbox1
@classmethod
def check_if_small_disk(cls, size):
"""
Check if any selected disk is larger than the specified size.
Used to enforce the requirement that the smallest disk must be selected first
for ZFS pool configurations.
Args:
size: Size in MB to compare against selected disks
Returns:
bool: True if any selected disk is larger than the specified size
"""
if len(cls.zfs_disk_list) != 0:
for line in cls.zfs_disk_list:
if int(line.partition('-')[2]) > int(size):
return True
else:
return False
else:
return False
@classmethod
def col1_toggled_cb(cls, _cell, path, model):
"""
Handle disk selection checkbox toggle events.
Manages the disk selection list and updates next button sensitivity
based on pool type requirements. Enforces the rule that the smallest
disk must be selected first.
Args:
_cell: CellRendererToggle that was clicked (unused)
path: TreePath of the toggled row
model: TreeStore model containing disk data
Returns:
bool: Always returns True to indicate the event was handled
"""
model[path][3] = not model[path][3]
if model[path][3] is False:
cls.zfs_disk_list.remove(model[path][0] + "-" + model[path][1])
if cls.mirror == "1+ disks Stripe":
if len(cls.zfs_disk_list) >= 1:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "2+ disks Mirror":
if len(cls.zfs_disk_list) >= 2:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "3 disks RAIDZ1":
if len(cls.zfs_disk_list) == 3:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "4 disks RAIDZ2":
if len(cls.zfs_disk_list) == 4:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "5 disks RAIDZ3":
if len(cls.zfs_disk_list) == 5:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
else:
if cls.check_if_small_disk(model[path][1]) is False:
cls.zfs_disk_list.extend([model[path][0] + "-" + model[path][1]])
if cls.mirror == "1+ disks Stripe":
if len(cls.zfs_disk_list) >= 1:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "2+ disks Mirror":
if len(cls.zfs_disk_list) >= 2:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "3 disks RAIDZ1":
if len(cls.zfs_disk_list) == 3:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "4 disks RAIDZ2":
if len(cls.zfs_disk_list) == 4:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "5 disks RAIDZ3":
if len(cls.zfs_disk_list) == 5:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
else:
cls.check_cell.set_sensitive(False)
cls.small_disk_warning()
print(cls.zfs_disk_list)
return True
@classmethod
def small_disk_warning(cls):
"""
Display a warning dialog when disks are selected out of size order.
Shows a dialog informing the user that the smallest disk must be
selected first and offers to reset all selections.
"""
window = Gtk.Window()
window.set_title(get_text("Warning"))
window.set_border_width(0)
# window.set_size_request(480, 200)
window.set_icon_from_file(logo)
box1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=0)
window.add(box1)
box1.show()
box2 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, homogeneous=False, spacing=10)
box2.set_border_width(10)
box1.pack_start(box2, True, True, 0)
box2.show()
warning_text = get_text("Smallest disk need to be SELECTED first!\n")
warning_text += get_text("All the disk selected will reset.")
label = Gtk.Label(label=warning_text)
# Add button
box2.pack_start(label, True, True, 0)
bbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=10)
bbox.set_border_width(5)
button = Gtk.Button(stock=Gtk.STOCK_OK)
button.connect("clicked", cls.resset_selection, window)
bbox.add(button)
box2.pack_end(bbox, True, True, 5)
window.show_all()
@classmethod
def resset_selection(cls, _widget, window):
"""
Reset all disk selections and close the warning dialog.
Clears the disk selection list and unchecks all checkboxes in the tree view.
Args:
_widget: Button widget that triggered the reset (unused)
window: Warning dialog window to close
"""
cls.zfs_disk_list = []
rows = len(cls.store)
for row in range(0, rows):
cls.store[row][3] = False
row += 1
cls.check_cell.set_sensitive(True)
window.hide()
@classmethod
def password_verification(cls, _widget):
"""
Verify that password and confirmation password fields match.
Updates the verification image and next button sensitivity based on
password match status and current disk selection requirements.
Args:
_widget: Entry widget that triggered the verification (unused)
"""
if cls.password.get_text() == cls.repassword.get_text():
cls.img.set_from_stock(Gtk.STOCK_YES, 5)
if cls.mirror == "1+ disks Stripe":
if len(cls.zfs_disk_list) >= 1:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "2+ disks Mirror":
if len(cls.zfs_disk_list) >= 2:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "3 disks RAIDZ1":
if len(cls.zfs_disk_list) == 3:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "4 disks RAIDZ2":
if len(cls.zfs_disk_list) == 4:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
elif cls.mirror == "5 disks RAIDZ3":
if len(cls.zfs_disk_list) == 5:
Button.next_button.set_sensitive(True)
else:
Button.next_button.set_sensitive(False)
else:
cls.img.set_from_stock(Gtk.STOCK_NO, 5)
Button.next_button.set_sensitive(False)
+103
View File
@@ -0,0 +1,103 @@
"""
Window Module.
This module provides a singleton wrapper around GTK Window to provide
a consistent interface for the main application window.
"""
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class Window:
"""
Singleton wrapper for GTK Window.
Provides a class-based interface to a single GTK Window instance
that can be accessed throughout the application.
"""
window: Gtk.Window = Gtk.Window()
@classmethod
def connect(cls, signal: str, callback) -> int:
"""Connect a signal handler to the window.
Args:
signal: Signal name to connect to
callback: Callback function to invoke
Returns:
Connection ID
"""
return cls.window.connect(signal, callback)
@classmethod
def set_border_width(cls, width: int) -> None:
"""Set the border width of the window.
Args:
width: Border width in pixels
"""
return cls.window.set_border_width(width)
@classmethod
def set_default_size(cls, width: int, height: int) -> None:
"""Set the default size of the window.
Args:
width: Default width in pixels
height: Default height in pixels
"""
return cls.window.set_default_size(width, height)
@classmethod
def set_size_request(cls, width: int, height: int) -> None:
"""Set the size request of the window.
Args:
width: Requested width in pixels
height: Requested height in pixels
"""
return cls.window.set_size_request(width, height)
@classmethod
def set_title(cls, title: str) -> None:
"""Set the window title.
Args:
title: Window title text
"""
return cls.window.set_title(title)
@classmethod
def set_icon_from_file(cls, filename: str) -> None:
"""Set the window icon from a file.
Args:
filename: Path to icon file
"""
return cls.window.set_icon_from_file(filename)
@classmethod
def add(cls, widget: Gtk.Widget) -> None:
"""Add a widget to the window.
Args:
widget: Widget to add to the window
"""
return cls.window.add(widget)
@classmethod
def show_all(cls) -> None:
"""Show the window and all its children."""
return cls.window.show_all()
@classmethod
def hide(cls) -> None:
"""Hide the window."""
return cls.window.hide()
@classmethod
def __getattr__(cls, name: str):
"""Fallback for any methods not explicitly defined."""
return getattr(cls.window, name)
+18
View File
@@ -0,0 +1,18 @@
install-station
install_station/boot_manager.py
install_station/common.py
install_station/custom.py
install_station/data.py
install_station/end.py
install_station/error.py
install_station/install.py
install_station/install_type.py
install_station/interface_controller.py
install_station/keyboard.py
install_station/language.py
install_station/network_setup.py
install_station/partition.py
install_station/system_calls.py
install_station/use_zfs.py
install_station/welcome_live.py
install_station/window.py
+462
View File
@@ -0,0 +1,462 @@
# Arabic translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:27-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Arabic <(nothing)>\n"
"Language: ar_SA\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Bulgarian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:26-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Catalan translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:26-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Czech translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:24-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Danish translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:24-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# German translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:19-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Greek translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:24-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Greek <team@lists.gnome.gr>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+583
View File
@@ -0,0 +1,583 @@
# English translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:26-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: English (British) <(nothing)>\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr "Boot Option"
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr "Setup rEFInd boot manager"
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr "Setup FreeBSD boot manager"
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr "FreeBSD {loader} loader only"
#: install_station/common.py:108
msgid "Space not allowed"
msgstr "Space not allowed"
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr "Super Weak"
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr "Very Weak"
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr "Fairly Weak"
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr "Weak"
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr "Strong"
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr "Fairly Strong"
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr "Very Strong"
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr "Super Strong"
#: install_station/custom.py:248
msgid "Create"
msgstr "Create"
#: install_station/custom.py:252
msgid "Delete"
msgstr "Delete"
#: install_station/custom.py:256
msgid "Revert"
msgstr "Revert"
#: install_station/custom.py:260
msgid "Auto"
msgstr "Auto"
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr "Add Partition"
#: install_station/custom.py:342
msgid "Type:"
msgstr "Type:"
#: install_station/custom.py:343 install_station/custom.py:580
#, fuzzy
msgid "Size(MB):"
msgstr "Size(MB)"
#: install_station/custom.py:344
msgid "Mount point:"
msgstr "Mount point:"
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr "Partition Scheme"
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr "GPT: GUID Partition Table"
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr "MBR: DOS Partition"
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
#: install_station/end.py:31
msgid "Installation Completed"
msgstr "Installation Completed"
#: install_station/end.py:47
msgid "Restart"
msgstr "Restart"
#: install_station/end.py:49
msgid "Continue"
msgstr "Continue"
#: install_station/error.py:17
msgid "Installation Error"
msgstr "Installation Error"
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr "Installation has failed!"
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr "GhostBSD issue system"
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
#: install_station/error.py:45
msgid "Ok"
msgstr "Ok"
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr "How do you want to install GhostBSD?"
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr "Creating ghostbsd_installation.cfg"
#: install_station/install.py:50
msgid "Deleting partition"
msgstr "Deleting partition"
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr "Creating disk partition"
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr "Creating new partitions"
#: install_station/install.py:90
msgid "Installation in progress"
msgstr "Installation in progress"
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr "Back"
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr "Cancel"
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr "Next"
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr "Welcome to GhostBSD"
#: install_station/interface_controller.py:116
msgid "Button"
msgstr "Button"
#: install_station/interface_controller.py:137
#, fuzzy
msgid "Keyboard Setup"
msgstr "Keyboard Layout"
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr "Network Setup"
#: install_station/interface_controller.py:160
#, fuzzy
msgid "Try Or Install GhostBSD"
msgstr "Install GhostBSD"
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr "Installation Types"
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr "Custom Configuration"
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr "ZFS Configuration"
#: install_station/interface_controller.py:203
msgid "Install"
msgstr "Install"
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr "Installation Progress"
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr "Progress Bar"
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr "Type here to test your keyboard"
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr "Keyboard Layout"
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr "Keyboard Models"
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr "English (US)"
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr "English (Canada)"
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr "French (Canada)"
#: install_station/language.py:93 install_station/language.py:197
#, fuzzy
msgid "Please select your language:"
msgstr "Please select one drive"
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr "Language"
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr "Network card connected to the internet"
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr "Network card not connected to the internet"
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr "No network card detected"
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr "WiFi card detected and connected to an access point"
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr "WiFi card detected but not connected to an access point"
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr "WiFi card not detected or not supported"
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr "Wi-Fi Network Authentication Required"
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr "{ssid} Wi-Fi Network Authentication failed"
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr "Authentication required by {ssid} Wi-Fi Network"
#: install_station/network_setup.py:384
msgid "Password:"
msgstr "Password:"
#: install_station/network_setup.py:387
msgid "Show password"
msgstr "Show password"
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
#, fuzzy
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
"Please select 1 or more drive for stripe (select the smallest disc first)"
#: install_station/use_zfs.py:167
#, fuzzy
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr "Please select 2 drive for mirroring (select the smallest disc first)"
#: install_station/use_zfs.py:175
#, fuzzy
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr "Please select 3 drive for RAIDZ1 (select the smallest disc first)"
#: install_station/use_zfs.py:182
#, fuzzy
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr "Please select 4 drive for RAIDZ2 (select the smallest disc first)"
#: install_station/use_zfs.py:189
#, fuzzy
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr "Please select 5 drive for RAIDZ3 (select the smallest disc first)"
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr "Disc"
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr "Size(MB)"
#: install_station/use_zfs.py:305
msgid "Name"
msgstr "Name"
#: install_station/use_zfs.py:309
msgid "Check"
msgstr "Check"
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr "Please select one drive"
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr "<b>Pool Type</b>"
#: install_station/use_zfs.py:331
#, fuzzy
msgid "1+ disks Stripe"
msgstr "1+ discs Stripe"
#: install_station/use_zfs.py:332
#, fuzzy
msgid "2+ disks Mirror"
msgstr "2+ discs Mirror"
#: install_station/use_zfs.py:333
#, fuzzy
msgid "3 disks RAIDZ1"
msgstr "3 discs RAIDZ1"
#: install_station/use_zfs.py:334
#, fuzzy
msgid "4 disks RAIDZ2"
msgstr "4 discs RAIDZ2"
#: install_station/use_zfs.py:335
#, fuzzy
msgid "5 disks RAIDZ3"
msgstr "5 discs RAIDZ3"
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr "<b>Pool Name</b>"
#: install_station/use_zfs.py:365
#, fuzzy
msgid "Encrypt Disk"
msgstr "Encrypt Disc"
#: install_station/use_zfs.py:369
msgid "Password"
msgstr "Password"
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr "Verify it"
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr "Warning"
#: install_station/use_zfs.py:548
#, fuzzy
msgid "Smallest disk need to be SELECTED first!\n"
msgstr "Smallest disc need to be SELECTED first!\n"
#: install_station/use_zfs.py:549
#, fuzzy
msgid "All the disk selected will reset."
msgstr "All the disc selected will reset."
#~ msgid ""
#~ "Welcome! Please select your language to continue with the GhostBSD "
#~ "installation or live session."
#~ msgstr ""
#~ "Welcome! Please select your language to continue with the GhostBSD "
#~ "installation or live session."
#~ msgid "Try GhostBSD"
#~ msgstr "Try GhostBSD"
#, fuzzy
#~ msgid ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD\".\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD\"."
#~ msgstr ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Select your preferred language from the list on the left. The "
#~ "installer supports multiple languages in both modes."
#, fuzzy
#~ msgid ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD\".To install "
#~ "GhostBSD on your computer hard disc drive, click \"Install GhostBSD\"."
#~ msgstr ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Select your preferred language from the list on the left. The "
#~ "installer supports multiple languages in both modes."
#~ msgid "Select the language you want to use with GhostBSD."
#~ msgstr "Select the language you want to use with GhostBSD."
#~ msgid "Welcome To GhostBSD!"
#~ msgstr "Welcome To GhostBSD!"
#, fuzzy
#~ msgid ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Select your preferred language from the list on the left. The "
#~ "installer supports multiple languages in both modes."
#~ msgstr ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Select your preferred language from the list on the left. The "
#~ "installer supports multiple languages in both modes."
#, fuzzy
#~ msgid ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ " \n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disk drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Language selection only works when selecting \"Try GhostBSD.\"\n"
#~ " When installing GhostBSD, the installation program is only in "
#~ "English."
#~ msgstr ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Language selection only works when selecting \"Try GhostBSD.\"\n"
#~ " When installing GhostBSD, the installation programme is only in "
#~ "English."
+574
View File
@@ -0,0 +1,574 @@
# English translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:25-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: English\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr "Boot Option"
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr "Setup rEFInd boot manager"
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr "Setup FreeBSD boot manager"
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr "FreeBSD {loader} loader only"
#: install_station/common.py:108
msgid "Space not allowed"
msgstr "Space not allowed"
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr "Super Weak"
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr "Very Weak"
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr "Fairly Weak"
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr "Weak"
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr "Strong"
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr "Fairly Strong"
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr "Very Strong"
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr "Super Strong"
#: install_station/custom.py:248
msgid "Create"
msgstr "Create"
#: install_station/custom.py:252
msgid "Delete"
msgstr "Delete"
#: install_station/custom.py:256
msgid "Revert"
msgstr "Revert"
#: install_station/custom.py:260
msgid "Auto"
msgstr "Auto"
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr "Add Partition"
#: install_station/custom.py:342
msgid "Type:"
msgstr "Type:"
#: install_station/custom.py:343 install_station/custom.py:580
#, fuzzy
msgid "Size(MB):"
msgstr "Size(MB)"
#: install_station/custom.py:344
msgid "Mount point:"
msgstr "Mount point:"
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr "Partition Scheme"
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr "GPT: GUID Partition Table"
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr "MBR: DOS Partition"
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot.Installation is complete. You need to restart "
"the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
#: install_station/end.py:31
msgid "Installation Completed"
msgstr "Installation Completed"
#: install_station/end.py:47
msgid "Restart"
msgstr "Restart"
#: install_station/end.py:49
msgid "Continue"
msgstr "Continue"
#: install_station/error.py:17
msgid "Installation Error"
msgstr "Installation Error"
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr "Installation has failed!"
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr "GhostBSD issue system"
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
#: install_station/error.py:45
msgid "Ok"
msgstr "Ok"
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr "How do you want to install GhostBSD?"
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr "Creating ghostbsd_installation.cfg"
#: install_station/install.py:50
msgid "Deleting partition"
msgstr "Deleting partition"
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr "Creating disk partition"
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr "Creating new partitions"
#: install_station/install.py:90
msgid "Installation in progress"
msgstr "Installation in progress"
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr "Back"
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr "Cancel"
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr "Next"
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr "Welcome to GhostBSD"
#: install_station/interface_controller.py:116
msgid "Button"
msgstr "Button"
#: install_station/interface_controller.py:137
#, fuzzy
msgid "Keyboard Setup"
msgstr "Keyboard Layout"
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr "Network Setup"
#: install_station/interface_controller.py:160
#, fuzzy
msgid "Try Or Install GhostBSD"
msgstr "Install GhostBSD"
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr "Installation Types"
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr "Custom Configuration"
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr "ZFS Configuration"
#: install_station/interface_controller.py:203
msgid "Install"
msgstr "Install"
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr "Installation Progress"
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr "Progress Bar"
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr "Type here to test your keyboard"
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr "Keyboard Layout"
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr "Keyboard Models"
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr "English (US)"
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr "English (Canada)"
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr "French (Canada)"
#: install_station/language.py:93 install_station/language.py:197
#, fuzzy
msgid "Please select your language:"
msgstr "Please select one drive"
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr "Language"
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr "Network card connected to the internet"
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr "Network card not connected to the internet"
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr "No network card detected"
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr "WiFi card detected and connected to an access point"
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr "WiFi card detected but not connected to an access point"
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr "WiFi card not detected or not supported"
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr "Wi-Fi Network Authentication Required"
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr "{ssid} Wi-Fi Network Authentication failed"
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr "Authentication required by {ssid} Wi-Fi Network"
#: install_station/network_setup.py:384
msgid "Password:"
msgstr "Password:"
#: install_station/network_setup.py:387
msgid "Show password"
msgstr "Show password"
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr "Please select 2 drive for mirroring (select the smallest disk first)"
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr "Disk"
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr "Size(MB)"
#: install_station/use_zfs.py:305
msgid "Name"
msgstr "Name"
#: install_station/use_zfs.py:309
msgid "Check"
msgstr "Check"
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr "Please select one drive"
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr "<b>Pool Type</b>"
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr "1+ disks Stripe"
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr "2+ disks Mirror"
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr "3 disks RAIDZ1"
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr "4 disks RAIDZ2"
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr "5 disks RAIDZ3"
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr "<b>Pool Name</b>"
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr "Encrypt Disk"
#: install_station/use_zfs.py:369
msgid "Password"
msgstr "Password"
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr "Verify it"
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr "Warning"
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr "Smallest disk need to be SELECTED first!\n"
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr "All the disk selected will reset."
#~ msgid ""
#~ "Welcome! Please select your language to continue with the GhostBSD "
#~ "installation or live session."
#~ msgstr ""
#~ "Welcome! Please select your language to continue with the GhostBSD "
#~ "installation or live session."
#~ msgid "Try GhostBSD"
#~ msgstr "Try GhostBSD"
#, fuzzy
#~ msgid ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD\".\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD\"."
#~ msgstr ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disk drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Select your preferred language from the list on the left. The "
#~ "installer supports multiple languages in both modes."
#, fuzzy
#~ msgid ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD\".To install "
#~ "GhostBSD on your computer hard disc drive, click \"Install GhostBSD\"."
#~ msgstr ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disk drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Select your preferred language from the list on the left. The "
#~ "installer supports multiple languages in both modes."
#~ msgid "Select the language you want to use with GhostBSD."
#~ msgstr "Select the language you want to use with GhostBSD."
#~ msgid "Welcome To GhostBSD!"
#~ msgstr "Welcome To GhostBSD!"
#~ msgid ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Select your preferred language from the list on the left. The "
#~ "installer supports multiple languages in both modes."
#~ msgstr ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Select your preferred language from the list on the left. The "
#~ "installer supports multiple languages in both modes."
#, fuzzy
#~ msgid ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ " \n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disk drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Language selection only works when selecting \"Try GhostBSD.\"\n"
#~ " When installing GhostBSD, the installation program is only in "
#~ "English."
#~ msgstr ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD.\"\n"
#~ "\n"
#~ "To install GhostBSD on your computer hard disk drive, click \"Install "
#~ "GhostBSD.\"\n"
#~ "\n"
#~ "Note: Language selection only works when selecting \"Try GhostBSD.\"\n"
#~ " When installing GhostBSD, the installation program is only in "
#~ "English."
+463
View File
@@ -0,0 +1,463 @@
# Spanish translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:19-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Estonian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:26-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Estonian <linux-ee@lists.eenet.ee>\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Finnish translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:24-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+517
View File
@@ -0,0 +1,517 @@
# French translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:35-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr_CA\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"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr "Option de démarrage"
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr "Configurer le gestionnaire de démarrage rEFInd"
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr "Configurer le gestionnaire de démarrage FreeBSD"
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr "Chargeur FreeBSD {loader} uniquement"
#: install_station/common.py:108
msgid "Space not allowed"
msgstr "Espace non autorisé"
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr "Très faible"
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr "Très faible"
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr "Plutôt faible"
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr "Faible"
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr "Fort"
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr "Plutôt fort"
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr "Très fort"
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr "Très fort"
#: install_station/custom.py:248
msgid "Create"
msgstr "Créer"
#: install_station/custom.py:252
msgid "Delete"
msgstr "Supprimer"
#: install_station/custom.py:256
msgid "Revert"
msgstr "Annuler"
#: install_station/custom.py:260
msgid "Auto"
msgstr "Automatique"
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr "Ajouter une partition"
#: install_station/custom.py:342
msgid "Type:"
msgstr "Type :"
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr "Taille (Mo) :"
#: install_station/custom.py:344
msgid "Mount point:"
msgstr "Point de montage :"
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr "Schéma de partition"
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr "GPT : Table de partition GUID"
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr "MBR : Partition DOS"
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
"L'installation est complète. Vous devez redémarrer\n"
"l'ordinateur pour utiliser la nouvelle installation.\n"
"Vous pouvez continuer à utiliser ce support live, bien que\n"
"tous les changements que vous apportez ou les documents\n"
"que vous sauvegardez ne seront pas préservés au redémarrage."
#: install_station/end.py:31
msgid "Installation Completed"
msgstr "Installation complétée"
#: install_station/end.py:47
msgid "Restart"
msgstr "Redémarrer"
#: install_station/end.py:49
msgid "Continue"
msgstr "Continuer"
#: install_station/error.py:17
msgid "Installation Error"
msgstr "Erreur d'installation"
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr "L'installation a échoué !"
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr "Système de signalement GhostBSD"
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
"Veuillez signaler le problème à {anchor}, et \n"
"assurez-vous de fournir /tmp/.pc-sysinstall/pc-sysinstall.log."
#: install_station/error.py:45
msgid "Ok"
msgstr "OK"
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr "Comment voulez-vous installer GhostBSD ?"
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
"<b>Configuration des disques</b>\n"
"Installer GhostBSD en utilisant les configurations Stripe, Mirror, RAIDZ1, "
"RAIDZ2, ou RAIDZ3."
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
"<b>Configuration multi-démarrage</b>\n"
"Installer GhostBSD avec ZFS aux côtés d'autres systèmes d'exploitation."
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr "Création de ghostbsd_installation.cfg"
#: install_station/install.py:50
msgid "Deleting partition"
msgstr "Suppression de la partition"
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr "Création de la partition de disque"
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr "Création de nouvelles partitions"
#: install_station/install.py:90
msgid "Installation in progress"
msgstr "Installation en cours"
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
"Merci d'avoir choisi GhostBSD !\n"
"\n"
"Nous croyons que chaque système d'exploitation devrait être simple, élégant, "
"sécurisé et protéger votre vie privée tout en étant facile à utiliser. "
"GhostBSD simplifie FreeBSD pour ceux qui manquent de l'expertise technique "
"nécessaire pour l'utiliser et abaisse le niveau d'entrée d'utilisation de "
"BSD. \n"
"\n"
"Nous espérons que vous apprécierez notre système d'exploitation BSD."
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr "Retour"
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr "Annuler"
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr "Suivant"
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr "Bienvenue dans GhostBSD"
#: install_station/interface_controller.py:116
msgid "Button"
msgstr "Bouton"
#: install_station/interface_controller.py:137
#, fuzzy
msgid "Keyboard Setup"
msgstr "Disposition du clavier"
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr "Configuration réseau"
#: install_station/interface_controller.py:160
#, fuzzy
msgid "Try Or Install GhostBSD"
msgstr "Installer GhostBSD"
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr "Types d'installation"
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr "Configuration personnalisée"
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr "Configuration ZFS"
#: install_station/interface_controller.py:203
msgid "Install"
msgstr "Installer"
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr "Progrès de l'installation"
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr "Barre de progrès"
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr "Tapez ici pour tester votre clavier"
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr "Disposition du clavier"
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr "Modèles de clavier"
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr "Anglais (États-Unis)"
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr "Anglais (Canada)"
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr "Français (Canada)"
#: install_station/language.py:93 install_station/language.py:197
#, fuzzy
msgid "Please select your language:"
msgstr "Veuillez sélectionner un lecteur"
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr "Langue"
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr "Carte réseau connectée à l'internet"
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr "Carte réseau non connectée à l'internet"
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr "Aucune carte réseau détectée"
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr "Carte WiFi détectée et connectée à un point d'accès"
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr "Carte WiFi détectée mais non connectée à un point d'accès"
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr "Carte WiFi non détectée ou non supportée"
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr "Authentification du réseau Wi-Fi requise"
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr "L'authentification du réseau Wi-Fi {ssid} a échoué"
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr "Authentification requise par le réseau Wi-Fi {ssid}"
#: install_station/network_setup.py:384
msgid "Password:"
msgstr "Mot de passe :"
#: install_station/network_setup.py:387
msgid "Show password"
msgstr "Afficher le mot de passe"
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
"Veuillez sélectionner 1 ou plusieurs disques pour stripe (sélectionnez "
"d'abord le plus petit disque)"
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
"Veuillez sélectionner 2 disques pour la mise en miroir (sélectionnez d'abord "
"le plus petit disque)"
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
"Veuillez sélectionner 3 disques pour RAIDZ1 (sélectionnez d'abord le plus "
"petit disque)"
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
"Veuillez sélectionner 4 disques pour RAIDZ2 (sélectionnez d'abord le plus "
"petit disque)"
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
"Veuillez sélectionner 5 disques pour RAIDZ3 (sélectionnez d'abord le plus "
"petit disque)"
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr "Disque"
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr "Taille (Mo)"
#: install_station/use_zfs.py:305
msgid "Name"
msgstr "Nom"
#: install_station/use_zfs.py:309
msgid "Check"
msgstr "Vérifier"
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr "Veuillez sélectionner un lecteur"
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr "<b>Type de pool</b>"
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr "1+ disques Stripe"
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr "2+ disques Miroir"
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr "3 disques RAIDZ1"
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr "4 disques RAIDZ2"
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr "5 disques RAIDZ3"
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr "<b>Nom du pool</b>"
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr "Chiffrer le disque"
#: install_station/use_zfs.py:369
msgid "Password"
msgstr "Mot de passe"
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr "Vérifiez-le"
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr "Avertissement"
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr "Le plus petit disque doit être SÉLECTIONNÉ en premier !\n"
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr "Tous les disques sélectionnés seront remis à zéro."
#~ msgid ""
#~ "Welcome! Please select your language to continue with the GhostBSD "
#~ "installation or live session."
#~ msgstr ""
#~ "Bienvenue ! Veuillez sélectionner votre langue pour continuer avec "
#~ "l'installation ou la session live de GhostBSD."
#~ msgid "Try GhostBSD"
#~ msgstr "Essayer GhostBSD"
#~ msgid ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD\".\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD\"."
#~ msgstr ""
#~ "Pour utiliser GhostBSD sans l'installer, sélectionnez \"Essayer "
#~ "GhostBSD\".\n"
#~ "Pour installer GhostBSD sur le disque dur de votre ordinateur, cliquez "
#~ "sur \"Installer GhostBSD\"."
+517
View File
@@ -0,0 +1,517 @@
# French translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <ericturgeon@ghostbsd.org>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 08:08-0300\n"
"Last-Translator: Eric Turgeon <ericturgeon@ghostbsd.org>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr_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"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr "Option de démarrage"
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr "Configurer le gestionnaire de démarrage rEFInd"
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr "Configurer le gestionnaire de démarrage FreeBSD"
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr "Chargeur FreeBSD {loader} uniquement"
#: install_station/common.py:108
msgid "Space not allowed"
msgstr "Espace non autorisé"
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr "Très faible"
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr "Très faible"
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr "Plutôt faible"
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr "Faible"
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr "Fort"
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr "Plutôt fort"
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr "Très fort"
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr "Très fort"
#: install_station/custom.py:248
msgid "Create"
msgstr "Créer"
#: install_station/custom.py:252
msgid "Delete"
msgstr "Supprimer"
#: install_station/custom.py:256
msgid "Revert"
msgstr "Annuler"
#: install_station/custom.py:260
msgid "Auto"
msgstr "Automatique"
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr "Ajouter une partition"
#: install_station/custom.py:342
msgid "Type:"
msgstr "Type :"
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr "Taille (Mo) :"
#: install_station/custom.py:344
msgid "Mount point:"
msgstr "Point de montage :"
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr "Schéma de partition"
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr "GPT : Table de partition GUID"
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr "MBR : Partition DOS"
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
"L'installation est terminée. Vous devez redémarrer\n"
"l'ordinateur pour utiliser la nouvelle installation.\n"
"Vous pouvez continuer à utiliser ce support live, bien que\n"
"tous les changements que vous apportez ou les documents\n"
"que vous sauvegardez ne seront pas préservés au redémarrage."
#: install_station/end.py:31
msgid "Installation Completed"
msgstr "Installation terminée"
#: install_station/end.py:47
msgid "Restart"
msgstr "Redémarrer"
#: install_station/end.py:49
msgid "Continue"
msgstr "Continuer"
#: install_station/error.py:17
msgid "Installation Error"
msgstr "Erreur d'installation"
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr "L'installation a échoué !"
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr "Système de signalement GhostBSD"
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
"Veuillez signaler le problème à {anchor}, et \n"
"assurez-vous de fournir /tmp/.pc-sysinstall/pc-sysinstall.log."
#: install_station/error.py:45
msgid "Ok"
msgstr "OK"
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr "Comment voulez-vous installer GhostBSD ?"
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
"<b>Configuration des disques</b>\n"
"Installer GhostBSD en utilisant les configurations Stripe, Mirror, RAIDZ1, "
"RAIDZ2, ou RAIDZ3."
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
"<b>Configuration multi-démarrage</b>\n"
"Installer GhostBSD avec ZFS aux côtés d'autres systèmes d'exploitation."
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr "Création de ghostbsd_installation.cfg"
#: install_station/install.py:50
msgid "Deleting partition"
msgstr "Suppression de la partition"
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr "Création de la partition de disque"
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr "Création de nouvelles partitions"
#: install_station/install.py:90
msgid "Installation in progress"
msgstr "Installation en cours"
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
"Merci d'avoir choisi GhostBSD !\n"
"\n"
"Nous croyons que chaque système d'exploitation devrait être simple, élégant, "
"sécurisé et protéger votre vie privée tout en étant facile à utiliser. "
"GhostBSD simplifie FreeBSD pour ceux qui manquent de l'expertise technique "
"nécessaire pour l'utiliser et abaisse le niveau d'entrée d'utilisation de "
"BSD. \n"
"\n"
"Nous espérons que vous apprécierez notre système d'exploitation BSD."
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr "Retour"
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr "Annuler"
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr "Suivant"
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr "Bienvenue sur GhostBSD"
#: install_station/interface_controller.py:116
msgid "Button"
msgstr "Bouton"
#: install_station/interface_controller.py:137
#, fuzzy
msgid "Keyboard Setup"
msgstr "Disposition du clavier"
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr "Configuration réseau"
#: install_station/interface_controller.py:160
#, fuzzy
msgid "Try Or Install GhostBSD"
msgstr "Installer GhostBSD"
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr "Types d'installation"
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr "Configuration personnalisée"
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr "Configuration ZFS"
#: install_station/interface_controller.py:203
msgid "Install"
msgstr "Installer"
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr "Progression de l'installation"
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr "Barre de progression"
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr "Tapez ici pour tester votre clavier"
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr "Disposition du clavier"
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr "Modèles de clavier"
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr "Anglais (États-Unis)"
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr "Anglais (Canada)"
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr "Français (Canada)"
#: install_station/language.py:93 install_station/language.py:197
#, fuzzy
msgid "Please select your language:"
msgstr "Veuillez sélectionner un lecteur"
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr "Langue"
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr "Carte réseau connectée à Internet"
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr "Carte réseau non connectée à Internet"
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr "Aucune carte réseau détectée"
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr "Carte WiFi détectée et connectée à un point d'accès"
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr "Carte WiFi détectée mais non connectée à un point d'accès"
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr "Carte WiFi non détectée ou non prise en charge"
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr "Authentification du réseau Wi-Fi requise"
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr "L'authentification du réseau Wi-Fi {ssid} a échoué"
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr "Authentification requise par le réseau Wi-Fi {ssid}"
#: install_station/network_setup.py:384
msgid "Password:"
msgstr "Mot de passe :"
#: install_station/network_setup.py:387
msgid "Show password"
msgstr "Afficher le mot de passe"
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
"Veuillez sélectionner 1 ou plusieurs disques pour stripe (sélectionnez "
"d'abord le plus petit disque)"
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
"Veuillez sélectionner 2 disques pour la mise en miroir (sélectionnez d'abord "
"le plus petit disque)"
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
"Veuillez sélectionner 3 disques pour RAIDZ1 (sélectionnez d'abord le plus "
"petit disque)"
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
"Veuillez sélectionner 4 disques pour RAIDZ2 (sélectionnez d'abord le plus "
"petit disque)"
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
"Veuillez sélectionner 5 disques pour RAIDZ3 (sélectionnez d'abord le plus "
"petit disque)"
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr "Disque"
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr "Taille (Mo)"
#: install_station/use_zfs.py:305
msgid "Name"
msgstr "Nom"
#: install_station/use_zfs.py:309
msgid "Check"
msgstr "Vérifier"
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr "Veuillez sélectionner un lecteur"
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr "<b>Type de pool</b>"
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr "1+ disques Stripe"
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr "2+ disques Miroir"
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr "3 disques RAIDZ1"
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr "4 disques RAIDZ2"
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr "5 disques RAIDZ3"
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr "<b>Nom du pool</b>"
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr "Chiffrer le disque"
#: install_station/use_zfs.py:369
msgid "Password"
msgstr "Mot de passe"
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr "Vérifiez-le"
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr "Avertissement"
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr "Le plus petit disque doit être SÉLECTIONNÉ en premier !\n"
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr "Tous les disques sélectionnés seront réinitialisés."
#~ msgid ""
#~ "Welcome! Please select your language to continue with the GhostBSD "
#~ "installation or live session."
#~ msgstr ""
#~ "Bienvenue ! Veuillez sélectionner votre langue pour continuer avec "
#~ "l'installation ou la session live de GhostBSD."
#~ msgid "Try GhostBSD"
#~ msgstr "Essayez GhostBSD"
#~ msgid ""
#~ "To run GhostBSD without installing, select \"Try GhostBSD\".\n"
#~ "To install GhostBSD on your computer hard disc drive, click \"Install "
#~ "GhostBSD\"."
#~ msgstr ""
#~ "Pour exécuter GhostBSD sans l'installer, sélectionnez \"Essayez "
#~ "GhostBSD\".\n"
#~ "Pour installer GhostBSD sur le disque dur de votre ordinateur, cliquez "
#~ "sur \"Installer GhostBSD\"."
+464
View File
@@ -0,0 +1,464 @@
# Croatian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:26-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Hungarian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:24-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Italian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:19-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Japanese translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:21-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Korean translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:25-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Korean <translation-team-ko@googlegroups.com>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+464
View File
@@ -0,0 +1,464 @@
# Lithuanian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:26-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+464
View File
@@ -0,0 +1,464 @@
# Latvian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:26-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Dutch translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:22-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Norwegian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:24-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian\n"
"Language: no\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+464
View File
@@ -0,0 +1,464 @@
# Polish translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:22-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+464
View File
@@ -0,0 +1,464 @@
# Portuguese translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:19-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Brazilian Portuguese <ldpbr-"
"translation@lists.sourceforge.net>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Portuguese translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:27-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+464
View File
@@ -0,0 +1,464 @@
# Romanian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:26-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+464
View File
@@ -0,0 +1,464 @@
# Russian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:20-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Slovak translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:24-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+464
View File
@@ -0,0 +1,464 @@
# Slovenian translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:26-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
"n%100==4 ? 2 : 3);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Swedish translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:22-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+462
View File
@@ -0,0 +1,462 @@
# Thai translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:27-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Thai <(nothing)>\n"
"Language: th\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Turkish translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:24-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+463
View File
@@ -0,0 +1,463 @@
# Vietnamese translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:27-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+462
View File
@@ -0,0 +1,462 @@
# Chinese translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:21-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+462
View File
@@ -0,0 +1,462 @@
# Chinese translations for PACKAGE package.
# Copyright (C) 2025 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Eric Turgeon <EMAIL@ADDRESS>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-12 21:21-0300\n"
"PO-Revision-Date: 2025-07-09 20:25-0300\n"
"Last-Translator: Eric Turgeon <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (traditional) <zh-l10n@lists.slat.org>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
#: install_station/boot_manager.py:121
#: install_station/interface_controller.py:201
msgid "Boot Option"
msgstr ""
#: install_station/boot_manager.py:135
msgid "Setup rEFInd boot manager"
msgstr ""
#: install_station/boot_manager.py:149
msgid "Setup FreeBSD boot manager"
msgstr ""
#: install_station/boot_manager.py:164
#, python-brace-format
msgid "FreeBSD {loader} loader only"
msgstr ""
#: install_station/common.py:108
msgid "Space not allowed"
msgstr ""
#: install_station/common.py:110 install_station/common.py:112
msgid "Super Weak"
msgstr ""
#: install_station/common.py:114 install_station/common.py:120
msgid "Very Weak"
msgstr ""
#: install_station/common.py:116 install_station/common.py:122
#: install_station/common.py:128
msgid "Fairly Weak"
msgstr ""
#: install_station/common.py:118 install_station/common.py:124
#: install_station/common.py:130 install_station/common.py:136
msgid "Weak"
msgstr ""
#: install_station/common.py:126 install_station/common.py:132
#: install_station/common.py:138 install_station/common.py:144
msgid "Strong"
msgstr ""
#: install_station/common.py:134 install_station/common.py:140
#: install_station/common.py:146 install_station/common.py:152
msgid "Fairly Strong"
msgstr ""
#: install_station/common.py:142 install_station/common.py:148
msgid "Very Strong"
msgstr ""
#: install_station/common.py:150 install_station/common.py:154
msgid "Super Strong"
msgstr ""
#: install_station/custom.py:248
msgid "Create"
msgstr ""
#: install_station/custom.py:252
msgid "Delete"
msgstr ""
#: install_station/custom.py:256
msgid "Revert"
msgstr ""
#: install_station/custom.py:260
msgid "Auto"
msgstr ""
#: install_station/custom.py:328 install_station/custom.py:566
msgid "Add Partition"
msgstr ""
#: install_station/custom.py:342
msgid "Type:"
msgstr ""
#: install_station/custom.py:343 install_station/custom.py:580
msgid "Size(MB):"
msgstr ""
#: install_station/custom.py:344
msgid "Mount point:"
msgstr ""
#: install_station/custom.py:496
msgid "Partition Scheme"
msgstr ""
#: install_station/custom.py:515
msgid "GPT: GUID Partition Table"
msgstr ""
#: install_station/custom.py:516
msgid "MBR: DOS Partition"
msgstr ""
#: install_station/end.py:10
msgid ""
"Installation is complete. You need to restart the\n"
"computer in order to use the new installation.\n"
"You can continue to use this live media, although\n"
"any changes you make or documents you save will\n"
"not be preserved on reboot."
msgstr ""
#: install_station/end.py:31
msgid "Installation Completed"
msgstr ""
#: install_station/end.py:47
msgid "Restart"
msgstr ""
#: install_station/end.py:49
msgid "Continue"
msgstr ""
#: install_station/error.py:17
msgid "Installation Error"
msgstr ""
#: install_station/error.py:28
msgid "Installation has failed!"
msgstr ""
#: install_station/error.py:33
msgid "GhostBSD issue system"
msgstr ""
#: install_station/error.py:35
#, python-brace-format
msgid ""
"Please report the issue to {anchor}, and \n"
"be sure to provide /tmp/.pc-sysinstall/pc-sysinstall.log."
msgstr ""
#: install_station/error.py:45
msgid "Ok"
msgstr ""
#: install_station/install_type.py:52
msgid "How do you want to install GhostBSD?"
msgstr ""
#: install_station/install_type.py:58
msgid ""
"<b>Disks Configuration</b>\n"
"Install GhostBSD using Stripe, Mirror, RAIDZ1, RAIDZ2, or RAIDZ3 "
"configurations."
msgstr ""
#: install_station/install_type.py:71
msgid ""
"<b>Multi-Boot Configuration</b>\n"
"Install GhostBSD with ZFS alongside other operating systems."
msgstr ""
#: install_station/install.py:46
msgid "Creating ghostbsd_installation.cfg"
msgstr ""
#: install_station/install.py:50
msgid "Deleting partition"
msgstr ""
#: install_station/install.py:55
msgid "Creating disk partition"
msgstr ""
#: install_station/install.py:60
msgid "Creating new partitions"
msgstr ""
#: install_station/install.py:90
msgid "Installation in progress"
msgstr ""
#: install_station/install.py:102
msgid ""
"Thank you for choosing GhostBSD!\n"
"\n"
"We believe every computer operating system should be simple, elegant, secure "
"and protect your privacy while being easy to use. GhostBSD is simplifying "
"FreeBSD for those who lack the technical expertise required to use it and "
"lower the entry-level of using BSD. \n"
"\n"
"We hope you'll enjoy our BSD operating system."
msgstr ""
#: install_station/interface_controller.py:9
#: install_station/interface_controller.py:20
msgid "Back"
msgstr ""
#: install_station/interface_controller.py:11
#: install_station/interface_controller.py:21
msgid "Cancel"
msgstr ""
#: install_station/interface_controller.py:13
#: install_station/interface_controller.py:22
#: install_station/interface_controller.py:257
msgid "Next"
msgstr ""
#: install_station/interface_controller.py:106
#: install_station/interface_controller.py:107 install_station/language.py:101
msgid "Welcome to GhostBSD"
msgstr ""
#: install_station/interface_controller.py:116
msgid "Button"
msgstr ""
#: install_station/interface_controller.py:137
msgid "Keyboard Setup"
msgstr ""
#: install_station/interface_controller.py:149
#: install_station/interface_controller.py:234
#: install_station/interface_controller.py:239
msgid "Network Setup"
msgstr ""
#: install_station/interface_controller.py:160
msgid "Try Or Install GhostBSD"
msgstr ""
#: install_station/interface_controller.py:170
msgid "Installation Types"
msgstr ""
#: install_station/interface_controller.py:181
msgid "Custom Configuration"
msgstr ""
#: install_station/interface_controller.py:191
msgid "ZFS Configuration"
msgstr ""
#: install_station/interface_controller.py:203
msgid "Install"
msgstr ""
#: install_station/interface_controller.py:213
msgid "Installation Progress"
msgstr ""
#: install_station/interface_controller.py:220
msgid "Progress Bar"
msgstr ""
#: install_station/keyboard.py:40
msgid "Type here to test your keyboard"
msgstr ""
#: install_station/keyboard.py:97
msgid "Keyboard Layout"
msgstr ""
#: install_station/keyboard.py:117
msgid "Keyboard Models"
msgstr ""
#: install_station/keyboard.py:225
msgid "English (US)"
msgstr ""
#: install_station/keyboard.py:226
msgid "English (Canada)"
msgstr ""
#: install_station/keyboard.py:227
msgid "French (Canada)"
msgstr ""
#: install_station/language.py:93 install_station/language.py:197
msgid "Please select your language:"
msgstr ""
#: install_station/language.py:99 install_station/language.py:116
msgid "Language"
msgstr ""
#: install_station/network_setup.py:107 install_station/network_setup.py:184
msgid "Network card connected to the internet"
msgstr ""
#: install_station/network_setup.py:113 install_station/network_setup.py:190
msgid "Network card not connected to the internet"
msgstr ""
#: install_station/network_setup.py:116 install_station/network_setup.py:193
msgid "No network card detected"
msgstr ""
#: install_station/network_setup.py:125 install_station/network_setup.py:203
msgid "WiFi card detected and connected to an access point"
msgstr ""
#: install_station/network_setup.py:129 install_station/network_setup.py:207
msgid "WiFi card detected but not connected to an access point"
msgstr ""
#: install_station/network_setup.py:132 install_station/network_setup.py:210
msgid "WiFi card not detected or not supported"
msgstr ""
#: install_station/network_setup.py:366
msgid "Wi-Fi Network Authentication Required"
msgstr ""
#: install_station/network_setup.py:379
#, python-brace-format
msgid "{ssid} Wi-Fi Network Authentication failed"
msgstr ""
#: install_station/network_setup.py:381
#, python-brace-format
msgid "Authentication required by {ssid} Wi-Fi Network"
msgstr ""
#: install_station/network_setup.py:384
msgid "Password:"
msgstr ""
#: install_station/network_setup.py:387
msgid "Show password"
msgstr ""
#: install_station/try_install.py:102
msgid "What would you like to do?"
msgstr ""
#: install_station/try_install.py:109
msgid ""
"<b>Install GhostBSD</b>\n"
"Install GhostBSD on your computer."
msgstr ""
#: install_station/try_install.py:122
msgid ""
"<b>Try GhostBSD</b>\n"
"Run GhostBSD without installing to your computer."
msgstr ""
#: install_station/use_zfs.py:160
msgid ""
"Please select 1 or more drive for stripe (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:167
msgid "Please select 2 drive for mirroring (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:175
msgid "Please select 3 drive for RAIDZ1 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:182
msgid "Please select 4 drive for RAIDZ2 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:189
msgid "Please select 5 drive for RAIDZ3 (select the smallest disk first)"
msgstr ""
#: install_station/use_zfs.py:292
msgid "Disk"
msgstr ""
#: install_station/use_zfs.py:299
msgid "Size(MB)"
msgstr ""
#: install_station/use_zfs.py:305
msgid "Name"
msgstr ""
#: install_station/use_zfs.py:309
msgid "Check"
msgstr ""
#: install_station/use_zfs.py:322
msgid "Please select one drive"
msgstr ""
#: install_station/use_zfs.py:327
msgid "<b>Pool Type</b>"
msgstr ""
#: install_station/use_zfs.py:331
msgid "1+ disks Stripe"
msgstr ""
#: install_station/use_zfs.py:332
msgid "2+ disks Mirror"
msgstr ""
#: install_station/use_zfs.py:333
msgid "3 disks RAIDZ1"
msgstr ""
#: install_station/use_zfs.py:334
msgid "4 disks RAIDZ2"
msgstr ""
#: install_station/use_zfs.py:335
msgid "5 disks RAIDZ3"
msgstr ""
#: install_station/use_zfs.py:345
msgid "<b>Pool Name</b>"
msgstr ""
#: install_station/use_zfs.py:365
msgid "Encrypt Disk"
msgstr ""
#: install_station/use_zfs.py:369
msgid "Password"
msgstr ""
#: install_station/use_zfs.py:376
msgid "Verify it"
msgstr ""
#: install_station/use_zfs.py:537
msgid "Warning"
msgstr ""
#: install_station/use_zfs.py:548
msgid "Smallest disk need to be SELECTED first!\n"
msgstr ""
#: install_station/use_zfs.py:549
msgid "All the disk selected will reset."
msgstr ""
+160 -32
View File
@@ -1,56 +1,184 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Setup script for Install Station.
Install Station is a streamlined installer for GhostBSD, providing
a GTK+ interface for disk partitioning and OS installation.
"""
import os
import sys
# from glob import glob
from setuptools import setup
from setuptools import setup, Command
import glob
from DistUtilsExtra.command.build_extra import build_extra
from DistUtilsExtra.command.build_i18n import build_i18n
from DistUtilsExtra.command.clean_i18n import clean_i18n
# import DistUtilsExtra.command.build_extra
# import DistUtilsExtra.command.build_i18n
# import DistUtilsExtra.command.clean_i18n
# to update i18n .mo files (and merge .pot file into .po files) run on Linux:
# ,,python setup.py build_i18n -m''
# silence pyflakes, __VERSION__ is properly assigned below...
prefix = sys.prefix
__VERSION__ = '0.1'
# for line in open('gbinstall', 'r').readlines():
# if (line.startswith('__VERSION__')):
# exec(line.strip())
PROGRAM_VERSION = __VERSION__
def datafilelist(installbase, sourcebase):
datafileList = []
for root, subFolders, files in os.walk(sourcebase):
fileList = []
def data_file_list(install_base, source_base):
"""
Generate list of data files for installation.
Args:
install_base: Base installation path
source_base: Source directory to scan
Returns:
List of (install_path, files) tuples for setuptools
"""
data = []
for root, subFolders, files in os.walk(source_base):
file_list = []
for f in files:
fileList.append(os.path.join(root, f))
datafileList.append((root.replace(sourcebase, installbase), fileList))
return datafileList
file_list.append(os.path.join(root, f))
# Only add directories that actually have files
if file_list:
data.append((root.replace(source_base, install_base), file_list))
return data
prefix = sys.prefix
class UpdateTranslationsCommand(Command):
"""Custom command to extract messages and update .po files."""
# data_files.extend(datafilelist('{prefix}/share/locale'.format(prefix=sys.prefix), 'build/mo'))
description = 'Extract messages to .pot and update .po'
user_options = [] # No custom options
# cmdclass ={
# "build" : DistUtilsExtra.command.build_extra.build_extra,
# "build_i18n" : DistUtilsExtra.command.build_i18n.build_i18n,
# "clean": DistUtilsExtra.command.clean_i18n.clean_i18n,
# }
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
# Define paths
pot_file = 'po/install-station.pot'
po_files = glob.glob('po/*.po')
# Check if .pot file exists, create it if it doesn't
if not os.path.exists(pot_file):
print(f"POT file {pot_file} does not exist. Creating it...")
else:
print("Updating existing .pot file...")
# Step 1: Extract messages to .pot file (create or update)
print("Extracting messages to .pot file...")
os.system(
f'xgettext --from-code=UTF-8 -L Python --keyword=get_text -o {pot_file}'
' install_station/*.py install-station'
)
# Verify .pot file was created successfully
if not os.path.exists(pot_file):
print(f"Error: Failed to create {pot_file}")
return
# Step 2: Update .po files with the new .pot file
print("Updating .po files with new translations...")
for po_file in po_files:
print(f"Updating {po_file}...")
os.system(f'msgmerge -U {po_file} {pot_file}')
print("Translation update complete.")
class CreateTranslationCommand(Command):
"""Custom command to create a new .po file for a specific language."""
locale = None
description = 'Create a new .po file for the specified language'
user_options = [
('locale=', 'l', 'Locale code for the new translation (e.g., fr, es)')
]
def initialize_options(self):
self.locale = None # Initialize the locale option to None
def finalize_options(self):
if self.locale is None:
raise Exception("You must specify the locale code (e.g., --locale=fr)")
def run(self):
# Define paths
pot_file = 'po/install-station.pot'
po_dir = 'po'
po_file = os.path.join(po_dir, f'{self.locale}.po')
# Check if the .pot file exists
if not os.path.exists(pot_file):
print("Extracting messages to .pot file...")
os.system(
f'xgettext --from-code=UTF-8 -L Python --keyword=get_text -o {pot_file}'
' install_station/*.py install-station'
)
# Create the new .po file
if not os.path.exists(po_file):
print(f"Creating new {po_file} for locale '{self.locale}'...")
os.makedirs(po_dir, exist_ok=True)
os.system(f'msginit --locale={self.locale} --input={pot_file} --output-file={po_file}')
else:
print(f"PO file for locale '{self.locale}' already exists: {po_file}")
lib_install_station_image = [
'src/image/G_logo.gif',
'src/image/install-gbsd.png',
'src/image/logo.png',
'src/image/disk.png',
'src/image/laptop.png',
'src/image/installation.jpg'
]
lib_install_station_backend_query = [
'src/backend-query/detect-laptop.sh',
'src/backend-query/detect-nics.sh',
'src/backend-query/detect-scheme.sh',
'src/backend-query/detect-vmware.sh',
'src/backend-query/detect-wifi.sh',
'src/backend-query/disk-info.sh',
'src/backend-query/disk-label.sh',
'src/backend-query/disk-list.sh',
'src/backend-query/disk-part.sh',
'src/backend-query/enable-net.sh',
'src/backend-query/list-components.sh',
'src/backend-query/list-rsync-backups.sh',
'src/backend-query/list-tzones.sh',
'src/backend-query/query-langs.sh',
'src/backend-query/send-logs.sh',
'src/backend-query/setup-ssh-keys.sh',
'src/backend-query/sys-mem.sh',
'src/backend-query/test-live.sh',
'src/backend-query/test-netup.sh',
'src/backend-query/update-part-list.sh',
'src/backend-query/xkeyboard-layouts.sh',
'src/backend-query/xkeyboard-models.sh',
'src/backend-query/xkeyboard-variants.sh'
]
data_files = [
(f'{prefix}/lib/install-station', ['src/ghostbsd-style.css']),
(f'{prefix}/lib/install-station/backend-query', lib_install_station_backend_query),
(f'{prefix}/lib/install-station/image', lib_install_station_image)
]
data_files.extend(data_file_list(f'{prefix}/share/locale', 'build/mo'))
setup(
name="install-station",
version=PROGRAM_VERSION,
description="install-station is a stripdown version of gbi",
description="Install Station - Streamlined GhostBSD installer",
license='BSD',
author='Eric Turgeon',
url='https://github/GhostBSD/install-station/',
package_dir={'': '.'},
install_requires=['setuptools'],
scripts=['install-station']
packages=['install_station'],
scripts=['install-station'],
data_files=data_files,
cmdclass={
'create_translation': CreateTranslationCommand,
'update_translations': UpdateTranslationsCommand,
"build": build_extra,
"build_i18n": build_i18n,
"clean": clean_i18n
}
)
# cmdclass = cmdclass,
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
dmesgLine=`dmesg | grep "acpi_acad0"`
if test "${dmesgLine}" = ""; then
echo "laptop: NO"
else
echo "laptop: YES"
fi
+16
View File
@@ -0,0 +1,16 @@
#!/bin/sh
rm /tmp/netCards 2>/dev/null
touch /tmp/netCards
config="`ifconfig -l`"
for i in $config
do
echo "${i}" | grep -e "lo0" -e "^fwe" -e "^fwip" -e "lo1" -e "^plip" -e "^pfsync" -e "^pflog" -e "^tun" >/dev/null 2>/dev/null
if [ "$?" != "0" ]
then
IDENT="<`dmesg | grep ^${i} | grep -v "miibus" | grep '<' | cut -d '<' -f 2 | cut -d '>' -f 1 | head -1`>"
echo "${i}: $IDENT"
fi
done
+52
View File
@@ -0,0 +1,52 @@
#!/bin/sh
#
# Copyright (c) 2009-2012, GhostBSD. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistribution's of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistribution's in binary form must reproduce the above
# copyright notice,this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# 3. Neither then name of GhostBSD Project nor the names of its
# contributors maybe used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# /usr/local/etc/install-station/detect-sheme.sh v 0.1 Wed May 1 20:31:52 ADT 2013 Eric Turgeon
#
# Detect a disk sheme and display them.
#
DISK="${1}"
TMPDIR=${TMPDIR:-"/tmp"}
# Display if this is GPT or MBR formatted
gpart show ${1} | grep "GPT" >/dev/null 2>/dev/null
if [ "$?" = "0" ] ; then
#echo "${1}-format: GPT"
TYPE="GPT"
else
#echo "${1}-format: MBR"
TYPE="MBR"
fi
echo ${TYPE}
+12
View File
@@ -0,0 +1,12 @@
#!/bin/sh
pciconf -lv | grep -i vmware >/dev/null 2>/dev/null
if [ "$?" = "0" ]
then
echo "vmware: YES"
exit 0
else
echo "vmware: NO"
exit 1
fi
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
NIC="$1"
ifconfig ${NIC} | grep -q "802.11" 2>/dev/null
if [ $? -eq 0 ]; then
echo 'yes'
else
echo 'no'
fi
+72
View File
@@ -0,0 +1,72 @@
#!/bin/sh
# Query a disk for partitions and display them
#############################
if [ -z "${1}" ]
then
echo "Error: No disk specified!"
exit 1
fi
if [ ! -e "/dev/${1}" ]
then
echo "Error: Disk /dev/${1} does not exist!"
exit 1
fi
# Function to convert bytes to megabytes
convert_byte_to_megabyte()
{
if [ -z "${1}" ]
then
echo "Error: No bytes specified!"
exit 1
fi
expr -e ${1} / 1048576
};
# Function which returns a target disks cylinders
get_disk_cyl()
{
cyl=`diskinfo -v ${1} | grep "# Cylinders" | tr -s ' ' | cut -f 2`
export VAL="${cyl}"
};
DISK="${1}"
# Function which returns a target disks heads
get_disk_heads()
{
head=`diskinfo -v ${1} | grep "# Heads" | tr -s ' ' | cut -f 2`
export VAL="${head}"
};
# Function which returns a target disks sectors
get_disk_sectors()
{
sec=`diskinfo -v ${1} | grep "# Sectors" | tr -s ' ' | cut -f 2`
export VAL="${sec}"
};
get_disk_cyl "${DISK}"
CYLS="${VAL}"
get_disk_heads "${DISK}"
HEADS="${VAL}"
get_disk_sectors "${DISK}"
SECS="${VAL}"
#echo "cylinders=${CYLS}"
#echo "heads=${HEADS}"
#echo "sectors=${SECS}"
# Now get the disks size in MB
KB="`diskinfo -v ${1} | grep 'bytes' | cut -d '#' -f 1 | tr -s '\t' ' ' | tr -d ' '`"
MB=$(convert_byte_to_megabyte ${KB})
#echo "size=$MB"
echo "$MB"
# Now get the Controller Type
CTYPE="`dmesg | grep "^${1}:" | grep "B <" | cut -d '>' -f 2 | cut -d ' ' -f 3-10`"
#echo "type=$CTYPE"
+45
View File
@@ -0,0 +1,45 @@
#!/bin/sh
# Query a disk for partitions and display them
#############################
DISK="${1}"
TMPDIR=${TMPDIR:-"/tmp"}
# Display if this is GPT or MBR formatted
gpart show ${1} | grep "GPT" >/dev/null 2>/dev/null
if [ "$?" = "0" ] ; then
#echo "${1}-format: GPT"
TYPE="GPT"
else
#echo "${1}-format: MBR"
TYPE="MBR"
fi
if [ "$TYPE" = "MBR" ] ; then
sp="s"
else
sp="p"
fi
# Get a listing of partitions on this disk
gpart show ${DISK} | grep -v ${DISK} | tr -s '\t' ' ' | cut -d ' ' -f 4,3,5 >${TMPDIR}/disk-${DISK}
while read i
do
if [ ! -z "${i}" ] ; then
BLOCK="`echo ${i} | cut -d ' ' -f 1`"
MB="`expr ${BLOCK} / 2048`MB"
fi
if [ ! "${MB}" = "0MB" ] ; then
FS="`echo ${i} | cut -d ' ' -f 3`"
SLICE="`echo ${i} | cut -d ' ' -f 2`"
if [ "$SLICE" = '-' ] ; then
echo "${MB} freespace none"
else
if [ ! -z "$SLICE" ] ; then
echo "${MB} ${SLICE} ${FS}"
fi
fi
fi
done <${TMPDIR}/disk-${DISK}
+35
View File
@@ -0,0 +1,35 @@
#!/bin/sh
# Create our device listing
SYSDISK=$(sysctl -n kern.disks)
# Now loop through these devices, and list the disk drives
for i in ${SYSDISK}
do
# Get the current device
DEV="${i}"
# Make sure we don't find any cd devices
case "${DEV}" in
acd[0-9]*|cd[0-9]*|scd[0-9]*) continue ;;
esac
# Check the dmesg output for some more info about this device
NEWLINE=$(dmesg | sed -n "s/^$DEV: .*<\(.*\)>.*$/ <\1>/p" | head -n 1)
if [ -z "$NEWLINE" ]; then
NEWLINE=" <Unknown Device>"
fi
# Save the disk list
if [ ! -z "$DLIST" ]
then
DLIST="\n${DLIST}"
fi
DLIST="${DEV} ${NEWLINE}${DLIST}"
done
# Echo out the found line
echo -e "$DLIST" | sort
+49
View File
@@ -0,0 +1,49 @@
#!/bin/sh
# Query a disk for partitions and display them
#############################
DISK="${1}"
TMPDIR=${TMPDIR:-"/tmp"}
# Display if this is GPT or MBR formatted
gpart show ${DISK} | grep "GPT" >/dev/null 2>/dev/null
if [ "$?" = "0" ] ; then
#echo "${1}-format: GPT"
TYPE="GPT"
else
#echo "${1}-format: MBR"
TYPE="MBR"
fi
if [ "$TYPE" = "MBR" ] ; then
sp="s"
else
sp="p"
fi
# Get a listing of partitions on this disk
gpart show ${DISK} | grep -v ${DISK} | tr -s '\t' ' ' | cut -d ' ' -f 4,3,5 >${TMPDIR}/disk-${DISK}
while read i
do
if [ ! -z "${i}" ] ; then
BLOCK="`echo ${i} | cut -d ' ' -f 1`"
if [ "${BLOCK}" -ge 2048 ] ; then
MB="`expr ${BLOCK} / 2048`"
else
MB="1"
fi
fi
if [ ! "${MB}" = "0" ] ; then
LABEL="`echo ${i} | cut -d ' ' -f 3`"
SLICE="`echo ${i} | cut -d ' ' -f 2`"
if [ "$SLICE" = '-' ] ; then
if [ ! "${MB}" = "1" ] ; then
echo "freespace ${MB} none"
fi
else
if [ ! -z "$SLICE" ] ; then
echo "${DISK}${sp}${SLICE} ${MB} ${LABEL} "
fi
fi
fi
done <${TMPDIR}/disk-${DISK}
+39
View File
@@ -0,0 +1,39 @@
#!/bin/sh
# Script which enables networking with specified options
###########################################################################
. ${PROGDIR}/backend/functions.sh
. ${PROGDIR}/conf/pc-sysinstall.conf
. ${BACKEND}/functions-networking.sh
. ${BACKEND}/functions-parse.sh
NIC="$1"
IP="$2"
NETMASK="$3"
DNS="$4"
GATEWAY="$5"
MIRRORFETCH="$6"
if [ -z "${NIC}" ]
then
echo "ERROR: Usage enable-net <nic> <ip> <netmask> <dns> <gateway>"
exit 150
fi
if [ "$NIC" = "AUTO-DHCP" ]
then
enable_auto_dhcp
else
echo "Enabling NIC: $NIC"
ifconfig ${NIC} ${IP} ${NETMASK}
echo "nameserver ${DNS}" >/etc/resolv.conf
route add default ${GATE}
fi
case ${MIRRORFETCH} in
ON|on|yes|YES) fetch -o /tmp/mirrors-list.txt ${MIRRORLIST} >/dev/null 2>/dev/null;;
*) ;;
esac
+28
View File
@@ -0,0 +1,28 @@
#!/bin/sh
# Script which lists the available components for this release
###########################################################################
. ${PROGDIR}/backend/functions.sh
echo "Available Components:"
cd ${COMPDIR}
for i in `ls -d *`
do
if [ -e "${i}/component.cfg" -a -e "${i}/install.sh" -a -e "${i}/distfiles" ]
then
NAME="`grep 'name:' ${i}/component.cfg | cut -d ':' -f 2`"
DESC="`grep 'description:' ${i}/component.cfg | cut -d ':' -f 2`"
TYPE="`grep 'type:' ${i}/component.cfg | cut -d ':' -f 2`"
echo " "
echo "name: ${i}"
echo "desc:${DESC}"
echo "type:${TYPE}"
if [ -e "${i}/component.png" ]
then
echo "icon: ${COMPDIR}/${i}/component.png"
fi
fi
done
+44
View File
@@ -0,0 +1,44 @@
#!/bin/sh
# Script which lists the backups present on a server
###########################################################################
. ${PROGDIR}/backend/functions.sh
SSHUSER=$1
SSHHOST=$2
SSHPORT=$3
if [ -z "${SSHHOST}" -o -z "${SSHPORT}" ]
then
echo "ERROR: Usage list-rsync-backups.sh <user> <host> <port>"
exit 150
fi
# Look for full-system backups, needs at minimum a kernel to be bootable
FINDCMD="find . -type d -maxdepth 6 -name 'kernel' | grep '/boot/kernel'"
# Get a listing of the number of full backups saved
OLDBACKUPS=`ssh -o 'BatchMode=yes' -p ${SSHPORT} ${SSHUSER}@${SSHHOST} "${FINDCMD}"`
if [ "$?" = "0" ]
then
for i in ${OLDBACKUPS}
do
BACKPATH="`echo ${i} | sed 's|/boot/.*||g' | sed 's|^./||g'`"
if [ -z "${BACKLIST}" ]
then
BACKLIST="${BACKPATH}"
else
BACKLIST="${BACKLIST}:${BACKPATH}"
fi
done
if [ -z "${BACKLIST}" ]
then
echo "NONE"
else
echo "$BACKLIST"
fi
else
echo "FAILED"
fi
+18
View File
@@ -0,0 +1,18 @@
#!/bin/sh
rm ${TMPDIR}/.tzonetmp >/dev/null 2>/dev/null
# Backend script which lists all the available timezones for front-ends to display
while read line
do
echo "$line" | grep "^#" >/dev/null 2>/dev/null
if [ "$?" != "0" ]
then
echo "$line" | tr -s "\t" ":" | cut -d ":" -f 3-4 >>${TMPDIR}/.tzonetmp
fi
done < /usr/share/zoneinfo/zone.tab
sort ${TMPDIR}/.tzonetmp
rm -f ${TMPDIR}/.tzonetmp >/dev/null 2>/dev/null
exit 0
+7
View File
@@ -0,0 +1,7 @@
#!/bin/sh
FOUND="0"
cat ${PROGDIR}/conf/avail-langs
exit 0
+57
View File
@@ -0,0 +1,57 @@
#!/bin/sh
# Script which creates a gzipped log and optionally mails it to the specified address
############################################################################
. ${PROGDIR}/backend/functions.sh
. ${PROGDIR}/conf/pc-sysinstall.conf
. ${BACKEND}/functions-networking.sh
. ${BACKEND}/functions-parse.sh
# Bring up all NICS under DHCP
enable_auto_dhcp
MAILTO="$1"
MAILRESULT="0"
# Set the location of our compressed log
TMPLOG="/tmp/pc-sysinstall.log"
echo "# PC-SYSINSTALL LOG" >${TMPLOG}
cat ${LOGOUT} >> ${TMPLOG}
# Check if we have a GUI generated install cfg
if [ -e "/tmp/sys-install.cfg" ]
then
echo "" >>${TMPLOG}
echo "# PC-SYSINSTALL CFG " >>${TMPLOG}
cat /tmp/sys-install.cfg >> ${TMPLOG}
fi
# Save dmesg output
echo "" >>${TMPLOG}
echo "# DMESG OUTPUT " >>${TMPLOG}
dmesg >> ${TMPLOG}
# Get gpart info on all disks
for i in `${PROGDIR}/pc-sysinstall disk-list | cut -d ':' -f 1`
do
echo "" >>${TMPLOG}
echo "# DISK INFO $i " >>${TMPLOG}
ls /dev/${i}* >>${TMPLOG}
gpart show ${i} >> ${TMPLOG}
done
# Show Mounted volumes
echo "" >>${TMPLOG}
echo "# MOUNT OUTPUT " >>${TMPLOG}
mount >> ${TMPLOG}
echo "Log file saved to ${TMPLOG}"
echo "Warning: This file will be lost once the system is rebooted."
echo "Do you wish to view this logfile now? (Y/N)"
read tmp
if [ "$tmp" = "Y" -o "$tmp" = "y" ]
then
more ${TMPLOG}
fi
+38
View File
@@ -0,0 +1,38 @@
#!/bin/sh
# Script which sets up password-less logins for ssh host
###########################################################################
. ${PROGDIR}/backend/functions.sh
SSHUSER=$1
SSHHOST=$2
SSHPORT=$3
if [ -z "${SSHUSER}" -o -z "${SSHHOST}" -o -z "${SSHPORT}" ]
then
echo "ERROR: Usage setup-ssh-keys <user> <host> <port>"
exit 150
fi
cd ~
echo "Preparing to setup SSH key authorization..."
echo "When prompted, enter your password for ${SSHUSER}@${SSHHOST}"
if [ ! -e ".ssh/id_rsa.pub" ]
then
mkdir .ssh >/dev/null 2>/dev/null
ssh-keygen -q -t rsa -N '' -f .ssh/id_rsa
sleep 1
fi
if [ ! -e ".ssh/id_rsa.pub" ]
then
echo "ERROR: Failed creating .ssh/id_rsa.pub"
exit 150
fi
# Get the .pub key
PUBKEY="`cat .ssh/id_rsa.pub`"
ssh -p ${SSHPORT} ${SSHUSER}@${SSHHOST} "mkdir .ssh ; echo $PUBKEY >> .ssh/authorized_keys; chmod 600 .ssh/authorized_keys ; echo $PUBKEY >> .ssh/authorized_keys2; chmod 600 .ssh/authorized_keys2"
+6
View File
@@ -0,0 +1,6 @@
#!/bin/sh
MEM=`sysctl hw.realmem | sed "s|hw.realmem: ||g"`
MEM=`expr $MEM / 1024`
MEM=`expr $MEM / 1024`
echo $MEM
+14
View File
@@ -0,0 +1,14 @@
#!/bin/sh
# Script which checks if we are running from install media, or real system
#############################################################################
dmesg | grep "md0: Preloaded image" >/dev/null 2>/dev/null
if [ "$?" = "0" ]
then
echo "INSTALL-MEDIA"
exit 0
else
echo "REAL-DISK"
exit 1
fi
+23
View File
@@ -0,0 +1,23 @@
#!/bin/sh
# Script which tests "fetch" when using a network connection, and saves
# if we are using direct connect, or need FTP passive mode
#############################################################################
rm ${TMPDIR}/.testftp >/dev/null 2>/dev/null
ping -c 2 www.pcbsd.org >/dev/null 2>/dev/null
if [ "$?" = "0" ]
then
echo "ftp: Up"
exit 0
fi
ping -c 2 www.freebsd.org >/dev/null 2>/dev/null
if [ "$?" = "0" ]
then
echo "ftp: Up"
exit 0
fi
echo "ftp: Down"
exit 1
+84
View File
@@ -0,0 +1,84 @@
#!/bin/sh
# Need access to a some unmount functions
. ${PROGDIR}/backend/functions-unmount.sh
echo "Running: find-update-parts" >> ${LOGOUT}
rm ${TMPDIR}/AvailUpgrades >/dev/null 2>/dev/null
FSMNT="/mnt"
# Get the freebsd version on this partition
get_fbsd_ver() {
VER="`file ${FSMNT}/bin/sh | grep 'for FreeBSD' | sed 's|for FreeBSD |;|g' | cut -d ';' -f 2 | cut -d ',' -f 1`"
if [ "$?" = "0" ] ; then
file ${FSMNT}/bin/sh | grep '32-bit' >/dev/null 2>/dev/null
if [ "${?}" = "0" ] ; then
echo "${1}: FreeBSD ${VER} (32bit)"
else
echo "${1}: FreeBSD ${VER} (64bit)"
fi
fi
}
# Create our device listing
SYSDISK="`sysctl kern.disks | cut -d ':' -f 2 | sed 's/^[ \t]*//'`"
DEVS=""
# Now loop through these devices, and list the disk drives
for i in ${SYSDISK}
do
# Get the current device
DEV="${i}"
# Make sure we don't find any cd devices
echo "${DEV}" | grep -e "^acd[0-9]" -e "^cd[0-9]" -e "^scd[0-9]" >/dev/null 2>/dev/null
if [ "$?" != "0" ] ; then
DEVS="${DEVS} `ls /dev/${i}*`"
fi
done
# Search for regular UFS / Geom Partitions to upgrade
for i in $DEVS
do
if [ ! -e "${i}a.journal" -a ! -e "${i}a" -a ! -e "${i}p2" -a ! -e "${i}p2.journal" ] ; then
continue
fi
if [ -e "${i}a.journal" ] ; then
_dsk="${i}a.journal"
elif [ -e "${i}a" ] ; then
_dsk="${i}a"
elif [ -e "${i}p2" ] ; then
_dsk="${i}p2"
elif [ -e "${i}p2.journal" ] ; then
_dsk="${i}p2.journal"
fi
mount ${_dsk} ${FSMNT} >>${LOGOUT} 2>>${LOGOUT}
if [ "${?}" = "0" -a -e "${FSMNT}/bin/sh" ] ; then
get_fbsd_ver "`echo ${_dsk} | sed 's|/dev/||g'`"
umount -f ${FSMNT} >/dev/null 2>/dev/null
fi
done
# Now search for any ZFS root partitions
zpool import -o altroot=${FSMNT} -a
# Unmount any auto-mounted stuff
umount_all_dir "${FSMNT}"
# Get pools
_zps="`zpool list | grep -v 'NAME' | cut -d ' ' -f 1`"
for _zpools in ${_zps}
do
mount -t zfs ${_zpools} ${FSMNT} >>${LOGOUT} 2>>${LOGOUT}
if [ "${?}" = "0" -a -e "${FSMNT}/bin/sh" ] ; then
get_fbsd_ver "${_zpools}"
umount -f ${FSMNT} >/dev/null 2>/dev/null
fi
done
+31
View File
@@ -0,0 +1,31 @@
#!/bin/sh
FOUND="0"
# Lets parse the xorg.list file, and see what layouts are supported
while read line
do
if [ "$FOUND" = "1" -a ! -z "$line" ]
then
echo $line | grep '! ' >/dev/null 2>/dev/null
if [ "$?" = "0" ]
then
exit 0
else
echo "$line"
fi
fi
if [ "${FOUND}" = "0" ]
then
echo $line | grep '! layout' >/dev/null 2>/dev/null
if [ "$?" = "0" ]
then
FOUND="1"
fi
fi
done < /usr/local/share/X11/xkb/rules/xorg.lst
exit 0
+33
View File
@@ -0,0 +1,33 @@
#!/bin/sh
FOUND="0"
# Lets parse the xorg.list file, and see what models are supported
while read line
do
if [ "$FOUND" = "1" -a ! -z "$line" ]
then
echo $line | grep '! ' >/dev/null 2>/dev/null
if [ "$?" = "0" ]
then
exit 0
else
model="`echo $line | sed 's|(|[|g'`"
model="`echo $model | sed 's|)|]|g'`"
echo "$model"
fi
fi
if [ "${FOUND}" = "0" ]
then
echo $line | grep '! model' >/dev/null 2>/dev/null
if [ "$?" = "0" ]
then
FOUND="1"
fi
fi
done < /usr/local/share/X11/xkb/rules/xorg.lst
exit 0
+31
View File
@@ -0,0 +1,31 @@
#!/bin/sh
FOUND="0"
# Lets parse the xorg.list file, and see what varients are supported
while read line
do
if [ "$FOUND" = "1" -a ! -z "$line" ]
then
echo $line | grep '! ' >/dev/null 2>/dev/null
if [ "$?" = "0" ]
then
exit 0
else
echo "$line"
fi
fi
if [ "${FOUND}" = "0" ]
then
echo $line | grep '! variant' >/dev/null 2>/dev/null
if [ "$?" = "0" ]
then
FOUND="1"
fi
fi
done < /usr/local/share/X11/xkb/rules/xorg.lst
exit 0
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

+12
View File
@@ -0,0 +1,12 @@
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Categories=GTK;System;
NoDisplay=true
Exec=install-station
Name=Install GhostBSD
Comment=Install GhostBSD
Icon=/usr/local/lib/install-station/image/install-gbsd.png
+20
View File
@@ -0,0 +1,20 @@
#install {
background-image: url("/usr/local/lib/install-station/image/installation.jpg");
background-size: cover;
}
#sideText {
color: #F9F9F9;
font-weight:bold;
font-size: 14px;
}
#TransBox {
background-color: rgba(0, 0, 0, 0.6)
}
#Header {
color: #F9F9F9;
background-color: #282828;
font-size: 22px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

+102
View File
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 595.3 841.9" style="enable-background:new 0 0 595.3 841.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:#333333;}
.st1{fill:url(#SVGID_1_);}
.st2{fill:#0079A2;}
.st3{fill:url(#path442-8_1_);}
.st4{display:none;}
.st5{display:inline;fill:#111111;}
.st6{fill:#111111;}
.st7{fill:url(#SVGID_2_);}
.st8{fill:url(#SVGID_3_);}
</style>
<g id="svg4175" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="glogo-and-circle.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="400" inkscape:cy="560" inkscape:document-units="mm" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="1012" inkscape:window-maximized="0" inkscape:window-width="1278" inkscape:window-x="0" inkscape:window-y="0" inkscape:zoom="0.35" pagecolor="#ffffff" showgrid="false">
</sodipodi:namedview>
<g id="layer1" inkscape:groupmode="layer" inkscape:label="Layer 1">
<g id="g3755-8" transform="matrix(1.2010092,0,0,1.2010092,356.63009,-536.8076)">
<g id="path4795-4-4-0-8-5-1-5-2-5" inkscape:connector-curvature="0">
<path class="st0" d="M-48.9,1139c-63.8,0-123.9-24.9-169-70c-45.1-45.1-70-105.2-70-169s24.9-123.9,70-169
c45.1-45.1,105.2-70,169-70s123.9,24.9,169,70s70,105.2,70,169s-24.9,123.9-70,169C75,1114.1,15,1139-48.9,1139z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-48.8646" y1="654.3084" x2="-48.8646" y2="1244.4216">
<stop offset="0" style="stop-color:#C7C7C7"/>
<stop offset="0.9646" style="stop-color:#5E5E5E"/>
</linearGradient>
<path class="st1" d="M-48.9,667.6c128.3,0,232.4,104,232.4,232.4s-104,232.4-232.4,232.4s-232.4-104-232.4-232.4
S-177.2,667.6-48.9,667.6 M-48.9,654.3c-33.2,0-65.3,6.5-95.6,19.3c-29.3,12.4-55.5,30.1-78.1,52.6
c-22.6,22.6-40.3,48.8-52.6,78.1c-12.8,30.3-19.3,62.5-19.3,95.6s6.5,65.3,19.3,95.6c12.4,29.3,30.1,55.5,52.6,78.1
c22.6,22.6,48.8,40.3,78.1,52.6c30.3,12.8,62.5,19.3,95.6,19.3c33.2,0,65.3-6.5,95.6-19.3c29.3-12.4,55.5-30.1,78.1-52.6
s40.3-48.8,52.6-78.1c12.8-30.3,19.3-62.5,19.3-95.6s-6.5-65.3-19.3-95.6c-12.4-29.3-30.1-55.5-52.6-78.1
C102.3,703.7,76,686,46.8,673.6C16.5,660.8-15.7,654.3-48.9,654.3L-48.9,654.3z"/>
</g>
<g id="text2985-0-8-7-1-2-9-7-2-9-72-0-3-5-4-23-4-3-1-2-5-2">
<path id="path438-3" inkscape:connector-curvature="0" class="st2" d="M113.8,763.3c0,6.3-4,13.9-12.1,22.8
c-8,8.9-18,17.4-29.9,25.4c-11.7,8-23.4,14.4-35.1,19.1c2.6-0.9,5.3-1.3,8-1.3c9.1,0,15.2,1.7,18.2,5c0.7,0.7,1.1,1.6,1.1,2.6
c0,1-1.7,3.4-5,7.2c-34.7,40.2-66.6,80.1-95.7,119.6c11.9-9.3,22.4-18.1,31.5-26.5c5.1-4.6,11.3-6.9,18.5-6.9
c5.3,0,8.6,0.7,9.8,2c1.2,1.4,1.9,2.5,1.9,3.5c0,0.9-0.8,1.9-2.4,3.2c-20.6,18.1-54.3,44.4-101.1,79c-8,9-28.3,30.5-60.8,64.5
c-5.8,5.9-12.2,8.9-19.3,8.9c-13.7,0-20.6-3.8-20.6-11.5c0-3.3,2.7-8.7,8-15.9c7.7-11.3,26.4-28.3,56.2-51
c6.6-7.3,17.9-19.7,33.9-37.1c30.4-33.1,48.8-54.4,55.1-63.8c-16.8,15.9-29.6,27.2-38.2,33.8c-8.7,6.6-16.7,12.2-24.1,17.1
c-7.3,4.8-14,8.7-20.2,11.7c-29.9,14.3-51.2,14.4-64,0.2c-6.4-7-9.6-17.4-9.6-31c0-13.7,3.8-28.8,11.3-45.3
c7.5-16.4,17.6-32.6,30.2-48.6c12.6-16.1,27.6-31.7,44.9-46.9c17.3-15.2,35.3-28.6,54-40.1c18.7-11.5,38.3-20.7,59-27.6
c20.6-7,40.1-10.6,58.4-10.6c6.3,0,12.2,1.1,17.8,3.2c5.6,2.1,9.5,4.3,11.9,6.7C111,740.3,113.8,749.8,113.8,763.3L113.8,763.3z
M6.6,802.1l-0.9,3.7c0,2.1,1.4,3.2,4.3,3.2c7.5,0,17.9-3.6,31-10.9c13.1-7.3,23.7-14.8,31.7-22.4c8-7.7,12.1-14,12.1-19.1
c0-4.3-3.8-6.5-11.5-6.5c-13.6,0-28.9,3.3-46,10c-16.9,6.7-33.5,15.3-49.7,26c-16.2,10.6-32.1,22.9-47.8,36.7
c-15.7,13.7-29.4,27.5-41.2,41.4c-11.6,13.7-21,27.2-28.2,40.4c-7.2,13.2-10.8,24.5-10.8,33.9c0,3.7,1.1,7,3.2,9.8
c2.2,2.8,5.4,4.3,9.6,4.3c13,0,33.9-10,62.7-29.9c28.9-19.9,62.1-47,99.6-81.4c0.5-0.5,1.4-1.4,2.6-2.8c2.7-3.3,5.5-5.7,8.3-7.2
c-10.1,4.1-18.4,6.1-24.9,6.1s-11.7-1.4-15.9-4.3c-4.2-2.8-6.3-6.7-6.3-11.5c0-4.9,2.2-9.6,6.5-13.9c4.3-4.3,7.4-6.5,9.1-6.5
C5.7,801.1,6.6,801.5,6.6,802.1z"/>
</g>
<g id="text2985-0-8-7-1-2-9-7-2-9-72-0-3-5-4-2-4-3-5-7-2-0-7">
<linearGradient id="path442-8_1_" gradientUnits="userSpaceOnUse" x1="927.2061" y1="-598.1527" x2="1031.5614" y2="-598.1527" gradientTransform="matrix(3.4044 0 0 -3.4044 -3338.6394 -1128.1228)">
<stop offset="0" style="stop-color:#00B9C5"/>
<stop offset="1" style="stop-color:#00B9C5;stop-opacity:0"/>
</linearGradient>
<path id="path442-8" inkscape:connector-curvature="0" class="st3" d="M113.8,763.3c0,6.3-4,13.9-12.1,22.8
c-8,8.9-18,17.4-29.9,25.4c-11.7,8-23.4,14.4-35.1,19.1c2.6-0.9,5.3-1.3,8-1.3c9.1,0,15.2,1.7,18.2,5c0.7,0.7,1.1,1.6,1.1,2.6
c0,1-1.7,3.4-5,7.2c-34.7,40.2-66.6,80.1-95.7,119.6c11.9-9.3,22.4-18.1,31.5-26.5c5.1-4.6,11.3-6.9,18.5-6.9
c5.3,0,8.6,0.7,9.8,2c1.2,1.4,1.9,2.5,1.9,3.5c0,0.9-0.8,1.9-2.4,3.2c-20.6,18.1-54.3,44.4-101.1,79c-8,9-28.3,30.5-60.8,64.5
c-5.8,5.9-12.2,8.9-19.3,8.9c-13.7,0-20.6-3.8-20.6-11.5c0-3.3,2.7-8.7,8-15.9c7.7-11.3,26.4-28.3,56.2-51
c6.6-7.3,17.9-19.7,33.9-37.1c30.4-33.1,48.8-54.4,55.1-63.8c-16.8,15.9-29.6,27.2-38.2,33.8c-8.7,6.6-16.7,12.2-24.1,17.1
c-7.3,4.8-14,8.7-20.2,11.7c-29.9,14.3-51.2,14.4-64,0.2c-6.4-7-9.6-17.4-9.6-31c0-13.7,3.8-28.8,11.3-45.3
c7.5-16.4,17.6-32.6,30.2-48.6c12.6-16.1,27.6-31.7,44.9-46.9c17.3-15.2,35.3-28.6,54-40.1c18.7-11.5,38.3-20.7,59-27.6
c20.6-7,40.1-10.6,58.4-10.6c6.3,0,12.2,1.1,17.8,3.2c5.6,2.1,9.5,4.3,11.9,6.7C111,740.3,113.8,749.8,113.8,763.3L113.8,763.3z
M6.6,802.1l-0.9,3.7c0,2.1,1.4,3.2,4.3,3.2c7.5,0,17.9-3.6,31-10.9c13.1-7.3,23.7-14.8,31.7-22.4c8-7.7,12.1-14,12.1-19.1
c0-4.3-3.8-6.5-11.5-6.5c-13.6,0-28.9,3.3-46,10c-16.9,6.7-33.5,15.3-49.7,26c-16.2,10.6-32.1,22.9-47.8,36.7
c-15.7,13.7-29.4,27.5-41.2,41.4c-11.6,13.7-21,27.2-28.2,40.4c-7.2,13.2-10.8,24.5-10.8,33.9c0,3.7,1.1,7,3.2,9.8
c2.2,2.8,5.4,4.3,9.6,4.3c13,0,33.9-10,62.7-29.9c28.9-19.9,62.1-47,99.6-81.4c0.5-0.5,1.4-1.4,2.6-2.8c2.7-3.3,5.5-5.7,8.3-7.2
c-10.1,4.1-18.4,6.1-24.9,6.1s-11.7-1.4-15.9-4.3c-4.2-2.8-6.3-6.7-6.3-11.5c0-4.9,2.2-9.6,6.5-13.9c4.3-4.3,7.4-6.5,9.1-6.5
C5.7,801.1,6.6,801.5,6.6,802.1z"/>
</g>
</g>
</g>
</g>
<g id="Guides" class="st4">
</g>
<g id="Arrow">
<g>
<g id="Back" class="st4">
<polygon class="st5" points="253.3,159.8 347.2,159.8 347.2,253.5 398.8,253.5 300,350.9 206.5,253.5 253.3,253.5 "/>
</g>
<polygon class="st6" points="190.3,217 182.3,227.3 433,227.3 424.2,217 365.1,216.5 365.8,105.2 357.1,94.9 251.8,94.9
243.3,105.2 243.3,216.8 "/>
<g id="Front">
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="307.6503" y1="105.1751" x2="307.6503" y2="354.418">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#575757"/>
</linearGradient>
<polygon class="st7" points="243.3,105.2 365.8,105.2 365.8,227.3 433,227.3 304.2,354.4 182.3,227.3 243.3,227.3 "/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="307.6503" y1="354.418" x2="307.6503" y2="105.1752">
<stop offset="0" style="stop-color:#A2A2A2"/>
<stop offset="1" style="stop-color:#878787"/>
</linearGradient>
<path class="st8" d="M364.8,106.2v121.1v1l1,0l64.8,0L304.2,353L184.6,228.3l58.6,0l1,0v-1V106.2L364.8,106.2 M365.8,105.2
l-122.5,0v122.1l-61,0l121.9,127.1L433,227.3l-67.2,0V105.2L365.8,105.2z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB