merge: epoch-1.9.0 d'upstream

# Conflicts:
#	Cargo.lock
#	Cargo.toml
This commit is contained in:
Lionel DARNIS 2026-09-24 20:48:01 +02:00
commit d5c5fd72f1
52 changed files with 1176 additions and 1370 deletions

1810
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -45,6 +45,7 @@ This document provides a regression testing checklist for COSMIC Settings and th
### Displays
- [ ] Plug in a second display. Displays can be rearranged via dragging.
- [ ] Display mirroring works.
### Sound

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings"
version = "1.7.0"
version = "1.9.0"
edition = "2024"
license = "GPL-3.0-only"
publish = false
@ -22,6 +22,7 @@ cosmic-bg-config.workspace = true
cosmic-comp-config = { workspace = true, optional = true }
cosmic-config.workspace = true
cosmic-idle-config.workspace = true
cosmic-osk-config = { git = "https://github.com/pop-os/cosmic-osk", features = ["subscription"] }
cosmic-panel-config = { workspace = true, optional = true }
cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols", optional = true }
cosmic-randr-shell.workspace = true
@ -59,7 +60,7 @@ openlogi-core = { path = "../../OpenLogi/crates/openlogi-core" }
openlogi-ipc = { path = "../../OpenLogi/crates/openlogi-ipc" }
tarpc = { version = "0.38", features = ["serde1", "tokio1"] }
notify = "8.2.0"
nmrs = { version = "3.5.2", optional = true }
nmrs = { version = "3.5.3", optional = true }
regex = "1.13.1"
ron = "0.12"
rust-embed = "8.12.0"

View file

@ -80,6 +80,8 @@ impl SettingsApp {
PageCommands::AccessibilityMagnifier => {
self.pages.page_id::<accessibility::magnifier::Page>()
}
#[cfg(feature = "page-accessibility")]
PageCommands::AccessibilityOsk => self.pages.page_id::<accessibility::osk::Page>(),
#[cfg(feature = "page-about")]
PageCommands::About => self.pages.page_id::<system::about::Page>(),
PageCommands::Appearance { command: _ } => {
@ -178,7 +180,7 @@ pub enum Message {
SearchSubmit,
SetTheme(cosmic::theme::Theme),
SetWindowTitle,
Surface(surface::Action),
Surface(surface::Action<Message>),
}
impl cosmic::Application for SettingsApp {
@ -425,6 +427,12 @@ impl cosmic::Application for SettingsApp {
return page.update(self.active_page, message).map(Into::into);
}
}
#[cfg(feature = "page-accessibility")]
crate::pages::Message::AccessibilityOsk(message) => {
if let Some(page) = self.pages.page_mut::<accessibility::osk::Page>() {
return page.update(self.active_page, message).map(Into::into);
}
}
#[cfg(feature = "page-input")]
crate::pages::Message::AccessibilityShortcuts(message) => {
if let Some(page) = self
@ -880,9 +888,7 @@ impl cosmic::Application for SettingsApp {
tracing::error!(error, "error occurred");
}
Message::Surface(a) => {
return cosmic::task::message(cosmic::Action::Cosmic(
cosmic::app::Action::Surface(a),
));
return cosmic::task::message(cosmic::Action::Surface(a));
}
}

View file

@ -68,6 +68,9 @@ pub enum PageCommands {
/// Accessibility Magnifier settings page
#[cfg(feature = "page-accessibility")]
AccessibilityMagnifier,
/// Accessibility OSK settings page
#[cfg(feature = "page-accessibility")]
AccessibilityOsk,
/// About settings page
#[cfg(feature = "page-about")]
About,

View file

@ -42,7 +42,7 @@ pub enum Message {
SetIncrement(usize),
SetSignin(bool),
SetMovement(ZoomMovement),
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
}
impl Default for Page {

View file

@ -17,6 +17,8 @@ use num_traits::FromPrimitive;
use slotmap::SlotMap;
pub mod magnifier;
pub mod osk;
pub use cosmic_a11y_manager::{AccessibilityEvent, AccessibilityRequest, ColorFilter};
use tokio::sync::mpsc::UnboundedSender;
@ -95,7 +97,7 @@ pub enum Message {
SetScreenFilterSelection(ColorFilter),
SetScreenInverted(bool),
SetSoundMono(bool),
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
SystemTheme(Box<cosmic::cosmic_theme::Theme>),
}
@ -128,7 +130,11 @@ impl page::Page<crate::pages::Message> for Page {
&self,
sections: &mut SlotMap<section::Entity, page::Section<crate::pages::Message>>,
) -> Option<page::Content> {
Some(vec![sections.insert(vision()), sections.insert(hearing())])
Some(vec![
sections.insert(vision()),
sections.insert(hearing()),
sections.insert(mobility()),
])
}
fn on_enter(&mut self) -> cosmic::Task<crate::pages::Message> {
@ -185,7 +191,7 @@ impl page::Page<crate::pages::Message> for Page {
impl page::AutoBind<crate::pages::Message> for Page {
fn sub_pages(page: Insert<crate::pages::Message>) -> Insert<crate::pages::Message> {
page.sub_page::<magnifier::Page>()
page.sub_page::<magnifier::Page>().sub_page::<osk::Page>()
}
}
@ -326,6 +332,34 @@ pub fn hearing() -> section::Section<crate::pages::Message> {
})
}
pub fn mobility() -> section::Section<crate::pages::Message> {
crate::slab!(descriptions {
mobility = fl!("mobility");
on_screen_keyboard = fl!("on-screen-keyboard");
});
Section::default()
.title(&descriptions[mobility])
.descriptions(descriptions)
.view::<Page>(move |binder, _, section| {
let descriptions = &section.descriptions;
let (osk_entity, _osk_info) = binder
.info
.iter()
.find(|(_, v)| v.id == "accessibility_osk")
.expect("osk page not found");
settings::section()
.title(&section.title)
.add(crate::widget::go_next_item(
&descriptions[on_screen_keyboard],
crate::pages::Message::Page(osk_entity),
))
.into()
})
}
impl Page {
pub fn update(&mut self, message: Message) -> cosmic::iced::Task<crate::app::Message> {
match message {

View file

@ -0,0 +1,146 @@
use cosmic::Apply;
use cosmic::iced::Element;
use cosmic::widget::settings;
use cosmic_config::CosmicConfigEntry;
use cosmic_osk_config::Config;
use cosmic_settings_page::section::{self, Section};
use cosmic_settings_page::{self as page, Entity};
use slotmap::SlotMap;
#[derive(Debug)]
pub struct Page {
entity: Entity,
config: Config,
config_handler: cosmic_config::Config,
}
#[derive(Debug, Clone)]
pub enum Message {
AlwaysShow(bool),
Config(Config),
GamepadShortcut(bool),
ImeActivation(bool),
}
impl Default for Page {
fn default() -> Self {
let (config_handler, config) = match Config::handler() {
Ok(config_handler) => {
let config = Config::get_entry(&config_handler).unwrap_or_else(|(errs, config)| {
tracing::warn!("errors loading OSK config: {:?}", errs);
config
});
(config_handler, config)
}
Err(err) => {
panic!("failed to create OSK config handler: {}", err);
}
};
Page {
entity: Entity::default(),
config,
config_handler,
}
}
}
impl page::Page<crate::pages::Message> for Page {
fn set_id(&mut self, entity: Entity) {
self.entity = entity;
}
fn info(&self) -> page::Info {
page::Info::new("accessibility_osk", "preferences-desktop-accessibility")
.title(fl!("on-screen-keyboard"))
}
fn content(
&self,
sections: &mut SlotMap<section::Entity, page::Section<crate::pages::Message>>,
) -> Option<page::Content> {
Some(vec![sections.insert(osk())])
}
fn subscription(
&self,
_core: &cosmic::Core,
) -> cosmic::iced::Subscription<crate::pages::Message> {
Config::subscription().map(|update| {
if !update.errors.is_empty() {
tracing::warn!("failed to parse OSK config update: {:?}", update.errors);
}
crate::pages::Message::AccessibilityOsk(Message::Config(update.config))
})
}
}
impl page::AutoBind<crate::pages::Message> for Page {}
pub fn osk() -> section::Section<crate::pages::Message> {
crate::slab!(descriptions {
on_screen_keyboard = fl!("on-screen-keyboard");
always_show = fl!("on-screen-keyboard", "always-show");
//TODO: icon_on_panel = fl!("on-screen-keyboard", "icon-on-panel");
show_on_gamepad_shortcut = fl!("on-screen-keyboard", "show-on-gamepad-shortcut");
show_on_text_input = fl!("on-screen-keyboard", "show-on-text-input");
});
Section::default()
.title(&descriptions[on_screen_keyboard])
.descriptions(descriptions)
.view::<Page>(move |_binder, page, section| {
let descriptions = &section.descriptions;
settings::section()
.add(
settings::item::builder(&descriptions[always_show])
.toggler(page.config.always_shown, Message::AlwaysShow),
)
.add(
settings::item::builder(&descriptions[show_on_gamepad_shortcut])
.toggler(page.config.gamepad_shortcut, Message::GamepadShortcut),
)
.add(
settings::item::builder(&descriptions[show_on_text_input])
.toggler(page.config.ime_activation, Message::ImeActivation),
)
.apply(Element::from)
.map(crate::pages::Message::AccessibilityOsk)
})
}
impl Page {
pub fn update(
&mut self,
_: page::Entity,
message: Message,
) -> cosmic::iced::Task<crate::app::Message> {
match message {
Message::AlwaysShow(value) => {
if let Err(err) = self.config.set_always_shown(&self.config_handler, value) {
tracing::error!("failed to set OSK config: {}", err);
}
}
Message::Config(config) => {
self.config = config;
}
Message::GamepadShortcut(value) => {
if let Err(err) = self
.config
.set_gamepad_shortcut(&self.config_handler, value)
{
tracing::error!("failed to set OSK config: {}", err);
}
}
Message::ImeActivation(value) => {
if let Err(err) = self.config.set_ime_activation(&self.config_handler, value) {
tracing::error!("failed to set OSK config: {}", err);
}
}
}
cosmic::iced::Task::none()
}
}

View file

@ -48,7 +48,7 @@ pub enum Category {
pub enum Message {
SetDefault(Category, usize),
Update(Arc<CachedMimeApps>),
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
}
impl From<Message> for crate::app::Message {

View file

@ -25,7 +25,7 @@ pub enum Message {
SetXwaylandKeyboardMode(EavesdroppingKeyboardMode),
SetXwaylandMouseButtonMode(bool),
SetXwaylandPrimaryOutput(usize),
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
}
impl From<Message> for crate::pages::Message {

View file

@ -431,7 +431,7 @@ pub enum Message {
PanelConfig(Box<CosmicPanelConfig>),
ResetPanel,
FullReset,
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
}
impl PageInner {

View file

@ -102,7 +102,7 @@ pub enum Message {
Slideshow(bool),
/// State change from cosmic-bg
UpdateState(cosmic_bg_config::state::State),
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
}
impl From<Message> for crate::app::Message {

View file

@ -25,7 +25,7 @@ pub enum Message {
ShowMinimizeButton(bool),
WindowControlsPositionStart(bool),
SetEdgeSnapThreshold(u32),
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
}
pub struct Page {

View file

@ -19,7 +19,7 @@ pub enum Message {
SetWorkspaceWraparound(bool),
SetShowName(bool),
SetShowNumber(bool),
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
}
pub struct Page {

View file

@ -108,7 +108,7 @@ pub enum Message {
/// Available outputs from cosmic-randr.
randr: Arc<Result<List, cosmic_randr_shell::Error>>,
},
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
}
impl From<Message> for app::Message {

View file

@ -33,6 +33,8 @@ pub enum Message {
Accessibility(accessibility::Message),
#[cfg(feature = "page-accessibility")]
AccessibilityMagnifier(accessibility::magnifier::Message),
#[cfg(feature = "page-accessibility")]
AccessibilityOsk(accessibility::osk::Message),
#[cfg(feature = "page-input")]
AccessibilityShortcuts(input::keyboard::shortcuts::ShortcutMessage),
#[cfg(feature = "page-about")]

View file

@ -312,7 +312,7 @@ pub enum Message {
SuspendOnBatteryTimeChange(Option<Duration>),
BackendAvailabilityCheck(Option<backend::PowerBackendEnum>),
CurrentPowerProfileUpdate(PowerProfile),
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
}
impl From<Message> for crate::app::Message {

View file

@ -28,7 +28,7 @@ pub enum Message {
SetMute(u32, bool),
SetSink(u32, usize),
SetVolume(u32, u32),
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
ToggleExpanded(u32),
}

View file

@ -19,7 +19,7 @@ pub enum Message {
/// Set the profile of a sound device.
SetProfile(u32, u32),
/// Surface Action
Surface(cosmic::surface::Action),
Surface(cosmic::surface::Action<crate::app::Message>),
}
impl From<Message> for crate::pages::Message {

View file

@ -39,7 +39,7 @@ pub enum Message {
/// Request to change the input volume.
SetSourceVolume(u32),
/// Surface Action
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
/// Toggle the mute status of the output.
ToggleSinkMute,
/// Toggle the mute status of the input output.

View file

@ -10,16 +10,16 @@ use std::process::Command;
#[must_use]
#[derive(Clone, Debug, Default)]
pub struct Info {
pub desktop_environment: String,
pub device_name: String,
pub disk_capacity: String,
pub graphics: Vec<String>,
pub hardware_model: String,
pub memory: String,
pub processor: String,
pub graphics: Vec<String>,
pub disk_capacity: String,
pub operating_system: String,
pub os_architecture: String,
pub kernel_version: String,
pub processor: String,
pub desktop_environment: String,
pub windowing_system: String,
}
@ -144,11 +144,11 @@ impl Info {
pub async fn load() -> Info {
let mut info = Info {
hardware_model: hardware_model(),
processor: processor_name(),
operating_system: operating_system(),
os_architecture: architecture(),
kernel_version: kernel_version(),
hardware_model: hardware_model(),
operating_system: operating_system(),
processor: processor_name(),
..Default::default()
};
@ -189,7 +189,11 @@ impl Info {
if let Some(first) = session.get_mut(0..1) {
first.make_ascii_uppercase();
}
info.desktop_environment = session;
info.desktop_environment = if session.eq_ignore_ascii_case("COSMIC") {
format!("COSMIC {}", env!("CARGO_PKG_VERSION"))
} else {
session
};
}
#[cfg(feature = "wgpu")]

View file

@ -21,7 +21,9 @@ use tracing::error;
crate::cache_dynamic_lazy! {
static WEEKDAYS: [String; 4] = [fl!("time-format", "friday"), fl!("time-format", "saturday"), fl!("time-format", "sunday"), fl!("time-format", "monday")];
}
static SHOW_WEEKDAY: String = fl!("time-format", "show-weekday");
static SHOW_SECONDS: String = fl!("time-format", "show-seconds");
static SHOW_DATE: String = fl!("time-format", "date");}
#[derive(Debug, Clone)]
pub struct Info {
@ -36,9 +38,11 @@ pub struct Page {
first_day_of_week: usize,
military_time: bool,
show_seconds: bool,
show_weekday: bool,
ntp_enabled: bool,
show_date_in_top_panel: bool,
timezone_context: bool,
date_time_applet_context: bool,
local_time: Option<DateTime<Gregorian>>,
timezone: Option<usize>,
timezone_list: Vec<String>,
@ -73,6 +77,16 @@ impl Default for Page {
false
});
let show_weekday = cosmic_applet_config
.get("show_weekday")
.unwrap_or_else(|err| {
if err.is_err() {
error!(?err, "Failed to read config 'show_weekday'");
}
false
});
let first_day_of_week = cosmic_applet_config
.get("first_day_of_week")
.unwrap_or_else(|err| {
@ -103,10 +117,12 @@ impl Default for Page {
local_time: None,
military_time,
show_seconds,
show_weekday,
ntp_enabled: false,
show_date_in_top_panel,
timezone: None,
timezone_context: false,
date_time_applet_context: false,
timezone_list: Vec::new(),
timezone_search: String::new(),
}
@ -183,6 +199,15 @@ impl page::Page<crate::pages::Message> for Page {
.title(fl!("time-zone"))
.header(search),
);
} else if self.date_time_applet_context {
return Some(
cosmic::app::context_drawer(
self.date_time_applet_view()
.map(crate::pages::Message::from),
crate::pages::Message::CloseContextDrawer,
)
.title(fl!("date-time-applet-settings-title")),
);
}
None
@ -216,6 +241,15 @@ impl Page {
}
}
Message::ShowWeekday(enable) => {
self.show_weekday = enable;
self.update_local_time();
if let Err(err) = self.cosmic_applet_config.set("show_weekday", enable) {
error!(?err, "Failed to set config 'show_weekday'");
}
}
Message::FirstDayOfWeek(weekday) => {
self.first_day_of_week = weekday;
@ -224,6 +258,11 @@ impl Page {
}
}
Message::DateAndTimeContext => {
self.date_time_applet_context = true;
return cosmic::task::message(crate::app::Message::OpenContextDrawer(self.entity));
}
Message::ShowDate(enable) => {
self.show_date_in_top_panel = enable;
@ -342,6 +381,25 @@ impl Page {
.map(crate::pages::Message::DateAndTime)
}
fn date_time_applet_view(&self) -> Element<'_, crate::pages::Message> {
let mut list = widget::list_column();
list = list.add(
settings::item::builder(&*SHOW_DATE)
.toggler(self.show_date_in_top_panel, Message::ShowDate)
)
.add(
settings::item::builder(&*SHOW_WEEKDAY)
.toggler(self.show_weekday, Message::ShowWeekday),
)
.add(
settings::item::builder(&*SHOW_SECONDS)
.toggler(self.show_seconds, Message::ShowSeconds));
list.apply(Element::from)
.map(crate::pages::Message::DateAndTime)
}
fn update_local_time(&mut self) {
self.local_time = Some(update_local_time());
@ -357,15 +415,17 @@ pub enum Message {
Error(String),
MilitaryTime(bool),
ShowSeconds(bool),
ShowWeekday(bool),
None,
FirstDayOfWeek(usize),
Refresh(Info),
ShowDate(bool),
Timezone(usize),
TimezoneContext,
DateAndTimeContext,
TimezoneSearch(String),
UpdateTime,
Surface(surface::Action),
Surface(surface::Action<crate::app::Message>),
}
impl page::AutoBind<crate::pages::Message> for Page {}
@ -394,9 +454,8 @@ fn date() -> Section<crate::pages::Message> {
fn format() -> Section<crate::pages::Message> {
crate::slab!(descriptions {
military = fl!("time-format", "twenty-four");
show_seconds = fl!("time-format", "show-seconds");
first = fl!("time-format", "first");
show_date = fl!("time-format", "show-date");
date_time_applet_settings_label = fl!("date-time-applet-settings-label");
});
Section::default()
@ -410,11 +469,6 @@ fn format() -> Section<crate::pages::Message> {
settings::item::builder(&section.descriptions[military])
.toggler(page.military_time, Message::MilitaryTime),
)
// Show seconds in time format
.add(
settings::item::builder(&section.descriptions[show_seconds])
.toggler(page.show_seconds, Message::ShowSeconds),
)
// First day of week
.add(
settings::item::builder(&section.descriptions[first]).control(
@ -444,11 +498,13 @@ fn format() -> Section<crate::pages::Message> {
),
),
)
// Date on top panel toggle
// Show a Context Drawer which contains settings for how the Date and Time applet displays the date.
.add(
settings::item::builder(&section.descriptions[show_date])
.toggler(page.show_date_in_top_panel, Message::ShowDate),
)
crate::widget::go_next_with_item(
&section.descriptions[date_time_applet_settings_label],
"",
Message::DateAndTimeContext,
))
.apply(cosmic::Element::from)
.map(crate::pages::Message::DateAndTime)
})

6
debian/changelog vendored
View file

@ -1,3 +1,9 @@
cosmic-settings (1.9.0) noble; urgency=medium
* Epoch 1.9.0 version update
-- Michael Murphy <michael@mmurphy.dev> Mon, 14 Sep 2026 21:58:05 +0200
cosmic-settings (1.7.0) noble; urgency=medium
* Epoch 1.7.0 version update

View file

@ -933,3 +933,5 @@ bluetooth-display-passkey = Párování Bluetooth
.description = Zadejte prosím následující párovací kód na zařízení { $device } a poté stiskněte Enter
bluetooth-display-pin = Párování Bluetooth
.description = Zadejte prosím následující PIN na zařízení { $device } a poté stiskněte Enter
rename = Přejmenovat
bluetooth-rename-device = Přejmenovat zařízení

View file

@ -57,6 +57,8 @@ vpn-error = VPN Fejl
.connect = Kunne ikke oprette forbindelse til VPN
.connection-editor = Forbindelsesredigering mislykkedes
.connection-settings = Indstillingerne for aktive forbindelser kunne ikke hentes
.openvpn-config-path = Ugyldig filsti til OpenVPN-konfiguration
.openvpn-config-path-desc = Den valgte fil skal befinde sig på et lokalt filsystem.
.updating-state = Kunne ikke opdatere netværksadministrators tilstand
.wireguard-config-path = Ugyldig filsti for WireGuard-konfigurationen
.wireguard-config-path-desc = Valgt fil skal være på et lokalt filsystem.
@ -89,15 +91,14 @@ activate = Aktiver
confirm = Bekræft
enable = Enable
bluetooth = Bluetooth
.desc = Administrer Bluetooth enheder
.status = This system is visible as { $aliases } while Bluetooth settings are open.
.connected = Tilsluttet
.connecting = Tilslutter
.disconnecting = Afbryder forbindelsen
.connect = Tilslut
.disconnect = Afbryd forbindelsen
.status = Dette system er synligt som { $aliases } mens Bluetooth-indstillinger er åbne.
.connected = Forbundet
.connecting = Forbinder
.disconnecting = Afbryder forbindelse
.connect = Opret forbindelse
.disconnect = Afbryd forbindelse
.forget = Glem
.dbus-error = Der opstod en fejl under interaktion med DBus: { $why }
.dbus-error = Der opstod en fejl ved kommunikation med DBus: { $why }
.disabled = Bluetooth-tjenesten er deaktiveret
.inactive = Bluetooth-tjenesten er ikke aktiv
.unknown = Bluetooth-tjenesten kunne ikke aktiveres. Er BlueZ installeret?
@ -159,15 +160,14 @@ desktop = Desktop
## Desktop: Baggrundbillede
wallpaper = Baggrundbillede
.change = Skift billede hvert
.desc = Baggrundbilleder, farver, og slideshow indstillinger
.fit = Tilpas baggrundbillede
.folder-dialog = Vælg baggrundbillede mappe
.image-dialog = Vælg baggrundbillede
.plural = Baggrundbillede
.same = Samme baggrundbillede på alle skærme
.slide = Slideshow
wallpaper = Baggrund
.change = Skift billede hver
.fit = Tilpas baggrund
.folder-dialog = Vælg baggrundsmappe
.image-dialog = Vælg baggrundsbillede
.plural = Baggrunde
.same = Samme baggrund på alle skærme
.slide = Diasshow
add-color = Tilføj farve
add-image = Tilføj billede
all-displays = Alle Skærme
@ -842,3 +842,72 @@ xdg-entry-displays-keywords = COSMIC;Skærm;
xdg-entry-date-time-comment = Tidszone, automatiske ur-indstillinger og tidsformat
xdg-entry-desktop-comment = Baggrund, udseende, panel, dock, vindueshåndtering og arbejdsområder
xdg-entry-dock-comment = En valgfri bjælke til apps og applets
xdg-entry-touchpad = Pegefelt
xdg-entry-wired = Kablet
xdg-entry-startup-apps-comment = Konfigurer programmer, der kører ved login
xdg-entry-region-language = Region og sprog
xdg-entry-mouse-keywords = COSMIC;Mus;Acceleration;Rulning;
xdg-entry-notifications-keywords = COSMIC;Notifikation;Lås;
xdg-entry-startup-apps-keywords = COSMIC;Opstart;Program;
xdg-entry-keyboard-comment = Inputkilder, skift, indtastning af specialtegn og genveje
xdg-entry-wired-keywords = COSMIC;Kablet;LAN;Netværk;Forbindelse;
xdg-entry-power = Strøm og batteri
xdg-entry-mouse = Mus
xdg-entry-mouse-comment = Musehastighed, acceleration og naturlig rulning
xdg-entry-system = System og konti
xdg-entry-panel-keywords = COSMIC;Panel;Applet
xdg-entry-window-management = Vindueshåndtering
xdg-entry-time-language-comment = Administrer systemdato, tid, region og sprog
xdg-entry-x11-applications-keywords = COSMIC;X11;Program;Spil;Kompatibilitet;
xdg-entry-touchpad-keywords = COSMIC;Pegefelt;Bevægelse;
xdg-entry-time-language = Tid og sprog
xdg-entry-users = Brugere
xdg-entry-system-keywords = COSMIC;System;Info;Konti;Firmware;
xdg-entry-wireless-keywords = COSMIC;WiFi;Wi-Fi;Netværk;Forbindelse;
xdg-entry-panel = Panel
xdg-entry-notifications = Notifikationer
xdg-entry-wireless-comment = Wi-Fi-forbindelser og forbindelsesprofiler
xdg-entry-wallpaper = Baggrund
xdg-entry-network = Netværk og trådløst
xdg-entry-users-comment = Godkendelse og brugerkonti
xdg-entry-network-keywords = COSMIC;Netværk;Trådløs;WiFi;VPN;
xdg-entry-wallpaper-comment = Baggrundsbilleder, farver og diasshowindstillinger
xdg-entry-startup-apps = Opstartsprogrammer
xdg-entry-wireless = Wi-Fi
xdg-entry-workspaces-keywords = COSMIC;Arbejdsområde;Orientering;Oversigt;Skærm;
xdg-entry-system-comment = Systemoplysninger, konti og firmwareopdateringer
xdg-entry-x11-applications-comment = Skalering af X11-vinduesprogrammer, primær skærm og globale genveje
xdg-entry-region-language-comment = Formater datoer, tidspunkter og tal baseret på din region
xdg-entry-wallpaper-keywords = COSMIC;Baggrund;Baggrund;Diasshow;
xdg-entry-users-keywords = COSMIC;Bruger;Konto;
xdg-entry-vpn-keywords = COSMIC;VPN;Netværk;Forbindelse;OpenVPN;OpenConnect;
xdg-entry-time-language-keywords = COSMIC;System;Tid;Dato;Region;Sprog;
xdg-entry-notifications-comment = Forstyr ikke, låseskærmsnotifikationer og indstillinger pr. program
xdg-entry-sound-keywords = COSMIC;Lyd;Lyd;Alarm;Pipewire;
xdg-entry-power-keywords = COSMIC;Strøm;Batteri
xdg-entry-region-language-keywords = COSMIC;Region;Sprog;Dato;Format;Tid;Lokation;Lokalisering;
xdg-entry-sound-comment = Lydindstillinger for enheder, alarmer og programmer
xdg-entry-touchpad-comment = Pegefelthastighed, klikindstillinger og bevægelser
xdg-entry-keyboard-keywords = COSMIC;Tastatur;Input;Kilde;Genveje;
xdg-entry-vpn-comment = VPN-forbindelser og forbindelsesprofiler
xdg-entry-window-management-keywords = COSMIC;Vindue;Håndtering;Opdeling;Super;Tast;
xdg-entry-workspaces-comment = Arbejdsområdernes orientering, oversigt og adfærd på flere skærme
xdg-entry-network-comment = Administrer netværksforbindelser
xdg-entry-panel-comment = Primær systembjælke til menuer og applets
xdg-entry-sound = Lyd
xdg-entry-power-comment = Strømtilstande og strømspareindstillinger
xdg-entry-workspaces = Arbejdsområder
xdg-entry-x11-applications = Kompatibilitet med X11-programmer
xdg-entry-window-management-comment = Super-tast-handling, vindueskontrolindstillinger og yderligere vinduesopdelingsindstillinger
xdg-entry-wired-comment = Kablede forbindelser og forbindelsesprofiler
qr-code-unavailable = QR-kode ikke tilgængelig
network-name = Netværksnavn
auth-dialog = Godkendelse påkrævet
.vpn-description = Indtast det brugernavn og den adgangskode, som VPN-tjenesten kræver.
.wifi-description = Indtast adgangskoden eller krypteringsnøglen. Du kan også oprette forbindelse ved at trykke på “WPS”-knappen på routeren.
share = Del netværk
scan-to-connect-description = Scan QR-koden for at oprette forbindelse til dette netværk.
bluetooth-display-passkey = Bluetooth-parring
.description = Indtast følgende pinkode på { $device }, og tryk derefter på Enter
bluetooth-display-pin = Bluetooth-parring
.description = Indtast følgende pinkode på { $device }, og tryk derefter på Enter

View file

@ -952,3 +952,5 @@ bluetooth-display-passkey = Bluetooth-Kopplung
.description = Bitte gib den folgenden Passkey auf { $device } ein und drücke dann die Eingabetaste
bluetooth-display-pin = Bluetooth-Kopplung
.description = Bitte gib die folgende PIN auf { $device } ein und drücke dann die Eingabetaste
bluetooth-rename-device = Gerät umbenennen
rename = Umbenennen

View file

@ -858,3 +858,5 @@ bluetooth-display-passkey = Σύζευξη Bluetooth
.description = Πληκτρολογήστε το ακόλουθο κλειδί πρόσβασης στο { $device } και πατήστε Enter
bluetooth-display-pin = Σύζευξη Bluetooth
.description = Πληκτρολογήστε το ακόλουθο PIN στο { $device } και πατήστε Enter
rename = Μετονομασία
bluetooth-rename-device = Μετονομασία συσκευής

View file

@ -312,6 +312,14 @@ color-filter = Color filter type
.protanopia = Red/Green (red weakness, Protanopia)
.tritanopia = Blue/Yellow (blue weakness, Tritanopia)
mobility = Mobility
on-screen-keyboard = On-screen keyboard
.always-show = Always show on-screen-keyboard
.icon-on-panel = Icon on panel
.show-on-gamepad-shortcut = Show on-screen keyboard with a gamepad by pressing the Start and Select/Back buttons at the same time
.show-on-text-input = Show on-screen keyboard when selecting a text field
## Desktop
desktop = Desktop
@ -419,7 +427,7 @@ style = Style
.less = less
.more = more
.glass-opacity = Glass opacity
interface-density = Interface density
.comfortable = Comfortable
.compact = Compact
@ -1061,14 +1069,18 @@ time-zone = Time zone
time-format = Date & time format
.twenty-four = 24-hour time
.show-seconds = Show seconds
.show-seconds = Seconds
.show-weekday = Day of week
.first = First day of week
.show-date = Show date in the time applet
.date = Date
.friday = Friday
.saturday = Saturday
.sunday = Sunday
.monday = Monday
date-time-applet-settings-title = Date & time applet
date-time-applet-settings-label = Date & time applet settings
time-region = Region & language
formatting = Formatting

View file

@ -839,3 +839,5 @@ bluetooth-display-passkey = Bluetooth-parinmuodostus
.description = Syötä seuraava turva-avain laitteelle { $device }, ja paina sitten Enter
bluetooth-display-pin = Bluetooth-parinmuodostus
.description = Syötä seuraava PIN-koodi laitteelle { $device }, ja paina sitten Enter
rename = Nimeä uudelleen
bluetooth-rename-device = Nimeä laite uudelleen

View file

@ -1050,3 +1050,5 @@ bluetooth-display-passkey = Appairage Bluetooth
.description = Veuillez saisir le code d’association sur { $device }, puis appuyer sur Entrée
bluetooth-display-pin = Appairage Bluetooth
.description = Veuillez saisir le code PIN suivant sur { $device }, puis appuyer sur Entrée
rename = Renommer
bluetooth-rename-device = Renommer le périphérique

View file

@ -954,3 +954,5 @@ bluetooth-display-passkey = Bluetooth-párosítás
.description = Írd be a következő párosítási kulcsot a(z) { $device } eszközön, majd nyomd meg az Enter billentyűt
bluetooth-display-pin = Bluetooth-párosítás
.description = Írd be a következő PIN-kódot a(z) { $device } eszközön, majd nyomd meg az Enter billentyűt
rename = Átnevezés
bluetooth-rename-device = Eszköz átnevezése

View file

@ -858,3 +858,5 @@ bluetooth-display-passkey = Pemasangan Bluetooth
.description = Silakan ketik kunci sandi berikut pada { $device }, kemudian tekan Enter
bluetooth-display-pin = Pemasangan Bluetooth
.description = Silakan ketik PIN berikut pada { $device }, kemudian tekan Enter
rename = Ganti Nama
bluetooth-rename-device = Ganti Nama Perangkat

View file

@ -96,7 +96,7 @@ xdg-entry-region-language-comment = Msel izemzen, isragen akked yemḍanen almen
xdg-entry-sound-keywords = Cosmic;Imesli;Ameslaw;Alɣu;Pipewire;
xdg-entry-region-language-keywords = COSMIC;Tamnaḍt;Tutlayt;Azemz;Amasal;Asrag;Iɣewwaṛen idiganen;Asideg;
xdg-entry-sound-comment = Iɣewwaṛen n umeslaw i yibenkan, ilɣa akked yisnasen
cancel = Sefsex
cancel = Semmet
save = Sekles
replace = Semselsi
light = Aceɛlal

View file

@ -60,7 +60,7 @@ frosted = Bandora cama qeşa li ser navrûya pergalê
.desc = Li ser destgeh, bender, sepanok, destpêker û pirtûkxaneya sepanan bandora mijîkirina paşrûyê disepîne
about-hardware = Reqalav
.model = Modêla reqalavê
.memory = Bîrdank
.memory = Bîr
.processor = Pêvajoker
.graphics = Grafîk
.disk-capacity = Kapasîteya dîskê
@ -858,3 +858,5 @@ bluetooth-display-pin = Cotkirina Bluetoothê
workspaces-navigation = Gerandin
.wraparound = Di navbera yekem û dawîn qadê xebatê de digere bi riya bikaranîna kurteriyên kilîtdankê û tevgeran
no-search-results = Tu tor li lêgerînên te li hev nakin .
rename = Navê biguhêrîne
bluetooth-rename-device = Navê amûrê biguhêrîne

View file

@ -6,7 +6,7 @@ identity = Identitat
visible-networks = Rets visiblas
username = Nom d’utilizaire
share = Partejar aquesta ret
settings = Paramètres
settings = Configuracion
qr-code-unavailable = Còdi QR indisponible
password-confirm = Confirmar lo senhal
password = Senhal
@ -25,5 +25,32 @@ add-network = Apondre una ret
unknown = Desconegut
ok = D’acòrdi
light = Clar
dark = Fosc
dark = Escur
appearance = Aparéncia
forget-dialog = Oblidar aquesta ret Wi-Fi ?
.description = Vos caldrà tornar picar un senhal per utilizar aquesta ret Wi-Fi a l'avenidor.
applications = Aplicacions
cancel = Anullar
xdg-entry-bluetooth-comment = Gerir los aparelhs Bluetooth
xdg-entry-appearance-keywords = COSMIC;Enfasi;Color;Icòna;Polissa;Tèma
xdg-entry-a11y = Accessibilitat
xdg-entry-desktop-keywords = COSMIC;Burèu;
xdg-entry-displays-comment = Gerir los paramètres d’afichatge
xdg-entry-desktop = Burèu
xdg-entry-date-time-keywords = COSMIC;Ora;Orari;Fus;Zòna;Temps;
xdg-entry-displays = Ecrans
xdg-entry-date-time = Data e ora
xdg-entry-bluetooth-keywords = COSMIC;Bluetooth;
xdg-entry-dock = Dock
xdg-entry-appearance-comment = Colors d’enfasi e tèmas
xdg-entry-comment = Aplicacion Paramètres pel burèu COSMIC
xdg-entry-applications = Aplicacions
xdg-entry-keywords = COSMIC;Paramètres;Configuracions;Reglatges;
xdg-entry-about = A prepaus
xdg-entry-appearance = Aparéncia
xdg-entry-displays-keywords = COSMIC;Ecran;
xdg-entry-date-time-comment = Fus orari, reglatge de l’ora automatica e formatatge de l’ora
number = { $number }
app = Configuracion de COSMIC
dbus-connection-error = Fracàs de la connexion a DBus
replace = Remplaçar

View file

@ -968,3 +968,5 @@ bluetooth-display-passkey = Parowanie Bluetooth
.description = Wpisz ten kod na { $device } i naciśnij Enter
bluetooth-display-pin = Bluetooth Pairing
.description = Wpisz PIN na { $device } i naciśnij Enter
rename = Zmień nazwę
bluetooth-rename-device = Zmień Nazwę Urządzenia

View file

@ -951,3 +951,5 @@ bluetooth-display-passkey = Emparelhamento Bluetooth
.description = Por favor, digite a seguinte chave em { $device }, depois pressione Enter
bluetooth-display-pin = Emparelhamento Bluetooth
.description = Por favor, digite o seguinte PIN em { $device }, depois pressione Enter
rename = Renomear
bluetooth-rename-device = Renomear dispositivo

View file

@ -928,3 +928,5 @@ bluetooth-display-passkey = Сопряжение по Bluetooth
.description = Введите следующий код на { $device }, затем нажмите Enter
bluetooth-display-pin = Сопряжение по Bluetooth
.description = Введите следующий PIN-код на { $device }, затем нажмите Enter
rename = Переименовать
bluetooth-rename-device = Переименовать устройство

View file

@ -966,3 +966,5 @@ bluetooth-display-passkey = Bluetooth-koppling
.description = Mata in följande säkerhetskod på { $device }, tryck sedan Enter
bluetooth-display-pin = Bluetooth-koppling
.description = Ange följande PIN på { $device }, tryck sedan Enter
bluetooth-rename-device = Byt namn på enhet
rename = Byt namn

View file

@ -1,6 +1,6 @@
app = การตั้งค่า COSMIC
dbus-connection-error = ล้มเหลวในการเชื่อมต่อไปยัง DBus
ok = OK
ok = ตกลง
unknown = ไม่ทราบ
number = { $number }
@ -30,8 +30,8 @@ identity = ตัวตน
auth-dialog = จำเป็นต้องเข้าสู่ระบบ
.vpn-description = ใส่ชื่อผู้ใช้และรหัสผ่านที่จำเป็นต่อบริการ VPN
.wifi-description = ใส่รหัสผ่านหรือกุญแจเข้ารหัส คุณสามารถเชื่อมต่อโดยใช้ปุ่ม "WPS" บนเราเตอร์ได้เช่นกัน
forget-dialog = ลิมเครือข่ายไวไฟนี้หรือไม่
.description = คุณจะต้องใส่รหัสผ่านอีกครั้งในการเชื่อมต่อเครือข่ายไวไฟนี้ในอนาคต
forget-dialog = ลืมเครือข่าย Wi-Fi นี้หรือไม่
.description = คุณจะต้องใส่รหัสผ่านอีกครั้งในการเชื่อมต่อเครือข่าย Wi-Fi นี้ในอนาคต
network-device-state =
.activated = เชื่อมต่อแล้ว
.config = กำลังเชื่อมต่อ
@ -40,7 +40,7 @@ network-device-state =
.failed = ล้มเหลวในการเชื่อมต่อ
.ip-check = กำลังตรวจสอบการเชื่อมต่อ
.ip-config = กำลังขอ IP และข้อมูลเส้นทางเครือข่าย
.need-auth = ต้องการการเข้าสู่ระบบ
.need-auth = จำเป็นต้องเข้าสู่ระบบ
.prepare = กำลังเตรียมพร้อมในการเชื่อมต่อ
.secondaries = กำลังรอการเชื่อมต่อรอง
.unavailable = ไม่มีมีอยู่
@ -49,7 +49,7 @@ network-device-state =
.unplugged = สายถูกถอด
remove-connection-dialog = นำโปรไฟล์การเชื่อมต่อออกหรือไม่
.vpn-description = คุณจำเป็นต้องใส่รหัสผ่านอีกครั้งในการใช้เครือข่ายนี้อีกในอนาคต
.wired-description = คุณจะต้องสร้างโปรไฟล์นี้ซ้ำในการจะใช้มันอีกในอนาคต
.wired-description = คุณต้องสร้างโปรไฟล์นี้ใหม่หากต้องใช้งานในอนาคต
vpn = VPN
.connections = การเชื่อมต่อ VPN
.error = ล้มเหลวในการเพิ่มการตั้งค่า VPN
@ -60,6 +60,8 @@ vpn-error = ความล้มเหลวที่เกี่ยวกั
.connect = ล้มเหลวในการเชื่อมต่อไปยัง VPN
.connection-editor = ตัวแก้ไขการเชื่อมต่อล้มเหลว
.connection-settings = ล้มเหลวในการรับการตั้งค่าสำหรับการเชื่อมต่อที่เปิดอยู่
.openvpn-config-path = เส้นทางไฟล์ไม่ถูกต้องสำหรับการตั้งค่า OpenVPN
.openvpn-config-path-desc = ไฟล์ที่ถูกเลือกต้องอยู่บนระบบไฟล์ภายในเครื่อง
.updating-state = ล้มเหลวในการอัพเดทสถานะตัวจัดการเครือข่าย
.wireguard-config-path = เส้นทางไฟล์ของไฟล์การตั้งค่า WireGuard ไม่ถูกต้อง
.wireguard-config-path-desc = ไฟล์ที่เลือกจะต้องอยู่บนระบบไฟล์ภายในเครื่อง
@ -76,10 +78,10 @@ wired = การเชื่อมต่อแบบมีสาย
.devices = อุปกรณ์มีสาย
.remove = ลบโปรไฟล์การเชื่อมต่อ
wifi = Wi-Fi
.adapter = อะแดปเตอร์ Wi-Fi { $id }
.adapter = อะแด็ปเตอร์ Wi-Fi { $id }
.forget = ลืมเครือข่ายนี้
wireguard-dialog = เพิ่มอุปกรณ์ WireGuard
.description = เลือกชื่ออุปกรณ์สำหรับการตั้งค่า WireGuard
.description = เลือกชื่ออุปกรณ์สำหรับการตั้งค่า WireGuard นี้
## Networking: Online Accounts
@ -91,9 +93,8 @@ online-accounts = บัญชีออนไลน์
activate = เปิดใช้งาน
confirm = ยืนยัน
enable = เปิดใช้งาน
bluetooth = บลูทูธ
.desc = จัดการอุปกรณ์บลูทูธ
.status = อุปกรณ์นี้สามารถมองเห็นได้ด้วยชื่อ { $aliases } ขณะที่การตั้งค่าบลูทูธเปิดอยู่
bluetooth = บลูทูท
.status = อุปกรณ์นี้สามารถมองเห็นได้ด้วยชื่อ { $aliases } ขณะที่การตั้งค่าบลูทูทเปิดอยู่
.connected = เชื่อมต่อแล้ว
.connecting = กำลังเชื่อมต่อ
.disconnecting = กำลังตัดการเชื่อมต่อ
@ -101,13 +102,13 @@ bluetooth = บลูทูธ
.disconnect = ตัดการเชื่อมต่อ
.forget = ลืม
.dbus-error = เกิดข้อผิดพลาดระหว่างการติดต่อกับ DBus: { $why }
.disabled = บริการบลูทูธปิดใช้งานอยู่
.inactive = บริการบลูทูธไม่ทำงานอยู่
.unknown = บริการบลูทูธไม่สามารถเปิดใช้งานได้ คุณมี BlueZ ติดตั้งอยู่รึเปล่า
.disabled = บริการบลูทูทปิดใช้งานอยู่
.inactive = บริการบลูทูทไม่ทำงานอยู่
.unknown = บริการบลูทูทไม่สามารถเปิดใช้งานได้ คุณมี BlueZ ติดตั้งอยู่รึเปล่า
bluetooth-paired = อุปกรณ์ที่เชื่อมต่อก่อนหน้านี้
.connect = เชื่อมต่อ
.battery = แบตเตอรี่ { $percentage }%
bluetooth-confirm-pin = ยืนยันรหัส PIN บลูทูธ
bluetooth-confirm-pin = ยืนยันรหัส PIN บลูทูท
.description = โปรดยืนยันว่ารหัส PIN ต่อไปนี้ตรงกับรหัสที่แสดงอยู่บน { $device }
bluetooth-available = อุปกรณ์ใกล้เคียง
bluetooth-adapters = อะแดปเตอร์บลูทูธ
@ -123,8 +124,10 @@ accessibility = ความเข้าถึงได้
.high-contrast = โหมดคอนทราสท์สูง
.invert-colors = สลับสี
.color-filters = ฟิลเตอร์สี
.shake-cursor = เขย่าเคอร์เซอร์เพื่อหามัน
.shake-cursor-desc = เขย่าเมาส์อย่างรวดเร็วเพื่อขยายขนาดเคอร์เซอร์ชั่วคราว
hearing = การได้ยิน
.mono = เล่นเสียงสเตอริโอเป็นแบบโมโน
.mono = เล่นเสียงสเตรีโอเป็นแบบโมโน
default = ค่าเริ่มต้น
magnifier = แว่นขยาย
.controls =
@ -158,13 +161,12 @@ color-filter = ประเภทฟิลเตอร์สี
## Desktop
desktop = เดสก์ทอป
desktop = เดสก์ท็อป
## Desktop: Wallpaper
wallpaper = วอลเปเปอร์
.change = เปลี่ยนภาพทุก ๆ
.desc = ภาพวอลเปเปอร์ สี และตัวเลือกสไลด์โชว์
.fit = การทำให้วอลเปเปอร์พอดี
.folder-dialog = เลือกโฟลเดอร์วอลเปเปอร์
.image-dialog = เลือกรูปภาพวอลเปเปอร์
@ -186,8 +188,7 @@ never = ไม่เคย
## Desktop: Appearance
appearance = หน้าตา
.desc = ธีมและสีหลัก
appearance = ลักษณะ
accent-color = สีหลัก
app-background = พื้นหลังแอพลิเคชั่นหรือหน้าต่าง
auto = อัตโนมัติ
@ -204,8 +205,8 @@ mode-and-colors = โหมดและสี
recent-colors = สีล่าสุด
reset-to-default = รีเซ็ตเป็นค่าเริ่มต้น
rgb = RGB
window-hint-accent = สีที่บอกใบ้ว่าหน้าต่างที่ใช้งานอยู่
window-hint-accent-toggle = ใช้สีหลักธีมเป็นสีที่บอกใบ้หน้าต่างที่ใช้งานอยู่
window-hint-accent = สีบอกใบ้หน้าต่างที่ใช้งานอยู่
window-hint-accent-toggle = ใช้สีหลักธีมเป็นสีบอกใบ้หน้าต่างที่ใช้งานอยู่
auto-switch = สลับระหว่างโหมดมืดและสว่างอัตโนมัติ
.sunrise = สลับเป็นโหมดสว่างเมื่อพระอาทิตย์ขึ้น
.sunset = สลับเป็นโหมดมืดเมื่อพระอาทิตย์ตก
@ -229,6 +230,19 @@ style = สไตล์
.round = กลม
.slightly-round = กลมเล็กน้อย
.square = เหลี่ยม
.frosted-glass = กระจกฝ้า
.frosted-system-interface = อินเทอร์เฟซระบบ
.frosted-system-interface-desc = นำเอฟเฟกต์กระจกฝ้าไปใช้กับลันเชอร์ ไลบรารีแอปพลิเคชัน ภาพรวมพื้นที่ทำงาน และการควบคุมบนหน้าจอ
.frosted-windows = หน้าต่าง
.frosted-windows-desc = นำเอฟเฟกต์กระจกฝ้าไปใช้กับหน้าต่างและไดอะลอก
.frosted-panels = แผงควบคุม
.frosted-panels-desc = นำเอฟเฟกต์กระจกฝ้าไปใช้กับแผงควบคุมและแท่นวาง
.frosted-applets = แอพเล็ต
.frosted-applets-desc = นำเอฟเฟกต์กระจกฝ้าไปใช้กับเมนูแอพเล็ตบนแผงควบคุมและแท่นวาง
.frosted-thickness = ความหนาฝ้า
.less = น้อย
.more = มาก
.glass-opacity = ความทึบกระจก
interface-density = ความหนาแน่นของอินเทอร์เฟซ
.comfortable = สะบาย
.compact = กะทัดรัด
@ -247,12 +261,10 @@ monospace-font = ฟอนต์โมโนสเปซ
## Desktop: Notifications
notifications = การแจ้งเตือน
.desc = ห้ามรบกวน การแจ้งเตือนบนหน้าจอล็อค และการตั้งค่าแต่ละแอพลิเคชั่น
## Desktop: Panel
panel = แผงควบคุม
.desc = แถบด้านบนที่มีการควบคุมเดสก์ทอปและเมนู
add = เพิ่ม
add-applet = เพิ่มแอพเล็ต
all = ทั้งหมด
@ -269,7 +281,7 @@ search-applets = ค้นหาแอพเล็ต...
small = เล็ก
start-segment = เริ่มส่วนใหม่
panel-appearance = หน้าตา
.match = ตรงกับเดสก์ทอป
.match = ตรงกับเดสก์ท็อป
.light = สว่าง
.dark = มืด
panel-behavior-and-position = พฤติกรรมและตำแหน่ง
@ -295,17 +307,15 @@ panel-missing = การตั้งค่าแผงควบคุมสู
## Desktop: Dock
dock = แท่นวาง
.desc = แผงที่มีแอพลิเคชั่นปักหมุดในถาดแอพและแอพเล็ตอื่น ๆ
## Desktop: Window management
window-management = การจัดการหน้าต่าง
.desc = การกระทำซุปเปอร์คีย์ ตัวเลือกการควบคุมหน้าต่าง และตัวเลือกการไทล์หน้าต่างเพิ่มเติม
super-key = ซุปเปอร์คีย์
super-key = การกระทำปุ่มซูเปอร์
.launcher = เปิดลันเชอร์
.workspaces = เปิดหน้าพื้นที่ทำงาน
.applications = เปิดหน้าแอพลิเคชั่น
.disable = ปิด
.none = ไม่มี
edge-gravity = หน้าต่างที่ลอยอยู่จะยึดติดกับขอบที่ใกล้เคียง
window-controls = การควบคุมหน้าต่าง
.minimize = แสดงปุ่มซ่อนหน้าต่าง
@ -319,7 +329,6 @@ focus-navigation = การนำทางโฟกัส
## Desktop: Workspaces
workspaces = พื้นที่ทำงาน
.desc = พฤติกรรมและการวางแนวพื้นที่ทำงาน
workspaces-behavior = พฤติกรรมพื้นที่ทำงาน
.dynamic = พื้นที่ทำงานที่เปลี่ยนแปลงอยู่เสมอ
.dynamic-desc = ลบที่ทำงานว่างปล่าวโดยอัตโนมัติ
@ -346,7 +355,6 @@ color = สี
.sidebar = โปรไฟล์สี
.temperature = อุณหภูมิสี
display = จอแสดงผล
.desc = จัดการจอแสดงผล การสลับกราฟิก และไฟกลางคืน
.arrangement = การจัดจอแสดงผล
.arrangement-desc = ลากจอแสดงผลเพื่อจัดเรียงพวกมัน
.enable = เปิดจอแสดงผล
@ -362,9 +370,9 @@ mirroring = การสะท้อน
.dont = อย่าสะท้อน
.mirror = สะท้อน { $display }
.project =
ฉายภาพไปยัง { $display ->
ฉายภาพไปยัง{ $display ->
[all] จอภาพทั้งหมด
*[other] { $display }
*[other] { " " }{ $display }
}
.project-count = กำลังฉายไปยังจอภาพอื่นอีก { $count } จอ
night-light = ไฟกลางคืน
@ -372,9 +380,9 @@ night-light = ไฟกลางคืน
.desc = ลดแสงสีฟ้าด้วยสีที่อุ่นขึ้น
orientation = การวางแนว
.standard = มาตรฐาน
.rotate-90 = หมุน 90
.rotate-180 = หมุน 180
.rotate-270 = หมุน 270
.rotate-90 = หมุน 90°
.rotate-180 = หมุน 180°
.rotate-270 = หมุน 270°
vrr = อัตราการรีเฟรชแบบแปรผัน
.enabled = เปิด
.force = บังคับเปิด
@ -391,13 +399,14 @@ dialog = ไดอะล็อก
## Sound
sound = เสียง
.desc = N/A
sound-output = เอาท์พุต
.volume = ระดับเสียงเอาท์พุต
.device = อุปกรณ์เอาท์พุต
.level = ระดับเอาท์พุต
sound-output = เอาต์พุต
.volume = ระดับเสียงเอาต์พุต
.device = อุปกรณ์เอาต์พุต
.level = ระดับเอาต์พุต
.config = การตั้งค่า
.balance = สมดุล
.left = ซ้าย
.right = ขวา
sound-input = อินพุต
.volume = ระดับเสียงอินพุต
.device = อุปกรณ์อินพุต
@ -405,13 +414,13 @@ sound-input = อินพุต
sound-alerts = การแจ้งเตือน
.volume = ระดับเสียงการแจ้งเตือน
.sound = เสียงการแจ้งเตือน
sound-applications = แอพลิเคชั่น
sound-applications = แอปพลิเคชัน
.desc = การตั้งค่าและระดับเสียงแอพลิเคชั่น
.none = ไม่มีแอปพลิเคชันใดใช้เสียงอยู่
## Power
power = พลังงานและแบตเตอรี่
.desc = จัดการการตั้งค่าพลังงาน
battery = แบตเตอรี่
.minute = { $value } นาที
.hour = { $value } ชั่วโมง
@ -444,7 +453,6 @@ power-saving = ตัวเลือกประหยัดพลังงา
acceleration-desc = ปรับความไวในการติดตามโดยอัตโนมัติตามความเร็ว
disable-while-typing = ปิดการใช้งานระหว่างการพิมพ์
input-devices = อุปกรณ์ป้อนข้อมูล
.desc = อุปกรณ์ป้อนข้อมูล
primary-button = ปุ่มหลัก
.desc = ตั้งลำดับปุ่มกายภาพ
.left = ซ้าย
@ -462,14 +470,13 @@ slow = ช้า
fast = เร็ว
short = สั้น
long = ยาว
keyboard = คีย์บอร์ด
.desc = แหล่งอินพุต การสลับ การพิมพ์ตัวอักษรพิเศษ และคีย์ลัด
keyboard = แป้นพิมพ์
keyboard-sources = แหล่งอินพุต
.desc = สามารถสลับแหล่งอินพุตได้โดยคีย์ ซุปเปอร์ + เว้นวรรค ปุ่มนี้สามารถปรับแต่งได้ผ่านการตั้งค่าคีย์ลัด
.desc = สามารถสลับแหล่งอินพุตได้ผ่านคีย์ลัด ซูเปอร์ + เว้นวรรค ปุ่มนี้สามารถปรับแต่งได้ผ่านการตั้งค่าคีย์ลัด
.move-up = ขยับขึ้น
.move-down = ขยับลง
.settings = การตั้งค่า
.view-layout = ดูแผนผังคีย์บอร์ด
.view-layout = ดูแผนผังแป้นพิมพ์
.remove = ลบ
.add = เพิ่มแหล่งอินพุต
keyboard-special-char = การพิมพ์ตัวอักษรพิเศษ
@ -493,17 +500,17 @@ show-extended-input-sources = แสดงแหล่งอินพุตเ
keyboard-shortcuts = คีย์ลัด
.desc = ดูและปรับแต่งคีย์ลัด
add-another-keybinding = เพิ่มปุ่มลัดเพิ่มเติม
add-another-keybinding = เพิ่มคีย์ลัดเพิ่มเติม
cancel = ยกเลิก
command = คำสั่ง
custom = กำหนดเอง
debug = ดีบัก
disabled = ปิดใช้งาน
input-source-switch = สลับภาษาคีย์บอร์ดแหล่งอินพุต
migrate-workspace-prev = ย้ายพื้นที่ทำงานไปยังเอาท์พุตก่อนหน้า
migrate-workspace-next = ย้ายพื้นที่ทำงานไปยังเอาท์พุตถัดไป
migrate-workspace-prev = ย้ายพื้นที่ทำงานไปยังเอาต์พุตก่อนหน้า
migrate-workspace-next = ย้ายพื้นที่ทำงานไปยังเอาต์พุตถัดไป
migrate-workspace =
ย้ายพื้นที่ทำงานไปยังเอาท์พุต{ $direction ->
ย้ายพื้นที่ทำงานไปยังเอาต์พุต{ $direction ->
*[down] ล่าง
[left] ทางซ้าย
[right] ทางขวา
@ -522,8 +529,8 @@ custom-shortcuts = คีย์ลัดกำหนดเอง
.none = ไม่มีคีย์ลัดกำหนดเอง
modified = { $count } รายการถูกแก้ไข
nav-shortcuts = การนำทาง
.prev-output = โฟกัสเอาท์พุตก่อนหน้า
.next-output = โฟกัสเอาท์พุตถัดไป
.prev-output = โฟกัสเอาต์พุตก่อนหน้า
.next-output = โฟกัสเอาต์พุตถัดไป
.last-workspace = โฟกัสพื้นที่ทำงานสุดท้าย
.prev-workspace = โฟกัสพื้นที่ทำงานก่อนหน้า
.next-workspace = โฟกัสพื้นที่ทำงานถัดไป
@ -537,7 +544,7 @@ nav-shortcuts = การนำทาง
[up] ด้านบน
}
.output =
สลับไปยังเอาท์พุต{ $direction ->
สลับไปยังเอาต์พุต{ $direction ->
*[down] ด้านล่าง
[left] ด้านซ้าย
[right] ด้านขวา
@ -583,30 +590,34 @@ move-windows = ขยับหน้าต่าง
.send-to-prev-workspace = ขยับหน้าต่างไปยังพื้นที่ทำงานก่อนหน้า
.send-to-next-workspace = ขยับหน้าต่างไปยังพื้นที่ทำงานถัดไป
system-shortcut = ระบบ
.app-library = เปิดไลบรารีแอพ
.app-library = เปิดไลบรารีแอป
.brightness-down = ลดความสว่างจอแสดงผล
.brightness-up = เพิ่มความสว่างจอแสดงผล
.display-toggle = ปิดเปิดหน้าจอภายใน
.home-folder = เปิดโฟลเดอร์บ้าน
.keyboard-brightness-down = ลดความสว่างคีย์บอร์ด
.keyboard-brightness-up = เพิ่มความสว่างคีย์บอร์ด
.launcher = เปิดลันเชอร์
.log-out = ล็อกเอาท์
.lock-screen = ล็อคหน้าจอ
.mute = ปิดเสียงเอาท์พุต
.mute = ปิดเสียงเอาต์พุต
.mute-mic = ปิดเสียงอินพุตไมโครโฟน
.play-pause = เล่น/หยุด
.play-next = เพลงถัดไป
.play-prev = เพลงก่อนหน้า
.poweroff = ปิดเครื่อง
.screenshot = ถ่ายภาพหน้าจอ
.suspend = ระงับ
.terminal = เปิดเทอร์มินัล
.volume-lower = ลดระดับเสียงเอาท์พุต
.volume-raise = เพิ่มระดับเสียงเอาท์พุต
.touchpad-toggle = ปิดเปิดทัชแพด
.volume-lower = ลดระดับเสียงเอาต์พุต
.volume-raise = เพิ่มระดับเสียงเอาต์พุต
.web-browser = เปิดเบราเซอร์
.window-switcher = สลับระหว่างหน้าต่างที่เปิดอยู่
.window-switcher-previous = สลับไปยังหน้าต่างก่อนหน้า
.workspace-overview = เปิดภาพรวมพื้นที่ทำงาน
window-tiling = การไทล์หน้าต่าง
.horizontal = ตั้งวางแนวเป็นแนวนอน
.horizontal = ตั้งการวางแนวเป็นแนวนอน
.vertical = ตั้งการวางแนวเป็นแนวตั้ง
.swap-window = สลับหน้าต่าง
.toggle-tiling = ปิดเปิดการไทล์หน้าต่าง
@ -619,7 +630,6 @@ replace-shortcut-dialog = แทนที่คีย์ลัดหรือไ
## Input: Mouse
mouse = เมาส์
.desc = ความเร็วเมาส์ ความเร่ง และการเลื่อนอย่างเป็นธรรมชาติ
.speed = ความเร็วเมาส์
.acceleration = เปิดใช้งานการเร่งความเร็วเมาส์
@ -634,7 +644,6 @@ tap-to-click = แตะเพื่อคลิก
.desc = เปิดการแตะนิ้วเดียวเพื่อการคลิกหลัก แตะสองนิ้วเพื่อการคลิกรอง แตะสามนิ้วเพื่อคลิกกลาง
touchpad = ทัชแพด
.acceleration = เปิดใช้งานการเร่งความเร็วทัชแพด
.desc = ความเร็วทัชแพด ตัวเลือกการคลิก และท่าทาง
.speed = ความเร็วทัชแพด
## Input: Gestures
@ -655,9 +664,7 @@ open-workspaces-view = เปิดภาพรวมพื้นที่ทำ
## Time & Language
time = เวลาและภาษา
.desc = N/A
time-date = วันที่และเวลา
.desc = โซนเวลา การตั้งค่านาฬิกาอัตโนมัติ และรูปแบบเวลา
.auto = ตั้งโดยอัตโนมัติ
.auto-ntp = วันที่และเวลาจะอัพเดทอัตโนมัติเมื่อโซนเวลาถูกตั้งอยู่
time-zone = โซนเวลา
@ -672,8 +679,7 @@ time-format = รูปแบบวันที่และเวลา
.saturday = เสาร์
.sunday = อาทิตย์
.monday = จันทร์
time-region = ภาษาและภูมิภาค
.desc = รูปแบบวันที่ เวลา และตัวเลขตามภูมิภาคของคุณ
time-region = ภูมิภาคและภาษา
formatting = การจัดรูปแบบ
.dates = วันที่
.time = เวลา
@ -694,8 +700,7 @@ applications = แอพลิเคชั่น
## Applications: Default Applications
default-apps = แอพลิเคชั่นเริ่มต้น
.desc = ค่าเริ่มต้นแอพลิเคชั่นเว็บเบราเซอร์ ไคลเอนต์อีเมล ตัวจัดการไฟล์ และแอพลิเคชั่นอื่น ๆ
default-apps = แอปพลิเคชันเริ่มต้น
.web-browser = เว็บเบราเซอร์
.file-manager = ตัวจัดการไฟล์
.mail-client = ไคลเอนต์อีเมล
@ -706,22 +711,21 @@ default-apps = แอพลิเคชั่นเริ่มต้น
.terminal = เทอร์มินัล
.other-associations = โปรแกรมที่เกี่ยวข้องกับรูปแบบไฟล์อื่น ๆ
.text-editor = โปรแกรมแก้ไขข้อความ
.not-installed = ไม่ถูกติดตั้ง
## Applications: Startup Applications
startup-apps = แอพลิเคชั่นเริ่มระบบ
.desc = ตั้งค่าแอพลิเคชั่นที่จะถูกเรียกใช้เมื่อล็อกอิน
.add = เพิ่มแอพ
.user = แอพลิเคชั่นที่จะถูกเปิดเมื่อคุณล็อกอิน
.none = ไม่มีการเพิ่มแอพลิเคชั่นเริ่มระบบ
startup-apps = แอปพลิเคชันเริ่มระบบ
.add = เพิ่มแอป
.user = แอปพลิเคชันที่จะถูกเปิดเมื่อคุณล็อกอิน
.none = ไม่มีการเพิ่มแอปพลิเคชันเริ่มระบบ
.remove-dialog-title = ลบ { $name } หรือไม่
.remove-dialog-description = คุณแน่ใจหรือไม่ที่จะลบแอพลิเคชั่นเริ่มระบบนี้
.search-for-application = ค้นหาแอพลิเคชั่น
.remove-dialog-description = คุณแน่ใจหรือไม่ที่จะลบแอปพลิเคชันเริ่มระบบนี้
.add-startup-app = เพิ่มแอปพลิเคชันเริ่มระบบ
## Applications: Legacy Applications
legacy-applications = ความเข้ากันได้กับแอพลิเคชั่น X11
.desc = การขยายแอพลิเคชั่นระบบหน้าต่าง X11 และคีย์ลัดทั่วเดสก์ท็อป
legacy-applications = ความเข้ากันได้กับแอปพลิเคชัน X11
legacy-app-global-shortcuts = คีย์ลัดทั่วเดสก์ท็อปในแอพลิเคชั่น X11
.desc = คีย์ลัดทั่วเดสก์ท็อปอนุญาตให้อีเวนท์การกดปุ่มและการคลิกเมาส์ที่ถูกกระทำในแอพลิเคชั่นถูกได้รับการรับรู้โดยแอพลิเคชั่นอื่นสำหรับฟีเจอร์เช่น การกดเพื่อพูดหรือกดเพื่อปิดเสียง โดยค่าเริ่มต้น ฟีเจอร์นี้จะปิดอยู่สำหรับแอพลิเคชั่น X11 เพื่อให้แน่ใจว่าแอพลิเคชั่นอื่นไม่สามารถคอยฟังอีเวนท์คีย์บอร์ดและเมาส์ที่มีข้อมูลละเอียดอ่อน
.none = ไม่มีปุ่มได้ที่สามารถรับรู้ได้
@ -746,7 +750,6 @@ system = ระบบและบัญชี
## System: About
about = เกี่ยวกับ
.desc = ชื่ออุปกรณ์ ข้อมูลฮาร์ดแวร์ และค่าเริ่มต้นระบบปฏิบัติการ
about-device = ชื่ออุปกรณ์
.desc = ชื่อนี้แสดงต่ออุปกรณ์ภายในเครือข่ายหรืออุปกรณ์บลูธูทอื่น ๆ
about-hardware = ฮาร์ดแวร์
@ -758,6 +761,7 @@ about-hardware = ฮาร์ดแวร์
about-os = ระบบปฏิบัติการ
.os = ระบบปฏิบัติการ
.os-architecture = สถาปัตยกรรมระบบปฏิบัติการ
.kernel = เวอร์ชันเคอร์เนล
.desktop-environment = สภาพแวดล้อมเดสก์ท็อป
.windowing-system = ระบบหน้าต่าง
about-related = การตั้งค่าที่เกี่ยวข้อง
@ -766,21 +770,26 @@ about-related = การตั้งค่าที่เกี่ยวข้
## System: Firmware
firmware = เฟิร์มแวร์
.desc = รายละเอียดเฟิร์มแวร์
## System: Users
users = ผู้ใช้
.desc = การเข้าสู่ระบบและบัญชีผู้ใช้
.admin = ผู้ดูแลระบบ
.standard = มาตรฐาน
.profile-add = เลือกรูปโปรไฟล์
administrator = ผู้ดูแลระบบ
.desc = ผู้ดูแลระบบสามารถเปลี่ยนแปลงการตั้งค่าสำหรับผู้ใช้ทั้งหมดได้ เพิ่มและลบผู้ใช้อื่นได้
add-user = เพิ่มผู้ใช้
change-password = Change password
change-password = เปลี่ยนรหัสผ่าน
remove-user = ลบผู้ใช้
full-name = ชื่อเต็ม
invalid-username = ชื่อผู้ใช้ไม่ถูกต้อง
password-mismatch = รหัสผ่านและการยืนยันรหัสผ่านไม่ตรงกัน
save = บันทึก
xdg-entry-a11y = การเข้าถึง
xdg-entry-about-keywords = COSMIC;About;เกี่ยวกับ
xdg-entry-a11y-keywords = COSMIC;Accessibility;A11y;Screen;Reader;Magnifier;Contrast;Color;การเข้าถึง;หน้าจอ;อ่าน;แว่นขยาย;คอนทราสต์;สี;
xdg-entry-a11y-comment = โปรแกรมอ่านหน้าจอ แว่นขยาย คอนทราสต์สูง และฟิลเตอร์สี
xdg-entry-about-comment = ชื่ออุปกรณ์ ข้อมูลฮาร์ดแวร์ ค่าเริ่มต้นระบบปฏิบัติการ
xdg-entry-comment = แอปพลิเคชันการตั้งค่าสำหรับเดสก์ท็อป COSMIC
xdg-entry-keywords = COSMIC;Settings;การตั้งค่า;

View file

@ -940,3 +940,5 @@ bluetooth-display-pin = Злучення Bluetooth
.description = Введіть PIN-код на { $device }, далі натисніть Enter
bluetooth-display-passkey = Злучення Bluetooth
.description = Введіть код для створення пари на { $device }, далі натисніть Enter
rename = Перейменувати
bluetooth-rename-device = Перейменувати пристрій

View file

@ -954,3 +954,5 @@ bluetooth-display-passkey = 蓝牙配对
.description = 请在 { $device } 上输入以下密钥,然后按回车键
bluetooth-display-pin = 蓝牙配对
.description = 请在 { $device } 上输入以下 PIN 码,然后按回车键
rename = 重命名
bluetooth-rename-device = 重命名设备

View file

@ -373,19 +373,19 @@ display = 顯示器
.resolution = 解析度
.scale = 縮放
.additional-scale-options = 其他縮放選項
mirroring = 投影
.id = 正在投影 { $id }
.dont = 不要投影
.mirror = 投影 { $display }
mirroring = 鏡射
.id = 鏡射 { $id }
.dont = 不要鏡射
.mirror = 鏡射 { $display }
.project =
投影至 { $display ->
[all] 全部的螢幕
[all] 全部顯示器
*[other] { $display }
}
.project-count =
投影了 { $count } 個 { $count ->
[1] 螢幕
*[other] 螢幕
投影 { $count } 個其他 { $count ->
[1] 顯示器
*[other] 顯示器
}
night-light = 夜間模式
.auto = 自動(日落至日出)
@ -829,7 +829,7 @@ full-name = 全名
invalid-username = 無效的使用者名稱
password-mismatch = 密碼與確認密碼必須相符
save = 儲存
xdg-entry-dock-comment = 可選應用程式和小程式的工具列
xdg-entry-dock-comment = 可選擇應用程式和小程式的工具列
xdg-entry-dock = Dock
xdg-entry-displays-keywords = COSMIC;顯示器;螢幕;
xdg-entry-displays-comment = 管理顯示器設定
@ -907,7 +907,7 @@ xdg-entry-wallpaper-comment = 背景圖片、顏色及投影片選項
xdg-entry-wireless = Wi-Fi
xdg-entry-workspaces-keywords = COSMIC;工作區;方向;總覽;螢幕;
xdg-entry-system-comment = 系統資訊、帳號及韌體更新
xdg-entry-x11-applications-comment = X11 視窗系統應用程式縮放大小、主要顯示螢幕和整體快速鍵
xdg-entry-x11-applications-comment = X11 視窗系統應用程式縮放大小、主要顯示器和整體快速鍵
xdg-entry-wallpaper-keywords = COSMIC;背景圖片;背景;投影片;
xdg-entry-users-keywords = COSMIC;使用者;帳戶;
xdg-entry-vpn-keywords = COSMIC;VPN;網路;連接;OpenVPN;OpenConnect;
@ -951,3 +951,5 @@ bluetooth-display-passkey = 藍牙配對
.description = 請在 { $device } 上輸入密金鑰,然後按 Enter 鍵
bluetooth-display-pin = 藍牙配對
.description = 請在 { $device } 上輸入 PIN 碼,然後按 Enter 鍵
rename = 重新命名
bluetooth-rename-device = 重新命名裝置

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-page"
version = "1.7.0"
version = "1.9.0"
edition = "2024"
[dependencies]

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-sound"
version = "1.7.0"
version = "1.9.0"
edition = "2024"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-wallpaper"
version = "1.7.0"
version = "1.9.0"
edition = "2024"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-a11y-manager-subscription"
version = "1.7.0"
version = "1.9.0"
edition = "2024"
license = "MPL-2.0"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-accessibility-subscription"
version = "1.7.0"
version = "1.9.0"
edition = "2024"
license = "MPL-2.0"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-airplane-mode-subscription"
version = "1.7.0"
version = "1.9.0"
edition = "2024"
license = "MPL-2.0"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-bluetooth-subscription"
version = "1.7.0"
version = "1.9.0"
edition = "2024"
license = "MPL-2.0"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-daemon-subscription"
version = "1.7.0"
version = "1.9.0"
edition = "2024"
rust-version.workspace = true
publish = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-upower-subscription"
version = "1.7.0"
version = "1.9.0"
edition = "2024"
license = "MPL-2.0"
rust-version.workspace = true