mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Merge branch 'dev' into search-open-explorer-window-tweaks
This commit is contained in:
commit
2212eac9c9
77 changed files with 364 additions and 185 deletions
44
.github/workflows/spelling.yml
vendored
44
.github/workflows/spelling.yml
vendored
|
|
@ -34,12 +34,12 @@ name: Check Spelling
|
|||
# For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '**'
|
||||
- '!l10n_dev'
|
||||
tags-ignore:
|
||||
- "**"
|
||||
# push:
|
||||
# branches:
|
||||
# - '**'
|
||||
# - '!l10n_dev'
|
||||
# tags-ignore:
|
||||
# - "**"
|
||||
pull_request_target:
|
||||
branches:
|
||||
- '**'
|
||||
|
|
@ -65,7 +65,7 @@ jobs:
|
|||
outputs:
|
||||
followup: ${{ steps.spelling.outputs.followup }}
|
||||
runs-on: ubuntu-latest
|
||||
if: (contains(github.event_name, 'pull_request') && github.head_ref != 'l10n_dev') || github.event_name == 'push'
|
||||
if: (contains(github.event_name, 'pull_request') && github.head_ref != 'l10n_dev')
|
||||
concurrency:
|
||||
group: spelling-${{ github.event.pull_request.number || github.ref }}
|
||||
# note: If you use only_check_changed_files, you do not want cancel-in-progress
|
||||
|
|
@ -103,21 +103,21 @@ jobs:
|
|||
|
||||
|
||||
|
||||
comment-push:
|
||||
name: Report (Push)
|
||||
# If your workflow isn't running on push, you can remove this job
|
||||
runs-on: ubuntu-latest
|
||||
needs: spelling
|
||||
permissions:
|
||||
contents: write
|
||||
if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push'
|
||||
steps:
|
||||
- name: comment
|
||||
uses: check-spelling/check-spelling@main
|
||||
with:
|
||||
checkout: true
|
||||
spell_check_this: check-spelling/spell-check-this@main
|
||||
task: ${{ needs.spelling.outputs.followup }}
|
||||
# comment-push:
|
||||
# name: Report (Push)
|
||||
# # If your workflow isn't running on push, you can remove this job
|
||||
# runs-on: ubuntu-latest
|
||||
# needs: spelling
|
||||
# permissions:
|
||||
# contents: write
|
||||
# if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push'
|
||||
# steps:
|
||||
# - name: comment
|
||||
# uses: check-spelling/check-spelling@main
|
||||
# with:
|
||||
# checkout: true
|
||||
# spell_check_this: check-spelling/spell-check-this@main
|
||||
# task: ${{ needs.spelling.outputs.followup }}
|
||||
|
||||
comment-pr:
|
||||
name: Report (PR)
|
||||
|
|
|
|||
|
|
@ -336,7 +336,7 @@
|
|||
<system:String x:Key="HotkeyUpDownDesc">Indietro / Menu contestuale</system:String>
|
||||
<system:String x:Key="HotkeyLeftRightDesc">Navigazione tra le voci</system:String>
|
||||
<system:String x:Key="HotkeyShiftEnterDesc">Apri il menu di scelta rapida</system:String>
|
||||
<system:String x:Key="HotkeyCtrlEnterDesc">Apri la cartella Contaning</system:String>
|
||||
<system:String x:Key="HotkeyCtrlEnterDesc">Apri cartella superiore</system:String>
|
||||
<system:String x:Key="HotkeyCtrlShiftEnterDesc">Esegui come amministratore</system:String>
|
||||
<system:String x:Key="HotkeyCtrlHDesc">Cronologia Query</system:String>
|
||||
<system:String x:Key="HotkeyESCDesc">Torna al risultato nel menu contestuale</system:String>
|
||||
|
|
|
|||
|
|
@ -335,7 +335,7 @@ Queira por favor mover a pasta do seu perfil de {0} para {1}
|
|||
<system:String x:Key="HotkeyUpDownDesc">Recuar/Menu de contexto</system:String>
|
||||
<system:String x:Key="HotkeyLeftRightDesc">Navegação nos itens</system:String>
|
||||
<system:String x:Key="HotkeyShiftEnterDesc">Abrir menu de contexto</system:String>
|
||||
<system:String x:Key="HotkeyCtrlEnterDesc">Abrir pasta</system:String>
|
||||
<system:String x:Key="HotkeyCtrlEnterDesc">Abrir pasta do resultado</system:String>
|
||||
<system:String x:Key="HotkeyCtrlShiftEnterDesc">Executar como administrador</system:String>
|
||||
<system:String x:Key="HotkeyCtrlHDesc">Histórico de consultas</system:String>
|
||||
<system:String x:Key="HotkeyESCDesc">Voltar aos resultados no menu de contexto</system:String>
|
||||
|
|
|
|||
|
|
@ -234,7 +234,7 @@
|
|||
<system:String x:Key="fileManager_file_arg">Arg For File</system:String>
|
||||
|
||||
<!-- DefaultBrowser Setting Dialog -->
|
||||
<system:String x:Key="defaultBrowserTitle">Default Web Browser</system:String>
|
||||
<system:String x:Key="defaultBrowserTitle">Varsayılan İnternet Tarayıcısı</system:String>
|
||||
<system:String x:Key="defaultBrowser_tips">The default setting follows the OS default browser setting. If specified separately, flow uses that browser.</system:String>
|
||||
<system:String x:Key="defaultBrowser_name">Browser</system:String>
|
||||
<system:String x:Key="defaultBrowser_profile_name">Browser Name</system:String>
|
||||
|
|
|
|||
|
|
@ -89,9 +89,9 @@
|
|||
<system:String x:Key="plugin_explorer_add_to_quickaccess_title">Añadir al acceso rápido</system:String>
|
||||
<system:String x:Key="plugin_explorer_add_to_quickaccess_subtitle">Añade elemento actual al acceso rápido</system:String>
|
||||
<system:String x:Key="plugin_explorer_addfilefoldersuccess">Añadido/a correctamente</system:String>
|
||||
<system:String x:Key="plugin_explorer_addfilefoldersuccess_detail">Añadido/a correctamente al acceso rápido</system:String>
|
||||
<system:String x:Key="plugin_explorer_addfilefoldersuccess_detail">Añadido correctamente al acceso rápido</system:String>
|
||||
<system:String x:Key="plugin_explorer_removefilefoldersuccess">Eliminado/a correctamente</system:String>
|
||||
<system:String x:Key="plugin_explorer_removefilefoldersuccess_detail">Eliminado/a correctamente del acceso rápido</system:String>
|
||||
<system:String x:Key="plugin_explorer_removefilefoldersuccess_detail">Eliminado correctamente del acceso rápido</system:String>
|
||||
<system:String x:Key="plugin_explorer_contextmenu_titletooltip">Añade al acceso rápido para que se pueda abrir con la palabra clave de acción que activa la búsqueda del explorador</system:String>
|
||||
<system:String x:Key="plugin_explorer_contextmenu_remove_titletooltip">Eliminar del acceso rápido</system:String>
|
||||
<system:String x:Key="plugin_explorer_remove_from_quickaccess_title">Eliminar del acceso rápido</system:String>
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@
|
|||
<system:String x:Key="plugin_explorer_opencontainingfolder_subtitle">Otvoriť umiestnenie aktuálnej položky</system:String>
|
||||
<system:String x:Key="plugin_explorer_openwitheditor">Otvoriť v editore:</system:String>
|
||||
<system:String x:Key="plugin_explorer_openwitheditor_error">Nepodarilo sa otvoriť súbor {0} v editore {1} – {2}</system:String>
|
||||
<system:String x:Key="plugin_explorer_openwithshell">Otvori v príkazovom riadku:</system:String>
|
||||
<system:String x:Key="plugin_explorer_openwithshell">Otvoriť v príkazovom riadku:</system:String>
|
||||
<system:String x:Key="plugin_explorer_openwithshell_error">Nepodarilo sa otvoriť priečinok {0} v prostredí {1} – {2}</system:String>
|
||||
<system:String x:Key="plugin_explorer_excludefromindexsearch">Vylúčiť položku a jej podpriečinky z indexu vyhľadávania</system:String>
|
||||
<system:String x:Key="plugin_explorer_excludedfromindexsearch_msg">Vylúčiť z indexu vyhľadávania</system:String>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Provides plugins action words suggestions</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indikator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Stellt Vorschläge für Plugin-Befehle bereit</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Indicador de Plugins</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Sugiere palabras clave de plugins</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activa {0} palabra clave de acción del complemento</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Indicador de complementos</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Proporciona sugerencias de palabras de acción para los complementos</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Provides plugins action words suggestions</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Indicatore Plugin</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Fornisce suggerimenti sulle parole d'azione dei plugin</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Provides plugins action words suggestions</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">플러그인 인디케이터</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">플러그인의 액션 키워드 제안을 제공합니다</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Provides plugins action words suggestions</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Provides plugins action words suggestions</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Pokazuje podpowiedzi jakich zainstalowanych wtyczek możesz użyć</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Provides plugins action words suggestions</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Palavra-chave para ativar o plugin {0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicador</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Disponibiliza sugestões de palavras-chave para os plugins</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Provides plugins action words suggestions</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Aktivovať plugin {0} aktivačným príkazom</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Ponúka návrhy pre akcie pluginov</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Provides plugins action words suggestions</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Eklenti Göstergesi</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Eklenti eylemleri hakkında kelime önerileri sunar</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">Plugin Indicator</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">Provides plugins action words suggestions</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">激活 {0} 插件的关键字</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">插件关键词提示</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">提供插件关键词搜索提示</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib">
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_result_subtitle">Activate {0} plugin action keyword</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_name">套件關鍵字提示</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_pluginindicator_plugin_description">提供套件關鍵字搜尋提示</system:String>
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<system:String x:Key="plugin_pluginsmanager_install_errormetadatafile">Impossibile trovare il file dei metadati plugin.json dal file zip estratto.</system:String>
|
||||
<system:String x:Key="plugin_pluginsmanager_install_error_duplicate">Errore: esiste già un plugin che ha la stessa o maggiore versione con {0}.</system:String>
|
||||
<system:String x:Key="plugin_pluginsmanager_install_error_title">Errore durante l'installazione del plugin</system:String>
|
||||
<system:String x:Key="plugin_pluginsmanager_install_error_subtitle">Errore durante il tentativo di installare {0}</system:String>
|
||||
<system:String x:Key="plugin_pluginsmanager_install_error_subtitle">Error occurred while trying to install {0}</system:String>
|
||||
<system:String x:Key="plugin_pluginsmanager_update_noresult_title">Nessun aggiornamento disponibile</system:String>
|
||||
<system:String x:Key="plugin_pluginsmanager_update_noresult_subtitle">Tutti i plugin sono aggiornati</system:String>
|
||||
<system:String x:Key="plugin_pluginsmanager_update_prompt">{0} da {1} {2}{3}Vuoi aggiornare questo plugin? Dopo l'aggiornamento, Flow si riavvierà automaticamente.</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
|
||||
<system:String x:Key="flowlauncher_plugin_program_customizedexplorer">Customized Explorer</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_args">Args</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_customizedexplorer">You can customized the explorer used for opening the container folder by inputting the Environmental Variable of the explorer you want to use. It will be useful to use CMD to test whether the Environmental Variable is available.</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_customizedexplorer">You can customized the explorer used for opening the container folder by inputing the Environmental Variable of the explorer you want to use. It will be useful to use CMD to test whether the Environmental Variable is available.</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_args">Enter the customized args you want to add for your customized explorer. %s for parent directory, %f for full path (which only works for win32). Check the explorer's website for details.</system:String>
|
||||
|
||||
<!-- Dialogs -->
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">Dateiendungen dürfen nicht leer sein</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">Indexiere Dateiendungen</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">Indexiere Dateiendungen</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
|
||||
<system:String x:Key="flowlauncher_plugin_program_customizedexplorer">Customized Explorer</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_args">Args</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_customizedexplorer">You can customized the explorer used for opening the container folder by inputting the Environmental Variable of the explorer you want to use. It will be useful to use CMD to test whether the Environmental Variable is avaliable.</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_customizedexplorer">You can customized the explorer used for opening the container folder by inputing the Environmental Variable of the explorer you want to use. It will be useful to use CMD to test whether the Environmental Variable is available.</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_args">Enter the customized args you want to add for your customized explorer. %s for parent directory, %f for full path (which only works for win32). Check the explorer's website for details.</system:String>
|
||||
|
||||
<!-- Dialogs -->
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">Las extensiones de archivo no pueden estar vacías</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Los protocolos no pueden estar vacíos</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">Extensiones de archivo</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">Extensiones de archivo</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">Protocolos URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Juegos Steam</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Juegos Epic</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
|
||||
<system:String x:Key="flowlauncher_plugin_program_customizedexplorer">Customized Explorer</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_args">Args</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_customizedexplorer">You can customized the explorer used for opening the container folder by inputting the Environmental Variable of the explorer you want to use. It will be useful to use CMD to test whether the Environmental Variable is avaliable.</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_customizedexplorer">You can customized the explorer used for opening the container folder by inputing the Environmental Variable of the explorer you want to use. It will be useful to use CMD to test whether the Environmental Variable is available.</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_args">Enter the customized args you want to add for your customized explorer. %s for parent directory, %f for full path (which only works for win32). Check the explorer's website for details.</system:String>
|
||||
|
||||
<!-- Dialogs -->
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
|
||||
<system:String x:Key="flowlauncher_plugin_program_customizedexplorer">Customized Explorer</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_args">Args</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_customizedexplorer">You can customized the explorer used for opening the container folder by inputting the Environmental Variable of the explorer you want to use. It will be useful to use CMD to test whether the Environmental Variable is avaliable.</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_customizedexplorer">You can customized the explorer used for opening the container folder by inputing the Environmental Variable of the explorer you want to use. It will be useful to use CMD to test whether the Environmental Variable is available.</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_tooltip_args">Enter the customized args you want to add for your customized explorer. %s for parent directory, %f for full path (which only works for win32). Check the explorer's website for details.</system:String>
|
||||
|
||||
<!-- Dialogs -->
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">Index file suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">Index file suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">파일 확장자는 비울 수 없습니다</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">파일 확장자</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">파일 확장자</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">Musisz podać rozszerzenia plików</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">Rozszerzenia indeksowanych plików</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">Rozszerzenia indeksowanych plików</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">Não pode indicar sufixos vazios</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Os protocolos não podem estar vazios</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">Sufixos de ficheiros</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">Sufixos de ficheiros</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">Protocolos de URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">Pole s príponami nemôže byť prázdne</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protokoly musia byť vyplnené</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">Prípony súborov</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">Prípony súborov</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">Protokoly URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Hry v službe Steam</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Hry v službe Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">Dosya uzantıları boş olamaz</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">İndekslenecek Uzantılar</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">İndekslenecek Uzantılar</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">File suffixes can't be empty</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">File Suffixes</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">文件后缀不能为空</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">协议不能为空</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">文件后缀</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">文件后缀</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL 协议</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam 游戏</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic 游戏</system:String>
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_program_suffixes_cannot_empty">副檔名不能為空</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_protocols_cannot_empty">Protocols can't be empty</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_excutable_types">索引副檔名清單</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_executable_types">索引副檔名清單</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_types">URL Protocols</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_steam">Steam Games</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_program_suffixes_URL_epic">Epic Games</system:String>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using System.Text;
|
|||
using System.Runtime.InteropServices;
|
||||
using Accessibility;
|
||||
using System.Runtime.InteropServices.ComTypes;
|
||||
using Flow.Launcher.Plugin.Program.Logger;
|
||||
|
||||
namespace Flow.Launcher.Plugin.Program.Programs
|
||||
{
|
||||
|
|
@ -119,9 +120,19 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
// To set the app description
|
||||
if (!String.IsNullOrEmpty(target))
|
||||
{
|
||||
buffer = new StringBuilder(MAX_PATH);
|
||||
((IShellLinkW)link).GetDescription(buffer, MAX_PATH);
|
||||
description = buffer.ToString();
|
||||
try
|
||||
{
|
||||
buffer = new StringBuilder(MAX_PATH);
|
||||
((IShellLinkW)link).GetDescription(buffer, MAX_PATH);
|
||||
description = buffer.ToString();
|
||||
}
|
||||
catch (COMException e)
|
||||
{
|
||||
// C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\MiracastView.lnk always cause exception
|
||||
ProgramLogger.LogException($"|IShellLinkW|retrieveTargetPath|{path}" +
|
||||
"|Error caused likely due to trying to get the description of the program",
|
||||
e);
|
||||
}
|
||||
|
||||
buffer.Clear();
|
||||
((IShellLinkW)link).GetArguments(buffer, MAX_PATH);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,92 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
|
||||
namespace Flow.Launcher.Plugin.Program.Programs
|
||||
{
|
||||
// From PT Run
|
||||
/// <summary>
|
||||
/// Class to get localized name of shell items like 'My computer'. The localization is based on the 'windows display language'.
|
||||
/// Reused code from https://stackoverflow.com/questions/41423491/how-to-get-localized-name-of-known-folder for the method <see cref="GetLocalizedName"/>
|
||||
/// </summary>
|
||||
public static class ShellLocalization
|
||||
{
|
||||
internal const uint DONTRESOLVEDLLREFERENCES = 0x00000001;
|
||||
internal const uint LOADLIBRARYASDATAFILE = 0x00000002;
|
||||
|
||||
[DllImport("shell32.dll", CallingConvention = CallingConvention.Winapi, CharSet = CharSet.Unicode)]
|
||||
internal static extern int SHGetLocalizedName(string pszPath, StringBuilder pszResModule, ref int cch, out int pidsRes);
|
||||
|
||||
[DllImport("user32.dll", EntryPoint = "LoadStringW", CallingConvention = CallingConvention.Winapi, CharSet = CharSet.Unicode)]
|
||||
internal static extern int LoadString(IntPtr hModule, int resourceID, StringBuilder resourceValue, int len);
|
||||
|
||||
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, ExactSpelling = true, EntryPoint = "LoadLibraryExW")]
|
||||
internal static extern IntPtr LoadLibraryEx(string lpFileName, IntPtr hFile, uint dwFlags);
|
||||
|
||||
[DllImport("kernel32.dll", ExactSpelling = true)]
|
||||
internal static extern int FreeLibrary(IntPtr hModule);
|
||||
|
||||
[DllImport("kernel32.dll", EntryPoint = "ExpandEnvironmentStringsW", CharSet = CharSet.Unicode, ExactSpelling = true)]
|
||||
internal static extern uint ExpandEnvironmentStrings(string lpSrc, StringBuilder lpDst, int nSize);
|
||||
|
||||
/// <summary>
|
||||
/// Returns the localized name of a shell item.
|
||||
/// </summary>
|
||||
/// <param name="path">Path to the shell item (e. g. shortcut 'File Explorer.lnk').</param>
|
||||
/// <returns>The localized name as string or <see cref="string.Empty"/>.</returns>
|
||||
public static string GetLocalizedName(string path)
|
||||
{
|
||||
StringBuilder resourcePath = new StringBuilder(1024);
|
||||
StringBuilder localizedName = new StringBuilder(1024);
|
||||
int len, id;
|
||||
len = resourcePath.Capacity;
|
||||
|
||||
// If there is no resource to localize a file name the method returns a non zero value.
|
||||
if (SHGetLocalizedName(path, resourcePath, ref len, out id) == 0)
|
||||
{
|
||||
_ = ExpandEnvironmentStrings(resourcePath.ToString(), resourcePath, resourcePath.Capacity);
|
||||
IntPtr hMod = LoadLibraryEx(resourcePath.ToString(), IntPtr.Zero, DONTRESOLVEDLLREFERENCES | LOADLIBRARYASDATAFILE);
|
||||
if (hMod != IntPtr.Zero)
|
||||
{
|
||||
if (LoadString(hMod, id, localizedName, localizedName.Capacity) != 0)
|
||||
{
|
||||
string lString = localizedName.ToString();
|
||||
_ = FreeLibrary(hMod);
|
||||
return lString;
|
||||
}
|
||||
|
||||
_ = FreeLibrary(hMod);
|
||||
}
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method returns the localized path to a shell item (folder or file)
|
||||
/// </summary>
|
||||
/// <param name="path">The path to localize</param>
|
||||
/// <returns>The localized path or the original path if localized version is not available</returns>
|
||||
public static string GetLocalizedPath(string path)
|
||||
{
|
||||
path = Environment.ExpandEnvironmentVariables(path);
|
||||
string ext = Path.GetExtension(path);
|
||||
var pathParts = path.Split("\\");
|
||||
string[] locPath = new string[pathParts.Length];
|
||||
|
||||
for (int i = 0; i < pathParts.Length; i++)
|
||||
{
|
||||
int iElements = i + 1;
|
||||
string lName = GetLocalizedName(string.Join("\\", pathParts[..iElements]));
|
||||
locPath[i] = !string.IsNullOrEmpty(lName) ? lName : pathParts[i];
|
||||
}
|
||||
|
||||
string newPath = string.Join("\\", locPath);
|
||||
newPath = !newPath.EndsWith(ext, StringComparison.InvariantCultureIgnoreCase) ? newPath + ext : newPath;
|
||||
|
||||
return newPath;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -249,24 +249,24 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
|
||||
private static IEnumerable<Package> CurrentUserPackages()
|
||||
{
|
||||
var u = WindowsIdentity.GetCurrent().User;
|
||||
var user = WindowsIdentity.GetCurrent().User;
|
||||
|
||||
if (u != null)
|
||||
if (user != null)
|
||||
{
|
||||
var id = u.Value;
|
||||
PackageManager m;
|
||||
var userId = user.Value;
|
||||
PackageManager packageManager;
|
||||
try
|
||||
{
|
||||
m = new PackageManager();
|
||||
packageManager = new PackageManager();
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Bug from https://github.com/microsoft/CsWinRT, using Microsoft.Windows.SDK.NET.Ref 10.0.19041.0.
|
||||
// Only happens on the first time, so a try catch can fix it.
|
||||
m = new PackageManager();
|
||||
packageManager = new PackageManager();
|
||||
}
|
||||
var ps = m.FindPackagesForUser(id);
|
||||
ps = ps.Where(p =>
|
||||
var packages = packageManager.FindPackagesForUser(userId);
|
||||
packages = packages.Where(p =>
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -277,12 +277,12 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ProgramLogger.LogException("UWP", "CurrentUserPackages", $"{id}", "An unexpected error occurred and "
|
||||
ProgramLogger.LogException("UWP", "CurrentUserPackages", $"{p.Id.FullName}", "An unexpected error occurred and "
|
||||
+ $"unable to verify if package is valid", e);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
return ps;
|
||||
return packages;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
public class Win32 : IProgram, IEquatable<Win32>
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string UniqueIdentifier { get => _uid; set => _uid = value == null ? string.Empty : value.ToLowerInvariant(); } // For path comparison
|
||||
public string UniqueIdentifier { get => _uid; set => _uid = value == null ? string.Empty : value.ToLowerInvariant(); } // For path comparison
|
||||
public string IcoPath { get; set; }
|
||||
/// <summary>
|
||||
/// Path of the file. It's the path of .lnk and .url for .lnk and .url files.
|
||||
|
|
@ -34,16 +34,22 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
/// </summary>
|
||||
public string LnkResolvedPath { get; set; }
|
||||
/// <summary>
|
||||
/// Path of the actual executable file.
|
||||
/// Path of the actual executable file. Args are included.
|
||||
/// </summary>
|
||||
public string ExecutablePath => LnkResolvedPath ?? FullPath;
|
||||
public string ParentDirectory { get; set; }
|
||||
/// <summary>
|
||||
/// Name of the executable for .lnk files
|
||||
/// </summary>
|
||||
public string ExecutableName { get; set; }
|
||||
public string Description { get; set; }
|
||||
public bool Valid { get; set; }
|
||||
public bool Enabled { get; set; }
|
||||
public string Location => ParentDirectory;
|
||||
|
||||
// Localized name based on windows display language
|
||||
public string LocalizedName { get; set; } = string.Empty;
|
||||
|
||||
private const string ShortcutExtension = "lnk";
|
||||
private const string UrlExtension = "url";
|
||||
private const string ExeExtension = "exe";
|
||||
|
|
@ -63,48 +69,90 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
Enabled = false
|
||||
};
|
||||
|
||||
private static MatchResult Match(string query, IReadOnlyCollection<string> candidates)
|
||||
{
|
||||
if (candidates.Count == 0)
|
||||
return null;
|
||||
|
||||
var match = candidates.Select(candidate => StringMatcher.FuzzySearch(query, candidate))
|
||||
.MaxBy(match => match.Score);
|
||||
|
||||
return match?.IsSearchPrecisionScoreMet() ?? false ? match : null;
|
||||
}
|
||||
|
||||
public Result Result(string query, IPublicAPI api)
|
||||
{
|
||||
string title;
|
||||
MatchResult matchResult;
|
||||
|
||||
// We suppose Name won't be null
|
||||
if (!Main._settings.EnableDescription || Description == null || Name.StartsWith(Description))
|
||||
// Name of the result
|
||||
// Check equality to avoid matching again in candidates
|
||||
bool useLocalizedName = !string.IsNullOrEmpty(LocalizedName) && !Name.Equals(LocalizedName);
|
||||
string resultName = useLocalizedName ? LocalizedName : Name;
|
||||
|
||||
if (!Main._settings.EnableDescription)
|
||||
{
|
||||
title = Name;
|
||||
matchResult = StringMatcher.FuzzySearch(query, title);
|
||||
}
|
||||
else if (Description.StartsWith(Name))
|
||||
{
|
||||
title = Description;
|
||||
matchResult = StringMatcher.FuzzySearch(query, Description);
|
||||
title = resultName;
|
||||
matchResult = StringMatcher.FuzzySearch(query, resultName);
|
||||
}
|
||||
else
|
||||
{
|
||||
title = $"{Name}: {Description}";
|
||||
var nameMatch = StringMatcher.FuzzySearch(query, Name);
|
||||
var descriptionMatch = StringMatcher.FuzzySearch(query, Description);
|
||||
if (descriptionMatch.Score > nameMatch.Score)
|
||||
if (string.IsNullOrEmpty(Description) || resultName.StartsWith(Description))
|
||||
{
|
||||
for (int i = 0; i < descriptionMatch.MatchData.Count; i++)
|
||||
{
|
||||
descriptionMatch.MatchData[i] += Name.Length + 2; // 2 is ": "
|
||||
}
|
||||
matchResult = descriptionMatch;
|
||||
// Description is invalid or included in resultName
|
||||
// Description is always localized, so Name.StartsWith(Description) is generally useless
|
||||
title = resultName;
|
||||
matchResult = StringMatcher.FuzzySearch(query, resultName);
|
||||
}
|
||||
else if (Description.StartsWith(resultName))
|
||||
{
|
||||
// resultName included in Description
|
||||
title = Description;
|
||||
matchResult = StringMatcher.FuzzySearch(query, Description);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Search in both
|
||||
title = $"{resultName}: {Description}";
|
||||
var nameMatch = StringMatcher.FuzzySearch(query, resultName);
|
||||
var descriptionMatch = StringMatcher.FuzzySearch(query, Description);
|
||||
if (descriptionMatch.Score > nameMatch.Score)
|
||||
{
|
||||
for (int i = 0; i < descriptionMatch.MatchData.Count; i++)
|
||||
{
|
||||
descriptionMatch.MatchData[i] += resultName.Length + 2; // 2 is ": "
|
||||
}
|
||||
matchResult = descriptionMatch;
|
||||
}
|
||||
else
|
||||
{
|
||||
matchResult = nameMatch;
|
||||
}
|
||||
}
|
||||
else matchResult = nameMatch;
|
||||
}
|
||||
|
||||
List<string> candidates = new List<string>();
|
||||
|
||||
if (!matchResult.IsSearchPrecisionScoreMet())
|
||||
{
|
||||
if (ExecutableName != null) // only lnk program will need this one
|
||||
matchResult = StringMatcher.FuzzySearch(query, ExecutableName);
|
||||
|
||||
if (!matchResult.IsSearchPrecisionScoreMet())
|
||||
{
|
||||
candidates.Add(ExecutableName);
|
||||
}
|
||||
if (useLocalizedName)
|
||||
{
|
||||
candidates.Add(Name);
|
||||
}
|
||||
matchResult = Match(query, candidates);
|
||||
if (matchResult == null)
|
||||
{
|
||||
return null;
|
||||
|
||||
matchResult.MatchData = new List<int>();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Nothing to highlight in title in this case
|
||||
matchResult.MatchData.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
string subtitle = string.Empty;
|
||||
|
|
@ -267,51 +315,40 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
ShellLinkHelper _helper = new ShellLinkHelper();
|
||||
string target = _helper.retrieveTargetPath(path);
|
||||
|
||||
if (!string.IsNullOrEmpty(target))
|
||||
if (!string.IsNullOrEmpty(target) && File.Exists(target))
|
||||
{
|
||||
var extension = Extension(target);
|
||||
if (extension == ExeExtension && File.Exists(target))
|
||||
program.LnkResolvedPath = Path.GetFullPath(target);
|
||||
program.ExecutableName = Path.GetFileName(target);
|
||||
|
||||
var args = _helper.arguments;
|
||||
if (!string.IsNullOrEmpty(args))
|
||||
{
|
||||
program.LnkResolvedPath = Path.GetFullPath(target);
|
||||
program.ExecutableName = Path.GetFileName(target);
|
||||
program.LnkResolvedPath += " " + args;
|
||||
}
|
||||
|
||||
var args = _helper.arguments;
|
||||
if(!string.IsNullOrEmpty(args))
|
||||
var description = _helper.description;
|
||||
if (!string.IsNullOrEmpty(description))
|
||||
{
|
||||
program.Description = description;
|
||||
}
|
||||
else
|
||||
{
|
||||
var info = FileVersionInfo.GetVersionInfo(target);
|
||||
if (!string.IsNullOrEmpty(info.FileDescription))
|
||||
{
|
||||
program.LnkResolvedPath += " " + args;
|
||||
}
|
||||
|
||||
var description = _helper.description;
|
||||
if (!string.IsNullOrEmpty(description))
|
||||
{
|
||||
program.Description = description;
|
||||
}
|
||||
else
|
||||
{
|
||||
var info = FileVersionInfo.GetVersionInfo(target);
|
||||
if (!string.IsNullOrEmpty(info.FileDescription))
|
||||
{
|
||||
program.Description = info.FileDescription;
|
||||
}
|
||||
program.Description = info.FileDescription;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return program;
|
||||
}
|
||||
catch (COMException e)
|
||||
{
|
||||
// C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\MiracastView.lnk always cause exception
|
||||
ProgramLogger.LogException($"|Win32|LnkProgram|{path}" +
|
||||
"|Error caused likely due to trying to get the description of the program",
|
||||
e);
|
||||
program.LocalizedName = ShellLocalization.GetLocalizedName(path);
|
||||
|
||||
return Default;
|
||||
return program;
|
||||
}
|
||||
catch (FileNotFoundException e)
|
||||
{
|
||||
ProgramLogger.LogException($"|Win32|LnkProgram|{path}" +
|
||||
"|An unexpected error occurred in the calling method LnkProgram", e);
|
||||
"|An unexpected error occurred in the calling method LnkProgram", e);
|
||||
|
||||
return Default;
|
||||
}
|
||||
|
|
@ -378,7 +415,7 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
catch (FileNotFoundException e)
|
||||
{
|
||||
ProgramLogger.LogException($"|Win32|ExeProgram|{path}" +
|
||||
$"|File not found when trying to load the program from {path}", e);
|
||||
$"|File not found when trying to load the program from {path}", e);
|
||||
|
||||
return Default;
|
||||
}
|
||||
|
|
@ -398,8 +435,7 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
|
||||
return Directory.EnumerateFiles(directory, "*", new EnumerationOptions
|
||||
{
|
||||
IgnoreInaccessible = true,
|
||||
RecurseSubdirectories = recursive
|
||||
IgnoreInaccessible = true, RecurseSubdirectories = recursive
|
||||
}).Where(x => suffixes.Contains(Extension(x)));
|
||||
}
|
||||
|
||||
|
|
@ -408,7 +444,7 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
var extension = Path.GetExtension(path)?.ToLowerInvariant();
|
||||
if (!string.IsNullOrEmpty(extension))
|
||||
{
|
||||
return extension.Substring(1); // remove dot
|
||||
return extension.Substring(1); // remove dot
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -420,7 +456,7 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
{
|
||||
// Disabled custom sources are not in DisabledProgramSources
|
||||
var paths = directories.AsParallel()
|
||||
.SelectMany(s => EnumerateProgramsInDir(s, suffixes));
|
||||
.SelectMany(s => EnumerateProgramsInDir(s, suffixes));
|
||||
|
||||
// Remove disabled programs in DisabledProgramSources
|
||||
var programs = ExceptDisabledSource(paths).Select(x => GetProgramFromPath(x, protocols));
|
||||
|
|
@ -452,8 +488,8 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
var paths = pathEnv.Split(";", StringSplitOptions.RemoveEmptyEntries).DistinctBy(p => p.ToLowerInvariant());
|
||||
|
||||
var toFilter = paths.Where(x => commonParents.All(parent => !IsSubPathOf(x, parent)))
|
||||
.AsParallel()
|
||||
.SelectMany(p => EnumerateProgramsInDir(p, suffixes, recursive: false));
|
||||
.AsParallel()
|
||||
.SelectMany(p => EnumerateProgramsInDir(p, suffixes, recursive: false));
|
||||
|
||||
var programs = ExceptDisabledSource(toFilter.Distinct())
|
||||
.Select(x => GetProgramFromPath(x, protocols));
|
||||
|
|
@ -483,7 +519,7 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
toFilter = toFilter.Distinct().Where(p => suffixes.Contains(Extension(p)));
|
||||
|
||||
var programs = ExceptDisabledSource(toFilter)
|
||||
.Select(x => GetProgramFromPath(x, protocols)).Where(x => x.Valid).ToList(); // ToList due to disposing issue
|
||||
.Select(x => GetProgramFromPath(x, protocols)).Where(x => x.Valid).ToList(); // ToList due to disposing issue
|
||||
return programs;
|
||||
}
|
||||
|
||||
|
|
@ -537,7 +573,8 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
ExeExtension => ExeProgram(path),
|
||||
UrlExtension => UrlProgram(path, protocols),
|
||||
_ => Win32Program(path)
|
||||
}; ;
|
||||
};
|
||||
;
|
||||
}
|
||||
|
||||
public static IEnumerable<string> ExceptDisabledSource(IEnumerable<string> paths)
|
||||
|
|
@ -577,7 +614,6 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
|
||||
private static IEnumerable<Win32> ProgramsHasher(IEnumerable<Win32> programs)
|
||||
{
|
||||
// TODO: Unable to distinguish multiple lnks to the same executable but with different params
|
||||
return programs.GroupBy(p => p.ExecutablePath.ToLowerInvariant())
|
||||
.AsParallel()
|
||||
.SelectMany(g =>
|
||||
|
|
@ -748,10 +784,10 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
{
|
||||
var rel = Path.GetRelativePath(basePath, subPath);
|
||||
return rel != "."
|
||||
&& rel != ".."
|
||||
&& !rel.StartsWith("../")
|
||||
&& !rel.StartsWith(@"..\")
|
||||
&& !Path.IsPathRooted(rel);
|
||||
&& rel != ".."
|
||||
&& !rel.StartsWith("../")
|
||||
&& !rel.StartsWith(@"..\")
|
||||
&& !Path.IsPathRooted(rel);
|
||||
}
|
||||
|
||||
private static List<string> GetCommonParents(IEnumerable<ProgramSource> programSources)
|
||||
|
|
@ -766,7 +802,7 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
|||
foreach (var source in group)
|
||||
{
|
||||
if (parents.Any(p => IsSubPathOf(source.Location, p.Location) &&
|
||||
source != p))
|
||||
source != p))
|
||||
{
|
||||
parents.Remove(source);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_shutdown_computer">¿Está seguro que desea apagar el equipo?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_restart_computer">¿Está seguro que desea reiniciar el equipo?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_restart_computer_advanced">¿Está seguro que desea reiniciar el equipo con opciones de arranque avanzadas?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_logoff_computer">Are you sure you want to log off?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_logoff_computer">¿Está seguro que desea cerrar la sesión?</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_sys_plugin_name">Comandos del sistema</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_plugin_description">Proporciona comandos relacionados con el sistema. Por ejemplo, apagar, bloquear, configurar, etc.</system:String>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_shutdown_computer">Tem certeza de que deseja desligar o computador?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_restart_computer">Tem a certeza que deseja reiniciar o computador?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_restart_computer_advanced">Tem certeza de que deseja reiniciar o computador com as opções avançadas de arranque?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_logoff_computer">Are you sure you want to log off?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_logoff_computer">Tem certeza de que deseja terminar a sessão?</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_sys_plugin_name">Comandos do sistema</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_plugin_description">Disponibiliza os comandos relacionados com o sistema tais como: desligar, bloquear, reiniciar...</system:String>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_shutdown_computer">Naozaj chcete počítač vypnúť?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_restart_computer">Naozaj chcete počítač reštartovať?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_restart_computer_advanced">Naozaj chcete počítač reštartovať s pokročilými možnosťami spúšťania?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_logoff_computer">Are you sure you want to log off?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_logoff_computer">Naozaj sa chcete odstrániť?</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_sys_plugin_name">Systémové príkazy</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_plugin_description">Poskytuje príkazy súvisiace so systémom ako je vypnutie, uzamknutie počítača atď.</system:String>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_shutdown_computer">您确定要关机吗?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_restart_computer">您确定要重启吗</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_restart_computer_advanced">您确定要以高级启动选项重启计算机吗?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_logoff_computer">Are you sure you want to log off?</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_dlgtext_logoff_computer">你确定要注销吗?</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_sys_plugin_name">系统命令</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_sys_plugin_description">系统系统相关的命令。例如,关机,锁定,设置等</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Can't open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Open the typed URL from Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Öffne URL:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Kann URL nicht öffnen:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Kann URL nicht öffnen:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Öffne eine eingegebene URL mit Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">Nueva Pestaña</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Abrir url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">No se puede abrir la url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Abre la URL escrita desde Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">Nueva pestaña</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Abrir url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">No se puede abrir la url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">No se puede abrir la url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Abre la URL escrita desde Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Can't open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Open the typed URL from Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Can't open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Open the typed URL from Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">次のURLを開く:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">次のURLを開くことができません:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">次のURLを開くことができません:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">入力したURLをFlow Launcherから開くプラグインです。</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Can't open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Flow Launcher에 입력한 URL 열기</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Can't open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Open the typed URL from Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Can't open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Open the typed URL from Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Otwórz adres URL: {0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Nie udało się otworzyć adresu: {0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Nie udało się otworzyć adresu: {0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Otwórz wpisany adres URL z poziomu Flow Launchera</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Can't open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Open the typed URL from Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">Novo separador</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Abrir URL:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Impossível abrir URL:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Não foi possível abrir o URL:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Abrir o URL no Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Can't open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Open the typed URL from Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">Nová karta</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Otvoriť URL:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Adresa URL sa nedá otvoriť:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Adresa URL sa nedá otvoriť:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">Adresa URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Otvoriť zadanú adresu URL z Flow Launchera</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Can't open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Open the typed URL from Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">URL'yi Aç: {0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">URL Açılamıyor: {0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">URL Açılamıyor: {0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Flow Launcher'a yazılan URL'leri açar</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">Open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">Can't open url:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">Can't open url:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">Open the typed URL from Flow Launcher</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">新标签</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">打开链接:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">无法打开链接:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">无法打开链接:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">打开链接</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">从 Flow Launcher 打开链接</system:String>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_new_tab">New Tab</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_open_url">開啟連結:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_canot_open_url">無法開啟連結:{0}</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_cannot_open_url">無法開啟連結:{0}</system:String>
|
||||
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_name">URL</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_url_plugin_description">從 Flow Launcher 開啟連結</system:String>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<system:String x:Key="flowlauncher_plugin_websearch_choose">Choose</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_websearch_delete">삭제</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_websearch_edit">편집</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_websearch_add">추</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_websearch_add">추가</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_websearch_true">켬</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
|
||||
<system:String x:Key="flowlauncher_plugin_websearch_confirm">확인</system:String>
|
||||
|
|
|
|||
|
|
@ -701,7 +701,7 @@
|
|||
<comment>Area Gaming</comment>
|
||||
</data>
|
||||
<data name="GameMode" xml:space="preserve">
|
||||
<value>Game Mode</value>
|
||||
<value>Oyun Modu</value>
|
||||
<comment>Area Gaming</comment>
|
||||
</data>
|
||||
<data name="Gateway" xml:space="preserve">
|
||||
|
|
|
|||
Loading…
Reference in a new issue