kylin-nm/ 0000775 0001750 0001750 00000000000 15167651420 011245 5 ustar feng feng kylin-nm/kylin-nm.pro 0000664 0001750 0001750 00000000327 15167651420 013527 0 ustar feng feng TEMPLATE = subdirs
CONFIG += \
ordered \
qt \
SUBDIRS = \
plugins/plugin.pro \
src-vpn/src-vpn.pro \
src \
sys-dbus-register \
qml-network \
QT += widgets
kylin-nm/src/ 0000775 0001750 0001750 00000000000 15167651420 012034 5 ustar feng feng kylin-nm/src/translations/ 0000775 0001750 0001750 00000000000 15167651420 014555 5 ustar feng feng kylin-nm/src/translations/kylin-nm_tr.ts 0000664 0001750 0001750 00000270774 15167646234 017420 0 ustar feng feng
BackThreadConfirm your WLAN passwordWLAN parolasını doğrulaConfFormedit networkAğı düzenleLAN name: LAN adı: Method: Yöntem: Address: Adres: Netmask: Netmask: DNS 1: DNS 1: DNS 2: DNS 2: Edit ConnBağ. DüzenleAuto(DHCP)Oto(DHCP)ManualElleCancelİptalSaveKaydetOkTamamCan not create new wired network for without wired cardKablolu kart olmadan yeni kablolu ağ oluşturulamıyorNew network already createdYeni ağ zaten oluşturulduNew network settings already finishedYeni ağ ayarları zaten tamamlandıkylin network applet desktop messageKylin ağ uygulaması masaüstü mesajıEdit NetworkAğı DüzenleAdd Wired NetworkKablolu Ağ Eklecreate wired network successfullyBaşarıyla kablolu ağ oluşturulduchange configuration of wired network successfullyKablolu ağın yapılandırmasını başarıyla değiştirildiNew settings already effectiveYeni ayarlar zaten etkiliConfigPageNetwork profile typePublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.Config firewall and security settingsConnectivityPageNetwork connectivity detectionIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.Public network (default)Local area network (intranet)ConfirmThe network is connected and can access the Internet normally.The network is connected and access to the Internet is restricted.Please enter the local area network (intranet) detection addressFormat errorCreatNetPageConnection NameIPv4ConfigAddressNetmaskDefault GatewayInvalid addressInvalid subnet maskRequiredAddress conflictAuto(DHCP)Oto(DHCP)ManualElleDetailPageAuto ConnectionSSID:Copied successfully!Copy allPlease input SSID:Protocol:Security Type:Hz:Chan:BandWidth:IPv4:IPv6 adresi: {4:?}IPv4 DNS:IPv6:IPv6 adresi: {6:?}Mac:DlgHideWifiAdd Hidden WLANGizli WLAN EkleConnectionBağlantıWLAN nameWLAN adıWLAN securityWLAN güvenlikCancelİptalConnectBağlantıC_reate…Oluştur...NoneYokConn WLAN SuccessWLAN Bağlantısı BaşarılıConfirm your WLAN password or usable of wireless cardKablosuz şifrenizi veya kablosuz kart kullanılabilirliğini onaylayınWPA & WPA2 PersonalWPA & WPA2 KişiselWEP 40/128-bit Key (Hex or ASCII)WEP 40/128-bit Key (Hex veya ASCII)WEP 128-bit PassphraseWEP 128-bit PassphraseDynamic WEP (802.1X)Dinamik WEP (802.1x)WPA & WPA2 EnterpriseWPA & WPA2 EnterpriseConnect to Hidden WLAN NetworkGizli WLAN Ağına BağlanDlgHideWifiEapFastConnect to Hidden WLAN NetworkGizli WLAN Ağına BağlanAdd hidden WLANGizli WLAN EkleConnectionBağlantı:Network nameAğ adıWLAN securityWLAN güvenliğiAuthenticationKimlik DoğrulamaAnonymous identityAnonim kimlikAllow automatic PAC pro_visioningOtomatik PAC pro_visioning'e izin verPAC filePAC dosyasıInner authenticationİç kimlik doğrulama:UsernameKullanıcı adıPasswordParolaCancelİptalConnectBağlanC_reate…Oluştur...NoneYokWPA & WPA2 PersonalWPA & WPA2 KişiselWEP 40/128-bit Key (Hex or ASCII)WEP 40/128-bit Key (Hex veya ASCII)WEP 128-bit PassphraseWEP 128-bit PassphraseDynamic WEP (802.1X)Dinamik WEP (802.1x)WPA & WPA2 EnterpriseWPA & WPA2 EnterpriseTunneled TLSTünelli TLSProtected EAP (PEAP)Korumalı EAP (PEAP)AnonymousAnonimAuthenticatedDoğrulanmışBothHer ikisi deDlgHideWifiEapLeapConnect to Hidden WLAN NetworkGizli WLAN ağına bağlanAdd hidden WLANGizli WLAN ekleConnectionBağlantı:Network nameAğ adı:WLAN securityWLAN güvenliği:AuthenticationKimlik Doğrulama:UsernameKullanıcı adı:PasswordParola:Cancel取消ConnectBağlanC_reate…Oluştur...NoneYokWPA & WPA2 PersonalWPA & WPA2 KişiselWEP 40/128-bit Key (Hex or ASCII)WEP 40/128-bit Key (Hex veya ASCII)WEP 128-bit PassphraseWEP 128-bit PassphraseDynamic WEP (802.1X)Dinamik WEP (802.1x)WPA & WPA2 EnterpriseWPA & WPA2 EnterpriseTunneled TLSTünelli TLSProtected EAP (PEAP)Korumalı EAP (PEAP)DlgHideWifiEapPeapConnect to Hidden WLAN NetworkGizli WLAN Ağına BağlanAdd hidden WLANGizli WLAN ekleConnectionBağlantı:Network nameAğ adı:WLAN securityWLAN güvenliği:AuthenticationKimlik Doğrulama:Anonymous identityAnonim kimlik:DomainDomain:CA certificateCA sertifikası:CA certificate passwordCA sertifika şifresi:No CA certificate is requiredCA sertifikası gerekmezPEAP versionPEAP sürümü:Inner authenticationİç kimlik doğrulama:UsernameKullanıcı adı:PasswordParola:CancelİptalConnectBağlanNoneYokWPA & WPA2 PersonalWPA & WPA2 KişiselWEP 40/128-bit Key (Hex or ASCII)WEP 40/128-bit Key (Hex veya ASCII)WEP 128-bit PassphraseWEP 128-bit PassphraseDynamic WEP (802.1X)Dinamik WEP (802.1x)WPA & WPA2 EnterpriseWPA & WPA2 EnterpriseTunneled TLSTünelli TLSProtected EAP (PEAP)Korumalı EAP (PEAP)Choose from fileDosyadan seçin...AutomaticOtomatikVersion 0Sürüm 0Version 1Sürüm 1DlgHideWifiEapPwdConnect to Hidden WLAN NetworkGizli WLAN Ağına BağlanAdd hidden WLANGizli WLAN ekleConnectionBağlantı:Network nameAğ adı:WLAN securityWLAN güvenliği:AuthenticationKimlik Doğrulama:UsernameKullanıcı adı:PasswordParola:CancelİptalConnectBağlanC_reate…Oluştur...NoneYokWPA & WPA2 PersonalWPA & WPA2 KişiselWEP 40/128-bit Key (Hex or ASCII)WEP 40/128-bit Key (Hex veya ASCII)WEP 128-bit PassphraseWEP 128-bit PassphraseDynamic WEP (802.1X)Dinamik WEP (802.1x)WPA & WPA2 EnterpriseWPA & WPA2 EnterpriseTunneled TLSTünelli TLSProtected EAP (PEAP)Korumalı EAP (PEAP)DlgHideWifiEapTTLSConnect to Hidden WLAN NetworkGizli WLAN Ağına BağlanAdd hidden WLANGizli WLAN ekleConnectionBağlantı:Network nameAğ adı:WLAN securityWLAN Güvenliği:AuthenticationKimlik Doğrulama:Anonymous identityAnonim kimlik:DomainDomain:CA certificateCA Sertifikası:CA certificate passwordCA sertifika şifresi:No CA certificate is requiredCA sertifikası gerekmezInner authenticationİç kimlik doğrulama:UsernameKullanıcı adı:PasswordParola:CancelİptalConnectBağlanC_reate…Oluştur...NoneYokWPA & WPA2 PersonalWPA & WPA2 KişiselWEP 40/128-bit Key (Hex or ASCII)WEP 40/128-bit Key (Hex veya ASCII)WEP 128-bit PassphraseWEP 128-bit PassphraseDynamic WEP (802.1X)Dinamik WEP (802.1x)WPA & WPA2 EnterpriseWPA & WPA2 EnterpriseTunneled TLSTünelli TLSProtected EAP (PEAP)Korumalı EAP (PEAP)Choose from fileDosyadan seçiniz...DlgHideWifiEapTlsConnect to Hidden WLAN NetworkGizli WLAN Ağına BağlanAdd hidden WLANGizli WLAN ekleConnectionBağlantı:Network nameAğ adı:WLAN securityWLAN güvenliği:AuthenticationKimlik Doğrulama:IdentityKimlik:DomainDomain:CA certificateCA sertifikası:CA certificate passwordCA sertifika şifresi:No CA certificate is requiredCA sertifikası gerekmezUser certificateKullanıcı sertifikası:User certificate passwordKullanıcı sertifikası şifresi:User private keyKullanıcı özel anahtarı:User key passwordKullanıcı anahtarı şifresi:CancelİptalConnectBağlanC_reate…Oluştur...NoneYokWPA & WPA2 PersonalWPA & WPA2 KişiselWEP 40/128-bit Key (Hex or ASCII)WEP 40/128-bit Key (Hex veya ASCII)WEP 128-bit PassphraseWEP 128-bit PassphraseDynamic WEP (802.1X)Dinamik WEP (802.1x)WPA & WPA2 EnterpriseWPA & WPA2 EnterpriseTunneled TLSTünelli TLSProtected EAP (PEAP)Korumalı EAP (PEAP)Choose from fileDosyadan seç...DlgHideWifiLeapConnect to Hidden WLAN NetworkGizli WLAN Ağına BağlanAdd hidden WLANGizli WLAN EkleConnectionBağlantıNetwork nameAğ adıWLAN securityWLAN GüvenlikUsernameKullanıcı adıPasswordParolaCancelİptalConnectBağlanC_reate…Oluştur...NoneYokWPA & WPA2 PersonalWPA & WPA2 KişiselWEP 40/128-bit Key (Hex or ASCII)WEP 40/128-bit Key (Hex veya ASCII)WEP 128-bit PassphraseWEP 128-bit PassphraseDynamic WEP (802.1X)Dinamik WEP (802.1X)WPA & WPA2 EnterpriseWPA & WPA2 EnterpriseDlgHideWifiWepConnect to Hidden WLAN NetworkGizli WLAN Ağına BağlanAdd hidden WLANGizli WLAN EkleConnectionBağlantı:Network nameAğ adı:WLAN securityWLAN Güvenliği:KeyAnahtarWEP indexWEP indexAuthenticationKimlik Doğrulama:CancelİptalConnectBağlanC_reate…Oluştur...NoneYokWPA & WPA2 PersonalWPA & WPA2 KişiselWEP 40/128-bit Key (Hex or ASCII)WEP 40/128-bit Key (Hex veya ASCII)WEP 128-bit PassphraseWEP 128-bit PassphraseDynamic WEP (802.1X)Dinamik WEP (802.1x)WPA & WPA2 EnterpriseWPA & WPA2 Enterprise1(default)1(default)Open SystemSistemi açShared KeyPaylaşılan AnahtarDlgHideWifiWpaConnect to Hidden WLAN NetworkGizli WLAN Ağına BağlanAdd Hidden WLANGizli WLAN EkleConnectionBağlantı:WLAN nameWLAN adı:WLAN securityWLAN güvenlik:PasswordParola:CancelİptalConnectBağlanC_reate…Oluştur...NoneYokConn WLAN SuccessWLAN Bağlantısı BaşarılıConfirm your WLAN password or usable of wireless cardKablosuz şifrenizi veya kablosuz kart kullanılabilirliğini onaylayınWPA & WPA2 PersonalWPA & WPA2 KişiselWPA & WPA2 EnterpriseWPA & WPA2 EnterpriseWEP 40/128-bit Key (Hex or ASCII)WEP 40/128-bit Key (Hex veya ASCII)Dynamic WEP (802.1X)Dinamik WEP (802.1x)DlgHotspotCreateCreate HotspotEtkin Nokta OluşturNetwork nameAğ adı:WLAN securityWLAN Güvenlik:PasswordParola:CancelİptalOkTamamNoneYokWPA & WPA2 PersonalWPA & WPA2 KişiselDnsSettingWidgetDNS Server Advanced SettingsTacticTimeoutRetry Countorderrotateconcurrency s timesCloseCancelConfirmEnterpriseWlanDialogWi-Fi network requires authenticationAccess to Wi-Fi network "" requires a password or encryption key.CancelConnectFirewallDialogAllow other devices on this network to discover this computer?It is not recommended to enable this feature on public networksNot allowed (recommended)AllowedIpv4PageAddressNetmaskDefault GatewayIPv4ConfigAuto(DHCP)Oto(DHCP)ManualElleInvalid addressInvalid subnet maskRequiredAddress conflictIpv6PageAddressSubnet prefix LengthDefault GatewayIPv6ConfigAuto(DHCP)Oto(DHCP)ManualElleRequiredInvalid addressInvalid gatewayAddress conflictJoinHiddenWiFiPagePlease enter the network informationNetwork name(SSID)Show Network ListCancelJoinRequiredFind and Join WLANKylinDBuskylin network applet desktop messageKylin ağ uygulaması masaüstü mesajıLanListItemNot connectedBağlanamadıWired Device not carriedDisconnectBağlantıyı KesConnectPropertyDeleteLanPageLANconflict, unable to connect to the network normally!Activated LANInactivated LANWired Device not carriedConnected: (Limited)Not ConnectedListItemKylin NMkylin network applet desktop messageKylin ağ uygulaması masaüstü mesajıMainWindowkylin-nmNetworkAğAdvancedGelişmişEthernetKablolu AğConnect Hide NetworkGizli Ağı BağlanLANWLANWLANSettingsNetwork Connectivity DetectionNetwork toolNetwork CardNot connected to the networkEnabledAktifDisabledPasifHotSpotHotSpotShow MainWindowAna Pencereyi GösterNot connectedBağlanamadıDisconnectedBağlantı KesildiNo Other Wired Network SchemeBaşka Kablolu Ağ Düzeni YokNo Other Wireless Network SchemeBaşka Kablosuz Ağ Düzeni YokWired net is disconnectedKablolu ağ bağlantısı kesildiWLAN is disconnectedKablosuz bağlantı kesildiConfirm your WLAN password or usable of wireless cardKablosuz şifrenizi veya kablosuz kart kullanılabilirliğini onaylayınConfirm your WLAN passwordWLAN parolasını doğrulaEthernet NetworksEthernet AğlarıNew LANYeni LANHide WLANGizli WLANNo usable network in the listListede kullanılabilir ağ yokWLAN NetworksWLAN AğlarıNoneYokkeep wired network switch is on before turning on wireless switchKablosuz anahtarı açmadan önce kablolu ağ anahtarını açık tutplease insert the wireless network adapterLütfen kablosuz ağ adaptörünü takınAbnormal connection exist, program will delete itAnormal bağlantı var, program onu silecekupdate WLAN list now, click againKablosuz listesini şimdi güncelle, tekrar tıklaupdate WLAN list nowKablosuz listesini şimdi güncelleConn Ethernet SuccessEthernet Bağlantısı BaşarılıConn Ethernet FailEthernet Bağlantısı HatasıConn WLAN SuccessWLAN Bağlantısı BaşarılıMultipleDnsWidgetDNS server(Drag to sort)Click "+" to configure DNSSettingsNetDetailKylin NMkylin network desktop messageDetailSecurityConfigAyarConfirmCancelForget this networkIPv4IPv6 adresi: {4?}IPv6IPv6 adresi: {6?}Add LAN ConnectConnect Hidden WLANDelete this networkNoneYokAutoOtostart check ipv4 address conflictstart check ipv6 address conflictthis wifi no support enterprise typethis wifi no support None typethis wifi no support WPA2 typethis wifi no support WPA3 typeNotifySendForm--OldMainWindowEthernet NetworksEthernet AğlarıNew LANYeni LANWLAN NetworksWLAN AğlarıHide WLANGizli WLANNo usable network in the listListede kullanılabilir ağ yokEthernetKablolu AğHotSpotHotSpotAdvancedGelişmişShow MainWindowAna Pencereyi GösterWired net is disconnectedKablolu ağ bağlantısı kesildiNot connectedBağlanamadıDisconnectedBağlantı KesildiNo Other Wired Network SchemeBaşka Kablolu Ağ Düzeni YokNo Other Wireless Network SchemeBaşka Kablosuz Ağ Düzeni YokWLAN is disconnectedKablosuz bağlantı kesildiConn Ethernet SuccessEthernet Bağlantısı BaşarılıConn WLAN SuccessWLAN Bağlantısı BaşarılıConfirm your WLAN password or usable of wireless cardKablosuz şifrenizi veya kablosuz kart kullanılabilirliğini onaylayınConfirm your WLAN passwordWLAN parolasını doğrulaOneConnFormForm--Input passwordParola girConfigAyarConnectBağlanDisconnectBağlantıyı KesInput Password...Parola gir...Connect to Hidden WLAN NetworkGizli WLAN Ağına BağlanPublicHalka açıkSafeGüvenliRateOranNoneYokWLAN Security:WLAN güvenliği:Sifnal:Sinyal gücü:MAC:Fiziksel adres:Conn WLAN SuccessWLAN Bağlantısı BaşarılıConfirm your WLAN password or usable of wireless cardKablosuz şifrenizi veya kablosuz kart kullanılabilirliğini onaylayınConn WLAN FailedWLAN Bağlantısı BaşarısızOneLancFormForm--ConfigAyarConnectBağlanDisconnectBağlantıyı KesNot connectedBağlanamadıDisconnectedBağlantı KesildiEthernetKablolu AğNo ConfigurationYapılandırma YokIPv4:IPv4 adresi:IPv6:IPv6 adresi:BandWidth:Bant genişliği:MAC:Fiziksel adres:AutoOtoSecurityPageRemember the NetworkSecurityPasswordEAP typeIdentityKimlik:DomainDomain:CA certficateno need for CA certificateUser certificateKullanıcı sertifikası:User private keyKullanıcı özel anahtarı:User key passwordKullanıcı anahtarı şifresi:Password optionsRequiredIneer authenticationUsernameAsk pwd each queryNoneYokWPA&WPA2 PersonalWPA&WPA2 EnterpriseWPA3 PersonalChoose from file...Store passwords only for this userStore password only for this userStore passwords for all usersStore password for all usersAsk this password every timeAsk password every timePAC provisioningAllow automatic PAC provisioningPAC filePAC dosyasıAnonymousAnonimAuthenticatedDoğrulanmışBothHer ikisi deChoose a CA certificateCA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)Choose a PAC filePAC Files (*.pac)TabPageCurrent DeviceDevices Closed!SettingsKylin NMkylin network applet desktop messageKylin ağ uygulaması masaüstü mesajıUtilskylin network applet desktop messageKylin ağ uygulaması masaüstü mesajıWiFiConfigDialogOkTamamWlanListItemNot connectedBağlanamadıDisconnectBağlantıyı KesConnectPropertyForgetAuto ConnectWlanMoreItemAdd Others...WlanPageWLANWLANActivated WLANOther WLANConnected: Not ConnectedNo wireless network card detectedWLAN Connected SuccessfullyWLAN Disconnected SuccessfullyWpaWifiDialogIdentityKimlik:DomainDomain:NoneYokmainkylinnmshow kylin-nm wifi pageshow kylin-nm lan page
kylin-nm/src/translations/kylin-nm_de.ts 0000664 0001750 0001750 00000176611 15167646234 017356 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile typeTyp des NetzwerkprofilsPublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.Öffentlich (empfohlen) Geräte im Netzwerk können diesen Computer nicht erkennen. Im Allgemeinen eignet es sich für Netzwerke an öffentlichen Orten wie Flughäfen oder Cafés usw.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.Private Geräte im Netzwerk können diesen Computer erkennen. Allgemein anwendbar auf ein Netzwerk zu Hause oder am Arbeitsplatz, in dem Sie die Personen und Geräte im Netzwerk kennen und ihnen vertrauen.Config firewall and security settingsFirewall und Sicherheitseinstellungen konfigurierenConnectivityPageNetwork connectivity detectionIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.Public network (default)Local area network (intranet)ConfirmBestätigenThe network is connected and can access the Internet normally.The network is connected and access to the Internet is restricted.Please enter the local area network (intranet) detection addressFormat errorCopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection NameName der VerbindungIPv4ConfigIPv4ConfigAddressAdresseNetmaskNetzmaskeDefault GatewayStandardgatewayAddress conflictKonflikte angehenPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Auto (DHCP)ManualManuellInvalid addressUngültige AdresseInvalid subnet maskUngültige SubnetzmaskeRequiredErforderlichDetailPageAuto ConnectionAutomatische VerbindungSSID:SSID:Copied successfully!Erfolgreich kopiert!Copy allAlle kopierenPlease input SSID:Bitte geben Sie die SSID ein:Protocol:Protokoll:Security Type:Sicherheitstyp:Hz:Hz:Chan:Chan:BandWidth:Bandbreite:IPv6:IPv6:IPv4:IPv4:IPv4 DNS:IPv4-DNS:Mac:Mac:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsErweiterte Einstellungen für den DNS-ServerTacticTaktikTimeoutZeitüberschreitungRetry CountAnzahl der WiederholungsversucheorderBestellungrotatedrehenconcurrencyGleichzeitigkeit s s times malCloseSchließenCancelAbbrechenConfirmBestätigenEnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationWi-Fi-Netzwerk erfordert AuthentifizierungAccess to Wi-Fi network "Zugriff auf das Wi-Fi-Netzwerk "" requires a password or encryption key." erfordert ein Kennwort oder einen Verschlüsselungsschlüssel.CancelAbbrechenConnectVerbindenFirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?Zulassen, dass andere Geräte in diesem Netzwerk diesen Computer erkennen?It is not recommended to enable this feature on public networksEs wird nicht empfohlen, diese Funktion in öffentlichen Netzwerken zu aktivierenNot allowed (recommended)Nicht erlaubt (empfohlen)AllowedErlaubtIpv4PageIPv4ConfigIPv4ConfigAddressAdresseNetmaskNetzmaskeDefault GatewayStandardgatewayPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Auto (DHCP)ManualManuellInvalid addressUngültige AdresseInvalid subnet maskUngültige SubnetzmaskeRequiredErforderlichAddress conflictKonflikte angehenIpv6PageIPv6ConfigIPv6Config (IPv6-Konfiguration)AddressAdresseSubnet prefix LengthLänge des SubnetzpräfixesDefault GatewayStandardgatewayPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Auto (DHCP)ManualManuellRequiredErforderlichInvalid addressUngültige AdresseInvalid gatewayUngültiges GatewayAddress conflictKonflikte angehenJoinHiddenWiFiPagePlease enter the network informationBitte geben Sie die Netzwerkinformationen einNetwork name(SSID)Netzwerkname (SSID)Remember the Network记住该网络Show Network ListNetzwerkliste anzeigenCancelAbbrechenJoinVerbindenRequiredErforderlichFind and Join WLANWLAN finden und verbindenLanListItemNot connectedNicht verbundenWired Device not carriedKabelgebundenes Gerät nicht mitgeführtDisconnectTrennenConnectVerbindenPropertyEigentumDeleteLöschenLanPageNo ethernet device avaliableKein Ethernet-Gerät verfügbarLANLANconflict, unable to connect to the network normally!Konflikt, es kann keine normale Verbindung zum Netzwerk hergestellt werden!Activated LANAktiviertes LANInactivated LANInaktiviertes LANLAN Disconnected Successfully有线网络已断开Wired Device not carriedKabelgebundenes Gerät nicht mitgeführtLAN Connected Successfully有线网络已连接Connected: Verbunden: Not ConnectedNicht verbunden(Limited)(Begrenzt)ListItemKylin NMKylin NMkylin network applet desktop messageKylin Network Applet Desktop-NachrichtMainWindowkylin-nmKylin-NMLAN有线网络LANWLAN无线局域网WLANShow MainWindowMainWindow anzeigenSettings设置网络项EinstellungenNetwork Connectivity DetectionNetwork toolNetzwerk-ToolNetwork CardNetzwerkkarteNot connected to the networkNicht mit dem Netzwerk verbundenMultipleDnsWidgetDNS server(Drag to sort)DNS-Server (zum Sortieren ziehen)Click "+" to configure DNSKlicken Sie auf "+", um DNS zu konfigurierenSettingsEinstellungenNetDetailKylin NMKylin NMkylin network desktop messageKylin Network Desktop-NachrichtDetailDetailIPv4IPv4-SchnittstelleIPv6IPv6-SchnittstelleSecuritySicherheitClose关闭ConfigKonfigurationConfirmBestätigenCancelAbbrechenForget this networkVergessen Sie dieses NetzwerkDelete this networkDieses Netzwerk löschenAdd LAN ConnectLAN-Verbindung hinzufügenConnect Hidden WLANVerstecktes WLAN verbindenNoneNichtsAutoAutostart check ipv4 address conflictIPv4-Adresskonflikt prüfenstart check ipv6 address conflictIPv6-Adresskonflikt prüfenipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise typeDieser Wifi-Enterprise-Typ ohne Supportthis wifi no support None typedieses WLAN keine Unterstützung Keiner Typthis wifi no support WPA2 typeDieses WLAN unterstützt keinen WPA2-Typthis wifi no support WPA3 typeDieses WLAN unterstützt keinen WPA3-TypSSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the NetworkMerken Sie sich das NetzwerkSecuritySicherheitPasswordPasswortEAP typeEAP-TypIdentityIdentitätDomainDomäneCA certficateCA-Zertifikatno need for CA certificatekein CA-Zertifikat erforderlichUser certificateBenutzerzertifikatUser private keyPrivater Schlüssel des BenutzersUser key passwordKennwort des BenutzerschlüsselsPassword optionsPasswort-OptionenRequiredErforderlichIneer authenticationIneer-AuthentifizierungUsernameNutzernameAsk pwd each queryFragen Sie pwd bei jeder AnfrageNoneNichtsWPA&WPA2 PersonalWPA&WPA2 PersönlichWPA&WPA2 EnterpriseWPA&WPA2 EnterpriseWPA3 PersonalWPA3 PersönlichChoose from file...Wählen Sie aus Datei...Store passwords only for this userKennwörter nur für diesen Benutzer speichernStore password only for this userPasswort nur für diesen Benutzer speichernStore passwords for all usersPasswörter für alle Benutzer speichernStore password for all usersPasswort für alle Benutzer speichernAsk this password every timeFragen Sie jedes Mal nach diesem PasswortAsk password every timeJedes Mal nach dem Passwort fragenChoose a CA certificateAuswählen eines CA-ZertifikatsCA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA-Dateien (*.pem, *.der, *.p12, *.crt, *.cer, *.pfx)PAC provisioningPAC-BereitstellungAllow automatic PAC provisioningAutomatische PAC-Bereitstellung zulassenPAC filePAC-DateiAnonymousAnonymAuthenticatedBeglaubigtBothBeideChoose a PAC fileWählen Sie eine PAC-Datei ausPAC Files (*.pac)PAC-Dateien (*.pac)TabPageCurrent DeviceAktuelles GerätDevices Closed!Geräte geschlossen!SettingsEinstellungenKylin NMKylin NMkylin network applet desktop messageKylin Network Applet Desktop-NachrichtVpnPageWired Device not carried未插入网线WiFiConfigDialogWLAN AuthenticationWLAN-AuthentifizierungInput WLAN Information PleaseBitte WLAN-Informationen eingebenWLAN ID:WLAN-Kennung:WLAN Name:WLAN-Name:Password:Passwort:CanclCanclOkOkayWlanListItemNot connectedNicht verbundenDisconnectTrennenConnectVerbindenForgetVergessenPropertyEigentumAuto ConnectAutomatische VerbindungWlanMoreItemMore...更多...Add Others...Weitere hinzufügen...WlanPageWLANWLANNo wireless network card detectedKeine Wireless-Netzwerkkarte erkanntActivated WLANAktiviertes WLANOther WLANSonstiges WLANMore...更多...WLAN Connected SuccessfullyWLAN erfolgreich verbundenWLAN Disconnected SuccessfullyWLAN-Verbindung erfolgreich getrenntConnected: Verbunden: Not ConnectedNicht verbunden(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmkylinnmshow kylin-nm wifi pageKylin-NM WLAN-Seite anzeigenshow kylin-nm lan pageKylin-NM LAN-Seite anzeigen
kylin-nm/src/translations/kylin-nm_fr.ts 0000664 0001750 0001750 00000177317 15167646234 017401 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile typeType de profil réseauPublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.Public (recommandé) Les périphériques du réseau ne peuvent pas détecter cet ordinateur. Généralement, il est adapté aux réseaux dans les lieux publics, tels que les aéroports ou les cafés, etc.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.Les périphériques privés du réseau peuvent détecter cet ordinateur. S’applique généralement à un réseau à la maison ou au travail où vous connaissez et faites confiance aux personnes et aux appareils sur le réseau.Config firewall and security settingsConfigurer les paramètres de pare-feu et de sécuritéConnectivityPageNetwork connectivity detectionIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.Public network (default)Local area network (intranet)ConfirmConfirmerThe network is connected and can access the Internet normally.The network is connected and access to the Internet is restricted.Please enter the local area network (intranet) detection addressFormat errorCopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection NameNom de la connexionIPv4ConfigIPv4ConfigAddressAdresseNetmaskMasque de réseauDefault GatewayPasserelle par défautAddress conflictRésoudre les conflitsPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Auto (DHCP)ManualManuelleInvalid addressAdresse non valideInvalid subnet maskMasque de sous-réseau non valideRequiredObligatoireDetailPageAuto ConnectionConnexion automatiqueSSID:SSID :Copied successfully!Copié avec succès !Copy allCopier toutPlease input SSID:Veuillez saisir le SSID :Protocol:Protocole:Security Type:Type de sécurité :Hz:Hz:Chan:Chan:BandWidth:Bande passante:IPv6:IPv6 :IPv4:IPv4 :IPv4 DNS:DNS IPv4 :Mac:Mac:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsParamètres avancés du serveur DNSTacticTactiqueTimeoutTimeoutRetry CountNombre de nouvelles tentativesordercommanderotatetournerconcurrencyConcurrence s s times foisCloseFermerCancelAnnulerConfirmConfirmerEnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationLe réseau Wi-Fi nécessite une authentificationAccess to Wi-Fi network "Accès au réseau Wi-Fi »" requires a password or encryption key.» nécessite un mot de passe ou une clé de chiffrement.CancelAnnulerConnectRelierFirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?Autoriser d’autres périphériques de ce réseau à découvrir cet ordinateur ?It is not recommended to enable this feature on public networksIl n’est pas recommandé d’activer cette fonctionnalité sur les réseaux publicsNot allowed (recommended)Non autorisé (recommandé)AllowedAutoriséIpv4PageIPv4ConfigIPv4ConfigAddressAdresseNetmaskMasque de réseauDefault GatewayPasserelle par défautPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Auto (DHCP)ManualManuelleInvalid addressAdresse non valideInvalid subnet maskMasque de sous-réseau non valideRequiredObligatoireAddress conflictRésoudre les conflitsIpv6PageIPv6ConfigIPv6ConfigAddressAdresseSubnet prefix LengthPréfixe de sous-réseau LongueurDefault GatewayPasserelle par défautPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Auto (DHCP)ManualManuelleRequiredObligatoireInvalid addressAdresse non valideInvalid gatewayPasserelle non valideAddress conflictRésoudre les conflitsJoinHiddenWiFiPagePlease enter the network informationVeuillez saisir les informations du réseauNetwork name(SSID)Nom du réseau (SSID)Remember the Network记住该网络Show Network ListAfficher la liste des réseauxCancelAnnulerJoinUnirRequiredObligatoireFind and Join WLANRechercher et rejoindre le WLANLanListItemNot connectedNon connectéWired Device not carriedAppareil filaire non transportéDisconnectDéconnecterConnectRelierPropertyPropriétéDeleteSupprimerLanPageNo ethernet device avaliableAucun périphérique Ethernet n’est disponibleLANLANconflict, unable to connect to the network normally!conflit, impossible de se connecter au réseau normalement !Activated LANLAN activéInactivated LANLAN inactivéLAN Disconnected Successfully有线网络已断开Wired Device not carriedAppareil filaire non transportéLAN Connected Successfully有线网络已连接Connected: Relié: Not ConnectedNon connecté(Limited)(Limité)ListItemKylin NMKylin NMkylin network applet desktop messageKylin Network applet message de bureauMainWindowkylin-nmkylin-nmLAN有线网络LANWLAN无线局域网Réseau local sans fil (WLAN)Show MainWindowAfficher MainWindowSettings设置网络项ParamètresNetwork Connectivity DetectionNetwork toolOutil réseauNetwork CardCarte réseauNot connected to the networkNon connecté au réseauMultipleDnsWidgetDNS server(Drag to sort)Serveur DNS(Glisser pour trier)Click "+" to configure DNSCliquez sur « + » pour configurer le DNSSettingsParamètresNetDetailKylin NMKylin NMkylin network desktop messageMessage de Kylin Network DesktopDetailDétailIPv4IPv4 (en anglais seulement)IPv6IPv6 (en anglais seulement)SecuritySécuritéClose关闭ConfigConfigurationConfirmConfirmerCancelAnnulerForget this networkOubliez ce réseauDelete this networkSupprimer ce réseauAdd LAN ConnectAjouter une connexion LANConnect Hidden WLANConnecter un WLAN cachéNoneAucunAutoAutostart check ipv4 address conflictDémarrer la vérification du conflit d’adresses IPv4start check ipv6 address conflictDémarrer la vérification du conflit d’adresses IPv6ipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise typeCe type d’entreprise WiFi sans prise en chargethis wifi no support None typece wifi pas de support Aucun typethis wifi no support WPA2 typece wifi ne prend pas en charge le type WPA2this wifi no support WPA3 typece wifi ne prend pas en charge le type WPA3SSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the NetworkN’oubliez pas le réseauSecuritySécuritéPasswordMot de passeEAP typeType de PAEIdentityIdentitéDomainDomaineCA certficateCertificat CAno need for CA certificatepas besoin de certificat d’autorité de certificationUser certificateCertificat d’utilisateurUser private keyClé privée de l’utilisateurUser key passwordMot de passe de la clé utilisateurPassword optionsOptions de mot de passeRequiredObligatoireIneer authenticationAuthentification IneerUsernameNom d’utilisateurAsk pwd each queryDemandez à pwd chaque requêteNoneAucunWPA&WPA2 PersonalWPA&WPA2 PersonnelWPA&WPA2 EnterpriseWPA&WPA2 EntrepriseWPA3 PersonalWPA3 PersonnelChoose from file...Choisissez parmi le fichier...Store passwords only for this userStocker les mots de passe uniquement pour cet utilisateurStore password only for this userStocker le mot de passe uniquement pour cet utilisateurStore passwords for all usersStocker les mots de passe de tous les utilisateursStore password for all usersStocker le mot de passe de tous les utilisateursAsk this password every timeDemandez ce mot de passe à chaque foisAsk password every timeDemander le mot de passe à chaque foisChoose a CA certificateChoisir un certificat d’autorité de certificationCA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)Fichiers CA (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningApprovisionnement PACAllow automatic PAC provisioningAutoriser le provisionnement automatique des PACPAC fileFichier PACAnonymousAnonymeAuthenticatedAuthentifiéBothLes deuxChoose a PAC fileChoisir un fichier PACPAC Files (*.pac)Fichiers PAC (*.pac)TabPageCurrent DeviceAppareil actuelDevices Closed!Appareils fermés !SettingsParamètresKylin NMKylin NMkylin network applet desktop messageKylin Network applet message de bureauVpnPageWired Device not carried未插入网线WiFiConfigDialogWLAN AuthenticationAuthentification WLANInput WLAN Information PleaseEntrez les informations WLAN s’il vous plaîtWLAN ID:ID WLAN :WLAN Name:Nom du WLAN :Password:Mot de passe:CanclCancl (en anglais seulement)OkD’accordWlanListItemNot connectedNon connectéDisconnectDéconnecterConnectRelierForgetOublierPropertyPropriétéAuto ConnectConnexion automatiqueWlanMoreItemMore...更多...Add Others...Ajoutez-en d’autres...WlanPageWLANRéseau local sans fil (WLAN)No wireless network card detectedAucune carte réseau sans fil n’a été détectéeActivated WLANWLAN activéOther WLANAutre WLANMore...更多...WLAN Connected SuccessfullyConnexion WLAN réussieWLAN Disconnected SuccessfullyLe WLAN s’est déconnecté avec succèsConnected: Relié: Not ConnectedNon connecté(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmkylinnmshow kylin-nm wifi pageAfficher la page WiFi Kylin-NMshow kylin-nm lan pageAfficher la page LAN Kylin-NM
kylin-nm/src/translations/kylin-nm_es.ts 0000664 0001750 0001750 00000177046 15167646234 017400 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile typeTipo de perfil de redPublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.Público (recomendado) Los dispositivos de la red no pueden detectar este equipo. Generalmente, es adecuado para redes en lugares públicos, como aeropuertos o cafeterías, etc.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.Los dispositivos privados de la red pueden detectar este equipo. Por lo general, se aplica a una red en el hogar o el trabajo en la que conoce y confía en las personas y los dispositivos de la red.Config firewall and security settingsConfigurar el cortafuegos y la configuración de seguridadConnectivityPageNetwork connectivity detectionIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.Public network (default)Local area network (intranet)ConfirmConfirmarThe network is connected and can access the Internet normally.The network is connected and access to the Internet is restricted.Please enter the local area network (intranet) detection addressFormat errorCopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection NameNombre de la conexiónIPv4ConfigIPv4ConfigAddressDirecciónNetmaskMáscara de redDefault GatewayPuerta de enlace predeterminadaAddress conflictAbordar los conflictosPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Automático (DHCP)ManualManualInvalid addressDirección no válidaInvalid subnet maskMáscara de subred no válidaRequiredObligatorioDetailPageAuto ConnectionConexión automáticaSSID:SSID:Copied successfully!¡Copiado con éxito!Copy allCopiar todoPlease input SSID:Por favor, introduzca el SSID:Protocol:Protocolo:Security Type:Tipo de seguridad:Hz:Hz:Chan:Chan:BandWidth:Ancho de banda:IPv6:IPv6:IPv4:IPv4:IPv4 DNS:DNS IPv4:Mac:Mac:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsConfiguración avanzada del servidor DNSTacticTácticaTimeoutInterrupciónRetry CountRecuento de reintentosorderordenrotaterotarconcurrencyconcurrencia s s times vecesCloseCerrarCancelCancelarConfirmConfirmarEnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationLa red Wi-Fi requiere autenticaciónAccess to Wi-Fi network "Acceso a la red Wi-Fi "" requires a password or encryption key." requiere una contraseña o clave de cifrado.CancelCancelarConnectConectarFirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?¿Permitir que otros dispositivos de esta red detecten este equipo?It is not recommended to enable this feature on public networksNo se recomienda habilitar esta función en redes públicasNot allowed (recommended)No permitido (recomendado)AllowedPermitidoIpv4PageIPv4ConfigIPv4ConfigAddressDirecciónNetmaskMáscara de redDefault GatewayPuerta de enlace predeterminadaPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Automático (DHCP)ManualManualInvalid addressDirección no válidaInvalid subnet maskMáscara de subred no válidaRequiredObligatorioAddress conflictAbordar los conflictosIpv6PageIPv6ConfigIPv6ConfigAddressDirecciónSubnet prefix LengthLongitud del prefijo de subredDefault GatewayPuerta de enlace predeterminadaPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Automático (DHCP)ManualManualRequiredObligatorioInvalid addressDirección no válidaInvalid gatewayPuerta de enlace no válidaAddress conflictAbordar los conflictosJoinHiddenWiFiPagePlease enter the network informationIntroduzca la información de la redNetwork name(SSID)Nombre de la red (SSID)Remember the Network记住该网络Show Network ListMostrar lista de redesCancelCancelarJoinJuntarRequiredObligatorioFind and Join WLANBuscar y unirse a WLANLanListItemNot connectedNo conectadoWired Device not carriedDispositivo con cable no transportadoDisconnectDesconectarConnectConectarPropertyPropiedadDeleteBorrarLanPageNo ethernet device avaliableNo hay dispositivos ethernet disponiblesLANLANconflict, unable to connect to the network normally!conflicto, no se puede conectar a la red normalmente!Activated LANLAN activadaInactivated LANLAN inactivadaLAN Disconnected Successfully有线网络已断开Wired Device not carriedDispositivo con cable no transportadoLAN Connected Successfully有线网络已连接Connected: Conexo: Not ConnectedNo conectado(Limited)(Limitado)ListItemKylin NMKylin NMkylin network applet desktop messageMensaje de escritorio del applet de red KylinMainWindowkylin-nmKylin-NMLAN有线网络LANWLAN无线局域网WLANShow MainWindowMostrar MainWindowSettings设置网络项ConfiguraciónNetwork Connectivity DetectionNetwork toolHerramienta de redNetwork CardTarjeta de redNot connected to the networkNo conectado a la redMultipleDnsWidgetDNS server(Drag to sort)Servidor DNS (Arrastrar para ordenar)Click "+" to configure DNSHaga clic en "+" para configurar DNSSettingsConfiguraciónNetDetailKylin NMKylin NMkylin network desktop messageMensaje de escritorio de Kylin NetworkDetailDetalleIPv4IPv4IPv6IPv6SecuritySeguridadClose关闭ConfigConfiguraciónConfirmConfirmarCancelCancelarForget this networkOlvídate de esta redDelete this networkEliminar esta redAdd LAN ConnectAgregar LAN ConnectConnect Hidden WLANConectar WLAN ocultaNoneNingunoAutoAutomáticostart check ipv4 address conflictIniciar la comprobación del conflicto de direcciones IPv4start check ipv6 address conflictIniciar la comprobación del conflicto de direcciones IPv6ipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise typeEste tipo de empresa WiFi no es compatiblethis wifi no support None typeeste wifi no es compatible Ninguno tipothis wifi no support WPA2 typeeste wifi no es compatible con el tipo WPA2this wifi no support WPA3 typeeste wifi no es compatible con el tipo WPA3SSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormFormaConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormFormaConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the NetworkRecuerde la RedSecuritySeguridadPasswordContraseñaEAP typeTipo de EAPIdentityIdentidadDomainDominioCA certficateCertificado de CAno need for CA certificatesin necesidad de certificado de CAUser certificateCertificado de usuarioUser private keyClave privada de usuarioUser key passwordClave de usuario contraseñaPassword optionsOpciones de contraseñaRequiredObligatorioIneer authenticationAutenticación ineerUsernameNombre de usuarioAsk pwd each queryPregunte a pwd cada consultaNoneNingunoWPA&WPA2 PersonalWPA&WPA2 PersonalWPA&WPA2 EnterpriseWPA&WPA2 EmpresaWPA3 PersonalWPA3 PersonalChoose from file...Elegir del archivo...Store passwords only for this userAlmacenar contraseñas solo para este usuarioStore password only for this userAlmacenar contraseña solo para este usuarioStore passwords for all usersAlmacenar contraseñas para todos los usuariosStore password for all usersAlmacenar contraseña para todos los usuariosAsk this password every timePregunte esta contraseña cada vezAsk password every timePregunte la contraseña cada vezChoose a CA certificateElección de un certificado de CACA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)Archivos CA (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningAprovisionamiento de PACAllow automatic PAC provisioningPermitir el aprovisionamiento automático de PACPAC fileArchivo PACAnonymousAnónimoAuthenticatedAutenticadoBothAmbosChoose a PAC fileElegir un archivo PACPAC Files (*.pac)Archivos PAC (*.pac)TabPageCurrent DeviceDispositivo actualDevices Closed!¡Dispositivos cerrados!SettingsConfiguraciónKylin NMKylin NMkylin network applet desktop messageMensaje de escritorio del applet de red KylinVpnPageWired Device not carried未插入网线WiFiConfigDialogDialogDiálogoWLAN AuthenticationAutenticación WLANInput WLAN Information PleaseIngrese la información de WLAN, por favorWLAN ID:ID de WLAN:WLAN Name:Nombre de WLAN:Password:Contraseña:CanclCanclOkDe acuerdoWlanListItemNot connectedNo conectadoDisconnectDesconectarConnectConectarForgetOlvidarPropertyPropiedadAuto ConnectConexión automáticaWlanMoreItemMore...更多...Add Others...Añadir otros...WlanPageWLANWLANNo wireless network card detectedNo se ha detectado ninguna tarjeta de red inalámbricaActivated WLANWLAN activadaOther WLANOtras WLANMore...更多...WLAN Connected SuccessfullyWLAN conectada correctamenteWLAN Disconnected SuccessfullyWLAN desconectada correctamenteConnected: Conexo: Not ConnectedNo conectado(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmkylinnmshow kylin-nm wifi pageMostrar la página de Kylin-NM WiFishow kylin-nm lan pageMostrar página LAN de Kylin-NM
kylin-nm/src/translations/kylin-nm_bo.ts 0000664 0001750 0001750 00000133600 15167646234 017355 0 ustar feng feng
ConfigPageNetwork profile typePublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.Config firewall and security settingsConnectivityPageNetwork connectivity detectionIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.Public network (default)Local area network (intranet)ConfirmThe network is connected and can access the Internet normally.The network is connected and access to the Internet is restricted.Please enter the local area network (intranet) detection addressFormat errorCreatNetPageConnection NameIPv4ConfigAddressNetmaskDefault GatewayInvalid addressInvalid subnet maskRequiredAddress conflictAuto(DHCP)ManualDetailPageAuto ConnectionSSID:Copied successfully!Copy allPlease input SSID:Protocol:Security Type:Hz:Chan:BandWidth:IPv4:IPv4 DNS:IPv6:Mac:DnsSettingWidgetDNS Server Advanced SettingsTacticTimeoutRetry Countorderrotateconcurrency s timesCloseCancelConfirmEnterpriseWlanDialogWi-Fi network requires authenticationAccess to Wi-Fi network "" requires a password or encryption key.CancelConnectFirewallDialogAllow other devices on this network to discover this computer?It is not recommended to enable this feature on public networksNot allowed (recommended)AllowedIpv4PageAddressNetmaskDefault GatewayIPv4ConfigAuto(DHCP)ManualInvalid addressInvalid subnet maskRequiredAddress conflictIpv6PageAddressSubnet prefix LengthDefault GatewayIPv6ConfigAuto(DHCP)ManualRequiredInvalid addressInvalid gatewayAddress conflictJoinHiddenWiFiPagePlease enter the network informationNetwork name(SSID)Show Network ListCancelJoinRequiredFind and Join WLANLanListItemNot connectedWired Device not carriedDisconnectConnectPropertyDeleteLanPageLANconflict, unable to connect to the network normally!Activated LANInactivated LANWired Device not carriedConnected: (Limited)Not ConnectedListItemKylin NMkylin network applet desktop messageMainWindowkylin-nmLANWLANSettingsNetwork Connectivity DetectionNetwork toolNetwork CardNot connected to the networkMultipleDnsWidgetDNS server(Drag to sort)Click "+" to configure DNSSettingsNetDetailKylin NMkylin network desktop messageDetailSecurityConfigConfirmCancelForget this networkIPv4IPv6Add LAN ConnectConnect Hidden WLANDelete this networkNoneAutostart check ipv4 address conflictstart check ipv6 address conflictthis wifi no support enterprise typethis wifi no support None typethis wifi no support WPA2 typethis wifi no support WPA3 typeOneConnFormFormOneLancFormFormSecurityPageRemember the NetworkSecurityPasswordEAP typeIdentityDomainCA certficateno need for CA certificateUser certificateUser private keyUser key passwordPassword optionsRequiredIneer authenticationUsernameAsk pwd each queryNoneWPA&WPA2 PersonalWPA&WPA2 EnterpriseWPA3 PersonalChoose from file...Store passwords only for this userStore password only for this userStore passwords for all usersStore password for all usersAsk this password every timeAsk password every timePAC provisioningAllow automatic PAC provisioningPAC fileAnonymousAuthenticatedBothChoose a CA certificateCA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)Choose a PAC filePAC Files (*.pac)TabPageCurrent DeviceDevices Closed!SettingsKylin NMkylin network applet desktop messageWlanListItemNot connectedDisconnectConnectPropertyForgetAuto ConnectWlanMoreItemAdd Others...WlanPageWLANActivated WLANOther WLANConnected: Not ConnectedNo wireless network card detectedWLAN Connected SuccessfullyWLAN Disconnected Successfullymainkylinnmshow kylin-nm wifi pageshow kylin-nm lan page
kylin-nm/src/translations/kylin-nm_kk.ts 0000664 0001750 0001750 00000224337 15167651420 017363 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile typeتور تولىقتاما حۇجات تيپىPublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.تورداعٸ الەۋمەتتٸك (ۇسٸنٸس بەرۋ) جابدىقتار نۇ كومپيۋتەردى بايقىيالمايدۇ. ادەتتەگٸندەي ورىنداپ ايتقاندا، ول، الەۋمەتتٸك كەيدە تورعا بۇرشاق كەلەدى ماسەلەن، اۋەجاي ياكي كاقە قاتارلىلار.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.تورداعٸ ارناۋلى جابدىقتار نۇ كومپيۋتەردى بايقىيالايدۇ. ادەتتە تورداعٸ ٴسىز تۇسىنەتىن ۋا ىستەتىلەتىن شەخس ۋا جابدىقتار، وتباسى ياكي قىزىمەت تورعا بۇرشاق كەلەدى.Config firewall and security settingsبراندماۋار ۋا حاۋىپسىزدىك تەڭگەرگٸشتٸ تولىقتاۋConnectivityPageNetwork connectivity detectionتور جالعانۋدٸ تەكسەرۋIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.قيسٸق تورعا كىرۋ ولشەمگە ۇشٸراسا، تور IP جالعانۋدٸ تەكسەرۋ تاسٸلدٸ الماستٸر، سونان قاتە سىناڭ.Public network (default)الەۋمەتتٸك تور (كوڭىلدەگى)Local area network (intranet)سۇيىر كولەمدىك تور (intranet)ConfirmتۇراقتاندىرۋThe network is connected and can access the Internet normally.تور جالعاندٸ، ينتٸرت توردى نورمال ۇسىنس قىلعالى بولادٸ.The network is connected and access to the Internet is restricted.تور جالعاندٸ، ينتٸرت تورعا بولعان ۇسىنس ولشەمگە كەزٸكتٸ.Please enter the local area network (intranet) detection addressسۇيىر كولەمدىك تور (intranet) تەكسەرۋ ٵدٸرىستٸ كىرگىزىڭىزFormat errorٴپىشىم قاتەلىگىCopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection Nameتور مىIPv4ConfigIPv4 اتقار بۇيرٸعٸAddressٵدىرىسNetmaskتارماق تور جاسىرىن نومەرىDefault Gatewayوز قالپٸ تور وتكەلىConnection name is empty or invalidIPv4 address is empty or invalidIPv4 netMask is empty or invalidIPv4 gateway is empty or invalidAddress conflictسوقتٸعٸۋٸ شەشىم ەتۋ ەتۋPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)اۆتوماتتى(DHCP)ManualقولدانباInvalid addressكۇشكە يە ەمەس IPٵدىرىسىInvalid subnet maskكۇشكە يە ەمەس تارماق تور جاسىرىن نومەرىRequiredٴسوزسىزDetailPageAuto Connectionاۆتوماتتى اۋلاۋSSID:Copied successfully!ناتيجەلى كوشىرىلگەن!Copy allٴبارىن كوشىرۋPlease input SSID:SSID نى كىرگىزىڭىز:Protocol:كەلىسىم:Security Type:حاۋىپسىزدىك تيپى:Hz:تور جيىلىگى:Chan:تور جولى:BandWidth:كەڭ بەلدىك:IPv6:IPv4:IPv4 DNS:Mac:فيزيكالىق ٵدىرىس:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsDNS قىزىمەت وتەۋ تۇرلەرى جوعارى دارەجەلىك تەڭگەرگٸشTacticتاكتيكاTimeoutۋاقىت ٸشٸپ كەتتىRetry Countقاتە ساناۋorderرەت جاعٸrotateشيراتىلىۋconcurrencyجانداس تارقاتۋ s times ٴداۋىرCloseتاقاۋCancelكۇشىنەن قالدىرۋConfirmتۇراقتاندىرۋEnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationWi-Fi تورى ازاماتتىق دالەلدەۋگە مۇقتاجAccess to Wi-Fi network "Wi-Fi تورعا اۋلاۋ" requires a password or encryption key.قۇپيا نومەر ياكي سيفىرلاستىرىلعان كىلت قاجەت.Cancelكۇشىنەن قالدىرۋConnectجالعانۋFirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?نۇ تورداعٸ باسقا اسباپتاردىڭ نۇ كومپيۋتەردى اشۋ جول قۇياما؟It is not recommended to enable this feature on public networksالەۋمەتتٸك توردا نۇ قىزىمەتىن قوزعالتۋ ۇسٸنٸس بەرۋ ورىندالمايدىNot allowed (recommended)جول قويىلمايدى (ۇسٸنٸس بەرۋ قىلىندى)Allowedجول قويىلادىIpv4PageIPv4ConfigIPv4 اتقار بۇيرٸعٸAddressٵدىرىسNetmaskتارماق تور جاسىرىن نومەرىDefault Gatewayوز قالپٸ تور وتكەلىPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)اۆتوماتتى(DHCP)ManualقولدانباIPv4 address is empty or invalidIPv4 netMask is empty or invalidIPv4 gateway is empty or invalidInvalid addressكۇشكە يە ەمەس IPٵدىرىسىInvalid subnet maskكۇشكە يە ەمەس تارماق تور جاسىرىن نومەرىRequiredٴسوزسىزAddress conflictسوقتٸعٸۋٸ شەشىم ەتۋ ەتۋIpv6PageIPv6ConfigIPv6 اتقار بۇيرٸعٸAddressٵدىرىسSubnet prefix Lengthتارماق تور الدى قوسىمشا ۇزىندىقDefault Gatewayوز قالپٸ تور وتكەلىPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)اۆتوماتتى(DHCP)ManualقولدانباRequiredٴسوزسىزInvalid addressكۇشكە يە ەمەس IPٵدىرىسىInvalid gatewayكۇشكە يە ەمەس تور وتكەلى ٵدىرىسىIPv6 address is empty or invalidIPv6 prefix length is empty or invalidAddress conflictسوقتٸعٸۋٸ شەشىم ەتۋ ەتۋJoinHiddenWiFiPagePlease enter the network informationتور حاباردٸ كىرگىزىڭىزNetwork name(SSID)تور مى (SSID)Remember the Network记住该网络Show Network Listتور تٸزٸمدٸكدٸ كورسەتۋCancelكۇشىنەن قالدىرۋJoinقوسىلۋRequiredٴسوزسىزFind and Join WLANWLAN نى تابۋ ۋا قوسۋLanListItemNot connectedجالعاۋنبادٸWired Device not carriedتور سىمى قاتىسپاعانDisconnectۇزارتىۋConnectجالعانۋPropertyقاسيەتDeleteٴوشىرۋLanPageNo ethernet device avaliableLANconflict, unable to connect to the network normally!سوقتٸعٸۋ، تورعا نورمال جالعاعالٸ بولمادى!No wired network card detectedActivated LANاتۋInactivated LANقۇزغىتىلمىغانConnected, restricting accessNo internet access. Please click Network Check to specific reasons.Network CheckLAN Disconnected Successfully有线网络已断开Wired Device not carriedتور سىمى قاتىسپاعانLAN Connected Successfully有线网络已连接Connected: سىلتەمەلەر: Not Connectedجالعاۋنبادٸ(Limited)(شەكتەلگەن)ListItemKylin NMkylin network applet desktop messageچىلىن تور قۇرالى حابار كورسەتپەسىMainWindowkylin-nmkylin-تور قۇرالىLAN有线网络WLAN无线局域网سىمسىز تورShow MainWindow打开网络工具Settings设置网络项ورنالاسترعان ەتۋNetwork Connectivity Detectionتور جالعانۋدٸ تەكسەرۋNetwork toolتور قۇرالىNetwork Cardتور كارتاسىNot connected to the networkتورعا جالعانباعانMultipleDnsWidgetDNS server(Drag to sort)DNS قىزىمەت وتەۋ تۇرلەرى (سوزىلمالى تارتىپ بويىنشا تٸزٸلدٸ)Click "+" to configure DNS+ نى تۇرتىپ DNS نى ورنالاستىرSettingsورنالاسترعان ەتۋNetDetailKylin NMkylin network desktop messageتور ەسكەرتپە حابارىDetailناقتىلاپ مازمۇنىIPv4IPv6Securityحاۋىپسىزدىكstart check IPv4 address conflictstart check IPv6 address conflictClose关闭ConfigتولىقتاماConfirmتۇراقتاندىرۋCancelكۇشىنەن قالدىرۋForget this networkنۇ توردى ۇمٸتٸلپ ۇياتسىزDelete this networkنۇ توردى ٴوشىرۋAdd LAN ConnectLAN جالعانۋدٸ قوسۋConnect Hidden WLANجاسىرىن WLAN عا اۋلاۋNoneجوقAutoماشيناstart check ipv4 address conflict开始检测 ipv4 地址冲突start check ipv6 address conflict开始检测 ipv6 地址冲突ipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise typeنۇ سىمسىز تور كاسپورىن تور ادەتتە قولدامايدىthis wifi no support None typeبۇسىمسىز تور قۇرعاق كيكستارتەر قولدامايدىthis wifi no support WPA2 typeنۇ سىمسىز تور WPA2ادەتتە قولدامايدىthis wifi no support WPA3 typeنۇ سىمسىز تور WPA3ادەتتە قولدامايدىSSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormپىشىنConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormپىشىنConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the Networkوسى توردى ەستە ساقتاۋSecurityحاۋىپسىزدىكPasswordقۇپيا نۇمىردى وزگەرتۋEAP typeEAP تۇرىIdentityازاماتتىق كۋالىكDomainتور مىCA certficateCA كىناشكاno need for CA certificateCA كنەشكاسنڭ قاجەتى جوقUser certificateپايدالانۋشٸ كناشكاسىUser private keyپايدالانۋشٸ جەكە كىلتUser key passwordپايدالانۋشٸ كىلت پارولىPassword optionsقۇپيا نومەر تالدانباسٸRequiredٴسوزسىزIneer authenticationٸشكٸ قىسىمى دالەلدەۋUsernameپايدالانۋشٸ مىAsk pwd each queryٵر رەت قۇپيا نۇمىردى سۇراۋNoneجوقWPA&WPA2 PersonalWPA&WPA2 جەكەWPA&WPA2 EnterpriseWPA&WPA2 كاسپورىنWPA3 PersonalWPA3 جەكەChoose from file...حۇجاتىن تالداۋ...Store passwords only for this userتەك نۇ ٸستەتۋشٸنٸڭ قۇپيا نۇمىردى ساقتايدىStore password only for this userتەك نۇ ٸستەتۋشٸنٸڭ قۇپيا نۇمىردى ساقتاۋStore passwords for all usersبارلٸق ٸستەتۋشٸنٸڭ قۇپيا نۇمىردى ساقتاۋStore password for all usersبارلٸق ٸستەتۋشٸنٸڭ قۇپيا نۇمىردى ساقتاۋAsk this password every timeٵر رەت نۇ قۇپيا نۇمىردى سۇراۋAsk password every timeٵر رەت قۇپيا نومەر سۇراۋWifi password length less than 8TLS identity is emptyCA cert filepath is invalidClient cert filepath is invalidClient private key filepath is invalidClient private key password is emptyUser name or user password is emptyNo PAC file is selected Choose a CA certificateCA كناشكاسى تالداۋPAC Files ( *.pac)CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningPAC مەنەن قامداعٸشAllow automatic PAC provisioningPAC نى اۆتوماتتى تەڭشەۋگە جول قويادىPAC filePAC حۇجاتىAnonymousاتسىزAuthenticatedراستلىق دالەلدەۋBothەكەۋىCA Files ( *.pem *.der *.p12 *.crt *.cer *.pfx)Choose a PAC filePAC مەنەن قامداعٸشPAC Files (*.pac)PAC 文件(*.pac)TabPageCurrent Deviceكەزەكتەگى تور قاريتاDevices Closed!جابدىقتار جابٸلدٸ!Settingsورنالاسترعان ەتۋKylin NMkylin network applet desktop messageچىلىن تور قۇرالى حابار كورسەتپەسىconnectedجالعانعانVpnPageWired Device not carried未插入网线WarningDialogUnable to save modificationsConfirmتۇراقتاندىرۋWiFiConfigDialogDialogكوز بەكWLAN AuthenticationInput WLAN Information PleaseWLAN ID:WLAN Name:Password:CanclOkماقۇلWlanListItemNot connectedجالعاۋنبادٸDisconnectۇزارتىۋConnectجالعانۋForgetنۇ توردى ۇمىتۋPropertyقاسيەتAuto Connectنۇ تورعا اۆتوماتتى اۋلاۋWlanMoreItemMore...更多...Add Others...باسقا تورعا قوسىلۋ...WlanPageWLANسىمسىز تورNo wireless network card detectedسىمسىز تور كارتاسى بايقالمادٸActivated WLANقوزعالدىOther WLANباسقاMore...更多...WLAN Connected Successfullyسىمسىز تور جالعانۋ ناتيجەلى قالدىWLAN Disconnected Successfullyسىمسىز تور ورنالاسٸۋٸ ناتيجەلى ٷزٸلدٸThe routing end rejects the access of the deviceThe network access at the routing end is fullusd set offline mode failed: Connected: سىلتەمەلەر: Not Connectedجالعاۋنبادٸ(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmجەكە تور اسباپبٸshow kylin-nm wifi pageجەكە تورٸنڭ سىمسىز تور شاراپات بەتىن كورسەتۋshow kylin-nm lan pageجەكە تورٸنڭ سۇيىر كولەمدىك تورىنىڭ شاراپات بەتىن كورسەتۋ
kylin-nm/src/translations/kylin-nm_ug.ts 0000664 0001750 0001750 00000230046 15167651420 017363 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile typeتور سەپلىمە ھۆججەت تىپىPublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.توردىكى ئاممىۋى (تەۋسىيە) ئۈسكۈنىلەر بۇ كومپيۇتېرنى بايقىيالمايدۇ. ئادەتتىكىچە قىلىپ ئېيتقاندا، ئۇ، ئاممىۋى سورۇنلارنىڭ تورىغا ماس كېلىدۇ مەسىلەن، ئايرودروم ياكى قەھۋەخانا قاتارلىقلار.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.توردىكى مەخسۇس ئۈسكۈنىلەر بۇ كومپيۇتېرنى بايقىيالايدۇ. ئادەتتە توردىكى سىز چۈشىنىدىغان ۋە ئىشىنىدىغان شەخس ۋە ئۈسكۈنىلەر، ئائىلە ياكى خىزمەت تورىغا ماس كېلىدۇ.Config firewall and security settingsئوتتام ۋە بىخەتەرلىك تەڭشىكىنى سەپلەشConnectivityPageNetwork connectivity detectionتور ئۇلىنىشىنى تەكشۈرۈشIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.ئەگەر تورغا كىرىش چەكلىمىگە ئۇچرىسا، تور IP ئۇلىنىشىنى تەكشۈرۈش ئۇسۇلىنى ئالماشتۇرۇڭ، ئاندىن قايتا سىناڭ.Public network (default)ئاممىۋى تور (كۆڭۈلدىكى)Local area network (intranet)تار دائىرىلىك تور (intranet)ConfirmجەزملەشThe network is connected and can access the Internet normally.تور ئۇلاندى، ئىنتېرنېت تورىنى نورمال زىيارەت قىلغىلى بولىدۇ.The network is connected and access to the Internet is restricted.تور ئۇلاندى، ئىنتېرنېت تورىغا بولغان زىيارەت چەكلىمىگە ئۇچرىدى.Please enter the local area network (intranet) detection addressتار دائىرىلىك تور (intranet) تەكشۈرۈش ئادرېسىنى كىرگۈزۈڭFormat errorفورمات خاتالىقىCopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection Nameتور نامىIPv4ConfigIPv4 ئىجرا بۇيرۇقىAddressئادرىسNetmaskتارماق تور يوشۇرۇن نومۇرىDefault Gatewayئەسلىدىكى تور ئۆتكىلىConnection name is empty or invalidئۇلاش نامى قۇرۇق ياكى ئىناۋەتسىزIPv4 address is empty or invalidIpv4 ئادرېسى قۇرۇق ياكى قانۇنسىزIPv4 netMask is empty or invalidIPv4 netMask قۇرۇق ياكى ئىناۋەتسىزIPv4 gateway is empty or invalidIPv4 تور بېكىتى قۇرۇق ياكى ئىناۋەتسىزAddress conflictتوقۇنۇشنى ھەل قىلىشPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)ئاپتوماتىك(DHCP)ManualقوللانماInvalid addressئىناۋەتسىز IPئادرېسىInvalid subnet maskئىناۋەتسىز تارماق تور يوشۇرۇن نومۇرىRequiredمۇقەررەر تولدۇرۇشDetailPageAuto Connectionئاپتوماتىك ئۇلاشSSID:SSID:Copied successfully!مۇۋەپپەقىيەتلىك كۆچۈرۈلگەن!Copy allھەممىنى كۆچۈرۈشPlease input SSID:SSID نى كىرگۈزۈڭ:Protocol:كېلىشىم:Security Type:بىخەتەرلىك تىپى:Hz:تور چاستوتىسى:Chan:تور يولى:BandWidth:كەڭ بەلۋاغ:IPv6:يەرلىك ئۇلانما IPv6 ئادرېسى:IPv4:IPv4 ئادرېسIPv4 DNS:IPv4 DNS مۇلازىمېتىرىMac:فىزىكىلىق ئادرېىس:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsDNS مۇلازىمېتىرى ئالىي دەرىجىلىك تەڭشىكىTacticتاكتىكاTimeoutۋاقىت ئېشىپ كەتتىRetry Countقايتا ساناشorderرەت تەرتىپىrotateپىرقىراشconcurrencyيانداش تارقىتىش s سېكۇنت times قېتىم سانىCloseياپCancelئەمەلدىن قالدۇرۇشConfirmجەزملەشEnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationWi-Fi تورى سالاھىيەت دەلىللەشكە موھتاجAccess to Wi-Fi network "Wi-Fi تورىغا ئۇلاش" requires a password or encryption key.مەخپىي نومۇر ياكى شىفىرلاشتۇرۇلغان ئاچقۇچ لازىم.Cancelئەمەلدىن قالدۇرۇشConnectئۇلىنىشFirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?بۇ توردىكى باشقا ئۈسكۈنىلەرنىڭ بۇ كومپيۇتېرنى بايقىشىغا يول قويامدۇ؟It is not recommended to enable this feature on public networksئاممىۋى توردا بۇ ئىقتىدارنى قوزغىتىش تەۋسىيە قىلىنمايدۇNot allowed (recommended)يول قويۇلمايدۇ (تەۋسىيە قىلىنىدۇ)Allowedيول قويۇلىدۇIpv4PageIPv4ConfigIPv4 ئىجرا بۇيرۇقىAddressئادرىسNetmaskتارماق تور يوشۇرۇن نومۇرىDefault Gatewayئەسلىدىكى تور ئۆتكىلىPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)ئاپتوماتىك(DHCP)ManualقوللانماIPv4 address is empty or invalidIpv4 ئادرېسى قۇرۇق ياكى قانۇنسىزIPv4 netMask is empty or invalidIPv4 netMask قۇرۇق ياكى ئىناۋەتسىزIPv4 gateway is empty or invalidIPv4 تور بېكىتى قۇرۇق ياكى ئىناۋەتسىزInvalid addressئىناۋەتسىز IPئادرېسىInvalid subnet maskئىناۋەتسىز تارماق تور يوشۇرۇن نومۇرىRequiredمۇقەررەر تولدۇرۇشAddress conflictتوقۇنۇشنى ھەل قىلىشIpv6PageIPv6ConfigIPv6 ئىجرا بۇيرۇقىAddressئادرىسSubnet prefix Lengthتارماق تور ئالدى قوشۇمچە ئۇزۇنلۇقDefault Gatewayئەسلىدىكى تور ئۆتكىلىPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)ئاپتوماتىك(DHCP)ManualقوللانماRequiredمۇقەررەر تولدۇرۇشInvalid addressئىناۋەتسىز IPئادرېسىInvalid gatewayئىناۋەتسىز تور ئۆتكىلى ئادرېسىIPv6 address is empty or invalidIPv6 ئادرېسى قۇرۇق ياكى ئىناۋەتسىزIPv6 prefix length is empty or invalidئالدى قوشۇمچە ئۇزۇنلۇقى قۇرۇق ياكى ئىناۋەتسىز IPv6Address conflictتوقۇنۇشنى ھەل قىلىشJoinHiddenWiFiPagePlease enter the network informationتور ئۇچۇرىنى كىرگۈزۈڭNetwork name(SSID)تور نامى (SSID)Remember the Network记住该网络Show Network Listتور تىزىملىكىنى كۆرسىتىشCancelئەمەلدىن قالدۇرۇشJoinقوشۇلۇشRequiredمۇقەررەر تولدۇرۇشFind and Join WLANWLAN نى تېپىش ۋە قوشۇشLanListItemNot connectedئۇلانمىدىWired Device not carriedتور سىمى چېتىلمىغانDisconnectئۇلىنىش ئۈزۈلدىConnectئۇلىنىشPropertyخاسلىقDeleteئۆچۈرLanPageNo ethernet device avaliableسىملىق ئۈسكىنە ئۇلانمىغانLANسىملىق تورconflict, unable to connect to the network normally!توقۇنۇش، تورغا نورمال ئۇلىغىلى بولمىدى!No wired network card detectedسىملىق تور كارتىسىنى تەكشۈرمىگەنActivated LANقورغىتىلدىInactivated LANقۇزغىتىلمىغانConnected, restricting accessئۇلاش، زىيارەت قىلىشنى چەكلەشNo internet access. Please click Network Check to specific reasons.ئىنتېرنېت تورىنى زىيارەت قىلغىلى بولمايدۇ. تورنى چېكىپ كونكرېت سەۋەبىنى بىلىپ بېقىڭ.Network Checkتور تەكشۈرۈشLAN Disconnected Successfully有线网络已断开Wired Device not carriedتور سىمى چېتىلمىغانLAN Connected Successfully有线网络已连接Connected: ئۇلانغانلىرى: Not Connectedئۇلانمىدى(Limited)(چەكلەنگەن)ListItemKylin NMتور تەسىس قىلىش قورالىkylin network applet desktop messageچىلىن تور قورالى ئۇچۇر كۆرسەتمىسىMainWindowkylin-nmkylin-تور قۇرالىLAN有线网络سىملىق تورWLAN无线局域网سىمسىز دائىرلىك تورShow MainWindow打开网络工具Settings设置网络项تەڭشەكNetwork Connectivity Detectionتور ئۇلىنىشىنى تەكشۈرۈشNetwork toolتور قورالىNetwork Cardتور كارتىسىNot connected to the networkتورغا ئۇلانمىغانMultipleDnsWidgetDNS server(Drag to sort)DNS مۇلازىمېتىرى (سۆرەلمە تەرتىپ بويىچە تىزىلدى)Click "+" to configure DNS+ نى چېكىپ DNS نى سەپلەڭSettingsتەڭشەكNetDetailKylin NMتور تەسىس قىلىش قورالىkylin network desktop messageتور ئەسكەرتمە ئۇچۇرىDetailتەپسىلاتلارIPv4IPv4IPv6IPv6Securityبىخەتەرلىكstart check IPv4 address conflictIPv4 ئادرېس توقۇنۇشىنى تەكشۈرۈشنى باشلىدىstart check IPv6 address conflictIPv6 ئادرېس توقۇنۇشىنى تەكشۈرۈشنى باشلىدىClose关闭Configئاساسىي تەڭشەكConfirmجەزملەشCancelئەمەلدىن قالدۇرۇشForget this networkبۇ تورنى ئۇنتۇپ قاپسىزDelete this networkبۇ تورنى ئۆچۈرۈشAdd LAN ConnectLAN ئۇلىنىشىنى قوشۇشConnect Hidden WLANيوشۇرۇن WLAN غا ئۇلاشNoneيوقAutoماشىناstart check ipv4 address conflict开始检测 ipv4 地址冲突start check ipv6 address conflict开始检测 ipv6 地址冲突ipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise typeبۇ سىمسىز تور كارخانا تور تىپىدىكىنى قوللىمايدۇthis wifi no support None typeبۇسىمسىز تور قۇرۇق تىپتىتكىنى قوللىمايدۇthis wifi no support WPA2 typeبۇ سىمسىز تور WPA2تىپىدىكىنى قوللىمايدۇthis wifi no support WPA3 typeبۇ سىمسىز تور WPA3تىپىدىكىنى قوللىمايدۇSSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormشەكىلConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormشەكىلConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the Networkمۇشۇ تورنى ئەستە ساقلاشSecurityبىخەتەرلىكPasswordئىمEAP typeEAP تۈرىIdentityكىملىكDomainتور نامىCA certficateCA كېنىشكاno need for CA certificateCA كىنىشكىسىنىڭ ھاجىتى يوقUser certificateئىشلەتكۈچى كىنىشكىسىUser private keyئىشلەتكۈچى شەخسىي ئاچقۇچUser key passwordئىشلەتكۈچى ئاچقۇچ پارولىPassword optionsمەخپىي نومۇر تاللانمىسىRequiredمۇقەررەر تولدۇرۇشIneer authenticationئىچكى قىسىمنى دەلىللەشUsernameئىشلەتكۈچى نامىAsk pwd each queryھەر قېتىم مەخپى نومۇرنى سوراشNoneيوقWPA&WPA2 PersonalWPA&WPA2 شەخسىWPA&WPA2 EnterpriseWPA&WPA2 كارخاناWPA3 PersonalWPA3 شەخسىChoose from file...ھۆججەتتىن تاللاش...Store passwords only for this userپەقەت بۇ ئىشلەتكۈچىنىڭ مەخپىي نومۇرىنى ساقلايدۇStore password only for this userپەقەت بۇ ئىشلەتكۈچىنىڭ مەخپىي نومۇرىنى ساقلاشStore passwords for all usersبارلىق ئىشلەتكۈچىنىڭ مەخپىي نومۇرىنى ساقلاشStore password for all usersبارلىق ئىشلەتكۈچىنىڭ مەخپىي نومۇرىنى ساقلاشAsk this password every timeھەر قېتىم بۇ مەخپىي نومۇرنى سوراشAsk password every timeھەر قېتىم مەخپىي نومۇر سوراشWifi password length less than 8مەخپىي نومۇرنىڭ ئۇزۇنلۇقى سەككىزدىن كىچىك بولىدۇ Wifi مەخپىي نومۇرTLS identity is emptyئىمزاسىز سالاھىيەت قۇرۇقCA cert filepath is invalidگۇۋاھنامە ھۆججىتىنىڭ يولى قانۇنسىز CAClient cert filepath is invalidئابونتلار تېرمىنالىدىكى گۇۋاھنامە ھۆججەت يولى ئىناۋەتسىزClient private key filepath is invalidئابونتلار تېرمىنالىنىڭ شەخسىي ئاچقۇچلۇق ھۆججەت يولى ئىناۋەتسىزClient private key password is emptyئابونتلار تېرمىنالىنىڭ شەخسىي ئاچقۇچ مەخپىي نومۇرىUser name or user password is emptyئابونت نامى ياكى ئابونت مەخپىي نومۇرى قۇرۇق بولىدۇNo PAC file is selected PAC ھۆججىتىنى تاللىمىغان Choose a CA certificateCA كىنىشكىسى تاللاشPAC Files ( *.pac)PAC ھۆججەت ( *pac )CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningPAC بىلەن تەمىنلەشAllow automatic PAC provisioningPAC نى ئاپتوماتىك تەڭشەشكە يول قويىدۇPAC filePAC ھۆججىتىAnonymousنامسىزAuthenticatedراستلىق دەلىللەشBothئىككىلىسىCA Files ( *.pem *.der *.p12 *.crt *.cer *.pfx)CA ھۆججەت ( *pem*der.p12*crt *.cer.pfx)Choose a PAC filePAC بىلەن تەمىنلەشPAC Files (*.pac)PAC 文件(*.pac)TabPageCurrent Deviceنۆۋەتتىكى تور كارتاDevices Closed!ئۈسكۈنىلەر تاقالدى!SettingsتەڭشەكKylin NMتور تەسىس قىلىش قورالىkylin network applet desktop messageچىلىن تور قورالى ئۇچۇر كۆرسەتمىسىconnectedئۇلانغانVpnPageWired Device not carried未插入网线WarningDialogUnable to save modificationsساقلاپ تۈزىتىش كىرگۈزگىلى بولمايدۇConfirmجەزملەشWiFiConfigDialogDialogدىئالوگWLAN Authenticationكىملىك تەكشۈرۈش WLANInput WLAN Information PleaseWLAN ئۇچۇرىنى كىرگۈزۈڭWLAN ID:سىمسىز رايون تورى ID:WLAN Name:WLAN نامىPassword:مەخپىي نومۇرCanclكانكېرOkماقۇلWlanListItemNot connectedئۇلانمىدىDisconnectئۇلىنىش ئۈزۈلدىConnectئۇلىنىشForgetبۇ تورنى ئۇنتۇشPropertyخاسلىقAuto Connectبۇ تورغا ئاپتوماتىك ئۇلاشWlanMoreItemMore...更多...Add Others...باشقا تورغا قوشۇلۇش...WlanPageWLANسىمسىز دائىرلىك تورNo wireless network card detectedسىمسىز تور كارتىسى بايقالمىدىActivated WLANقوزغىتىلدىOther WLANباشقاMore...更多...WLAN Connected Successfullyسىمسىز تور ئۇلىنىش مۇۋەپپەقىيەتلىك بولدىWLAN Disconnected Successfullyسىمسىز تور ئۇلىنىشى مۇۋەپپەقىيەتلىك ئۈزۈلدىThe routing end rejects the access of the deviceئۈسكۈنىنىڭ زىيارىتىنى رەت قىلىشThe network access at the routing end is fullيول ئۇچىدىكى تور زىيارىتى توشۇپ كەتتىusd set offline mode failed: USD تەسىس قىلىش توردىن قېچىش ئەندىزىسى مەغلۇپ بولدى: Connected: ئۇلانغانلىرى: Not Connectedئۇلانمىدى(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmيەككە تور ئەسۋابىshow kylin-nm wifi pageيەككە تورنىڭ سىمسىز تور بەت يۈزىنى كۆرسىتىشshow kylin-nm lan pageيەككە تورنىڭ تار دائىرىلىك تورىنىڭ بەت يۈزىنى كۆرسىتىش
kylin-nm/src/translations/kylin-nm_ms.ts 0000664 0001750 0001750 00000214573 15167651420 017376 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile typePublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.Config firewall and security settingsConnectivityPageNetwork connectivity detectionIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.Public network (default)Local area network (intranet)ConfirmThe network is connected and can access the Internet normally.The network is connected and access to the Internet is restricted.Please enter the local area network (intranet) detection addressFormat errorCopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection NameIPv4ConfigAddressNetmaskDefault GatewayConnection name is empty or invalidIPv4 address is empty or invalidIPv4 netMask is empty or invalidIPv4 gateway is empty or invalidAddress conflictPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)ManualInvalid addressInvalid subnet maskRequiredDetailPageAuto ConnectionSSID:Copied successfully!Copy allPlease input SSID:Protocol:Security Type:Hz:Chan:BandWidth:IPv6:IPv4:IPv4 DNS:Mac:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsTacticTimeoutRetry Countorderrotateconcurrency s timesCloseCancelConfirmEnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationAccess to Wi-Fi network "" requires a password or encryption key.CancelConnectFirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?It is not recommended to enable this feature on public networksNot allowed (recommended)AllowedIpv4PageIPv4ConfigAddressNetmaskDefault GatewayPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)ManualIPv4 address is empty or invalidIPv4 netMask is empty or invalidIPv4 gateway is empty or invalidInvalid addressInvalid subnet maskRequiredAddress conflictIpv6PageIPv6ConfigAddressSubnet prefix LengthDefault GatewayPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)ManualRequiredInvalid addressInvalid gatewayIPv6 address is empty or invalidIPv6 prefix length is empty or invalidAddress conflictJoinHiddenWiFiPagePlease enter the network informationNetwork name(SSID)Remember the Network记住该网络Show Network ListCancelJoinRequiredFind and Join WLANLanListItemNot connectedWired Device not carriedDisconnectConnectPropertyDeleteLanPageNo ethernet device avaliableLANconflict, unable to connect to the network normally!No wired network card detectedActivated LANInactivated LANConnected, restricting accessNo internet access. Please click Network Check to specific reasons.Network CheckLAN Disconnected Successfully有线网络已断开Wired Device not carriedLAN Connected Successfully有线网络已连接Connected: Not Connected(Limited)ListItemKylin NMkylin network applet desktop messageMainWindowkylin-nmLAN有线网络WLAN无线局域网Show MainWindow打开网络工具Settings设置网络项Network Connectivity DetectionNetwork toolNetwork CardNot connected to the networkMultipleDnsWidgetDNS server(Drag to sort)Click "+" to configure DNSSettingsNetDetailKylin NMkylin network desktop messageDetailIPv4IPv6Securitystart check IPv4 address conflictstart check IPv6 address conflictClose关闭ConfigConfirmCancelForget this networkDelete this networkAdd LAN ConnectConnect Hidden WLANNoneAutostart check ipv4 address conflict开始检测 ipv4 地址冲突start check ipv6 address conflict开始检测 ipv6 地址冲突ipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise typethis wifi no support None typethis wifi no support WPA2 typethis wifi no support WPA3 typeSSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the NetworkSecurityPasswordEAP typeIdentityDomainCA certficateno need for CA certificateUser certificateUser private keyUser key passwordPassword optionsRequiredIneer authenticationUsernameAsk pwd each queryNoneWPA&WPA2 PersonalWPA&WPA2 EnterpriseWPA3 PersonalChoose from file...Store passwords only for this userStore password only for this userStore passwords for all usersStore password for all usersAsk this password every timeAsk password every timeWifi password length less than 8TLS identity is emptyCA cert filepath is invalidClient cert filepath is invalidClient private key filepath is invalidClient private key password is emptyUser name or user password is emptyNo PAC file is selected Choose a CA certificatePAC Files ( *.pac)CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningAllow automatic PAC provisioningPAC fileAnonymousAuthenticatedBothCA Files ( *.pem *.der *.p12 *.crt *.cer *.pfx)Choose a PAC filePAC Files (*.pac)PAC 文件(*.pac)TabPageCurrent DeviceDevices Closed!SettingsKylin NMkylin network applet desktop messageconnectedVpnPageWired Device not carried未插入网线WarningDialogUnable to save modificationsConfirmWiFiConfigDialogDialogWLAN AuthenticationInput WLAN Information PleaseWLAN ID:WLAN Name:Password:CanclOkWlanListItemNot connectedDisconnectConnectForgetPropertyAuto ConnectWlanMoreItemMore...更多...Add Others...WlanPageWLANNo wireless network card detectedActivated WLANOther WLANMore...更多...WLAN Connected SuccessfullyWLAN Disconnected SuccessfullyThe routing end rejects the access of the deviceThe network access at the routing end is fullusd set offline mode failed: Connected: Not Connected(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmshow kylin-nm wifi pageshow kylin-nm lan page
kylin-nm/src/translations/kylin-nm_bo_CN.ts 0000664 0001750 0001750 00000252444 15167651420 017736 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile typeདྲ་རྒྱའི་བཀོད་སྒྲིག་ཡིག་ཆའི་རིགས།Public(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.སྤྱི་སྤྱོད།(འོས་སྦྱོར་བྱས་པ།)དྲ་རྒྱའི་སྒྲིག་ཆས་ཀྱིས་གློག་ཀླད་འདི་མཐོང་མི་ཐུབ། སྤྱིར་བཏང་གི་གནས་ཚུལ་འོག་ཏུ་མི་མང་འདུ་སའི་ནང་གི་དྲ་བ་ལ་འཚམ་པ་སྟེ།དཔེར་ན་གནམ་གྲུ་ཐང་དང་འཚིག་ཇའི་ཁང་སོགས་ལྟ་བུ།.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.ཆེད་སྤྱོད། དྲ་རྒྱའི་སྒྲིག་ཆས་ཀྱིས་གློག་ཀླད་འདི་མཐོང་ཐུབ། སྤྱིར་བཏང་གི་གནས་ཚུལ་འོག་ཁྱིམ་ཚང་ངམ་ལས་དོན་ཚན་པའི་དྲ་བ་དང་འཚམ་པས།ཁྱེད་ཀྱིས་དྲ་ཐོག་གི་མི་སྒེར་དང་སྒྲིག་ཆས་ལ་ངོས་འཛིན་དང་ཡིད་ཆེས་བྱེད་དགོས།.Config firewall and security settingsམེ་འགོག་གྱང་རྩིག་དང་བདེ་འཇགས་བཀོད་སྒྲིག་བྱ་དགོས།ConnectivityPageNetwork connectivity detectionདྲ་རྒྱའི་སྦྲེལ་མཐུད་རང་བཞིན་གྱི་ཞིབ་དཔྱད་ཚད་ལེན།If access to the Internet is restricted, please switch the network IP connectivity detection method and try again.གལ་ཏེ་དྲ་སྦྲེལ་ལ་འཚམས་འདྲི་བྱེད་པར་ཚོད་འཛིན་ཐེབས་པ་དང་། དྲ་རྒྱའི་IPལ་ཞིབ་དཔྱད་ཚད་ལེན་བྱེད་ཐབས་བརྗེས་ནས་ཚོད་ལྟ་བྱེད་དགོས།.Public network (default)སྤྱི་པའི་དྲ་རྒྱ། (ཁས་མ་བླངས་པ། )Local area network (intranet)ཅུས་ཁོངས་དྲ་བ། (ནང་དྲ། )Confirmཐག་ཆོད།The network is connected and can access the Internet normally.དྲ་རྒྱ་སྦྲེལ་མཐུད་བྱས་ཟིན་པས་རྒྱུན་ལྡན་གྱི་དྲ་སྦྲེལ་ལ་འཚམས་འདྲི་བྱས་ཆོག.The network is connected and access to the Internet is restricted.དྲ་རྒྱ་སྦྲེལ་མཐུད་བྱས་ཟིན་པས་དྲ་སྦྲེལ་ལ་འཚམས་འདྲི་བྱས་པ་རེད།.Please enter the local area network (intranet) detection addressཅུས་ཁོངས་ཀྱི་དྲ་རྒྱའི་(ནང་དྲ་)ཞིབ་དཔྱད་ཚད་ལེན་ས་གནས་ནང་འཇུག་བྱེད་རོགས།Format errorརྣམ་གཞག་གི་ནོར་འཁྲུལ།CopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection Nameའབྲེལ་མཐུད་ཀྱི་མིང་།IPv4ConfigIPv4ཁུང་ཙི།Addressསྡོད་གནས།Netmaskདྲ་རྒྱའི་མ་ལགDefault Gatewayཁ་ཆད་བཞག་པའི་སྒོ་ཆེན།Connection name is empty or invalidདྲ་རྒྱའི་མིང་ལ་སྟོང་བ་འམ་ཡང་ན་གོ་མི་ཆོད་པ་ཡིན།IPv4 address is empty or invalidIpv4ཡི་སྡོད་གནས་སྟོང་པའམ་ཁྲིམས་འགལ་ཡིན།IPv4 netMask is empty or invalidIPV4nmasastIPv4 gateway is empty or invalidIPv4ཡི་དྲ་བའི་འགག་སྒོ་ནི་སྟོང་བ་ཡིན་པ་འམ་ཡང་ན་གོ་མི་ཆོད་པ་ཡིནAddress conflictཤག་གནས་གདོང་གཏུག་Prefs DNSསྔོན་གྲབས་DNSAlternative DNSཚབ་བྱེད་རང་བཞིན་གྱི་DNSAuto(DHCP)རང་འགུལ་(DHCP)Manualལག་འགུལInvalid addressརྩིས་འགྲོ་མེད་པའི་ས་གནས།Invalid subnet maskརྩིས་འགྲོ་མེད་པའི་དྲ་བ་འགེབས་སྲུང་བྱེད་པ།Requiredབླང་བྱ་བཏོན་པ།DetailPageAuto Connectionརང་འགུལ་གྱིས་འབྲེལ་མཐུད་བྱེདSSID:SSID:Copied successfully!འདྲ་བཟོ་བྱས་ནས་གྲུབ་འབྲས་ཐོབ་!Copy allཚང་མ་འདྲ་བཤུས་བྱེད་Please input SSID:SSID:ནང་འཇུག་གནང་རོགས།:Protocol:གྲོས་ཆོད་ནང་དུ།:Security Type:བདེ་འཇགས་ཀྱི་རིགས་དབྱིབས་ནི།:Hz:དྲ་རྒྱའི་འཕྲིན་ལམ།:Chan:དྲ་བའི་བགྲོད་ལམ།:BandWidth:ཞེང་ཆེ་བ།:IPv6:ས་གནས་དེ་གའི་འབྲེལ་མཐུད་ས་གནས་IPv6ཡོད་པ་སྟེ།IPv4:IPv4ས་གནས།IPv4 DNS:IPV4DSཞབས་ཞུའི་ཡོ་བྱད།Mac:ཨའོ་མོན་ནི།:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsDNSགྱི་ཞབས་ཞུའི་ཡོ་བྱད་མཐོ་རིམ་སྒྲིག་བཀོད།Tacticཐབས་ཇུས།Timeoutདུས་ཚོད་ལས་བརྒལ་བ།Retry Countབསྐྱར་དུ་ཚོད་ལྟ་བྱེད་ཐེངས་གྲངས།orderགོ་རིམ།rotateསྐབས་བསྟུན་བྱེད་པ།concurrencyའགྲེམས་སྤེལ་ཡང་བྱ། s སྐར་ཆ། times གཉིས་པ།Closeཁ་རྒྱགCancelདོར་བ།Confirmཐག་ཆོད།EnterpriseWlanDialogConnect Enterprise WLANཁེ་ལས་WLANས སྦྲེལ་མཐུད་བྱེད་པ།Close关闭Wi-Fi network requires authenticationWi-Fiཡི་དྲ་རྒྱའི་བླང་བྱར་སྤྲོད་བྱ་རྒྱུའི་བླང་བྱ་བཏོན་ཡོད།Access to Wi-Fi network "Wii-Fiབར་གྱི་དྲ་རྒྱར་འཚམས་འདྲི་གནང་བ་རེད།" requires a password or encryption key.གསང་གྲངས་དང་གསང་བའི་ལྡེ་མིག་དགོས།Cancelདོར་བ།Connectསྦྲེལ་མཐུད་བྱེད་པ།FirewallDialogAllow your computer to be discovered by other computers and devices on this network?ཁྱོད་ཀྱི་གློག་ཀླད་དེ་དྲ་རྒྱའི་སྟེང་གི་གློག་ཀླད་དང་སྒྲིག་ཆས་གཞན་དག་གིས་རྙེད་ཐུབ་བམ།?It is recommended that you enable this feature on your home and work networks rather than public networks.ཁྱེད་ཀྱིས་ཁྱིམ་ཚང་དང་བྱ་བའི་དྲ་རྒྱའི་སྟེང་ནས་སྤྱི་སྤྱོད་མིན་པའི་དྲ་རྒྱའི་སྟེང་ནས་བྱེད་ནུས་འདི་སྤྱོད་རྒྱུའི་གྲོས་འགོ་བཏོན།.Yseདེ་ནི་རེད།Noདེ་ལྟར་མ་བྱས་Allow other devices on this network to discover this computer?དྲ་རྒྱའི་སྟེང་གི་སྒྲིག་ཆས་གཞན་པས་གློག་ཀླད་འདི་རྙེད་དུ་འཇུག་གམ།?It is not recommended to enable this feature on public networksབསམ་འཆར་མེད་།སྤྱི་པའི་དྲ་རྒྱའི་སྟེང་ནས་ནུས་པ་འདི་མགོ་བརྩམས་།Not allowed (recommended)མི་ཆོག་པ་(འོས་སྦྱོར།)Allowedཆོག་པ་Ipv4PageIPv4ConfigIPv4ཁུང་ཙི།Addressསྡོད་གནས།Netmaskདྲ་རྒྱའི་མ་ལགDefault Gatewayཁ་ཆད་བཞག་པའི་སྒོ་ཆེན།Prefs DNSསྔོན་གྲབས་DNSAlternative DNSཚབ་བྱེད་རང་བཞིན་གྱི་DNSAuto(DHCP)རང་འགུལ་(DHCP)Manualལག་འགུལIPv4 address is empty or invalidIpv4ཡི་སྡོད་གནས་སྟོང་པའམ་ཁྲིམས་འགལ་ཡིན།IPv4 netMask is empty or invalidIPV4nmasastIPv4 gateway is empty or invalidIPv4ཡི་དྲ་བའི་འགག་སྒོ་ནི་སྟོང་བ་ཡིན་པ་འམ་ཡང་ན་གོ་མི་ཆོད་པ་ཡིནInvalid addressརྩིས་འགྲོ་མེད་པའི་ས་གནས།Invalid subnet maskརྩིས་འགྲོ་མེད་པའི་དྲ་བ་འགེབས་སྲུང་བྱེད་པ།Requiredབླང་བྱ་བཏོན་པ།Address conflictཤག་གནས་གདོང་གཏུག་Ipv6PageIPv6ConfigIPv6ཁུང་ཙི།Addressསྡོད་གནས།Subnet prefix Lengthཡན་ལག་དྲ་རྒྱའི་སྔོན་སྒྲིག་གི་རིང་ཚད།Default Gatewayཁ་ཆད་བཞག་པའི་སྒོ་ཆེན།Prefs DNSསྔོན་གྲབས་DNSAlternative DNSཚབ་བྱེད་རང་བཞིན་གྱི་DNSAuto(DHCP)རང་འགུལ་(DHCP)Manualལག་འགུལRequiredབླང་བྱ་བཏོན་པ།Invalid addressརྩིས་འགྲོ་མེད་པའི་ས་གནས།Invalid gatewayརྩིས་འགྲོ་མེད་པའི་དྲ་བའི་འགག་སྒོ།IPv6 address is empty or invalidIPv6གི་སྡོད་གནས་སྟོང་པ་འམ་ཡང་ན་གོ་མི་ཆོད་པར་བརྩི་རྒྱུ།IPv6 prefix length is empty or invalidIPV6གི་སྔོན་གྱི་缀་རིང་ཚད་ནི་སྟོང་བ་ཡིན་པ་འམ་ཡང་ན་གོ་མི་ཆོད་པ་ཡིན།Address conflictཤག་གནས་གདོང་གཏུག་JoinHiddenWiFiPagePlease enter the network informationཁྱེད་རང་ཞུགས་འདོད་པའི་དྲ་རྒྱའི་ཆ་འཕྲིན་ནང་འཇུག་བྱེད་རོགས།Network name(SSID)དྲ་རྒྱའི་མིང་། (SSID)Remember the Networkདྲ་རྒྱ་དེ་སེམས་ལ་འཛིན་དགོས།Show Network Listདྲ་རྒྱའི་རེའུ་མིག་གསལ་པོར་མངོན་པ།Cancelདོར་བ།Joinདེའི་ནང་དུ་ཞུགས་པ།Requiredབླང་བྱ་བཏོན་པ།Find and Join WLANའཚོལ་ཞིབ་བྱས་པ་མ་ཟད་WLANལ་ཞུགས་པ་རེད།LanListItemNot connectedའབྲེལ་མཐུད་མི་བྱེད་པ།Wired Device not carriedསྐུད་ཡོད་སྒྲིག་ཆས་འཁྱེར་མེད་པ།Disconnectཆད་པ།Connectསྦྲེལ་མཐུད་བྱེད་པ།Propertyངོ་བོ།Deleteསུབ་པ།LanPageNo ethernet device avaliableཨེ་ཙི་དྲ་རྒྱའི་སྒྲིག་ཆས་ལ་བཙན་འཛུལ་བྱས་མི་ཆོག།LANསྐུད་ཡོད་དྲ་བ།conflict, unable to connect to the network normally!གདོང་གཏུག་རྒྱུན་ལྡན་ལྟར་དྲ་རྒྱ་དང་འབྲེལ་མཐུད་བྱེད་ཐབས་བྲལ་བ་རེད།!No wired network card detectedསྐུད་ཡོད་དྲ་བའི་གཱ་ལ་ཞིབ་དཔྱད་ཚད་ལེན་མ་བྱས་པ།Activated LANངའི་དྲ་རྒྱ།Inactivated LANདྲ་བ་གཞན་དགConnected, restricting accessའབྲེལ་མཐུད་བྱས་ནས་འཚམས་འདྲི་བྱེད་པར་ཚོད་འཛིན་བྱ་དགོས།No internet access. Please click Network Check to specific reasons.དྲ་སྦྲེལ་ལ་འཚམས་འདྲི་བྱེད་ཐབས་མེད། དྲ་རྒྱར་ཞིབ་བཤེར་བྱས་ནས་ཞིབ་ཕྲའི་རྒྱུ་རྐྱེན་ལ་རྒྱུས་ལོན་བྱེད་རོགས།Network Checkདྲ་རྒྱའི་ཞིབ་བཤེར།LAN Disconnected Successfullyསྐུད་ཡོད་དྲ་བ་ཆད་སོང་།Wired Device not carriedསྐུད་ཡོད་སྒྲིག་ཆས་འཁྱེར་མེད་པ།LAN Connected Successfullyསྐུད་ཡོད་དྲ་བ་སྦྲེལ་ཡོད།Connected: འབྲེལ་མཐུད་བྱུང་ཡོད།: Not Connectedམ་མཐུད་པ།(Limited)(དྲ་བར་ཚོད་འཛིན་ཐེབས་པ་རེད།)ListItemKylin NMཅིན་ལིན་kylin network applet desktop messageདྲ་རྒྱའི་ཀུ་ཤུའི་ཅོག་ཙེའི་ཆ་འཕྲིན།MainWindowkylin-nmདྲ་རྒྱའི་ཡོ་བྱད།LAN有线网络སྐུད་ཡོད་དྲ་བ།WLAN无线局域网སྐུད་མེད་ཁོངས་ཆུང་དྲ་རྒྱ།Show MainWindowརླུང་གཙོ་བོ་མངོན་པར་བྱས་ཡོད།Settings设置网络项བཀོད་སྒྲིག་བཅས་བྱ་དགོས།Network Connectivity Detectionདྲ་རྒྱའི་སྦྲེལ་མཐུད་རང་བཞིན་གྱི་ཞིབ་དཔྱད་ཚད་ལེན།Network toolདྲ་རྒྱའི་ལག་ཆ་Network Cardདྲ་བྱང་།Not connected to the networkདྲ་རྒྱ་དང་སྦྲེལ་མཐུད་མ་བྱས་པ།MultipleDnsWidgetDNS server(Drag to sort)DNS ཞབས་ཞུའི་ཡོ་བྱད། (འཐེན་འགུལ་ལ་བརྟེན་ནས་རིམ་སྒྲིག་།)Click "+" to configure DNS"+"མནན་ན་ད་གཟོད་DNSལ་བཀོད་སྒྲིག་བྱེད་ཐུབ།Settingsབཀོད་སྒྲིག་བཅས་བྱ་དགོས།NetDetailKylin NMཅིན་ལིན་kylin network desktop messageདྲ་རྒྱའི་གསལ་འདེབས་གནས་ཚུལ།Detailཞིབ་ཕྲའི་གནས་ཚུལ།IPv4IPv4IPv6IPv6Securityབདེ་འཇགས་ཚད།start check IPv4 address conflictIPv4ཡི་ས་གནས་བར་གྱི་འགལ་བར་ཞིབ་བཤེར་བྱེད་མགོ་བརྩམས།start check IPv6 address conflictIPv6གི་ས་གནས་བར་གྱི་འགལ་བར་ཞིབ་བཤེར་བྱེད་མགོ་བརྩམས།Close关闭Configབཀོད་སྒྲིག་བཅས་བྱ་དགོས།Confirmཐག་ཆོད།Cancelདོར་བ།Forget this networkདྲ་རྒྱ་འདི་བརྗེད་སོང་།Delete this networkདྲ་རྒྱ་དེ་བསུབ་དགོས།Add LAN Connectསྐུད་ཡོད་དྲ་བ་ཁ་སྣོན་བྱ་དགོས།Connect Hidden WLANཧའེ་ཏེན་ཝེ་ལན་དང་འབྲེལ་མཐུད་བྱེད་པ།Noneགཅིག་ཀྱང་མེད།Autoརང་འགུལstart check ipv4 address conflictIPv4ས་གནས་ཀྱི་འགལ་བ་ལ་ཞིབ་བཤེར་བྱེད་འགོ་ཚུགས།start check ipv6 address conflictIPv6གནས་ཡུལ་དང་འགལ་བར་ཞིབ་བཤེར་བྱེད་འགོ་ཚུགས།ipv4 address conflict!ipv4ཐག་གཅོད་གདོང་གཏུག་བྱུང་བ་རེད།!ipv6 address conflict!ipv6ཐག་གཅོད་གདོང་གཏུག་བྱུང་བ་རེད།!this wifi no support enterprise typewifiལ་རྒྱབ་སྐྱོར་མེད་པའི་ཁེ་ལས་ཀྱི་རིགས་དབྱིབས།this wifi no support None typewifiལ་རྒྱབ་སྐྱོར་མི་བྱེད་པར་རིགས་དབྱིབས་གཅིག་ཀྱང་མེད།this wifi no support WPA2 typewifiལ་རྒྱབ་སྐྱོར་མི་བྱེད་པའི་WPA2རིགས་དབྱིབས་this wifi no support WPA3 typewifiལ་རྒྱབ་སྐྱོར་མི་བྱེད་པའི་WPA3རིགས་དབྱིབས་SSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormགྲུབ་པ།Connect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormགྲུབ་པ།Connect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the Networkདྲ་རྒྱ་དེ་སེམས་ལ་འཛིན་དགོས།Securityབདེ་འཇགས་ཚད།Passwordཕར་འགྲོ་ཚུར་འོང་བྱེད་མཁན།EAP typeEAP རིགས་དབྱིབས།Identityཐོབ་ཐང་།Domainཁྱབ་ཁོངས།CA certficateCAལག་ཁྱེར།no need for CA certificateCAཡི་ལག་ཁྱེར་མི་དགོས།User certificateསྤྱོད་མཁན་གྱི་ལག་ཁྱེར།User private keyསྤྱོད་མཁན་གྱི་སྒེར་གྱི་ལྡེ་མིགUser key passwordསྤྱོད་མཁན་གྱི་ལྡེ་མིག་གི་གསང་Password optionsགསང་བའི་ཐོག་ནས་རྣམ་གྲངས་བདམས་པ།Requiredབླང་བྱ་བཏོན་པ།Ineer authenticationདབྱིན་ཆས་ཀྱི་བདེན་དཔང་ར་སྤྲོད་Usernameསྤྱོད་མཁན་མིང་།:Ask pwd each queryའདྲི་རྩད་རེ་རེར་འདྲི་རྩད་བྱེད་པ།Noneགཅིག་ཀྱང་མེད།WPA&WPA2 PersonalWPA&WPA2མི་སྒེར་གྱི་ངོས་ནས་བཤད་ན།WPA&WPA2 EnterpriseWPA&WPA2 ཁེ་ལས།WPA3 PersonalWPA3མི་སྒེར་Choose from file...ཡིག་ཆའི་ནང་ནས་གདམ་ག་རྒྱག་དགོས།...Store passwords only for this userསྤྱོད་མཁན་དེ་ཁོ་ནའི་ཆེད་དུ་གསང་གྲངས་ཉར་ཚགས་བྱས་ཡོད།Store password only for this userསྤྱོད་མཁན་དེ་ཁོ་ནའི་ཆེད་དུ་གསང་གྲངས་ཉར་ཚགས་བྱས་ཡོད།Store passwords for all usersསྤྱོད་མཁན་ཚང་མའི་གསང་བ་གསོག་ཉར་བྱེད་དགོས།Store password for all usersསྤྱོད་མཁན་ཚང་མའི་གསང་བ་གསོག་ཉར་བྱེད་དགོས།Ask this password every timeཐེངས་རེར་གསང་བ་འདི་འདྲི་རྩད་བྱེད་ཐེངས་རེ་ཡིན།Ask password every timeཐེངས་རེར་གསང་བ་འདི་འདྲི་རྩད་བྱེད་ཐེངས་རེ་ཡིན།Wifi password length less than 8Wifiལྡེ་མིག་གི་རིང་ཚད་ནི་གནས་བརྒྱད་ལས་དམའ་བ་རེད།TLS identity is emptyTLSམིང་བཏགས་པའི་ཐོབ་ཐང་སྟོང་པ་ཡིན།CA cert filepath is invalidCAདཔང་ཡིག་གི་ཡིག་ཆའི་ཐབས་ལམ་ལ་ནུས་པ་མེད།Client cert filepath is invalidསྤྱོད་མཁན་གྱི་དཔང་ཡིག་ཡིག་ཆའི་ཐབས་ལམ་ལ་ནུས་པ་མེད།Client private key filepath is invalidསྤྱོད་མཁན་གྱི་སྒེར་གྱི་ལྡེ་མིག་ཡིག་ཆའི་ཐབས་ལམ་ལ་ནུས་པ་མེད།Client private key password is emptyསྤྱོད་མཁན་གྱི་གསང་བའི་གསང་གྲངས་སྟོང་བ་ཡིན།User name or user password is emptyསྤྱོད་མཁན་གྱི་མིང་ངམ་གསང་ལྡེ་སྟོང་པ་ཡིན།No PAC file is selected PACཡི་ཡིག་ཆ་བདམས་མེད། Choose a CA certificateCAཡི་དཔང་ཡིག་འདེམས་པ།PAC Files ( *.pac)PACཡིག་ཆ། (pac)།CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA དཔང་ཡིག (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningPAC གཏན་འབེབས་བྱས་པ།Allow automatic PAC provisioningརང་འགུལ་གྱིས་PACམཚོ་འདོན་བྱས་ཆོག།PAC filePACཡིག་ཆ།Anonymousམིང་མ་བཀོད་པའི་Authenticatedབདེན་དཔང་ར་སྤྲོད་བྱས།Bothདེ་གཉིས་ཀCA Files ( *.pem *.der *.p12 *.crt *.cer *.pfx)CAཡིག་ཆ། (pemm)། **derr..cer P12〕Choose a PAC filePACཡིག་ཆ་ཞིག་བདམས་པ།PAC Files (*.pac)PACཡིག་ཆ།(*.pac)TabPageCurrent Deviceམིག་སྔའི་སྒྲིག་ཆས།Devices Closed!སྒྲིག་ཆས་སྒོ་རྒྱག་པ།!Settingsབཀོད་སྒྲིག་བཅས་བྱ་དགོས།Kylin NMཅིན་ལིན་kylin network applet desktop messageདྲ་རྒྱའི་ཀུ་ཤུའི་ཅོག་ཙེའི་ཆ་འཕྲིན།connectedའབྲེལ་མཐུད་བྱེད་ཟིན།VpnPageWired Device not carriedསྐུད་ཡོད་སྒྲིག་ཆས་འཁྱེར་མེད་པ།WarningDialogUnable to save modificationsཉར་ཚགས་དང་བཟོ་བཅོས་རྒྱག་ཐབས་མེད།Confirmཐག་ཆོད།WiFiConfigDialogDialogཁ་བརྡ་བྱེད་པ།WLAN Authenticationསྐུད་མེད་བདེན་དཔང་ར་སྤྲོད།Input WLAN Information Pleaseསྐུད་མེད་ཆ་འཕྲིན་ནང་འཇུག་གནང་རོགས།WLAN ID:སྐུད་མེད་ཅུའུ་ཡི་དྲ་རྒྱའི་IDཡིན།WLAN Name:སྐུད་མེད་མིང་།:Password:གསང་བའི་ཨང་གྲངས།Canclཁན་ཁེ་ལན།Okཐག་ཆོད (_O)WlanListItemNot connectedའབྲེལ་མཐུད་མི་བྱེད་པ།Disconnectཆད་པ།Connectསྦྲེལ་མཐུད་བྱེད་པ།Forgetབརྗེད་པ།Propertyངོ་བོ།Auto Connectརང་འགུལ་གྱིས་སྦྲེལ་མཐུད་WlanMoreItemMore...更多...Add Others...གཞན་པ་ཁ་སྣོན་བྱས་ནས་...WlanPageWLANསྐུད་མེད་ཁོངས་ཆུང་དྲ་རྒྱ།No wireless network card detectedསྐུད་མེད་དྲ་རྒྱའི་བྱང་བུ་མ་རྙེད་པ།Activated WLANངའི་དྲ་རྒྱ།Other WLANདྲ་བ་གཞན་དགMore...更多...WLAN Connected Successfullyསྐུད་མེད་དྲ་བ་སྦྲེལ་ཡོད།WLAN Disconnected Successfullyསྐུད་མེད་དྲ་རྒྱ་ཆད་སོང་།The routing end rejects the access of the deviceདྲ་རྒྱ་ཞུགས་རྒྱུ་དང་ལེན་མ་བྱས་པར་ཕམ་ཁ་བསྟུད་མར་བྱུང་།The network access at the routing end is fullདྲ་རྒྱ་འབྲེལ་མཐུད་བྱས་ནས་བཀང་ཡོད།usd set offline mode failed: USDལས་གནས་ལས་བྲལ་བའི་དཔེ་དབྱིབས་བཀོད་སྒྲིག་བྱས་ནས་ཕམ་ཁ་བྱུང་བ། Connected: འབྲེལ་མཐུད་བྱུང་ཡོད།: Not Connectedམ་མཐུད་པ།(Limited)(དྲ་བར་ཚོད་འཛིན་ཐེབས་པ་རེད།)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmདྲ་རྒྱའི་ཡོ་བྱད།show kylin-nm wifi pageསྐུད་མེད་དྲ་རྒྱའི་ངོས་མངོན་པར་བྱས་ཡོད།show kylin-nm lan pageསྐུད་ཡོད་དྲ་རྒྱའི་ཤོག་ངོས་མངོན་པར་བྱས་ཡོད།
kylin-nm/src/translations/kylin-nm_zh_HK.ts 0000664 0001750 0001750 00000214561 15167651420 017757 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile type網路配置檔類型Public(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.公用(推薦) 網路中的設備不可發現此電腦。 一般情況下適用於公共場所中的網路,如機場或咖啡店等等。Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.專用網路中的設備可發現此電腦。 一般情況下適用於家庭或工作單位的網路,您認識並信任網路上的個人和設備。Config firewall and security settings配置防火牆和安全設置ConnectivityPageNetwork connectivity detection網路連通性檢測If access to the Internet is restricted, please switch the network IP connectivity detection method and try again.如訪問 Internet 受限,請切換網路 IP 連通性檢測方式後再試。Public network (default)公網(預設)Local area network (intranet)區域網(內網)Confirm確定The network is connected and can access the Internet normally.網路已連接,可正常存取 Internet 。The network is connected and access to the Internet is restricted.網路已連接,訪問 Internet 受限。Please enter the local area network (intranet) detection address請輸入局域網(內網)檢測位址Format error格式錯誤CopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection Name網路名稱IPv4ConfigIPv4 配置AddressIPv4 位址Netmask子網掩碼Default Gateway默認閘道Connection name is empty or invalid連接名稱為空或無效IPv4 address is empty or invalidIpv4位址為空或非法IPv4 netMask is empty or invalidIPv4子網掩碼為空或無效IPv4 gateway is empty or invalidIPv4 閘道為空或無效Address conflict位址衝突Prefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)自動 (DHCP)Manual手動Invalid address無效的IP位址Invalid subnet mask無效的子網掩碼Required必填DetailPageAuto Connection自動連接SSID:SSID:Copied successfully!複製成功!Copy all複製全部Please input SSID:請輸入 SSID:Protocol:協定:Security Type:安全類型:Hz:網路頻帶:Chan:網路通道:BandWidth:頻寬:IPv6:本地連結 IPv6 位址:IPv4:IPv4 位址:IPv4 DNS:IPv4 DNS 伺服器:Mac:物理位址:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsDNS 伺服器高級配置Tactic策略Timeout超時時間Retry Count重試次數order順序rotate隨機concurrency併發 s 秒 times 次Close關閉Cancel取消Confirm確定EnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationWi-Fi 網路要求認證Access to Wi-Fi network "訪問Wi-Fi網路" requires a password or encryption key.需要密碼或加密金鑰。Cancel取消Connect連接FirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?是否允許此網路上的其他設備發現這台電腦?It is not recommended to enable this feature on public networks不建議在公共網路上開啟此功能Not allowed (recommended)不允許(推薦)Allowed允許Ipv4PageIPv4ConfigIPv4 配置Address位址Netmask子網掩碼Default Gateway默認閘道Prefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)自動Manual手動IPv4 address is empty or invalidIpv4位址為空或非法IPv4 netMask is empty or invalidIPv4 netMask 為空或無效IPv4 gateway is empty or invalidIPv4 閘道為空或無效Invalid address無效的IP位址Invalid subnet mask無效的子網掩碼Required必填Address conflict位址衝突Ipv6PageIPv6ConfigIPv6 配置Address位址Subnet prefix Length子網前綴長度Default Gateway默認閘道Prefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)自動Manual手動Required必填Invalid address無效的IP位址Invalid gateway無效的閘道位址IPv6 address is empty or invalidIPv6 位址為空或無效IPv6 prefix length is empty or invalidIPv6 前置綴長度為空或無效Address conflict位址衝突JoinHiddenWiFiPagePlease enter the network information請輸入您想要加入的網路資訊Network name(SSID)網路名稱 (SSID)Remember the Network记住该网络Show Network List顯示網路清單Cancel取消Join加入Required必填Find and Join WLAN查找並加入無線局域網路LanListItemNot connected未連接Wired Device not carried未插入網線Disconnect斷開Connect連接Property屬性Delete刪除此網路LanPageNo ethernet device avaliable未檢測到有線設備LAN有線網路conflict, unable to connect to the network normally!衝突,無法正常連接到網路!No wired network card detected未檢測到有線網卡Activated LAN我的網路Inactivated LAN其他網路Connected, restricting access連接,限制訪問No internet access. Please click Network Check to specific reasons.無法訪問互聯網。 請點擊網路檢查以瞭解具體原因。Network Check網路檢查LAN Disconnected Successfully有线网络已断开Wired Device not carried未插入網線LAN Connected Successfully有线网络已连接Connected: 已連線: Not Connected未連接(Limited)(網路受限)ListItemKylin NM網路設置工具kylin network applet desktop message網路提示消息MainWindowkylin-nm網路工具LAN有线网络有線網路WLAN无线局域网無線局域網Show MainWindow打开网络工具Settings设置网络项設置網路項Network Connectivity Detection網路連通性檢測Network tool網路工具Network Card網卡Not connected to the network未連接網路MultipleDnsWidgetDNS server(Drag to sort)DNS 伺服器高級配置Click "+" to configure DNS點擊 「+」配置 DNSSettings高級設置NetDetailKylin NM網路設置工具kylin network desktop message網路提示消息Detail詳情IPv4IPv4IPv6IPv6Security安全start check IPv4 address conflict開始檢查 IPv4 位址衝突start check IPv6 address conflict開始檢查 IPv6 位址衝突Close关闭Config配置Confirm確定Cancel取消Forget this network忘記此網路Delete this network刪除此網路Add LAN Connect添加有線網路Connect Hidden WLAN連接到隱藏 WLANNone無Auto自動start check ipv4 address conflict开始检测 ipv4 地址冲突start check ipv6 address conflict开始检测 ipv6 地址冲突ipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise type此 wifi 不支援企業網類型this wifi no support None type此 wifi 不支援空類型this wifi no support WPA2 type此 wifi 不支援 WPA2 類型this wifi no support WPA3 type此 wifi 不支援 WPA3 類型SSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the Network記住該網路Security安全性Password金鑰EAP typeEAP 方法Identity匿名身份Domain域CA certficateCA 證書no need for CA certificate不需要 CA 證書User certificate用戶證書User private key使用者私鑰User key password用戶金鑰密碼Password options密碼選項Required必填Ineer authentication內部認證Username使用者名Ask pwd each query每次詢問密碼None無WPA&WPA2 PersonalWPA&WPA2 個人WPA&WPA2 EnterpriseWPA&WPA2 企業WPA3 PersonalWPA3 個人Choose from file...從檔案選擇...Store passwords only for this user僅為該使用者存儲密碼Store password only for this user僅為該使用者存儲密碼Store passwords for all users存儲所有用戶的密碼Store password for all users存儲所有用戶的密碼Ask this password every time每次詢問這個密碼Ask password every time每次詢問這個密碼Wifi password length less than 8Wifi密碼長度小於8TLS identity is emptyTLS匿名身份為空CA cert filepath is invalidCA證書檔路徑非法Client cert filepath is invalid用戶端證書檔路徑無效Client private key filepath is invalid用戶端私鑰檔案路徑無效Client private key password is empty用戶端私鑰密碼為空User name or user password is empty使用者名或用戶密碼為空No PAC file is selected 未選擇 PAC 檔 Choose a CA certificate選擇一個 CA 證書PAC Files ( *.pac)PAC 檔案 ( *.pac)CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningPAC 配置Allow automatic PAC provisioning允許自動 PAC 配置PAC filePAC 檔Anonymous匿名Authenticated已認證Both兩者兼用CA Files ( *.pem *.der *.p12 *.crt *.cer *.pfx)CA 檔 ( *.pem *.der *.p12 *.crt *.cer *.pfx)Choose a PAC file選擇一個 PAC 檔PAC Files (*.pac)PAC 文件(*.pac)TabPageCurrent Device當前網卡Devices Closed!設備關閉!Settings網路設置Kylin NM網路設置工具kylin network applet desktop message網路提示消息connected連接VpnPageWired Device not carried未插入网线WarningDialogUnable to save modifications無法儲存修改Confirm確定WiFiConfigDialogDialog對話WLAN AuthenticationWLAN 身份驗證Input WLAN Information Please請輸入 WLAN 資訊WLAN ID:無線區域網 ID:WLAN Name:WLAN名稱:Password:密碼:Cancl坎克爾Ok還行WlanListItemNot connected未連接Disconnect斷開Connect連接Forget忘記此網路Property屬性Auto Connect自動加入該網路WlanMoreItemMore...更多...Add Others...加入其他網路...WlanPageWLAN無線局域網No wireless network card detected未檢測到無線網卡Activated WLAN我的網路Other WLAN其他網路More...更多...WLAN Connected Successfully無線網路已連接WLAN Disconnected Successfully無線網路已斷開The routing end rejects the access of the device路由端拒絕設備的訪問The network access at the routing end is full路由端網路訪問已滿usd set offline mode failed: USD 設定離線模式失敗: Connected: 已連線: Not Connected未連接(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnm麒麟show kylin-nm wifi page顯示麒麟-NM WiFi頁面show kylin-nm lan page顯示 kylin-nm 局域網頁面
kylin-nm/src/translations/kylin-nm_vi.ts 0000664 0001750 0001750 00000176727 15167651420 017405 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile typeLoại hồ sơ mạngPublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.Thiết bị công cộng (khuyến nghị) trên mạng không thể phát hiện ra máy tính này. Nói chung, nó phù hợp với các mạng ở những nơi công cộng, chẳng hạn như sân bay hoặc quán cà phê, v.v.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.Thiết bị riêng trên mạng có thể phát hiện ra máy tính này. Thường áp dụng cho mạng ở nhà hoặc nơi bạn biết và tin tưởng các cá nhân và thiết bị trên mạng.Config firewall and security settingsCấu hình tường lửa và cài đặt bảo mậtConnectivityPageNetwork connectivity detectionPhát hiện kết nối mạngIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.Nếu quyền truy cập Internet bị hạn chế, vui lòng chuyển đổi phương pháp phát hiện kết nối IP mạng và thử lại.Public network (default)Mạng công cộng (mặc định)Local area network (intranet)Mạng cục bộ (mạng nội bộ)ConfirmLưu sửa đổiThe network is connected and can access the Internet normally.Mạng được kết nối và có thể truy cập Internet bình thường.The network is connected and access to the Internet is restricted.Mạng được kết nối và quyền truy cập Internet bị hạn chế.Please enter the local area network (intranet) detection addressVui lòng nhập địa chỉ phát hiện mạng cục bộ (mạng nội bộ)Format errorLỗi định dạngCopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection NameTên kết nốiIPv4ConfigCấu hình IPv4AddressĐịa chỉNetmaskMặt nạ mạngDefault GatewayGateway mặc địnhAddress conflictGiải quyết xung độtPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Tự động (DHCP)ManualSách hướng dẫnInvalid addressĐịa chỉ không hợp lệInvalid subnet maskMặt nạ mạng con không hợp lệRequiredBắt buộcDetailPageAuto ConnectionKết nối tự độngSSID:SSID:Copied successfully!Sao chép thành công!Copy allSao chép tất cảPlease input SSID:Vui lòng nhập SSID:Protocol:Protocol:Security Type:Loại bảo mật:Hz:Hz:Chan:Kênh mạng:BandWidth:Băng thông:IPv6:IPv6:IPv4:Địa chỉ IPv4:IPv4 DNS:Máy chủ DNS IPv4:Mac:Mac:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsCài đặt nâng cao của máy chủ DNSTacticTacticTimeoutThời gian chờRetry CountSố lần thử lạiorderThứ tự phátrotateXoayconcurrencyĐồng thời s s times lầnCloseThoátCancelHủyConfirmLưu sửa đổiEnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationMạng Wi-Fi yêu cầu xác thựcAccess to Wi-Fi network "Truy cập vào mạng Wi-Fi "" requires a password or encryption key." yêu cầu mật khẩu hoặc khóa mã hóa.CancelHủyConnectKết nốiFirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?Cho phép các thiết bị khác trên mạng này phát hiện ra máy tính này?It is not recommended to enable this feature on public networksKhông nên bật tính năng này trên mạng công cộngNot allowed (recommended)Không được phép (khuyến nghị)AllowedCho phépIpv4PageIPv4ConfigCấu hình IPv4AddressĐịa chỉNetmaskMặt nạ mạngDefault GatewayGateway mặc địnhPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Tự động (DHCP)ManualSách hướng dẫnInvalid addressĐịa chỉ không hợp lệInvalid subnet maskMặt nạ mạng con không hợp lệRequiredBắt buộc điềnAddress conflictGiải quyết xung độtIpv6PageIPv6ConfigCấu hình IPv6AddressĐịa chỉSubnet prefix LengthĐộ dài tiền tố mạng conDefault GatewayGateway mặc địnhPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)Tự động (DHCP)ManualCẩm nangRequiredBắt buộcInvalid addressĐịa chỉ không hợp lệInvalid gatewayCổng không hợp lệAddress conflictGiải quyết xung độtJoinHiddenWiFiPagePlease enter the network informationNhập thông tin mạng cần kết nốiNetwork name(SSID)Tên mạng (SSID)Remember the Network记住该网络Show Network ListHiển thị danh sách mạngCancelHủyJoinNốiRequiredBắt buộc điềnFind and Join WLANTìm và tham gia WLANLanListItemNot connectedChưa kết nốiWired Device not carriedThiết bị có dây không được mang theoDisconnectNgắt kết nốiConnectKết nốiPropertyThuộc tínhDeleteXóa bản sao lưuLanPageNo ethernet device avaliable未检测到有线设备LANMạng có dâyconflict, unable to connect to the network normally!xung đột, không thể kết nối mạng bình thường!Activated LANMạng của tôiInactivated LANMạng khácLAN Disconnected Successfully有线网络已断开Wired Device not carriedChưa cắm cáp mạngLAN Connected Successfully有线网络已连接Connected: Đã kết nối: Not ConnectedChưa kết nối(Limited)(Mạng bị hạn chế)ListItemKylin NMCông cụ cài đặt mạng Kylinkylin network applet desktop messageTin nhắn máy tính để bàn applet mạng kylinMainWindowkylin-nmCông cụ mạngLAN有线网络LANWLAN无线局域网Mạng WLANShow MainWindow打开网络工具Settings设置网络项Mục cài đặtNetwork Connectivity DetectionPhát hiện kết nối mạngNetwork toolCông cụ mạngNetwork CardCard mạngNot connected to the networkChưa kết nối mạngMultipleDnsWidgetDNS server(Drag to sort)Máy chủ DNS(Kéo để sắp xếp)Click "+" to configure DNSNhấp vào "+" để định cấu hình DNSSettingsMục cài đặtNetDetailKylin NMCông cụ cài đặt mạng Kylinkylin network desktop messageTin nhắn máy tính để bàn mạng KylinDetailChi tiếtIPv4IPv4IPv6IPv6SecurityAn ninhClose关闭ConfigCấu hìnhConfirmLưu sửa đổiCancelHủyForget this networkQuên mạng nàyDelete this networkXóa mạng nàyAdd LAN ConnectThêm mạng có dâyConnect Hidden WLANKết nối WLAN ẩnNoneSử dùng settings hiện tại của máy inAutoXe ô tôstart check ipv4 address conflictBắt đầu kiểm tra xung đột địa chỉ IPv4start check ipv6 address conflictBắt đầu kiểm tra xung đột địa chỉ IPv6ipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise typeWiFi này không hỗ trợ mạng doanh nghiệpthis wifi no support None typewifi này không hỗ trợ Loại Không cóthis wifi no support WPA2 typeWifi này không hỗ trợ loại WPA2this wifi no support WPA3 typewifi này không hỗ trợ loại WPA3SSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the NetworkGhi nhớ mạng lướiSecurityĐảm bảo an toànPasswordMật khẩuEAP typeXác thực EAPIdentityDanh tính ẩn danhDomainMiềnCA certficateChứng nhận CAno need for CA certificatekhông cần chứng chỉ CAUser certificateChứng chỉ người dùngUser private keyKhóa riêng của người dùngUser key passwordMật khẩu khóa riêng tưPassword optionsTùy chọn mật khẩuRequiredBắt buộcIneer authenticationXác thực IneerUsernameTên người dùngAsk pwd each queryHỏi pwd mỗi truy vấnNoneSử dùng settings hiện tại của máy inWPA&WPA2 PersonalWPA & WPA2 Cá nhânWPA&WPA2 EnterpriseDoanh nghiệp WPA & WPA2WPA3 PersonalWPA3 Cá nhânChoose from file...Chọn từ tệp...Store passwords only for this userChỉ lưu mật khẩu cho người dùng nàyStore password only for this userLưu trữ mật khẩu chỉ cho người dùng nàyStore passwords for all usersLưu trữ mật khẩu của tất cả người dùngStore password for all usersLưu trữ mật khẩu cho tất cả người dùngAsk this password every timeHỏi mật khẩu này mỗi lầnAsk password every timeHỏi mật khẩu mọi lúcChoose a CA certificateChọn chứng chỉ CACA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)Tệp CA (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningCấu hình PACAllow automatic PAC provisioningCho phép cấu hình PAC tự độngPAC fileTệp PACAnonymousẨn danhAuthenticatedĐã xác thựcBothSử dụng đồng thời cả haiChoose a PAC fileChọn một tệp PACPAC Files (*.pac)Tệp PAC (*.pac)TabPageCurrent DeviceThiết bị hiện tạiDevices Closed!Thiết bị đã đóng!SettingsCài đặtKylin NMCông cụ cài đặt mạng Kylinkylin network applet desktop messageThông báo nhắc nhở mạngVpnPageWired Device not carried未插入网线WlanListItemNot connectedChưa kết nốiDisconnectNgắtConnectKết nốiForgetQuênPropertyTài sảnAuto ConnectTự động kết nối mạng nàyWlanMoreItemMore...更多...Add Others...Thêm người khác...WlanPageWLANMạng cục bộ không dâyNo wireless network card detectedKhông phát hiện thấy card mạng không dâyActivated WLANMạng của tôiOther WLANMạng khácMore...更多...WLAN Connected SuccessfullyWLAN kết nối thành côngWLAN Disconnected SuccessfullyMạng không dây đã ngắt kết nốiConnected: Đã kết nối: Not ConnectedChưa kết nối(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmKylinnmshow kylin-nm wifi pageHiển thị trang WiFi Kylin-NMshow kylin-nm lan pageHiển thị trang mạng LAN Kylin-NM
kylin-nm/src/translations/kylin-nm_mn.ts 0000664 0001750 0001750 00000251222 15167651420 017361 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile typeᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠ ᠹᠠᠢᠯ ᠤ᠋ᠨ ᠳᠦᠷᠦᠯPublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.ᠨᠡᠢᠳᠡ ᠵᠢᠨ ᠰᠦᠯᠵᠢᠶᠡᠨ ( ᠳᠠᠨᠢᠯᠴᠠᠭᠤᠯᠬᠤ) ᠳ᠋ᠤ᠌ ᠬᠢ ᠳᠦᠬᠦᠬᠡᠷᠦᠮᠵᠢ ᠲᠤᠰ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ᠋ ᠮᠡᠳᠡᠵᠤ ᠪᠣᠯᠬᠤ ᠥᠬᠡᠢ᠂ ᠶᠡᠷᠦᠳᠡ ᠵᠢᠨ ᠪᠠᠢᠳᠠᠯ ᠳ᠋ᠤ᠌ ᠣᠯᠠᠨ ᠨᠡᠢᠳᠡ ᠵᠢᠨ ᠳᠠᠯᠠᠪᠠᠢ ᠳ᠋ᠤ᠌ ᠬᠢ ᠰᠦᠯᠵᠢᠶᠡ ᠵᠢ ᠬᠡᠷᠡᠭᠯᠡᠨᠡ᠂ ᠵᠢᠰᠢᠶᠡᠯᠡᠪᠡᠯ ᠨᠢᠰᠬᠡᠯ ᠤ᠋ᠨ ᠪᠠᠭᠤᠳᠠᠯ ᠤ᠋ᠨ ᠺᠤᠹᠸ ᠵᠢᠨ ᠦᠷᠦᠬᠡ ᠵᠡᠷᠭᠡ᠃Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.ᠳᠤᠰᠬᠠᠢ ᠬᠡᠷᠡᠭᠯᠡᠬᠦ᠂ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠳᠦᠬᠦᠬᠡᠷᠦᠮᠵᠢ ᠲᠤᠰ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ᠋ ᠣᠯᠵᠤ ᠮᠡᠳᠡᠪᠡ᠂ ᠶᠡᠷᠦᠳᠡ ᠵᠢᠨ ᠪᠠᠢᠳᠠᠯ ᠳ᠋ᠤ᠌ ᠬᠡᠷᠦᠢ ᠤ᠋ᠨ ᠪᠤᠶᠤ ᠠᠯᠪᠠᠨ ᠪᠠᠢᠭᠤᠯᠭᠠ ᠵᠢᠨ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠬᠡᠷᠡᠭᠯᠡᠨᠡ᠂ ᠲᠠ ᠳᠠᠨᠢᠬᠤ ᠮᠦᠷᠳᠡᠭᠡᠨ ᠨᠠᠢᠳᠠᠪᠤᠷᠢᠳᠠᠢ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳᠡᠬᠡᠷᠡᠬᠢ ᠬᠤᠪᠢ ᠬᠥᠮᠦᠨ ᠪᠤᠶᠤ ᠳᠦᠬᠦᠬᠡᠷᠦᠮᠵᠢ᠃Config firewall and security settingsᠭᠠᠯ ᠰᠡᠷᠬᠡᠢᠯᠡᠬᠦ ᠬᠡᠷᠡᠮ ᠪᠤᠯᠤᠨ ᠠᠮᠤᠷ ᠳᠦᠪᠰᠢᠨ ᠤ᠋ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠConnectivityPageNetwork connectivity detectionᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠨᠡᠪᠳᠡᠷᠡᠬᠦ ᠴᠢᠨᠠᠷ ᠢ᠋ ᠬᠢᠨᠠᠨ ᠬᠡᠮᠵᠢᠬᠦIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.ᠬᠡᠷᠪᠡ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠠᠢᠯᠴᠢᠯᠠᠵᠤ ᠴᠢᠳᠠᠬᠤ ᠥᠬᠡᠢ ᠪᠣᠯ᠂ ᠨᠸᠲᠦ᠋ᠨ IP ᠵᠠᠯᠭᠠᠯᠲᠠᠶ᠋ᠢᠨ ᠴᠢᠨᠠᠷᠤ᠋ᠨ ᠰᠢᠯᠭᠠᠨ ᠪᠠᠢᠴᠠᠭᠠᠬᠤ ᠬᠡᠯᠪᠡᠷᠢᠶ᠋ᠢ ᠰᠣᠯᠢᠭᠠᠳ ᠳᠠᠬᠢᠨ ᠳᠤᠷᠰᠢᠭᠠᠷᠠᠢ᠃Public network (default)ᠨᠡᠢᠳᠡ ᠵᠢᠨ ᠰᠦᠯᠵᠢᠶᠡ ( ᠠᠶᠠᠳᠠᠯ)Local area network (intranet)ᠬᠡᠰᠡᠭ ᠰᠦᠯᠵᠢᠶᠡ ( ᠳᠣᠲᠣᠭᠠᠳᠤ ᠰᠦᠯᠵᠢᠶᠡ )ConfirmᠲᠣᠭᠲᠠᠭᠠᠬᠤThe network is connected and can access the Internet normally.ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠨᠢᠬᠡᠨᠳᠡ ᠵᠠᠯᠭᠠᠭᠰᠠᠨ᠂ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠬᠡᠪ ᠤ᠋ᠨ ᠠᠢᠯᠴᠢᠯᠠᠵᠤ ᠪᠤᠯᠤᠨᠠ᠃The network is connected and access to the Internet is restricted.ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠨᠢᠬᠡᠨᠳᠡ ᠵᠠᠯᠭᠠᠪᠠ᠂ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠠᠢᠯᠴᠢᠯᠠᠬᠤ ᠬᠢᠵᠠᠭᠠᠷᠯᠠᠭᠳᠠᠪᠠ᠃Please enter the local area network (intranet) detection addressᠬᠡᠰᠡᠭ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋( ᠳᠤᠳᠤᠭᠠᠳᠤ ᠰᠦᠯᠵᠢᠶᠡ) ᠬᠢᠨᠠᠨ ᠬᠡᠮᠵᠢᠭᠰᠡᠨ ᠬᠠᠶᠢᠭ ᠢ᠋ ᠣᠷᠣᠭᠤᠯᠤᠭᠠᠷᠠᠢFormat errorᠬᠡᠯᠪᠡᠷᠢ ᠨᠢ ᠪᠤᠷᠤᠭᠤCopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection Nameᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠨᠡᠷᠡᠢᠳᠦᠯIPv4ConfigIPv4 ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠAddressᠬᠠᠶᠢᠭNetmaskᠬᠤᠪᠢᠶᠠᠷᠢ ᠨᠧᠲᠤᠨ ᠳᠠᠯᠳᠠᠯᠠᠯ ᠺᠤᠳ᠋Default Gatewayᠠᠶᠠᠳᠠᠯ ᠨᠸᠲ ᠪᠤᠭᠤᠮᠳᠠConnection name is empty or invalidᠬᠣᠯᠪᠣᠬᠤ ᠨᠡᠷᠡᠶᠢᠳᠦᠯ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠪᠤᠶᠤ ᠬᠦᠴᠦᠨ ᠦᠭᠡᠢ ᠃IPv4 address is empty or invalidIpv4 ᠬᠠᠶᠢᠭ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠪᠤᠶᠤ ᠬᠠᠤᠯᠢ ᠪᠤᠰᠤ ᠃IPv4 netMask is empty or invalidIPv4 netMaassk ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠪᠤᠶᠤ ᠬᠦᠴᠦᠨ ᠦᠭᠡᠢ ᠃IPv4 gateway is empty or invalidIPv4 ᠰᠦᠯᠵᠢᠶᠡᠨ ᠦ ᠪᠣᠭᠣᠮᠲᠠ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠪᠤᠶᠤ ᠬᠦᠴᠦᠨ ᠦᠭᠡᠢ ᠃Address conflictᠬᠠᠶᠢᠭ ᠤ᠋ᠨ ᠮᠦᠷᠬᠦᠯᠳᠦᠬᠡᠨPrefs DNSᠳᠡᠷᠢᠬᠦᠨ ᠰᠤᠩᠭᠤᠯᠳᠠ DNSAlternative DNSᠪᠡᠯᠡᠳᠬᠡᠯ ᠰᠤᠩᠭᠤᠯᠳᠠ DNSAuto(DHCP)ᠠᠦ᠋ᠲ᠋ᠣ᠋ (DHCP)Manualᠭᠠᠷ ᠵᠢᠡᠷInvalid addressᠬᠦᠴᠦᠨ ᠦᠬᠡᠢ ᠬᠠᠶᠢᠭInvalid subnet maskᠬᠦᠴᠦᠨ ᠦᠬᠡᠢ ᠬᠤᠪᠢᠶᠠᠷᠢ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠬᠠᠯᠬᠠᠪᠴᠢRequiredᠡᠷᠬᠡᠪᠰᠢ ᠳᠠᠭᠯᠠᠬᠤDetailPageAuto Connectionᠠᠦ᠋ᠲ᠋ᠣ᠋ ᠴᠦᠷᠬᠡᠯᠡᠬᠦSSID:SSID:Copied successfully!ᠺᠤᠫᠢᠳᠠᠪᠠ!Copy allᠪᠦᠬᠦᠨ ᠢ᠋ ᠺᠤᠫᠢᠳᠠᠬᠤPlease input SSID:SSID ᠢ᠋/ ᠵᠢ ᠤᠷᠤᠭᠤᠯᠤᠭᠠᠷᠠᠢ:Protocol:ᠭᠡᠷᠡ:Security Type:ᠠᠮᠤᠷ ᠳᠦᠪᠰᠢᠨ ᠤ᠋ ᠳᠦᠷᠦᠯ ᠵᠦᠢᠯ:Hz:ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠳᠠᠪᠳᠠᠮᠵᠢ ᠵᠢᠨ ᠪᠦᠰᠡ:Chan:ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠨᠡᠪᠳᠡᠷᠡᠬᠦ ᠵᠠᠮ:BandWidth:ᠪᠦᠰᠡ ᠵᠢᠨ ᠦᠷᠭᠡᠨ:IPv6:IPv6 ᠬᠠᠶᠢᠭ:IPv4:IPv4 ᠬᠠᠶᠢᠭ:IPv4 DNS:IPv4 ᠦᠢᠯᠡᠴᠢᠯᠡᠬᠦᠷ:Mac:ᠹᠢᠽᠢᠺ ᠤ᠋ᠨ ᠬᠠᠶᠢᠭ:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsDNS ᠦᠢᠯᠡᠴᠢᠯᠡᠬᠦᠷ ᠤ᠋ᠨ ᠳᠡᠭᠡᠳᠦ ᠳᠡᠰ ᠤ᠋ᠨ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠTacticᠪᠤᠳᠤᠯᠭᠠTimeoutᠴᠠᠭ ᠡᠴᠡ ᠬᠡᠳᠦᠷᠡᠬᠦRetry Countᠳᠠᠬᠢᠨ ᠳᠤᠷᠰᠢᠭᠰᠠᠨ ᠤᠳᠠᠭᠠorderᠳᠠᠷᠠᠭᠠᠯᠠᠯrotateᠳᠠᠰᠢᠷᠠᠮconcurrencyᠵᠡᠷᠭᠡᠳᠡ ᠢᠯᠡᠬᠡᠬᠦ s ᠰᠸᠺᠦ᠋ᠨ᠋ᠲ times ᠤᠳᠠᠭᠠCloseᠬᠠᠭᠠᠬᠤCancelᠪᠣᠯᠢᠬᠤConfirmᠲᠣᠭᠲᠠᠭᠠᠬᠤEnterpriseWlanDialogConnect Enterprise WLANᠠᠵᠤ ᠠᠬᠤᠢᠯᠠᠯ ᠤ᠋ᠨ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠴᠦᠷᠬᠡᠯᠡᠬᠦClose关闭Wi-Fi network requires authenticationWi-Fi ᠰᠦᠯᠵᠢᠶᠡ ᠬᠡᠷᠡᠴᠢᠯᠡᠯ ᠢ᠋ ᠱᠠᠭᠠᠷᠳᠠᠬᠤAccess to Wi-Fi network "Wi-Fi ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠠᠢᠯᠴᠢᠯᠠᠬᠤ" requires a password or encryption key.ᠨᠢᠭᠤᠴᠠ ᠺᠣᠳ᠋ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠳᠦᠯᠬᠢᠬᠦᠷ ᠢ᠋ ᠱᠠᠭᠠᠷᠳᠠᠨᠠ᠃CancelᠪᠣᠯᠢᠬᠤConnectᠴᠦᠷᠬᠡᠯᠡᠬᠡFirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?ᠲᠤᠰ ᠳᠦᠯᠵᠢᠶᠡᠨ ᠳᠡᠭᠡᠷᠡᠬᠢ ᠪᠤᠰᠤᠳ ᠳᠦᠬᠦᠬᠡᠷᠦᠮᠵᠢ ᠡᠨᠡ ᠺᠣᠮᠫᠢᠦ᠋ᠲ᠋ᠧᠷ ᠢ᠋ ᠣᠯᠵᠤ ᠮᠡᠳᠡᠬᠦ ᠵᠢ ᠵᠥᠪᠰᠢᠶᠡᠷᠡᠬᠦ ᠤᠤ?It is not recommended to enable this feature on public networksᠨᠡᠢᠳᠡ ᠵᠢᠨ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳᠡᠭᠡᠷᠡ ᠲᠤᠰ ᠴᠢᠳᠠᠪᠬᠢ ᠵᠢ ᠨᠡᠬᠡᠬᠡᠬᠦ ᠥᠬᠡᠢ ᠪᠠᠢᠬᠤ ᠵᠢ ᠰᠠᠨᠠᠭᠤᠯᠵᠤ ᠪᠠᠢᠨᠠNot allowed (recommended)ᠵᠥᠪᠰᠢᠶᠡᠷᠡᠬᠦ ᠥᠬᠡᠢ ( ᠳᠠᠨᠢᠯᠴᠠᠭᠤᠯᠬᠤ)AllowedᠵᠥᠪᠰᠢᠶᠡᠷᠡᠬᠦIpv4PageIPv4ConfigIPv4 ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠAddressᠬᠠᠶᠢᠭNetmaskᠬᠤᠪᠢᠶᠠᠷᠢ ᠨᠧᠲᠤᠨ ᠳᠠᠯᠳᠠᠯᠠᠯ ᠺᠤᠳ᠋Default Gatewayᠠᠶᠠᠳᠠᠯ ᠨᠸᠲ ᠪᠤᠭᠤᠮᠳᠠPrefs DNSᠳᠡᠷᠢᠬᠦᠨ ᠰᠤᠩᠭᠤᠯᠳᠠ DNSAlternative DNSᠪᠡᠯᠡᠳᠬᠡᠯ ᠰᠤᠩᠭᠤᠯᠳᠠ DNSAuto(DHCP)ᠠᠦ᠋ᠲ᠋ᠣ᠋ (DHCP)Manualᠭᠠᠷ ᠵᠢᠡᠷIPv4 address is empty or invalidIpv4 ᠬᠠᠶᠢᠭ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠪᠤᠶᠤ ᠬᠠᠤᠯᠢ ᠪᠤᠰᠤ ᠃IPv4 netMask is empty or invalidIPv4 ᠰᠦᠯᠵᠢᠶᠡᠨ ᠦ ᠬᠠᠯᠬᠠᠯᠠᠬᠤ ᠨᠣᠮᠧᠷ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠪᠤᠶᠤ ᠬᠦᠴᠦᠨ ᠦᠭᠡᠢ ᠃IPv4 gateway is empty or invalidIPv4 ᠰᠦᠯᠵᠢᠶᠡᠨ ᠦ ᠪᠣᠭᠣᠮᠲᠠ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠪᠤᠶᠤ ᠬᠦᠴᠦᠨ ᠦᠭᠡᠢ ᠃Invalid addressᠬᠦᠴᠦᠨ ᠦᠬᠡᠢ ᠬᠠᠶᠢᠭInvalid subnet maskᠬᠦᠴᠦᠨ ᠦᠬᠡᠢ ᠬᠤᠪᠢᠶᠠᠷᠢ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠬᠠᠯᠬᠠᠪᠴᠢRequiredᠡᠷᠬᠡᠪᠰᠢ ᠳᠠᠭᠯᠠᠬᠤAddress conflictᠬᠠᠶᠢᠭ ᠤ᠋ᠨ ᠮᠦᠷᠬᠦᠯᠳᠦᠬᠡᠨIpv6PageIPv6ConfigIPv6 ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠAddressᠬᠠᠶᠢᠭSubnet prefix Lengthᠬᠤᠪᠢᠶᠠᠷᠢ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠤᠭᠳᠤᠪᠤᠷᠢ ᠵᠢᠨ ᠤᠷᠳᠤDefault Gatewayᠠᠶᠠᠳᠠᠯ ᠨᠸᠲ ᠪᠤᠭᠤᠮᠳᠠPrefs DNSᠳᠡᠷᠢᠬᠦᠨ ᠰᠤᠩᠭᠤᠯᠳᠠ DNSAlternative DNSᠪᠡᠯᠡᠳᠬᠡᠯ ᠰᠤᠩᠭᠤᠯᠳᠠ DNSAuto(DHCP)ᠠᠦ᠋ᠲ᠋ᠣ᠋ (DHCP)Manualᠭᠠᠷ ᠵᠢᠡᠷRequiredᠡᠷᠬᠡᠪᠰᠢ ᠳᠠᠭᠯᠠᠬᠤInvalid addressᠬᠦᠴᠦᠨ ᠦᠬᠡᠢ ᠬᠠᠶᠢᠭInvalid gatewayᠬᠦᠴᠦᠨ ᠦᠬᠡᠢ ᠨᠧᠲ ᠪᠤᠭᠤᠮᠳᠠIPv6 address is empty or invalidIPv6 ᠬᠠᠶᠢᠭ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠪᠤᠶᠤ ᠬᠦᠴᠦᠨ ᠦᠭᠡᠢ ᠃IPv6 prefix length is empty or invalidIPv6 ᠡᠮᠦᠨᠡᠬᠢ ᠤᠷᠲᠤ ᠶᠢᠨ ᠬᠡᠮᠵᠢᠶᠡ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠪᠤᠶᠤ ᠬᠦᠴᠦᠨ ᠦᠭᠡᠢ ᠃Address conflictᠬᠠᠶᠢᠭ ᠤ᠋ᠨ ᠮᠦᠷᠬᠦᠯᠳᠦᠬᠡᠨJoinHiddenWiFiPagePlease enter the network informationᠲᠠᠨ ᠤ᠋ ᠣᠷᠣᠬᠤ ᠬᠡᠵᠤ ᠪᠠᠢᠭᠠ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠰᠤᠷᠠᠭ ᠵᠠᠩᠬᠢ ᠵᠢ ᠣᠷᠣᠭᠤᠯᠤᠭᠠᠷᠠᠢNetwork name(SSID)ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠨᠡᠷᠡ (SSID)Remember the Network记住该网络Show Network Listᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠵᠢᠭᠰᠠᠭᠠᠯᠳᠠ ᠵᠢ ᠢᠯᠡᠷᠡᠬᠦᠯᠬᠦCancelᠪᠣᠯᠢᠬᠤJoinᠣᠷᠣᠬᠤRequiredᠡᠷᠬᠡᠪᠰᠢ ᠳᠠᠭᠯᠠᠬᠤFind and Join WLANᠤᠳᠠᠰᠤ ᠥᠬᠡᠢ ᠬᠡᠰᠡᠭ ᠤ᠋ᠨ ᠰᠦᠯᠵᠢᠶᠡ ᠵᠢ ᠡᠷᠢᠵᠤ ᠣᠷᠣᠬᠤLanListItemNot connectedᠵᠠᠯᠭᠠᠭᠠ ᠦᠭᠡᠢWired Device not carriedᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠤᠳᠠᠰᠤ ᠵᠠᠯᠭᠠᠭᠠ ᠦᠬᠡᠢDisconnectᠴᠦᠷᠬᠡᠯᠡᠬᠡ ᠵᠢ ᠳᠠᠰᠤᠯᠬᠤConnectᠴᠦᠷᠬᠡᠯᠡᠬᠡPropertyᠬᠠᠷᠢᠶᠠᠳᠤ ᠴᠢᠨᠠᠷDeleteᠤᠰᠠᠳᠬᠠᠠᠬᠤLanPageNo ethernet device avaliableᠤᠳᠠᠰᠤᠳᠤ ᠳᠦᠬᠦᠬᠡᠷᠦᠮᠵᠢ ᠵᠢ ᠪᠠᠢᠴᠠᠭᠠᠵᠤ ᠤᠯᠤᠭᠰᠠᠨ ᠦᠬᠡᠢLANᠤᠲᠠᠰᠤᠲᠤ ᠲᠣᠣᠷ ᠰᠦᠯᠵᠢᠶᠡconflict, unable to connect to the network normally!ᠮᠦᠷᠬᠦᠯᠳᠦᠬᠡᠨ᠂ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠬᠡᠪ ᠤ᠋ᠨ ᠴᠦᠷᠬᠡᠯᠡᠵᠤ ᠴᠢᠳᠠᠬᠤ ᠥᠬᠡᠢ!No wired network card detectedᠤᠲᠠᠰᠤᠲᠤ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠦ ᠺᠣᠮᠫᠢᠦᠢᠲ᠋ᠧᠷ ᠢ ᠪᠠᠶᠢᠴᠠᠭᠠᠨ ᠰᠢᠯᠭᠠᠭᠰᠠᠨ ᠦᠭᠡᠶ ᠃Activated LANᠮᠢᠨᠤ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡInactivated LANᠪᠤᠰᠤᠳ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡConnected, restricting accessᠵᠠᠯᠭᠠᠵᠤ ᠂ ᠰᠤᠷᠪᠤᠯᠵᠢᠯᠠᠭᠠ ᠬᠢᠬᠦ ᠶᠢ ᠬᠢᠵᠠᠭᠠᠷᠯᠠᠬᠤ ᠬᠡᠷᠡᠭᠲᠡᠶ ᠃No internet access. Please click Network Check to specific reasons.ᠢᠨᠲ᠋ᠧᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳᠦ ᠠᠢ᠌ᠯᠴᠢᠯᠠᠬᠤ ᠶᠢᠨ ᠠᠷᠭᠠ ᠦᠭᠡᠢ ᠃ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠦ ᠪᠠᠶᠢᠴᠠᠭᠠᠯᠲᠠ ᠶᠢ ᠳᠠᠷᠤᠵᠤ ᠪᠣᠳᠠᠲᠠᠶ ᠰᠢᠯᠲᠠᠭᠠᠨ ᠢ ᠣᠶᠢᠯᠠᠭᠠᠭᠠᠷᠠᠢ ᠃Network Checkᠰᠦᠯᠵᠢᠶᠡᠨ ᠦ ᠪᠠᠶᠢᠴᠠᠭᠠᠯᠲᠠ ᠃LAN Disconnected Successfullyᠤᠳᠠᠰᠤᠳᠤ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡ ᠵᠢ ᠨᠢᠭᠡᠨᠳᠡ ᠳᠠᠰᠤᠯᠪᠠWired Device not carriedᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠤᠳᠠᠰᠤ ᠵᠠᠯᠭᠠᠭᠠ ᠦᠬᠡᠢLAN Connected Successfullyᠤᠳᠠᠰᠤᠳᠤ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡ ᠵᠢ ᠨᠢᠭᠡᠨᠳᠡ ᠴᠦᠷᠬᠡᠯᠡᠪᠡConnected: ᠴᠥᠷᠬᠡᠯᠡᠪᠡ: Not Connectedᠴᠦᠷᠬᠡᠯᠡᠬᠡ ᠥᠬᠡᠢ(Limited)( ᠰᠦᠯᠵᠢᠶᠡ ᠬᠢᠵᠠᠭᠠᠷᠯᠠᠭᠳᠠᠪᠠ)ListItemKylin NMᠲᠣᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳᠡᠭᠡᠷᠡ ᠪᠠᠭᠠᠵᠢ ᠲᠣᠬᠢᠷᠠᠭᠤᠯᠤᠨᠠ ᠃kylin network applet desktop messageᠰᠦᠯᠵᠢᠶᠡᠨ ᠦ ᠰᠠᠨᠠᠭᠤᠯᠤᠮᠵᠢ ᠶᠢᠨ ᠮᠡᠳᠡᠭᠡ ᠃MainWindowkylin-nmᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠪᠠᠭᠠᠵᠢLAN有线网络ᠤᠲᠠᠰᠤᠲᠤ ᠲᠣᠣᠷ ᠰᠦᠯᠵᠢᠶᠡWLAN无线局域网ᠤᠲᠠᠰᠤᠭᠤᠢ ᠬᠡᠰᠡᠭ ᠬᠡᠪᠴᠢᠶᠡᠨᠦ᠌ ᠲᠣᠣᠷShow MainWindowᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠪᠠᠭᠠᠵᠢ ᠵᠢ ᠨᠡᠬᠡᠬᠡᠬᠦSettings设置网络项ᠲᠤᠬᠢᠷᠠᠭᠤᠯᠬᠤNetwork Connectivity Detectionᠰᠦᠯᠵᠢᠶᠡ ᠶᠢ ᠵᠠᠯᠭᠠᠵᠤ ᠪᠠᠶᠢᠴᠠᠭᠠᠨ ᠬᠡᠮᠵᠢᠨᠡNetwork toolᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠪᠠᠭᠠᠵᠢNetwork Cardᠰᠦᠯᠵᠢᠶᠡᠨ ᠺᠠᠷᠲNot connected to the networkᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠴᠥᠷᠬᠡᠯᠡᠭᠡ ᠥᠬᠡᠢMultipleDnsWidgetDNS server(Drag to sort)DNS ᠦᠢᠯᠡᠴᠢᠯᠡᠬᠦᠷ ᠤ᠋ᠨ ᠦᠨᠳᠦᠷ ᠳᠡᠰ ᠤ᠋ᠨ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠClick "+" to configure DNS"+" ᠢ᠋/ ᠵᠢ ᠳᠤᠪᠴᠢᠳᠠᠵᠤ᠂ DNS ᠢ᠋/ ᠵᠢ ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠬᠤSettingsᠲᠤᠬᠢᠷᠠᠭᠤᠯᠬᠤNetDetailKylin NMᠲᠣᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳᠡᠭᠡᠷᠡ ᠪᠠᠭᠠᠵᠢ ᠲᠣᠬᠢᠷᠠᠭᠤᠯᠤᠨᠠ ᠃kylin network desktop messageᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠰᠠᠨᠠᠭᠤᠯᠤᠮᠵᠢ ᠵᠢᠨ ᠮᠡᠳᠡᠭᠡDetailᠨᠠᠷᠢᠨ ᠪᠠᠢᠳᠠᠯIPv4IPv4IPv6IPv6Securityᠠᠮᠤᠷ ᠳᠦᠪᠰᠢᠨstart check IPv4 address conflictIPv4 ᠬᠠᠶᠢᠭ ᠤᠨ ᠮᠥᠷᠭᠥᠯᠳᠥᠭᠡᠨ ᠢ ᠡᠬᠢᠯᠡᠨ ᠪᠠᠶᠢᠴᠠᠭᠠᠵᠤ ᠡᠬᠢᠯᠡᠪᠡ ᠃start check IPv6 address conflictIPv6 ᠬᠠᠶᠢᠭ ᠤᠨ ᠮᠥᠷᠭᠥᠯᠳᠥᠭᠡᠨ ᠢ ᠡᠬᠢᠯᠡᠨ ᠪᠠᠶᠢᠴᠠᠭᠠᠵᠤ ᠡᠬᠢᠯᠡᠪᠡ ᠃Close关闭Configᠦᠨᠳᠦᠰᠦᠨ ᠲᠣᠬᠢᠷᠠᠭᠤᠯᠤᠯᠲᠠConfirmᠲᠣᠭᠲᠠᠭᠠᠬᠤCancelᠪᠣᠯᠢᠬᠤForget this networkᠲᠤᠰ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡ ᠵᠢ ᠮᠠᠷᠳᠠᠬᠤDelete this networkᠲᠤᠰ ᠰᠦᠯᠵᠢᠶᠡ ᠵᠢ ᠬᠠᠰᠤᠬᠤAdd LAN Connectᠤᠳᠠᠰᠤᠳᠤ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡ ᠨᠡᠮᠡᠬᠦConnect Hidden WLANᠨᠢᠭᠤᠴᠠᠯᠠᠭᠰᠠᠨ WLAN ᠲᠤ᠌/ ᠳ᠋ᠤ᠌ ᠴᠦᠷᠬᠡᠯᠡᠬᠦNoneᠦᠬᠡᠢAutoᠳᠠᠭᠠᠯᠲᠠ ᠰᠢᠰᠲ᠋ᠧᠮstart check ipv4 address conflictIPv4 ᠬᠠᠶᠢᠭ ᠤ᠋ᠨ ᠮᠦᠷᠬᠦᠯᠳᠦᠬᠡᠨ ᠢ᠋ ᠪᠠᠢᠴᠠᠭᠠᠵᠤ ᠡᠬᠢᠯᠡᠪᠡstart check ipv6 address conflictIPv6 ᠬᠠᠶᠢᠭ ᠤ᠋ᠨ ᠮᠦᠷᠬᠦᠯᠳᠦᠬᠡᠨ ᠢ᠋ ᠪᠠᠢᠴᠠᠭᠠᠵᠤ ᠡᠬᠢᠯᠡᠪᠡipv4 address conflict!ipv4 ᠬᠠᠶᠢᠭ ᠮᠦᠷᠬᠦᠯᠳᠦᠬᠡᠨ ᠲᠠᠢ!ipv6 address conflict!ipv6 ᠬᠠᠶᠢᠭ ᠮᠦᠷᠬᠦᠯᠳᠦᠬᠡᠨ ᠲᠠᠢ!this wifi no support enterprise typeᠲᠤᠰ wifi ᠠᠵᠤ ᠠᠬᠤᠢᠯᠠᠯ ᠤ᠋ᠨ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠤ᠋ ᠲᠦᠷᠦᠯ ᠢ᠋ ᠳᠡᠮᠵᠢᠬᠦ ᠦᠬᠡᠢthis wifi no support None typeᠲᠤᠰ wifi ᠬᠤᠭᠤᠰᠤᠨ ᠬᠡᠯᠪᠡᠷᠢ ᠵᠢ ᠳᠡᠮᠵᠢᠬᠦ ᠦᠬᠡᠢthis wifi no support WPA2 typeᠲᠤᠰ wifiWPA2 ᠳᠦᠷᠦᠯ ᠢ᠋ ᠳᠡᠮᠵᠢᠬᠦ ᠦᠬᠡᠢthis wifi no support WPA3 typeᠲᠤᠰ wifiWPA3 ᠳᠦᠷᠦᠯ ᠢ᠋ ᠳᠡᠮᠵᠢᠬᠦ ᠦᠬᠡᠢSSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormᠹᠤᠤᠮConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormᠹᠤᠤᠮConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the Networkᠲᠤᠰ ᠰᠦᠯᠵᠢᠶᠡ ᠵᠢ ᠴᠡᠬᠡᠵᠢᠯᠡᠬᠦSecurityᠠᠮᠤᠷ ᠳᠦᠪᠰᠢᠨPasswordᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋EAP typeEAP ᠠᠷᠭᠠIdentityᠨᠡᠷᠡ ᠪᠤᠷᠤᠭᠤᠯᠤᠭᠰᠠᠨ ᠪᠡᠶᠡ ᠵᠢᠨ ᠭᠠᠷᠤᠯDomainᠳ᠋ᠤᠮᠠᠢᠨ ᠄CA certficateCA ᠦᠨᠡᠮᠯᠡᠯno need for CA certificateCA ᠦᠨᠡᠮᠯᠡᠯ ᠬᠡᠷᠡᠭᠰᠡᠬᠦ ᠦᠬᠡᠢUser certificateᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠵᠢᠨ ᠦᠨᠡᠮᠯᠡᠯUser private keyᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠵᠢᠨ ᠨᠢᠭᠤᠴᠠ ᠳᠦᠯᠬᠢᠬᠦᠷUser key passwordᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠵᠢᠨ ᠨᠢᠭᠤᠴᠠ ᠳᠦᠯᠬᠢᠬᠦᠷ ᠤ᠋ᠨ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋Password optionsᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤ᠋ᠨ ᠰᠤᠩᠭᠤᠭᠳᠠᠬᠤᠨRequiredᠡᠷᠬᠡᠪᠰᠢ ᠳᠠᠭᠯᠠᠬᠤIneer authenticationᠳᠤᠳᠤᠭᠠᠳᠤ ᠬᠡᠷᠡᠴᠢᠯᠡᠯUsernameᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠵᠢᠨ ᠨᠡᠷᠡAsk pwd each queryᠤᠳᠠᠭᠠ ᠪᠦᠷᠢ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠢ᠋ ᠯᠠᠪᠯᠠᠬᠤNoneᠦᠬᠡᠢWPA&WPA2 PersonalWPA&WPA2 ᠬᠤᠪᠢ ᠬᠦᠮᠦᠨWPA&WPA2 EnterpriseWPA&WPA2 ᠠᠵᠤ ᠠᠬᠤᠢᠯᠠᠯWPA3 PersonalWPA3 ᠬᠥᠮᠥᠨ ᠃Choose from file...ᠹᠠᠢᠯ ᠡᠴᠡ ᠰᠤᠩᠭᠤᠬᠤ···Store passwords only for this userᠵᠥᠪᠬᠡᠨ ᠲᠤᠰ ᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠵᠢᠨ ᠨᠢᠭᠤᠴᠠ ᠺᠣᠳ᠋ ᠢ᠋ ᠬᠠᠳᠠᠭᠠᠯᠠᠬᠤStore password only for this userᠵᠥᠪᠬᠡᠨ ᠲᠤᠰ ᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠵᠢᠨ ᠨᠢᠭᠤᠴᠠ ᠺᠣᠳ᠋ ᠢ᠋ ᠬᠠᠳᠠᠭᠠᠯᠠᠬᠤStore passwords for all usersᠪᠦᠬᠦᠢᠯᠡ ᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠵᠢᠨ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠢ᠋ ᠬᠠᠳᠠᠭᠠᠯᠠᠬᠤStore password for all usersᠪᠦᠬᠦᠢᠯᠡ ᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠵᠢᠨ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠢ᠋ ᠬᠠᠳᠠᠭᠠᠯᠠᠬᠤAsk this password every timeᠤᠳᠠᠭᠠ ᠪᠦᠷᠢ ᠲᠤᠰ ᠨᠢᠭᠤᠴᠠ ᠺᠣᠳ᠋ ᠢ᠋ ᠠᠰᠠᠭᠤᠨ ᠯᠠᠪᠯᠠᠬᠤAsk password every timeᠤᠳᠠᠭᠠ ᠪᠦᠷᠢ ᠠᠰᠠᠭᠤᠨ ᠯᠠᠪᠯᠠᠬᠤWifi password length less than 8ᠸᠢᠹᠢ ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠤᠨ ᠤᠷᠲᠤ ᠨᠢ 8 ᠡᠴᠡ ᠪᠠᠭᠠ ᠃TLS identity is emptyTLS ᠨᠡᠷᠡ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠃CA cert filepath is invalidCA ᠦᠨᠡᠮᠯᠡᠯ ᠦᠨ ᠪᠢᠴᠢᠭ᠌ ᠮᠠᠲ᠋ᠧᠷᠢᠶᠠᠯ ᠤᠨ ᠠᠷᠭᠠ ᠵᠠᠮ ᠬᠠᠤᠯᠢ ᠪᠤᠰᠤ ᠃Client cert filepath is invalidᠵᠣᠴᠢᠨ ᠡᠷᠦᠬᠡ ᠶᠢᠨ ᠦᠵᠦᠭᠦᠷ ᠦᠨ ᠦᠨᠡᠮᠯᠡᠯ ᠦᠨ ᠪᠢᠴᠢᠭ ᠮᠠᠲ᠋ᠧᠷᠢᠶᠠᠯ ᠤᠨ ᠠᠷᠭᠠ ᠵᠠᠮ ᠬᠦᠴᠦᠨ ᠦᠭᠡᠶ ᠃Client private key filepath is invalidᠵᠣᠴᠢᠨ ᠡᠷᠦᠬᠡ ᠶᠢᠨ ᠬᠤᠪᠢ ᠶᠢᠨ ᠬᠥᠬᠢᠳᠡᠬᠦ ᠪᠢᠴᠢᠭ᠌ ᠮᠠᠲ᠋ᠧᠷᠢᠶᠠᠯ ᠤᠨ ᠠᠷᠭᠠ ᠵᠠᠮ ᠬᠦᠴᠦᠨ ᠦᠭᠡᠢ ᠃Client private key password is emptyᠵᠣᠴᠢᠨ ᠡᠷᠦᠬᠡ ᠶᠢᠨ ᠬᠤᠪᠢ ᠶᠢᠨ ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠃User name or user password is emptyᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠶᠢᠨ ᠨᠡᠷᠡ ᠪᠤᠶᠤ ᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠶᠢᠨ ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠨᠢ ᠬᠣᠭᠣᠰᠣᠨ ᠃No PAC file is selected PAC ᠪᠢᠴᠢᠭ᠌ ᠮᠠᠲ᠋ᠧᠷᠢᠶᠠᠯ ᠢ ᠰᠣᠩᠭᠣᠭᠰᠠᠨ ᠦᠭᠡᠢ ᠃ Choose a CA certificateCA ᠦᠨᠡᠮᠯᠡᠯ ᠢ᠋ ᠰᠤᠩᠭᠤᠬᠤPAC Files ( *.pac)PAC ᠪᠢᠴᠢᠭ᠌ ᠮᠠᠲ᠋ᠧᠷᠢᠶᠠᠯ ( *.pac )CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA ᠬᠡᠷᠡᠴᠢᠯᠡᠯ (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningPAC ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠAllow automatic PAC provisioningᠠᠦ᠋ᠲ᠋ᠣ᠋ PAC ᠳᠤᠬᠢᠷᠠᠭᠤᠯᠭᠠ ᠵᠢ ᠵᠥᠪᠰᠢᠶᠡᠷᠡᠬᠦPAC filePAC ᠹᠠᠢᠯAnonymousᠨᠡᠷᠡ ᠪᠤᠷᠤᠭᠤᠯᠠᠵᠤ ᠨᠡᠪᠳᠡᠷᠡᠬᠦAuthenticatedᠭᠡᠷᠡᠴᠢᠯᠡᠬᠦBothᠬᠣᠶᠠᠭᠤᠯᠠ ᠵᠢ ᠠᠭᠤᠰᠤᠯᠴᠠᠭᠤᠯᠵᠤ ᠬᠡᠷᠡᠭᠯᠡᠬᠦCA Files ( *.pem *.der *.p12 *.crt *.cer *.pfx)CA ᠪᠢᠴᠢᠭ ᠮᠠᠲ᠋ᠧᠷᠢᠶᠠᠯ ( *.pem*.der.p12*.crt*.cer**.pfx)Choose a PAC fileᠨᠢᠭᠡ PAC ᠹᠠᠢᠯ ᠰᠣᠩᠭᠣᠬᠤPAC Files (*.pac)PAC ᠹᠠᠢᠯ (*.pac)TabPageCurrent Deviceᠣᠳᠣᠬᠠᠨᠤ ᠲᠥᠬᠥᠭᠡᠷᠦᠮᠵᠢDevices Closed!ᠳᠦᠬᠦᠬᠡᠷᠦᠮᠵᠢ ᠬᠠᠭᠠᠭᠳᠠᠪᠠ!SettingsᠲᠤᠬᠢᠷᠠᠭᠤᠯᠬᠤKylin NMᠲᠣᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳᠡᠭᠡᠷᠡ ᠪᠠᠭᠠᠵᠢ ᠲᠣᠬᠢᠷᠠᠭᠤᠯᠤᠨᠠ ᠃kylin network applet desktop messageᠰᠦᠯᠵᠢᠶᠡᠨ ᠦ ᠰᠠᠨᠠᠭᠤᠯᠤᠮᠵᠢ ᠶᠢᠨ ᠮᠡᠳᠡᠭᠡ ᠃connectedᠴᠦᠷᠬᠡᠯᠡᠪᠡVpnPageWired Device not carried未插入网线WarningDialogUnable to save modificationsᠵᠠᠰᠠᠪᠤᠷᠢ ᠣᠷᠣᠭᠤᠯᠬᠤ ᠶᠢᠨ ᠠᠷᠭᠠ ᠦᠭᠡᠶ ᠃ConfirmᠲᠣᠭᠲᠠᠭᠠᠬᠤWiFiConfigDialogDialogᠶᠠᠷᠢᠯᠴᠠᠭᠠ ᠃WLAN AuthenticationWLAN ᠬᠡᠷᠡᠴᠢᠯᠡᠯInput WLAN Information PleaseWLAN ᠰᠤᠷᠠᠭ ᠵᠠᠩᠬᠢ ᠵᠢ ᠤᠷᠤᠭᠤᠯᠤᠭᠠᠷᠠᠢWLAN ID:ᠷᠠᠳᠢᠣ᠋ ᠬᠡᠰᠡᠭ ᠭᠠᠵᠠᠷ ᠤᠨ ᠲᠣᠤᠷ IDWLAN Name:WLAN ᠨᠡᠷᠡᠢᠳᠦᠯ:Password:ᠨᠢᠭᠤᠴᠠ ᠨᠣᠮᠧᠷ ᠄CanclᠦᠬᠡᠢᠰᠬᠡᠬᠦOkᠵᠥᠪᠰᠢᠶᠡᠷᠡᠪᠡWlanListItemNot connectedᠵᠠᠯᠭᠠᠭᠠ ᠦᠭᠡᠢDisconnectᠴᠦᠷᠬᠡᠯᠡᠬᠡ ᠵᠢ ᠳᠠᠰᠤᠯᠬᠤConnectᠴᠦᠷᠬᠡᠯᠡᠬᠡForgetᠲᠤᠰ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡ ᠵᠢ ᠮᠠᠷᠳᠠᠬᠤPropertyᠬᠠᠷᠢᠶᠠᠳᠤ ᠴᠢᠨᠠᠷAuto Connectᠲᠤᠰ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠠᠦ᠋ᠲ᠋ᠤ᠋ ᠪᠡᠷ ᠵᠠᠯᠭᠠᠬᠤWlanMoreItemMore...更多...Add Others...ᠪᠤᠰᠤᠳ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠳ᠋ᠤ᠌ ᠵᠠᠯᠭᠠᠬᠤ···WlanPageWLANᠤᠲᠠᠰᠤᠭᠤᠢ ᠬᠡᠰᠡᠭ ᠬᠡᠪᠴᠢᠶᠡᠨᠦ᠌ ᠲᠣᠣᠷNo wireless network card detectedᠤᠳᠠᠰᠤ ᠦᠬᠡᠢ ᠨᠧᠲ ᠺᠠᠷᠲᠢ ᠬᠢᠨᠠᠨ ᠬᠡᠮᠵᠢᠵᠤ ᠤᠯᠤᠭᠰᠠᠨ ᠦᠬᠡᠢActivated WLANᠮᠢᠨᠤ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡOther WLANᠪᠤᠰᠤᠳ ᠰᠦᠯᠵᠢᠶᠡMore...更多...WLAN Connected Successfullyᠤᠳᠠᠰᠤ ᠦᠬᠡᠢ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡ ᠵᠢ ᠴᠦᠷᠬᠡᠯᠡᠪᠡWLAN Disconnected Successfullyᠤᠳᠠᠰᠤ ᠦᠬᠡᠢ ᠲᠤᠤᠷ ᠰᠦᠯᠵᠢᠶᠡ ᠵᠢ ᠳᠠᠰᠤᠯᠪᠠThe routing end rejects the access of the deviceᠵᠠᠮ ᠢᠶᠠᠷ ᠲᠥᠬᠥᠭᠡᠷᠦᠮᠵᠢ ᠶᠢᠨ ᠠᠶᠢᠯᠴᠢᠯᠠᠯᠲᠠ ᠶᠢ ᠲᠡᠪᠴᠢᠵᠡᠢ ᠃The network access at the routing end is fullᠵᠠᠮ ᠤᠨ ᠰᠦᠯᠵᠢᠶᠡᠨ ᠡᠴᠡ ᠠᠶᠢᠯᠴᠢᠯᠠᠯᠲᠠ ᠨᠢᠭᠡᠨᠲᠡ ᠳᠦᠭᠦᠷᠴᠡᠶ ᠃usd set offline mode failed: USD ᠤᠲᠠᠰᠤᠨ ᠤ ᠵᠠᠭᠪᠤᠷ ᠲᠣᠬᠢᠷᠠᠭᠤᠯᠵᠤ ᠢᠯᠠᠭᠳᠠᠪᠠ ᠄ Connected: ᠴᠥᠷᠬᠡᠯᠡᠪᠡ: Not Connectedᠴᠦᠷᠬᠡᠯᠡᠬᠡ ᠥᠬᠡᠢ(Limited)( ᠰᠦᠯᠵᠢᠶᠡ ᠬᠢᠵᠠᠭᠠᠷᠯᠠᠭᠳᠠᠪᠠ)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmᠴᠢ ᠯᠢᠨshow kylin-nm wifi pageᠴᠢ ᠯᠢᠨ nmwifi ᠨᠢᠭᠤᠷᠢ᠋ ᠢᠯᠡᠷᠡᠭᠦᠯᠬᠦshow kylin-nm lan pageᠴᠢ ᠯᠢᠨ nm ᠬᠡᠰᠡᠭ ᠬᠡᠪᠴᠢᠶᠡᠨᠦ᠌ ᠨᠧᠲ ᠨᠢᠭᠤᠷᠢ᠋ ᠢᠯᠡᠷᠡᠭᠦᠯᠬᠦ
kylin-nm/src/translations/kylin-nm_zh_CN.ts 0000664 0001750 0001750 00000215054 15167651420 017753 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile type网络配置文件类型Public(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.公用(推荐) 网络中的设备不可发现此电脑。一般情况下适用于公共场所中的网络,如机场或咖啡店等等。Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.专用 网络中的设备可发现此电脑。一般情况下适用于家庭或工作单位的网络,您认识并信任网络上的个人和设备。Config firewall and security settings配置防火墙和安全设置ConnectivityPageNetwork connectivity detection网络连通性检测If access to the Internet is restricted, please switch the network IP connectivity detection method and try again.如访问 Internet 受限,请切换网络 IP 连通性检测方式后再试。Public network (default)公网(默认)Local area network (intranet)局域网(内网)Confirm确定The network is connected and can access the Internet normally.网络已连接,可正常访问 Internet 。The network is connected and access to the Internet is restricted.网络已连接,访问 Internet 受限。Please enter the local area network (intranet) detection address请输入局域网(内网)检测地址Format error格式错误CopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection Name网络名称IPv4ConfigIPv4 配置AddressIPv4 地址Netmask子网掩码Default Gateway默认网关Connection name is empty or invalid网络名称为空或无效IPv4 address is empty or invalidIpv4地址为空或非法IPv4 netMask is empty or invalidIPv4子网掩码为空或无效IPv4 gateway is empty or invalidIPv4网关为空或无效Address conflict地址冲突Prefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)自动 (DHCP)Manual手动Invalid address无效的IP地址Invalid subnet mask无效的子网掩码Required必填DetailPageAuto Connection自动连接SSID:SSID:Copied successfully!复制成功!Copy all复制全部Please input SSID:请输入 SSID:Protocol:协议:Security Type:安全类型:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv6:本地链接 IPv6 地址:IPv4:IPv4 地址:IPv4 DNS:IPv4 DNS 服务器:Mac:物理地址:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsDNS 服务器高级配置Tactic策略Timeout超时时间Retry Count重试次数order顺序rotate随机concurrency并发 s 秒 times 次Close关闭Cancel取消Confirm确定EnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationWi-Fi 网络要求认证Access to Wi-Fi network "访问 Wi-Fi 网络" requires a password or encryption key.需要密码或加密密钥。Cancel取消Connect连接FirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?是否允许此网络上的其他设备发现这台电脑?It is not recommended to enable this feature on public networks不建议在公共网络上开启此功能Not allowed (recommended)不允许(推荐)Allowed允许Ipv4PageIPv4ConfigIPv4 配置Address地址Netmask子网掩码Default Gateway默认网关Prefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)自动Manual手动IPv4 address is empty or invalidIpv4地址为空或非法IPv4 netMask is empty or invalidIPv4 gateway is empty or invalidInvalid address无效的IP地址Invalid subnet mask无效的子网掩码Required必填Address conflict地址冲突Ipv6PageIPv6ConfigIPv6 配置Address地址Subnet prefix Length子网前缀长度Default Gateway默认网关Prefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)自动Manual手动Required必填Invalid address无效的IP地址Invalid gateway无效的网关地址IPv6 address is empty or invalidIPv6地址为空或无效IPv6 prefix length is empty or invalidIPv6子网前缀长度为空或无效Address conflict地址冲突JoinHiddenWiFiPagePlease enter the network information请输入您想要加入的网络信息Network name(SSID)网络名 (SSID)Remember the Network记住该网络Show Network List显示网络列表Cancel取消Join加入Required必填Find and Join WLAN查找并加入无线局域网络LanListItemNot connected未连接Wired Device not carried未插入网线Disconnect断开Connect连接Property属性Delete删除此网络LanPageNo ethernet device avaliable未检测到有线设备LAN有线网络conflict, unable to connect to the network normally!冲突,无法正常连接到网络!No wired network card detectedActivated LAN我的网络Inactivated LAN其他网络Connected, no internet access已连接,无互联网Connected, restricting access已连接,网络受限No internet access. Please click Network Check to specific reasons.无法访问互联网。请点击网络检测,查看具体原因。Network Check网络检测LAN Disconnected Successfully有线网络已断开Wired Device not carried未插入网线LAN Connected Successfully有线网络已连接Connected: 已连接: Not Connected未连接(Limited)(网络受限)ListItemKylin NM网络设置工具kylin network applet desktop message网络提示消息MainWindowkylin-nm网络工具LAN有线网络有线网络WLAN无线局域网无线局域网Show MainWindow打开网络工具Settings设置网络项设置网络项Network Connectivity Detection网络连通性检测Network tool网络工具Network Card网卡Not connected to the network未连接网络MultipleDnsWidgetDNS server(Drag to sort)DNS 服务器高级配置Click "+" to configure DNS点击 “+”配置 DNSSettings高级设置NetDetailKylin NM网络设置工具kylin network desktop message网络提示消息Detail详情IPv4IPv4IPv6IPv6Security安全start check IPv4 address conflict开始检测 IPv4 地址冲突start check IPv6 address conflict开始检测 IPv6 地址冲突Close关闭Config配置Confirm确定Cancel取消Forget this network忘记此网络Delete this network删除此网络Add LAN Connect添加有线网络Connect Hidden WLAN连接到隐藏 WLANNone无Auto自动start check ipv4 address conflict开始检测 ipv4 地址冲突start check ipv6 address conflict开始检测 ipv6 地址冲突ipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise type此 wifi 不支持企业网类型this wifi no support None type此 wifi 不支持空类型this wifi no support WPA2 type此 wifi 不支持 WPA2 类型this wifi no support WPA3 type此 wifi 不支持 WPA3 类型SSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the Network记住该网络Security安全性Password密钥EAP typeEAP 方法Identity匿名身份Domain域CA certficateCA 证书no need for CA certificate不需要 CA 证书User certificate用户证书User private key用户私钥User key password用户密钥密码Password options密码选项Required必填Ineer authentication内部认证Username用户名Ask pwd each query每次询问密码None无WPA&WPA2 PersonalWPA&WPA2 个人WPA&WPA2 EnterpriseWPA&WPA2 企业WPA3 PersonalWPA3 个人Choose from file...从文件选择...Store passwords only for this user仅为该用户存储密码Store password only for this user仅为该用户存储密码Store passwords for all users存储所有用户的密码Store password for all users存储所有用户的密码Ask this password every time每次询问这个密码Ask password every time每次询问这个密码Wifi password length less than 8wifi密钥长度低于八位TLS identity is emptyTLS匿名身份为空CA cert filepath is invalidCA证书文件路径非法Client cert filepath is invalid用户证书文件路径无效Client private key filepath is invalid用户私钥文件路径无效Client private key password is empty用户密钥密码为空User name or user password is empty用户名或密钥为空No PAC file is selected 未选择PAC文件Choose a CA certificate选择一个 CA 证书PAC Files ( *.pac)CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningPAC 配置Allow automatic PAC provisioning允许自动 PAC 配置PAC filePAC 文件Anonymous匿名Authenticated已认证Both两者兼用CA Files ( *.pem *.der *.p12 *.crt *.cer *.pfx)Choose a PAC file选择一个 PAC 文件PAC Files (*.pac)PAC 文件(*.pac)TabPageCurrent Device当前网卡Devices Closed!设备关闭!Settings网络设置Kylin NM网络设置工具kylin network applet desktop message网络提示消息connectedVpnPageWired Device not carried未插入网线WarningDialogUnable to save modifications无法保存修改Confirm确定WiFiConfigDialogDialogWLAN AuthenticationInput WLAN Information PleaseWLAN ID:WLAN Name:Password:CanclOkWlanListItemNot connected未连接Disconnect断开Connect连接Forget忘记此网络Property属性Auto Connect自动加入该网络WlanMoreItemMore...更多...Add Others...加入其他网络...WlanPageWLAN无线局域网No wireless network card detected未检测到无线网卡Activated WLAN我的网络Other WLAN其他网络More...更多...WLAN Connected Successfully无线网络已连接WLAN Disconnected Successfully无线网络已断开The routing end rejects the access of the device网络拒绝加入,连接失败The network access at the routing end is full网络接入已满usd set offline mode failed: Connected: 已连接: Not Connected未连接(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmshow kylin-nm wifi pageshow kylin-nm lan page
kylin-nm/src/translations/kylin-nm_zh_Hant.ts 0000664 0001750 0001750 00000214556 15167651420 020353 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile type網路配置檔類型Public(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.公用(推薦) 網路中的設備不可發現此電腦。 一般情況下適用於公共場所中的網路,如機場或咖啡店等等。Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.專用網路中的設備可發現此電腦。 一般情況下適用於家庭或工作單位的網路,您認識並信任網路上的個人和設備。Config firewall and security settings配置防火牆和安全設置ConnectivityPageNetwork connectivity detection網路連通性檢測If access to the Internet is restricted, please switch the network IP connectivity detection method and try again.如訪問 Internet 受限,請切換網路 IP 連通性檢測方式後再試。Public network (default)公網(預設)Local area network (intranet)區域網(內網)Confirm確定The network is connected and can access the Internet normally.網路已連接,可正常存取 Internet 。The network is connected and access to the Internet is restricted.網路已連接,訪問 Internet 受限。Please enter the local area network (intranet) detection address請輸入局域網(內網)檢測位址Format error格式錯誤CopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection Name網路名稱IPv4ConfigIPv4 配置AddressIPv4 位址Netmask子網掩碼Default Gateway默認閘道Connection name is empty or invalid連接名稱為空或無效IPv4 address is empty or invalidIpv4位址為空或非法IPv4 netMask is empty or invalidIPv4 netMask 為空或無效IPv4 gateway is empty or invalidIPv4 閘道為空或無效Address conflict位址衝突Prefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)自動 (DHCP)Manual手動Invalid address無效的IP位址Invalid subnet mask無效的子網掩碼Required必填DetailPageAuto Connection自動連接SSID:SSID:Copied successfully!複製成功!Copy all複製全部Please input SSID:請輸入 SSID:Protocol:協定:Security Type:安全類型:Hz:網路頻帶:Chan:網路通道:BandWidth:頻寬:IPv6:本地連結 IPv6 位址:IPv4:IPv4 位址:IPv4 DNS:IPv4 DNS 伺服器:Mac:物理位址:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsDNS 伺服器高級配置Tactic策略Timeout超時時間Retry Count重試次數order順序rotate隨機concurrency併發 s 秒 times 次Close關閉Cancel取消Confirm確定EnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationWi-Fi 網路要求認證Access to Wi-Fi network "訪問Wi-Fi網路" requires a password or encryption key.需要密碼或加密金鑰。Cancel取消Connect連接FirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?是否允許此網路上的其他設備發現這台電腦?It is not recommended to enable this feature on public networks不建議在公共網路上開啟此功能Not allowed (recommended)不允許(推薦)Allowed允許Ipv4PageIPv4ConfigIPv4 配置Address位址Netmask子網掩碼Default Gateway默認閘道Prefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)自動Manual手動IPv4 address is empty or invalidIpv4位址為空或非法IPv4 netMask is empty or invalidIPv4 netMask 為空或無效IPv4 gateway is empty or invalidIPv4 閘道為空或無效Invalid address無效的IP位址Invalid subnet mask無效的子網掩碼Required必填Address conflict位址衝突Ipv6PageIPv6ConfigIPv6 配置Address位址Subnet prefix Length子網前綴長度Default Gateway默認閘道Prefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)自動Manual手動Required必填Invalid address無效的IP位址Invalid gateway無效的閘道位址IPv6 address is empty or invalidIPv6 位址為空或無效IPv6 prefix length is empty or invalidIPv6 前置綴長度為空或無效Address conflict位址衝突JoinHiddenWiFiPagePlease enter the network information請輸入您想要加入的網路資訊Network name(SSID)網路名稱 (SSID)Remember the Network记住该网络Show Network List顯示網路清單Cancel取消Join加入Required必填Find and Join WLAN查找並加入無線局域網路LanListItemNot connected未連接Wired Device not carried未插入網線Disconnect斷開Connect連接Property屬性Delete刪除此網路LanPageNo ethernet device avaliable未檢測到有線設備LAN有線網路conflict, unable to connect to the network normally!衝突,無法正常連接到網路!No wired network card detected未檢測到有線網卡Activated LAN我的網路Inactivated LAN其他網路Connected, restricting access連接,限制訪問No internet access. Please click Network Check to specific reasons.無法訪問互聯網。 請點擊網路檢查以瞭解具體原因。Network Check網路檢查LAN Disconnected Successfully有线网络已断开Wired Device not carried未插入網線LAN Connected Successfully有线网络已连接Connected: 已連線: Not Connected未連接(Limited)(網路受限)ListItemKylin NM網路設置工具kylin network applet desktop message網路提示消息MainWindowkylin-nm網路工具LAN有线网络有線網路WLAN无线局域网無線局域網Show MainWindow打开网络工具Settings设置网络项設置網路項Network Connectivity Detection網路連通性檢測Network tool網路工具Network Card網卡Not connected to the network未連接網路MultipleDnsWidgetDNS server(Drag to sort)DNS 伺服器高級配置Click "+" to configure DNS點擊 「+」配置 DNSSettings高級設置NetDetailKylin NM網路設置工具kylin network desktop message網路提示消息Detail詳情IPv4IPv4IPv6IPv6Security安全start check IPv4 address conflict開始檢查 IPv4 位址衝突start check IPv6 address conflict開始檢查 IPv6 位址衝突Close关闭Config配置Confirm確定Cancel取消Forget this network忘記此網路Delete this network刪除此網路Add LAN Connect添加有線網路Connect Hidden WLAN連接到隱藏 WLANNone無Auto自動start check ipv4 address conflict开始检测 ipv4 地址冲突start check ipv6 address conflict开始检测 ipv6 地址冲突ipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise type此 wifi 不支援企業網類型this wifi no support None type此 wifi 不支援空類型this wifi no support WPA2 type此 wifi 不支援 WPA2 類型this wifi no support WPA3 type此 wifi 不支援 WPA3 類型SSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the Network記住該網路Security安全性Password金鑰EAP typeEAP 方法Identity匿名身份Domain域CA certficateCA 證書no need for CA certificate不需要 CA 證書User certificate用戶證書User private key使用者私鑰User key password用戶金鑰密碼Password options密碼選項Required必填Ineer authentication內部認證Username使用者名Ask pwd each query每次詢問密碼None無WPA&WPA2 PersonalWPA&WPA2 個人WPA&WPA2 EnterpriseWPA&WPA2 企業WPA3 PersonalWPA3 個人Choose from file...從檔案選擇...Store passwords only for this user僅為該使用者存儲密碼Store password only for this user僅為該使用者存儲密碼Store passwords for all users存儲所有用戶的密碼Store password for all users存儲所有用戶的密碼Ask this password every time每次詢問這個密碼Ask password every time每次詢問這個密碼Wifi password length less than 8Wifi密碼長度小於8TLS identity is emptyTLS匿名身份為空CA cert filepath is invalidCA證書檔路徑非法Client cert filepath is invalid用戶端證書檔路徑無效Client private key filepath is invalid用戶端私鑰檔案路徑無效Client private key password is empty用戶端私鑰密碼為空User name or user password is empty使用者名或用戶密碼為空No PAC file is selected 未選擇 PAC 檔 Choose a CA certificate選擇一個 CA 證書PAC Files ( *.pac)PAC 檔案 ( *.pac)CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningPAC 配置Allow automatic PAC provisioning允許自動 PAC 配置PAC filePAC 檔Anonymous匿名Authenticated已認證Both兩者兼用CA Files ( *.pem *.der *.p12 *.crt *.cer *.pfx)CA 檔 ( *.pem *.der *.p12 *.crt *.cer *.pfx)Choose a PAC file選擇一個 PAC 檔PAC Files (*.pac)PAC 文件(*.pac)TabPageCurrent Device當前網卡Devices Closed!設備關閉!Settings網路設置Kylin NM網路設置工具kylin network applet desktop message網路提示消息connected連接VpnPageWired Device not carried未插入网线WarningDialogUnable to save modifications無法儲存修改Confirm確定WiFiConfigDialogDialog對話WLAN AuthenticationWLAN 身份驗證Input WLAN Information Please請輸入 WLAN 資訊WLAN ID:無線區域網 ID:WLAN Name:WLAN名稱:Password:密碼:Cancl坎克爾Ok還行WlanListItemNot connected未連接Disconnect斷開Connect連接Forget忘記此網路Property屬性Auto Connect自動加入該網路WlanMoreItemMore...更多...Add Others...加入其他網路...WlanPageWLAN無線局域網No wireless network card detected未檢測到無線網卡Activated WLAN我的網路Other WLAN其他網路More...更多...WLAN Connected Successfully無線網路已連接WLAN Disconnected Successfully無線網路已斷開The routing end rejects the access of the device路由端拒絕設備的訪問The network access at the routing end is full路由端網路訪問已滿usd set offline mode failed: USD 設定離線模式失敗: Connected: 已連線: Not Connected未連接(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnm麒麟show kylin-nm wifi page顯示麒麟-NM WiFi頁面show kylin-nm lan page顯示 kylin-nm 局域網頁面
kylin-nm/src/translations/kylin-nm_ky.ts 0000664 0001750 0001750 00000225350 15167651420 017375 0 ustar feng feng
ConfFormManual手动Cancel取消kylin-nm网络工具kylin network applet desktop message网络提示消息Will check the IP address conflict正在检测ip地址冲突IPv4 address conflict, Please change IPip地址冲突,请更改ipIPv6 address conflict, Please change IPip地址冲突,请更改ip {6 ?}ConfigPageNetwork profile typeتور تۉزۉلمۅ ۅجۅت تۉرۉPublic(recommended) Devices on the network cannot discover this computer. Generally, it is suitable for networks in public places, such as airports or coffee shops, etc.توردوعۇ جالپى ئشتەتىلە تۇرعان (كەڭەش) زاپجاستار بۇل كومپىيۇتەردى بايقىيالمايدۇ. اداتتاعىچا جاساپ ايتقاندا، ال ، جالپى ئشتەتىلە تۇرعان ۇچۇرلار تورۇنا شاي گەلەت مىسالى، اەروپورت كۅرۉنۉشتۅرۉ قافە قاتارلۇۇلار.Private Devices on the network can discover this computer. Generally applicable to a network at home or work where you know and trust the individuals and devices on the network.توردوعۇ اتايىن زاپجاستار بۇل كومپىيۇتەردى بايقىيالايدۇ. دەمەيدە توردوعۇ سىز تۉشۉنۅتۇرعان جانا ىشەنەتۇرعان جەكە جانا زاپجاستار، ۉي بۉلۅۅ كۅرۉنۉشتۅرۉ قىزمات تورۇنا شاي گەلەت .Config firewall and security settingsوتتام جانا قووپسۇزدۇق تەڭشەگىن سەپتەشConnectivityPageNetwork connectivity detectionتور جالعانىشتى تەكشەرىشIf access to the Internet is restricted, please switch the network IP connectivity detection method and try again.ەگەر تور عو كىرۉۉ چەكتەمەگە ۇچۇراسا، تور IP جالعانىشتى تەكشەرىش ىڭعايىن الماشتىرىڭ، اندان قايرا سىناڭ.Public network (default)جالپى ئشتەتىلە تۇرعان تور (ويۇنداقى )Local area network (intranet)تار گۅۅلۅمدۉ تور (intranet)Confirmالبەتتە.The network is connected and can access the Internet normally.تور ۇلاندى، ئنتىرنەت تور ىنى نورماال زىيارات جاساعالى بولوت .The network is connected and access to the Internet is restricted.تور ۇلاندى، ئنتىرنەت تور ىغا بولعون زىيارات چەكتەمەگە ۇچۇرادى.Please enter the local area network (intranet) detection addressتار گۅۅلۅمدۉ تور (intranet) تەكشەرىش دايىن وردۇن كىرگىزىڭFormat errorفورمات قاتالىعىCopyButtonCopied successfully复制成功Copied successfully!复制成功!Copy all复制全部CreatNetPageConnection Nameتور ناامىIPv4ConfigIPv4 اتقارماق بۇيرۇعۇAddressدايىن وردۇNetmaskبۅلۉمچۅ تور جاشىرىن نومۇرۇDefault Gatewayالعاچىنداعى تور ۅتكۅلۉConnection name is empty or invalidIPv4 address is empty or invalidIPv4 netMask is empty or invalidIPv4 gateway is empty or invalidAddress conflictتوقۇنۇشتۇ بىر تاراپ قىلۇۇ جاسوو ،اتقارۇۇPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)اپتوماتتىك(DHCP)ManualقولدونموInvalid addressەسەپ ەمەس IPدايىن وردۇInvalid subnet maskەسەپ ەمەس بۅلۉمچۅ تور جاشىرىن نومۇرۇRequiredزارىلDetailPageAuto Connectionاپتوماتتىك ۇلووSSID:Copied successfully!جەڭىشتۉۉ گۅچۉرۉلگۅن!Copy allباردىعىن گۅچۉرۉشPlease input SSID:SSID نى كىرگىزىڭ:Protocol:گەلىشىم :Security Type:قووپسۇزدۇق تۉرۉ:Hz:تور جىشتىق القاعى :Chan:تور جولۇ:BandWidth:كەڭ قۇر:IPv6:IPv4:IPv4 DNS:Mac:فىزىكالىق ادىرەس:DlgHideWifiCancel取消Connect连接None无DlgHideWifiEapFastUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPeapDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapPwdUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTTLSDomain域Username用户名Password密钥Cancel取消Connect连接None无DlgHideWifiEapTlsIdentity匿名身份Domain域User certificate用户证书User private key用户私钥User key password用户密钥密码Cancel取消Connect连接None无DlgHideWifiLeapUsername用户名Password密钥Cancel取消Connect连接None无DlgHideWifiWepCancel取消Connect连接None无DlgHideWifiWpaPassword密钥Cancel取消Connect连接None无DnsSettingWidgetDNS Server Advanced SettingsDNS سان قاينارى جوعورۇ چەكتۉۉ تەڭشەگىTacticىقماTimeoutۇباقىت ەۋگەنىيRetry Countقايرا سانووorderقاتار تارتىبىrotateبۇرمالووconcurrencyجانداش تارقاتۇۇ s times دوورCloseجابۇۇCancelارعادان قالتىرىشConfirmالبەتتە.EnterpriseWlanDialogConnect Enterprise WLAN连接企业网Close关闭Wi-Fi network requires authenticationWi-Fi تورۇ اتۇۇلدۇق دالىلدۅۅگۅ اجاتAccess to Wi-Fi network "Wi-Fi تورۇنا ۇلوو" requires a password or encryption key.جاشىرۇۇن نومۇر كۅرۉنۉشتۅرۉ سىيفىرلاشتىرىلعان اچقىچ كەرەك.Cancelارعادان قالتىرىشConnectۇلانۇۇFirewallDialogAllow your computer to be discovered by other computers and devices on this network?是否允许你的电脑被此网络上的其他电脑和设备发现?It is recommended that you enable this feature on your home and work networks rather than public networks.建议你在家庭和工作网络上而非公共网络上启用此功能。Yse是No否Allow other devices on this network to discover this computer?بۇلل توردوعۇ باشقا جابدۇۇلار. بۇلل كومپىيۇتەردى اچىلىش. جول قويوبۇ؟It is not recommended to enable this feature on public networksجالپى ئشتەتىلە تۇرعان توردو بۇل قۇرباتىن قوزعوتۇۇ كەڭەش قىلىنبايتNot allowed (recommended)جول قويۇلبايت (كەڭەش جاسالات)Allowedجول قويۇلاتIpv4PageIPv4ConfigIPv4 اتقارماق بۇيرۇعۇAddressدايىن وردۇNetmaskبۅلۉمچۅ تور جاشىرىن نومۇرۇDefault Gatewayالعاچىنداعى تور ۅتكۅلۉPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)اپتوماتتىك(DHCP)ManualقولدونموIPv4 address is empty or invalidIPv4 netMask is empty or invalidIPv4 gateway is empty or invalidInvalid addressەسەپ ەمەس IPدايىن وردۇInvalid subnet maskەسەپ ەمەس بۅلۉمچۅ تور جاشىرىن نومۇرۇRequiredزارىلAddress conflictتوقۇنۇشتۇ بىر تاراپ قىلۇۇ جاسوو ،اتقارۇۇIpv6PageIPv6ConfigIPv6 اتقارماق بۇيرۇعۇAddressدايىن وردۇSubnet prefix Lengthبۅلۉمچۅ تور الدى قوشۇمچا ۇزۇندۇقDefault Gatewayالعاچىنداعى تور ۅتكۅلۉPrefs DNS首选 DNSAlternative DNS备选 DNSAuto(DHCP)اپتوماتتىك(DHCP)ManualقولدونموRequiredزارىلInvalid addressەسەپ ەمەس IPدايىن وردۇInvalid gatewayەسەپ ەمەس تور ۅتكۅلۉ دايىن وردۇIPv6 address is empty or invalidIPv6 prefix length is empty or invalidAddress conflictتوقۇنۇشتۇ بىر تاراپ قىلۇۇ جاسوو ،اتقارۇۇJoinHiddenWiFiPagePlease enter the network informationتور ۇچۇردۇ كىرگىزىڭNetwork name(SSID)تور ناامى (SSID)Remember the Network记住该网络Show Network Listتور تىزىمدىگىن كۅرسۅتۉۉCancelارعادان قالتىرىشJoinقوشۇلۇۇRequiredزارىلFind and Join WLANWLAN نى تابۇۇ جانا قوشۇۇLanListItemNot connectedۇلانباعانWired Device not carriedتور سىمى چېتىلمىغانDisconnectۇلانۇۇسۇن ۉزۉپ اتۇۇConnectۇلانۇۇPropertyقاسىيەتىنDeleteۅچۉرLanPageNo ethernet device avaliableLANconflict, unable to connect to the network normally!توقۇنۇسۇ، تورعو نورماال ۇلاعالى بولبودۇ!No wired network card detectedActivated LANوقInactivated LANاقتىۋدەشتىرىلگەن ەمەس.Connected, restricting accessNo internet access. Please click Network Check to specific reasons.Network CheckLAN Disconnected Successfully有线网络已断开Wired Device not carriedتور سىمى چېتىلمىغانLAN Connected Successfully有线网络已连接Connected: شىلتەمەلەر: Not Connectedۇلانبادى(Limited)( چەكتەلگەن)ListItemKylin NMkylin network applet desktop message0 تور قۇرالى ۇچۇر جولجورۇعۇMainWindowkylin-nmkylin-تور قۇرالىLAN有线网络WLAN无线局域网تار گۅۅلۅمدۉ سەمىز تورShow MainWindow打开网络工具Settings设置网络项تور تەڭشەگىNetwork Connectivity Detectionتور جالعانىشتى تەكشەرىشNetwork toolتور قۇرالىNetwork Cardتور كارتوچكاسىNot connected to the networkتورعو ۇلانباعانMultipleDnsWidgetDNS server(Drag to sort)DNS سان قاينارى ( سۉيرۅپ تارتىپ بويۇنچا تىزىلدى)Click "+" to configure DNS+ نى چەگىپ DNS نى بەزەڭSettingsتور تەڭشەگىNetDetailKylin NMkylin network desktop messageتور ەسكەرتمە ۇچۇرۇDetailىچكەلەي ، قۇنت قويۇپ مازمۇنۇIPv4IPv6Securityقووپسۇزدۇقstart check IPv4 address conflictstart check IPv6 address conflictClose关闭Configنەگىزگى تەڭشەكConfirmالبەتتە.Cancelارعادان قالتىرىشForget this networkبۇل توردۇ ۇنتۇپ ۇياتسىز.Delete this networkبۇل توردۇ ۅچۉرۉۉAdd LAN ConnectLAN جالعانىشتى قوشۇۇConnect Hidden WLANجاشىرىن WLAN عا ۇلووNoneجوقAutoاپتوماتتىكstart check ipv4 address conflict开始检测 ipv4 地址冲突start check ipv6 address conflict开始检测 ipv6 地址冲突ipv4 address conflict!ipv4地址冲突!ipv6 address conflict!ipv6地址冲突!this wifi no support enterprise typeبۇل سەمىز تور كەرحانا تور اداتتا. قولدوبويتthis wifi no support None typeبۇسىمسىز تور كۅڭدۅي كىكستارتەر قولدوبويتthis wifi no support WPA2 typeبۇل سەمىز تور WPA2 اداتتا. قولدوبويتthis wifi no support WPA3 typeبۇل سەمىز تور WPA3 اداتتا. قولدوبويتSSID:SSID:Protocol:协议:Hz:网络频带:Chan:网络通道:BandWidth:带宽:IPv4:IPv4地址:IPv4 DNS:IPv4 DNS服务器:IPv6:本地链接IPv6地址:Mac:物理地址:OldMainWindowkylin-nm网络工具Show MainWindow打开网络工具Not connected未连接OneConnFormFormتۉرConnect连接Disconnect断开Cancel取消Forget忘记此网络None无OneLancFormFormتۉرConnect连接Disconnect断开Cancel取消Not connected未连接SecurityPageRemember the Networkۇشۇل توردۇ دىلدە ساقتووSecurityقووپسۇزدۇقPasswordجاشىرۇۇن نومۇردۇ ۅزگۅرتۉشEAP typeEAP تۉرۉIdentityكۉبۅلۉكDomainتور ناامىCA certficateCA كەنەشكەno need for CA certificateCA كەنشكەسىنىن تالابى جوقUser certificateىشتەتۉۉچۉ كەنىشكەسىUser private keyىشتەتۉۉچۉ جەكەلىك اچقىچUser key passwordىشتەتۉۉچۉ اچقىچ پارولۇPassword optionsجاشىرۇۇن نومۇر تاندالماسىRequiredزارىلIneer authenticationىچكى بۅلۅگۉن دالىلدۅUsernameكەرەكتۅۅچۉ ناامىAsk pwd each queryار بىر ىرەت سىرلۇۇ نومۇردۇ سۇرووNoneجوقWPA&WPA2 PersonalWPA&WPA2 جەكەلىكWPA&WPA2 EnterpriseWPA&WPA2 كەرحاناWPA3 PersonalWPA3 جەكەلىكChoose from file...ۅجۅتتۉن تانداش ...Store passwords only for this userجالاڭ عانا بۇل ىشتەتكۉۉچۉنۉن جاشىرۇۇن نومۇرۇن ساقتايتStore password only for this userجالاڭ عانا بۇل ىشتەتكۉۉچۉنۉن جاشىرۇۇن نومۇرۇن ساقتووStore passwords for all usersباردىق ىشتەتكۉۉچۉنۉن جاشىرۇۇن نومۇرۇن ساقتووStore password for all usersباردىق ىشتەتكۉۉچۉنۉن جاشىرۇۇن نومۇرۇن ساقتووAsk this password every timeار بىر ىرەت بۇل جاشىرۇۇن نومۇردۇ سۇرووAsk password every timeار بىر ىرەت جاشىرۇۇن نومۇر سۇرووWifi password length less than 8TLS identity is emptyCA cert filepath is invalidClient cert filepath is invalidClient private key filepath is invalidClient private key password is emptyUser name or user password is emptyNo PAC file is selected Choose a CA certificateCA كەنىشكەسى تانداشPAC Files ( *.pac)CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)PAC provisioningPAC مەنەن قامدووAllow automatic PAC provisioningPAC نى اپتوماتتىك قوشۇشقا جول قويوتPAC filePAC ۅجۅتۉۉAnonymousاتى جوقAuthenticatedراستلىق دالىلدۅBothار بىر ەكۅۅCA Files ( *.pem *.der *.p12 *.crt *.cer *.pfx)Choose a PAC filePAC مەنەن قامدووPAC Files (*.pac)PAC 文件(*.pac)TabPageCurrent Deviceگەزەكتەكى تور كارتوچكاDevices Closed!زاپجاستار تاقالدى!Settingsتور تەڭشەگىKylin NMkylin network applet desktop message0 تور قۇرالى ۇچۇر جولجورۇعۇconnectedجالعانعانVpnPageWired Device not carried未插入网线WarningDialogUnable to save modificationsConfirmالبەتتە.WiFiConfigDialogDialogدىيالوگWLAN AuthenticationInput WLAN Information PleaseWLAN ID:WLAN Name:Password:CanclOkماقۇلWlanListItemNot connectedۇلانباعانDisconnectۇلانۇۇسۇن ۉزۉپ اتۇۇConnectۇلانۇۇForgetبۇل توردۇ ۇنۇتۇلۇۇPropertyقاسىيەتىنAuto Connectبۇل تورعو اپتوماتتىك ۇلووWlanMoreItemMore...更多...Add Others...باشقا تورعو قوشۇلۇۇ...WlanPageWLANتار گۅۅلۅمدۉ سەمىز تورNo wireless network card detectedسەمىز تور كارتوچكاسى بايقالبادىActivated WLANقوزعوتۇلدۇOther WLANباشقاMore...更多...WLAN Connected Successfullyسەمىز تور ۇلانۇۇ جەڭىشتۉۉ بولدۇWLAN Disconnected Successfullyسەمىز تور ۇلانۇۇسۇ جەڭىشتۉۉ ۉزۉلدۉThe routing end rejects the access of the deviceThe network access at the routing end is fullusd set offline mode failed: Connected: شىلتەمەلەر: Not Connectedۇلانبادى(Limited)(网络受限)WpaWifiDialogEAP typeEAP方法Username用户名Password密钥Ask pwd each query每次询问密码Cancel取消Connect连接None无Choose from file...从文件选择...Choose a CA certificate选择一个CA证书CA Files (*.pem *.der *.p12 *.crt *.cer *.pfx)CA 证书 (*.pem *.der *.p12 *.crt *.cer *.pfx)Identity匿名身份Domain域no need for CA certificate不需要CA证书mainkylinnmجەكە تور اسپاپshow kylin-nm wifi pageجەكە تور دۇن سەمىز تور بەت بەتىن كۅرسۅتۉۉshow kylin-nm lan pageجەكە توردۇن تار گۅۅلۅمدۉ توردۇن بەت بەتىن كۅرسۅتۉۉ
kylin-nm/src/main.cpp 0000664 0001750 0001750 00000017664 15167651420 013502 0 ustar feng feng /*
* Copyright (C) 2020 Tianjin KYLIN Information Technology Co., Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, see
#include
#include "qt-single-application.h"
#include
#include
#include
#include
#if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0))
#include "xatom-helper.h"
#endif
#define LOG_IDENT "ukui_kylin_nm"
const QString QT_TRANSLATE_FILE = "/usr/share/qt6/translations/qt_zh_CN.qm";
void messageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QByteArray localMsg = msg.toLocal8Bit();
QByteArray currentDateTime = QDateTime::currentDateTime().toString().toLocal8Bit();
bool showDebug = true;
QString logFilePath = QStandardPaths::writableLocation(QStandardPaths::HomeLocation) + "/.config/ukui/kylin-nm.log";
//若不需要自动创建日志文件,请放开此注释
// if (!QFile::exists(logFilePath)) {
// showDebug = false;
// }
FILE *log_file = nullptr;
if (showDebug) {
log_file = fopen(logFilePath.toLocal8Bit().constData(), "a+");
}
const char *file = context.file ? context.file : "";
const char *function = context.function ? context.function : "";
switch (type) {
case QtDebugMsg:
if (!log_file) {
break;
}
fprintf(log_file, "Debug: %s: %s (%s:%u, %s)\n", currentDateTime.constData(), localMsg.constData(), file, context.line, function);
break;
case QtInfoMsg:
fprintf(log_file? log_file: stdout, "Info: %s: %s (%s:%u, %s)\n", currentDateTime.constData(), localMsg.constData(), file, context.line, function);
break;
case QtWarningMsg:
fprintf(log_file? log_file: stderr, "Warning: %s: %s (%s:%u, %s)\n", currentDateTime.constData(), localMsg.constData(), file, context.line, function);
break;
case QtCriticalMsg:
fprintf(log_file? log_file: stderr, "Critical: %s: %s (%s:%u, %s)\n", currentDateTime.constData(), localMsg.constData(), file, context.line, function);
break;
case QtFatalMsg:
fprintf(log_file? log_file: stderr, "Fatal: %s: %s (%s:%u, %s)\n", currentDateTime.constData(), localMsg.constData(), file, context.line, function);
break;
}
if (log_file)
fclose(log_file);
}
QString displayFromPid(uint pid)
{
QFile environFile(QStringLiteral("/proc/%1/environ").arg(QString::number(pid)));
if (environFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
const QByteArray DISPLAY = KWindowSystem::isPlatformWayland() ? QByteArrayLiteral("WAYLAND_DISPLAY") : QByteArrayLiteral("DISPLAY");
const auto lines = environFile.readAll().split('\0');
for (const QByteArray &line : lines) {
const int equalsIdx = line.indexOf('=');
if (equalsIdx <= 0) {
continue;
}
const QByteArray key = line.left(equalsIdx);
if (key == DISPLAY) {
const QByteArray value = line.mid(equalsIdx + 1);
return value;
}
}
}
return {};
}
int main(int argc, char *argv[])
{
initUkuiLog4qt("kylin-nm");
#if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0))
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
#endif
#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0))
QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
#endif
// QApplication a(argc, argv);
QString id = QString("kylin-nm"+ QLatin1String(getenv("DISPLAY")));
QtSingleApplication a(id, argc, argv);
QApplication::setQuitOnLastWindowClosed(false);
QCommandLineParser parser;
parser.setApplicationDescription(QCoreApplication::translate("main", "kylinnm"));
parser.addHelpOption();
parser.addVersionOption();
QCommandLineOption swOption(QStringLiteral("sw"),QCoreApplication::translate("main", "show kylin-nm wifi page"));
QCommandLineOption snOption(QStringLiteral("sn"),QCoreApplication::translate("main", "show kylin-nm lan page"));
parser.addOptions({swOption,snOption});
parser.process(a);
QString display;
QString sessionType;
if(QString(getenv("XDG_SESSION_TYPE")) == "wayland") {
sessionType = "wayland";
display = getenv("WAYLAND_DISPLAY");
} else {
sessionType = "x11";
display = getenv("DISPLAY");
}
qDebug() << sessionType << display;
qApp->setProperty("sessionType", sessionType);
QDBusInterface interface("com.kylin.network",
"/com/kylin/network",
"com.kylin.network",
QDBusConnection::sessionBus());
if (a.isRunning()) {
if(interface.isValid()) {
if (parser.isSet(swOption)) {
interface.call(QStringLiteral("showKylinNM"), 1);
} else if (parser.isSet(snOption)) {
interface.call(QStringLiteral("showKylinNM"), 0);
} else {
interface.call(QStringLiteral("showKylinNM"), 2);
}
}
return 0;
}
QThread *thread = new QThread();
KyNetworkResourceManager *p_networkResource = KyNetworkResourceManager::getInstance();
p_networkResource->moveToThread(thread);
QObject::connect(thread, &QThread::started, p_networkResource, &KyNetworkResourceManager::onInitNetwork);
QObject::connect(&a,&QtSingleApplication::aboutToQuit, thread, &QThread::quit);
QObject::connect(thread, &QThread::finished, thread, &QThread::deleteLater);
thread->start();
// Internationalization
QString locale = QLocale::system().name();
QTranslator trans_global;
qDebug() << "QLocale " << QLocale();
if (trans_global.load(QLocale(), "kylin-nm", "_", "/usr/share/kylin-nm/kylin-nm/"))
{
a.installTranslator(&trans_global);
qDebug()<<"Translations load success";
} else {
qWarning() << "Translations load fail";
}
QTranslator qtBaseTranslator;
if (qtBaseTranslator.load(QLocale(), "qt", "_", "/usr/share/qt6/translations/"))
{
a.installTranslator(&qtBaseTranslator);
qDebug()<<"QtBase Translations load success";
} else {
qWarning() << "QtBase Translations load fail";
}
QTranslator sdkTranslator;
if (sdkTranslator.load(QLocale(), "gui", "_", ":/translations/"))
{
a.installTranslator(&sdkTranslator);
qDebug()<<"SDK Translations load success";
} else {
qWarning() << "SDK Translations load fail";
}
while (!p_networkResource->NetworkManagerIsInited()) {
::usleep(1000);
}
MainWindow w(display, nullptr);
a.setActivationWindow(&w);
w.setProperty("useStyleWindowManager", false); //禁用拖动
a.setWindowIcon(QIcon::fromTheme("kylin-network"));
//设置窗口无边框,阴影
// MotifWmHints window_hints;
// window_hints.flags = MWM_HINTS_FUNCTIONS | MWM_HINTS_DECORATIONS;
// window_hints.functions = MWM_FUNC_ALL;
// window_hints.decorations = MWM_DECOR_BORDER;
// XAtomHelper::getInstance()->setWindowMotifHint(w.winId(), window_hints);
// w.setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint /*| Qt::X11BypassWindowManagerHint*/);
DbusAdaptor adaptor(display, &w);
Q_UNUSED(adaptor);
return a.exec();
}
kylin-nm/src/kylin-nm.desktop 0000664 0001750 0001750 00000001044 15167646234 015173 0 ustar feng feng [Desktop Entry]
Encoding=UTF-8
Name=Kylin NM
Name[zh_CN]=麒麟网络设置工具
Name[zh_HK]=麒麟網路設置工具
Name[zh_TW]=麒麟網路設置工具
Icon=gnome-dev-ethernet
Comment=Beautiful Network Config Applet
Comment[zh_CN]=麒麟网络设置工具,提供查看和简单设置功能,拥有美观的界面和舒适的操作.
Keywords=applet;nm;network;network-manager;
Exec=/usr/bin/kylin-nm
StartupNotify=false
Terminal=false
Type=Application
OnlyShowIn=UKUI
X-UKUI-AutoRestart=true
NoDisplay=true
X-UKUI-Autostart-Phase=Application
kylin-nm/src/translate_generation.sh 0000775 0001750 0001750 00000000566 15167651420 016612 0 ustar feng feng #!/bin/bash
export PATH="/usr/lib/qt6/bin:$PATH"
ts_list=(`ls translations/*.ts`)
source /etc/os-release
version=(`echo $ID`)
for ts in "${ts_list[@]}"
do
printf "\nprocess ${ts}\n"
if [ "$version" == "fedora" ] || [ "$version" == "opensuse-leap" ] || [ "$version" == "opensuse-tumbleweed" ];then
lrelease-qt5 "${ts}"
else
lrelease "${ts}"
fi
done
kylin-nm/src/src.pro 0000664 0001750 0001750 00000005517 15167651420 013355 0 ustar feng feng #-------------------------------------------------
#
# Project created by QtCreator 2018-10-19T15:29:47
#
#-------------------------------------------------
QT += core gui dbus concurrent network svg
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = kylin-nm
TEMPLATE = app
CONFIG += c++14 qt warn_on link_pkgconfig no_keywords
#CONFIG += release
PKGCONFIG +=gio-2.0 glib-2.0 gio-unix-2.0 libnm libnma libsecret-1 gtk+-3.0 gsettings-qt6 libcap kysdk-applications
PKGCONFIG +=kysdk-sysinfo KF6WindowSystem
INCLUDEPATH += /usr/include/KF6/NetworkManagerQt
LIBS += -L/usr/lib/ -lX11 -lKF6NetworkManagerQt -lukui-log4qt -lkysdk-ukuiwindowhelper
#LIBS += -lkysec
CONFIG(release, debug|release) {
!system($$PWD/translate_generation.sh): error("Failed to generate translation")
}
target.path = /usr/bin
target.source += $$TARGET
desktop.path = /etc/xdg/autostart/
desktop.files = kylin-nm.desktop
qm_files.path = /usr/share/kylin-nm/kylin-nm/
qm_files.files = translations/*.qm
ts_files.path = /usr/share/kylin-nm/kylin-nm/
ts_files.files = translations/*.ts
INSTALLS += target \
desktop \
qm_files \
ts_files
# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
# QMAKE_CXXFLAGS += -Wno-unused-parameter
QMAKE_CPPFLAGS *= $(shell dpkg-buildflags --get CPPFLAGS)
QMAKE_CFLAGS *= $(shell dpkg-buildflags --get CFLAGS)
QMAKE_CXXFLAGS *= $(shell dpkg-buildflags --get CXXFLAGS)
QMAKE_LFLAGS *= $(shell dpkg-buildflags --get LDFLAGS)
include(singleapplication/qt-single-application.pri)
include(backend/backend.pri)
include(frontend/frontend.pri)
RESOURCES += \
../nmqrc.qrc
SOURCES += \
main.cpp
unix {
UI_DIR = .ui
MOC_DIR = .moc
OBJECTS_DIR = .obj
}
# DISTFILES += \
# org.ukui.kylin-nm.switch.gschema.xml
TRANSLATIONS += \
translations/kylin-nm_zh_Hant.ts \
translations/kylin-nm_zh_HK.ts \
translations/kylin-nm_zh_CN.ts \
translations/kylin-nm_ug.ts \
translations/kylin-nm_tr.ts \
translations/kylin-nm_mn.ts \
translations/kylin-nm_ky.ts \
translations/kylin-nm_kk.ts \
translations/kylin-nm_fr.ts \
translations/kylin-nm_es.ts \
translations/kylin-nm_de.ts \
translations/kylin-nm_bo.ts\
translations/kylin-nm_bo_CN.ts
kylin-nm/src/singleapplication/ 0000775 0001750 0001750 00000000000 15167651420 015541 5 ustar feng feng kylin-nm/src/singleapplication/qt-single-application.cpp 0000664 0001750 0001750 00000030335 15167651420 022455 0 ustar feng feng /****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies)
** 2020 KylinSoft Co., Ltd.
** Contact: http://www.qt-project.org/legal
**
**
** This file is part of the Qt Solutions component.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions 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.
** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
** of its contributors may be 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."
**
** $QT_END_LICENSE$
**
**
****************************************************************************/
#include "qt-single-application.h"
#include "qt-local-peer.h"
#include
#include
#include
#include
#include
#include
#include
#include "../mainwindow.h"
/*!
\class QtSingleApplication qtsingleapplication.h
\brief The QtSingleApplication class provides an API to detect and
communicate with running instances of an application.
This class allows you to create applications where only one
instance should be running at a time. I.e., if the user tries to
launch another instance, the already running instance will be
activated instead. Another usecase is a client-server system,
where the first started instance will assume the role of server,
and the later instances will act as clients of that server.
By default, the full path of the executable file is used to
determine whether two processes are instances of the same
application. You can also provide an explicit identifier string
that will be compared instead.
The application should create the QtSingleApplication object early
in the startup phase, and call isRunning() to find out if another
instance of this application is already running. If isRunning()
returns false, it means that no other instance is running, and
this instance has assumed the role as the running instance. In
this case, the application should continue with the initialization
of the application user interface before entering the event loop
with exec(), as normal.
The messageReceived() signal will be emitted when the running
application receives messages from another instance of the same
application. When a message is received it might be helpful to the
user to raise the application so that it becomes visible. To
facilitate this, QtSingleApplication provides the
setActivationWindow() function and the activateWindow() slot.
If isRunning() returns true, another instance is already
running. It may be alerted to the fact that another instance has
started by using the sendMessage() function. Also data such as
startup parameters (e.g. the name of the file the user wanted this
new instance to open) can be passed to the running instance with
this function. Then, the application should terminate (or enter
client mode).
If isRunning() returns true, but sendMessage() fails, that is an
indication that the running instance is frozen.
Here's an example that shows how to convert an existing
application to use QtSingleApplication. It is very simple and does
not make use of all QtSingleApplication's functionality (see the
examples for that).
\code
// Original
int main(int argc, char **argv)
{
QApplication app(argc, argv);
MyMainWidget mmw;
mmw.show();
return app.exec();
}
// Single instance
int main(int argc, char **argv)
{
QtSingleApplication app(argc, argv);
if (app.isRunning())
return !app.sendMessage(someDataString);
MyMainWidget mmw;
app.setActivationWindow(&mmw);
mmw.show();
return app.exec();
}
\endcode
Once this QtSingleApplication instance is destroyed (normally when
the process exits or crashes), when the user next attempts to run the
application this instance will not, of course, be encountered. The
next instance to call isRunning() or sendMessage() will assume the
role as the new running instance.
For console (non-GUI) applications, QtSingleCoreApplication may be
used instead of this class, to avoid the dependency on the QtGui
library.
\sa QtSingleCoreApplication
*/
void QtSingleApplication::sysInit(const QString &appId) {
m_activateWindow = 0;
m_peer = new QtLocalPeer(this, appId);
connect(m_peer, &QtLocalPeer::messageReceived, this, &QtSingleApplication::messageReceived);
}
/*!
Creates a QtSingleApplication object. The application identifier
will be QCoreApplication::applicationFilePath(). \a argc, \a
argv, and \a GUIenabled are passed on to the QAppliation constructor.
If you are creating a console application (i.e. setting \a
GUIenabled to false), you may consider using
QtSingleCoreApplication instead.
*/
QtSingleApplication::QtSingleApplication(int &argc, char **argv, bool GUIenabled)
: QApplication(argc, argv, GUIenabled) {
sysInit();
}
/*!
Creates a QtSingleApplication object with the application
identifier \a appId. \a argc and \a argv are passed on to the
QAppliation constructor.
*/
QtSingleApplication::QtSingleApplication(const QString &appId, int &argc, char **argv)
: QApplication(argc, argv) {
sysInit(appId);
}
#if QT_VERSION < 0x050000
/*!
Creates a QtSingleApplication object. The application identifier
will be QCoreApplication::applicationFilePath(). \a argc, \a
argv, and \a type are passed on to the QAppliation constructor.
*/
QtSingleApplication::QtSingleApplication(int &argc, char **argv, Type type)
: QApplication(argc, argv, type) {
sysInit();
}
# if defined(Q_WS_X11)
/*!
Special constructor for X11, ref. the documentation of
QApplication's corresponding constructor. The application identifier
will be QCoreApplication::applicationFilePath(). \a dpy, \a visual,
and \a cmap are passed on to the QApplication constructor.
*/
QtSingleApplication::QtSingleApplication(Display* dpy, Qt::HANDLE visual, Qt::HANDLE cmap)
: QApplication(dpy, visual, cmap) {
sysInit();
}
/*!
Special constructor for X11, ref. the documentation of
QApplication's corresponding constructor. The application identifier
will be QCoreApplication::applicationFilePath(). \a dpy, \a argc, \a
argv, \a visual, and \a cmap are passed on to the QApplication
constructor.
*/
QtSingleApplication::QtSingleApplication(Display *dpy, int &argc, char **argv, Qt::HANDLE visual, Qt::HANDLE cmap)
: QApplication(dpy, argc, argv, visual, cmap) {
sysInit();
}
/*!
Special constructor for X11, ref. the documentation of
QApplication's corresponding constructor. The application identifier
will be \a appId. \a dpy, \a argc, \a
argv, \a visual, and \a cmap are passed on to the QApplication
constructor.
*/
QtSingleApplication::QtSingleApplication(Display* dpy, const QString &appId, int argc, char **argv, Qt::HANDLE visual, Qt::HANDLE cmap)
: QApplication(dpy, argc, argv, visual, cmap) {
sysInit(appId);
}
# endif // Q_WS_X11
#endif // QT_VERSION < 0x050000
/*!
Returns true if another instance of this application is running;
otherwise false.
This function does not find instances of this application that are
being run by a different user (on Windows: that are running in
another session).
\sa sendMessage()
*/
bool QtSingleApplication::isRunning() {
return m_peer->isClient();
}
/*!
Tries to send the text \a message to the currently running
instance. The QtSingleApplication object in the running instance
will emit the messageReceived() signal when it receives the
message.
This function returns true if the message has been sent to, and
processed by, the current instance. If there is no instance
currently running, or if the running instance fails to process the
message within \a timeout milliseconds, this function return false.
\sa isRunning(), messageReceived()
*/
bool QtSingleApplication::sendMessage(const QString &message, int timeout) {
return m_peer->sendMessage(message, timeout);
}
/*!
Returns the application identifier. Two processes with the same
identifier will be regarded as instances of the same application.
*/
QString QtSingleApplication::id() const {
return m_peer->applicationId();
}
/*!
Sets the activation window of this application to \a aw. The
activation window is the widget that will be activated by
activateWindow(). This is typically the application's main window.
If \a activateOnMessage is true (the default), the window will be
activated automatically every time a message is received, just prior
to the messageReceived() signal being emitted.
\sa activateWindow(), messageReceived()
*/
void QtSingleApplication::setActivationWindow(QWidget* aw, bool activateOnMessage) {
m_activateWindow = aw;
if (activateOnMessage)
connect(m_peer, &QtLocalPeer::messageReceived, this, &QtSingleApplication::activateWindow);
else
disconnect(m_peer, &QtLocalPeer::messageReceived, this, &QtSingleApplication::activateWindow);
}
/*!
Returns the applications activation window if one has been set by
calling setActivationWindow(), otherwise returns 0.
\sa setActivationWindow()
*/
QWidget* QtSingleApplication::activationWindow() const {
return m_activateWindow;
}
/*!
De-minimizes, raises, and activates this application's activation window.
This function does nothing if no activation window has been set.
This is a convenience function to show the user that this
application instance has been activated when he has tried to start
another instance.
This function should typically be called in response to the
messageReceived() signal. By default, that will happen
automatically, if an activation window has been set.
\sa setActivationWindow(), messageReceived(), initialize()
*/
void QtSingleApplication::activateWindow() {
if (m_activateWindow) {
if(this->applicationState() & Qt::ApplicationInactive)
{
MainWindow* w=qobject_cast(m_activateWindow);
w->showMainwindow();
m_activateWindow->setWindowState(m_activateWindow->windowState() & ~Qt::WindowMinimized);
m_activateWindow->raise();
m_activateWindow->showNormal();
m_activateWindow->activateWindow();
}
else {
m_activateWindow->setWindowState(m_activateWindow->windowState() & Qt::WindowMinimized);
m_activateWindow->hide();
}
}
}
/*!
\fn void QtSingleApplication::messageReceived(const QString& message)
This signal is emitted when the current instance receives a \a
message from another instance of this application.
\sa sendMessage(), setActivationWindow(), activateWindow()
*/
/*!
\fn void QtSingleApplication::initialize(bool dummy = true)
\obsolete
*/
kylin-nm/src/singleapplication/qt-locked-file-unix.cpp 0000664 0001750 0001750 00000006621 15167646234 022042 0 ustar feng feng /****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies)
** 2020 KylinSoft Co., Ltd.
** Contact: http://www.qt-project.org/legal
**
** This file is part of the Qt Solutions component.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions 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.
** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
** of its contributors may be 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."
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include
#include
#include
#include
#include "qt-locked-file.h"
bool QtLockedFile::lock(LockMode mode, bool block) {
if(!isOpen()) {
qWarning("QtLockedFile::lock(): file is not opened");
return false;
}
if(mode == NoLock)
return unlock();
if(mode == m_lock_mode)
return true;
if(m_lock_mode != NoLock)
unlock();
struct flock fl;
fl.l_whence = SEEK_SET;
fl.l_start = 0;
fl.l_len = 0;
fl.l_type = (mode == ReadLock) ? F_RDLCK : F_WRLCK;
int cmd = block ? F_SETLKW : F_SETLK;
int ret = fcntl(handle(), cmd, &fl);
if(ret == -1) {
if(errno != EINTR && errno != EAGAIN)
qWarning("QtLockedFile::lock(): fcntl: %s", strerror(errno));
return false;
}
m_lock_mode = mode;
return true;
}
bool QtLockedFile::unlock() {
if(!isOpen()) {
qWarning("QtLockedFile::unlock(): file is not opened");
return false;
}
if(!isLocked())
return true;
struct flock fl;
fl.l_whence = SEEK_SET;
fl.l_start = 0;
fl.l_len = 0;
fl.l_type = F_UNLCK;
int ret = fcntl(handle(), F_SETLKW, &fl);
if(ret == -1) {
qWarning("QtLockedFile::lock(): fcntl: %s", strerror(errno));
return false;
}
m_lock_mode = NoLock;
return true;
}
QtLockedFile::~QtLockedFile() {
if(isOpen())
unlock();
}
kylin-nm/src/singleapplication/qt-single-application.pri 0000664 0001750 0001750 00000001311 15167646234 022464 0 ustar feng feng INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD
QT *= network
greaterThan(QT_MAJOR_VERSION, 4): QT *= widgets
qtsingleapplication-uselib:!qtsingleapplication-buildlib {
LIBS += -L$$QTSINGLEAPPLICATION_LIBDIR -l$$QTSINGLEAPPLICATION_LIBNAME
} else {
SOURCES +=
HEADERS +=
}
win32 {
contains(TEMPLATE, lib):contains(CONFIG, shared):DEFINES += QT_QTSINGLEAPPLICATION_EXPORT
else:qtsingleapplication-uselib:DEFINES += QT_QTSINGLEAPPLICATION_IMPORT
}
HEADERS += \
$$PWD/qt-local-peer.h \
$$PWD/qt-locked-file.h \
$$PWD/qt-single-application.h
SOURCES += \
$$PWD/qt-local-peer.cpp \
$$PWD/qt-locked-file-unix.cpp \
$$PWD/qt-single-application.cpp \
$$PWD/qt-locked-file.cpp
kylin-nm/src/singleapplication/qt-single-application.h 0000664 0001750 0001750 00000007727 15167646234 022142 0 ustar feng feng /****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies)
** 2020 KylinSoft Co., Ltd.
** Contact: http://www.qt-project.org/legal
**
**
** This file is part of the Qt Solutions component.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions 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.
** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
** of its contributors may be 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."
**
** $QT_END_LICENSE$
**
**
****************************************************************************/
#ifndef QTSINGLEAPPLICATION_H
#define QTSINGLEAPPLICATION_H
#include
class QtLocalPeer;
#if defined(Q_OS_WIN)
# if !defined(QT_QTSINGLEAPPLICATION_EXPORT) && !defined(QT_QTSINGLEAPPLICATION_IMPORT)
# define QT_QTSINGLEAPPLICATION_EXPORT
# elif defined(QT_QTSINGLEAPPLICATION_IMPORT)
# if defined(QT_QTSINGLEAPPLICATION_EXPORT)
# undef QT_QTSINGLEAPPLICATION_EXPORT
# endif
# define QT_QTSINGLEAPPLICATION_EXPORT __declspec(dllimport)
# elif defined(QT_QTSINGLEAPPLICATION_EXPORT)
# undef QT_QTSINGLEAPPLICATION_EXPORT
# define QT_QTSINGLEAPPLICATION_EXPORT __declspec(dllexport)
# endif
#else
# define QT_QTSINGLEAPPLICATION_EXPORT
#endif
class QT_QTSINGLEAPPLICATION_EXPORT QtSingleApplication : public QApplication {
Q_OBJECT
public:
QtSingleApplication(int &argc, char **argv, bool GUIenabled = true);
QtSingleApplication(const QString &id, int &argc, char **argv);
#if QT_VERSION < 0x050000
QtSingleApplication(int &argc, char **argv, Type type);
# if defined(Q_WS_X11)
QtSingleApplication(Display* dpy, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0);
QtSingleApplication(Display *dpy, int &argc, char **argv, Qt::HANDLE visual = 0, Qt::HANDLE cmap = 0);
QtSingleApplication(Display* dpy, const QString &appId, int argc, char **argv, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0);
# endif // Q_WS_X11
#endif // QT_VERSION < 0x050000
bool isRunning();
QString id() const;
void setActivationWindow(QWidget* aw, bool activateOnMessage = true);
QWidget* activationWindow() const;
// Obsolete:
void initialize(bool dummy = true) {
isRunning();
Q_UNUSED(dummy)
}
public Q_SLOTS:
bool sendMessage(const QString &message, int timeout = 5000);
void activateWindow();
Q_SIGNALS:
void messageReceived(const QString &message);
private:
void sysInit(const QString &appId = QString());
QtLocalPeer *m_peer;
QWidget *m_activateWindow;
};
#endif // QTSINGLEAPPLICATION_H
kylin-nm/src/singleapplication/qt-local-peer.cpp 0000664 0001750 0001750 00000016120 15167651420 020712 0 ustar feng feng /****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies)
** 2020 KylinSoft Co., Ltd.
** Contact: http://www.qt-project.org/legal
**
**
** This file is part of the Qt Solutions component.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions 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.
** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
** of its contributors may be 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."
**
** $QT_END_LICENSE$
**
**
****************************************************************************/
#include "qt-local-peer.h"
#include "qregularexpression.h"
#include
#include
#include
#if defined(Q_OS_UNIX)
#include
#include
#include
#endif
namespace QtLP_Private {
#include "qt-locked-file.cpp"
#include "qt-locked-file-unix.cpp"
}
const char* QtLocalPeer::ack = "ack";
QtLocalPeer::QtLocalPeer(QObject* parent, const QString &appId)
: QObject(parent), id(appId) {
QString prefix = id;
if(id.isEmpty()) {
id = QCoreApplication::applicationFilePath();
#if defined(Q_OS_WIN)
id = id.toLower();
#endif
prefix = id.section(QLatin1Char('/'), -1); //完整路径按‘/’分隔后取最后一个字段
}
prefix.remove(QRegularExpression("[^a-zA-Z]")); //去掉名称中的非字母
prefix.truncate(6); //取前六位
QByteArray idc = id.toUtf8();
quint16 idNum = qChecksum(idc.constData(), idc.size());
socketName = QLatin1String("qtsingleapp-") + prefix
+ QLatin1Char('-') + QString::number(idNum, 16);
#if defined(Q_OS_WIN)
if(!pProcessIdToSessionId) {
QLibrary lib("kernel32");
pProcessIdToSessionId = (PProcessIdToSessionId)lib.resolve("ProcessIdToSessionId");
}
if(pProcessIdToSessionId) {
DWORD sessionId = 0;
pProcessIdToSessionId(GetCurrentProcessId(), &sessionId);
socketName += QLatin1Char('-') + QString::number(sessionId, 16);
}
#else
socketName += QLatin1Char('-') + QString::number(::getuid(), 16);
#endif
server = new QLocalServer(this);
QString lockName = QDir(QDir::tempPath()).absolutePath()
+ QLatin1Char('/') + socketName
+ QLatin1String("-lockfile"); //tmp目录下的锁文件
lockFile.setFileName(lockName);
lockFile.open(QIODevice::ReadWrite);
}
bool QtLocalPeer::isClient() {
if(lockFile.isLocked())
return false;
if(!lockFile.lock(QtLP_Private::QtLockedFile::WriteLock, false))
return true;
//由于文件锁的存在,仅当本进程第一次启动时能执行到此并使server进行监听和关联槽函数
bool res = server->listen(socketName);
#if defined(Q_OS_UNIX) && (QT_VERSION >= QT_VERSION_CHECK(4,5,0))
// ### Workaround
if(!res && server->serverError() == QAbstractSocket::AddressInUseError) {
QFile::remove(QDir::cleanPath(QDir::tempPath()) + QLatin1Char('/') + socketName);
res = server->listen(socketName);
}
#endif
if(!res)
qWarning("QtSingleCoreApplication: listen on local socket failed, %s", qPrintable(server->errorString()));
QObject::connect(server, &QLocalServer::newConnection, this, &QtLocalPeer::receiveConnection);
return false;
}
bool QtLocalPeer::sendMessage(const QString &message, int timeout) {
if(!isClient())
return false;
QLocalSocket socket;
bool connOk = false;
for(int i = 0; i < 2; i++) {
// Try twice, in case the other instance is just starting up
socket.connectToServer(socketName);
connOk = socket.waitForConnected(timeout / 2);
if(connOk || i)
break;
int ms = 250;
#if defined(Q_OS_WIN)
Sleep(DWORD(ms));
#else
struct timespec ts = { ms / 1000, (ms % 1000) * 1000 * 1000 };
nanosleep(&ts, NULL);
#endif
}
if(!connOk)
return false;
QByteArray uMsg(message.toUtf8());
QDataStream ds(&socket);
ds.writeBytes(uMsg.constData(), uMsg.size());
bool res = socket.waitForBytesWritten(timeout);
if(res) {
res &= socket.waitForReadyRead(timeout); // wait for ack
if(res)
res &= (socket.read(qstrlen(ack)) == ack);
}
return res;
}
/**
* @brief QtLocalPeer::receiveConnection 当新进程启动时,会尝试连接此进程server,server接收到newConnection信号并触发此槽函数
*/
void QtLocalPeer::receiveConnection() {
QLocalSocket* socket = server->nextPendingConnection(); //获取新进程的socket
if(!socket)
return;
while(true) {
if(socket->state() == QLocalSocket::UnconnectedState) {
qWarning("QtLocalPeer: Peer disconnected");
delete socket;
return;
}
if(socket->bytesAvailable() >= qint64(sizeof(quint32)))
break;
socket->waitForReadyRead();
}
QDataStream ds(socket);
QByteArray uMsg;
quint32 remaining;
ds >> remaining;
uMsg.resize(remaining);
int got = 0;
char* uMsgBuf = uMsg.data();
do {
got = ds.readRawData(uMsgBuf, remaining);
remaining -= got;
uMsgBuf += got;
} while(remaining && got >= 0 && socket->waitForReadyRead(2000));
if(got < 0) {
qWarning("QtLocalPeer: Message reception failed %s", socket->errorString().toLatin1().constData());
delete socket;
return;
}
QString message(QString::fromUtf8(uMsg));
socket->write(ack, qstrlen(ack));
socket->waitForBytesWritten(1000);
socket->waitForDisconnected(1000); // make sure client reads ack
delete socket;
Q_EMIT messageReceived(message); //获取新进程的启动信息并作为信号发送给前端
}
kylin-nm/src/singleapplication/qt-locked-file.cpp 0000664 0001750 0001750 00000014014 15167646234 021054 0 ustar feng feng /****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies)
** 2020 KylinSoft Co., Ltd.
** Contact: http://www.qt-project.org/legal
**
** This file is part of the Qt Solutions component.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions 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.
** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
** of its contributors may be 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."
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include "qt-locked-file.h"
/*!
\class QtLockedFile
\brief The QtLockedFile class extends QFile with advisory locking
functions.
A file may be locked in read or write mode. Multiple instances of
\e QtLockedFile, created in multiple processes running on the same
machine, may have a file locked in read mode. Exactly one instance
may have it locked in write mode. A read and a write lock cannot
exist simultaneously on the same file.
The file locks are advisory. This means that nothing prevents
another process from manipulating a locked file using QFile or
file system functions offered by the OS. Serialization is only
guaranteed if all processes that access the file use
QLockedFile. Also, while holding a lock on a file, a process
must not open the same file again (through any API), or locks
can be unexpectedly lost.
The lock provided by an instance of \e QtLockedFile is released
whenever the program terminates. This is true even when the
program crashes and no destructors are called.
*/
/*! \enum QtLockedFile::LockMode
This enum describes the available lock modes.
\value ReadLock A read lock.
\value WriteLock A write lock.
\value NoLock Neither a read lock nor a write lock.
*/
/*!
Constructs an unlocked \e QtLockedFile object. This constructor
behaves in the same way as \e QFile::QFile().
\sa QFile::QFile()
*/
QtLockedFile::QtLockedFile()
: QFile() {
#ifdef Q_OS_WIN
wmutex = 0;
rmutex = 0;
#endif
m_lock_mode = NoLock;
}
/*!
Constructs an unlocked QtLockedFile object with file \a name. This
constructor behaves in the same way as \e QFile::QFile(const
QString&).
\sa QFile::QFile()
*/
QtLockedFile::QtLockedFile(const QString &name)
: QFile(name) {
#ifdef Q_OS_WIN
wmutex = 0;
rmutex = 0;
#endif
m_lock_mode = NoLock;
}
/*!
Opens the file in OpenMode \a mode.
This is identical to QFile::open(), with the one exception that the
Truncate mode flag is disallowed. Truncation would conflict with the
advisory file locking, since the file would be modified before the
write lock is obtained. If truncation is required, use resize(0)
after obtaining the write lock.
Returns true if successful; otherwise false.
\sa QFile::open(), QFile::resize()
*/
bool QtLockedFile::open(OpenMode mode) {
if(mode & QIODevice::Truncate) {
qWarning("QtLockedFile::open(): Truncate mode not allowed.");
return false;
}
return QFile::open(mode);
}
/*!
Returns \e true if this object has a in read or write lock;
otherwise returns \e false.
\sa lockMode()
*/
bool QtLockedFile::isLocked() const {
return m_lock_mode != NoLock;
}
/*!
Returns the type of lock currently held by this object, or \e
QtLockedFile::NoLock.
\sa isLocked()
*/
QtLockedFile::LockMode QtLockedFile::lockMode() const {
return m_lock_mode;
}
/*!
\fn bool QtLockedFile::lock(LockMode mode, bool block = true)
Obtains a lock of type \a mode. The file must be opened before it
can be locked.
If \a block is true, this function will block until the lock is
aquired. If \a block is false, this function returns \e false
immediately if the lock cannot be aquired.
If this object already has a lock of type \a mode, this function
returns \e true immediately. If this object has a lock of a
different type than \a mode, the lock is first released and then a
new lock is obtained.
This function returns \e true if, after it executes, the file is
locked by this object, and \e false otherwise.
\sa unlock(), isLocked(), lockMode()
*/
/*!
\fn bool QtLockedFile::unlock()
Releases a lock.
If the object has no lock, this function returns immediately.
This function returns \e true if, after it executes, the file is
not locked by this object, and \e false otherwise.
\sa lock(), isLocked(), lockMode()
*/
/*!
\fn QtLockedFile::~QtLockedFile()
Destroys the \e QtLockedFile object. If any locks were held, they
are released.
*/
kylin-nm/src/singleapplication/qt-locked-file.h 0000664 0001750 0001750 00000006360 15167646234 020526 0 ustar feng feng /****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies)
** 2020 KylinSoft Co., Ltd.
** Contact: http://www.qt-project.org/legal
**
** This file is part of the Qt Solutions component.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions 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.
** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
** of its contributors may be 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."
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef QTLOCKEDFILE_H
#define QTLOCKEDFILE_H
#include
#ifdef Q_OS_WIN
#include
#endif
#if defined(Q_OS_WIN)
# if !defined(QT_QTLOCKEDFILE_EXPORT) && !defined(QT_QTLOCKEDFILE_IMPORT)
# define QT_QTLOCKEDFILE_EXPORT
# elif defined(QT_QTLOCKEDFILE_IMPORT)
# if defined(QT_QTLOCKEDFILE_EXPORT)
# undef QT_QTLOCKEDFILE_EXPORT
# endif
# define QT_QTLOCKEDFILE_EXPORT __declspec(dllimport)
# elif defined(QT_QTLOCKEDFILE_EXPORT)
# undef QT_QTLOCKEDFILE_EXPORT
# define QT_QTLOCKEDFILE_EXPORT __declspec(dllexport)
# endif
#else
# define QT_QTLOCKEDFILE_EXPORT
#endif
namespace QtLP_Private {
class QT_QTLOCKEDFILE_EXPORT QtLockedFile : public QFile {
public:
enum LockMode { NoLock = 0, ReadLock, WriteLock };
QtLockedFile();
QtLockedFile(const QString &name);
~QtLockedFile();
bool open(OpenMode mode);
bool lock(LockMode mode, bool block = true);
bool unlock();
bool isLocked() const;
LockMode lockMode() const;
private:
#ifdef Q_OS_WIN
Qt::HANDLE wmutex;
Qt::HANDLE rmutex;
QVector rmutexes;
QString mutexname;
Qt::HANDLE getMutexHandle(int idx, bool doCreate);
bool waitMutex(Qt::HANDLE mutex, bool doBlock);
#endif
LockMode m_lock_mode;
};
}
#endif
kylin-nm/src/singleapplication/qt-local-peer.h 0000664 0001750 0001750 00000005272 15167646234 020374 0 ustar feng feng /****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies)
** 2020 KylinSoft Co., Ltd.
** Contact: http://www.qt-project.org/legal
**
**
** This file is part of the Qt Solutions component.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions 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.
** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
** of its contributors may be 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."
**
** $QT_END_LICENSE$
**
**
****************************************************************************/
#ifndef QTLOCALPEER_H
#define QTLOCALPEER_H
#include
#include
#include
#include "qt-locked-file.h"
class QtLocalPeer : public QObject {
Q_OBJECT
public:
QtLocalPeer(QObject *parent = 0, const QString &appId = QString());
bool isClient();
bool sendMessage(const QString &message, int timeout);
QString applicationId() const {
return id;
}
Q_SIGNALS:
void messageReceived(const QString &message);
protected Q_SLOTS:
void receiveConnection();
protected:
QString id;
QString socketName;
QLocalServer* server;
QtLP_Private::QtLockedFile lockFile;
private:
static const char* ack;
};
#endif // QTLOCALPEER_H
kylin-nm/src/common/ 0000775 0001750 0001750 00000000000 15167646234 013333 5 ustar feng feng kylin-nm/src/common/common.pri 0000664 0001750 0001750 00000000146 15167646234 015340 0 ustar feng feng INCLUDEPATH += $$PWD
HEADERS += \
$$PWD/common.h \
$$PWD/test.h
SOURCES +=
DISTFILES +=
kylin-nm/src/common/common.h 0000664 0001750 0001750 00000000614 15167646234 014775 0 ustar feng feng #ifndef COMMON_H
#define COMMON_H
namespace KYLIN_NM
{
enum KySecuType {
NONE = 0,
WPA_AND_WPA2_PERSONAL,
WPA_AND_WPA2_ENTERPRISE,
WPA3_PERSONAL,
WPA_AND_WPA3,
};
enum KyKeyMgmt {
Unknown = -1,
Wep, Ieee8021x,
WpaNone,
WpaPsk,
WpaEap,
SAE
};
}
using namespace KYLIN_NM;
#endif // COMMON_H
kylin-nm/src/frontend/ 0000775 0001750 0001750 00000000000 15167651420 013653 5 ustar feng feng kylin-nm/src/frontend/enterprise-wlan/ 0000775 0001750 0001750 00000000000 15167651420 016772 5 ustar feng feng kylin-nm/src/frontend/enterprise-wlan/enterprise-wlan.pri 0000664 0001750 0001750 00000000205 15167646234 022631 0 ustar feng feng INCLUDEPATH += $$PWD
FORMS += \
HEADERS += \
$$PWD/enterprisewlandialog.h \
SOURCES += \
$$PWD/enterprisewlandialog.cpp \
kylin-nm/src/frontend/enterprise-wlan/enterprisewlandialog.cpp 0000664 0001750 0001750 00000030256 15167651420 023726 0 ustar feng feng /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* Copyright (C) 2022 Tianjin KYLIN Information Technology Co., Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#include "enterprisewlandialog.h"
#include
#include
#include
#include
#include
#include "kwindowsystem.h"
#include "kwindowsystem_export.h"
#define MAIN_SIZE_EXPAND 480,580
#define MAIN_SIZE_NARROW 480,484
#define SCROAREA_WIDTH 480
#define MAIN_LAYOUT_MARGINS 0,0,0,0
#define CENTER_LAYOUT_MARGINS 24, 16, 24, 8
#define BUTTON_LAYOUT_MARGINS 24, 24, 24, 24
#define MAIN_LAYOUT_SPACING 0
#define BUTTON_SPACING 16
#define LABEL_MIN_WIDTH 146
#define MEDIUM_WEIGHT_VALUE 57
#define THEME_SCHAME "org.ukui.style"
#define COLOR_THEME "styleName"
EnterpriseWlanDialog::EnterpriseWlanDialog(KyWirelessNetItem &wirelessNetItem, QString device, QWidget *parent) : KDialog(parent)
{
this->setWindowIcon(QIcon::fromTheme("kylin-network"));
KX11Extras::setState(this->winId(), NET::SkipTaskbar | NET::SkipPager);
m_wirelessNetItem = wirelessNetItem;
m_deviceName = device;
m_connectOperation = new KyWirelessConnectOperation();
m_resource = new KyWirelessNetResource();
initUI();
initData();
centerToScreen();
}
EnterpriseWlanDialog::~EnterpriseWlanDialog() {
if (m_securityPage) {
delete m_securityPage;
m_securityPage = nullptr;
}
if (m_connectOperation) {
delete m_connectOperation;
m_connectOperation = nullptr;
}
}
void EnterpriseWlanDialog::closeEvent(QCloseEvent *event)
{
Q_EMIT this->enterpriseWlanDialogClose(false);
return QWidget::closeEvent(event);
}
void EnterpriseWlanDialog::paintEvent(QPaintEvent *event)
{
QPalette pal = qApp->palette();
QPainter painter(this);
QColor color;
if (this->isActiveWindow()) {
color = pal.color(QPalette::Base);
} else {
color = pal.color(QPalette::Window);
}
painter.setBrush(color);
painter.drawRect(this->rect());
painter.fillRect(rect(), QBrush(color));
return QWidget::paintEvent(event);
}
void EnterpriseWlanDialog::initUI()
{
m_mainLayout = new QVBoxLayout(this);
m_mainLayout->setContentsMargins(MAIN_LAYOUT_MARGINS);
m_mainLayout->setSpacing(MAIN_LAYOUT_SPACING);
m_centerWidget = new QWidget(this);
QVBoxLayout *centerLayout = new QVBoxLayout(m_centerWidget);
centerLayout->setContentsMargins(CENTER_LAYOUT_MARGINS);
centerLayout->setSpacing(MAIN_LAYOUT_SPACING);
m_descriptionLabel = new QLabel(this);
m_descriptionLabel->setText(tr("Wi-Fi network requires authentication")); //Wi-Fi网络要求认证
QFont font = m_descriptionLabel->font();
font.setWeight(QFont::Medium);
m_descriptionLabel->setFont(font);
m_ssidLabel = new QLabel(this);
QString str = tr("Access to Wi-Fi network \""); //访问Wi-Fi网络
str.append(m_wirelessNetItem.m_NetSsid);
str.append(tr("\" requires a password or encryption key.")); //需要密码或加密秘钥
m_ssidLabel->setText(str);
m_ssidLabel->setWordWrap(true);
m_securityPage = new SecurityPage(false, this);
m_securityPage->setSecurity(KySecuType::WPA_AND_WPA2_ENTERPRISE);
// m_securityPage->setSecurityVisible(false);
centerLayout->addWidget(m_descriptionLabel);
centerLayout->addSpacing(8);
centerLayout->addWidget(m_ssidLabel);
centerLayout->addSpacing(BUTTON_SPACING);
centerLayout->addWidget(m_securityPage);
centerLayout->addStretch();
m_enterWlanScrollArea = new QScrollArea(this);
m_enterWlanScrollArea->setFrameShape(QFrame::NoFrame);
m_enterWlanScrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
m_centerWidget->setFixedWidth(SCROAREA_WIDTH);
m_enterWlanScrollArea->setFixedWidth(SCROAREA_WIDTH);
m_enterWlanScrollArea->setWidget(m_centerWidget);
m_enterWlanScrollArea->setWidgetResizable(true);
m_enterWlanScrollArea->setBackgroundRole(QPalette::Base);
m_bottomDivider = new Divider(false, this);
QWidget *bottomWidget = new QWidget(this);
QHBoxLayout *btnLayout = new QHBoxLayout(bottomWidget);
btnLayout->setContentsMargins(BUTTON_LAYOUT_MARGINS);
btnLayout->setSpacing(BUTTON_SPACING);
m_cancelBtn = new QPushButton(this);
m_connectBtn = new QPushButton(this);
m_cancelBtn->setText(tr("Cancel"));
m_connectBtn->setText(tr("Connect"));
m_connectBtn->setEnabled(false);
m_cancelBtn->setProperty("useButtonPalette", true);
m_cancelBtn->setProperty("isImportant", false);
m_connectBtn->setProperty("useButtonPalette", false);
m_connectBtn->setProperty("isImportant", true);
btnLayout->addStretch();
btnLayout->addWidget(m_cancelBtn);
btnLayout->addWidget(m_connectBtn);
m_mainLayout->addWidget(m_enterWlanScrollArea);
m_mainLayout->addWidget(m_bottomDivider);
m_mainLayout->addWidget(bottomWidget);
this->mainWidget()->setLayout(m_mainLayout);
this->setFixedSize(MAIN_SIZE_EXPAND);
this->setWindowTitle(m_wirelessNetItem.m_NetSsid);
initConnections();
}
void EnterpriseWlanDialog::centerToScreen()
{
QRect desk_rect;
QScreen *currentScreen = QGuiApplication::screenAt(QCursor::pos());
if (currentScreen) {
desk_rect = currentScreen->geometry();
} else {
desk_rect=QGuiApplication::primaryScreen()->geometry();
}
int desk_x = desk_rect.width();
int desk_y = desk_rect.height();
int x = this->width();
int y = this->height();
this->move(desk_x / 2 - x / 2 + desk_rect.left(), desk_y / 2 - y / 2 + desk_rect.top());
}
void EnterpriseWlanDialog::initConnections()
{
connect(m_closeBtn, &QPushButton::clicked, this, &EnterpriseWlanDialog::close);
connect(m_cancelBtn, &QPushButton::clicked, this, &EnterpriseWlanDialog::close);
connect(m_connectBtn, &QPushButton::clicked, this, &EnterpriseWlanDialog::onBtnConnectClicked);
connect(m_securityPage, &SecurityPage::eapTypeChanged, this, &EnterpriseWlanDialog::onEapTypeChanged);
connect(m_securityPage, &SecurityPage::setSecuPageState, this, [ = ](bool status) {
m_connectBtn->setEnabled(status);
});
#if 0
connect(qApp, &QApplication::paletteChanged, this, &EnterpriseWlanDialog::onPaletteChanged);
const QByteArray id(THEME_SCHAME);
if(QGSettings::isSchemaInstalled(id)){
QGSettings * fontSetting = new QGSettings(id, QByteArray(), this);
connect(fontSetting, &QGSettings::changed,[=](QString key) {
if ("themeColor" == key) {
onPaletteChanged();
}
});
}
#endif
}
#if 0
void EnterpriseWlanDialog::onPaletteChanged()
{
QPalette pal = qApp->palette();
QGSettings * styleGsettings = nullptr;
const QByteArray style_id(THEME_SCHAME);
if (QGSettings::isSchemaInstalled(style_id)) {
styleGsettings = new QGSettings(style_id);
QString currentTheme = styleGsettings->get(COLOR_THEME).toString();
if(currentTheme == "ukui-default"){
pal = lightPalette(this);
}
}
pal.setColor(QPalette::Window, pal.base().color());
this->setPalette(pal);
setFramePalette(m_securityPage, pal);
if (styleGsettings != nullptr) {
delete styleGsettings;
styleGsettings = nullptr;
}
}
#endif
void EnterpriseWlanDialog::initData()
{
if (m_wirelessNetItem.m_isConfigured) {
KyEapMethodType type;
m_connectOperation->getEnterpiseEapMethod(m_wirelessNetItem.m_connectUuid, type);
if (type) {
onEapTypeChanged(type);
} else {
qWarning() << "Get eap type failed!" << Q_FUNC_INFO << __LINE__;
}
}
}
void EnterpriseWlanDialog::onBtnConnectClicked()
{
qDebug() << "Clicked connectBtn, will connect enterprise WLAN, ssid = "
<< m_wirelessNetItem.m_NetSsid << "." << Q_FUNC_INFO << __LINE__;
KySecuType secuType;
KyEapMethodType eapType;
m_securityPage->getSecuType(secuType, eapType);
KyWirelessConnectSetting connetSetting;
connetSetting.setConnectName(m_wirelessNetItem.m_NetSsid);
connetSetting.setIfaceName(m_deviceName);
connetSetting.isAutoConnect = m_securityPage->getAutoConnectState(); //ZJP_TODO 自动连接选项
connetSetting.m_type = KyKeyMgmt::WpaEap;
connetSetting.m_ssid = m_wirelessNetItem.m_NetSsid;
connetSetting.m_secretFlag = NetworkManager::Setting::SecretFlagType::None;
connetSetting.dumpInfo();
if (eapType == KyEapMethodType::TLS) {
m_info.tlsInfo.devIfaceName = m_deviceName;
m_securityPage->updateTlsChange(m_info.tlsInfo);
m_connectOperation->addAndActiveWirelessEnterPriseTlsConnect(m_info.tlsInfo, connetSetting, m_deviceName, false);
} else if (eapType == KyEapMethodType::PEAP) {
m_securityPage->updatePeapChange(m_info.peapInfo);
m_connectOperation->addAndActiveWirelessEnterPrisePeapConnect(m_info.peapInfo, connetSetting, m_deviceName, false);
} else if (eapType == KyEapMethodType::TTLS) {
m_securityPage->updateTtlsChange(m_info.ttlsInfo);
m_connectOperation->addAndActiveWirelessEnterPriseTtlsConnect(m_info.ttlsInfo, connetSetting, m_deviceName, false);
} else if (eapType == KyEapMethodType::LEAP) {
m_securityPage->updateLeapChange(m_info.leapInfo);
m_connectOperation->addAndActiveWirelessEnterPriseLeapConnect(m_info.leapInfo, connetSetting, m_deviceName, false);
} else if (eapType == KyEapMethodType::PWD) {
m_securityPage->updatePwdChange(m_info.pwdInfo);
m_connectOperation->addAndActiveWirelessEnterPrisePwdConnect(m_info.pwdInfo, connetSetting, m_deviceName, false);
} else if (eapType == KyEapMethodType::FAST) {
m_securityPage->updateFastChange(m_info.fastInfo);
m_connectOperation->addAndActiveWirelessEnterPriseFastConnect(m_info.fastInfo, connetSetting, m_deviceName, false);
} else {
qWarning() << "Connect enterprise wlan failed!(Unknown eap type)" << Q_FUNC_INFO << __LINE__;
}
close();
}
void EnterpriseWlanDialog::onEapTypeChanged(const KyEapMethodType &type)
{
switch (type) {
case KyEapMethodType::TLS:
if (!m_wirelessNetItem.m_connectUuid.isEmpty()) {
m_resource->getEnterPriseInfoTls(m_wirelessNetItem.m_connectUuid, m_info.tlsInfo);
}
this->setFixedSize(MAIN_SIZE_EXPAND);
break;
case KyEapMethodType::PEAP:
if (m_wirelessNetItem.m_connectUuid.isEmpty()) {
m_resource->getEnterPriseInfoPeap(m_wirelessNetItem.m_connectUuid, m_info.peapInfo);
}
this->setFixedSize(MAIN_SIZE_NARROW);
break;
case KyEapMethodType::TTLS:
if (!m_wirelessNetItem.m_connectUuid.isEmpty()) {
m_resource->getEnterPriseInfoTtls(m_wirelessNetItem.m_connectUuid, m_info.ttlsInfo);
}
this->setFixedSize(MAIN_SIZE_NARROW);
break;
case KyEapMethodType::LEAP:
if (!m_wirelessNetItem.m_connectUuid.isEmpty()) {
m_resource->getEnterPriseInfoLeap(m_wirelessNetItem.m_connectUuid, m_info.leapInfo);
}
this->setFixedSize(MAIN_SIZE_NARROW);
break;
case KyEapMethodType::PWD:
if (!m_wirelessNetItem.m_connectUuid.isEmpty()) {
m_resource->getEnterPriseInfoPwd(m_wirelessNetItem.m_connectUuid, m_info.pwdInfo);
}
this->setFixedSize(MAIN_SIZE_NARROW);
break;
case KyEapMethodType::FAST:
if (!m_wirelessNetItem.m_connectUuid.isEmpty()) {
m_resource->getEnterPriseInfoFast(m_wirelessNetItem.m_connectUuid, m_info.fastInfo);
}
this->setFixedSize(MAIN_SIZE_EXPAND);
break;
default:
break;
}
}
kylin-nm/src/frontend/enterprise-wlan/enterprisewlandialog.h 0000664 0001750 0001750 00000005460 15167651420 023372 0 ustar feng feng /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* Copyright (C) 2022 Tianjin KYLIN Information Technology Co., Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#ifndef ENTERPRISEWLANDIALOG_H
#define ENTERPRISEWLANDIALOG_H
#include
#include
#include
#include
#include "securitypage.h"
#include "divider.h"
#include "kywirelessnetitem.h"
#include "coninfo.h"
#include
using namespace kdk;
class EnterpriseWlanDialog : public KDialog
{
Q_OBJECT
public:
EnterpriseWlanDialog(KyWirelessNetItem &wirelessNetItem, QString device, QWidget *parent = nullptr);
~EnterpriseWlanDialog();
protected:
void closeEvent(QCloseEvent *event);
void paintEvent(QPaintEvent *event);
private:
void initUI(); //初始化UI界面
void centerToScreen();
void initConnections();
void initData();
private:
KyWirelessNetItem m_wirelessNetItem;
ConInfo m_info;
QString m_deviceName;
KyWirelessConnectOperation *m_connectOperation = nullptr;
KyWirelessNetResource *m_resource = nullptr;
/* 弹窗布局
* Connect Enterprise WLAN············X
* SSID··························[SSID]
* -----------SecurityPage-------------
* | |
* ------------------------------------
* ····················CANCEL···CONNECT
*/
QVBoxLayout *m_mainLayout = nullptr;
QHBoxLayout *m_titleLayout = nullptr;
QLabel *m_titleLabel = nullptr;
QPushButton *m_closeBtn = nullptr;
QWidget *m_centerWidget = nullptr;
QLabel *m_descriptionLabel = nullptr;
QLabel *m_ssidLabel = nullptr;
SecurityPage *m_securityPage = nullptr;
QScrollArea *m_enterWlanScrollArea = nullptr;
Divider *m_bottomDivider = nullptr;
QPushButton *m_cancelBtn = nullptr;
QPushButton *m_connectBtn = nullptr;
private Q_SLOTS:
void onBtnConnectClicked();
void onEapTypeChanged(const KyEapMethodType &type);
Q_SIGNALS:
void enterpriseWlanDialogClose(bool);
};
#endif // ENTERPRISEWLANDIALOG_H
kylin-nm/src/frontend/mainwindow.cpp 0000664 0001750 0001750 00000167622 15167651420 016551 0 ustar feng feng /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* Copyright (C) 2022 Tianjin KYLIN Information Technology Co., Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#include "mainwindow.h"
#include "customstyle.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "kylinnetworkdeviceresource.h"
#include "../backend/dbus-interface/kylinagentinterface.h"
#include "ukuistylehelper/ukuistylehelper.h"
#include "windowmanager/windowmanager.h"
#include "kysdk/kysdk-system/libkysysinfo.h"
#include "kylinutil.h"
#define MAINWINDOW_WIDTH 420
#define MAINWINDOW_HEIGHT 476
#define LAYOUT_MARGINS 0,0,0,0
#define LOADING_TRAYICON_TIMER_MS 60
#define THEME_SCHAME "org.ukui.style"
#define COLOR_THEME "styleName"
#define PANEL_SETTINGS "org.ukui.panel.settings"
#define PANEL_SIZE_KEY "panelsize"
#define PANEL_POSITION_KEY "panelposition"
#define PANEL_TYPE_KEY "paneltype"
#define UKUI_SETTINGS_ISLAND_POSITION_KEY "settingsislandposition"
#define UKUI_TOPBAR_SIZE_KEY "topbarsize"
#define UKUI_PANEL_LENGTH_KEY "panellength"
const QString v10Sp1 = "V10SP1";
const QString intel = "V10SP1-edu";
#define LANPAGE 0
#define WLANPAGE 1
#define AUTOSELET 2
#define SINGLE_TAB_WIDTH 194
#define MARGIN 8
#define PANEL_TOP 1
#define PANEL_LEFT 2
#define PANEL_RIGHT 3
#define PANEL_BOTTOM 0
#define KEY_PRODUCT_FEATURES "PRODUCT_FEATURES"
#define MW_EXCELLENT_SIGNAL 80
#define MW_GOOD_SIGNAL 55
#define MW_OK_SIGNAL 30
#define MW_LOW_SIGNAL 5
#define MW_NONE_SIGNAL 0
#define EXCELLENT_SIGNAL_ICON "network-wireless-signal-excellent-symbolic"
#define GOOD_SIGNAL_ICON "network-wireless-signal-good-symbolic"
#define OK_SIGNAL_ICON "network-wireless-signal-ok-symbolic"
#define LOW_SIGNAL_ICON "network-wireless-signal-weak-symbolic"
#define NONE_SIGNAL_ICON "network-wireless-signal-none-symbolic"
#define EXCELLENT_SIGNAL_LIMIT_ICON "ukui-network-wireless-signal-excellent-error-symbolic"
#define GOOD_SIGNAL_LIMIT_ICON "ukui-network-wireless-signal-good-error-symbolic"
#define OK_SIGNAL_LIMIT_ICON "ukui-network-wireless-signal-ok-error-symbolic"
#define LOW_SIGNAL_LIMIT_ICON "ukui-network-wireless-signal-weak-error-symbolic"
#define NONE_SIGNAL_LIMIT_ICON "ukui-network-wireless-signal-none-error-symbolic"
#define EXCELLENT_SIGNAL_INTRANET_ICON "ukui-network-wireless-signal-excellent-intranet-symbolic"
#define GOOD_SIGNAL_INTRANET_ICON "ukui-network-wireless-signal-good-intranet-symbolic"
#define OK_SIGNAL_INTRANET_ICON "ukui-network-wireless-signal-ok-intranet-symbolic"
#define LOW_SIGNAL_INTRANET_ICON "ukui-network-wireless-signal-weak-intranet-symbolic"
#define NONE_SIGNAL_INTRANET_ICON "ukui-network-wireless-signal-none-intranet-symbolic"
#define DBUSSERVICE_UKCC "org.ukui.ukcc.session"
#define DBUSPATH_UKCC "/"
#define DBUSINTERFACE_UKCC "org.ukui.ukcc.session.interface"
#include
#include
MainWindow::MainWindow(QString display, QWidget *parent) : QMainWindow(parent), m_display(display)
{
QDir dir(CONFIG_FILE_DIR);
if (!dir.exists()) {
dir.mkdir(CONFIG_FILE_DIR);
}
QString filename = CONFIG_FILE_PATH;
QSettings m_pConfSetting(filename, QSettings::IniFormat);
if (!m_pConfSetting.contains(AUTO_FIRE_WALL_PERMIITTED)) {
m_pConfSetting.setValue(AUTO_FIRE_WALL_PERMIITTED, true);
}
if (!m_pConfSetting.contains(FIRE_WALL_PERMISSION_SHOW)) {
m_pConfSetting.setValue(FIRE_WALL_PERMISSION_SHOW, true);
}
firstlyStart();
//去除窗管标题栏,传入参数为QWidget*
//此方法只需要调用一次,多次调用时,除首次调用窗口正常外,其余次数调用窗口setGeometry接口失效
//kf6 qt6 崩溃 by mq
//kdk::UkuiStyleHelper::self()->removeHeader(this);
}
/**
* @brief MainWindow::showMainwindow show主窗口,同时也作为dbus接口提供给外部组件调用
*/
void MainWindow::showMainwindow()
{
if (!m_loadFinished) {
m_secondaryStartTimer->stop();
secondaryStart();
}
/**
* 设置主界面跳过任务栏和分页器的属性,隐藏再次展示有可能辉冲刷掉该属性,需要展示时重新设置
*/
#if 0
QString platform = QGuiApplication::platformName();
if(!platform.startsWith(QLatin1String("wayland"),Qt::CaseInsensitive))
{
const KWindowInfo info(this->winId(), NET::WMState);
if (!info.hasState(NET::SkipTaskbar) || !info.hasState(NET::SkipPager)) {
KX11Extras::setState(this->winId(), NET::SkipTaskbar | NET::SkipPager);
}
}
#endif
this->showByWaylandHelper();
// this->raise();
// this->activateWindow();
Q_EMIT this->mainWindowVisibleChanged(true);
#ifdef WITHKYSEC
if (!kysec_is_disabled() && kysec_get_3adm_status() && (getuid() || geteuid())){
if (nullptr != m_wlanWidget) {
m_wlanWidget->hideSetting();
}
if (nullptr != m_lanWidget) {
m_lanWidget->hideSetting();
}
} else {
if (nullptr != m_wlanWidget) {
m_wlanWidget->showSetting();
}
if (nullptr != m_lanWidget) {
m_lanWidget->showSetting();
}
}
#endif
}
/**
* @brief MainWindow::hideMainwindow 隐藏主页面时要进行的操作,后续可以添加到此函数
*/
void MainWindow::hideMainwindow()
{
this->hide();
Q_EMIT this->mainWindowVisibleChanged(false);
}
/**
* @brief MainWindow::setWiredDefaultDevice 设置有线设备默认网卡
*/
void MainWindow::setWiredDefaultDevice(QString deviceName)
{
// m_lanWidget->updateDefaultDevice(deviceName);
}
/**
* @brief MainWindow::hideMainwindow 设置无线设备默认网卡
*/
void MainWindow::setWirelessDefaultDevice(QString deviceName)
{
// m_wlanWidget->updateDefaultDevice(deviceName);
}
/**
* @brief MainWindow::firstlyStart 一级启动,执行重要且不耗时的启动操作
*/
void MainWindow::firstlyStart()
{
this->setAttribute(Qt::WA_NativeWindow);
initWindowProperties();
initTransparency();
registerTrayIcon();
initPanelGSettings();
initUI();
initDbusConnnect();
initWindowTheme();
initTrayIcon();
// initPlatform();
installEventFilter(this);
m_secondaryStartTimer = new QTimer(this);
connect(m_secondaryStartTimer, &QTimer::timeout, this, [ = ]() {
m_secondaryStartTimer->stop();
secondaryStart();//满足条件后执行比较耗时的二级启动
});
m_secondaryStartTimer->start(5 * 1000);
m_createPagePtrMap.clear();
m_networkMode = new NetworkMode(this);
m_networkMode->initWiredNetworkMode();
m_networkMode->initWirelessNetworkMode();
//加载key ring
kylinAgentInit();
}
/**
* @brief MainWindow::secondaryStart 二级启动,可以将较耗时的初始化操作放到此处执行
*/
void MainWindow::secondaryStart()
{
if (m_loadFinished)
return;
m_loadFinished = true;
}
/**
* @brief MainWindow::initWindowProperties 初始化平台信息
*/
void MainWindow::initPlatform()
{
char* projectName = kdk_system_get_projectName();
QString strProjectName(projectName);
free(projectName);
projectName = NULL;
if(v10Sp1.compare(strProjectName,Qt::CaseInsensitive) == 0) {
unsigned int feature = kdk_system_get_productFeatures();
if (feature == 3) {
m_isShowInCenter = true;
}
} else if (intel.compare(strProjectName,Qt::CaseInsensitive) == 0) {
m_isShowInCenter = true;
}
qDebug() << "projectName" << projectName << m_isShowInCenter;
}
/**
* @brief MainWindow::initWindowProperties 初始化一些窗口属性
*/
void MainWindow::initWindowProperties()
{
this->windowHandle();
this->setWindowTitle(tr("kylin-nm"));
this->setWindowIcon(QIcon::fromTheme("kylin-network", QIcon(":/res/x/setup.png")));
this->setFixedSize(MAINWINDOW_WIDTH, MAINWINDOW_HEIGHT);
// //绘制毛玻璃特效
this->setAttribute(Qt::WA_TranslucentBackground, true); //透明
this->setFocusPolicy(Qt::NoFocus);
QString platform = QGuiApplication::platformName();
if(!platform.startsWith(QLatin1String("wayland"),Qt::CaseInsensitive))
{
QPainterPath path;
auto rect = this->rect();
// path.addRoundedRect(rect, 12, 12);
path.addRect(rect);
KWindowEffects::enableBlurBehind(this->windowHandle(), true, QRegion(path.toFillPolygon().toPolygon())); //背景模糊
}
}
/**
* @brief MainWindow::registerTrayIcon 注册托盘图标
*/
void MainWindow::registerTrayIcon()
{
m_registerCount++;
//qt6 kf6环境isSystemTrayAvailable返回flase v101没有这个逻辑
m_trayIcon = new QSystemTrayIcon();
if (nullptr == m_trayIcon) {
qWarning()<< "分配空间trayIcon失败";
return ;
}
m_trayIcon->setIcon(QIcon::fromTheme("network-wired-signal-excellent-symbolic"));
m_trayIcon->setToolTip(QString(tr("kylin-nm")));
qWarning()<< "isSystemTrayAvailable is "< 10) {
m_trayIcon = new QSystemTrayIcon();
if (nullptr == m_trayIcon) {
qWarning()<< "分配空间trayIcon失败";
return ;
}
m_trayIcon->setIcon(QIcon::fromTheme("network-wired-signal-excellent-symbolic"));
m_trayIcon->setToolTip(QString(tr("kylin-nm")));
} else {
if (m_registerCount <= 10) {
QTimer::singleShot(m_intervalTime,[this] {
registerTrayIcon();
});
}
}
*/
}
void MainWindow::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing); // 反锯齿;
painter.setPen(Qt::transparent);
// auto rect = this->rect();
// painter.drawRoundedRect(rect, 12, 12); //窗口圆角
}
bool MainWindow::eventFilter(QObject *watched, QEvent *event)
{
if (watched == this) {
//失焦退出
if (event->type() == QEvent::ActivationChange) {
if (QApplication::activeWindow() != this) {
hideMainwindow();
return true;
}
}
}
return QObject::eventFilter(watched, event);
}
void MainWindow::initTransparency()
{
if(QGSettings::isSchemaInstalled(TRANSPARENCY_GSETTINGS)) {
m_transGsettings = new QGSettings(TRANSPARENCY_GSETTINGS);
if(m_transGsettings->keys().contains(QString("transparency"))) {
m_transparency=m_transGsettings->get("transparency").toDouble() + 0.15;
m_transparency = (m_transparency > 1) ? 1 : m_transparency;
connect(m_transGsettings, &QGSettings::changed, this, &MainWindow::onTransChanged);
}
}
}
void MainWindow::onTransChanged()
{
m_transparency = m_transGsettings->get("transparency").toDouble() + 0.15;
m_transparency = (m_transparency > 1) ? 1 : m_transparency;
paintWithTrans();
}
void MainWindow::paintWithTrans()
{
QPalette pal = m_centralWidget->palette();
QColor color = this->palette().base().color();
color.setAlphaF(m_transparency);
pal.setColor(QPalette::Base, color);
m_centralWidget->setPalette(pal);
QPalette tabPal = m_centralWidget->tabBar()->palette();
tabPal.setColor(QPalette::Base, color);
QColor inactiveColor = this->palette().window().color();
inactiveColor.setAlphaF(0.86 *m_transparency);
tabPal.setColor(QPalette::Window, inactiveColor);
m_centralWidget->tabBar()->setPalette(tabPal);
}
/**
* @brief MainWindow::initPanelGSettings 获取任务栏位置和大小
*/
void MainWindow::initPanelGSettings()
{
const QByteArray id(PANEL_SETTINGS);
if (QGSettings::isSchemaInstalled(id))
{
if (m_panelGSettings == nullptr)
{
m_panelGSettings = new QGSettings(id);
}
if (m_panelGSettings->keys().contains(PANEL_POSITION_KEY))
{
m_panelPosition = m_panelGSettings->get(PANEL_POSITION_KEY).toInt();
}
if (m_panelGSettings->keys().contains(PANEL_SIZE_KEY))
{
m_panelSize = m_panelGSettings->get(PANEL_SIZE_KEY).toInt();
}
if (m_panelGSettings->keys().contains(PANEL_TYPE_KEY))
{
m_panelType = m_panelGSettings->get(PANEL_TYPE_KEY).toInt();
}
else
{
m_panelType = 0;
}
if (m_panelGSettings->keys().contains(UKUI_SETTINGS_ISLAND_POSITION_KEY))
{
m_settingsIslandPosition = m_panelGSettings->get(UKUI_SETTINGS_ISLAND_POSITION_KEY).toInt();
}
if (m_panelGSettings->keys().contains(UKUI_TOPBAR_SIZE_KEY))
{
m_topbarSize = m_panelGSettings->get(UKUI_TOPBAR_SIZE_KEY).toInt();
}
connect(m_panelGSettings, &QGSettings::changed, this, [&] (const QString &key)
{
if (key == PANEL_SIZE_KEY)
{
m_panelSize = m_panelGSettings->get(PANEL_SIZE_KEY).toInt();
}
else if(key == PANEL_POSITION_KEY)
{
m_panelPosition = m_panelGSettings->get(PANEL_SIZE_KEY).toInt();
}
else if (key == PANEL_TYPE_KEY)
{
m_panelType = m_panelGSettings->get(PANEL_TYPE_KEY).toInt();
qDebug() << "切换任务栏类型";
// updateGeometry();
}
else if (key == UKUI_SETTINGS_ISLAND_POSITION_KEY)
{
m_settingsIslandPosition = m_panelGSettings->get(UKUI_SETTINGS_ISLAND_POSITION_KEY).toInt();
qDebug() << "任务栏宽度切换" << m_settingsIslandPosition;
// updateGeometry();
}
else if (key == UKUI_TOPBAR_SIZE_KEY)
{
m_topbarSize = m_panelGSettings->get(UKUI_TOPBAR_SIZE_KEY).toInt();
// updateGeometry();
}
resetWindowPosition();
});
}
}
/**
* @brief MainWindow::initUI 初始化窗口内控件
*/
void MainWindow::initUI()
{
setThemePalette();
m_centralWidget = new QTabWidget(this);
this->setCentralWidget(m_centralWidget);
m_centralWidget->tabBar()->setFixedWidth(this->width()+1);
// m_centralWidget->tabBar()->setProperty("setRadius", 12);
// m_centralWidget->tabBar()->setStyleSheet("QTabBar::tab{min-height:40px}");
m_lanWidget = new LanPage(m_centralWidget);
m_wlanWidget = new WlanPage(m_centralWidget);
connect(this, &MainWindow::mainWindowVisibleChanged, m_wlanWidget, &WlanPage::onMainWindowVisibleChanged);
// m_centralWidget->addTab(m_lanWidget, QIcon::fromTheme("network-wired-connected-symbolic", QIcon::fromTheme("network-wired-symbolic", QIcon(":/res/l/network-online.svg"))), tr("LAN"));
// m_centralWidget->addTab(m_wlanWidget, QIcon::fromTheme("network-wireless-signal-excellent-symbolic", QIcon(":/res/x/wifi-list-bg.svg")), tr("WLAN"));
m_centralWidget->addTab(m_lanWidget, tr(""));
m_centralWidget->addTab(m_wlanWidget,tr(""));
m_tabBarLayout = new QHBoxLayout(this);
m_tabBarLayout->setContentsMargins(LAYOUT_MARGINS);
m_lanLabel = new QLabel(tr("LAN"));
m_lanLabel->setAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
m_wlanLabel = new QLabel(tr("WLAN"));
m_wlanLabel->setAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
m_tabBarLayout->addWidget(m_lanLabel);
m_tabBarLayout->addWidget(m_wlanLabel);
m_centralWidget->tabBar()->setLayout(m_tabBarLayout);
m_centralWidget->tabBar()->setProperty("useTabbarSeparateLine", false); // 去掉中间的分割线
m_centralWidget->setAttribute(Qt::WA_TranslucentBackground, true); // 背景透明 解决切换黑屏问题
connect(m_centralWidget, &QTabWidget::currentChanged, m_wlanWidget, &WlanPage::onWlanPageVisibleChanged);
paintWithTrans();
}
/**
* @brief MainWindow::initTrayIcon 初始化托盘图标和托盘右键菜单
*/
void MainWindow::initTrayIcon()
{
loadIcons.append(QIcon::fromTheme("ukui-loading-0-symbolic"));
loadIcons.append(QIcon::fromTheme("ukui-loading-1-symbolic"));
loadIcons.append(QIcon::fromTheme("ukui-loading-2-symbolic"));
loadIcons.append(QIcon::fromTheme("ukui-loading-3-symbolic"));
loadIcons.append(QIcon::fromTheme("ukui-loading-4-symbolic"));
loadIcons.append(QIcon::fromTheme("ukui-loading-5-symbolic"));
loadIcons.append(QIcon::fromTheme("ukui-loading-6-symbolic"));
loadIcons.append(QIcon::fromTheme("ukui-loading-7-symbolic"));
iconTimer = new QTimer(this);
connect(iconTimer, &QTimer::timeout, this, &MainWindow::onSetTrayIconLoading);
m_trayIconMenu = new QMenu();
// m_showMainwindowAction = new QAction(tr("Show MainWindow"),this);
m_showSettingsAction = new QAction(tr("Settings"),this);
m_showConnectivityPageAction = new QAction(tr("Network Connectivity Detection"), this);
m_showSettingsAction->setIcon(QIcon::fromTheme("document-page-setup-symbolic", QIcon(":/res/x/setup.png")) );
m_showConnectivityPageAction->setIcon(QIcon::fromTheme("gnome-netstatus-txrx"));
// m_trayIconMenu->addAction(m_showMainwindowAction);
m_trayIconMenu->addAction(m_showSettingsAction);
m_trayIcon->setContextMenu(m_trayIconMenu);
iconStatus = IconActiveType::LAN_CONNECTED;
onRefreshTrayIcon();
connect(m_trayIcon, &QSystemTrayIcon::activated, this, &MainWindow::onTrayIconActivated);
// connect(m_showMainwindowAction, &QAction::triggered, this, &MainWindow::onShowMainwindowActionTriggled);
connect(m_showSettingsAction, &QAction::triggered, this, &MainWindow::onShowSettingsActionTriggled);
connect(m_showConnectivityPageAction, &QAction::triggered, [=]() {
if (m_connectivityPage != nullptr) {
KX11Extras::forceActiveWindow(m_connectivityPage->winId());
//KWindowSystem::raiseWindow(m_connectivityPage->winId());//mqtest qt6移除待sdk说明
return;
}
QString uri = getConnectivityCheckSpareUriByGDbus();
m_connectivityPage = new ConnectivityPage(uri, this);
connect(m_connectivityPage, &ConnectivityPage::pageClose, [&](){
m_connectivityPage = nullptr;
});
m_connectivityPage->show();
});
m_trayIcon->show();
}
void MainWindow::initDbusConnnect()
{
connect(m_lanWidget, &LanPage::deviceStatusChanged, this, &MainWindow::deviceStatusChanged);
connect(m_lanWidget, &LanPage::deviceNameChanged, this, &MainWindow::deviceNameChanged);
connect(m_wlanWidget, &WlanPage::wirelessDeviceStatusChanged, this, &MainWindow::wirelessDeviceStatusChanged);
connect(m_wlanWidget, &WlanPage::deviceNameChanged, this, &MainWindow::deviceNameChanged);
connect(m_wlanWidget, &WlanPage::wirelessSwitchBtnChanged, this, &MainWindow::wirelessSwitchBtnChanged);
connect(m_wlanWidget, &WlanPage::activateFailed, this, &MainWindow::activateFailed);
connect(m_wlanWidget, &WlanPage::deactivateFailed, this, &MainWindow::deactivateFailed);
connect(m_lanWidget, &LanPage::activateFailed, this, &MainWindow::activateFailed);
connect(m_lanWidget, &LanPage::deactivateFailed, this, &MainWindow::deactivateFailed);
connect(m_lanWidget, &LanPage::lanAdd, this, &MainWindow::lanAdd);
connect(m_lanWidget, &LanPage::lanRemove, this, &MainWindow::lanRemove);
connect(m_lanWidget, &LanPage::lanUpdate, this, &MainWindow::lanUpdate);
connect(m_lanWidget, &LanPage::lanActiveConnectionStateChanged, this, &MainWindow::lanActiveConnectionStateChanged);
connect(m_lanWidget, &LanPage::lanConnectChanged, this, &MainWindow::onLanConnectStatusToChangeTrayIcon);
connect(m_wlanWidget, &WlanPage::wlanAdd, this, &MainWindow::wlanAdd);
connect(m_wlanWidget, &WlanPage::wlanRemove, this, &MainWindow::wlanRemove);
connect(m_wlanWidget, &WlanPage::wlanActiveConnectionStateChanged, this, &MainWindow::wlanactiveConnectionStateChanged);
connect(m_wlanWidget, &WlanPage::wlanConnectChanged, this, &MainWindow::onWlanConnectStatusToChangeTrayIcon);
connect(m_wlanWidget, &WlanPage::hotspotDeactivated, this, &MainWindow::hotspotDeactivated);
connect(m_wlanWidget, &WlanPage::hotspotActivated, this, &MainWindow::hotspotActivated);
connect(m_wlanWidget, &WlanPage::secuTypeChange, this, &MainWindow::secuTypeChange);
connect(m_wlanWidget, &WlanPage::signalStrengthChange, this, &MainWindow::signalStrengthChange);
connect(m_wlanWidget, &WlanPage::timeToUpdate , this, &MainWindow::timeToUpdate);
connect(m_wlanWidget, &WlanPage::timeToUpdate , this, &MainWindow::onTimeUpdateTrayIcon);
connect(m_wlanWidget, &WlanPage::showMainWindow, this, &MainWindow::onShowMainWindow);
connect(m_wlanWidget, &WlanPage::connectivityChanged, this, &MainWindow::onConnectivityChanged);
connect(m_wlanWidget, &WlanPage::connectivityCheckSpareUriChanged, this, &MainWindow::onConnectivityCheckSpareUriChanged);
connect(m_lanWidget, &LanPage::lanConnectChanged, this, &MainWindow::onRefreshTrayIconTooltip);
connect(m_lanWidget, &LanPage::deviceStatusChanged, this, &MainWindow::onRefreshTrayIconTooltip);
connect(m_wlanWidget, &WlanPage::wlanConnectChanged, this, &MainWindow::onRefreshTrayIconTooltip);
connect(m_wlanWidget, &WlanPage::wirelessDeviceStatusChanged, this, &MainWindow::onRefreshTrayIconTooltip);
connect(m_lanWidget, &LanPage::wiredMainSwitchBtnChanged, this, &MainWindow::wiredMainSwitchBtnChanged);
//模式切换
QDBusConnection::sessionBus().connect(QString("com.kylin.statusmanager.interfacer"),
QString("/"),
QString("com.kylin.statusmanager.interface"),
QString("mode_change_signal"), this, SLOT(onTabletModeChanged(bool)));
connect(KX11Extras::self(), &KX11Extras::activeWindowChanged, this,[&](WId activeWindowId){
if (activeWindowId != this->winId() && activeWindowId != 0) {
qDebug() << "tray recieve KWindowSystem activeWindowChanged" << activeWindowId << this->windowHandle();
hideMainwindow();
}
});
QDBusConnection::sessionBus().connect(QString("com.kylin.network"),
QString("/com/kylin/network"),
QString("com.kylin.network"),
QString("showKylinNMSignal"), this, SLOT(onShowKylinNMSlot(QString,int)));
QDBusConnection::sessionBus().connect(QString("com.kylin.network"),
QString("/com/kylin/network"),
QString("com.kylin.network"),
QString("showPropertyWidgetSignal"), this, SLOT(onShowPropertyWidgetSlot(QString,QString,QString)));
QDBusConnection::sessionBus().connect(QString("com.kylin.network"),
QString("/com/kylin/network"),
QString("com.kylin.network"),
QString("showCreateWiredConnectWidgetSignal"), this, SLOT(onShowCreateWiredConnectWidgetSlot(QString,QString)));
QDBusConnection::sessionBus().connect(QString("com.kylin.network"),
QString("/com/kylin/network"),
QString("com.kylin.network"),
QString("showAddOtherWlanWidgetSignal"), this, SLOT(onShowAddOtherWlanWidgetSlot(QString,QString)));
}
/**
* @brief MainWindow::resetWindowPosition 重新计算窗口位置
*/
void MainWindow::resetWindowPosition()
{
if (m_isShowInCenter) {
QRect availableGeometry = qApp->primaryScreen()->availableGeometry();
QRect rect((availableGeometry.width() - this->width())/2, (availableGeometry.height() - this->height())/2,
this->width(), this->height());
kdk::WindowManager::setGeometry(this->windowHandle(), rect);
return;
}
#define MARGIN 8
#define PANEL_TOP 1
#define PANEL_LEFT 2
#define PANEL_RIGHT 3
//#define PANEL_BOTTOM 4
#if 0 //弃用接口 GetPrimaryScreenGeometry
if (!m_positionInterface) {
m_positionInterface = new QDBusInterface("org.ukui.panel",
"/panel/position",
"org.ukui.panel",
QDBusConnection::sessionBus());
}
QRect rect;
QDBusReply reply = m_positionInterface->call("GetPrimaryScreenGeometry");
//reply获取的参数共5个,分别是 主屏可用区域的起点x坐标,主屏可用区域的起点y坐标,主屏可用区域的宽度,主屏可用区域高度,任务栏位置
if (!m_positionInterface->isValid() || !reply.isValid() || reply.value().size() < 5) {
qCritical() << QDBusConnection::sessionBus().lastError().message();
kdk::WindowManager::setGeometry(this->windowHandle(), QRect(0, 0, this->width(), this->height()));
return;
}
QVariantList position_list = reply.value();
int position = position_list.at(4).toInt();
switch(position){
case PANEL_TOP:
//任务栏位于上方
rect = QRect(position_list.at(0).toInt() + position_list.at(2).toInt() - this->width() - MARGIN,
position_list.at(1).toInt() + MARGIN,
this->width(), this->height());
break;
//任务栏位于左边
case PANEL_LEFT:
rect = QRect(position_list.at(0).toInt() + MARGIN,
position_list.at(1).toInt() + reply.value().at(3).toInt() - this->height() - MARGIN,
this->width(), this->height());
break;
//任务栏位于右边
case PANEL_RIGHT:
rect = QRect(position_list.at(0).toInt() + position_list.at(2).toInt() - this->width() - MARGIN,
position_list.at(1).toInt() + reply.value().at(3).toInt() - this->height() - MARGIN,
this->width(), this->height());
break;
//任务栏位于下方
default:
rect = QRect(position_list.at(0).toInt() + position_list.at(2).toInt() - this->width() - MARGIN,
position_list.at(1).toInt() + reply.value().at(3).toInt() - this->height() - MARGIN,
this->width(), this->height());
break;
}
kdk::WindowManager::setGeometry(this->windowHandle(), rect);
#endif
QRect availableGeo = QGuiApplication::screenAt(QCursor::pos())->geometry();
int x, y;
switch(m_panelPosition){
case PANEL_TOP:
x = availableGeo.x() + availableGeo.width() - this->width() - MARGIN;
y = availableGeo.y() + m_panelSize + MARGIN;
break;
case PANEL_LEFT:
x = availableGeo.x() + m_panelSize + MARGIN;
y = availableGeo.y() + availableGeo.height() - this->height() - MARGIN;
break;
case PANEL_RIGHT:
x = availableGeo.x() + availableGeo.width() - m_panelSize - this->width() - MARGIN;
y = availableGeo.y() + availableGeo.height() - this->height() - MARGIN;
break;
default:
x = availableGeo.x() + availableGeo.width() - this->width() - MARGIN;
y = availableGeo.y() + availableGeo.height() - m_panelSize - this->height() - MARGIN;
break;
}
kdk::WindowManager::setGeometry(this->windowHandle(), QRect(x, y, this->width(), this->height()));
qDebug() << " Position of ukui-panel is " << m_panelPosition << "; Position of mainwindow is " << this->geometry() << "." << Q_FUNC_INFO << __LINE__;
}
/**
* @brief MainWindow::resetTrayIconTool 重新获取网络连接状态并重新设置图标和tooltip
*/
void MainWindow::resetTrayIconTool()
{
//ZJP_TODO 检测当前连接的是有线还是无线,是否可用,设置图标和tooltip,图标最好提前define
// int connectivity = objKyDBus->getNetworkConectivity();
// qDebug() << "Value of current network Connectivity property : "<< connectivity;
// switch (connectivity) {
// case UnknownConnectivity:
// case Portal:
// case Limited:
// setTrayIcon(iconLanOnlineNoInternet);
// trayIcon->setToolTip(QString(tr("Network Connected But Can Not Access Internet")));
// break;
// case NoConnectivity:
// case Full:
// setTrayIcon(iconLanOnline);
// trayIcon->setToolTip(QString(tr("kylin-nm")));
// break;
// }
qDebug() << "Has set tray icon to be XXX." << Q_FUNC_INFO << __LINE__;
}
/**
* @brief MainWindow::initWindowTheme 初始化窗口主题并创建信号槽
*/
void MainWindow::initWindowTheme()
{
const QByteArray style_id(THEME_SCHAME);
if (QGSettings::isSchemaInstalled(style_id)) {
m_styleGsettings = new QGSettings(style_id);
// resetWindowTheme();
connect(m_styleGsettings, &QGSettings::changed, this, &MainWindow::onThemeChanged);
} else {
qWarning() << "Gsettings interface \"org.ukui.style\" is not exist!" << Q_FUNC_INFO << __LINE__;
}
}
/**
* @brief MainWindow::resetWindowTheme 读取和设置窗口主题
*/
void MainWindow::resetWindowTheme()
{
if (!m_styleGsettings) { return; }
QString currentTheme = m_styleGsettings->get(COLOR_THEME).toString();
auto app = static_cast(QCoreApplication::instance());
if(currentTheme == "ukui-dark" || currentTheme == "ukui-black"){
app->setStyle(new CustomStyle("ukui-dark"));
qDebug() << "Has set color theme to ukui-dark." << Q_FUNC_INFO << __LINE__;
Q_EMIT qApp->paletteChanged(qApp->palette());
return;
}
app->setStyle(new CustomStyle("ukui-light"));
qDebug() << "Has set color theme to " << currentTheme << Q_FUNC_INFO << __LINE__;
Q_EMIT qApp->paletteChanged(qApp->palette());
return;
}
/**
* @brief MainWindow::showControlCenter 打开控制面板网络界面
*/
void MainWindow::slideWindowByPanelPosition()
{
if (m_panelType == 1) {
if (m_settingsIslandPosition) {
KWindowEffects::slideWindow(this->windowHandle(), KWindowEffects::TopEdge);
} else {
KWindowEffects::slideWindow(this->windowHandle(), KWindowEffects::BottomEdge);
}
} else {
switch(m_panelPosition) {
case PANEL_TOP:
KWindowEffects::slideWindow(this->windowHandle(), KWindowEffects::TopEdge);
break;
case PANEL_LEFT:
KWindowEffects::slideWindow(this->windowHandle(), KWindowEffects::LeftEdge);
break;
case PANEL_RIGHT:
KWindowEffects::slideWindow(this->windowHandle(), KWindowEffects::RightEdge);
break;
case PANEL_BOTTOM:
KWindowEffects::slideWindow(this->windowHandle(), KWindowEffects::BottomEdge);
break;
}
}
}
void MainWindow::showByWaylandHelper()
{
//设置窗体位置,传入参数为QWindow*,QRect
//跳过任务栏和分页器的属性
kdk::WindowManager::setSkipSwitcher(this->windowHandle(), true);
kdk::WindowManager::setSkipTaskBar(this->windowHandle(), true);
const KWindowInfo info(this->winId(), NET::WMState);
if (!info.hasState(NET::SkipTaskbar) || !info.hasState(NET::SkipPager) || !info.hasState(NET::SkipSwitcher))
KX11Extras::setState(this->winId(), NET::SkipTaskbar | NET::SkipPager | NET::SkipSwitcher);
this->show();
this->setFocus();
//跳过任务栏和分页器的属性
kdk::WindowManager::setSkipSwitcher(this->windowHandle(), true);
kdk::WindowManager::setSkipTaskBar(this->windowHandle(), true);
if (!info.hasState(NET::SkipTaskbar) || !info.hasState(NET::SkipPager) || !info.hasState(NET::SkipSwitcher))
KX11Extras::setState(this->winId(), NET::SkipTaskbar | NET::SkipPager | NET::SkipSwitcher);
//滑动弹出和窗口位置需在show函数之后调用才可正常处理窗口位置
slideWindowByPanelPosition();
resetWindowPosition();
}
void MainWindow::setCentralWidgetType(IconActiveType iconStatus)
{
if (iconStatus == WLAN_CONNECTED || iconStatus == WLAN_CONNECTED_LIMITED) {
m_centralWidget->setCurrentIndex(WLAN_PAGE_INDEX);
} else if (iconStatus == ACTIVATING) {
if (m_wlanWidget->checkWlanStatus(NetworkManager::ActiveConnection::State::Activating)) {
m_centralWidget->setCurrentIndex(WLAN_PAGE_INDEX);
} else {
m_centralWidget->setCurrentIndex(LAN_PAGE_INDEX);
}
} else {
m_centralWidget->setCurrentIndex(LAN_PAGE_INDEX);
}
}
/**
* @brief MainWindow::assembleTrayIconTooltip 整理托盘图标tooltip内容
* @param map <网卡名,网络状态>
* @param tip tooltip
*/
void MainWindow::assembleTrayIconTooltip(QMap &map, QString &tip)
{
if (map.isEmpty()) {
tip = QString(tr("Network tool"));
return;
}
QMap::iterator iter = map.begin();
if (map.size() == 1) {
tip = map.value(iter.key());
if (tip.indexOf(":")) {
tip = tip.mid(tip.indexOf(":") + 2); //单网卡显示时去掉“已连接: ”字样
}
} else if (map.size() > 1) {
tip = "";
int count = 0;
while (iter != map.end()) {
count += 1;
tip += QString(tr("Network Card")) + QString("%1").arg(count) + "\n" + map.value(iter.key());
++iter;
if (iter != map.end()) {
tip += "\n";
}
}
}
}
void MainWindow::setThemePalette()
{
QPalette pal = qApp->palette();
QGSettings * styleGsettings = nullptr;
const QByteArray style_id(THEME_SCHAME);
if (QGSettings::isSchemaInstalled(style_id)) {
styleGsettings = new QGSettings(style_id, QByteArray(), this);
QString currentTheme = styleGsettings->get(COLOR_THEME).toString();
if(currentTheme == "ukui-default"){
pal = themePalette(true, this);
}
}
this->setPalette(pal);
}
/**
* @brief MainWindow::onTrayIconActivated 点击托盘图标的槽函数
*/
void MainWindow::onTrayIconActivated(QSystemTrayIcon::ActivationReason reason)
{
setCentralWidgetType(iconStatus);
if (reason == QSystemTrayIcon::ActivationReason::Context) {
m_trayIconMenu->popup(QCursor::pos());
} else {
if (this->isVisible()) {
qDebug() << "Received signal of tray icon activated, will hide mainwindow." << Q_FUNC_INFO << __LINE__;
hideMainwindow();
return;
}
qDebug() << "Received signal of tray icon activated, will show mainwindow." << Q_FUNC_INFO << __LINE__;
// this->showMainwindow();
QDBusInterface iface("org.ukui.Sidebar", "/org/ukui/Sidebar", "org.ukui.Sidebar", QDBusConnection::sessionBus());
iface.asyncCall("shortcutWidgetActive", "org.ukui.shortcut.network", false);
}
}
void MainWindow::onShowMainwindowActionTriggled()
{
showMainwindow();
}
void MainWindow::onShowSettingsActionTriggled()
{
showControlCenter();
}
void MainWindow::onThemeChanged(const QString &key)
{
if (key == COLOR_THEME) {
qDebug() << "Received signal of theme changed, will reset theme." << Q_FUNC_INFO << __LINE__;
// resetWindowTheme();
setThemePalette();
paintWithTrans();
Q_EMIT qApp->paletteChanged(qApp->palette());
} else if ("themeColor" == key) {
setThemePalette();
} else {
qDebug() << "Received signal of theme changed, key=" << key << " will do nothing." << Q_FUNC_INFO << __LINE__;
}
}
void MainWindow::onRefreshTrayIcon()
{
//更新托盘图标显示
int signalStrength = 0;
iconTimer->stop();
if (m_lanWidget->lanIsConnected()) {
m_trayIcon->setIcon(QIcon::fromTheme("network-wired-connected-symbolic"));
iconStatus = IconActiveType::LAN_CONNECTED;
} else if (m_wlanWidget->checkWlanStatus(NetworkManager::ActiveConnection::State::Activated)){
// m_trayIcon->setIcon(QIcon::fromTheme("network-wireless-connected-symbolic"));
signalStrength = m_wlanWidget->getActivateWifiSignal(m_wlanWidget->getCurrentDisplayDevice());
if (signalStrength == -1) {
signalStrength = m_wlanWidget->getActivateWifiSignal();
}
iconStatus = IconActiveType::WLAN_CONNECTED;
} else {
m_trayIcon->setIcon(QIcon::fromTheme("network-wired-disconnected-symbolic"));
iconStatus = IconActiveType::NOT_CONNECTED;
}
NetworkManager::Connectivity connecttivity;
m_wlanWidget->getConnectivity(connecttivity);
if (connecttivity != NetworkManager::Connectivity::Full) {
if (iconStatus == IconActiveType::LAN_CONNECTED) {
m_trayIcon->setIcon(QIcon::fromTheme("network-error-symbolic"));
iconStatus = IconActiveType::LAN_CONNECTED_LIMITED;
} else if (iconStatus == IconActiveType::WLAN_CONNECTED) {
//todo 信号强度
// m_trayIcon->setIcon(QIcon::fromTheme("network-wireless-signal-excellent-error-symbolic"));
iconStatus = IconActiveType::WLAN_CONNECTED_LIMITED;
}
}
if (iconStatus == IconActiveType::WLAN_CONNECTED
|| iconStatus == IconActiveType::WLAN_CONNECTED_LIMITED) {
if (signalStrength > MW_EXCELLENT_SIGNAL){
m_trayIcon->setIcon(QIcon::fromTheme(EXCELLENT_SIGNAL_ICON));
} else if (signalStrength > MW_GOOD_SIGNAL) {
m_trayIcon->setIcon(QIcon::fromTheme(GOOD_SIGNAL_ICON));
} else if (signalStrength > MW_OK_SIGNAL) {
m_trayIcon->setIcon(QIcon::fromTheme(OK_SIGNAL_ICON));
} else if (signalStrength > MW_LOW_SIGNAL) {
m_trayIcon->setIcon(QIcon::fromTheme(LOW_SIGNAL_ICON));
} else {
m_trayIcon->setIcon(QIcon::fromTheme(NONE_SIGNAL_ICON));
}
} else if (iconStatus == IconActiveType::WLAN_CONNECTED_LIMITED) {
if (signalStrength > MW_EXCELLENT_SIGNAL){
m_trayIcon->setIcon(QIcon::fromTheme(EXCELLENT_SIGNAL_LIMIT_ICON));
} else if (signalStrength > MW_GOOD_SIGNAL) {
m_trayIcon->setIcon(QIcon::fromTheme(GOOD_SIGNAL_LIMIT_ICON));
} else if (signalStrength > MW_OK_SIGNAL) {
m_trayIcon->setIcon(QIcon::fromTheme(OK_SIGNAL_LIMIT_ICON));
} else if (signalStrength > MW_LOW_SIGNAL) {
m_trayIcon->setIcon(QIcon::fromTheme(LOW_SIGNAL_LIMIT_ICON));
} else {
m_trayIcon->setIcon(QIcon::fromTheme(NONE_SIGNAL_LIMIT_ICON));
}
}
if(!getConnectivityCheckSpareUriByGDbus().isEmpty()) {
if (iconStatus == IconActiveType::LAN_CONNECTED) {
m_trayIcon->setIcon(QIcon::fromTheme("network-intranet-symbolic"));
} else if (iconStatus == IconActiveType::WLAN_CONNECTED) {
if (signalStrength > MW_EXCELLENT_SIGNAL){
m_trayIcon->setIcon(QIcon::fromTheme(EXCELLENT_SIGNAL_INTRANET_ICON));
} else if (signalStrength > MW_GOOD_SIGNAL) {
m_trayIcon->setIcon(QIcon::fromTheme(GOOD_SIGNAL_INTRANET_ICON));
} else if (signalStrength > MW_OK_SIGNAL) {
m_trayIcon->setIcon(QIcon::fromTheme(OK_SIGNAL_INTRANET_ICON));
} else if (signalStrength > MW_LOW_SIGNAL) {
m_trayIcon->setIcon(QIcon::fromTheme(LOW_SIGNAL_INTRANET_ICON));
} else {
m_trayIcon->setIcon(QIcon::fromTheme(NONE_SIGNAL_INTRANET_ICON));
}
}
}
if (signalStrength == -1) {
m_trayIcon->setIcon(QIcon::fromTheme("network-wired-disconnected-symbolic"));
}
onRefreshTrayIconTooltip();
if (iconStatus > IconActiveType::NOT_CONNECTED) {
m_trayIconMenu->addAction(m_showConnectivityPageAction);
} else {
m_trayIconMenu->removeAction(m_showConnectivityPageAction);
}
}
void MainWindow::onSetTrayIconLoading()
{
if (currentIconIndex > 7) {
currentIconIndex = 0;
}
m_trayIcon->setIcon(loadIcons.at(currentIconIndex));
iconStatus = IconActiveType::ACTIVATING;
currentIconIndex ++;
}
void MainWindow::onConnectStatusToChangeTrayIcon(int state)
{
if (state == 1 || state == 3){
iconStatus = IconActiveType::ACTIVATING;
iconTimer->start(LOADING_TRAYICON_TIMER_MS);
} else {
if (!m_wlanWidget->checkInternetLoading()) {
onRefreshTrayIcon();
}
}
}
void MainWindow::onLanConnectStatusToChangeTrayIcon(int state)
{
qDebug() << "lan state:" << state << Q_FUNC_INFO << __LINE__;
if (state==1 || state==3){
m_lanIsLoading = true;
iconTimer->start(LOADING_TRAYICON_TIMER_MS);
} else {
m_lanIsLoading = false;
if (m_wlanIsLoading == false) {
onRefreshTrayIcon();
}
}
}
void MainWindow::onWlanConnectStatusToChangeTrayIcon(int state)
{
qDebug() << "wlan state:" << state << Q_FUNC_INFO << __LINE__;
if (state==1 || state==3){
m_wlanIsLoading = true;
iconTimer->start(LOADING_TRAYICON_TIMER_MS);
} else {
if (m_wlanWidget->checkWlanStatus(NetworkManager::ActiveConnection::State::Activating)) {
return;
}
m_wlanIsLoading = false;
if (m_lanIsLoading == false) {
onRefreshTrayIcon();
}
}
}
void MainWindow::onTabletModeChanged(bool mode)
{
qDebug() << "TabletMode change" << mode;
Q_UNUSED(mode)
//模式切换时,隐藏主界面
hideMainwindow();
}
/**
* @brief MainWindow::onRefreshTrayIconTooltip 根据托盘图标调整其tooltip
*/
void MainWindow::onRefreshTrayIconTooltip()
{
if (!m_trayIcon) {
return;
}
QString trayIconToolTip = "";
QMap lanMap;
QMap wlanMap;
switch(iconStatus) {
case IconActiveType::NOT_CONNECTED:
trayIconToolTip = QString(tr("Not connected to the network"));
break;
case LAN_CONNECTED:
case IconActiveType::LAN_CONNECTED_LIMITED:
m_lanWidget->getWiredDeviceConnectState(lanMap);
assembleTrayIconTooltip(lanMap, trayIconToolTip);
break;
case IconActiveType::WLAN_CONNECTED:
case IconActiveType::WLAN_CONNECTED_LIMITED:
m_wlanWidget->getWirelssDeviceConnectState(wlanMap);
assembleTrayIconTooltip(wlanMap, trayIconToolTip);
break;
case IconActiveType::ACTIVATING:
default:
trayIconToolTip = QString(tr("Network tool"));
break;
}
m_trayIcon->setToolTip(trayIconToolTip);
}
void MainWindow::onPrimaryScreenChanged()
{
QTimer::singleShot(500, this, [=](){
if (this->isVisible()) {
resetWindowPosition();
}
});
}
void MainWindow::onShowMainWindow(int type)
{
if (type == LANPAGE || type == WLANPAGE) {
m_centralWidget->setCurrentIndex(type);
if(QApplication::activeWindow() != this) {
this->showMainwindow();
}
} else if (type == AUTOSELET) {
onTrayIconActivated(QSystemTrayIcon::ActivationReason::Trigger);
} else {
qWarning() << "unsupport parameter";
}
}
void MainWindow::onConnectivityChanged(NetworkManager::Connectivity connectivity)
{
if (!m_trayIcon) {
return;
}
if (iconStatus == ACTIVATING) {
return;
}
onRefreshTrayIcon();
}
void MainWindow::onConnectivityCheckSpareUriChanged()
{
if (!m_trayIcon) {
return;
}
if (iconStatus == ACTIVATING) {
return;
}
onRefreshTrayIcon();
}
void MainWindow::onTimeUpdateTrayIcon()
{
if (!m_trayIcon) {
return;
}
if (iconStatus == ACTIVATING || (iconStatus != WLAN_CONNECTED && iconStatus != WLAN_CONNECTED_LIMITED)) {
return;
}
onRefreshTrayIcon();
}
/**
* @brief MainWindow::keyPressEvent 按esc键关闭主界面
* @param event
*/
void MainWindow::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_Escape) {
hideMainwindow();
}
return QWidget::keyPressEvent(event);
}
/**
* @brief MainWindow::getWirelessList 获取wifi列表,供dbus调用
* @param devName
* @param list
*/
void MainWindow::getWirelessList(QString devName, QList &list)
{
list.clear();
if (nullptr != m_wlanWidget) {
m_wlanWidget->getWirelessList(devName, list);
}
}
bool MainWindow::getWirelessSwitchBtnState()
{
if (nullptr != m_wlanWidget) {
return m_wlanWidget->getWirelessSwitchBtnState();
}
}
bool MainWindow::getWiredEnabledState()
{
if (nullptr != m_lanWidget) {
return m_lanWidget->getWiredEnabledState();
}
}
bool MainWindow::getCableStateByDevice(const QString &deviceName)
{
if (nullptr != m_lanWidget) {
return m_lanWidget->getCableStateByDevice(deviceName);
}
}
int MainWindow::getDeviceConnectivity(const QString deviceName)
{
if (nullptr != m_lanWidget) {
return m_lanWidget->getDeviceConnectivity(deviceName);
}
}
/**
* @brief MainWindow::getWiredList 获取lan列表,供dbus调用
* @param map
*/
void MainWindow::getWiredList(QString devName, QList &list)
{
list.clear();
if (nullptr != m_lanWidget) {
m_lanWidget->getWiredList(devName, list);
}
}
/**
* @brief MainWindow::activeWirelessAp 开启热点,供dbus调用
* @param apName
* @param apPassword
* @param apDevice
*/
void MainWindow::activeWirelessAp(const QString apName, const QString apPassword, const QString band, const QString apDevice)
{
m_wlanWidget->activeWirelessAp(apName, apPassword, band, apDevice);
}
/**
* @brief MainWindow::activeWirelessAp 断开热点,供dbus调用
* @param apName
*/
void MainWindow::deactiveWirelessAp(const QString apName, const QString uuid)
{
m_wlanWidget->deactiveWirelessAp(apName, uuid);
}
/**
* @brief MainWindow::activeWirelessAp 获取热点,供dbus调用
* @param list
*/
void MainWindow::getApInfoBySsid(QString devName, QString ssid, QStringList &list)
{
m_wlanWidget->getApInfoBySsid(devName, ssid, list);
}
void MainWindow::getStoredApInfo(QStringList &list)
{
m_wlanWidget->getStoredApInfo(list);
}
void MainWindow::getApConnectionPath(QString &path, QString uuid)
{
m_wlanWidget->getApConnectionPath(path, uuid);
}
void MainWindow::getActiveConnectionPath(QString &path, QString uuid)
{
m_wlanWidget->getActiveConnectionPath(path, uuid);
}
//无线开关
void MainWindow::setWirelessSwitchEnable(bool enable)
{
m_wlanWidget->setWirelessSwitchEnable(enable);
}
void MainWindow::setWiredEnableStatus(bool enable)
{
m_lanWidget->setWiredEnabledState(enable);
}
void MainWindow::setWiredDeviceEnable(const QString& devName, bool enable)
{
m_lanWidget->setWiredDeviceEnable(devName, enable);
}
void MainWindow::showPropertyWidget(QString devName, QString ssid)
{
KyNetworkDeviceResourse *devResourse = new KyNetworkDeviceResourse();
QStringList wiredDeviceList;
wiredDeviceList.clear();
devResourse->getNetworkDeviceList(NetworkManager::Device::Type::Ethernet, wiredDeviceList);
if (wiredDeviceList.contains(devName)) {
qDebug() << "showPropertyWidget device type wired device name " << devName << " uuid " << ssid;
m_lanWidget->showDetailPage(devName, ssid);
delete devResourse;
devResourse = nullptr;
return;
}
QStringList wirelessDeviceList;
wirelessDeviceList.clear();
devResourse->getNetworkDeviceList(NetworkManager::Device::Type::Wifi, wirelessDeviceList);
if (wirelessDeviceList.contains(devName)) {
qDebug() << "showPropertyWidget device type wireless device name " << devName << " ssid " << ssid;
m_wlanWidget->showDetailPage(devName, ssid);
delete devResourse;
devResourse = nullptr;
return;
}
qWarning() << "showPropertyWidget no such device " << devName;
delete devResourse;
devResourse = nullptr;
}
void MainWindow::showCreateWiredConnectWidget(const QString devName)
{
qDebug() << "showCreateWiredConnectWidget! devName = " << devName;
if (m_createPagePtrMap.contains(devName)) {
if (m_createPagePtrMap[devName] != nullptr) {
qDebug() << "showCreateWiredConnectWidget" << devName << "already create,just raise";
KX11Extras::forceActiveWindow(m_createPagePtrMap[devName]->winId());
//KWindowSystem::raiseWindow(m_createPagePtrMap[devName]->winId());////mqtest qt6移除待sdk说明
return;
}
}
NetDetail *netDetail = new NetDetail(devName, "", "", false, false, true,0,this);
connect(netDetail, &NetDetail::createPageClose, [&](QString interfaceName){
if (m_createPagePtrMap.contains(interfaceName)) {
m_createPagePtrMap[interfaceName] = nullptr;
}
});
m_createPagePtrMap.insert(devName, netDetail);
netDetail->show();
}
void MainWindow::showAddOtherWlanWidget(QString devName)
{
qDebug() << "showAddOtherWlanWidget! devName = " << devName;
m_wlanWidget->showAddOtherPage(devName);
}
void MainWindow::getWirelessDeviceCap(QMap &map)
{
m_wlanWidget->getWirelessDeviceCap(map);
}
//有线连接断开
void MainWindow::activateWired(const QString& devName, const QString& connUuid)
{
m_lanWidget->activateWired(devName, connUuid);
}
void MainWindow::deactivateWired(const QString& devName, const QString& connUuid, bool concise)
{
m_lanWidget->deactivateWired(devName, connUuid, concise);
}
void MainWindow::setWiredDeviceAutoconnect(const QString& devName, bool state)
{
m_lanWidget->setWiredDeviceAutoconnect(devName, state);
}
void MainWindow::deleteWiredConnect(int type, const QString& connUuid)
{
qDebug() << Q_FUNC_INFO << __LINE__ << type << connUuid;
if (type == 0)
m_lanWidget->deleteWiredConnect(connUuid);
}
//无线连接断开
void MainWindow::activateWireless(const QString& devName, const QString& ssid)
{
m_wlanWidget->activateWirelessConnection(devName, ssid);
}
void MainWindow::deactivateWireless(const QString& devName, const QString& ssid)
{
m_wlanWidget->deactivateWirelessConnection(devName, ssid);
}
void MainWindow::deleteWireleeConnect(int type, const QString& connUuid)
{
qDebug() << Q_FUNC_INFO << __LINE__ << type << connUuid;
if (type == 1)
m_wlanWidget->deleteWirelessConnect(connUuid);
}
void MainWindow::rescan()
{
m_wlanWidget->requestScan();
}
void MainWindow::passwordConnect(QString devName, QString ssid, QString type, QString psk, bool autoConnect) {
KyWirelessConnectOperation m_wirelessConnectOperation;
KyWirelessConnectSetting settings;
settings.m_connectName = ssid;
settings.m_ssid = ssid;
settings.isAutoConnect = autoConnect;
settings.m_psk = psk;
if (type.isEmpty() || type == "") {
settings.m_type = WpaNone;
} else if (type.contains("WPA1") || type.contains("WPA2")) {
settings.m_type = WpaPsk;
} else if (type.contains("WPA3")) {
settings.m_type = SAE;
}
m_wirelessConnectOperation.addAndActiveWirelessConnect(devName, settings, false);
}
void MainWindow::keyRingInit()
{
agent_init();
qDebug()<lanIsConnected() && m_wlanWidget->checkWlanStatus(NetworkManager::ActiveConnection::State::Activated)){
process.startDetached("ukui-control-center", QStringList() << "-m" << "wlanconnect");
} else {
process.startDetached("ukui-control-center", QStringList() << "-m" << "netconnect");
}
}
/*弹窗时机应该自洽,原方案两个包之间会通过dbus交互,登录锁屏前端容易崩,直接使用后端锁屏与否的信号来决定是否在桌面注册弹窗*/
void MainWindow::kylinAgentInit()
{
bool lockState = false;
QDBusInterface dbusInterface("org.ukui.ScreenSaver",
"/",
"org.ukui.ScreenSaver",
QDBusConnection::sessionBus());
if (!dbusInterface.isValid()) {
qWarning()<无线 后面拓展
*/
void MainWindow::netCtrlDiscon(QMap lanMap,QMap wlanMap)
{
NetworkManager::Connection::Ptr connectPtr;
int priority=0;
int maxPriority=0;
QString maxDevName;
QString maxUuid;
int fristFlag=1,haveWireCon=0;
/*多连接有线只保留优先级最高的一个连接*/
if(lanMap.size())
{
for (auto itLan=lanMap.cbegin();itLan != lanMap.cend(); ++itLan)
{
QString key = itLan.key();
QString uuid = itLan.value();
connectPtr =NetworkManager::findConnectionByUuid(uuid);
if(connectPtr.isNull() || connectPtr->settings().isNull())
{
continue;
}
priority = connectPtr->settings()->autoconnectPriority();
/*缓存连接*/
if(fristFlag)
{
maxDevName=key;
maxUuid=uuid;
maxPriority=priority;
fristFlag=0;
continue;
}
if(maxPrioritydeactivateWired(maxDevName,maxUuid);
maxDevName=key;
maxUuid=uuid;
maxPriority=priority;
}
else
{
m_lanWidget->deactivateWired(key,uuid);
}
}
haveWireCon=1;//有有线连接需要全部关掉
}
else
{
haveWireCon=0;//无有线连接需要保留一个无线
}
maxDevName.clear();
maxUuid.clear();
maxPriority=0;
fristFlag=1;
if(wlanMap.size())
{
for (auto itWlan = wlanMap.cbegin(); itWlan != wlanMap.cend(); ++itWlan)
{
QString key = itWlan.key();
QString uuid = itWlan.value();
connectPtr =NetworkManager::findConnectionByUuid(uuid);
if(connectPtr.isNull() || connectPtr->settings().isNull())
{
continue;
}
priority = connectPtr->settings()->autoconnectPriority();
if(haveWireCon)
{
m_wlanWidget->deactivateWirelessConnectionWithUuid(key,uuid);
continue;
}
/*缓存连接*/
if(fristFlag)
{
maxDevName=key;
maxUuid=uuid;
maxPriority=priority;
fristFlag=0;
continue;
}
if(maxPrioritydeactivateWirelessConnectionWithUuid(maxDevName,maxUuid);
maxDevName=key;
maxUuid=uuid;
maxPriority=priority;
}
else
{
m_wlanWidget->deactivateWirelessConnectionWithUuid(key,uuid);
}
}
}
}
/*禁止双跨时虽然后端做了连接限制,但是开始在没打开管控规则时可能存在多个连接已经连上的情况,在打开管控规则时应该要主动断开*/
void MainWindow::updateNetCtrl(QString modName,QVariantMap value)
{
QMap lanMap;
QMap wlanMap;
bool enable=false;
if(modName!="Connect") return;
qInfo()<getWiredDeviceConnect(lanMap);
m_wlanWidget->getWirelssDeviceConnect(wlanMap);
/*禁止双跨时主动断开*/
netCtrlDiscon(lanMap,wlanMap);
return;
}
void MainWindow::initNetCtrl()
{
QVariantMap map;
int errCode=0;
QString netCtrlConnectName="Connect";
/*
QDBusReply reply = m_interface->call(QStringLiteral("getNetContrlRule"),netCtrlConnectName);//不能使用该接口,获取不到数据
if (!reply.isValid())
{
qWarning() << "D-Bus call failed:" << reply.error().message();
}
*/
QDBusInterface dbusInterface("com.kylin.networkCtrol",
"/com/kylin/networkCtrol",
"com.kylin.networkCtrol",
QDBusConnection::systemBus());
if (!dbusInterface.isValid()) {
qWarning()<=2)
{
const QDBusArgument &dbusArg1st = result.arguments().at( 0 ).value();
dbusArg1st >> map;
errCode = result.arguments().at( 1 ).toInt();
qInfo()<<"mainwindows"<