mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-06-17 08:47:49 +00:00
Final text revision and added a vscode tasks to automatically extract text from code.
This commit is contained in:
Vendored
+11
@@ -41,6 +41,17 @@
|
|||||||
"command": "rsync -azp --rsh='ssh -p ${config:deckport} ${config:deckkey}' requirements.txt deck@${config:deckip}:${config:deckdir}/homebrew/dev/pluginloader/requirements.txt && ssh deck@${config:deckip} -p ${config:deckport} ${config:deckkey} 'python -m ensurepip && python -m pip install --upgrade pip && python -m pip install --upgrade setuptools && python -m pip install -r ${config:deckdir}/homebrew/dev/pluginloader/requirements.txt'",
|
"command": "rsync -azp --rsh='ssh -p ${config:deckport} ${config:deckkey}' requirements.txt deck@${config:deckip}:${config:deckdir}/homebrew/dev/pluginloader/requirements.txt && ssh deck@${config:deckip} -p ${config:deckport} ${config:deckkey} 'python -m ensurepip && python -m pip install --upgrade pip && python -m pip install --upgrade setuptools && python -m pip install -r ${config:deckdir}/homebrew/dev/pluginloader/requirements.txt'",
|
||||||
"problemMatcher": []
|
"problemMatcher": []
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"label": "extracttext",
|
||||||
|
"type": "shell",
|
||||||
|
"group": "none",
|
||||||
|
"dependsOn":[
|
||||||
|
"pnpmsetup"
|
||||||
|
],
|
||||||
|
"detail": "Check for new strings in the frontend source code and extract it into the corresponding json language files",
|
||||||
|
"command": "cd frontend && ./node_modules/.bin/i18next --config ./i18next-parser.config.mjs",
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
// BUILD
|
// BUILD
|
||||||
{
|
{
|
||||||
"label": "pnpmsetup",
|
"label": "pnpmsetup",
|
||||||
|
|||||||
@@ -0,0 +1,125 @@
|
|||||||
|
{
|
||||||
|
"BranchSelect": {
|
||||||
|
"update_channel": {
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Developer": {
|
||||||
|
"5secreload": "",
|
||||||
|
"disabling": "",
|
||||||
|
"enabling": ""
|
||||||
|
},
|
||||||
|
"DeveloperIndex": {
|
||||||
|
"react_devtools": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"valve_internal": {
|
||||||
|
"desc1": "",
|
||||||
|
"desc2": "",
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"PluginCard": {
|
||||||
|
"plugin_full_access": "",
|
||||||
|
"plugin_install": "",
|
||||||
|
"plugin_no_desc": "",
|
||||||
|
"plugin_version_label": ""
|
||||||
|
},
|
||||||
|
"PluginInstallModal": {
|
||||||
|
"install": {
|
||||||
|
"button_idle": "",
|
||||||
|
"button_processing": "",
|
||||||
|
"desc": "",
|
||||||
|
"title": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"PluginListIndex": {
|
||||||
|
"list_no_plugin": "",
|
||||||
|
"list_plug_actions_label": "",
|
||||||
|
"list_update_to": "",
|
||||||
|
"reload": "",
|
||||||
|
"uninstall": ""
|
||||||
|
},
|
||||||
|
"PluginLoader": {
|
||||||
|
"decky_update_available": "",
|
||||||
|
"error": "",
|
||||||
|
"file_picker_cancel_text": "",
|
||||||
|
"plugin_error_uninstall": "",
|
||||||
|
"plugin_load_error": {
|
||||||
|
"message": "",
|
||||||
|
"toast": ""
|
||||||
|
},
|
||||||
|
"plugin_uninstall": {
|
||||||
|
"button": "",
|
||||||
|
"desc": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
|
"plugin_update_one": "",
|
||||||
|
"plugin_update_other": ""
|
||||||
|
},
|
||||||
|
"RemoteDebugging": {
|
||||||
|
"remote_cef": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SettingsGeneralIndex": {
|
||||||
|
"developer_mode": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"manual_plugin": {
|
||||||
|
"button": "",
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SettingsIndex": {
|
||||||
|
"developer_title": "",
|
||||||
|
"general_title": "",
|
||||||
|
"navbar_settings": "",
|
||||||
|
"plugins_title": ""
|
||||||
|
},
|
||||||
|
"Store": {
|
||||||
|
"store_contrib": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"store_search": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"store_sort": {
|
||||||
|
"label": "",
|
||||||
|
"label_def": ""
|
||||||
|
},
|
||||||
|
"store_source": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"store_tabs": {
|
||||||
|
"about": "",
|
||||||
|
"alph_asce": "",
|
||||||
|
"alph_desc": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
|
"store_testing_cta": ""
|
||||||
|
},
|
||||||
|
"StoreSelect": {
|
||||||
|
"custom_store_label": "",
|
||||||
|
"store_channel_label": ""
|
||||||
|
},
|
||||||
|
"Updater": {
|
||||||
|
"decky_updates": "",
|
||||||
|
"no_patch_notes_desc": "",
|
||||||
|
"updates": {
|
||||||
|
"check_button": "",
|
||||||
|
"checking": "",
|
||||||
|
"cur_version": "",
|
||||||
|
"install_button": "",
|
||||||
|
"label": "",
|
||||||
|
"lat_version": "",
|
||||||
|
"reloading": "",
|
||||||
|
"updating": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+59
-60
@@ -5,123 +5,122 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Developer": {
|
"Developer": {
|
||||||
"enabling": "Enabling",
|
"5secreload": "Reloading in 5 seconds",
|
||||||
"disabling": "Disabling",
|
"disabling": "Disabling",
|
||||||
"5secreload": "Reloading in 5 seconds"
|
"enabling": "Enabling"
|
||||||
},
|
},
|
||||||
"DeveloperIndex": {
|
"DeveloperIndex": {
|
||||||
"valve_internal": {
|
|
||||||
"label": "Enable Valve Internal",
|
|
||||||
"desc1": "Enables the Valve internal developer menu.",
|
|
||||||
"desc2": "Do not touch anything in this menu unless you know what it does."
|
|
||||||
},
|
|
||||||
"react_devtools": {
|
"react_devtools": {
|
||||||
"label": "Enable React DevTools",
|
"desc": "Enables connection to a computer running React DevTools. Changing this setting will reload Steam. Set the IP address before enabling.",
|
||||||
"desc": "Enables connection to a computer running React DevTools. Changing this setting will reload Steam. Set the IP address before enabling."
|
"label": "Enable React DevTools"
|
||||||
|
},
|
||||||
|
"valve_internal": {
|
||||||
|
"desc1": "Enables the Valve internal developer menu.",
|
||||||
|
"desc2": "Do not touch anything in this menu unless you know what it does.",
|
||||||
|
"label": "Enable Valve Internal"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PluginCard": {
|
"PluginCard": {
|
||||||
"plugin_version_label": "Plugin Version",
|
|
||||||
"plugin_full_access": "This plugin has full access to your Steam Deck.",
|
"plugin_full_access": "This plugin has full access to your Steam Deck.",
|
||||||
"plugin_install": "Install",
|
"plugin_install": "Install",
|
||||||
"plugin_no_desc": "No description provided."
|
"plugin_no_desc": "No description provided.",
|
||||||
|
"plugin_version_label": "Plugin Version"
|
||||||
},
|
},
|
||||||
"PluginInstallModal": {
|
"PluginInstallModal": {
|
||||||
"install": {
|
"install": {
|
||||||
"title": "Install {{artifact}}",
|
|
||||||
"desc": "Are you sure you want to install {{artifact}} {{version}}?",
|
|
||||||
"button_idle": "Install",
|
"button_idle": "Install",
|
||||||
"button_processing": "Installing"
|
"button_processing": "Installing",
|
||||||
|
"desc": "Are you sure you want to install {{artifact}} {{version}}?",
|
||||||
|
"title": "Install {{artifact}}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PluginListIndex": {
|
"PluginListIndex": {
|
||||||
"list_no_plugin": "No plugins installed!",
|
"list_no_plugin": "No plugins installed!",
|
||||||
"list_update_to": "Update to {{name}}",
|
|
||||||
"list_plug_actions_label": "Plugin Actions",
|
"list_plug_actions_label": "Plugin Actions",
|
||||||
|
"list_update_to": "Update to {{name}}",
|
||||||
"reload": "Reload",
|
"reload": "Reload",
|
||||||
"uninstall": "Uninstall"
|
"uninstall": "Uninstall"
|
||||||
},
|
},
|
||||||
"PluginLoader": {
|
"PluginLoader": {
|
||||||
"decky_update_available": "Update to {{tag_name}} available!",
|
"decky_update_available": "Update to {{tag_name}} available!",
|
||||||
"plugin_update_one": "Updates available for 1 plugin!",
|
"error": "Error",
|
||||||
"plugin_update_other": "Updates available for {{count}} plugins!",
|
"file_picker_cancel_text": "User canceled",
|
||||||
"plugin_uninstall": {
|
"plugin_error_uninstall": "Please go to {{-icon}} in the Decky menu if you need to uninstall this plugin.",
|
||||||
"title": "Uninstall {{name}}",
|
|
||||||
"desc": "Are you sure you want to uninstall {{name}}?",
|
|
||||||
"button": "Uninstall"
|
|
||||||
},
|
|
||||||
"plugin_load_error": {
|
"plugin_load_error": {
|
||||||
"message": "Error loading plugin {{name}}",
|
"message": "Error loading plugin {{name}}",
|
||||||
"toast": "Error loading {{name}}"
|
"toast": "Error loading {{name}}"
|
||||||
},
|
},
|
||||||
"error": "Error",
|
"plugin_uninstall": {
|
||||||
"plugin_error_uninstall": "Please go to {{-icon}} in the Decky menu if you need to uninstall this plugin.",
|
"button": "Uninstall",
|
||||||
"file_picker_cancel_text": "User canceled"
|
"desc": "Are you sure you want to uninstall {{name}}?",
|
||||||
|
"title": "Uninstall {{name}}"
|
||||||
|
},
|
||||||
|
"plugin_update_one": "Updates available for 1 plugin!",
|
||||||
|
"plugin_update_other": "Updates available for {{count}} plugins!"
|
||||||
},
|
},
|
||||||
"RemoteDebugging": {
|
"RemoteDebugging": {
|
||||||
"remote_cef": {
|
"remote_cef": {
|
||||||
"label": "Allow Remote CEF Debugging",
|
"desc": "Allow unauthenticated access to the CEF debugger to anyone in your network",
|
||||||
"desc": "Allow unauthenticated access to the CEF debugger to anyone in your network"
|
"label": "Allow Remote CEF Debugging"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"SettingsGeneralIndex": {
|
"SettingsGeneralIndex": {
|
||||||
"developer_mode": {
|
"developer_mode": {
|
||||||
"label": "Developer mode",
|
"desc": "Enables Decky's developer settings.",
|
||||||
"desc": "Enables Decky's developer settings."
|
"label": "Developer mode"
|
||||||
},
|
},
|
||||||
"manual_plugin": {
|
"manual_plugin": {
|
||||||
"label": "Manual plugin install",
|
"button": "Install",
|
||||||
"button": "Install"
|
"label": "Manual plugin install"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"SettingsIndex": {
|
"SettingsIndex": {
|
||||||
"general_title": "General",
|
|
||||||
"plugins_title": "Plugins",
|
|
||||||
"developer_title": "Developer",
|
"developer_title": "Developer",
|
||||||
"navbar_settings": "Decky Settings"
|
"general_title": "General",
|
||||||
|
"navbar_settings": "Decky Settings",
|
||||||
|
"plugins_title": "Plugins"
|
||||||
},
|
},
|
||||||
"Store": {
|
"Store": {
|
||||||
"store_tabs": {
|
"store_contrib": {
|
||||||
"title": "Browse",
|
"desc": "If you would like to contribute to the Decky Plugin Store, check the SteamDeckHomebrew/decky-plugin-template repository on GitHub. Information on development and distribution is available in the README.",
|
||||||
"about": "About",
|
"label": "Contributing"
|
||||||
"alph_desc": "Alphabetical (A to Z)",
|
|
||||||
"alph_asce": "Alphabetical (Z to A)"
|
|
||||||
},
|
},
|
||||||
|
"store_search": {
|
||||||
|
"label": "changeme"
|
||||||
|
},
|
||||||
|
"store_search_label": "Search",
|
||||||
"store_sort": {
|
"store_sort": {
|
||||||
"label": "Sort",
|
"label": "Sort",
|
||||||
"label_def": "Last Updated (Newest)"
|
"label_def": "Last Updated (Newest)"
|
||||||
},
|
},
|
||||||
"store_filter": {
|
|
||||||
"label": "Filter",
|
|
||||||
"label_def": "All"
|
|
||||||
},
|
|
||||||
"store_search_label": "Search",
|
|
||||||
"store_testing_cta": "Please consider testing new plugins to help the Decky Loader team!",
|
|
||||||
"store_contrib": {
|
|
||||||
"label": "Contributing",
|
|
||||||
"desc": "If you would like to contribute to the Decky Plugin Store, check the SteamDeckHomebrew/decky-plugin-template repository on GitHub. Information on development and distribution is available in the README."
|
|
||||||
},
|
|
||||||
"store_source": {
|
"store_source": {
|
||||||
"label": "Source Code",
|
"desc": "All plugin source code is available on SteamDeckHomebrew/decky-plugin-database repository on GitHub.",
|
||||||
"desc": "All plugin source code is available on SteamDeckHomebrew/decky-plugin-database repository on GitHub."
|
"label": "Source Code"
|
||||||
}
|
},
|
||||||
|
"store_tabs": {
|
||||||
|
"about": "About",
|
||||||
|
"alph_asce": "Alphabetical (Z to A)",
|
||||||
|
"alph_desc": "Alphabetical (A to Z)",
|
||||||
|
"title": "Browse"
|
||||||
|
},
|
||||||
|
"store_testing_cta": "Please consider testing new plugins to help the Decky Loader team!"
|
||||||
},
|
},
|
||||||
"StoreSelect": {
|
"StoreSelect": {
|
||||||
"store_channel_label": "Store Channel",
|
"custom_store_label": "Custom Store",
|
||||||
"custom_store_label": "Custom Store"
|
"store_channel_label": "Store Channel"
|
||||||
},
|
},
|
||||||
"Updater": {
|
"Updater": {
|
||||||
"no_patch_notes_desc": "no patch notes for this version",
|
|
||||||
"decky_updates": "Decky Updates",
|
"decky_updates": "Decky Updates",
|
||||||
|
"no_patch_notes_desc": "no patch notes for this version",
|
||||||
"updates": {
|
"updates": {
|
||||||
"label": "Updates",
|
|
||||||
"cur_version": "Current version: {{ver}}",
|
|
||||||
"lat_version": "Latest version: {{ver}}",
|
|
||||||
"checking": "'Checking",
|
|
||||||
"check_button": "Check For Updates",
|
"check_button": "Check For Updates",
|
||||||
|
"checking": "'Checking",
|
||||||
|
"cur_version": "Current version: {{ver}}",
|
||||||
"install_button": "Install Update",
|
"install_button": "Install Update",
|
||||||
|
"label": "Updates",
|
||||||
|
"lat_version": "Latest version: {{ver}}",
|
||||||
"reloading": "Reloading",
|
"reloading": "Reloading",
|
||||||
"updating": "Updating"
|
"updating": "Updating"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"Store": {
|
||||||
|
"store_filter": {
|
||||||
|
"label": "Filter",
|
||||||
|
"label_def": "All"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
{
|
||||||
|
"BranchSelect": {
|
||||||
|
"update_channel": {
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Developer": {
|
||||||
|
"5secreload": "",
|
||||||
|
"disabling": "",
|
||||||
|
"enabling": ""
|
||||||
|
},
|
||||||
|
"DeveloperIndex": {
|
||||||
|
"react_devtools": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"valve_internal": {
|
||||||
|
"desc1": "",
|
||||||
|
"desc2": "",
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"PluginCard": {
|
||||||
|
"plugin_full_access": "",
|
||||||
|
"plugin_install": "",
|
||||||
|
"plugin_no_desc": "",
|
||||||
|
"plugin_version_label": ""
|
||||||
|
},
|
||||||
|
"PluginInstallModal": {
|
||||||
|
"install": {
|
||||||
|
"button_idle": "",
|
||||||
|
"button_processing": "",
|
||||||
|
"desc": "",
|
||||||
|
"title": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"PluginListIndex": {
|
||||||
|
"list_no_plugin": "",
|
||||||
|
"list_plug_actions_label": "",
|
||||||
|
"list_update_to": "",
|
||||||
|
"reload": "",
|
||||||
|
"uninstall": ""
|
||||||
|
},
|
||||||
|
"PluginLoader": {
|
||||||
|
"decky_update_available": "",
|
||||||
|
"error": "",
|
||||||
|
"file_picker_cancel_text": "",
|
||||||
|
"plugin_error_uninstall": "",
|
||||||
|
"plugin_load_error": {
|
||||||
|
"message": "",
|
||||||
|
"toast": ""
|
||||||
|
},
|
||||||
|
"plugin_uninstall": {
|
||||||
|
"button": "",
|
||||||
|
"desc": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
|
"plugin_update_one": "",
|
||||||
|
"plugin_update_many": "",
|
||||||
|
"plugin_update_other": ""
|
||||||
|
},
|
||||||
|
"RemoteDebugging": {
|
||||||
|
"remote_cef": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SettingsGeneralIndex": {
|
||||||
|
"developer_mode": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"manual_plugin": {
|
||||||
|
"button": "",
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SettingsIndex": {
|
||||||
|
"developer_title": "",
|
||||||
|
"general_title": "",
|
||||||
|
"navbar_settings": "",
|
||||||
|
"plugins_title": ""
|
||||||
|
},
|
||||||
|
"Store": {
|
||||||
|
"store_contrib": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"store_search": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"store_sort": {
|
||||||
|
"label": "",
|
||||||
|
"label_def": ""
|
||||||
|
},
|
||||||
|
"store_source": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"store_tabs": {
|
||||||
|
"about": "",
|
||||||
|
"alph_asce": "",
|
||||||
|
"alph_desc": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
|
"store_testing_cta": ""
|
||||||
|
},
|
||||||
|
"StoreSelect": {
|
||||||
|
"custom_store_label": "",
|
||||||
|
"store_channel_label": ""
|
||||||
|
},
|
||||||
|
"Updater": {
|
||||||
|
"decky_updates": "",
|
||||||
|
"no_patch_notes_desc": "",
|
||||||
|
"updates": {
|
||||||
|
"check_button": "",
|
||||||
|
"checking": "",
|
||||||
|
"cur_version": "",
|
||||||
|
"install_button": "",
|
||||||
|
"label": "",
|
||||||
|
"lat_version": "",
|
||||||
|
"reloading": "",
|
||||||
|
"updating": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
{
|
||||||
|
"BranchSelect": {
|
||||||
|
"update_channel": {
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Developer": {
|
||||||
|
"5secreload": "",
|
||||||
|
"disabling": "",
|
||||||
|
"enabling": ""
|
||||||
|
},
|
||||||
|
"DeveloperIndex": {
|
||||||
|
"react_devtools": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"valve_internal": {
|
||||||
|
"desc1": "",
|
||||||
|
"desc2": "",
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"PluginCard": {
|
||||||
|
"plugin_full_access": "",
|
||||||
|
"plugin_install": "",
|
||||||
|
"plugin_no_desc": "",
|
||||||
|
"plugin_version_label": ""
|
||||||
|
},
|
||||||
|
"PluginInstallModal": {
|
||||||
|
"install": {
|
||||||
|
"button_idle": "",
|
||||||
|
"button_processing": "",
|
||||||
|
"desc": "",
|
||||||
|
"title": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"PluginListIndex": {
|
||||||
|
"list_no_plugin": "",
|
||||||
|
"list_plug_actions_label": "",
|
||||||
|
"list_update_to": "",
|
||||||
|
"reload": "",
|
||||||
|
"uninstall": ""
|
||||||
|
},
|
||||||
|
"PluginLoader": {
|
||||||
|
"decky_update_available": "",
|
||||||
|
"error": "",
|
||||||
|
"file_picker_cancel_text": "",
|
||||||
|
"plugin_error_uninstall": "",
|
||||||
|
"plugin_load_error": {
|
||||||
|
"message": "",
|
||||||
|
"toast": ""
|
||||||
|
},
|
||||||
|
"plugin_uninstall": {
|
||||||
|
"button": "",
|
||||||
|
"desc": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
|
"plugin_update_one": "",
|
||||||
|
"plugin_update_many": "",
|
||||||
|
"plugin_update_other": ""
|
||||||
|
},
|
||||||
|
"RemoteDebugging": {
|
||||||
|
"remote_cef": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SettingsGeneralIndex": {
|
||||||
|
"developer_mode": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"manual_plugin": {
|
||||||
|
"button": "",
|
||||||
|
"label": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SettingsIndex": {
|
||||||
|
"developer_title": "",
|
||||||
|
"general_title": "",
|
||||||
|
"navbar_settings": "",
|
||||||
|
"plugins_title": ""
|
||||||
|
},
|
||||||
|
"Store": {
|
||||||
|
"store_contrib": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"store_search": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"store_sort": {
|
||||||
|
"label": "",
|
||||||
|
"label_def": ""
|
||||||
|
},
|
||||||
|
"store_source": {
|
||||||
|
"desc": "",
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"store_tabs": {
|
||||||
|
"about": "",
|
||||||
|
"alph_asce": "",
|
||||||
|
"alph_desc": "",
|
||||||
|
"title": ""
|
||||||
|
},
|
||||||
|
"store_testing_cta": ""
|
||||||
|
},
|
||||||
|
"StoreSelect": {
|
||||||
|
"custom_store_label": "",
|
||||||
|
"store_channel_label": ""
|
||||||
|
},
|
||||||
|
"Updater": {
|
||||||
|
"decky_updates": "",
|
||||||
|
"no_patch_notes_desc": "",
|
||||||
|
"updates": {
|
||||||
|
"check_button": "",
|
||||||
|
"checking": "",
|
||||||
|
"cur_version": "",
|
||||||
|
"install_button": "",
|
||||||
|
"label": "",
|
||||||
|
"lat_version": "",
|
||||||
|
"reloading": "",
|
||||||
|
"updating": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+60
-60
@@ -5,123 +5,123 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Developer": {
|
"Developer": {
|
||||||
"enabling": "Abilitando",
|
"5secreload": "Ricaricando in 5 secondi",
|
||||||
"disabling": "Disabilitando",
|
"disabling": "Disabilitando",
|
||||||
"5secreload": "Ricaricando in 5 secondi"
|
"enabling": "Abilitando"
|
||||||
},
|
},
|
||||||
"DeveloperIndex": {
|
"DeveloperIndex": {
|
||||||
"valve_internal": {
|
|
||||||
"label": "Abilita Menu Sviluppatore",
|
|
||||||
"desc1": "Abilita il menu di sviluppo interno di Valve.",
|
|
||||||
"desc2": "Non toccare nulla in questo menu se non sai quello che fa."
|
|
||||||
},
|
|
||||||
"react_devtools": {
|
"react_devtools": {
|
||||||
"label": "Abilita i DevTools di React",
|
"desc": "Abilita la connessione ad un computer che esegue i DevTools di React. Cambiando questa impostazione ricaricherà Steam. Imposta l'indirizzo IP prima di abilitarlo.",
|
||||||
"desc": "Abilita la connessione ad un computer che esegue i DevTools di React. Cambiando questa impostazione ricaricherà Steam. Imposta l'indirizzo IP prima di abilitarlo."
|
"label": "Abilita i DevTools di React"
|
||||||
|
},
|
||||||
|
"valve_internal": {
|
||||||
|
"desc1": "Abilita il menu di sviluppo interno di Valve.",
|
||||||
|
"desc2": "Non toccare nulla in questo menu se non sai quello che fa.",
|
||||||
|
"label": "Abilita Menu Sviluppatore"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PluginCard": {
|
"PluginCard": {
|
||||||
"plugin_version_label": "Versione Plugin",
|
|
||||||
"plugin_full_access": "Questo pluugin ha accesso completo al tuo Steam Deck.",
|
"plugin_full_access": "Questo pluugin ha accesso completo al tuo Steam Deck.",
|
||||||
"plugin_install": "Installa",
|
"plugin_install": "Installa",
|
||||||
"plugin_no_desc": "Nessuna descrizione fornita."
|
"plugin_no_desc": "Nessuna descrizione fornita.",
|
||||||
|
"plugin_version_label": "Versione Plugin"
|
||||||
},
|
},
|
||||||
"PluginInstallModal": {
|
"PluginInstallModal": {
|
||||||
"install": {
|
"install": {
|
||||||
"title": "Installa {{artifact}}",
|
|
||||||
"desc": "Sei sicuro di voler installare {{artifact}} {{version}}?",
|
|
||||||
"button_idle": "Installa",
|
"button_idle": "Installa",
|
||||||
"button_processing": "Installando"
|
"button_processing": "Installando",
|
||||||
|
"desc": "Sei sicuro di voler installare {{artifact}} {{version}}?",
|
||||||
|
"title": "Installa {{artifact}}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PluginListIndex": {
|
"PluginListIndex": {
|
||||||
"list_no_plugin": "Nessun plugin installato!",
|
"list_no_plugin": "Nessun plugin installato!",
|
||||||
"list_update_to": "Aggiornamento a {{name}}",
|
|
||||||
"list_plug_actions_label": "Operazioni sui plugins",
|
"list_plug_actions_label": "Operazioni sui plugins",
|
||||||
|
"list_update_to": "Aggiornamento a {{name}}",
|
||||||
"reload": "Ricarica",
|
"reload": "Ricarica",
|
||||||
"uninstall": "Rimuovi"
|
"uninstall": "Rimuovi"
|
||||||
},
|
},
|
||||||
"PluginLoader": {
|
"PluginLoader": {
|
||||||
"decky_update_available": "Disponibile aggiornamento a {{tag_name}}!",
|
"decky_update_available": "Disponibile aggiornamento a {{tag_name}}!",
|
||||||
"plugin_update_one": "Aggiornamento disponibile per un plugin!",
|
"error": "Errore",
|
||||||
"plugin_update_other": "Aggiornamento disponibile per {{count}} plugins!",
|
"file_picker_cancel_text": "Annullato dall'utente",
|
||||||
"plugin_uninstall": {
|
"plugin_error_uninstall": "Per rimuovere questo plugin vai su {{-icon}} nel menu di Decky.",
|
||||||
"title": "Rimozione di {{name}}",
|
|
||||||
"desc": "Rimuovo {{name}}?",
|
|
||||||
"button": "Rimuovi"
|
|
||||||
},
|
|
||||||
"plugin_load_error": {
|
"plugin_load_error": {
|
||||||
"message": "Errore caricando il plugin {{name}}",
|
"message": "Errore caricando il plugin {{name}}",
|
||||||
"toast": "Errore caricando {{name}}"
|
"toast": "Errore caricando {{name}}"
|
||||||
},
|
},
|
||||||
"error": "Errore",
|
"plugin_uninstall": {
|
||||||
"plugin_error_uninstall": "Per rimuovere questo plugin vai su {{-icon}} nel menu di Decky.",
|
"button": "Rimuovi",
|
||||||
"file_picker_cancel_text": "Annullato dall'utente"
|
"desc": "Rimuovo {{name}}?",
|
||||||
|
"title": "Rimozione di {{name}}"
|
||||||
|
},
|
||||||
|
"plugin_update_one": "Aggiornamento disponibile per un plugin!",
|
||||||
|
"plugin_update_many": "changeme",
|
||||||
|
"plugin_update_other": "Aggiornamento disponibile per {{count}} plugins!"
|
||||||
},
|
},
|
||||||
"RemoteDebugging": {
|
"RemoteDebugging": {
|
||||||
"remote_cef": {
|
"remote_cef": {
|
||||||
"label": "Permetti il debug remoto di CEF",
|
"desc": "Permetti l'accesso non autenticato a chiunque sulla tua rete locale al debugger di CEF.",
|
||||||
"desc": "Permetti l'accesso non autenticato a chiunque sulla tua rete locale al debugger di CEF."
|
"label": "Permetti il debug remoto di CEF"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"SettingsGeneralIndex": {
|
"SettingsGeneralIndex": {
|
||||||
"developer_mode": {
|
"developer_mode": {
|
||||||
"label": "Modalità sviluppatore",
|
"desc": "Abilità le impostazioni di sviluppo di Decky.",
|
||||||
"desc": "Abilità le impostazioni di sviluppo di Decky."
|
"label": "Modalità sviluppatore"
|
||||||
},
|
},
|
||||||
"manual_plugin": {
|
"manual_plugin": {
|
||||||
"label": "Installazione manuale plugins",
|
"button": "Installa",
|
||||||
"button": "Installa"
|
"label": "Installazione manuale plugins"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"SettingsIndex": {
|
"SettingsIndex": {
|
||||||
"general_title": "Generali",
|
|
||||||
"plugins_title": "Plugins",
|
|
||||||
"developer_title": "Sviluppatore",
|
"developer_title": "Sviluppatore",
|
||||||
"navbar_settings": "Impostazioni Decky"
|
"general_title": "Generali",
|
||||||
|
"navbar_settings": "Impostazioni Decky",
|
||||||
|
"plugins_title": "Plugins"
|
||||||
},
|
},
|
||||||
"Store": {
|
"Store": {
|
||||||
"store_tabs": {
|
"store_contrib": {
|
||||||
"title": "Naviga",
|
"desc": "Se desideri contribuire allo store di Decky, puoi trovare un template caricato su GitHub all'indirizzo SteamDeckHomebrew/decky-plugin-template. Informazioni riguardo sviluppo e distribuzione sono disponibili nel README.",
|
||||||
"about": "About",
|
"label": "Contribuisci"
|
||||||
"alph_desc": "Alfabetico (A a Z)",
|
|
||||||
"alph_asce": "Alfabetico (Z a A)"
|
|
||||||
},
|
},
|
||||||
|
"store_search": {
|
||||||
|
"label": "changeme"
|
||||||
|
},
|
||||||
|
"store_search_label": "Cerca",
|
||||||
"store_sort": {
|
"store_sort": {
|
||||||
"label": "Ordina",
|
"label": "Ordina",
|
||||||
"label_def": "Ultimo aggiornato (Più recente)"
|
"label_def": "Ultimo aggiornato (Più recente)"
|
||||||
},
|
},
|
||||||
"store_filter": {
|
|
||||||
"label": "Filtra",
|
|
||||||
"label_def": "Tutto"
|
|
||||||
},
|
|
||||||
"store_search_label": "Cerca",
|
|
||||||
"store_testing_cta": "Valuta la possibilità di testare nuovi plugin per aiutare il team di Decky Loader!",
|
|
||||||
"store_contrib": {
|
|
||||||
"label": "Contribuisci",
|
|
||||||
"desc": "Se desideri contribuire allo store di Decky, puoi trovare un template caricato su GitHub all'indirizzo SteamDeckHomebrew/decky-plugin-template. Informazioni riguardo sviluppo e distribuzione sono disponibili nel README."
|
|
||||||
},
|
|
||||||
"store_source": {
|
"store_source": {
|
||||||
"label": "Codice Sorgente",
|
"desc": "Tutto il codice sorgente dei plugin è disponibile su GitHub all'indirizzo SteamDeckHomebrew/decky-plugin-database",
|
||||||
"desc": "Tutto il codice sorgente dei plugin è disponibile su GitHub all'indirizzo SteamDeckHomebrew/decky-plugin-database"
|
"label": "Codice Sorgente"
|
||||||
}
|
},
|
||||||
|
"store_tabs": {
|
||||||
|
"about": "About",
|
||||||
|
"alph_asce": "Alfabetico (Z a A)",
|
||||||
|
"alph_desc": "Alfabetico (A a Z)",
|
||||||
|
"title": "Naviga"
|
||||||
|
},
|
||||||
|
"store_testing_cta": "Valuta la possibilità di testare nuovi plugin per aiutare il team di Decky Loader!"
|
||||||
},
|
},
|
||||||
"StoreSelect": {
|
"StoreSelect": {
|
||||||
"store_channel_label": "Canale del negozio",
|
"custom_store_label": "Negozio custom",
|
||||||
"custom_store_label": "Negozio custom"
|
"store_channel_label": "Canale del negozio"
|
||||||
},
|
},
|
||||||
"Updater": {
|
"Updater": {
|
||||||
"no_patch_notes_desc": "nessuna patch notes per questa versione",
|
|
||||||
"decky_updates": "Aggiornamenti di Decky",
|
"decky_updates": "Aggiornamenti di Decky",
|
||||||
|
"no_patch_notes_desc": "nessuna patch notes per questa versione",
|
||||||
"updates": {
|
"updates": {
|
||||||
"label": "Aggiornamenti",
|
|
||||||
"cur_version": "Versione attuale: {{ver}}",
|
|
||||||
"lat_version": "Ultima versione: {{ver}}",
|
|
||||||
"checking": "Controllando",
|
|
||||||
"check_button": "Cerca aggiornamenti",
|
"check_button": "Cerca aggiornamenti",
|
||||||
|
"checking": "Controllando",
|
||||||
|
"cur_version": "Versione attuale: {{ver}}",
|
||||||
"install_button": "Installa aggiornamento",
|
"install_button": "Installa aggiornamento",
|
||||||
|
"label": "Aggiornamenti",
|
||||||
|
"lat_version": "Ultima versione: {{ver}}",
|
||||||
"reloading": "Ricaricando",
|
"reloading": "Ricaricando",
|
||||||
"updating": "Aggiornando"
|
"updating": "Aggiornando"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"Store": {
|
||||||
|
"store_filter": {
|
||||||
|
"label": "Filtra",
|
||||||
|
"label_def": "Tutto"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
// i18next-parser.config.js
|
||||||
|
|
||||||
|
export default {
|
||||||
|
contextSeparator: '_',
|
||||||
|
// Key separator used in your translation keys
|
||||||
|
|
||||||
|
createOldCatalogs: true,
|
||||||
|
// Save the \_old files
|
||||||
|
|
||||||
|
defaultNamespace: 'translation',
|
||||||
|
// Default namespace used in your i18next config
|
||||||
|
|
||||||
|
defaultValue: '',
|
||||||
|
// Default value to give to keys with no value
|
||||||
|
// You may also specify a function accepting the locale, namespace, key, and value as arguments
|
||||||
|
|
||||||
|
indentation: 2,
|
||||||
|
// Indentation of the catalog files
|
||||||
|
|
||||||
|
keepRemoved: false,
|
||||||
|
// Keep keys from the catalog that are no longer in code
|
||||||
|
|
||||||
|
keySeparator: '.',
|
||||||
|
// Key separator used in your translation keys
|
||||||
|
// If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance.
|
||||||
|
|
||||||
|
// see below for more details
|
||||||
|
lexers: {
|
||||||
|
hbs: ['HandlebarsLexer'],
|
||||||
|
handlebars: ['HandlebarsLexer'],
|
||||||
|
|
||||||
|
htm: ['HTMLLexer'],
|
||||||
|
html: ['HTMLLexer'],
|
||||||
|
|
||||||
|
mjs: ['JavascriptLexer'],
|
||||||
|
js: ['JavascriptLexer'], // if you're writing jsx inside .js files, change this to JsxLexer
|
||||||
|
ts: ['JavascriptLexer'],
|
||||||
|
jsx: ['JsxLexer'],
|
||||||
|
tsx: ['JsxLexer'],
|
||||||
|
|
||||||
|
default: ['JavascriptLexer'],
|
||||||
|
},
|
||||||
|
|
||||||
|
lineEnding: 'auto',
|
||||||
|
// Control the line ending. See options at https://github.com/ryanve/eol
|
||||||
|
|
||||||
|
locales: ['en', 'fr', 'de', 'es', 'it'],
|
||||||
|
// An array of the locales in your applications
|
||||||
|
|
||||||
|
namespaceSeparator: false,
|
||||||
|
// Namespace separator used in your translation keys
|
||||||
|
// If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance.
|
||||||
|
|
||||||
|
output: '../backend/locales/$LOCALE.json',
|
||||||
|
// Supports $LOCALE and $NAMESPACE injection
|
||||||
|
// Supports JSON (.json) and YAML (.yml) file formats
|
||||||
|
// Where to write the locale files relative to process.cwd()
|
||||||
|
|
||||||
|
pluralSeparator: '_',
|
||||||
|
// Plural separator used in your translation keys
|
||||||
|
// If you want to use plain english keys, separators such as `_` might conflict. You might want to set `pluralSeparator` to a different string that does not occur in your keys.
|
||||||
|
|
||||||
|
input: './src/**/*.{ts,tsx}',
|
||||||
|
// An array of globs that describe where to look for source files
|
||||||
|
// relative to the location of the configuration file
|
||||||
|
|
||||||
|
sort: true,
|
||||||
|
// Whether or not to sort the catalog. Can also be a [compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#parameters)
|
||||||
|
|
||||||
|
verbose: false,
|
||||||
|
// Display info about the parsing including some stats
|
||||||
|
|
||||||
|
failOnWarnings: false,
|
||||||
|
// Exit with an exit code of 1 on warnings
|
||||||
|
|
||||||
|
failOnUpdate: false,
|
||||||
|
// Exit with an exit code of 1 when translations are updated (for CI purpose)
|
||||||
|
|
||||||
|
customValueTemplate: null,
|
||||||
|
// If you wish to customize the value output the value as an object, you can set your own format.
|
||||||
|
// ${defaultValue} is the default value you set in your translation function.
|
||||||
|
// Any other custom property will be automatically extracted.
|
||||||
|
//
|
||||||
|
// Example:
|
||||||
|
// {
|
||||||
|
// message: "${defaultValue}",
|
||||||
|
// description: "${maxLength}", // t('my-key', {maxLength: 150})
|
||||||
|
// }
|
||||||
|
|
||||||
|
resetDefaultValueLocale: null,
|
||||||
|
// The locale to compare with default values to determine whether a default value has been changed.
|
||||||
|
// If this is set and a default value differs from a translation in the specified locale, all entries
|
||||||
|
// for that key across locales are reset to the default value, and existing translations are moved to
|
||||||
|
// the `_old` file.
|
||||||
|
|
||||||
|
i18nextOptions: null,
|
||||||
|
// If you wish to customize options in internally used i18next instance, you can define an object with any
|
||||||
|
// configuration property supported by i18next (https://www.i18next.com/overview/configuration-options).
|
||||||
|
// { compatibilityJSON: 'v3' } can be used to generate v3 compatible plurals.
|
||||||
|
|
||||||
|
yamlOptions: null,
|
||||||
|
// If you wish to customize options for yaml output, you can define an object here.
|
||||||
|
// Configuration options are here (https://github.com/nodeca/js-yaml#dump-object---options-).
|
||||||
|
// Example:
|
||||||
|
// {
|
||||||
|
// lineWidth: -1,
|
||||||
|
// }
|
||||||
|
}
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
"@types/webpack": "^5.28.0",
|
"@types/webpack": "^5.28.0",
|
||||||
"husky": "^8.0.1",
|
"husky": "^8.0.1",
|
||||||
"eslint": "^8.33.0",
|
"eslint": "^8.33.0",
|
||||||
|
"i18next-parser": "^7.6.0",
|
||||||
"import-sort-style-module": "^6.0.0",
|
"import-sort-style-module": "^6.0.0",
|
||||||
"inquirer": "^8.2.4",
|
"inquirer": "^8.2.4",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
|
|||||||
Generated
+1089
-5
File diff suppressed because it is too large
Load Diff
@@ -101,7 +101,7 @@ class PluginLoader extends Logger {
|
|||||||
|
|
||||||
public async notifyUpdates() {
|
public async notifyUpdates() {
|
||||||
const versionInfo = await this.updateVersion();
|
const versionInfo = await this.updateVersion();
|
||||||
const { t } = useTranslation('PluginLoader');
|
const { t } = useTranslation();
|
||||||
if (versionInfo?.remote && versionInfo?.remote?.tag_name != versionInfo?.current) {
|
if (versionInfo?.remote && versionInfo?.remote?.tag_name != versionInfo?.current) {
|
||||||
this.toaster.toast({
|
this.toaster.toast({
|
||||||
title: 'Decky',
|
title: 'Decky',
|
||||||
@@ -127,7 +127,7 @@ class PluginLoader extends Logger {
|
|||||||
this.toaster.toast({
|
this.toaster.toast({
|
||||||
title: 'Decky',
|
title: 'Decky',
|
||||||
//body: `Updates available for ${updates.size} plugin${updates.size > 1 ? 's' : ''}!`,
|
//body: `Updates available for ${updates.size} plugin${updates.size > 1 ? 's' : ''}!`,
|
||||||
body: t('PluginLoader.plugin_update', updates.size.toString(10), { count: updates.size }),
|
body: t('PluginLoader.plugin_update', { count: updates.size }),
|
||||||
onClick: () => Router.Navigate('/decky/settings/plugins'),
|
onClick: () => Router.Navigate('/decky/settings/plugins'),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -247,10 +247,10 @@ class PluginLoader extends Logger {
|
|||||||
version: version,
|
version: version,
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.error(t('PluginLoader.plugin_load_error', name), e);
|
this.error(t('PluginLoader.plugin_load_error.message', { name: name }), e);
|
||||||
const TheError: FC<{}> = () => (
|
const TheError: FC<{}> = () => (
|
||||||
<>
|
<>
|
||||||
{t('error')}:{' '}
|
{t('PluginLoader.error')}:{' '}
|
||||||
<pre>
|
<pre>
|
||||||
<code>{e instanceof Error ? e.stack : JSON.stringify(e)}</code>
|
<code>{e instanceof Error ? e.stack : JSON.stringify(e)}</code>
|
||||||
</pre>
|
</pre>
|
||||||
@@ -264,7 +264,7 @@ class PluginLoader extends Logger {
|
|||||||
icon: <FaExclamationCircle />,
|
icon: <FaExclamationCircle />,
|
||||||
});
|
});
|
||||||
this.toaster.toast({
|
this.toaster.toast({
|
||||||
title: t('PluginLoader.error_loading_plugin.toast', name),
|
title: t('PluginLoader.plugin_load_error.toast', { name: name }),
|
||||||
body: '' + e,
|
body: '' + e,
|
||||||
icon: <FaExclamationCircle />,
|
icon: <FaExclamationCircle />,
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user