.
This commit is contained in:
743
AI/Prompting best practices.md
Normal file
743
AI/Prompting best practices.md
Normal file
@@ -0,0 +1,743 @@
|
||||
# Prompting best practices
|
||||
|
||||
Comprehensive guide to prompt engineering techniques for Claude's latest models, covering clarity, examples, XML structuring, thinking, and agentic systems.
|
||||
|
||||
---
|
||||
|
||||
This is the single reference for prompt engineering with Claude's latest models, including Claude Opus 4.6, Claude Sonnet 4.6, and Claude Haiku 4.5. It covers foundational techniques, output control, tool use, thinking, and agentic systems. Jump to the section that matches your situation.
|
||||
|
||||
<Tip>
|
||||
For an overview of model capabilities, see the [models overview](/docs/en/about-claude/models/overview). For details on what's new in Claude 4.6, see [What's new in Claude 4.6](/docs/en/about-claude/models/whats-new-claude-4-6). For migration guidance, see the [Migration guide](/docs/en/about-claude/models/migration-guide).
|
||||
</Tip>
|
||||
|
||||
## General principles
|
||||
|
||||
### Be clear and direct
|
||||
|
||||
Claude responds well to clear, explicit instructions. Being specific about your desired output can help enhance results. If you want "above and beyond" behavior, explicitly request it rather than relying on the model to infer this from vague prompts.
|
||||
|
||||
Think of Claude as a brilliant but new employee who lacks context on your norms and workflows. The more precisely you explain what you want, the better the result.
|
||||
|
||||
**Golden rule:** Show your prompt to a colleague with minimal context on the task and ask them to follow it. If they'd be confused, Claude will be too.
|
||||
|
||||
- Be specific about the desired output format and constraints.
|
||||
- Provide instructions as sequential steps using numbered lists or bullet points when the order or completeness of steps matters.
|
||||
|
||||
<section title="Example: Creating an analytics dashboard">
|
||||
|
||||
**Less effective:**
|
||||
```text
|
||||
Create an analytics dashboard
|
||||
```
|
||||
|
||||
**More effective:**
|
||||
```text
|
||||
Create an analytics dashboard. Include as many relevant features and interactions as possible. Go beyond the basics to create a fully-featured implementation.
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
### Add context to improve performance
|
||||
|
||||
Providing context or motivation behind your instructions, such as explaining to Claude why such behavior is important, can help Claude better understand your goals and deliver more targeted responses.
|
||||
|
||||
<section title="Example: Formatting preferences">
|
||||
|
||||
**Less effective:**
|
||||
```text
|
||||
NEVER use ellipses
|
||||
```
|
||||
|
||||
**More effective:**
|
||||
```text
|
||||
Your response will be read aloud by a text-to-speech engine, so never use ellipses since the text-to-speech engine will not know how to pronounce them.
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
Claude is smart enough to generalize from the explanation.
|
||||
|
||||
### Use examples effectively
|
||||
|
||||
Examples are one of the most reliable ways to steer Claude's output format, tone, and structure. A few well-crafted examples (known as few-shot or multishot prompting) can dramatically improve accuracy and consistency.
|
||||
|
||||
When adding examples, make them:
|
||||
- **Relevant:** Mirror your actual use case closely.
|
||||
- **Diverse:** Cover edge cases and vary enough that Claude doesn't pick up unintended patterns.
|
||||
- **Structured:** Wrap examples in `<example>` tags (multiple examples in `<examples>` tags) so Claude can distinguish them from instructions.
|
||||
|
||||
<Tip>Include 3–5 examples for best results. You can also ask Claude to evaluate your examples for relevance and diversity, or to generate additional ones based on your initial set.</Tip>
|
||||
|
||||
### Structure prompts with XML tags
|
||||
|
||||
XML tags help Claude parse complex prompts unambiguously, especially when your prompt mixes instructions, context, examples, and variable inputs. Wrapping each type of content in its own tag (e.g. `<instructions>`, `<context>`, `<input>`) reduces misinterpretation.
|
||||
|
||||
Best practices:
|
||||
- Use consistent, descriptive tag names across your prompts.
|
||||
- Nest tags when content has a natural hierarchy (documents inside `<documents>`, each inside `<document index="n">`).
|
||||
|
||||
### Give Claude a role
|
||||
|
||||
Setting a role in the system prompt focuses Claude's behavior and tone for your use case. Even a single sentence makes a difference:
|
||||
|
||||
```python
|
||||
import anthropic
|
||||
|
||||
client = anthropic.Anthropic()
|
||||
|
||||
message = client.messages.create(
|
||||
model="claude-opus-4-6",
|
||||
max_tokens=1024,
|
||||
system="You are a helpful coding assistant specializing in Python.",
|
||||
messages=[
|
||||
{"role": "user", "content": "How do I sort a list of dictionaries by key?"}
|
||||
],
|
||||
)
|
||||
print(message.content)
|
||||
```
|
||||
|
||||
### Long context prompting
|
||||
|
||||
When working with large documents or data-rich inputs (20K+ tokens), structure your prompt carefully to get the best results:
|
||||
|
||||
- **Put longform data at the top**: Place your long documents and inputs near the top of your prompt, above your query, instructions, and examples. This can significantly improve performance across all models.
|
||||
|
||||
<Note>Queries at the end can improve response quality by up to 30% in tests, especially with complex, multi-document inputs.</Note>
|
||||
|
||||
- **Structure document content and metadata with XML tags**: When using multiple documents, wrap each document in `<document>` tags with `<document_content>` and `<source>` (and other metadata) subtags for clarity.
|
||||
|
||||
<section title="Example multi-document structure">
|
||||
|
||||
```xml
|
||||
<documents>
|
||||
<document index="1">
|
||||
<source>annual_report_2023.pdf</source>
|
||||
<document_content>
|
||||
{{ANNUAL_REPORT}}
|
||||
</document_content>
|
||||
</document>
|
||||
<document index="2">
|
||||
<source>competitor_analysis_q2.xlsx</source>
|
||||
<document_content>
|
||||
{{COMPETITOR_ANALYSIS}}
|
||||
</document_content>
|
||||
</document>
|
||||
</documents>
|
||||
|
||||
Analyze the annual report and competitor analysis. Identify strategic advantages and recommend Q3 focus areas.
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
- **Ground responses in quotes**: For long document tasks, ask Claude to quote relevant parts of the documents first before carrying out its task. This helps Claude cut through the noise of the rest of the document's contents.
|
||||
|
||||
<section title="Example quote extraction">
|
||||
|
||||
```xml
|
||||
You are an AI physician's assistant. Your task is to help doctors diagnose possible patient illnesses.
|
||||
|
||||
<documents>
|
||||
<document index="1">
|
||||
<source>patient_symptoms.txt</source>
|
||||
<document_content>
|
||||
{{PATIENT_SYMPTOMS}}
|
||||
</document_content>
|
||||
</document>
|
||||
<document index="2">
|
||||
<source>patient_records.txt</source>
|
||||
<document_content>
|
||||
{{PATIENT_RECORDS}}
|
||||
</document_content>
|
||||
</document>
|
||||
<document index="3">
|
||||
<source>patient01_appt_history.txt</source>
|
||||
<document_content>
|
||||
{{PATIENT01_APPOINTMENT_HISTORY}}
|
||||
</document_content>
|
||||
</document>
|
||||
</documents>
|
||||
|
||||
Find quotes from the patient records and appointment history that are relevant to diagnosing the patient's reported symptoms. Place these in <quotes> tags. Then, based on these quotes, list all information that would help the doctor diagnose the patient's symptoms. Place your diagnostic information in <info> tags.
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
### Model self-knowledge
|
||||
|
||||
If you would like Claude to identify itself correctly in your application or use specific API strings:
|
||||
|
||||
```text Sample prompt for model identity
|
||||
The assistant is Claude, created by Anthropic. The current model is Claude Opus 4.6.
|
||||
```
|
||||
|
||||
For LLM-powered apps that need to specify model strings:
|
||||
|
||||
```text Sample prompt for model string
|
||||
When an LLM is needed, please default to Claude Opus 4.6 unless the user requests otherwise. The exact model string for Claude Opus 4.6 is claude-opus-4-6.
|
||||
```
|
||||
|
||||
## Output and formatting
|
||||
|
||||
### Communication style and verbosity
|
||||
|
||||
Claude's latest models have a more concise and natural communication style compared to previous models:
|
||||
|
||||
- **More direct and grounded:** Provides fact-based progress reports rather than self-celebratory updates
|
||||
- **More conversational:** Slightly more fluent and colloquial, less machine-like
|
||||
- **Less verbose:** May skip detailed summaries for efficiency unless prompted otherwise
|
||||
|
||||
This means Claude may skip verbal summaries after tool calls, jumping directly to the next action. If you prefer more visibility into its reasoning:
|
||||
|
||||
```text Sample prompt
|
||||
After completing a task that involves tool use, provide a quick summary of the work you've done.
|
||||
```
|
||||
|
||||
### Control the format of responses
|
||||
|
||||
There are a few particularly effective ways to steer output formatting:
|
||||
|
||||
1. **Tell Claude what to do instead of what not to do**
|
||||
|
||||
- Instead of: "Do not use markdown in your response"
|
||||
- Try: "Your response should be composed of smoothly flowing prose paragraphs."
|
||||
|
||||
2. **Use XML format indicators**
|
||||
|
||||
- Try: "Write the prose sections of your response in \<smoothly_flowing_prose_paragraphs\> tags."
|
||||
|
||||
3. **Match your prompt style to the desired output**
|
||||
|
||||
The formatting style used in your prompt may influence Claude's response style. If you are still experiencing steerability issues with output formatting, try matching your prompt style to your desired output style as closely as possible. For example, removing markdown from your prompt can reduce the volume of markdown in the output.
|
||||
|
||||
4. **Use detailed prompts for specific formatting preferences**
|
||||
|
||||
For more control over markdown and formatting usage, provide explicit guidance:
|
||||
|
||||
```text Sample prompt to minimize markdown
|
||||
<avoid_excessive_markdown_and_bullet_points>
|
||||
When writing reports, documents, technical explanations, analyses, or any long-form content, write in clear, flowing prose using complete paragraphs and sentences. Use standard paragraph breaks for organization and reserve markdown primarily for `inline code`, code blocks (```...```), and simple headings (###, and ###). Avoid using **bold** and *italics*.
|
||||
|
||||
DO NOT use ordered lists (1. ...) or unordered lists (*) unless : a) you're presenting truly discrete items where a list format is the best option, or b) the user explicitly requests a list or ranking
|
||||
|
||||
Instead of listing items with bullets or numbers, incorporate them naturally into sentences. This guidance applies especially to technical writing. Using prose instead of excessive formatting will improve user satisfaction. NEVER output a series of overly short bullet points.
|
||||
|
||||
Your goal is readable, flowing text that guides the reader naturally through ideas rather than fragmenting information into isolated points.
|
||||
</avoid_excessive_markdown_and_bullet_points>
|
||||
```
|
||||
|
||||
### LaTeX output
|
||||
|
||||
Claude Opus 4.6 defaults to LaTeX for mathematical expressions, equations, and technical explanations. If you prefer plain text, add the following instructions to your prompt:
|
||||
|
||||
```text Sample prompt
|
||||
Format your response in plain text only. Do not use LaTeX, MathJax, or any markup notation such as \( \), $, or \frac{}{}. Write all math expressions using standard text characters (e.g., "/" for division, "*" for multiplication, and "^" for exponents).
|
||||
```
|
||||
|
||||
### Document creation
|
||||
|
||||
Claude's latest models excel at creating presentations, animations, and visual documents with impressive creative flair and strong instruction following. The models produce polished, usable output on the first try in most cases.
|
||||
|
||||
For best results with document creation:
|
||||
|
||||
```text Sample prompt
|
||||
Create a professional presentation on [topic]. Include thoughtful design elements, visual hierarchy, and engaging animations where appropriate.
|
||||
```
|
||||
|
||||
### Migrating away from prefilled responses
|
||||
|
||||
Starting with Claude 4.6 models, prefilled responses on the last assistant turn are no longer supported. Model intelligence and instruction following has advanced such that most use cases of prefill no longer require it. Existing models will continue to support prefills, and adding assistant messages elsewhere in the conversation is not affected.
|
||||
|
||||
Here are common prefill scenarios and how to migrate away from them:
|
||||
|
||||
<section title="Controlling output formatting">
|
||||
|
||||
Prefills have been used to force specific output formats like JSON/YAML, classification, and similar patterns where the prefill constrains Claude to a particular structure.
|
||||
|
||||
**Migration:** The [Structured Outputs](/docs/en/build-with-claude/structured-outputs) feature is designed specifically to constrain Claude's responses to follow a given schema. Try simply asking the model to conform to your output structure first, as newer models can reliably match complex schemas when told to, especially if implemented with retries. For classification tasks, use either tools with an enum field containing your valid labels or structured outputs.
|
||||
|
||||
</section>
|
||||
|
||||
<section title="Eliminating preambles">
|
||||
|
||||
Prefills like `Here is the requested summary:\n` were used to skip introductory text.
|
||||
|
||||
**Migration:** Use direct instructions in the system prompt: "Respond directly without preamble. Do not start with phrases like 'Here is...', 'Based on...', etc." Alternatively, direct the model to output within XML tags, use structured outputs, or use tool calling. If the occasional preamble slips through, strip it in post-processing.
|
||||
|
||||
</section>
|
||||
|
||||
<section title="Avoiding bad refusals">
|
||||
|
||||
Prefills were used to steer around unnecessary refusals.
|
||||
|
||||
**Migration:** Claude is much better at appropriate refusals now. Clear prompting within the `user` message without prefill should be sufficient.
|
||||
|
||||
</section>
|
||||
|
||||
<section title="Continuations">
|
||||
|
||||
Prefills were used to continue partial completions, resume interrupted responses, or pick up where a previous generation left off.
|
||||
|
||||
**Migration:** Move the continuation to the user message, and include the final text from the interrupted response: "Your previous response was interrupted and ended with \`[previous_response]\`. Continue from where you left off." If this is part of error-handling or incomplete-response-handling and there is no UX penalty, retry the request.
|
||||
|
||||
</section>
|
||||
|
||||
<section title="Context hydration and role consistency">
|
||||
|
||||
Prefills were used to periodically ensure refreshed or injected context.
|
||||
|
||||
**Migration:** For very long conversations, inject what were previously prefilled-assistant reminders into the user turn. If context hydration is part of a more complex agentic system, consider hydrating via tools (expose or encourage use of tools containing context based on heuristics such as number of turns) or during context compaction.
|
||||
|
||||
</section>
|
||||
|
||||
## Tool use
|
||||
|
||||
### Tool usage
|
||||
|
||||
Claude's latest models are trained for precise instruction following and benefit from explicit direction to use specific tools. If you say "can you suggest some changes," Claude will sometimes provide suggestions rather than implementing them, even if making changes might be what you intended.
|
||||
|
||||
For Claude to take action, be more explicit:
|
||||
|
||||
<section title="Example: Explicit instructions">
|
||||
|
||||
**Less effective (Claude will only suggest):**
|
||||
```text
|
||||
Can you suggest some changes to improve this function?
|
||||
```
|
||||
|
||||
**More effective (Claude will make the changes):**
|
||||
```text
|
||||
Change this function to improve its performance.
|
||||
```
|
||||
|
||||
Or:
|
||||
```text
|
||||
Make these edits to the authentication flow.
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
To make Claude more proactive about taking action by default, you can add this to your system prompt:
|
||||
|
||||
```text Sample prompt for proactive action
|
||||
<default_to_action>
|
||||
By default, implement changes rather than only suggesting them. If the user's intent is unclear, infer the most useful likely action and proceed, using tools to discover any missing details instead of guessing. Try to infer the user's intent about whether a tool call (e.g., file edit or read) is intended or not, and act accordingly.
|
||||
</default_to_action>
|
||||
```
|
||||
|
||||
On the other hand, if you want the model to be more hesitant by default, less prone to jumping straight into implementations, and only take action if requested, you can steer this behavior with a prompt like the below:
|
||||
|
||||
```text Sample prompt for conservative action
|
||||
<do_not_act_before_instructions>
|
||||
Do not jump into implementatation or changes files unless clearly instructed to make changes. When the user's intent is ambiguous, default to providing information, doing research, and providing recommendations rather than taking action. Only proceed with edits, modifications, or implementations when the user explicitly requests them.
|
||||
</do_not_act_before_instructions>
|
||||
```
|
||||
|
||||
Claude Opus 4.5 and Claude Opus 4.6 are also more responsive to the system prompt than previous models. If your prompts were designed to reduce undertriggering on tools or skills, these models may now overtrigger. The fix is to dial back any aggressive language. Where you might have said "CRITICAL: You MUST use this tool when...", you can use more normal prompting like "Use this tool when...".
|
||||
|
||||
### Optimize parallel tool calling
|
||||
|
||||
Claude's latest models excel at parallel tool execution. These models will:
|
||||
|
||||
- Run multiple speculative searches during research
|
||||
- Read several files at once to build context faster
|
||||
- Execute bash commands in parallel (which can even bottleneck system performance)
|
||||
|
||||
This behavior is easily steerable. While the model has a high success rate in parallel tool calling without prompting, you can boost this to ~100% or adjust the aggression level:
|
||||
|
||||
```text Sample prompt for maximum parallel efficiency
|
||||
<use_parallel_tool_calls>
|
||||
If you intend to call multiple tools and there are no dependencies between the tool calls, make all of the independent tool calls in parallel. Prioritize calling tools simultaneously whenever the actions can be done in parallel rather than sequentially. For example, when reading 3 files, run 3 tool calls in parallel to read all 3 files into context at the same time. Maximize use of parallel tool calls where possible to increase speed and efficiency. However, if some tool calls depend on previous calls to inform dependent values like the parameters, do NOT call these tools in parallel and instead call them sequentially. Never use placeholders or guess missing parameters in tool calls.
|
||||
</use_parallel_tool_calls>
|
||||
```
|
||||
|
||||
```text Sample prompt to reduce parallel execution
|
||||
Execute operations sequentially with brief pauses between each step to ensure stability.
|
||||
```
|
||||
|
||||
## Thinking and reasoning
|
||||
|
||||
### Overthinking and excessive thoroughness
|
||||
|
||||
Claude Opus 4.6 does significantly more upfront exploration than previous models, especially at higher `effort` settings. This initial work often helps to optimize the final results, but the model may gather extensive context or pursue multiple threads of research without being prompted. If your prompts previously encouraged the model to be more thorough, you should tune that guidance for Claude Opus 4.6:
|
||||
|
||||
- **Replace blanket defaults with more targeted instructions.** Instead of "Default to using \[tool\]," add guidance like "Use \[tool\] when it would enhance your understanding of the problem."
|
||||
- **Remove over-prompting.** Tools that undertriggered in previous models are likely to trigger appropriately now. Instructions like "If in doubt, use \[tool\]" will cause overtriggering.
|
||||
- **Use effort as a fallback.** If Claude continues to be overly aggressive, use a lower setting for `effort`.
|
||||
|
||||
In some cases, Claude Opus 4.6 may think extensively, which can inflate thinking tokens and slow down responses. If this behavior is undesirable, you can add explicit instructions to constrain its reasoning, or you can lower the `effort` setting to reduce overall thinking and token usage.
|
||||
|
||||
```text Sample prompt
|
||||
When you're deciding how to approach a problem, choose an approach and commit to it. Avoid revisiting decisions unless you encounter new information that directly contradicts your reasoning. If you're weighing two approaches, pick one and see it through. You can always course-correct later if the chosen approach fails.
|
||||
```
|
||||
|
||||
For Claude Sonnet 4.6 specifically, switching from adaptive to extended thinking with a `budget_tokens` cap provides a hard ceiling on thinking costs while preserving quality.
|
||||
|
||||
### Leverage thinking & interleaved thinking capabilities
|
||||
|
||||
Claude's latest models offer thinking capabilities that can be especially helpful for tasks involving reflection after tool use or complex multi-step reasoning. You can guide its initial or interleaved thinking for better results.
|
||||
|
||||
Claude Opus 4.6 uses [adaptive thinking](/docs/en/build-with-claude/adaptive-thinking) (`thinking: {type: "adaptive"}`), where Claude dynamically decides when and how much to think. Claude Sonnet 4.6 supports both adaptive thinking and manual extended thinking with [interleaved mode](/docs/en/build-with-claude/extended-thinking#interleaved-thinking). Claude calibrates its thinking based on two factors: the `effort` parameter and query complexity. Higher effort elicits more thinking, and more complex queries do the same. On easier queries that don't require thinking, the model responds directly. In internal evaluations, adaptive thinking reliably drives better performance than extended thinking. Consider moving to adaptive thinking to get the most intelligent responses.
|
||||
|
||||
For Sonnet 4.6, consider trying adaptive thinking for workloads that require agentic behavior such as multi-step tool use, complex coding tasks, and long-horizon agent loops. If adaptive thinking doesn't fit your use case, manual extended thinking with interleaved mode remains supported. Older models use manual thinking mode with `budget_tokens`.
|
||||
|
||||
You can guide Claude's thinking behavior:
|
||||
|
||||
```text Example prompt
|
||||
After receiving tool results, carefully reflect on their quality and determine optimal next steps before proceeding. Use your thinking to plan and iterate based on this new information, and then take the best next action.
|
||||
```
|
||||
|
||||
The triggering behavior for adaptive thinking is promptable. If you find the model thinking more often than you'd like, which can happen with large or complex system prompts, add guidance to steer it:
|
||||
|
||||
```text Sample prompt
|
||||
Extended thinking adds latency and should only be used when it will meaningfully improve answer quality - typically for problems that require multi-step reasoning. When in doubt, respond directly.
|
||||
```
|
||||
|
||||
If you are migrating from [extended thinking](/docs/en/build-with-claude/extended-thinking) with `budget_tokens`, replace your thinking configuration and move budget control to `effort`:
|
||||
|
||||
```python Before (extended thinking, older models) nocheck
|
||||
client.messages.create(
|
||||
model="claude-sonnet-4-5-20250929",
|
||||
max_tokens=64000,
|
||||
thinking={"type": "enabled", "budget_tokens": 32000},
|
||||
messages=[{"role": "user", "content": "..."}],
|
||||
)
|
||||
```
|
||||
|
||||
```python After (adaptive thinking) nocheck
|
||||
client.messages.create(
|
||||
model="claude-opus-4-6",
|
||||
max_tokens=64000,
|
||||
thinking={"type": "adaptive"},
|
||||
output_config={"effort": "high"}, # or max, medium, low
|
||||
messages=[{"role": "user", "content": "..."}],
|
||||
)
|
||||
```
|
||||
|
||||
If you are not using extended thinking, no changes are required. Thinking is off by default when you omit the `thinking` parameter.
|
||||
|
||||
- **Prefer general instructions over prescriptive steps.** A prompt like "think thoroughly" often produces better reasoning than a hand-written step-by-step plan. Claude's reasoning frequently exceeds what a human would prescribe.
|
||||
- **Multishot examples work with thinking.** Use `<thinking>` tags inside your few-shot examples to show Claude the reasoning pattern. It will generalize that style to its own extended thinking blocks.
|
||||
- **Manual CoT as a fallback.** When thinking is off, you can still encourage step-by-step reasoning by asking Claude to think through the problem. Use structured tags like `<thinking>` and `<answer>` to cleanly separate reasoning from the final output.
|
||||
- **Ask Claude to self-check.** Append something like "Before you finish, verify your answer against [test criteria]." This catches errors reliably, especially for coding and math.
|
||||
|
||||
<Note>When extended thinking is disabled, Claude Opus 4.5 is particularly sensitive to the word "think" and its variants. Consider using alternatives like "consider," "evaluate," or "reason through" in those cases.</Note>
|
||||
|
||||
<Info>
|
||||
For more information on thinking capabilities, see [Extended thinking](/docs/en/build-with-claude/extended-thinking) and [Adaptive thinking](/docs/en/build-with-claude/adaptive-thinking).
|
||||
</Info>
|
||||
|
||||
## Agentic systems
|
||||
|
||||
### Long-horizon reasoning and state tracking
|
||||
|
||||
Claude's latest models excel at long-horizon reasoning tasks with exceptional state tracking capabilities. Claude maintains orientation across extended sessions by focusing on incremental progress, making steady advances on a few things at a time rather than attempting everything at once. This capability especially emerges over multiple context windows or task iterations, where Claude can work on a complex task, save the state, and continue with a fresh context window.
|
||||
|
||||
#### Context awareness and multi-window workflows
|
||||
|
||||
Claude 4.6 and Claude 4.5 models feature [context awareness](/docs/en/build-with-claude/context-windows#context-awareness-in-claude-sonnet-4-6-sonnet-4-5-and-haiku-4-5), enabling the model to track its remaining context window (i.e. "token budget") throughout a conversation. This enables Claude to execute tasks and manage context more effectively by understanding how much space it has to work.
|
||||
|
||||
**Managing context limits:**
|
||||
|
||||
If you are using Claude in an agent harness that compacts context or allows saving context to external files (like in Claude Code), consider adding this information to your prompt so Claude can behave accordingly. Otherwise, Claude may sometimes naturally try to wrap up work as it approaches the context limit. Below is an example prompt:
|
||||
|
||||
```text Sample prompt
|
||||
Your context window will be automatically compacted as it approaches its limit, allowing you to continue working indefinitely from where you left off. Therefore, do not stop tasks early due to token budget concerns. As you approach your token budget limit, save your current progress and state to memory before the context window refreshes. Always be as persistent and autonomous as possible and complete tasks fully, even if the end of your budget is approaching. Never artificially stop any task early regardless of the context remaining.
|
||||
```
|
||||
|
||||
The [memory tool](/docs/en/agents-and-tools/tool-use/memory-tool) pairs naturally with context awareness for seamless context transitions.
|
||||
|
||||
#### Multi-context window workflows
|
||||
|
||||
For tasks spanning multiple context windows:
|
||||
|
||||
1. **Use a different prompt for the very first context window**: Use the first context window to set up a framework (write tests, create setup scripts), then use future context windows to iterate on a todo-list.
|
||||
|
||||
2. **Have the model write tests in a structured format**: Ask Claude to create tests before starting work and keep track of them in a structured format (e.g., `tests.json`). This leads to better long-term ability to iterate. Remind Claude of the importance of tests: "It is unacceptable to remove or edit tests because this could lead to missing or buggy functionality."
|
||||
|
||||
3. **Set up quality of life tools**: Encourage Claude to create setup scripts (e.g., `init.sh`) to gracefully start servers, run test suites, and linters. This prevents repeated work when continuing from a fresh context window.
|
||||
|
||||
4. **Starting fresh vs compacting**: When a context window is cleared, consider starting with a brand new context window rather than using compaction. Claude's latest models are extremely effective at discovering state from the local filesystem. In some cases, you may want to take advantage of this over compaction. Be prescriptive about how it should start:
|
||||
- "Call pwd; you can only read and write files in this directory."
|
||||
- "Review progress.txt, tests.json, and the git logs."
|
||||
- "Manually run through a fundamental integration test before moving on to implementing new features."
|
||||
|
||||
5. **Provide verification tools**: As the length of autonomous tasks grows, Claude needs to verify correctness without continuous human feedback. Tools like Playwright MCP server or computer use capabilities for testing UIs are helpful.
|
||||
|
||||
6. **Encourage complete usage of context**: Prompt Claude to efficiently complete components before moving on:
|
||||
|
||||
```text Sample prompt
|
||||
This is a very long task, so it may be beneficial to plan out your work clearly. It's encouraged to spend your entire output context working on the task - just make sure you don't run out of context with significant uncommitted work. Continue working systematically until you have completed this task.
|
||||
```
|
||||
|
||||
#### State management best practices
|
||||
|
||||
- **Use structured formats for state data**: When tracking structured information (like test results or task status), use JSON or other structured formats to help Claude understand schema requirements
|
||||
- **Use unstructured text for progress notes**: Freeform progress notes work well for tracking general progress and context
|
||||
- **Use git for state tracking**: Git provides a log of what's been done and checkpoints that can be restored. Claude's latest models perform especially well in using git to track state across multiple sessions.
|
||||
- **Emphasize incremental progress**: Explicitly ask Claude to keep track of its progress and focus on incremental work
|
||||
|
||||
<section title="Example: State tracking">
|
||||
|
||||
```json
|
||||
// Structured state file (tests.json)
|
||||
{
|
||||
"tests": [
|
||||
{ "id": 1, "name": "authentication_flow", "status": "passing" },
|
||||
{ "id": 2, "name": "user_management", "status": "failing" },
|
||||
{ "id": 3, "name": "api_endpoints", "status": "not_started" }
|
||||
],
|
||||
"total": 200,
|
||||
"passing": 150,
|
||||
"failing": 25,
|
||||
"not_started": 25
|
||||
}
|
||||
```
|
||||
|
||||
```text
|
||||
// Progress notes (progress.txt)
|
||||
Session 3 progress:
|
||||
- Fixed authentication token validation
|
||||
- Updated user model to handle edge cases
|
||||
- Next: investigate user_management test failures (test #2)
|
||||
- Note: Do not remove tests as this could lead to missing functionality
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
### Balancing autonomy and safety
|
||||
|
||||
Without guidance, Claude Opus 4.6 may take actions that are difficult to reverse or affect shared systems, such as deleting files, force-pushing, or posting to external services. If you want Claude Opus 4.6 to confirm before taking potentially risky actions, add guidance to your prompt:
|
||||
|
||||
```text Sample prompt
|
||||
Consider the reversibility and potential impact of your actions. You are encouraged to take local, reversible actions like editing files or running tests, but for actions that are hard to reverse, affect shared systems, or could be destructive, ask the user before proceeding.
|
||||
|
||||
Examples of actions that warrant confirmation:
|
||||
- Destructive operations: deleting files or branches, dropping database tables, rm -rf
|
||||
- Hard to reverse operations: git push --force, git reset --hard, amending published commits
|
||||
- Operations visible to others: pushing code, commenting on PRs/issues, sending messages, modifying shared infrastructure
|
||||
|
||||
When encountering obstacles, do not use destructive actions as a shortcut. For example, don't bypass safety checks (e.g. --no-verify) or discard unfamiliar files that may be in-progress work.
|
||||
```
|
||||
|
||||
### Research and information gathering
|
||||
|
||||
Claude's latest models demonstrate exceptional agentic search capabilities and can find and synthesize information from multiple sources effectively. For optimal research results:
|
||||
|
||||
1. **Provide clear success criteria**: Define what constitutes a successful answer to your research question
|
||||
|
||||
2. **Encourage source verification**: Ask Claude to verify information across multiple sources
|
||||
|
||||
3. **For complex research tasks, use a structured approach**:
|
||||
|
||||
```text Sample prompt for complex research
|
||||
Search for this information in a structured way. As you gather data, develop several competing hypotheses. Track your confidence levels in your progress notes to improve calibration. Regularly self-critique your approach and plan. Update a hypothesis tree or research notes file to persist information and provide transparency. Break down this complex research task systematically.
|
||||
```
|
||||
|
||||
This structured approach allows Claude to find and synthesize virtually any piece of information and iteratively critique its findings, no matter the size of the corpus.
|
||||
|
||||
### Subagent orchestration
|
||||
|
||||
Claude's latest models demonstrate significantly improved native subagent orchestration capabilities. These models can recognize when tasks would benefit from delegating work to specialized subagents and do so proactively without requiring explicit instruction.
|
||||
|
||||
To take advantage of this behavior:
|
||||
|
||||
1. **Ensure well-defined subagent tools**: Have subagent tools available and described in tool definitions
|
||||
2. **Let Claude orchestrate naturally**: Claude will delegate appropriately without explicit instruction
|
||||
3. **Watch for overuse**: Claude Opus 4.6 has a strong predilection for subagents and may spawn them in situations where a simpler, direct approach would suffice. For example, the model may spawn subagents for code exploration when a direct grep call is faster and sufficient.
|
||||
|
||||
If you're seeing excessive subagent use, add explicit guidance about when subagents are and aren't warranted:
|
||||
|
||||
```text Sample prompt for subagent usage
|
||||
Use subagents when tasks can run in parallel, require isolated context, or involve independent workstreams that don't need to share state. For simple tasks, sequential operations, single-file edits, or tasks where you need to maintain context across steps, work directly rather than delegating.
|
||||
```
|
||||
|
||||
### Chain complex prompts
|
||||
|
||||
With adaptive thinking and subagent orchestration, Claude handles most multi-step reasoning internally. Explicit prompt chaining (breaking a task into sequential API calls) is still useful when you need to inspect intermediate outputs or enforce a specific pipeline structure.
|
||||
|
||||
The most common chaining pattern is **self-correction**: generate a draft → have Claude review it against criteria → have Claude refine based on the review. Each step is a separate API call so you can log, evaluate, or branch at any point.
|
||||
|
||||
### Reduce file creation in agentic coding
|
||||
|
||||
Claude's latest models may sometimes create new files for testing and iteration purposes, particularly when working with code. This approach allows Claude to use files, especially python scripts, as a 'temporary scratchpad' before saving its final output. Using temporary files can improve outcomes particularly for agentic coding use cases.
|
||||
|
||||
If you'd prefer to minimize net new file creation, you can instruct Claude to clean up after itself:
|
||||
|
||||
```text Sample prompt
|
||||
If you create any temporary new files, scripts, or helper files for iteration, clean up these files by removing them at the end of the task.
|
||||
```
|
||||
|
||||
### Overeagerness
|
||||
|
||||
Claude Opus 4.5 and Claude Opus 4.6 have a tendency to overengineer by creating extra files, adding unnecessary abstractions, or building in flexibility that wasn't requested. If you're seeing this undesired behavior, add specific guidance to keep solutions minimal.
|
||||
|
||||
For example:
|
||||
|
||||
```text Sample prompt to minimize overengineering
|
||||
Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused:
|
||||
|
||||
- Scope: Don't add features, refactor code, or make "improvements" beyond what was asked. A bug fix doesn't need surrounding code cleaned up. A simple feature doesn't need extra configurability.
|
||||
|
||||
- Documentation: Don't add docstrings, comments, or type annotations to code you didn't change. Only add comments where the logic isn't self-evident.
|
||||
|
||||
- Defensive coding: Don't add error handling, fallbacks, or validation for scenarios that can't happen. Trust internal code and framework guarantees. Only validate at system boundaries (user input, external APIs).
|
||||
|
||||
- Abstractions: Don't create helpers, utilities, or abstractions for one-time operations. Don't design for hypothetical future requirements. The right amount of complexity is the minimum needed for the current task.
|
||||
```
|
||||
|
||||
### Avoid focusing on passing tests and hard-coding
|
||||
|
||||
Claude can sometimes focus too heavily on making tests pass at the expense of more general solutions, or may use workarounds like helper scripts for complex refactoring instead of using standard tools directly. To prevent this behavior and ensure robust, generalizable solutions:
|
||||
|
||||
```text Sample prompt
|
||||
Please write a high-quality, general-purpose solution using the standard tools available. Do not create helper scripts or workarounds to accomplish the task more efficiently. Implement a solution that works correctly for all valid inputs, not just the test cases. Do not hard-code values or create solutions that only work for specific test inputs. Instead, implement the actual logic that solves the problem generally.
|
||||
|
||||
Focus on understanding the problem requirements and implementing the correct algorithm. Tests are there to verify correctness, not to define the solution. Provide a principled implementation that follows best practices and software design principles.
|
||||
|
||||
If the task is unreasonable or infeasible, or if any of the tests are incorrect, please inform me rather than working around them. The solution should be robust, maintainable, and extendable.
|
||||
```
|
||||
|
||||
### Minimizing hallucinations in agentic coding
|
||||
|
||||
Claude's latest models are less prone to hallucinations and give more accurate, grounded, intelligent answers based on the code. To encourage this behavior even more and minimize hallucinations:
|
||||
|
||||
```text Sample prompt
|
||||
<investigate_before_answering>
|
||||
Never speculate about code you have not opened. If the user references a specific file, you MUST read the file before answering. Make sure to investigate and read relevant files BEFORE answering questions about the codebase. Never make any claims about code before investigating unless you are certain of the correct answer - give grounded and hallucination-free answers.
|
||||
</investigate_before_answering>
|
||||
```
|
||||
|
||||
## Capability-specific tips
|
||||
|
||||
### Improved vision capabilities
|
||||
|
||||
Claude Opus 4.5 and Claude Opus 4.6 have improved vision capabilities compared to previous Claude models. They perform better on image processing and data extraction tasks, particularly when there are multiple images present in context. These improvements carry over to computer use, where the models can more reliably interpret screenshots and UI elements. You can also use these models to analyze videos by breaking them up into frames.
|
||||
|
||||
One technique that has proven effective to further boost performance is to give Claude a crop tool or [skill](/docs/en/agents-and-tools/agent-skills/overview). Testing has shown consistent uplift on image evaluations when Claude is able to "zoom" in on relevant regions of an image. Anthropic has created a [cookbook for the crop tool](https://platform.claude.com/cookbook/multimodal-crop-tool).
|
||||
|
||||
### Frontend design
|
||||
|
||||
Claude Opus 4.5 and Claude Opus 4.6 excel at building complex, real-world web applications with strong frontend design. However, without guidance, models can default to generic patterns that create what users call the "AI slop" aesthetic. To create distinctive, creative frontends that surprise and delight:
|
||||
|
||||
<Tip>
|
||||
For a detailed guide on improving frontend design, see the blog post on [improving frontend design through skills](https://www.claude.com/blog/improving-frontend-design-through-skills).
|
||||
</Tip>
|
||||
|
||||
Here's a system prompt snippet you can use to encourage better frontend design:
|
||||
|
||||
```text Sample prompt for frontend aesthetics
|
||||
<frontend_aesthetics>
|
||||
You tend to converge toward generic, "on distribution" outputs. In frontend design, this creates what users call the "AI slop" aesthetic. Avoid this: make creative, distinctive frontends that surprise and delight.
|
||||
|
||||
Focus on:
|
||||
- Typography: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics.
|
||||
- Color & Theme: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes. Draw from IDE themes and cultural aesthetics for inspiration.
|
||||
- Motion: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions.
|
||||
- Backgrounds: Create atmosphere and depth rather than defaulting to solid colors. Layer CSS gradients, use geometric patterns, or add contextual effects that match the overall aesthetic.
|
||||
|
||||
Avoid generic AI-generated aesthetics:
|
||||
- Overused font families (Inter, Roboto, Arial, system fonts)
|
||||
- Clichéd color schemes (particularly purple gradients on white backgrounds)
|
||||
- Predictable layouts and component patterns
|
||||
- Cookie-cutter design that lacks context-specific character
|
||||
|
||||
Interpret creatively and make unexpected choices that feel genuinely designed for the context. Vary between light and dark themes, different fonts, different aesthetics. You still tend to converge on common choices (Space Grotesk, for example) across generations. Avoid this: it is critical that you think outside the box!
|
||||
</frontend_aesthetics>
|
||||
```
|
||||
|
||||
You can also refer to the [full skill definition](https://github.com/anthropics/claude-code/blob/main/plugins/frontend-design/skills/frontend-design/SKILL.md).
|
||||
|
||||
## Migration considerations
|
||||
|
||||
When migrating to Claude 4.6 models from earlier generations:
|
||||
|
||||
1. **Be specific about desired behavior**: Consider describing exactly what you'd like to see in the output.
|
||||
|
||||
2. **Frame your instructions with modifiers**: Adding modifiers that encourage Claude to increase the quality and detail of its output can help better shape Claude's performance. For example, instead of "Create an analytics dashboard", use "Create an analytics dashboard. Include as many relevant features and interactions as possible. Go beyond the basics to create a fully-featured implementation."
|
||||
|
||||
3. **Request specific features explicitly**: Animations and interactive elements should be requested explicitly when desired.
|
||||
|
||||
4. **Update thinking configuration**: Claude 4.6 models use [adaptive thinking](/docs/en/build-with-claude/adaptive-thinking) (`thinking: {type: "adaptive"}`) instead of manual thinking with `budget_tokens`. Use the [effort parameter](/docs/en/build-with-claude/effort) to control thinking depth.
|
||||
|
||||
5. **Migrate away from prefilled responses**: Prefilled responses on the last assistant turn are deprecated starting with Claude 4.6 models. See [Migrating away from prefilled responses](#migrating-away-from-prefilled-responses) for detailed guidance on alternatives.
|
||||
|
||||
6. **Tune anti-laziness prompting**: If your prompts previously encouraged the model to be more thorough or use tools more aggressively, dial back that guidance. Claude 4.6 models are significantly more proactive and may overtrigger on instructions that were needed for previous models.
|
||||
|
||||
For detailed migration steps, see the [Migration guide](/docs/en/about-claude/models/migration-guide).
|
||||
|
||||
### Migrating from Claude Sonnet 4.5 to Claude Sonnet 4.6
|
||||
|
||||
Claude Sonnet 4.6 defaults to an effort level of `high`, in contrast to Claude Sonnet 4.5 which had no effort parameter. Consider adjusting the effort parameter as you migrate from Claude Sonnet 4.5 to Claude Sonnet 4.6. If not explicitly set, you may experience higher latency with the default effort level.
|
||||
|
||||
**Recommended effort settings:**
|
||||
- **Medium** for most applications
|
||||
- **Low** for high-volume or latency-sensitive workloads
|
||||
- Set a large max output token budget (64k tokens recommended) at medium or high effort to give the model room to think and act
|
||||
|
||||
**When to use Opus 4.6 instead:** For the hardest, longest-horizon problems (large-scale code migrations, deep research, extended autonomous work), Opus 4.6 remains the right choice. Sonnet 4.6 is optimized for workloads where fast turnaround and cost efficiency matter most.
|
||||
|
||||
#### If you're not using extended thinking
|
||||
|
||||
If you're not using extended thinking on Claude Sonnet 4.5, you can continue without it on Claude Sonnet 4.6. You should explicitly set effort to the level appropriate for your use case. At `low` effort with thinking disabled, you can expect similar or better performance relative to Claude Sonnet 4.5 with no extended thinking.
|
||||
|
||||
```python
|
||||
client.messages.create(
|
||||
model="claude-sonnet-4-6",
|
||||
max_tokens=8192,
|
||||
thinking={"type": "disabled"},
|
||||
output_config={"effort": "low"},
|
||||
messages=[{"role": "user", "content": "..."}],
|
||||
)
|
||||
```
|
||||
|
||||
#### If you're using extended thinking
|
||||
|
||||
If you're using extended thinking on Claude Sonnet 4.5, it continues to be supported on Claude Sonnet 4.6 with no changes needed to your thinking configuration. Consider keeping a thinking budget around 16k tokens. In practice, most tasks don't use that much, but it provides headroom for harder problems without risk of runaway token usage.
|
||||
|
||||
**For coding use cases** (agentic coding, tool-heavy workflows, code generation):
|
||||
|
||||
Start with `medium` effort. If you find latency is too high, consider reducing effort to `low`. If you need higher intelligence, consider increasing effort to `high` or migrating to Opus 4.6.
|
||||
|
||||
```python nocheck
|
||||
client.messages.create(
|
||||
model="claude-sonnet-4-6",
|
||||
max_tokens=16384,
|
||||
thinking={"type": "enabled", "budget_tokens": 16384},
|
||||
output_config={"effort": "medium"},
|
||||
messages=[{"role": "user", "content": "..."}],
|
||||
)
|
||||
```
|
||||
|
||||
**For chat and non-coding use cases** (chat, content generation, search, classification):
|
||||
|
||||
Start with `low` effort with extended thinking. If you need more depth, increase effort to `medium`.
|
||||
|
||||
```python nocheck
|
||||
client.messages.create(
|
||||
model="claude-sonnet-4-6",
|
||||
max_tokens=8192,
|
||||
thinking={"type": "enabled", "budget_tokens": 16384},
|
||||
output_config={"effort": "low"},
|
||||
messages=[{"role": "user", "content": "..."}],
|
||||
)
|
||||
```
|
||||
|
||||
#### When to try adaptive thinking
|
||||
|
||||
The extended thinking paths above use `budget_tokens` for predictable token usage. If your workload fits one of the following patterns, consider trying [adaptive thinking](/docs/en/build-with-claude/adaptive-thinking) instead:
|
||||
|
||||
- **Autonomous multi-step agents:** coding agents that turn requirements into working software, data analysis pipelines, and bug finding where the model runs independently across many steps. Adaptive thinking lets the model calibrate its reasoning per step, staying on path over longer trajectories. For these workloads, start at `high` effort. If latency or token usage is a concern, scale down to `medium`.
|
||||
- **Computer use agents:** Claude Sonnet 4.6 achieved best-in-class accuracy on computer use evaluations using adaptive mode.
|
||||
- **Bimodal workloads:** a mix of easy and hard tasks where adaptive skips thinking on simple queries and reasons deeply on complex ones.
|
||||
|
||||
When using adaptive thinking, evaluate `medium` and `high` effort on your tasks. The right level depends on your workload's tradeoff between quality, latency, and token usage.
|
||||
|
||||
```python nocheck
|
||||
client.messages.create(
|
||||
model="claude-sonnet-4-6",
|
||||
max_tokens=64000,
|
||||
thinking={"type": "adaptive"},
|
||||
output_config={"effort": "high"},
|
||||
messages=[{"role": "user", "content": "..."}],
|
||||
)
|
||||
```
|
||||
@@ -0,0 +1,2 @@
|
||||
[InternetShortcut]
|
||||
URL=https://www.windowscentral.com/microsoft/windows-11/how-to-fine-tune-your-pc-with-the-sophia-script-for-windows-11
|
||||
@@ -0,0 +1,2 @@
|
||||
[InternetShortcut]
|
||||
URL=https://github.com/farag2/Sophia-Script-for-Windows
|
||||
BIN
Powershell/Sophia Script/Sophia.Script.Wrapper.v2.8.21.zip
Normal file
BIN
Powershell/Sophia Script/Sophia.Script.Wrapper.v2.8.21.zip
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,118 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Set console font to Consolas when script is called from the Wrapper due to it is not loaded by default
|
||||
|
||||
.LINK
|
||||
https://github.com/ReneNyffenegger/ps-modules-console
|
||||
#>
|
||||
function Set-ConsoleFont
|
||||
{
|
||||
$Signature = @{
|
||||
Namespace = "WinAPI"
|
||||
Name = "ConsoleFont"
|
||||
Language = "CSharp"
|
||||
MemberDefinition = @"
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
|
||||
public struct COORD
|
||||
{
|
||||
public short X;
|
||||
public short Y;
|
||||
|
||||
public COORD(short x, short y)
|
||||
{
|
||||
X = x;
|
||||
Y = y;
|
||||
}
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||
|
||||
public struct CONSOLE_FONT_INFOEX
|
||||
{
|
||||
public uint cbSize;
|
||||
public uint n;
|
||||
public COORD size;
|
||||
|
||||
// The four low-order bits of 'family' specify information about the pitch and the technology:
|
||||
// 1 = TMPF_FIXED_PITCH, 2 = TMPF_VECTOR, 4 = TMPF_TRUETYPE, 8 = TMPF_DEVICE.
|
||||
// The four high-order bits specifies the fonts family:
|
||||
// 80 = FF_DECORATIVE, 0 = FF_DONTCARE, 48 = FF_MODERN, 16 = FF_ROMAN, 64 = FF_SCRIPT, 32 = FF_SWISS
|
||||
// I assume(!) this value is always 48.
|
||||
// (In fact, it seems that family is is always 54 = TMPF_VECTOR + TMPF_TRUETYPE + FF_MODERN)
|
||||
public int family;
|
||||
public int weight;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
|
||||
public string name;
|
||||
}
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
public static extern IntPtr GetStdHandle(int nStdHandle);
|
||||
|
||||
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
||||
extern static bool GetCurrentConsoleFontEx(
|
||||
IntPtr hConsoleOutput,
|
||||
bool bMaximumWindow,
|
||||
ref CONSOLE_FONT_INFOEX lpConsoleCurrentFont
|
||||
);
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
static extern Int32 SetCurrentConsoleFontEx(
|
||||
IntPtr ConsoleOutput,
|
||||
bool MaximumWindow,
|
||||
ref CONSOLE_FONT_INFOEX lpConsoleCurrentFont
|
||||
);
|
||||
|
||||
public static CONSOLE_FONT_INFOEX GetFont()
|
||||
{
|
||||
CONSOLE_FONT_INFOEX ret = new CONSOLE_FONT_INFOEX();
|
||||
|
||||
ret.cbSize = (uint) Marshal.SizeOf(ret);
|
||||
if (GetCurrentConsoleFontEx(GetStdHandle(-11), false, ref ret))
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
|
||||
throw new Exception("something went wrong with GetCurrentConsoleFontEx");
|
||||
}
|
||||
|
||||
public static void SetFont(CONSOLE_FONT_INFOEX font)
|
||||
{
|
||||
if (SetCurrentConsoleFontEx(GetStdHandle(-11), false, ref font ) == 0)
|
||||
{
|
||||
throw new Exception("something went wrong with SetCurrentConsoleFontEx");
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetSize(short w, short h)
|
||||
{
|
||||
CONSOLE_FONT_INFOEX font = GetFont();
|
||||
font.size.X = w;
|
||||
font.size.Y = h;
|
||||
SetFont(font);
|
||||
}
|
||||
|
||||
public static void SetName(string name)
|
||||
{
|
||||
CONSOLE_FONT_INFOEX font = GetFont();
|
||||
font.name = name;
|
||||
SetFont(font);
|
||||
}
|
||||
"@
|
||||
}
|
||||
if (-not ("WinAPI.ConsoleFont" -as [type]))
|
||||
{
|
||||
Add-Type @Signature
|
||||
}
|
||||
[WinAPI.ConsoleFont]::SetName("Consolas")
|
||||
}
|
||||
|
||||
# We need to be sure that the Wrapper generated a powershell.exe process. If that true, we need to set Consolas font, unless a Sophia Script logo in console is distored
|
||||
$PowerShellParentProcessId = (Get-CimInstance -ClassName CIM_Process | Where-Object -FilterScript {$_.Name -eq "powershell.exe"}).ParentProcessId
|
||||
$ParrentProcess = Get-Process -Id $PowerShellParentProcessId -ErrorAction Ignore
|
||||
$WrapperProcess = Get-Process -Name SophiaScriptWrapper -ErrorAction Ignore
|
||||
if ($ParrentProcess.Id -eq $WrapperProcess.Id)
|
||||
{
|
||||
Set-ConsoleFont
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
[
|
||||
{
|
||||
"Id": 100,
|
||||
"Region": "before",
|
||||
"Function": ""
|
||||
},
|
||||
{
|
||||
"Id": 101,
|
||||
"Region": "before",
|
||||
"Function": ""
|
||||
},
|
||||
{
|
||||
"Id": 200,
|
||||
"Region": "after",
|
||||
"Function": "PostActions"
|
||||
}
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,82 @@
|
||||
[
|
||||
{
|
||||
"en": {
|
||||
"70": {
|
||||
"HeightAdjustInPixels": "30"
|
||||
},
|
||||
"80": {
|
||||
"HeightAdjustInPixels": "30"
|
||||
},
|
||||
"90": {
|
||||
"HeightAdjustInPixels": "20"
|
||||
},
|
||||
"100": {
|
||||
"HeightAdjustInPixels": "18"
|
||||
},
|
||||
"125": {
|
||||
"HeightAdjustInPixels": "12"
|
||||
},
|
||||
"150": {
|
||||
"HeightAdjustInPixels": "10"
|
||||
},
|
||||
"175": {
|
||||
"HeightAdjustInPixels": "10"
|
||||
},
|
||||
"200": {
|
||||
"HeightAdjustInPixels": "1"
|
||||
}
|
||||
},
|
||||
"de": {
|
||||
"70": {
|
||||
"HeightAdjustInPixels": "36"
|
||||
},
|
||||
"80": {
|
||||
"HeightAdjustInPixels": "31"
|
||||
},
|
||||
"90": {
|
||||
"HeightAdjustInPixels": "29"
|
||||
},
|
||||
"100": {
|
||||
"HeightAdjustInPixels": "27"
|
||||
},
|
||||
"125": {
|
||||
"HeightAdjustInPixels": "18"
|
||||
},
|
||||
"150": {
|
||||
"HeightAdjustInPixels": "14"
|
||||
},
|
||||
"175": {
|
||||
"HeightAdjustInPixels": "10"
|
||||
},
|
||||
"200": {
|
||||
"HeightAdjustInPixels": "10"
|
||||
}
|
||||
},
|
||||
"ru": {
|
||||
"70": {
|
||||
"HeightAdjustInPixels": "38"
|
||||
},
|
||||
"80": {
|
||||
"HeightAdjustInPixels": "32"
|
||||
},
|
||||
"90": {
|
||||
"HeightAdjustInPixels": "29"
|
||||
},
|
||||
"100": {
|
||||
"HeightAdjustInPixels": "26"
|
||||
},
|
||||
"125": {
|
||||
"HeightAdjustInPixels": "21"
|
||||
},
|
||||
"150": {
|
||||
"HeightAdjustInPixels": "17"
|
||||
},
|
||||
"175": {
|
||||
"HeightAdjustInPixels": "11"
|
||||
},
|
||||
"200": {
|
||||
"HeightAdjustInPixels": "8"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,41 @@
|
||||
[
|
||||
{
|
||||
"psd1Filename": "SophiaScript.psd1",
|
||||
"folderPsd1Filename": "Manifest",
|
||||
"psm1Filename": "Sophia.psm1",
|
||||
"folderPsm1Filename": "Module",
|
||||
"setConsoleFontPs1Filename": "Set-ConsoleFont.ps1",
|
||||
"folderSetConsoleFontPs1": "Config",
|
||||
"functionControlsPerColumn": "100",
|
||||
"urlSophiaScriptVersionsJson": "https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/sophia_script_versions.json",
|
||||
"urlLatestSophiaScriptDownloads": "https://github.com/farag2/Sophia-Script-for-Windows/releases/latest",
|
||||
"autosaveFilename": "autosave.ps1",
|
||||
"autosaveIntervalInSeconds": "300",
|
||||
"startLineRegionInitialActions": "#region Initial Actions",
|
||||
"endLineRegionInitialActions": "#endregion Initial Actions",
|
||||
"startLineRegionSystemProtection": "#region Protection",
|
||||
"endLineRegionSystemProtection": "#endregion Protection",
|
||||
"startLineRegionPrivacy": "#region Privacy & Telemetry",
|
||||
"endLineRegionPrivacy": "#endregion Privacy & Telemetry",
|
||||
"startLineRegionPersonalization": "#region UI & Personalization",
|
||||
"endLineRegionPersonalization": "#endregion UI & Personalization",
|
||||
"startLineRegionOneDrive": "#region OneDrive",
|
||||
"endLineRegionOneDrive": "#endregion OneDrive",
|
||||
"startLineRegionSystem": "#region System",
|
||||
"endLineRegionSystem": "#endregion System",
|
||||
"startLineRegionWSL": "#region WSL",
|
||||
"endLineRegionWSL": "#endregion WSL",
|
||||
"startLineRegionUWPApps": "#region UWP apps",
|
||||
"endLineRegionUWPApps": "#endregion UWP apps",
|
||||
"startLineRegionGaming": "#region Gaming",
|
||||
"endLineRegionGaming": "#endregion Gaming",
|
||||
"startLineRegionScheduledTasks": "#region Scheduled tasks",
|
||||
"endLineRegionScheduledTasks": "#endregion Scheduled tasks",
|
||||
"startLineRegionDefenderSecurity": "#region Microsoft Defender & Security",
|
||||
"endLineRegionDefenderSecurity": "#endregion Microsoft Defender & Security",
|
||||
"startLineRegionContextMenu": "#region Context menu",
|
||||
"endLineRegionContextMenu": "#endregion Context menu",
|
||||
"startLineRegionUpdatePolicies": "#region Update Policies",
|
||||
"endLineRegionUpdatePolicies": "#endregion Update Policies"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,37 @@
|
||||
[
|
||||
{
|
||||
"English": {
|
||||
"Code": "en",
|
||||
"Folder": "en-US",
|
||||
"WidthOfWrapperInPixels": "872",
|
||||
"HeightOfWrapperInPixels": "650",
|
||||
"WidthLabelInPixels": "225",
|
||||
"WidthLabelContextTabInPixels": "243",
|
||||
"WidthComboBoxInPixels": "155",
|
||||
"WidthComboBoxSystemTabInPixels": "155",
|
||||
"WidthComboBoxStartMenuTabInPixels": "230"
|
||||
},
|
||||
"German": {
|
||||
"Code": "de",
|
||||
"Folder": "de-DE",
|
||||
"WidthOfWrapperInPixels": "1120",
|
||||
"HeightOfWrapperInPixels": "650",
|
||||
"WidthLabelInPixels": "225",
|
||||
"WidthLabelContextTabInPixels": "243",
|
||||
"WidthComboBoxInPixels": "150",
|
||||
"WidthComboBoxSystemTabInPixels": "165",
|
||||
"WidthComboBoxStartMenuTabInPixels": "250"
|
||||
},
|
||||
"Russian": {
|
||||
"Code": "ru",
|
||||
"Folder": "ru-RU",
|
||||
"WidthOfWrapperInPixels": "1155",
|
||||
"HeightOfWrapperInPixels": "650",
|
||||
"WidthLabelInPixels": "225",
|
||||
"WidthLabelContextTabInPixels": "243",
|
||||
"WidthComboBoxInPixels": "175",
|
||||
"WidthComboBoxSystemTabInPixels": "235",
|
||||
"WidthComboBoxStartMenuTabInPixels": "260"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,222 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Enable tab completion to invoke for functions if you do not know function name
|
||||
|
||||
.VERSION
|
||||
7.1.4
|
||||
|
||||
.DATE
|
||||
24.02.2026
|
||||
|
||||
.COPYRIGHT
|
||||
(c) 2014—2026 Team Sophia
|
||||
|
||||
.DESCRIPTION
|
||||
Dot source the script first: . .\Import-TabCompletion.ps1 (with a dot at the beginning)
|
||||
Start typing any characters contained in the function's name or its arguments, and press the TAB button
|
||||
|
||||
.EXAMPLE
|
||||
Sophia -Functions <tab>
|
||||
Sophia -Functions temp<tab>
|
||||
Sophia -Functions "DiagTrackService -Disable", "DiagnosticDataLevel -Minimal", Uninstall-UWPApps
|
||||
|
||||
.NOTES
|
||||
Use commas to separate funtions
|
||||
|
||||
.LINK
|
||||
https://github.com/farag2/Sophia-Script-for-Windows
|
||||
#>
|
||||
|
||||
#Requires -RunAsAdministrator
|
||||
#Requires -Version 7.5
|
||||
|
||||
#region Initial Actions
|
||||
$Global:Failed = $false
|
||||
|
||||
# Checking if function wasn't dot-sourced, but called explicitly
|
||||
# ".\Import-TabCompletion.ps1" instead of ". .\Import-TabCompletion.ps1"
|
||||
if ($MyInvocation.Line -ne ". .\Import-TabCompletion.ps1")
|
||||
{
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.DotSourcedWarning
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
Write-Verbose -Message "https://github.com/farag2/Sophia-Script-for-Windows?tab=readme-ov-file#how-to-run-the-specific-functions" -Verbose
|
||||
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
|
||||
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
|
||||
|
||||
exit
|
||||
}
|
||||
|
||||
$Global:Failed = $false
|
||||
|
||||
# Unload and import private functions and module
|
||||
Get-ChildItem function: | Where-Object {$_.ScriptBlock.File -match "Sophia_Script_for_Windows"} | Remove-Item -Force
|
||||
Remove-Module -Name SophiaScript -Force -ErrorAction Ignore
|
||||
Import-Module -Name $PSScriptRoot\Manifest\SophiaScript.psd1 -PassThru -Force
|
||||
Get-ChildItem -Path $PSScriptRoot\Module\private | Foreach-Object -Process {. $_.FullName}
|
||||
|
||||
# Dot-source script with checks
|
||||
InitialActions
|
||||
|
||||
# Global variable if checks failed
|
||||
if ($Global:Failed)
|
||||
{
|
||||
exit
|
||||
}
|
||||
#endregion Initial Actions
|
||||
|
||||
function Sophia
|
||||
{
|
||||
[CmdletBinding()]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $false)]
|
||||
[string[]]
|
||||
$Functions
|
||||
)
|
||||
|
||||
foreach ($Function in $Functions)
|
||||
{
|
||||
Invoke-Expression -Command $Function
|
||||
}
|
||||
|
||||
# The "PostActions" and "Errors" functions will be executed at the end
|
||||
Invoke-Command -ScriptBlock {PostActions}
|
||||
}
|
||||
|
||||
$Parameters = @{
|
||||
CommandName = "Sophia"
|
||||
ParameterName = "Functions"
|
||||
ScriptBlock = {
|
||||
param
|
||||
(
|
||||
$commandName,
|
||||
$parameterName,
|
||||
$wordToComplete,
|
||||
$commandAst,
|
||||
$fakeBoundParameters
|
||||
)
|
||||
|
||||
# Get functions list with arguments to complete
|
||||
$Commands = (Get-Module -Name SophiaScript).ExportedCommands.Keys
|
||||
foreach ($Command in $Commands)
|
||||
{
|
||||
$ParameterSets = (Get-Command -Name $Command).Parametersets.Parameters | Where-Object -FilterScript {$null -eq $_.Attributes.AliasNames}
|
||||
|
||||
# If a module command is OneDrive
|
||||
if ($Command -eq "OneDrive")
|
||||
{
|
||||
(Get-Command -Name $Command).Name | Where-Object -FilterScript {$_ -like "*$wordToComplete*"}
|
||||
|
||||
# Get all command arguments, excluding defaults
|
||||
foreach ($ParameterSet in $ParameterSets.Name)
|
||||
{
|
||||
# If an argument is AllUsers
|
||||
if ($ParameterSet -eq "AllUsers")
|
||||
{
|
||||
# The "OneDrive -Install -AllUsers" construction
|
||||
"OneDrive" + " " + "-Install" + " " + "-" + $ParameterSet | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
|
||||
}
|
||||
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
# If a module command is UnpinTaskbarShortcuts
|
||||
if ($Command -eq "UnpinTaskbarShortcuts")
|
||||
{
|
||||
# Get all command arguments, excluding defaults
|
||||
foreach ($ParameterSet in $ParameterSets.Name)
|
||||
{
|
||||
# If an argument is Shortcuts
|
||||
if ($ParameterSet -eq "Shortcuts")
|
||||
{
|
||||
$ValidValues = ((Get-Command -Name UnpinTaskbarShortcuts).Parametersets.Parameters | Where-Object -FilterScript {$null -eq $_.Attributes.AliasNames}).Attributes.ValidValues
|
||||
foreach ($ValidValue in $ValidValues)
|
||||
{
|
||||
# The "UnpinTaskbarShortcuts -Shortcuts <function>" construction
|
||||
"UnpinTaskbarShortcuts" + " " + "-" + $ParameterSet + " " + $ValidValue | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
|
||||
}
|
||||
|
||||
# The "UnpinTaskbarShortcuts -Shortcuts <functions>" construction
|
||||
"UnpinTaskbarShortcuts" + " " + "-" + $ParameterSet + " " + ($ValidValues -join ", ") | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
|
||||
}
|
||||
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
# If a module command is Uninstall-UWPApps
|
||||
if ($Command -eq "Uninstall-UWPApps")
|
||||
{
|
||||
(Get-Command -Name $Command).Name | Where-Object -FilterScript {$_ -like "*$wordToComplete*"}
|
||||
|
||||
# Get all command arguments, excluding defaults
|
||||
foreach ($ParameterSet in $ParameterSets.Name)
|
||||
{
|
||||
# If an argument is ForAllUsers
|
||||
if ($ParameterSet -eq "ForAllUsers")
|
||||
{
|
||||
# The "Uninstall-UWPApps -ForAllUsers" construction
|
||||
"Uninstall-UWPApps" + " " + "-" + $ParameterSet | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
|
||||
}
|
||||
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
# If a module command is Install-DotNetRuntimes
|
||||
if ($Command -eq "Install-DotNetRuntimes")
|
||||
{
|
||||
# Get all command arguments, excluding defaults
|
||||
foreach ($ParameterSet in $ParameterSets.Name)
|
||||
{
|
||||
# If an argument is Runtimes
|
||||
if ($ParameterSet -eq "Runtimes")
|
||||
{
|
||||
$ValidValues = ((Get-Command -Name Install-DotNetRuntimes).Parametersets.Parameters | Where-Object -FilterScript {$null -eq $_.Attributes.AliasNames}).Attributes.ValidValues
|
||||
foreach ($ValidValue in $ValidValues)
|
||||
{
|
||||
# The "Install-DotNetRuntimes -Runtimes <function>" construction
|
||||
"Install-DotNetRuntimes" + " " + "-" + $ParameterSet + " " + $ValidValue | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
|
||||
}
|
||||
|
||||
# The "Install-DotNetRuntimes -Runtimes <functions>" construction
|
||||
"Install-DotNetRuntimes" + " " + "-" + $ParameterSet + " " + ($ValidValues -join ", ") | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
|
||||
}
|
||||
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
# If a module command is Set-Policy
|
||||
if ($Command -eq "Set-Policy")
|
||||
{
|
||||
continue
|
||||
}
|
||||
|
||||
foreach ($ParameterSet in $ParameterSets.Name)
|
||||
{
|
||||
# The "Function -Argument" construction
|
||||
$Command + " " + "-" + $ParameterSet | Where-Object -FilterScript {$_ -like "*$wordToComplete*"} | ForEach-Object -Process {"`"$_`""}
|
||||
|
||||
continue
|
||||
}
|
||||
|
||||
# Get functions list without arguments to complete
|
||||
Get-Command -Name $Command | Where-Object -FilterScript {$null -eq $_.Parametersets.Parameters} | Where-Object -FilterScript {$_.Name -like "*$wordToComplete*"}
|
||||
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
Register-ArgumentCompleter @Parameters
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Sophia -Functions <tab>" -Verbose
|
||||
Write-Verbose -Message "Sophia -Functions temp<tab>" -Verbose
|
||||
Write-Verbose -Message "Sophia -Functions 'DiagTrackService -Disable', 'DiagnosticDataLevel -Minimal', Uninstall-UWPApps" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "Sophia -Functions 'Uninstall-UWPApps, 'PinToStart -UnpinAll'" -Verbose
|
||||
Write-Verbose -Message "Sophia -Functions `"Set-Association -ProgramPath '%ProgramFiles%\Notepad++\notepad++.exe' -Extension .txt -Icon '%ProgramFiles%\Notepad++\notepad++.exe,0'`"" -Verbose
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = Das Importieren von Modulen aus PowerShell 5.1 ist fehlgeschlagen. Bitte schließen Sie die PowerShell 7-Konsole und führen Sie das Skript erneut aus.
|
||||
UnsupportedArchitecture = Sie verwenden eine CPU mit "{0}"-basierter Architektur. Dieses Skript unterstützt nur CPUs mit x64-Architektur. Laden Sie die für Ihre Architektur geeignete Skriptversion herunter und führen Sie sie aus.
|
||||
UnsupportedOSBuild = Das Skript unterstützt Windows 11 24H2 und höher. Sie verwenden Windows {0} {1}. Aktualisieren Sie Ihr Windows und versuchen Sie es erneut.
|
||||
UnsupportedWindowsTerminal = Die Windows Terminal-Version ist niedriger als 1.23. Bitte aktualisieren Sie es im Microsoft Store und versuchen Sie es erneut.
|
||||
UpdateWarning = Sie verwenden Windows 11 {0}.{1}. Unterstützt wird Windows 11 {0}.{2} und höher. Führen Sie Windows Update aus und versuchen Sie es erneut.
|
||||
UnsupportedLanguageMode = Die PowerShell-Sitzung wird in einem eingeschränkten Sprachmodus ausgeführt.
|
||||
LoggedInUserNotAdmin = Der angemeldete Benutzer {0} hat keine Administratorrechte. Das Skript wurde im Namen von {1} ausgeführt. Bitte melden Sie sich bei einem Konto mit Administratorrechten an und führen Sie das Skript erneut aus.
|
||||
UnsupportedPowerShell = Sie versuchen ein Skript über PowerShell {0}.{1} auszuführen. Bitte führen Sie das Skript in PowerShell {2} aus.
|
||||
CodeCompilationFailedWarning = Die Code-Kompilierung ist fehlgeschlagen.
|
||||
UnsupportedHost = Das Skript unterstützt keine Ausführung über {0}.
|
||||
Win10TweakerWarning = Wahrscheinlich wurde Ihr Betriebssystem über die Win 10 Tweaker-Hintertür infiziert.
|
||||
TweakerWarning = Die Stabilität des Windows-Betriebssystems kann durch die Verwendung des {0} beeinträchtigt worden sein. Installieren Sie Windows nur mit einem Original-ISO-Abbild neu.
|
||||
HostsWarning = In der Datei %SystemRoot%\\System32\\drivers\\etc\\hosts wurden Einträge von Drittanbietern gefunden. Diese können die Verbindung zu den im Skript verwendeten Ressourcen blockieren. Möchten Sie fortfahren?
|
||||
RebootPending = Ihr PC wartet darauf, neu gestartet zu werden.
|
||||
BitLockerInOperation = BitLocker ist aktiv. Ihr Laufwerk C ist zu {0}% verschlüsselt. Schließen Sie die BitLocker-Laufwerkskonfiguration ab und versuchen Sie es erneut.
|
||||
BitLockerAutomaticEncryption = Das Laufwerk C ist verschlüsselt, obwohl BitLocker deaktiviert ist. Möchten Sie Ihr Laufwerk entschlüsseln?
|
||||
UnsupportedRelease = Eine neuere Version von Sophia Script for Windows gefunden: {0}. Bitte laden Sie die neueste Version herunter.
|
||||
KeyboardArrows = Bitte verwenden Sie die Pfeiltasten {0} und {1} auf Ihrer Tastatur, um Ihre Antwort auszuwählen
|
||||
CustomizationWarning = Haben Sie alle Funktionen in der voreingestellten Datei {0} angepasst, bevor Sie Sophia Script for Windows ausführen?
|
||||
WindowsComponentBroken = {0} defekt oder aus dem Betriebssystem entfernt.
|
||||
MicroSoftStorePowerShellWarning = PowerShell, das aus dem Microsoft Store heruntergeladen wurde, wird nicht unterstützt. Bitte führen Sie eine MSI-Version aus.
|
||||
ControlledFolderAccessEnabledWarning = Sie haben den kontrollierten Ordnerzugriff aktiviert. Bitte deaktivieren Sie ihn und führen Sie das Skript erneut aus.
|
||||
NoScheduledTasks = Keine geplanten Aufgaben zum Deaktivieren.
|
||||
ScheduledTasks = Geplante Aufgaben
|
||||
WidgetNotInstalled = Das Widget ist nicht installiert.
|
||||
SearchHighlightsDisabled = Die Such-Highlights sind bereits in Start ausgeblendet.
|
||||
CustomStartMenu = Ein Startmenü eines Drittanbieters ist installiert.
|
||||
OneDriveNotInstalled = OneDrive ist bereits deinstalliert.
|
||||
OneDriveAccountWarning = Bevor Sie OneDrive deinstallieren, melden Sie sich in OneDrive von Ihrem Microsoft-Konto ab.
|
||||
OneDriveInstalled = OneDrive ist bereits installiert.
|
||||
UninstallNotification = {0} wird deinstalliert...
|
||||
InstallNotification = {0} wird installiert...
|
||||
NoWindowsFeatures = Keine Windows-Funktionen zum Deaktivieren.
|
||||
WindowsFeaturesTitle = Windows-Features
|
||||
NoOptionalFeatures = Keine optionalen Funktionen zum Deaktivieren.
|
||||
NoSupportedNetworkAdapters = Keine Netzwerkadapter, die die Funktion "Computer kann dieses Gerät ausschalten, um Energie zu sparen" unterstützen.
|
||||
LocationServicesDisabled = Netzwerkshellbefehle benötigen die Berechtigung für den Standortzugriff, um WLAN-Informationen abzurufen. Aktivieren Sie die Ortungsdienste auf der Seite Standort in den Einstellungen unter Datenschutz & Sicherheit.
|
||||
OptionalFeaturesTitle = Optionale Features
|
||||
UserShellFolderNotEmpty = Im Ordner "{0}" befinden sich noch Dateien. Verschieben Sie sie manuell an einen neuen Ort.
|
||||
UserFolderLocationMove = Sie sollten den Speicherort des Benutzerordners nicht in das Stammverzeichnis des Laufwerks C ändern.
|
||||
DriveSelect = Wählen Sie das Laufwerk aus, in dessen Stammverzeichnis der Ordner "{0}" erstellt werden soll.
|
||||
CurrentUserFolderLocation = Der aktuelle Speicherort des Ordners "{0}" lautet: "{1}".
|
||||
FilesWontBeMoved = Die Dateien werden nicht verschoben.
|
||||
UserFolderMoveSkipped = Sie haben vergessen, den Speicherort des Ordners "{0}" des Benutzers zu ändern.
|
||||
FolderSelect = Wählen Sie einen Ordner aus
|
||||
UserFolderRequest = Möchten Sie den Speicherort des Ordners "{0}" ändern?
|
||||
UserDefaultFolder = Möchten Sie den Speicherort des Ordners "{0}" auf den Standardwert ändern?
|
||||
ReservedStorageIsInUse = Reservierter Speicher wird verwendet.
|
||||
ProgramPathNotExists = Der Pfad "{0}" existiert nicht.
|
||||
ProgIdNotExists = Die ProgId "{0}" existiert nicht.
|
||||
AllFilesFilter = Alle Dateien
|
||||
JSONNotValid = Die JSON-Datei "{0}" ist ungültig.
|
||||
PackageNotInstalled = Das {0} ist nicht installiert.
|
||||
PackageIsInstalled = Die neueste Version von {0} ist bereits installiert.
|
||||
CopilotPCSupport = Ihre CPU verfügt über keine integrierte NPU, sodass sie keine Windows-KI-Funktionen unterstützt. Es ist nicht erforderlich, etwas mithilfe von GPO-Richtlinien zu deaktivieren, sodass nur die Recall-Funktion und die Copilot-Anwendung entfernt werden.
|
||||
UninstallUWPForAll = Für alle Benutzer
|
||||
NoUWPApps = Keine UWP-Apps zum Deinstallieren.
|
||||
UWPAppsTitle = UWP-Apps
|
||||
ScheduledTaskCreatedByAnotherUser = Die geplante Aufgabe "{0}" wurde bereits vom Benutzer "{1}" erstellt.
|
||||
CleanupTaskNotificationTitle = Windows aufräumen
|
||||
CleanupTaskNotificationEvent = Aufgabe zum Bereinigen nicht verwendeter Windows-Dateien und -Updates ausführen?
|
||||
CleanupTaskDescription = Bereinigung von nicht verwendeten Windows-Dateien und Updates mit der integrierten Festplattenbereinigung. Die geplante Aufgabe kann nur ausgeführt werden, wenn der Benutzer "{0}" im System angemeldet ist.
|
||||
CleanupNotificationTaskDescription = Popup-Benachrichtigung zur Erinnerung an die Bereinigung von nicht verwendeten Windows-Dateien und Updates. Die geplante Aufgabe kann nur ausgeführt werden, wenn der Benutzer "{0}" im System angemeldet ist.
|
||||
SoftwareDistributionTaskNotificationEvent = Der Windows Update-Cache wurde erfolgreich gelöscht.
|
||||
TempTaskNotificationEvent = Der Ordner mit den temporären Dateien wurde erfolgreich bereinigt.
|
||||
FolderTaskDescription = Ordner "{0}" bereinigen. Die geplante Aufgabe kann nur ausgeführt werden, wenn der Benutzer "{1}" im System angemeldet ist.
|
||||
EventViewerCustomViewName = Prozesserstellung
|
||||
EventViewerCustomViewDescription = Prozesserstellungen und Befehlszeilen-Auditing-Ereignisse.
|
||||
ThirdPartyAVInstalled = Ein Antivirenprogramm eines Drittanbieters ist installiert.
|
||||
NoHomeWindowsEditionSupport = Die Windows Home Edition unterstützt die Funktion "{0}" nicht.
|
||||
GeoIdNotSupported = Die Funktion "{0}" gilt nur für Russland.
|
||||
EnableHardwareVT = Virtualisierung in UEFI aktivieren.
|
||||
PhotosNotInstalled = Die Anwendung Fotos ist nicht installiert.
|
||||
ThirdPartyArchiverInstalled = Ein Archivierungsprogramm eines Drittanbieters ist installiert.
|
||||
gpeditNotSupported = Die Windows Home Edition unterstützt das Snap-In "Lokaler Gruppenrichtlinien-Editor" (gpedit.msc) nicht.
|
||||
RestartWarning = Sicherstellen, dass Sie Ihren PC neu starten.
|
||||
ErrorsLine = Zeile
|
||||
ErrorsMessage = Fehler, Warnungen und Benachrichtigungen
|
||||
Disable = Deaktivieren
|
||||
Enable = Aktivieren
|
||||
Install = Installieren
|
||||
Uninstall = Deinstallieren
|
||||
RestartFunction = Bitte die Funktion "{0}" neustarten.
|
||||
NoResponse = Verbindung zu {0} konnte nicht hergestellt werden.
|
||||
Run = Starten
|
||||
Skipped = Funktion "{0}" übersprungen.
|
||||
ThankfulToastTitle = Vielen Dank, dass Sie Sophia Script for Windows verwenden ❤️
|
||||
DonateToastTitle = Sie können unten spenden 🕊
|
||||
DotSourcedWarning = Bitte "dot-source" die Funktion (mit einem Punkt am Anfang):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"Warning": "Warnen",
|
||||
"InitialActions": "Überprüfen",
|
||||
"Disable": "Deaktivieren",
|
||||
"Enable": "Aktivieren",
|
||||
"Minimal": "Мinimal",
|
||||
"Default": "Standard",
|
||||
"Never": "Niemals",
|
||||
"Hide": "Ausblenden",
|
||||
"Show": "Anzeigen",
|
||||
"ThisPC": "Dieser PC",
|
||||
"QuickAccess": "Schnellzugriff",
|
||||
"Detailed": "Ausführlich",
|
||||
"Compact": "Kompakt",
|
||||
"Expanded": "Erweitert",
|
||||
"Minimized": "Minimiert",
|
||||
"SearchIcon": "Suchsymbol",
|
||||
"SearchBox": "Suchbox",
|
||||
"LargeIcons": "Große Symbole",
|
||||
"SmallIcons": "Kleine Symbole",
|
||||
"Category": "Kategorie",
|
||||
"Dark": "Dunkel",
|
||||
"Light": "Hell",
|
||||
"Max": "Maximal",
|
||||
"Uninstall": "Deinstallieren",
|
||||
"Install": "Installieren",
|
||||
"Month": "Monat",
|
||||
"SystemDrive": "Systemlaufwerk",
|
||||
"High": "Hoch",
|
||||
"Balanced": "Ausgewogen",
|
||||
"English": "Englisch",
|
||||
"Root": "Root",
|
||||
"Custom": "Benutzerdefiniert",
|
||||
"Desktop": "Desktop",
|
||||
"Automatically": "Automatisch",
|
||||
"Manually": "Manuell",
|
||||
"Elevated": "Erhöht",
|
||||
"NonElevated": "Nicht erhöht",
|
||||
"Register": "Registrieren",
|
||||
"Delete": "Löschen",
|
||||
"Left": "Links",
|
||||
"Center": "Zentriert",
|
||||
"WindowsTerminal": "Windows-Terminal",
|
||||
"ConsoleHost": "Konsolenhost",
|
||||
"Channels": "Kanäle",
|
||||
"None": "Keiner",
|
||||
"ShowMorePins": "Mehr Pins anzeigen",
|
||||
"ShowMoreRecommendations": "Weitere Empfehlungen anzeigen",
|
||||
"SearchIconLabel": "Beschriftung des Suchsymbols",
|
||||
"Skip": "Überspringen"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,98 @@
|
||||
[
|
||||
{
|
||||
"Id": "Menu",
|
||||
"Options": {
|
||||
"menuImportExportPreset": "Importieren | Exportieren",
|
||||
"menuImportPreset": "Voreinstellung importieren",
|
||||
"menuExportPreset": "Voreinstellung exportieren",
|
||||
"menuAutosave": "Automatisches Speichern",
|
||||
"menuPresets": "Voreinstellungen",
|
||||
"menuOpposite": "Alle umkehren",
|
||||
"menuOppositeTab": "Gegenüberliegende Registerkarte",
|
||||
"menuOppositeEverything": "Gegen alles",
|
||||
"menuClear": "Löschen",
|
||||
"menuClearTab": "Registerkarte löschen",
|
||||
"menuClearEverything": "Alles löschen",
|
||||
"menuTheme": "Thema",
|
||||
"menuThemeDark": "Dunkel",
|
||||
"menuThemeLight": "Hell",
|
||||
"menuLanguage": "Sprache",
|
||||
"menuAccessibility": "Zugänglichkeit",
|
||||
"menuScaleUp": "Vergrößern",
|
||||
"menuScale": "Skala",
|
||||
"menuScaleDown": "Verkleinern",
|
||||
"menuAbout": "Über",
|
||||
"menuDonate": "Spenden"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "Tab",
|
||||
"Options": {
|
||||
"tabSearch": "Suchen",
|
||||
"tabInitialActions": "Erste Maßnahmen",
|
||||
"tabSystemProtection": "Systemschutz",
|
||||
"tabPrivacyTelemetry": "Datenschutz",
|
||||
"tabUIPersonalization": "Personalisierung",
|
||||
"tabOneDrive": "OneDrive",
|
||||
"tabSystem": "System",
|
||||
"tabWSL": "WSL",
|
||||
"tabUWP": "UWP Apps",
|
||||
"tabGaming": "Gaming",
|
||||
"tabScheduledTasks": "Geplante Aufgaben",
|
||||
"tabDefenderSecurity": "Defender & Security",
|
||||
"tabContextMenu": "Kontextmenü",
|
||||
"tabUpdatePolicies": "Aktualisieren Sie die Richtlinien",
|
||||
"tabConsoleOutput": "Konsolenausgabe"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "Button",
|
||||
"Options": {
|
||||
"btnRefreshConsole": "Konsole aktualisieren",
|
||||
"btnRunPowerShell": "PowerShell ausführen",
|
||||
"btnOpen": "Offen",
|
||||
"btnSave": "Speichern",
|
||||
"btnSearch": "Suchen",
|
||||
"btnClear": "Klar"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "StatusBar",
|
||||
"Options": {
|
||||
"statusBarHover": "Bewegen Sie den Mauszeiger über die Auswahlpunkte, um Informationen zu jeder Option zu erhalten",
|
||||
"statusBarPresetLoaded": "Voreinstellung geladen!",
|
||||
"statusBarSophiaPreset": "Sophia Voreinstellung geladen!",
|
||||
"statusBarWindowsDefaultPreset": "Windows Standardvoreinstellung geladen!",
|
||||
"statusBarPowerShellScriptCreatedFromSelections": "PowerShell Skript, das anhand Ihrer Auswahlen erstellt wurde! Sie können es ausführen oder speichern.",
|
||||
"statusBarPowerShellExport": "PowerShell Skript erstellt!",
|
||||
"statusBarOppositeTab": "Für diese Registerkarte ausgewählte Gegenteile!",
|
||||
"statusBarOppositeEverything": "Für alles ausgewählte Gegensätze!",
|
||||
"statusBarClearTab": "Auswahl für Registerkarte gelöscht!",
|
||||
"statusBarClearEverything": "Alle Auswahlen gelöscht!",
|
||||
"statusBarMessageDownloadMessagePart1of3": "Herunterladen",
|
||||
"statusBarMessageDownloadLinkPart2of3": "Sophia Script for Windows",
|
||||
"statusBarMessageDownloadMessagePart3of3": "und importieren Sie die Voreinstellung Sophia.ps1, um die Steuerelemente zu aktivieren"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "MessageBox",
|
||||
"Options": {
|
||||
"messageBoxNewWrapperFound": "Eine neue Version von 'Wrapper' wurde entdeckt.\nGitHub-Seite öffnen?",
|
||||
"messageBoxNewSophiaFound": "Eine neue Version von 'Sophia Script' wurde entdeckt.\nGitHub-Seite öffnen?",
|
||||
"messageBoxPS1FileHasToBeInFolder": "Die Voreinstellungsdatei Sophia.ps1 muss sich im Ordner Sophia Script befinden.",
|
||||
"messageBoxDoesNotExist": "existiert nicht.",
|
||||
"messageBoxPresetNotComp": "Voreinstellung ist nicht kompatibel!",
|
||||
"messageBoxFilesMissingClose": "Die erforderlichen Sophia Script Wrapper-Dateien fehlen. Das Programm wird geschlossen.",
|
||||
"messageBoxConsoleEmpty": "Die Konsole ist leer.\n Drücken Sie die Schaltfläche Konsole aktualisieren, um ein Skript entsprechend Ihrer Auswahl zu erstellen.",
|
||||
"messageBoxPowerShellVersionNotInstalled": "Die von Ihnen ausgewählte PowerShell-Version ist nicht installiert.",
|
||||
"messageBoxPresetDoesNotMatchOS": "Die Voreinstellung stimmte nicht mit der aktuellen Betriebssystemversion überein."
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "Other",
|
||||
"Options": {
|
||||
"textBlockSearchInfo": "Geben Sie die Suchzeichenfolge ein, um die Option zu finden. Die Registerkarte wird in der Farbe Rot umrandet, um die Registerkarte zu finden, die die Option(en) enthält, und die Beschriftung der Option wird ebenfalls in Rot umrandet.",
|
||||
"textBlockSearchFound": "Anzahl der gefundenen Optionen:"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = Importing modules from PowerShell 5.1 failed. Please close PowerShell 7 console and re-run the script again.
|
||||
UnsupportedArchitecture = Your're using "{0}" based architecture CPU. This script supports x64 architecture based CPU only. Download and run script version for your archicture.
|
||||
UnsupportedOSBuild = Script supports Windows 11 24H2 and higher. You're using {0} {1}. Upgrade your Windows and try again.
|
||||
UnsupportedWindowsTerminal = Windows Terminal version is lower than 1.23. Please update it in the Microsoft Store and try again.
|
||||
UpdateWarning = You're using Windows 11 {0}.{1}. Supported builds are Windows 11 {0}.{2} and higher. Run Windows Update and try again.
|
||||
UnsupportedLanguageMode = The PowerShell session is running in a limited language mode.
|
||||
LoggedInUserNotAdmin = The logged-in user {0} doesn't have admin rights. Script was ran on behalf of {1}. Please log into account which has admin rights and run script again.
|
||||
UnsupportedPowerShell = You're trying to run script via PowerShell {0}.{1}. Please run the script in PowerShell {2}.
|
||||
CodeCompilationFailedWarning = Code compilation failed.
|
||||
UnsupportedHost = Script doesn't support running via {0}.
|
||||
Win10TweakerWarning = Windows has been infected with a trojan via a Win 10 Tweaker backdoor. Reinstall Windows using only a genuine ISO image.
|
||||
TweakerWarning = Windows stability may have been compromised by using {0}. Reinstall Windows using only a genuine ISO image.
|
||||
HostsWarning = Third-party entries found in the %SystemRoot%\\System32\\drivers\\etc\\hosts file. They may block connection to resources used in the script. Do you want to continue?
|
||||
RebootPending = Your PC is waiting to be restarted.
|
||||
BitLockerInOperation = BitLocker is in action. Your C drive is {0}% encrypted. Complete BitLocker drive configuration and try again.
|
||||
BitLockerAutomaticEncryption = C drive is encrypted, although BitLocker is turned off. Do you want to decrypt your drive?
|
||||
UnsupportedRelease = A newer Sophia Script for Windows version found: {0}. Please download the latest version.
|
||||
KeyboardArrows = Please use the arrow keys {0} and {1} on your keyboard to select your answer
|
||||
CustomizationWarning = Have you customized every function in the {0} preset file before running Sophia Script for Windows?
|
||||
WindowsComponentBroken = {0} broken or removed from Windows. Reinstall Windows using only a genuine ISO image.
|
||||
MicroSoftStorePowerShellWarning = PowerShell downloaded from the Microsoft Store is not supported. Please run an MSI version.
|
||||
ControlledFolderAccessEnabledWarning = You have controlled folder access enabled. Please disable it and run script again.
|
||||
NoScheduledTasks = No scheduled tasks to disable.
|
||||
ScheduledTasks = Scheduled tasks
|
||||
WidgetNotInstalled = Widget is not installed.
|
||||
SearchHighlightsDisabled = Search highlights are already hidden in Start.
|
||||
CustomStartMenu = A third-party Start Menu is installed.
|
||||
OneDriveNotInstalled = OneDrive is already uninstalled.
|
||||
OneDriveAccountWarning = Before uninstalling OneDrive, sign out of your Microsoft account in OneDrive.
|
||||
OneDriveInstalled = OneDrive is already installed.
|
||||
UninstallNotification = {0} is being uninstalled...
|
||||
InstallNotification = {0} is being installed...
|
||||
NoWindowsFeatures = No Windows Features to disable.
|
||||
WindowsFeaturesTitle = Windows features
|
||||
NoOptionalFeatures = No Optional Features to disable.
|
||||
NoSupportedNetworkAdapters = No network adapters which support function "Allow the computer to turn off this device to save power".
|
||||
LocationServicesDisabled = Network shell commands need location permission to access WLAN information. Turn on Location services on the Location page in Privacy & security settings.
|
||||
OptionalFeaturesTitle = Optional features
|
||||
UserShellFolderNotEmpty = Some files left in the "{0}" folder. Move them manually to a new location.
|
||||
UserFolderLocationMove = You shouldn't change user folder location to C drive root.
|
||||
DriveSelect = Select the drive within the root of which the "{0}" folder will be created.
|
||||
CurrentUserFolderLocation = The current "{0}" folder location: "{1}".
|
||||
FilesWontBeMoved = Files will not be moved.
|
||||
UserFolderMoveSkipped = You skipped changing the location of the user's "{0}" folder.
|
||||
FolderSelect = Select a folder
|
||||
UserFolderRequest = Would you like to change the location of the "{0}" folder?
|
||||
UserDefaultFolder = Would you like to change the location of the "{0}" folder to the default value?
|
||||
ReservedStorageIsInUse = Reserved storage is being used.
|
||||
ProgramPathNotExists = Path "{0}" does not exist.
|
||||
ProgIdNotExists = ProgId "{0}" does not exist.
|
||||
AllFilesFilter = All Files
|
||||
JSONNotValid = JSON file "{0}" is not valid.
|
||||
PackageNotInstalled = {0} is not installed.
|
||||
PackageIsInstalled = The latest version of {0} is already installed.
|
||||
CopilotPCSupport = Your CPU has no a built-in NPU, so it doesn't support any Windows AI functions. No need to disable anything using GPO policies. Recall function and Copilot application were removed.
|
||||
UninstallUWPForAll = For all users
|
||||
NoUWPApps = No UWP apps to uninstall.
|
||||
UWPAppsTitle = UWP Apps
|
||||
ScheduledTaskCreatedByAnotherUser = Scheduled task "{0}" was already created by "{1}" user.
|
||||
CleanupTaskNotificationTitle = Windows clean up
|
||||
CleanupTaskNotificationEvent = Run task to clean up Windows unused files and updates?
|
||||
CleanupTaskDescription = Cleaning up Windows unused files and updates using built-in Disk cleanup app. Scheduled task can be run only if user "{0}" logged into the system.
|
||||
CleanupNotificationTaskDescription = Pop-up notification reminder about cleaning up Windows unused files and updates. Scheduled task can be run only if user "{0}" logged into the system.
|
||||
SoftwareDistributionTaskNotificationEvent = Windows update cache successfully deleted.
|
||||
TempTaskNotificationEvent = Temporary files folder successfully cleaned up.
|
||||
FolderTaskDescription = {0} folder cleanup. Scheduled task can be run only if user "{1}" logged into the system.
|
||||
EventViewerCustomViewName = Process Creation
|
||||
EventViewerCustomViewDescription = Process creation and command-line auditing events.
|
||||
ThirdPartyAVInstalled = A third-party antivirus is installed.
|
||||
NoHomeWindowsEditionSupport = Windows Home edition doesn't support function "{0}".
|
||||
GeoIdNotSupported = Function "{0}" is applicable for Russia only.
|
||||
EnableHardwareVT = Enable Virtualization in UEFI.
|
||||
PhotosNotInstalled = Photos application is not installed.
|
||||
ThirdPartyArchiverInstalled = A third-party archiver is installed.
|
||||
gpeditNotSupported = Windows Home edition doesn't support the Local Group Policy Editor snap-in (gpedit.msc).
|
||||
RestartWarning = Make sure to restart your PC.
|
||||
ErrorsLine = Line
|
||||
ErrorsMessage = Errors, warnings, and notifications
|
||||
Disable = Disable
|
||||
Enable = Enable
|
||||
Install = Install
|
||||
Uninstall = Uninstall
|
||||
RestartFunction = Please re-run the "{0}" function.
|
||||
NoResponse = Connection could not be established with {0}.
|
||||
Run = Run
|
||||
Skipped = Function "{0}" skipped.
|
||||
ThankfulToastTitle = Thank you for using Sophia Script for Windows ❤️
|
||||
DonateToastTitle = You may donate below 🕊
|
||||
DotSourcedWarning = Please dot-source the function (with a dot at the beginning):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,98 @@
|
||||
[
|
||||
{
|
||||
"Id": "Menu",
|
||||
"Options": {
|
||||
"menuImportExportPreset": "Import | Export",
|
||||
"menuImportPreset": "Import Preset",
|
||||
"menuExportPreset": "Export Preset",
|
||||
"menuAutosave": "Autosave",
|
||||
"menuPresets": "Presets",
|
||||
"menuOpposite": "Opposite",
|
||||
"menuOppositeTab": "Opposite Tab",
|
||||
"menuOppositeEverything": "Opposite Everything",
|
||||
"menuClear": "Clear",
|
||||
"menuClearTab": "Clear Tab",
|
||||
"menuClearEverything": "Clear Everything",
|
||||
"menuTheme": "Theme",
|
||||
"menuThemeDark": "Dark",
|
||||
"menuThemeLight": "Light",
|
||||
"menuLanguage": "Language",
|
||||
"menuAccessibility": "Accessibility",
|
||||
"menuScaleUp": "Scale Up",
|
||||
"menuScale": "Scale",
|
||||
"menuScaleDown": "Scale Down",
|
||||
"menuAbout": "About",
|
||||
"menuDonate": "Donate"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "Tab",
|
||||
"Options": {
|
||||
"tabSearch": "Search",
|
||||
"tabInitialActions": "Initial Actions",
|
||||
"tabSystemProtection": "System Protection",
|
||||
"tabPrivacyTelemetry": "Privacy",
|
||||
"tabUIPersonalization": "Personalization",
|
||||
"tabOneDrive": "OneDrive",
|
||||
"tabSystem": "System",
|
||||
"tabWSL": "WSL",
|
||||
"tabUWP": "UWP Apps",
|
||||
"tabGaming": "Gaming",
|
||||
"tabScheduledTasks": "Scheduled Tasks",
|
||||
"tabDefenderSecurity": "Defender & Security",
|
||||
"tabContextMenu": "Context Menu",
|
||||
"tabUpdatePolicies": "Update Policies",
|
||||
"tabConsoleOutput": "Console Output"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "Button",
|
||||
"Options": {
|
||||
"btnRefreshConsole": "Refresh Console",
|
||||
"btnRunPowerShell": "Run PowerShell",
|
||||
"btnOpen": "Open",
|
||||
"btnSave": "Save",
|
||||
"btnSearch": "Search",
|
||||
"btnClear": "Clear"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "StatusBar",
|
||||
"Options": {
|
||||
"statusBarHover": "Hover your mouse cursor over the selection items for information about each option",
|
||||
"statusBarPresetLoaded": "preset loaded!",
|
||||
"statusBarSophiaPreset": "Sophia preset loaded!",
|
||||
"statusBarWindowsDefaultPreset": "Windows Default preset loaded!",
|
||||
"statusBarPowerShellScriptCreatedFromSelections": "PowerShell Script created from your selections! You can run it or save it.",
|
||||
"statusBarPowerShellExport": "PowerShell script created!",
|
||||
"statusBarOppositeTab": "Opposites selected for this tab!",
|
||||
"statusBarOppositeEverything": "Opposites selected for everything!",
|
||||
"statusBarClearTab": "Selections for tab cleared!",
|
||||
"statusBarClearEverything": "Selections all cleared!",
|
||||
"statusBarMessageDownloadMessagePart1of3": "Download",
|
||||
"statusBarMessageDownloadLinkPart2of3": "Sophia Script for Windows",
|
||||
"statusBarMessageDownloadMessagePart3of3": "and import Sophia.ps1 preset to enable controls"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "MessageBox",
|
||||
"Options": {
|
||||
"messageBoxNewWrapperFound": "A new version of 'Wrapper' found.\nOpen GitHub latest release page?",
|
||||
"messageBoxNewSophiaFound": "A new version Sophia Script found.\nOpen GitHub latest release page?",
|
||||
"messageBoxPS1FileHasToBeInFolder": "Sophia.ps1 preset file must be in Sophia Script folder.",
|
||||
"messageBoxDoesNotExist": "does not exist.",
|
||||
"messageBoxPresetNotComp": "preset file is not compatible!",
|
||||
"messageBoxFilesMissingClose": "Files missing so Sophia Script Wrapper will close.",
|
||||
"messageBoxConsoleEmpty": "The console is empty.\nClick 'Refresh Console' button to create script with your selections.",
|
||||
"messageBoxPowerShellVersionNotInstalled": "PowerShell version you selected is not installed.",
|
||||
"messageBoxPresetDoesNotMatchOS": "Preset did not match current OS version."
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "Other",
|
||||
"Options": {
|
||||
"textBlockSearchInfo": "Enter search string to find the option. The tab will be outlined in the color red locating the tab containing the option(s) and the option's label will also be in outlined in red.",
|
||||
"textBlockSearchFound": "Number of options found:"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = No se han podido importar los módulos de PowerShell 5.1. Cierre la consola de PowerShell 7 y vuelva a ejecutar el script.
|
||||
UnsupportedArchitecture = Estás utilizando una CPU con arquitectura basada en "{0}". Este script solo es compatible con CPU con arquitectura x64. Descarga y ejecuta la versión del script adecuada para tu arquitectura.
|
||||
UnsupportedOSBuild = El script es compatible con Windows 11 24H2 y superiores. Estás usando Windows {0} {1}. Actualiza tu Windows e inténtalo de nuevo.
|
||||
UnsupportedWindowsTerminal = La versión de Windows Terminal es inferior a la 1.23. Por favor, actualízala en la Microsoft Store e inténtalo de nuevo.
|
||||
UpdateWarning = Estás utilizando Windows 11 {0}.{1}. La versión compatible es Windows 11 {0}.{2} y superior. Ejecuta Windows Update e inténtalo de nuevo.
|
||||
UnsupportedLanguageMode = Sesión de PowerShell ejecutada en modo de lenguaje limitado.
|
||||
LoggedInUserNotAdmin = El usuario {0} que ha iniciado sesión no tiene derechos de administrador. El script se ha ejecutado en nombre de {1}. Inicie sesión en una cuenta con derechos de administrador y vuelva a ejecutar el script.
|
||||
UnsupportedPowerShell = Estás intentando ejecutar el script a través de PowerShell {0}.{1}. Por favor, ejecute el script en PowerShell {2}.
|
||||
CodeCompilationFailedWarning = La compilación del código ha fallado.
|
||||
UnsupportedHost = El script no es compatible con la ejecución a través de {0}.
|
||||
Win10TweakerWarning = Probablemente su sistema operativo fue infectado a través del backdoor Win 10 Tweaker.
|
||||
TweakerWarning = La estabilidad del sistema operativo Windows puede haberse visto comprometida al utilizar el {0}. Reinstale Windows utilizando sólo una imagen ISO original.
|
||||
HostsWarning = Entradas de terceros encontradas en el archivo %SystemRoot%\\System32\\drivers\\etc\\hosts. Pueden bloquear la conexión a los recursos utilizados en el script. ¿Desea continuar?
|
||||
RebootPending = Tu PC está esperando a que lo reinicies.
|
||||
BitLockerInOperation = BitLocker está en funcionamiento. La unidad C está cifrada al {0}%. Complete la configuración de la unidad BitLocker e inténtelo de nuevo.
|
||||
BitLockerAutomaticEncryption = La unidad C está cifrada, aunque BitLocker está desactivado. ¿Desea descifrar la unidad?
|
||||
UnsupportedRelease = Se ha encontrado una versión más reciente de Sophia Script for Windows: {0}. Descargue la última versión.
|
||||
KeyboardArrows = Utilice las flechas {0} y {1} de su teclado para seleccionar la respuesta
|
||||
CustomizationWarning = ¿Ha personalizado todas las funciones del archivo predeterminado {0} antes de ejecutar Sophia Script for Windows?
|
||||
WindowsComponentBroken = {0} dañado o eliminado del sistema operativo. Reinstale Windows utilizando sólo una imagen ISO original.
|
||||
MicroSoftStorePowerShellWarning = PowerShell téléchargé depuis le Microsoft Store n'est pas pris en charge. Veuillez exécuter une version MSI.
|
||||
ControlledFolderAccessEnabledWarning = Tienes habilitado el acceso controlado a carpetas. Desactívalo y vuelve a ejecutar el script.
|
||||
NoScheduledTasks = No hay tareas programadas que desactivar.
|
||||
ScheduledTasks = Tareas programadas
|
||||
WidgetNotInstalled = El widget no está instalado.
|
||||
SearchHighlightsDisabled = Los resultados destacados de la búsqueda ya están ocultos en Inicio.
|
||||
CustomStartMenu = Se ha instalado un menú de inicio de terceros.
|
||||
OneDriveNotInstalled = OneDrive ya está desinstalado.
|
||||
OneDriveAccountWarning = Antes de desinstalar OneDrive, cierra sesión en tu cuenta de Microsoft en OneDrive.
|
||||
OneDriveInstalled = OneDrive ya está instalado.
|
||||
UninstallNotification = Se está desinstalando {0}...
|
||||
InstallNotification = Se está instalando {0}...
|
||||
NoWindowsFeatures = No hay funciones de Windows que desactivar.
|
||||
WindowsFeaturesTitle = Características de Windows
|
||||
NoOptionalFeatures = No hay funciones opcionales que desactivar.
|
||||
NoSupportedNetworkAdapters = No hay adaptadores de red que admitan la función "Permitir que el equipo apague este dispositivo para ahorrar energía".
|
||||
LocationServicesDisabled = Los comandos de shell de red necesitan permiso de ubicación para acceder a la información de la red WLAN. Active los servicios de ubicación en la página Ubicación de la configuración de Privacidad y seguridad.
|
||||
OptionalFeaturesTitle = Características opcionales
|
||||
UserShellFolderNotEmpty = Algunos archivos quedan en la carpeta "{0}". Moverlos manualmente a una nueva ubicación.
|
||||
UserFolderLocationMove = No deberías cambiar la ubicación de la carpeta de usuario a la raíz de la unidad C.
|
||||
DriveSelect = Seleccione la unidad dentro de la raíz de la cual se creó la carpeta "{0}".
|
||||
CurrentUserFolderLocation = La ubicación actual de la carpeta "{0}": "{1}".
|
||||
FilesWontBeMoved = Los archivos no se moverán.
|
||||
UserFolderMoveSkipped = Ha omitido cambiar la ubicación de la carpeta "{0}" del usuario.
|
||||
FolderSelect = Seleccionar una carpeta
|
||||
UserFolderRequest = ¿Le gustaría cambiar la ubicación de la "{0}" carpeta?
|
||||
UserDefaultFolder = ¿Le gustaría cambiar la ubicación de la carpeta "{0}" para el valor por defecto?
|
||||
ReservedStorageIsInUse = Se está utilizando el almacenamiento reservado.
|
||||
ProgramPathNotExists = La ruta "{0}" no existe.
|
||||
ProgIdNotExists = La ProgId "{0}" no existe.
|
||||
AllFilesFilter = Todos los archivos
|
||||
JSONNotValid = El archivo JSON "{0}" no es válido.
|
||||
PackageNotInstalled = {0} no está instalado.
|
||||
PackageIsInstalled = La última versión de {0} ya está instalada.
|
||||
CopilotPCSupport = Tu CPU no tiene una NPU integrada, por lo que no es compatible con ninguna función de IA de Windows. No es necesario desactivar nada mediante políticas de GPO, por lo que solo se eliminarán la función Recall y la aplicación Copilot.
|
||||
UninstallUWPForAll = Para todos los usuarios
|
||||
NoUWPApps = No hay aplicaciones UWP que desinstalar.
|
||||
UWPAppsTitle = Aplicaciones UWP
|
||||
ScheduledTaskCreatedByAnotherUser = La tarea programada "{0}" ya fue creada por el usuario "{1}".
|
||||
CleanupTaskNotificationTitle = Limpieza de Windows
|
||||
CleanupTaskNotificationEvent = ¿Ejecutar la tarea de limpiar los archivos no utilizados y actualizaciones de Windows?
|
||||
CleanupTaskDescription = La limpieza de Windows los archivos no utilizados y actualizaciones utilizando una función de aplicación de limpieza de discos. La tarea programada sólo puede ejecutarse si el usuario "{0}" ha iniciado sesión en el sistema.
|
||||
CleanupNotificationTaskDescription = Pop-up recordatorio de notificaciones sobre la limpieza de archivos no utilizados de Windows y actualizaciones. La tarea programada sólo puede ejecutarse si el usuario "{0}" ha iniciado sesión en el sistema.
|
||||
SoftwareDistributionTaskNotificationEvent = La caché de actualización de Windows eliminado correctamente.
|
||||
TempTaskNotificationEvent = Los archivos de la carpeta Temp limpiados con éxito.
|
||||
FolderTaskDescription = La limpieza de la carpeta "{0}". La tarea programada sólo puede ejecutarse si el usuario "{1}" ha iniciado sesión en el sistema.
|
||||
EventViewerCustomViewName = Creación de proceso
|
||||
EventViewerCustomViewDescription = Eventos de auditoría de línea de comandos y creación de procesos.
|
||||
ThirdPartyAVInstalled = Se ha instalado un antivirus de terceros.
|
||||
NoHomeWindowsEditionSupport = La edición Windows Home no es compatible con la función "{0}".
|
||||
GeoIdNotSupported = La función "{0}" solo es aplicable en Rusia.
|
||||
EnableHardwareVT = Habilitar la virtualización en UEFI.
|
||||
PhotosNotInstalled = La aplicación Fotos no está instalada.
|
||||
ThirdPartyArchiverInstalled = Se ha instalado un archivador de terceros.
|
||||
gpeditNotSupported = La edición Windows Home no es compatible con el complemento Editor de directivas de grupo local (gpedit.msc).
|
||||
RestartWarning = Asegúrese de reiniciar su PC.
|
||||
ErrorsLine = Línea
|
||||
ErrorsMessage = Errores, advertencias y notificaciones
|
||||
Disable = Desactivar
|
||||
Enable = Habilitar
|
||||
Install = Instalar
|
||||
Uninstall = Desinstalar
|
||||
RestartFunction = Por favor, reinicie la función "{0}".
|
||||
NoResponse = No se pudo establecer una conexión con {0}.
|
||||
Run = Iniciar
|
||||
Skipped = Función "{0}" omitida.
|
||||
ThankfulToastTitle = Gracias por utilizar Sophia Script for Windows ❤️
|
||||
DonateToastTitle = Puede hacer su donación a continuación 🕊
|
||||
DotSourcedWarning = Por favor, "dot-source" la función (con un punto al principio):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = L'importation des modules depuis PowerShell 5.1 a échoué. Veuillez fermer la console PowerShell 7 et relancer le script.
|
||||
UnsupportedArchitecture = Vous utilisez un processeur basé sur l'architecture "{0}". Ce script ne prend en charge que les processeurs basés sur l'architecture x64. Téléchargez et exécutez la version du script adaptée à votre architecture.
|
||||
UnsupportedOSBuild = Le script ne supporte que Windows 11 24H2. Vous utilisez {0} {1}. Mettez à jour votre système d'exploitation Windows et réessayez.
|
||||
UnsupportedWindowsTerminal = La version de Windows Terminal est inférieure à 1.23. Veuillez la mettre à jour dans le Microsoft Store et réessayer.
|
||||
UpdateWarning = Vous utilisez Windows 11 {0}.{1}. La version prise en charge est Windows 11 {0}.{2} et supérieure. Exécutez Windows Update et réessayez.
|
||||
UnsupportedLanguageMode = La session PowerShell s'exécute dans un mode de langue limité.
|
||||
LoggedInUserNotAdmin = L'utilisateur connecté {0} ne dispose pas des droits d'administrateur. Le script a été exécuté au nom d'{1}. Veuillez vous connecter à un compte disposant des droits d'administrateur et relancer le script.
|
||||
UnsupportedPowerShell = Vous essayez d'exécuter le script via PowerShell {0}.{1}. Veuillez exécuter le script en PowerShell {2}.
|
||||
CodeCompilationFailedWarning = Échec de la compilation du code.
|
||||
UnsupportedHost = Le script ne supporte pas l'exécution via {0}.
|
||||
Win10TweakerWarning = Votre système d'exploitation a probablement été infecté par la porte dérobée Win 10 Tweaker.
|
||||
TweakerWarning = La stabilité de l'OS Windows peut avoir été compromise par l'utilisation du {0}. Réinstallez Windows en utilisant uniquement une image ISO authentique.
|
||||
HostsWarning = Entrées tierces trouvées dans le fichier %SystemRoot%\\System32\\drivers\\etc\\hosts. Elles peuvent bloquer la connexion aux ressources utilisées dans le script. Voulez-vous continuer?
|
||||
RebootPending = Votre PC attend d'être redémarré.
|
||||
BitLockerInOperation = BitLocker est en cours d'exécution. Votre lecteur C est crypté à {0}%. Terminez la configuration du lecteur BitLocker et réessayez.
|
||||
BitLockerAutomaticEncryption = Le lecteur C est chiffré, bien que BitLocker soit désactivé. Voulez-vous déchiffrer votre lecteur?
|
||||
UnsupportedRelease = Une nouvelle version de Sophia Script for Windows a été trouvée: {0}. Veuillez télécharger la dernière version.
|
||||
KeyboardArrows = Veuillez utiliser les touches fléchées {0} et {1} de votre clavier pour sélectionner votre réponse
|
||||
CustomizationWarning = Avez-vous personnalisé chaque fonction du fichier de préréglage {0} avant d'exécuter Sophia Script for Windows?
|
||||
WindowsComponentBroken = {0} cassé ou supprimé du système d'exploitation. Réinstallez Windows en utilisant uniquement une image ISO authentique.
|
||||
MicroSoftStorePowerShellWarning = PowerShell téléchargé depuis le Microsoft Store n'est pas pris en charge. Veuillez exécuter une version MSI.
|
||||
ControlledFolderAccessEnabledWarning = Vous avez activé le contrôle d'accès aux dossiers. Veuillez le désactiver et relancer le script.
|
||||
NoScheduledTasks = Aucune tâche planifiée à désactiver.
|
||||
ScheduledTasks = Tâches planifiées
|
||||
WidgetNotInstalled = Le widget n'est pas installé.
|
||||
SearchHighlightsDisabled = Les résultats de recherche sont déjà masqués dans Démarrer.
|
||||
CustomStartMenu = Un menu Démarrer tiers est installé.
|
||||
OneDriveNotInstalled = OneDrive est déjà désinstallé.
|
||||
OneDriveAccountWarning = Avant de désinstaller OneDrive, déconnectez-vous de votre compte Microsoft dans OneDrive.
|
||||
OneDriveInstalled = OneDrive est déjà installé.
|
||||
UninstallNotification = {0} est en cours de désinstallation...
|
||||
InstallNotification = {0} est en cours d'installation...
|
||||
NoWindowsFeatures = Aucune fonctionnalité Windows à désactiver.
|
||||
WindowsFeaturesTitle = Fonctionnalités
|
||||
NoOptionalFeatures = Aucune fonctionnalité optionnelle à désactiver.
|
||||
NoSupportedNetworkAdapters = Aucun adaptateur réseau ne prend en charge la fonction "Autoriser l'ordinateur à éteindre ce périphérique pour économiser l'énergie ".
|
||||
LocationServicesDisabled = Los comandos de shell de red necesitan permiso de ubicación para acceder a la información de la red WLAN. Active los servicios de ubicación en la página Ubicación de la configuración de Privacidad y seguridad.
|
||||
OptionalFeaturesTitle = Fonctionnalités optionnelles
|
||||
UserShellFolderNotEmpty = Certains fichiers laissés dans le dossier "{0}". Déplacer les manuellement vers un nouvel emplacement.
|
||||
UserFolderLocationMove = Vous ne devez pas changer l'emplacement du dossier de l'utilisateur pour la racine du lecteur C.
|
||||
DriveSelect = Sélectionnez le disque à la racine dans lequel le dossier "{0}" sera créé.
|
||||
CurrentUserFolderLocation = L'emplacement actuel du dossier "{0}": "{1}".
|
||||
FilesWontBeMoved = Les fichiers ne seront pas déplacés.
|
||||
UserFolderMoveSkipped = Vous avez oublié de modifier l'emplacement du dossier "{0}" de l'utilisateur.
|
||||
FolderSelect = Sélectionnez un dossier
|
||||
UserFolderRequest = Voulez vous changer où est placé le dossier "{0}"?
|
||||
UserDefaultFolder = Voulez vous changer où est placé le dossier "{0}" à sa valeur par défaut?
|
||||
ReservedStorageIsInUse = Le stockage réservé est utilisé.
|
||||
ProgramPathNotExists = Le chemin "{0}" n'existe pas.
|
||||
ProgIdNotExists = ProgId "{0}" n'existe pas.
|
||||
AllFilesFilter = Tous les fichiers
|
||||
JSONNotValid = Le fichier JSON "{0}" n'est pas valide.
|
||||
PackageNotInstalled = {0} n'est pas installé.
|
||||
PackageIsInstalled = La dernière version de {0} est déjà installée.
|
||||
CopilotPCSupport = Votre processeur ne dispose pas d'un NPU intégré, il ne prend donc en charge aucune fonction IA Windows. Il n'est pas nécessaire de désactiver quoi que ce soit à l'aide des stratégies GPO, seules la fonction Recall et l'application Copilot seront supprimées.
|
||||
UninstallUWPForAll = Pour tous les utilisateurs
|
||||
NoUWPApps = Aucune application UWP à désinstaller.
|
||||
UWPAppsTitle = Applications UWP
|
||||
ScheduledTaskCreatedByAnotherUser = La tâche planifiée "{0}" a déjà été créée par l'utilisateur "{1}".
|
||||
CleanupTaskNotificationTitle = Nettoyer Windows
|
||||
CleanupTaskNotificationEvent = Exécuter la tâche pour nettoyer les fichiers et les mises à jour inutilisés de Windows?
|
||||
CleanupTaskDescription = Nettoyage des fichiers Windows inutilisés et des mises à jour à l'aide de l'application intégrée pour le nettoyage de disque. La tâche programmée ne peut être exécutée que si l'utilisateur "{0}" est connecté au système.
|
||||
CleanupNotificationTaskDescription = Rappel de notification contextuelle sur le nettoyage des fichiers et des mises à jour inutilisés de Windows. La tâche programmée ne peut être exécutée que si l'utilisateur "{0}" est connecté au système.
|
||||
SoftwareDistributionTaskNotificationEvent = Le cache de mise à jour Windows a bien été supprimé.
|
||||
TempTaskNotificationEvent = Le dossier des fichiers temporaires a été nettoyé avec succès.
|
||||
FolderTaskDescription = Nettoyage du dossier "{0}". La tâche programmée ne peut être exécutée que si l'utilisateur "{1}" est connecté au système.
|
||||
EventViewerCustomViewName = Création du processus
|
||||
EventViewerCustomViewDescription = Audit des événements de création du processus et de ligne de commande.
|
||||
ThirdPartyAVInstalled = Un antivirus tiers est installé.
|
||||
NoHomeWindowsEditionSupport = Windows Home Edition ne prend pas en charge la fonction "{0}".
|
||||
GeoIdNotSupported = La fonction "{0}" n'est applicable qu'en Russie.
|
||||
EnableHardwareVT = Activer la virtualisation dans UEFI.
|
||||
PhotosNotInstalled = L'application Photos n'est pas installée.
|
||||
ThirdPartyArchiverInstalled = Un programme d'archivage tiers est installé.
|
||||
gpeditNotSupported = Windows Home Edition ne prend pas en charge le composant logiciel enfichable Éditeur de stratégie de groupe locale (gpedit.msc).
|
||||
RestartWarning = Assurez-vous de redémarrer votre PC.
|
||||
ErrorsLine = Ligne
|
||||
ErrorsMessage = Erreurs, avertissements et notifications
|
||||
Disable = Désactiver
|
||||
Enable = Activer
|
||||
Install = Installer
|
||||
Uninstall = Désinstaller
|
||||
RestartFunction = Veuillez redémarrer la fonction "{0}".
|
||||
NoResponse = Une connexion n'a pas pu être établie avec {0}.
|
||||
Run = Démarrer
|
||||
Skipped = Fonction "{0}" ignorée.
|
||||
ThankfulToastTitle = Merci d'avoir utilisé Sophia Script for Windows ❤️
|
||||
DonateToastTitle = Vous pouvez faire un don ci-dessous 🕊
|
||||
DotSourcedWarning = Veuillez "dot-source" la fonction (avec un point au début):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = A modulok importálása a PowerShell 5.1-ből sikertelen volt. Zárja be a PowerShell 7 konzolt, és futtassa újra a szkriptet.
|
||||
UnsupportedArchitecture = Ön "{0}" alapú architektúrájú CPU-t használ. Ez a szkript csak x64 architektúrájú CPU-kat támogat. Töltse le és futtassa az Ön architektúrájához megfelelő szkript verziót.
|
||||
UnsupportedOSBuild = A szkript támogatja a Windows 11 24H2 és magasabb verziószámú operációs rendszereket. {0} {1}-et használsz. Frissítse a Windows-t, és próbálja meg újra.
|
||||
UnsupportedWindowsTerminal = A Windows Terminal verziója alacsonyabb, mint 1.23. Kérjük, frissítse azt a Microsoft Store-ban, és próbálja meg újra.
|
||||
UpdateWarning = Vous utilisez Windows 11 {0}.{1}. La version prise en charge est Windows 11 {0}.{2} et supérieure. Exécutez Windows Update et réessayez.
|
||||
UnsupportedLanguageMode = A PowerShell munkamenet korlátozott nyelvi üzemmódban fut.
|
||||
LoggedInUserNotAdmin = A bejelentkezett felhasználó, {0}, nem rendelkezik rendszergazdai jogokkal. A szkript {1} nevében futott. Kérjük, jelentkezzen be egy rendszergazdai jogokkal rendelkező fiókba, és futtassa újra a szkriptet.
|
||||
UnsupportedPowerShell = A PowerShell {0}.{1} segítségével próbálja futtatni a szkriptet. Kérjük, futtassa a szkriptet a PowerShell {2}-ben.
|
||||
CodeCompilationFailedWarning = A kód fordítása sikertelen volt.
|
||||
UnsupportedHost = A szkript nem támogatja a {0} futtatását.
|
||||
Win10TweakerWarning = Valószínűleg az operációs rendszerét a Win 10 Tweaker backdoor segítségével fertőzték meg.
|
||||
TweakerWarning = A Windows operációs rendszer stabilitását veszélyeztethette a {0}. Ponovno instalirajte Windows koristeći samo originalnu ISO sliku.
|
||||
HostsWarning = Harmadik féltől származó bejegyzések találhatóak a %SystemRoot%\\System32\\drivers\\etc\\hosts fájlban. Ezek blokkolhatják a szkriptben használt erőforrásokhoz való csatlakozást. Folytatni kívánja?
|
||||
RebootPending = A számítógép újraindításra vár.
|
||||
BitLockerInOperation = A BitLocker működik. A C meghajtó {0}%-a titkosítva van. Végezze el a BitLocker meghajtó konfigurálását, majd próbálkozzon újra.
|
||||
BitLockerAutomaticEncryption = A C meghajtó titkosítva van, bár a BitLocker ki van kapcsolva. Szeretné dekódolni a meghajtót?
|
||||
UnsupportedRelease = Újabb Sophia Script for Windows verzió található: {0}. Kérjük, töltse le a legújabb verziót.
|
||||
KeyboardArrows = Kérjük, használja a billentyűzet {0} és {1} nyílbillentyűit a válasz kiválasztásához
|
||||
CustomizationWarning = Személyre szabott minden opciót a {0} preset fájlban, mielőtt futtatni kívánja a Sophia szkriptet?
|
||||
WindowsComponentBroken = A {0} elromlott vagy eltávolították az operációs rendszerből. Ponovno instalirajte Windows koristeći samo originalnu ISO sliku.
|
||||
MicroSoftStorePowerShellWarning = A Microsoft Store-ból letöltött PowerShell nem támogatott. Kérjük, futtasson egy MSI verziót.
|
||||
ControlledFolderAccessEnabledWarning = A mappákhoz való hozzáférés ellenőrzése engedélyezve van. Kérjük, tiltsa le, és futtassa újra a szkriptet.
|
||||
NoScheduledTasks = Nincs letiltandó ütemezett feladat.
|
||||
ScheduledTasks = Ütemezett feladatok
|
||||
WidgetNotInstalled = A widget nincs telepítve.
|
||||
SearchHighlightsDisabled = A keresési kiemelt elemek már el vannak rejtve a Start menüben.
|
||||
CustomStartMenu = Egy harmadik fél Start menüje van telepítve.
|
||||
OneDriveNotInstalled = A OneDrive már eltávolítva van.
|
||||
OneDriveAccountWarning = A OneDrive eltávolítása előtt jelentkezzen ki a Microsoft-fiókjából a OneDrive-ban.
|
||||
OneDriveInstalled = A OneDrive már telepítve van.
|
||||
UninstallNotification = A {0} eltávolításra kerül...
|
||||
InstallNotification = A {0} telepítése folyamatban van...
|
||||
NoWindowsFeatures = Nincs letiltandó Windows-funkció.
|
||||
WindowsFeaturesTitle = Windows szolgáltatások
|
||||
NoOptionalFeatures = Nincs letiltható opcionális funkció.
|
||||
NoSupportedNetworkAdapters = Nincs olyan hálózati adapter, amely támogatná az "Engedélyezze a számítógépnek, hogy energiatakarékossági okokból kikapcsolja ezt az eszközt" funkciót.
|
||||
LocationServicesDisabled = A hálózati shell parancsokhoz helymeghatározási engedély szükséges a WLAN-adatok eléréséhez. Kapcsolja be a Helymeghatározás szolgáltatásokat a Adatvédelem és biztonság beállítások Helymeghatározás oldalon.
|
||||
OptionalFeaturesTitle = Opcionális szolgáltatások
|
||||
UserShellFolderNotEmpty = Néhány fájl maradt a "{0}" könyvtárban. Kérem helyezze át ezeket egy új helyre.
|
||||
UserFolderLocationMove = Nem szabad megváltoztatni a felhasználói mappa helyét a C meghajtó gyökerére.
|
||||
DriveSelect = Válassza ki a meghajtó jelét a gyökérkönyvtárban ahol a "{0}" könyvtár létre lesz hozva.
|
||||
CurrentUserFolderLocation = Az aktuális "{0}" mappa helye: "{1}".
|
||||
FilesWontBeMoved = A fájlok nem kerülnek áthelyezésre.
|
||||
UserFolderMoveSkipped = A felhasználó "{0}" mappájának helyét nem módosította.
|
||||
FolderSelect = Válasszon ki egy mappát
|
||||
UserFolderRequest = Kívánja megváltoztatni a "{0}" könyvtár helyét?
|
||||
UserDefaultFolder = Szeretné visszaállítani a "{0}" könyvtár helyét a gyári értékekre?
|
||||
ReservedStorageIsInUse = A fenntartott tárhely használatban van.
|
||||
ProgramPathNotExists = A "{0}" elérési út nem létezik.
|
||||
ProgIdNotExists = A ProgId "{0}" nem létezik.
|
||||
AllFilesFilter = Minden fájl
|
||||
JSONNotValid = A JSON fájl "{0}" érvénytelen.
|
||||
PackageNotInstalled = A {0} nincs telepítve.
|
||||
PackageIsInstalled = A {0} legújabb verziója már telepítve van.
|
||||
CopilotPCSupport = A CPU-ja nem rendelkezik beépített NPU-val, ezért nem támogatja a Windows AI funkciókat. Nincs szükség semmilyen GPO-házirend letiltására, így csak a Recall funkció és a Copilot alkalmazás lesz eltávolítva.
|
||||
UninstallUWPForAll = Minden felhasználó számára
|
||||
NoUWPApps = Nincs eltávolítandó UWP-alkalmazás.
|
||||
UWPAppsTitle = Nincs eltávolítandó UWP-alkalmazás.
|
||||
ScheduledTaskCreatedByAnotherUser = A "{0}" ütemezett feladatot már létrehozta a "{1}" felhasználó.
|
||||
CleanupTaskNotificationTitle = Windows tisztítása
|
||||
CleanupTaskNotificationEvent = Szeretné a nem használt fájlokat es frissitéseket eltávolítani?
|
||||
CleanupTaskDescription = A nem használt Windows fájlok és frissítések eltávolítása a beépített lemezkarbantartó alkalmazással. Az ütemezett feladat csak akkor futtatható, ha "{0}" felhasználó bejelentkezett a rendszerbe.
|
||||
CleanupNotificationTaskDescription = Előugró emlékeztető figyelmeztetés a nem használt Windows fájlok és frissítések törléséről. Az ütemezett feladat csak akkor futtatható, ha "{0}" felhasználó bejelentkezett a rendszerbe.
|
||||
SoftwareDistributionTaskNotificationEvent = A Windows frissités számára fenntartott ideiglenes tárhely sikeresen megtisztítva.
|
||||
TempTaskNotificationEvent = Az ideiglenes fájlok tárolására szolgáló könyvtár tisztítása sikeresen megtörtént.
|
||||
FolderTaskDescription = A {0} könyvtár tisztítása. Az ütemezett feladat csak akkor futtatható, ha "{1}" felhasználó bejelentkezett a rendszerbe.
|
||||
EventViewerCustomViewName = Folyamatok
|
||||
EventViewerCustomViewDescription = Folyamatok létrehozása és parancssor ellenőrző események.
|
||||
ThirdPartyAVInstalled = Harmadik féltől származó vírusirtó van telepítve.
|
||||
NoHomeWindowsEditionSupport = A Windows Home Edition nem támogatja a "{0}" funkciót.
|
||||
GeoIdNotSupported = A "{0}" funkció csak Oroszországban alkalmazható.
|
||||
EnableHardwareVT = Virtualizáció engedélyezése UEFI-ben.
|
||||
PhotosNotInstalled = A Fotók alkalmazás nincs telepítve.
|
||||
ThirdPartyArchiverInstalled = Egy harmadik fél által készített archívum van telepítve.
|
||||
gpeditNotSupported = A Windows Home Edition nem támogatja a Helyi csoportházirend-szerkesztő beépülő modult (gpedit.msc).
|
||||
RestartWarning = Indítsa újra a számítógépet.
|
||||
ErrorsLine = Sor
|
||||
ErrorsMessage = Hibák, figyelmeztetések és értesítések
|
||||
Disable = Kikapcsolás
|
||||
Enable = Engedélyezés
|
||||
Install = Telepítés
|
||||
Uninstall = Eltávolít
|
||||
RestartFunction = Ponovo pokrenite funkciju "{0}".
|
||||
NoResponse = Nem hozható létre kapcsolat a {0} weboldallal.
|
||||
Run = Futtatás
|
||||
Skipped = Az "{0}" funkció kihagyva.
|
||||
ThankfulToastTitle = Köszönjük, hogy használta a Sophia Script for Windows ❤️
|
||||
DonateToastTitle = Az alábbi linken keresztül adományozhat 🕊
|
||||
DotSourcedWarning = Kérjük, "dot-source"-olja a függvényt (egy ponttal az elején):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = Impossibile importare i moduli da PowerShell 5.1. Chiudere la console PowerShell 7 e rieseguire lo script.
|
||||
UnsupportedArchitecture = Stai utilizzando una CPU con architettura basata su "{0}". Questo script supporta solo CPU con architettura x64. Scarica ed esegui la versione dello script adatta alla tua architettura.
|
||||
UnsupportedOSBuild = Lo script supporta Windows 11 24H2 e versioni successive. Stai utilizzando {0} {1}. Aggiornare Windows e riprovare.
|
||||
UnsupportedWindowsTerminal = La versione di Windows Terminal è inferiore a 1.23. Aggiornarla nel Microsoft Store e riprovare.
|
||||
UpdateWarning = Windows 11 {0}.{1} rendszert használ. A támogatott verzió Windows 11 {0}.{2} vagy újabb. Futtassa a Windows Update programot, majd próbálja meg újra.
|
||||
UnsupportedLanguageMode = La sessione PowerShell è in esecuzione in modalità lingua limitata.
|
||||
LoggedInUserNotAdmin = L'utente connesso {0} non dispone dei diritti di amministratore. Lo script è stato eseguito per conto di {1}. Accedi a un account con diritti di amministratore ed esegui nuovamente lo script.
|
||||
UnsupportedPowerShell = Stai cercando di eseguire lo script tramite PowerShell {0}.{1}. Eseguire lo script in PowerShell {2}.
|
||||
CodeCompilationFailedWarning = Compilazione del codice non riuscita.
|
||||
UnsupportedHost = Lo script non supporta l'esecuzione tramite {0}.
|
||||
Win10TweakerWarning = Probabilmente il tuo sistema operativo è stato infettato tramite una backdoor in Win 10 Tweaker.
|
||||
TweakerWarning = La stabilità del sistema operativo Windows potrebbe essere stata compromessa dall'utilizzo dello {0}. Reinstallare Windows utilizzando solo un'immagine ISO autentica.
|
||||
HostsWarning = Voci di terze parti trovate nel file %SystemRoot%\\System32\\drivers\\etc\\hosts. Potrebbero bloccare la connessione alle risorse utilizzate nello script. Vuoi continuare?
|
||||
RebootPending = Il tuo PC è in attesa di essere riavviato.
|
||||
BitLockerInOperation = BitLocker è in funzione. L'unità C è crittografata all'{0}%. Completa la configurazione dell'unità BitLocker e riprova.
|
||||
BitLockerAutomaticEncryption = L'unità C è crittografata, anche se BitLocker è disattivato. Vuoi decrittografare l'unità?
|
||||
UnsupportedRelease = È stata trovata una versione più recente di Sophia Script for Windows: {0}. Scarica l'ultima versione.
|
||||
KeyboardArrows = Per selezionare la risposta, utilizzare i tasti freccia "{0}" e "{1}" della tastiera
|
||||
CustomizationWarning = Sono state personalizzate tutte le funzioni nel file di configurazione {0} prima di eseguire Sophia Script for Windows?
|
||||
WindowsComponentBroken = {0} rimosso dal sistema. Reinstallare Windows utilizzando solo un'immagine ISO autentica.
|
||||
MicroSoftStorePowerShellWarning = PowerShell scaricato dal Microsoft Store non è supportato. Eseguire una versione MSI.
|
||||
ControlledFolderAccessEnabledWarning = Hai attivato il controllo dell'accesso alle cartelle. Disattivalo ed esegui nuovamente lo script.
|
||||
NoScheduledTasks = Nessuna attività pianificata da disabilitare.
|
||||
ScheduledTasks = Attività pianificate
|
||||
WidgetNotInstalled = Il widget non è installato.
|
||||
SearchHighlightsDisabled = I risultati della ricerca sono già nascosti in Start.
|
||||
CustomStartMenu = È installato un menu Start di terze parti.
|
||||
OneDriveNotInstalled = OneDrive è già stato disinstallato.
|
||||
OneDriveAccountWarning = Prima di disinstallare OneDrive, esci dal tuo account Microsoft in OneDrive.
|
||||
OneDriveInstalled = OneDrive è già installato.
|
||||
UninstallNotification = {0} è in fase di disinstallazione...
|
||||
InstallNotification = {0} è in fase di installazione...
|
||||
NoWindowsFeatures = Nessuna funzionalità di Windows da disattivare.
|
||||
WindowsFeaturesTitle = Funzionalità di Windows
|
||||
NoOptionalFeatures = Nessuna funzione opzionale da disattivare.
|
||||
NoSupportedNetworkAdapters = Nessuna scheda di rete che supporti la funzione "Consenti al computer di spegnere questo dispositivo per risparmiare energia".
|
||||
LocationServicesDisabled = I comandi della shell di rete richiedono l'autorizzazione alla localizzazione per accedere alle informazioni WLAN. Attiva i servizi di localizzazione nella pagina Localizzazione delle impostazioni Privacy e sicurezza.
|
||||
OptionalFeaturesTitle = Caratteristiche opzionali
|
||||
UserShellFolderNotEmpty = Alcuni file rimasti nella cartella "{0}". Spostali manualmente in una nuova posizione.
|
||||
UserFolderLocationMove = Non si dovrebbe modificare la posizione della cartella utente nella radice dell'unità C.
|
||||
DriveSelect = Selezionare l'unità all'interno della radice del quale verrà creato la cartella "{0}".
|
||||
CurrentUserFolderLocation = La posizione attuale della cartella "{0}": "{1}".
|
||||
FilesWontBeMoved = I file non verranno spostati.
|
||||
UserFolderMoveSkipped = Hai saltato la modifica della posizione della cartella "{0}" dell'utente.
|
||||
FolderSelect = Seleziona una cartella
|
||||
UserFolderRequest = Volete cambiare la posizione della cartella "{0}"?
|
||||
UserDefaultFolder = Volete cambiare la posizione della cartella "{0}" al valore di default?
|
||||
ReservedStorageIsInUse = È in uso lo spazio di archiviazione riservato.
|
||||
ProgramPathNotExists = Il percorso "{0}" non esiste.
|
||||
ProgIdNotExists = ProgId "{0}" non esiste.
|
||||
AllFilesFilter = Tutti i file
|
||||
JSONNotValid = Il file JSON "{0}" non è valido.
|
||||
PackageNotInstalled = {0} non è installato.
|
||||
PackageIsInstalled = L'ultima versione di {0} è già installata.
|
||||
CopilotPCSupport = La tua CPU non dispone di una NPU integrata, quindi non supporta alcuna funzione AI di Windows. Non è necessario disabilitare nulla utilizzando i criteri GPO, quindi verranno rimossi solo la funzione Recall e l'applicazione Copilot.
|
||||
UninstallUWPForAll = Per tutti gli utenti
|
||||
NoUWPApps = Nessuna app UWP da disinstallare.
|
||||
UWPAppsTitle = UWP Apps
|
||||
ScheduledTaskCreatedByAnotherUser = La funzione "{0}" è già stata creata come "{1}".
|
||||
CleanupTaskNotificationTitle = Pulizia di Windows
|
||||
CleanupTaskNotificationEvent = Eseguire l'operazione di pulizia dei file inutilizzati e aggiornamenti di Windows?
|
||||
CleanupTaskDescription = Pulizia dei file e degli aggiornamenti inutilizzati di Windows utilizzando l'app di pulizia del disco integrata. L'attività pianificata può essere eseguita solo se l'utente "{0}" ha effettuato l'accesso al sistema.
|
||||
CleanupNotificationTaskDescription = Pop-up promemoria di pulizia dei file inutilizzati e degli aggiornamenti di Windows. L'attività pianificata può essere eseguita solo se l'utente "{0}" ha effettuato l'accesso al sistema.
|
||||
SoftwareDistributionTaskNotificationEvent = La cache degli aggiornamenti di Windows cancellata con successo.
|
||||
TempTaskNotificationEvent = I file cartella Temp puliti con successo.
|
||||
FolderTaskDescription = Pulizia della cartella "{0}". L'attività pianificata può essere eseguita solo se l'utente "{1}" ha effettuato l'accesso al sistema.
|
||||
EventViewerCustomViewName = Creazione del processo
|
||||
EventViewerCustomViewDescription = Creazione del processi e degli eventi di controllo della riga di comando.
|
||||
ThirdPartyAVInstalled = È installato un antivirus di terze parti.
|
||||
NoHomeWindowsEditionSupport = Windows Home Edition non supporta la funzione "{0}".
|
||||
GeoIdNotSupported = La funzione "{0}" è applicabile solo per la Russia.
|
||||
EnableHardwareVT = Abilita virtualizzazione in UEFI.
|
||||
PhotosNotInstalled = L'applicazione Foto non è installata.
|
||||
ThirdPartyArchiverInstalled = È installato un programma di archiviazione di terze parti.
|
||||
gpeditNotSupported = Windows Home Edition non supporta lo snap-in Editor criteri di gruppo locali (gpedit.msc).
|
||||
RestartWarning = Assicurati di riavviare il PC.
|
||||
ErrorsLine = Linea
|
||||
ErrorsMessage = Errori, avvisi e notifiche
|
||||
Disable = Disattivare
|
||||
Enable = Abilitare
|
||||
Install = Installare
|
||||
Uninstall = Disinstallare
|
||||
RestartFunction = Si prega di riavviare la funzione "{0}".
|
||||
NoResponse = Non è stato possibile stabilire una connessione con {0}.
|
||||
Run = Eseguire
|
||||
Skipped = Funzione "{0}" saltata.
|
||||
ThankfulToastTitle = Grazie per aver utilizzato Sophia Script for Windows ❤️
|
||||
DonateToastTitle = Puoi effettuare una donazione qui sotto 🕊
|
||||
DotSourcedWarning = Si prega di "dot-source" la funzione (con un punto all'inizio):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = Importowanie modułów z programu PowerShell 5.1 nie powiodło się. Zamknij konsolę programu PowerShell 7 i uruchom ponownie skrypt.
|
||||
UnsupportedArchitecture = Korzystasz z procesora opartego na architekturze "{0}". Ten skrypt obsługuje wyłącznie procesory oparte na architekturze x64. Pobierz i uruchom wersję skryptu odpowiednią dla swojej architektury.
|
||||
UnsupportedOSBuild = Skrypt obsługuje system Windows 11 24H2 i nowsze wersje. Używasz systemu {0} {1}. Zaktualizuj system Windows i spróbuj ponownie.
|
||||
UnsupportedWindowsTerminal = Wersja Windows Terminal jest niższa niż 1.23. Zaktualizuj ją w Microsoft Store i spróbuj ponownie.
|
||||
UpdateWarning = Windows 11 {0}.{1} rendszert használ. A támogatott verzió Windows 11 {0}.{2} vagy újabb. Futtassa a Windows Update programot, majd próbálja meg újra.
|
||||
UnsupportedLanguageMode = Sesja PowerShell działa w trybie ograniczonego języka.
|
||||
LoggedInUserNotAdmin = Zalogowany użytkownik {0} nie ma uprawnień administratora. Skrypt został uruchomiony w imieniu {1}. Zaloguj się na konto z uprawnieniami administratora i uruchom skrypt ponownie.
|
||||
UnsupportedPowerShell = Próbujesz uruchomić skrypt przy użyciu PowerShell {0}.{1}. Uruchom skrypt w PowerShell {2}.
|
||||
CodeCompilationFailedWarning = Kompilacja kodu nie powiodła się.
|
||||
UnsupportedHost = Skrypt nie może być uruchamiany w {0}.
|
||||
Win10TweakerWarning = Prawdopodobnie twój system operacyjny został zainfekowany przez backdoora pochodzącego z Win 10 Tweaker.
|
||||
TweakerWarning = Stabilność systemu Windows mogła zostać naruszona przez użycie {0}. Zainstaluj ponownie system Windows, używając tylko oryginalnego obrazu ISO.
|
||||
HostsWarning = W pliku %SystemRoot%\\System32\\drivers\\etc\\hosts znaleziono wpisy stron trzecich. Mogą one blokować połączenie z zasobami używanymi w skrypcie. Czy chcesz kontynuować?
|
||||
RebootPending = Twój komputer czeka na ponowne uruchomienie.
|
||||
BitLockerInOperation = BitLocker działa. Dysk C jest zaszyfrowany w {0}%. Zakończ konfigurację dysku BitLocker i spróbuj ponownie.
|
||||
BitLockerAutomaticEncryption = Dysk C jest zaszyfrowany, mimo że funkcja BitLocker jest wyłączona. Czy chcesz odszyfrować dysk?
|
||||
UnsupportedRelease = Znaleziono nowszą wersję skryptu Sophia: {0}. Proszę pobrać najnowszą wersję.
|
||||
KeyboardArrows = Użyj klawiszy strzałek {0} i {1} na klawiaturze, aby wybrać odpowiedź
|
||||
CustomizationWarning = Czy dostosowałeś funkcje w predefiniowanym pliku {0} przed uruchomieniem Sophia Script for Windows?
|
||||
WindowsComponentBroken = {0} jest uszkodzony lub usunięty z systemu operacyjnego. Zainstaluj ponownie system Windows, używając tylko oryginalnego obrazu ISO.
|
||||
MicroSoftStorePowerShellWarning = PowerShell pobrany ze sklepu Microsoft Store nie jest obsługiwany. Należy uruchomić wersję MSI.
|
||||
ControlledFolderAccessEnabledWarning = Włączono kontrolę dostępu do folderów. Proszę ją wyłączyć i ponownie uruchomić skrypt.
|
||||
NoScheduledTasks = Brak zaplanowanych zadań do wyłączenia.
|
||||
ScheduledTasks = Zaplanowane zadania
|
||||
WidgetNotInstalled = Widżet nie jest zainstalowany.
|
||||
SearchHighlightsDisabled = Najważniejsze wyniki wyszukiwania są już ukryte w menu Start.
|
||||
CustomStartMenu = Zainstalowano menu Start innej firmy.
|
||||
OneDriveNotInstalled = OneDrive został już odinstalowany.
|
||||
OneDriveAccountWarning = Przed odinstalowaniem aplikacji OneDrive wyloguj się ze swojego konta Microsoft w aplikacji OneDrive.
|
||||
OneDriveInstalled = Usługa OneDrive jest już zainstalowana.
|
||||
UninstallNotification = Usuwanie programu {0}...
|
||||
InstallNotification = Trwa instalacja usługi {0}...
|
||||
NoWindowsFeatures = Nincs letiltandó Windows-funkció.
|
||||
WindowsFeaturesTitle = Funkcje Windows
|
||||
NoOptionalFeatures = Nincs letiltható opcionális funkció.
|
||||
NoSupportedNetworkAdapters = Brak kart sieciowych obsługujących funkcję "Zezwól komputerowi na wyłączenie tego urządzenia w celu oszczędzania energii".
|
||||
LocationServicesDisabled = Polecenia powłoki sieciowej wymagają uprawnień lokalizacyjnych, aby uzyskać dostęp do informacji o sieci WLAN. Włącz usługi lokalizacyjne na stronie Lokalizacja w ustawieniach prywatności i bezpieczeństwa.
|
||||
OptionalFeaturesTitle = Funkcje opcjonalne
|
||||
UserShellFolderNotEmpty = Niektóre pliki pozostały w folderze "{0}". Przenieś je ręcznie w nowe miejsce.
|
||||
UserFolderLocationMove = Nie należy zmieniać lokalizacji folderu użytkownika na katalog główny dysku C.
|
||||
DriveSelect = Wybierz dysk w katalogu głównym, w którym zostanie utworzony folder "{0}".
|
||||
CurrentUserFolderLocation = Lokalizacja folderu "{0}": "{1}".
|
||||
FilesWontBeMoved = Pliki nie zostaną przeniesione.
|
||||
UserFolderMoveSkipped = Pominąłeś zmianę lokalizacji folderu użytkownika "{0}".
|
||||
FolderSelect = Wybierz folder
|
||||
UserFolderRequest = Czy chcesz zmienić lokalizację folderu "{0}"?
|
||||
UserDefaultFolder = Czy chcesz zmienić lokalizację folderu "{0}" na wartość domyślną?
|
||||
ReservedStorageIsInUse = Zarezerwowana pamięć jest używana.
|
||||
ProgramPathNotExists = Ścieżka "{0}" nie istnieje.
|
||||
ProgIdNotExists = ProgId "{0}" nie istnieje.
|
||||
AllFilesFilter = Wszystkie pliki
|
||||
JSONNotValid = Plik JSON "{0}" jest nieprawidłowy.
|
||||
PackageNotInstalled = {0} nie jest zainstalowany.
|
||||
PackageIsInstalled = Najnowsza wersja {0} jest już zainstalowana.
|
||||
CopilotPCSupport = Twój procesor nie ma wbudowanego procesora NPU, więc nie obsługuje żadnych funkcji sztucznej inteligencji systemu Windows. Nie ma potrzeby wyłączania niczego za pomocą zasad GPO, więc funkcja Recall i aplikacja Copilot zostaną po prostu usunięte.
|
||||
UninstallUWPForAll = Dla wszystkich użytkowników
|
||||
NoUWPApps = Brak aplikacji UWP do odinstalowania.
|
||||
UWPAppsTitle = Aplikacje UWP
|
||||
ScheduledTaskCreatedByAnotherUser = Zaplanowane zadanie "{0}" zostało już utworzone przez użytkownika "{1}".
|
||||
CleanupTaskNotificationTitle = Oczyszczanie system Windows
|
||||
CleanupTaskNotificationEvent = Uruchomić zadanie w celu usunięcia nieużywanych plików i aktualizacji systemu Windows?
|
||||
CleanupTaskDescription = Czyszczenie nieużywanych plików i aktualizacji systemu Windows za pomocą wbudowanej aplikacji do czyszczenia dysku. Zaplanowane zadanie może zostać uruchomione tylko wtedy, gdy użytkownik "{0}" jest zalogowany do systemu.
|
||||
CleanupNotificationTaskDescription = Powiadomienie przypominające o czyszczeniu nieużywanych plików i aktualizacji systemu Windows. Zaplanowane zadanie może zostać uruchomione tylko wtedy, gdy użytkownik "{0}" jest zalogowany do systemu.
|
||||
SoftwareDistributionTaskNotificationEvent = Pomyślnie usunięto pamięć podręczną aktualizacji systemu Windows.
|
||||
TempTaskNotificationEvent = Folder plików tymczasowych został pomyślnie wyczyszczony.
|
||||
FolderTaskDescription = Czyszczenie folderu {0}. Zaplanowane zadanie może zostać uruchomione tylko wtedy, gdy użytkownik "{1}" jest zalogowany do systemu.
|
||||
EventViewerCustomViewName = Tworzenie procesu
|
||||
EventViewerCustomViewDescription = Tworzenie procesu i zdarzeń audytu.
|
||||
ThirdPartyAVInstalled = Zainstalowano program antywirusowy innej firmy.
|
||||
NoHomeWindowsEditionSupport = Wersja Windows Home nie obsługuje funkcji "{0}".
|
||||
GeoIdNotSupported = Funkcja "{0}" ma zastosowanie wyłącznie w Rosji.
|
||||
EnableHardwareVT = Włącz wirtualizację w UEFI.
|
||||
PhotosNotInstalled = Aplikacja Zdjęcia nie jest zainstalowana.
|
||||
ThirdPartyArchiverInstalled = Zainstalowano archiwizator innej firmy.
|
||||
gpeditNotSupported = Wersja Windows Home nie obsługuje przystawki Edytor lokalnych zasad grupy (gpedit.msc).
|
||||
RestartWarning = Pamiętaj o ponownym uruchomieniu komputera.
|
||||
ErrorsLine = Linia
|
||||
ErrorsMessage = Błędy, ostrzeżenia i powiadomienia
|
||||
Disable = Wyłączyć
|
||||
Enable = Włączać
|
||||
Install = Zainstalluj
|
||||
Uninstall = Odinstaluj
|
||||
RestartFunction = Uruchom ponownie funkcję "{0}".
|
||||
NoResponse = Nie można nawiązać połączenia z {0}.
|
||||
Run = Uruchom
|
||||
Skipped = Funkcja "{0}" pominięta.
|
||||
ThankfulToastTitle = Dziękujemy za korzystanie z Sophia Script for Windows ❤️
|
||||
DonateToastTitle = Możesz przekazać darowiznę poniżej 🕊
|
||||
DotSourcedWarning = Prosimy o "dot-source" funkcji (z kropką na początku):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = Falha ao importar módulos do PowerShell 5.1. Feche o console do PowerShell 7 e execute o script novamente.
|
||||
UnsupportedArchitecture = Você está usando uma CPU com arquitetura baseada em "{0}". Este script suporta apenas CPUs com arquitetura x64. Baixe e execute a versão do script para a sua arquitetura.
|
||||
UnsupportedOSBuild = O script é compatível com o Windows 11 24H2 e superior. Você está usando o {0} {1}. Atualize seu Windows e tente novamente.
|
||||
UnsupportedWindowsTerminal = A versão do Windows Terminal é inferior a 1.23. Atualize-a na Microsoft Store e tente novamente.
|
||||
UpdateWarning = Windows 11 {0}.{1} rendszert használ. A támogatott verzió Windows 11 {0}.{2} vagy újabb. Futtassa a Windows Update programot, majd próbálja meg újra.
|
||||
UnsupportedLanguageMode = A sessão PowerShell em funcionamento em um modo de linguagem limitada.
|
||||
LoggedInUserNotAdmin = O usuário conectado {0} não possui direitos de administrador. O script foi executado em nome de {1}. Faça login em uma conta com direitos de administrador e execute o script novamente.
|
||||
UnsupportedPowerShell = Você está tentando executar o script via PowerShell {0}.{1}. Execute o script no PowerShell {2}.
|
||||
CodeCompilationFailedWarning = Falha na compilação do código.
|
||||
UnsupportedHost = O guião não suporta a execução através do {0}.
|
||||
Win10TweakerWarning = Probabilmente il tuo sistema operativo è stato infettato tramite la backdoor Win 10 Tweaker.
|
||||
TweakerWarning = A estabilidade do sistema operacional Windows pode ter sido comprometida pela utilização do {0}. Reinstale o Windows usando apenas uma imagem ISO genuína.
|
||||
HostsWarning = Entradas de terceiros encontradas no arquivo %SystemRoot%\\System32\\drivers\\etc\\hosts. Elas podem bloquear a conexão com recursos usados no script. Deseja continuar?
|
||||
RebootPending = Seu computador está aguardando para ser reiniciado.
|
||||
BitLockerInOperation = O BitLocker está em ação. Sua unidade C está {0}% criptografada. Conclua a configuração da unidade BitLocker e tente novamente.
|
||||
BitLockerAutomaticEncryption = A unidade C está criptografada, embora o BitLocker esteja desativado. Deseja descriptografar sua unidade?
|
||||
UnsupportedRelease = Encontrada uma versão mais recente do Sophia Script for Windows: {0}. Faça o download da versão mais recente.
|
||||
KeyboardArrows = Use as teclas de seta {0} e {1} do teclado para selecionar sua resposta
|
||||
CustomizationWarning = Você personalizou todas as funções no arquivo de predefinição {0} antes de executar o Sophia Script for Windows?
|
||||
WindowsComponentBroken = {0} quebrado ou removido do sistema operativo. Reinstale o Windows usando apenas uma imagem ISO genuína.
|
||||
MicroSoftStorePowerShellWarning = Não há suporte para o PowerShell baixado da Microsoft Store. Execute uma versão MSI.
|
||||
ControlledFolderAccessEnabledWarning = Você tem o acesso controlado a pastas ativado. Desative-o e execute o script novamente.
|
||||
NoScheduledTasks = Não há tarefas agendadas para desativar.
|
||||
ScheduledTasks = Tarefas agendadas
|
||||
WidgetNotInstalled = O widget não está instalado.
|
||||
SearchHighlightsDisabled = Os destaques da pesquisa já estão ocultos no Início.
|
||||
CustomStartMenu = Um Menu Iniciar de terceiros está instalado.
|
||||
OneDriveNotInstalled = O OneDrive já está desinstalado.
|
||||
OneDriveAccountWarning = Antes de desinstalar o OneDrive, saia da sua conta da Microsoft no OneDrive.
|
||||
OneDriveInstalled = O OneDrive já está instalado.
|
||||
UninstallNotification = O {0} está sendo desinstalado...
|
||||
InstallNotification = O {0} está sendo instalado...
|
||||
NoWindowsFeatures = Não há recursos do Windows para desativar.
|
||||
WindowsFeaturesTitle = Recursos do Windows
|
||||
NoOptionalFeatures = Não há recursos opcionais para desativar.
|
||||
NoSupportedNetworkAdapters = Nenhum adaptador de rede que suporte a função "Permitir que o computador desligue este dispositivo para economizar energia".
|
||||
LocationServicesDisabled = Os comandos do shell de rede precisam de permissão de localização para acessar as informações da WLAN. Ative os serviços de localização na página Localização nas configurações de Privacidade e segurança.
|
||||
OptionalFeaturesTitle = Recursos opcionais
|
||||
UserShellFolderNotEmpty = Alguns arquivos deixados na pasta "{0}". Movê-los manualmente para um novo local.
|
||||
UserFolderLocationMove = Você não deve alterar o local da pasta do usuário para a raiz da unidade C.
|
||||
DriveSelect = Selecione a unidade dentro da raiz da qual a pasta "{0}" será criada.
|
||||
CurrentUserFolderLocation = A localização actual da pasta "{0}": "{1}".
|
||||
FilesWontBeMoved = Os arquivos não serão movidos.
|
||||
UserFolderMoveSkipped = Você não alterou a localização da pasta "{0}" do usuário.
|
||||
FolderSelect = Selecione uma pasta
|
||||
UserFolderRequest = Gostaria de alterar a localização da pasta "{0}"?
|
||||
UserDefaultFolder = Gostaria de alterar a localização da pasta "{0}" para o valor padrão?
|
||||
ReservedStorageIsInUse = O armazenamento reservado está sendo usado.
|
||||
ProgramPathNotExists = O caminho "{0}" não existe.
|
||||
ProgIdNotExists = O ProgId "{0}" não existe.
|
||||
AllFilesFilter = Todos os arquivos
|
||||
JSONNotValid = O arquivo JSON "{0}" não é válido.
|
||||
PackageNotInstalled = {0} não está instalado.
|
||||
PackageIsInstalled = A versão mais recente do {0} já está instalada.
|
||||
CopilotPCSupport = Sua CPU não possui uma NPU integrada, portanto, não suporta nenhuma função de IA do Windows. Não é necessário desativar nada usando políticas GPO, portanto, a função Recall e o aplicativo Copilot serão removidos.
|
||||
UninstallUWPForAll = Para todos os usuários...
|
||||
NoUWPApps = Não há aplicativos UWP para desinstalar.
|
||||
UWPAppsTitle = Apps UWP
|
||||
ScheduledTaskCreatedByAnotherUser = A tarefa agendada "{0}" já foi criada pelo usuário "{1}".
|
||||
CleanupTaskNotificationTitle = Limpeza do Windows
|
||||
CleanupTaskNotificationEvent = Executar tarefa para limpar arquivos e atualizações não utilizados do Windows?
|
||||
CleanupTaskDescription = Limpando o Windows arquivos não utilizados e atualizações usando o aplicativo de limpeza aplicativo de limpeza embutido no disco. A tarefa programada só pode ser executada se o usuário "{0}" estiver conectado ao sistema.
|
||||
CleanupNotificationTaskDescription = Pop-up lembrete de notificação sobre a limpeza do Windows arquivos não utilizados e actualizações. A tarefa programada só pode ser executada se o usuário "{0}" estiver conectado ao sistema.
|
||||
SoftwareDistributionTaskNotificationEvent = O cache de atualização do Windows excluído com sucesso.
|
||||
TempTaskNotificationEvent = Os arquivos da pasta Temp limpos com sucesso.
|
||||
FolderTaskDescription = A limpeza da pasta "{0}". A tarefa programada só pode ser executada se o usuário "{1}" estiver conectado ao sistema.
|
||||
EventViewerCustomViewName = Criação de processo
|
||||
EventViewerCustomViewDescription = Criação de processos e eventos de auditoria de linha de comando.
|
||||
ThirdPartyAVInstalled = Um antivírus de terceiros está instalado.
|
||||
NoHomeWindowsEditionSupport = A edição Windows Home não suporta a função "{0}".
|
||||
GeoIdNotSupported = A função "{0}" é aplicável apenas à Rússia.
|
||||
EnableHardwareVT = Habilitar virtualização em UEFI.
|
||||
PhotosNotInstalled = O aplicativo Fotos não está instalado.
|
||||
ThirdPartyArchiverInstalled = Um arquivador de terceiros está instalado.
|
||||
gpeditNotSupported = A edição Windows Home não suporta o snap-in Editor de Política de Grupo Local (gpedit.msc).
|
||||
RestartWarning = Certifique-se de reiniciar o PC.
|
||||
ErrorsLine = Linha
|
||||
ErrorsMessage = Erros, avisos e notificações
|
||||
Disable = Desativar
|
||||
Enable = Habilitar
|
||||
Install = Instalar
|
||||
Uninstall = Desinstalar
|
||||
RestartFunction = Favor reiniciar a função "{0}".
|
||||
NoResponse = Uma conexão não pôde ser estabelecida com {0}.
|
||||
Run = Executar
|
||||
Skipped = A função "{0}" foi ignorada.
|
||||
ThankfulToastTitle = Obrigado por usar o Sophia Script for Windows ❤️
|
||||
DonateToastTitle = Você pode fazer sua doação abaixo 🕊
|
||||
DotSourcedWarning = Faça o "dot-source" da função (com um ponto no início):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = Импорт моделей из PowerShell 5.1 завершился ошибкой. Пожалуйста, закройте PowerShell 7 и запустите скрипт заново.
|
||||
UnsupportedArchitecture = Вы используете процессор с архитектурой "{0}". Скрипт поддерживает процессор с архитектурой x64. Скачайте и запустите версию скрипта для вашей архитектуры.
|
||||
UnsupportedOSBuild = Скрипт поддерживает Windows 11 24H2 и выше. Вы используете {0} {1}. Обновите Windows и повторите попытку.
|
||||
UnsupportedWindowsTerminal = Версия Windows Terminal ниже 1.23. Пожалуйста, обновите его в Microsoft Store и повторите попытку.
|
||||
UpdateWarning = Вы используете Windows 11 {0}.{1}. Поддерживаемые сборки: Windows 11 {0}.{2} и выше. Запустите обновление Windows и повторите попытку.
|
||||
UnsupportedLanguageMode = Сессия PowerShell работает в ограниченном режиме.
|
||||
LoggedInUserNotAdmin = Вошедший пользователь {0} не обладает правами администратора. Скрипт был запущен от имени {1}. Пожалуйста, войдите в профиль, обладающий правами администратора и запустите скрипт заново.
|
||||
UnsupportedPowerShell = Вы пытаетесь запустить скрипт в PowerShell {0}.{1}. Запустите скрипт в PowerShell {2}.
|
||||
CodeCompilationFailedWarning = Компиляция кода завершилась с ошибкой.
|
||||
UnsupportedHost = Скрипт не поддерживает работу через {0}.
|
||||
Win10TweakerWarning = Windows была заражена трояном через бэкдор в Win 10 Tweaker. Переустановите Windows, используя только подлинный ISO-образ.
|
||||
TweakerWarning = Стабильность Windows могла быть нарушена использованием {0}. Переустановите Windows, используя только подлинный ISO-образ.
|
||||
HostsWarning = В файле %SystemRoot%\\System32\\drivers\\etc\\hosts обнаружены сторонние записи. Они могут блокировать соединение с ресурсами, используемыми в работе скрипта. Хотите продолжить?
|
||||
RebootPending = Ваш компьютер ожидает перезагрузки.
|
||||
BitLockerInOperation = Работает BitLocker. Ваш диск C зашифрован на {0} %. Завершите настройку диска BitLocker и повторите попытку.
|
||||
BitLockerAutomaticEncryption = Диск C зашифрован, хотя BitLocker отключен. Хотите расшифровать диск?
|
||||
UnsupportedRelease = Обнаружена новая версия Sophia Script for Windows: {0}. Пожалуйста, скачайте последнюю версию.
|
||||
KeyboardArrows = Для выбора используйте на клавиатуре стрелки {0} и {1}
|
||||
CustomizationWarning = Вы настроили все функции в пресет-файле {0} перед запуском Sophia Script for Windows?
|
||||
WindowsComponentBroken = {0} сломан или удален из ОС. Переустановите Windows, используя только подлинный ISO-образ.
|
||||
MicroSoftStorePowerShellWarning = PowerShell, скачанный из Microsoft Store, не поддерживается. Пожалуйста, запустите MSI-версию.
|
||||
ControlledFolderAccessEnabledWarning = У вас включен контролируемый доступ. Пожалуйста, отключите его и повторите попытку.
|
||||
NoScheduledTasks = Нет запланированных задач, которые необходимо отключить.
|
||||
ScheduledTasks = Запланированные задания
|
||||
WidgetNotInstalled = Мини-приложения (виджеты) не установлены.
|
||||
SearchHighlightsDisabled = Основные результаты поиска в меню "Пуск" уже скрыты.
|
||||
CustomStartMenu = Установлено стороннее меню "Пуск".
|
||||
OneDriveNotInstalled = OneDrive уже удален.
|
||||
OneDriveAccountWarning = Перед удалением OneDrive выйдите из учетной записи Microsoft в OneDrive.
|
||||
OneDriveInstalled = OneDrive уже установлен.
|
||||
UninstallNotification = {0} удаляется...
|
||||
InstallNotification = {0} устанавливается...
|
||||
NoWindowsFeatures = Нет компонентов Windows, которые необходимо отключить.
|
||||
WindowsFeaturesTitle = Компоненты Windows
|
||||
NoOptionalFeatures = Нет дополнительных компонентов Windows, которые необходимо отключить.
|
||||
NoSupportedNetworkAdapters = Нет сетевых адаптеров, поддерживающих функцию "Разрешить компьютеру отключать это устройство для экономии энергии".
|
||||
LocationServicesDisabled = Командам сетевой оболочки требуется разрешение на доступ к сведениям беспроводной сети. Включите службы определения местоположения на странице "Расположение" в параметрах конфиденциальности и защиты.
|
||||
OptionalFeaturesTitle = Дополнительные компоненты
|
||||
UserShellFolderNotEmpty = В папке "{0}" остались файлы. Переместите их вручную в новое расположение.
|
||||
UserFolderLocationMove = Не следует перемещать пользовательские папки в корень диска C.
|
||||
DriveSelect = Выберите диск, в корне которого будет создана папка "{0}".
|
||||
CurrentUserFolderLocation = Текущее расположение папки "{0}": "{1}".
|
||||
FilesWontBeMoved = Файлы не будут перенесены.
|
||||
UserFolderMoveSkipped = Вы пропустили изменение расположения пользовательской папки "{0}".
|
||||
FolderSelect = Выберите папку
|
||||
UserFolderRequest = Хотите изменить расположение папки "{0}"?
|
||||
UserDefaultFolder = Хотите изменить расположение папки "{0}" на значение по умолчанию?
|
||||
ReservedStorageIsInUse = Используется зарезервированное хранилище.
|
||||
ProgramPathNotExists = Путь "{0}" не существует.
|
||||
ProgIdNotExists = ProgId "{0}" не существует.
|
||||
AllFilesFilter = Все файлы
|
||||
JSONNotValid = Файл JSON "{0}" невалиден.
|
||||
PackageNotInstalled = {0} не установлен.
|
||||
PackageIsInstalled = Последняя версия {0} уже установлена.
|
||||
CopilotPCSupport = Ваш ЦП не имеет встроенного NPU, поэтому он не поддерживает никакую функцию, связанную с ИИ Windows. Нет необходимости что-либо выключать с помощью политик. Функция Recall и приложение Copilot были удалены.
|
||||
UninstallUWPForAll = Для всех пользователей
|
||||
NoUWPApps = Нет UWP-приложений, которые необходимо удалить.
|
||||
UWPAppsTitle = UWP-приложения
|
||||
ScheduledTaskCreatedByAnotherUser = Задание "{0}" в Планировщике заданий уже было создано от имени "{1}".
|
||||
CleanupTaskNotificationTitle = Очистка Windows
|
||||
CleanupTaskNotificationEvent = Запустить задание по очистке неиспользуемых файлов и обновлений Windows?
|
||||
CleanupTaskDescription = Очистка неиспользуемых файлов и обновлений Windows, используя встроенную программу Очистка диска. Задание может быть запущено, только если пользователь "{0}" вошел в систему.
|
||||
CleanupNotificationTaskDescription = Всплывающее уведомление с напоминанием об очистке неиспользуемых файлов и обновлений Windows. Задание может быть запущено, только если пользователь "{0}" вошел в систему.
|
||||
SoftwareDistributionTaskNotificationEvent = Кэш обновлений Windows успешно удален.
|
||||
TempTaskNotificationEvent = Папка временных файлов успешно очищена.
|
||||
FolderTaskDescription = Очистка папки {0}. Задание может быть запущено, только если пользователь "{1}" вошел в систему.
|
||||
EventViewerCustomViewName = Создание процесса
|
||||
EventViewerCustomViewDescription = События создания нового процесса и аудит командной строки.
|
||||
ThirdPartyAVInstalled = Установлен сторонний антивирус.
|
||||
NoHomeWindowsEditionSupport = Редакция Windows Домашняя не поддерживает функцию "{0}".
|
||||
GeoIdNotSupported = Функция "{0}" применима только для России.
|
||||
EnableHardwareVT = Включите виртуализацию в UEFI.
|
||||
PhotosNotInstalled = Приложение "Фотографии" не установлено.
|
||||
ThirdPartyArchiverInstalled = Установлен сторонний архиватор.
|
||||
gpeditNotSupported = Редакция Windows Домашняя не поддерживает оснастку Редактора локальной групповой политики (gpedit.msc).
|
||||
RestartWarning = Обязательно перезагрузите ваш ПК.
|
||||
ErrorsLine = Строка
|
||||
ErrorsMessage = Ошибки, предупреждения и уведомления
|
||||
Disable = Отключить
|
||||
Enable = Включить
|
||||
Install = Установить
|
||||
Uninstall = Удалить
|
||||
RestartFunction = Пожалуйста, повторно запустите функцию "{0}".
|
||||
NoResponse = Невозможно установить соединение с {0}.
|
||||
Run = Запустить
|
||||
Skipped = Функция "{0}" пропущена.
|
||||
ThankfulToastTitle = Спасибо за использование Sophia Script for Windows ❤️
|
||||
DonateToastTitle = Вы можете пожертвовать ниже 🕊️
|
||||
DotSourcedWarning = Пожалуйста, запустите функцию через дот-сорсинг (с точкой в начале):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"Warning": "Предупреждение",
|
||||
"InitialActions": "Проверки",
|
||||
"Disable": "Выключить",
|
||||
"Enable": "Включить",
|
||||
"Minimal": "Минимальный",
|
||||
"Default": "По умолчанию",
|
||||
"Never": "Никогда",
|
||||
"Hide": "Скрывать",
|
||||
"Show": "Показывать",
|
||||
"ThisPC": "Этот Компьютер",
|
||||
"QuickAccess": "Быстрый доступ",
|
||||
"Detailed": "Развернутый вид",
|
||||
"Compact": "Свернутый вид",
|
||||
"Expanded": "Развернуть",
|
||||
"Minimized": "Свернуть",
|
||||
"SearchIcon": "Значок поиска",
|
||||
"SearchBox": "Поисковая строка",
|
||||
"LargeIcons": "Большие иконки",
|
||||
"SmallIcons": "Маленькие иконки",
|
||||
"Category": "Категория",
|
||||
"Dark": "Тёмный",
|
||||
"Light": "Светлый",
|
||||
"Max": "Максимальный",
|
||||
"Uninstall": "Удалить",
|
||||
"Install": "Установить",
|
||||
"Month": "Ежемесячно",
|
||||
"SystemDrive": "Системный диск",
|
||||
"High": "Высокая производительность",
|
||||
"Balanced": "Сбалансированная",
|
||||
"English": "Английский",
|
||||
"Root": "В корень",
|
||||
"Custom": "Настраиваемый",
|
||||
"Desktop": "Рабочий стол",
|
||||
"Automatically": "Автоматически",
|
||||
"Manually": "Вручную",
|
||||
"Elevated": "От имени Администратора",
|
||||
"NonElevated": "От имени пользователя",
|
||||
"Register": "Создать",
|
||||
"Delete": "Удалить",
|
||||
"Left": "Слева",
|
||||
"Center": "По центру",
|
||||
"WindowsTerminal": "Windows Терминал",
|
||||
"ConsoleHost": "Узел консоли Windows",
|
||||
"Channels": "Каналы",
|
||||
"None": "Отсутствует",
|
||||
"ShowMorePins": "Показать больше закреплений",
|
||||
"ShowMoreRecommendations": "Показать больше рекомендаций",
|
||||
"SearchIconLabel": "Знакчок и метка поиска",
|
||||
"Skip": "Пропустить"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,98 @@
|
||||
[
|
||||
{
|
||||
"Id": "Menu",
|
||||
"Options": {
|
||||
"menuImportExportPreset": "Импорт | экспорт",
|
||||
"menuImportPreset": "Импортировать пресет",
|
||||
"menuExportPreset": "Экспортировать пресет",
|
||||
"menuAutosave": "Автосохранение",
|
||||
"menuPresets": "Пресеты",
|
||||
"menuOpposite": "Противоположные значения",
|
||||
"menuOppositeTab": "Противоположное значение",
|
||||
"menuOppositeEverything": "Противоположные значения у всего",
|
||||
"menuClear": "Очистить",
|
||||
"menuClearTab": "Очистить вкладку",
|
||||
"menuClearEverything": "Очистить все",
|
||||
"menuTheme": "Тема",
|
||||
"menuThemeDark": "Тёмная",
|
||||
"menuThemeLight": "Светлая",
|
||||
"menuLanguage": "Язык",
|
||||
"menuAccessibility": "Доступность",
|
||||
"menuScaleUp": "Масштабирование",
|
||||
"menuScale": "Масштаб",
|
||||
"menuScaleDown": "Уменьшить масштаб",
|
||||
"menuAbout": "О программе",
|
||||
"menuDonate": "Пожертвовать"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "Tab",
|
||||
"Options": {
|
||||
"tabSearch": "Поиск",
|
||||
"tabInitialActions": "Первоочередные действия",
|
||||
"tabSystemProtection": "Защита",
|
||||
"tabPrivacyTelemetry": "Конфиденциальность",
|
||||
"tabUIPersonalization": "Персонализация",
|
||||
"tabOneDrive": "OneDrive",
|
||||
"tabSystem": "Система",
|
||||
"tabWSL": "WSL",
|
||||
"tabUWP": "UWP-приложения",
|
||||
"tabGaming": "Игры",
|
||||
"tabScheduledTasks": "Планировщик заданий",
|
||||
"tabDefenderSecurity": "Defender и защита",
|
||||
"tabContextMenu": "Контекстное меню",
|
||||
"tabUpdatePolicies": "Обновление политик",
|
||||
"tabConsoleOutput": "Вывод консоли"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "Button",
|
||||
"Options": {
|
||||
"btnRefreshConsole": "Обновить консоль",
|
||||
"btnRunPowerShell": "Запустить PowerShell",
|
||||
"btnOpen": "Обзор",
|
||||
"btnSave": "Сохранить",
|
||||
"btnSearch": "Поиск",
|
||||
"btnClear": "Очистить"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "StatusBar",
|
||||
"Options": {
|
||||
"statusBarHover": "Наведите курсором на функции, чтобы увидеть подсказки по каждой опции",
|
||||
"statusBarPresetLoaded": "Модуль загружен!",
|
||||
"statusBarSophiaPreset": "Загружен пресет Sophia!",
|
||||
"statusBarWindowsDefaultPreset": "Загружен пресет по умолчанию!",
|
||||
"statusBarPowerShellScriptCreatedFromSelections": "Скрипт для PowerShell создан из ваших выбранных элементов. Можете запустить и сохранить его.",
|
||||
"statusBarPowerShellExport": "Скрипт для PowerShell создан!",
|
||||
"statusBarOppositeTab": "Для этой вкладки выбраны противоположные значения!",
|
||||
"statusBarOppositeEverything": "Выбраны все противоположные значения!",
|
||||
"statusBarClearTab": "Отмеченные элементы для вкладки очищены!",
|
||||
"statusBarClearEverything": "Все отмеченные элементы очищены!",
|
||||
"statusBarMessageDownloadMessagePart1of3": "Скачайте",
|
||||
"statusBarMessageDownloadLinkPart2of3": "Sophia Script for Windows",
|
||||
"statusBarMessageDownloadMessagePart3of3": "и импортируйте пресет Sophia.ps1, чтобы включить элементы управления"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "MessageBox",
|
||||
"Options": {
|
||||
"messageBoxNewWrapperFound": "Обнаружена новая версия Wrapper.\nОткрыть страницу GitHub?",
|
||||
"messageBoxNewSophiaFound": "Обнаружена новая версия Sophia Script.\nОткрыть страницу GitHub?",
|
||||
"messageBoxPS1FileHasToBeInFolder": "Пресет-файлл Sophia.ps1 должен находиться в папке Sophia Script.",
|
||||
"messageBoxDoesNotExist": "не существует.",
|
||||
"messageBoxPresetNotComp": "Пресет несовместим!",
|
||||
"messageBoxFilesMissingClose": "Отсутствуют необходимые файлы Sophia Script Wrapper. Программа будет закрыта.",
|
||||
"messageBoxConsoleEmpty": "Консоль пуста.\nНажмите кнопку \"Обновить консоль\", чтобы создать скрипт согласно вышему выбору.",
|
||||
"messageBoxPowerShellVersionNotInstalled": "Выбранная вами версия PowerShell не установлена.",
|
||||
"messageBoxPresetDoesNotMatchOS": "Предварительно заданные параметры не соответствуют текущей версии ОС."
|
||||
}
|
||||
},
|
||||
{
|
||||
"Id": "Other",
|
||||
"Options": {
|
||||
"textBlockSearchInfo": "Введите запрос в строку поиска, чтобы увидеть найденные результаты. При совпадении категории будут подсвечены красной рамкой. Совпадения по именам функций будут также подсвечены внутри категорий.",
|
||||
"textBlockSearchFound": "Количество найденных вариантов:"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = PowerShell 5.1'den modül içe aktarma işlemi başarısız oldu. Lütfen PowerShell 7 konsolunu kapatın ve komut dosyasını yeniden çalıştırın.
|
||||
UnsupportedArchitecture = "{0}" tabanlı mimari CPU kullanıyorsunuz. Bu komut dosyası yalnızca x64 mimari tabanlı CPU'ları destekler. Mimariniz için komut dosyası sürümünü indirin ve çalıştırın.
|
||||
UnsupportedOSBuild = Komut dosyası Windows 11 24H2 ve üstünü destekler. {0} {1} kullanıyorsunuz. Windows'unuzu yükseltin ve tekrar deneyin.
|
||||
UnsupportedWindowsTerminal = Windows Terminal sürümü 1.23'den daha düşük. Lütfen Microsoft Store'da güncelleyin ve tekrar deneyin.
|
||||
UpdateWarning = Windows 11 {0}.{1} rendszert használ. A támogatott verzió Windows 11 {0}.{2} vagy újabb. Futtassa a Windows Update programot, majd próbálja meg újra.
|
||||
UnsupportedLanguageMode = Sınırlı bir dil modunda çalışan PowerShell oturumu.
|
||||
LoggedInUserNotAdmin = Oturum açan kullanıcı {0}'in yönetici hakları yoktur. Komut dosyası {1} adına çalıştırılmıştır. Yönetici haklarına sahip bir hesaba giriş yapın ve komut dosyasını tekrar çalıştırın.
|
||||
UnsupportedPowerShell = Komut dosyasını PowerShell {0}.{1} aracılığıyla çalıştırmaya çalışıyorsunuz. Lütfen betiği PowerShell {2} ile çalıştırın.
|
||||
CodeCompilationFailedWarning = Kod derleme başarısız oldu.
|
||||
UnsupportedHost = Komut dosyası, {0} üzerinden çalıştırmayı desteklemiyor.
|
||||
Win10TweakerWarning = Muhtemelen işletim sisteminize Win 10 Tweaker arka kapısı yoluyla bulaştı.
|
||||
TweakerWarning = Windows işletim sistemi kararlılığı, {0} betiği kullanılarak tehlikeye atılmış olabilir. Yalnızca orijinal bir ISO görüntüsü kullanarak Windows'u yeniden yükleyin.
|
||||
HostsWarning = %SystemRoot%\\System32\\drivers\\etc\\hosts dosyasında bulunan üçüncü taraf girdileri. Bunlar, komut dosyasında kullanılan kaynaklara bağlantıyı engelleyebilir. Devam etmek istiyor musunuz?
|
||||
RebootPending = Bilgisayarınız yeniden başlatılmayı bekliyor.
|
||||
BitLockerInOperation = BitLocker çalışıyor. C sürücünüz %{0} oranında şifrelenmiştir. BitLocker sürücü yapılandırmasını tamamlayın ve tekrar deneyin.
|
||||
BitLockerAutomaticEncryption = BitLocker kapalı olmasına rağmen C sürücüsü şifrelenmiştir. Sürücünüzün şifresini çözmek ister misiniz?
|
||||
UnsupportedRelease = Daha yeni bir Sophia Script for Windows sürümü bulundu: {0}. Lütfen en son sürümü indirin.
|
||||
KeyboardArrows = Lütfen cevabınızı seçmek için klavyenizdeki {0} ve {1} ok tuşlarını kullanın
|
||||
CustomizationWarning = Sophia Script for Windows'i çalıştırmadan önce {0} ön ayar dosyasındaki her işlevi özelleştirdiniz mi?
|
||||
WindowsComponentBroken = {0} bozuk veya işletim sisteminden kaldırıldı. Yalnızca orijinal bir ISO görüntüsü kullanarak Windows'u yeniden yükleyin.
|
||||
MicroSoftStorePowerShellWarning = Microsoft Store'dan indirilen PowerShell desteklenmez. Lütfen bir MSI sürümü çalıştırın.
|
||||
ControlledFolderAccessEnabledWarning = Kontrollü klasör erişimi etkinleştirilmiştir. Lütfen bunu devre dışı bırakın ve komut dosyasını tekrar çalıştırın.
|
||||
NoScheduledTasks = Devre dışı bırakılacak zamanlanmış görev yok.
|
||||
ScheduledTasks = Zamanlanan görevler
|
||||
WidgetNotInstalled = Widget yüklenmemiştir.
|
||||
SearchHighlightsDisabled = Arama öne çıkanları Başlat'ta zaten gizlidir.
|
||||
CustomStartMenu = Üçüncü taraf bir Başlat Menüsü yüklenmiştir.
|
||||
OneDriveNotInstalled = OneDrive zaten kaldırılmıştır.
|
||||
OneDriveAccountWarning = OneDrive'ı kaldırmadan önce, OneDrive'da Microsoft hesabınızdan çıkış yapın.
|
||||
OneDriveInstalled = OneDrive zaten yüklü.
|
||||
UninstallNotification = {0} kaldırılıyor...
|
||||
InstallNotification = {0} yükleniyor...
|
||||
NoWindowsFeatures = Devre dışı bırakılacak Windows özelliği yok.
|
||||
WindowsFeaturesTitle = Windows özellikleri
|
||||
NoOptionalFeatures = Devre dışı bırakılacak isteğe bağlı özellik yok.
|
||||
NoSupportedNetworkAdapters = "Bilgisayarın güç tasarrufu için bu aygıtı kapatmasına izin ver" işlevini destekleyen ağ bağdaştırıcısı yok.
|
||||
LocationServicesDisabled = Ağ kabuğu komutları, WLAN bilgilerine erişmek için konum iznine ihtiyaç duyar. Gizlilik ve güvenlik ayarlarının Konum sayfasında Konum hizmetlerini açın.
|
||||
OptionalFeaturesTitle = Opsiyonel özellikler
|
||||
UserShellFolderNotEmpty = "{0}" klasöründe bazı dosyalar kaldı. Kendiniz yeni konuma taşıyın.
|
||||
UserFolderLocationMove = Kullanıcı klasörü konumunu C sürücüsü kökü olarak değiştirmemelisiniz.
|
||||
DriveSelect = "{0}" klasörünün oluşturulacağı kök içindeki sürücüyü seçin.
|
||||
CurrentUserFolderLocation = Geçerli "{0}" klasör konumu: "{1}".
|
||||
FilesWontBeMoved = Dosyalar taşınmayacaktır.
|
||||
UserFolderMoveSkipped = Kullanıcının "{0}" klasörünün konumunu değiştirmeyi atladınız.
|
||||
FolderSelect = Bir klasör seçin
|
||||
UserFolderRequest = "{0}" klasörünün yerini değiştirmek ister misiniz?
|
||||
UserDefaultFolder = "{0}" klasörünün konumunu varsayılan değerle değiştirmek ister misiniz?
|
||||
ReservedStorageIsInUse = Rezerve edilmiş depolama alanı kullanılıyor.
|
||||
ProgramPathNotExists = "{0}" yolu mevcut değil.
|
||||
ProgIdNotExists = ProgId "{0}" mevcut değildir.
|
||||
AllFilesFilter = Tüm Dosyalar
|
||||
JSONNotValid = JSON dosyası "{0}" geçerli değil.
|
||||
PackageNotInstalled = {0} yüklü değildir.
|
||||
PackageIsInstalled = {0}'ın en son sürümü zaten yüklü.
|
||||
CopilotPCSupport = CPU'nuzda yerleşik NPU bulunmadığından, Windows AI işlevlerini desteklemez. GPO ilkeleriyle herhangi bir şeyi devre dışı bırakmanıza gerek yoktur, bu nedenle Recall işlevi ve Copilot uygulaması kaldırılacaktır.
|
||||
UninstallUWPForAll = Bütün kullanıcılar için
|
||||
NoUWPApps = Kaldırılacak UWP uygulaması yok.
|
||||
UWPAppsTitle = UWP Uygulamaları
|
||||
ScheduledTaskCreatedByAnotherUser = "{0}" adlı zamanlanmış görev, "{1}" kullanıcısı tarafından zaten oluşturulmuştur.
|
||||
CleanupTaskNotificationTitle = Windows temizleme
|
||||
CleanupTaskNotificationEvent = Windows kullanılmayan dosyaları ve güncellemeleri temizlemek için görev çalıştırılsın mı?
|
||||
CleanupTaskDescription = Kullanılmayan Windows dosyaları ve güncellemeleri yerleşik Disk Temizleme uygulaması ile temizleniyor. Zamanlanmış görev yalnızca "{0}" kullanıcısı sisteme giriş yaptığında çalıştırılabilir.
|
||||
CleanupNotificationTaskDescription = Windows kullanılmayan dosyaları ve güncellemeleri temizleme hakkında açılır bildirim hatırlatıcısı. Zamanlanmış görev yalnızca "{0}" kullanıcısı sisteme giriş yaptığında çalıştırılabilir.
|
||||
SoftwareDistributionTaskNotificationEvent = Windows güncelleme önbelleği başarıyla silindi.
|
||||
TempTaskNotificationEvent = Geçici dosyalar klasörü başarıyla temizlendi.
|
||||
FolderTaskDescription = "{0}" klasörü temizleniyor. Zamanlanmış görev yalnızca "{1}" kullanıcısı sisteme giriş yaptığında çalıştırılabilir.
|
||||
EventViewerCustomViewName = Süreç Oluşturma
|
||||
EventViewerCustomViewDescription = Süreç oluşturma ve komut satırı denetleme olayları.
|
||||
ThirdPartyAVInstalled = Üçüncü taraf bir antivirüs yüklüdür.
|
||||
NoHomeWindowsEditionSupport = Windows Home sürümü "{0}" işlevini desteklemiyor.
|
||||
GeoIdNotSupported = "{0}" işlevi yalnızca Rusya için geçerlidir.
|
||||
EnableHardwareVT = UEFI'dan sanallaştırmayı aktifleştirin.
|
||||
PhotosNotInstalled = Fotoğraflar uygulaması yüklü değil.
|
||||
ThirdPartyArchiverInstalled = Üçüncü taraf bir arşivleyici yüklenmiştir.
|
||||
gpeditNotSupported = Windows Home sürümü, Yerel Grup İlkesi Düzenleyicisi ek bileşenini (gpedit.msc) desteklemez.
|
||||
RestartWarning = Bilgisayarınızı yeniden başlatmayı unutmayın.
|
||||
ErrorsLine = Satır
|
||||
ErrorsMessage = Hatalar, uyarılar ve bildirimler
|
||||
Disable = Devre dışı bırak
|
||||
Enable = Aktif et
|
||||
Install = Yükle
|
||||
Uninstall = Kaldır
|
||||
RestartFunction = Lütfen "{0}" işlevini yeniden çalıştırın.
|
||||
NoResponse = {0} ile bağlantı kurulamadı.
|
||||
Run = Başlat
|
||||
Skipped = "{0}" işlevi atlandı.
|
||||
ThankfulToastTitle = Sophia Script for Windows kullandığınız için teşekkür ederiz ❤️
|
||||
DonateToastTitle = Aşağıdan bağış yapabilirsiniz 🕊️
|
||||
DotSourcedWarning = Lütfen işlevi "nokta-kaynaklı" (başında nokta olan) olarak yazın:\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = Імпорт моделей з PowerShell 5.1 завершився помилкою. Будь ласка, закрийте PowerShell 7 і запустіть скрипт знову.
|
||||
UnsupportedArchitecture = Ви використовуєте процесор з архітектурою "{0}". Скрипт підтримує процесори з архітектурою x64. Завантажте та запустіть версію скрипту для вашої архітектури.
|
||||
UnsupportedOSBuild = Скрипт підтримує тільки Windows 11 24H2 і вище. Ви використовуєте {0} {1}. Оновіть Windows і спробуйте ще раз.
|
||||
UnsupportedWindowsTerminal = Версія Windows Terminal нижча за 1.23. Будь ласка, оновіть його в Microsoft Store і спробуйте заново.
|
||||
UpdateWarning = Ви використовуєте Windows 11 {0}.{1}. Підтримувані збірки: Windows 11 {0}.{2} і вище. Запустіть оновлення Windows і спробуйте ще раз.
|
||||
UnsupportedLanguageMode = Сесія PowerShell працює в обмеженому режимі.
|
||||
LoggedInUserNotAdmin = Користувач {0}, що увійшов, не має прав адміністратора. Скрипт був запущений від імені {1}. Будь ласка, увійдіть в профіль, що має права адміністратора, і запустіть скрипт заново.
|
||||
UnsupportedPowerShell = Ви намагаєтеся запустити скрипт в PowerShell {0}.{1}. Запустіть скрипт в PowerShell {2}.
|
||||
CodeCompilationFailedWarning = Компіляція коду завершилася з помилкою.
|
||||
UnsupportedHost = Скрипт не підтримує роботу через {0}.
|
||||
Win10TweakerWarning = Windows була заражена трояном через бекдор у Win 10 Tweaker. Перевстановіть Windows, використовуючи тільки справжній ISO-образ.
|
||||
TweakerWarning = Стабільність вашої ОС могла бути порушена використанням {0}. Перевстановіть Windows, використовуючи тільки справжній ISO-образ.
|
||||
HostsWarning = У файлі %SystemRoot%\\System32\\drivers\\etc\\hosts виявлено сторонні записи. Вони можуть блокувати з'єднання з ресурсами, що використовуються в роботі скрипта. Хочете продовжити?
|
||||
RebootPending = Ваш комп'ютер очікує перезавантаження.
|
||||
BitLockerInOperation = BitLocker працює. Ваш диск C зашифровано на {0} %. Завершіть налаштування диска BitLocker і спробуйте ще раз.
|
||||
BitLockerAutomaticEncryption = Диск C зашифрований, хоча BitLocker вимкнено. Хочете розшифрувати диск?
|
||||
UnsupportedRelease = Виявлено нову версію Sophia Script for Windows: {0}. Будь ласка, завантажте останню версію.
|
||||
KeyboardArrows = Для вибору відповіді використовуйте на клавіатурі стрілки {0} і {1}
|
||||
CustomizationWarning = Ви налаштували всі функції в пресет-файлі {0} перед запуском Sophia Script for Windows?
|
||||
WindowsComponentBroken = {0} пошкоджено або видалено з ОС. Перевстановіть Windows, використовуючи тільки справжній ISO-образ.
|
||||
MicroSoftStorePowerShellWarning = PowerShell, завантажений з Microsoft Store, не підтримується. Будь ласка, запустіть MSI-версію.
|
||||
ControlledFolderAccessEnabledWarning = У вас увімкнено контрольований доступ. Будь ласка, вимкніть його та спробуйте ще раз.
|
||||
NoScheduledTasks = Немає запланованих завдань, які необхідно вимкнути.
|
||||
ScheduledTasks = Заплановані задачі
|
||||
WidgetNotInstalled = Міні-додатки (віджети) не встановлені.
|
||||
SearchHighlightsDisabled = Основні результати пошуку в меню "Пуск" вже приховані.
|
||||
CustomStartMenu = Встановлено стороннє меню "Пуск".
|
||||
OneDriveNotInstalled = OneDrive вже видалено.
|
||||
OneDriveAccountWarning = Перед видаленням OneDrive вийдіть з облікового запису Microsoft в OneDrive.
|
||||
OneDriveInstalled = OneDrive вже встановлено.
|
||||
UninstallNotification = {0} видаляється...
|
||||
InstallNotification = {0} встановлюється...
|
||||
NoWindowsFeatures = Немає компонентів Windows, які необхідно вимкнути.
|
||||
WindowsFeaturesTitle = Компоненти Windows
|
||||
NoOptionalFeatures = Немає компонентів Windows, які необхідно вимкнути.
|
||||
NoSupportedNetworkAdapters = Немає мережевих адаптерів, що підтримують функцію "Дозволити комп'ютеру відключати цей пристрій для економії енергії".
|
||||
LocationServicesDisabled = Командам мережевої оболонки потрібен дозвіл на доступ до відомостей бездротової мережі. Увімкніть служби визначення місцезнаходження на сторінці "Розташування" в параметрах конфіденційності та захисту.
|
||||
OptionalFeaturesTitle = Додаткові компоненти
|
||||
UserShellFolderNotEmpty = У папці "{0}" залишилися файли. Перемістіть їх вручну в нове розташування.
|
||||
UserFolderLocationMove = Не слід переміщати користувацькі папки в корінь диска C.
|
||||
DriveSelect = Виберіть диск, в корні якого буде створена папка для "{0}".
|
||||
CurrentUserFolderLocation = Поточне розташування папки "{0}": "{1}".
|
||||
FilesWontBeMoved = Файли не будуть перенесені.
|
||||
UserFolderMoveSkipped = Ви пропустили зміну розташування папки користувача "{0}".
|
||||
FolderSelect = Виберіть папку
|
||||
UserFolderRequest = Бажаєте змінити розташування папки "{0}"?
|
||||
UserDefaultFolder = Бажаєте змінити розташування папки "{0}" на значення за замовчуванням?
|
||||
ReservedStorageIsInUse = Використовується зарезервоване сховище.
|
||||
ProgramPathNotExists = Шлях "{0}" не існує.
|
||||
ProgIdNotExists = ProgId "{0}" не існує.
|
||||
AllFilesFilter = Всі файли
|
||||
JSONNotValid = Файл JSON "{0}" недійсний.
|
||||
PackageNotInstalled = {0} не встановлено.
|
||||
PackageIsInstalled = Остання версія {0} вже встановлена.
|
||||
CopilotPCSupport = Ваш ЦП не має вбудованого NPU, тому він не підтримує жодної функції, пов'язаної з ШІ Windows. Немає необхідності щось вимикати за допомогою політик, тому будуть видалені лише Recall і додаток Copilot.
|
||||
UninstallUWPForAll = Для всіх користувачів
|
||||
NoUWPApps = Немає UWP-додатків, які необхідно видалити.
|
||||
UWPAppsTitle = UWP-додатки
|
||||
ScheduledTaskCreatedByAnotherUser = Функцію "{0}" уже було створено від імені "{1}".
|
||||
CleanupTaskNotificationTitle = Очищення Windows
|
||||
CleanupTaskNotificationEvent = Запустити завдання з очищення невикористовуваних файлів і оновлень Windows?
|
||||
CleanupTaskDescription = Очищення невикористовуваних файлів і оновлень Windows, використовуючи вбудовану програму Очищення диска. Завдання може бути запущено, тільки якщо користувач "{0}" увійшов у систему.
|
||||
CleanupNotificationTaskDescription = Спливаюче повідомлення з нагадуванням про очищення невикористовуваних файлів і оновлень Windows. Завдання може бути запущено, тільки якщо користувач "{0}" увійшов у систему.
|
||||
SoftwareDistributionTaskNotificationEvent = Кеш оновлень Windows успішно видалено.
|
||||
TempTaskNotificationEvent = Папка тимчасових файлів успішно очищена.
|
||||
FolderTaskDescription = Очищення папки "{0}". Завдання може бути запущено, тільки якщо користувач "{1}" увійшов у систему.
|
||||
EventViewerCustomViewName = Створення процесу
|
||||
EventViewerCustomViewDescription = Події створення нового процесу і аудит командного рядка.
|
||||
ThirdPartyAVInstalled = Встановлено сторонній антивірус.
|
||||
NoHomeWindowsEditionSupport = Редакція Windows Домашня не підтримує функцію "{0}".
|
||||
GeoIdNotSupported = Функція "{0}" застосовується тільки для Росії.
|
||||
EnableHardwareVT = Увімкніть віртуалізацію в UEFI.
|
||||
PhotosNotInstalled = Додаток "Фотографії" не встановлено.
|
||||
ThirdPartyArchiverInstalled = Встановлено сторонній архіватор.
|
||||
gpeditNotSupported = Редакція Windows Домашня не підтримує оснащення Редактора локальної групової політики (gpedit.msc).
|
||||
RestartWarning = Обов'язково перезавантажте ваш ПК.
|
||||
ErrorsLine = Рядок
|
||||
ErrorsMessage = Помилки, попередження та повідомлення
|
||||
Disable = Вимкнути
|
||||
Enable = Увімкнути
|
||||
Install = Встановити
|
||||
Uninstall = Видалити
|
||||
RestartFunction = Будь ласка, повторно запустіть функцію "{0}".
|
||||
NoResponse = Не вдалося встановити зв’язок із {0}.
|
||||
Run = Запустити
|
||||
Skipped = Функцію "{0}" пропущено.
|
||||
ThankfulToastTitle = Дякуємо за використання Sophia Script for Windows ❤️
|
||||
DonateToastTitle = Ви можете зробити пожертву нижче 🕊️
|
||||
DotSourcedWarning = Будь ласка, запустіть функцію через дот-сорсинг (з крапкою на початку):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,91 @@
|
||||
ConvertFrom-StringData -StringData @'
|
||||
PowerShellImportFailed = 从 PowerShell 5.1 导入模块失败。请关闭 PowerShell 7 控制台并重新运行脚本。
|
||||
UnsupportedArchitecture = 您正在使用基于"{0}"架构的CPU。此脚本仅支持基于x64架构的CPU。请下载并运行适用于您架构的脚本版本。
|
||||
UnsupportedOSBuild = 腳本支援 Windows 11 24H2 及更高版本。您正在使用 {0} {1}。升级 Windows,然后再试一次。
|
||||
UnsupportedWindowsTerminal = Windows Terminal版本低於1.23。請在Microsoft商店更新後再試。
|
||||
UpdateWarning = 您当前使用的是 Windows 11 {0}.{1} 版本。支持的版本为 Windows 11 {0}.{2} 及更高版本。请运行 Windows 更新并重新尝试。
|
||||
UnsupportedLanguageMode = PowerShell会话在有限的语言模式下运行。
|
||||
LoggedInUserNotAdmin = 已登录用户{0}没有管理员权限。脚本是以{1}的名义运行的。请登录具有管理员权限的账户并重新运行脚本。
|
||||
UnsupportedPowerShell = 你想通过PowerShell {0}.{1}运行脚本。请在PowerShell {2}中运行脚本。
|
||||
CodeCompilationFailedWarning = 代码编译失败。
|
||||
UnsupportedHost = 该脚本不支持通过{0}运行。
|
||||
Win10TweakerWarning = 可能你的操作系统是通过Win 10 Tweaker后门感染的。
|
||||
TweakerWarning = Windows的稳定性可能已被{0}所破坏。僅使用正版 ISO 映像重新安裝 Windows。
|
||||
HostsWarning = 在 %SystemRoot%\\System32\\drivers\\etc\\hosts 文件中发现的第三方条目。它们可能会阻止连接脚本中使用的资源。是否继续?
|
||||
RebootPending = 您的电脑正在等待重启。
|
||||
BitLockerInOperation = BitLocker正在运行。您的C盘已加密{0}%。请完成BitLocker驱动器配置后重试。
|
||||
BitLockerAutomaticEncryption = C盘已加密,尽管BitLocker已关闭。是否要解密您的驱动器?
|
||||
UnsupportedRelease = 发现新版Sophia Script for Windows:{0}。请下载最新版本。
|
||||
KeyboardArrows = 请使用键盘上的方向键{0}和{1}选择您的答案
|
||||
CustomizationWarning = 在运行Sophia Script for Windows之前,您是否已自定义{0}预设文件中的每个函数?
|
||||
WindowsComponentBroken = {0} 损坏或从操作系统中删除。僅使用正版 ISO 映像重新安裝 Windows。
|
||||
MicroSoftStorePowerShellWarning = 不支持从 Microsoft Store 下载的 PowerShell。请运行 MSI 版本。
|
||||
ControlledFolderAccessEnabledWarning = 您已启用受控文件夹访问功能。请将其禁用后重新运行脚本。
|
||||
NoScheduledTasks = 没有计划任务需要禁用。
|
||||
ScheduledTasks = 计划任务
|
||||
WidgetNotInstalled = 小部件未安装。
|
||||
SearchHighlightsDisabled = 搜索亮点已在开始菜单中隐藏。
|
||||
CustomStartMenu = 已安装第三方开始菜单。
|
||||
OneDriveNotInstalled = 已安装第三方开始菜单。
|
||||
OneDriveAccountWarning = 在卸载 OneDrive 之前,请先在 OneDrive 中退出您的 Microsoft 帐户。
|
||||
OneDriveInstalled = OneDrive 已安装。
|
||||
UninstallNotification = 正在卸载{0}。。。。。。
|
||||
InstallNotification = {0}正在安装中。。。。。。
|
||||
NoWindowsFeatures = 没有可禁用的Windows功能。
|
||||
WindowsFeaturesTitle = Windows 功能
|
||||
NoOptionalFeatures = 没有可禁用的可选功能。
|
||||
NoSupportedNetworkAdapters = 没有支持"允许计算机为节省电力关闭此设备"功能的网卡适配器。
|
||||
LocationServicesDisabled = 网络外壳命令需要位置权限才能访问无线局域网信息。请在隐私与安全设置的“位置”页面开启位置服务。
|
||||
OptionalFeaturesTitle = 可选功能
|
||||
UserShellFolderNotEmpty = 一些文件留在了"{0}"文件夹。请手动将它们移到一个新位置。
|
||||
UserFolderLocationMove = 不应将用户文件夹位置更改为 C 盘根目录。
|
||||
DriveSelect = 选择将在其根目录中创建"{0}"文件夹的驱动器。
|
||||
CurrentUserFolderLocation = 当前"{0}"文件夹的位置:"{1}"。
|
||||
FilesWontBeMoved = 文件不会被移动。
|
||||
UserFolderMoveSkipped = 您跳过了更改用户"{0}"文件夹位置的步骤。
|
||||
FolderSelect = 选择一个文件夹
|
||||
UserFolderRequest = 是否要更改"{0}"文件夹位置?
|
||||
UserDefaultFolder = 您想将"{0}"文件夹的位置更改为默认值吗?
|
||||
ReservedStorageIsInUse = 已使用预留存储空间。
|
||||
ProgramPathNotExists = 路径"{0}"不存在。
|
||||
ProgIdNotExists = ProgId"{0}"不存在。
|
||||
AllFilesFilter = 所有文件
|
||||
JSONNotValid = JSON文件"{0}"无效。
|
||||
PackageNotInstalled = {0} 未安装。
|
||||
PackageIsInstalled = 最新版本的{0}已安装。
|
||||
CopilotPCSupport = 您的CPU未内置NPU,因此不支持任何Windows AI功能。无需通过GPO策略禁用任何功能,故Recall功能和Copilot应用程序将被移除。
|
||||
UninstallUWPForAll = 所有用户
|
||||
NoUWPApps = 没有可卸载的UWP应用。
|
||||
UWPAppsTitle = UWP应用
|
||||
ScheduledTaskCreatedByAnotherUser = 计划任务"{0}"已由用户"{1}"创建。
|
||||
CleanupTaskNotificationTitle = Windows清理
|
||||
CleanupTaskNotificationEvent = 运行任务以清理Windows未使用的文件和更新?
|
||||
CleanupTaskDescription = 使用内置磁盘清理工具清理未使用的Windows文件和更新。只有登入使用者"{0}"才能啟動任務。
|
||||
CleanupNotificationTaskDescription = 关于清理Windows未使用的文件和更新的弹出通知提醒。只有登入使用者"{0}"才能啟動任務。
|
||||
SoftwareDistributionTaskNotificationEvent = Windows更新缓存已成功删除。
|
||||
TempTaskNotificationEvent = 临时文件文件夹已成功清理。
|
||||
FolderTaskDescription = "{0}"文件夹清理。只有登入使用者"{1}"才能啟動任務。
|
||||
EventViewerCustomViewName = 进程创建
|
||||
EventViewerCustomViewDescription = 进程创建和命令行审核事件。
|
||||
ThirdPartyAVInstalled = 已安装第三方杀毒软件。
|
||||
NoHomeWindowsEditionSupport = Windows 家庭版不支持"{0}"功能。
|
||||
GeoIdNotSupported = 函数"{0}"仅适用于俄罗斯。
|
||||
EnableHardwareVT = UEFI中开启虚拟化。
|
||||
PhotosNotInstalled = 照片应用程序未安装。
|
||||
ThirdPartyArchiverInstalled = 已安装第三方归档工具。
|
||||
gpeditNotSupported = Windows 家庭版不支持本地组策略编辑器管理单元 (gpedit.msc)。
|
||||
RestartWarning = 请务必重新启动您的电脑。
|
||||
ErrorsLine = 行
|
||||
ErrorsMessage = 错误、警告和通知
|
||||
Disable = 禁用
|
||||
Enable = 启用
|
||||
Install = 安装
|
||||
Uninstall = 卸载
|
||||
RestartFunction = 请重新运行"{0}"函数。
|
||||
NoResponse = 无法建立{0}。
|
||||
Run = 运行
|
||||
Skipped = 跳过函数"{0}"。
|
||||
ThankfulToastTitle = 感謝您使用Sophia Script for Windows ❤️
|
||||
DonateToastTitle = 您可以在下方进行捐赠 🕊️
|
||||
DotSourcedWarning = 請"點源"功能(開頭有點):\n. .\\Import-TabCompletion.ps1
|
||||
'@
|
||||
@@ -0,0 +1,20 @@
|
||||
@{
|
||||
RootModule = '..\Module\Sophia.psm1'
|
||||
ModuleVersion = '7.1.4'
|
||||
GUID = '109cc881-c42b-45af-a74a-550781989d6a'
|
||||
Author = 'Team Sophia'
|
||||
Copyright = '(c) 2014—2026 Team Sophia. All rights reserved'
|
||||
Description = 'Module for Windows fine-tuning and automating the routine tasks'
|
||||
PowerShellVersion = '7.5'
|
||||
ProcessorArchitecture = 'AMD64'
|
||||
FunctionsToExport = '*'
|
||||
|
||||
PrivateData = @{
|
||||
PSData = @{
|
||||
LicenseUri = 'https://github.com/farag2/Sophia-Script-for-Windows/blob/master/LICENSE'
|
||||
ProjectUri = 'https://github.com/farag2/Sophia-Script-for-Windows'
|
||||
IconUri = 'https://raw.githubusercontent.com/farag2/Sophia-Script-for-Windows/master/img/Sophia.png'
|
||||
ReleaseNotes = 'https://github.com/farag2/Sophia-Script-for-Windows/blob/master/CHANGELOG.md'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,226 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Calculate hash for Set-Association function
|
||||
|
||||
.VERSION
|
||||
7.1.4
|
||||
|
||||
.DATE
|
||||
24.02.2026
|
||||
|
||||
.COPYRIGHT
|
||||
(c) 2014—2026 Team Sophia
|
||||
|
||||
.LINK
|
||||
https://github.com/farag2/Sophia-Script-for-Windows
|
||||
#>
|
||||
function Get-Hash
|
||||
{
|
||||
[CmdletBinding()]
|
||||
[OutputType([string])]
|
||||
Param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 0
|
||||
)]
|
||||
[string]
|
||||
$ProgId,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 1
|
||||
)]
|
||||
[string]
|
||||
$Extension,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 2
|
||||
)]
|
||||
[string]
|
||||
$SubKey
|
||||
)
|
||||
|
||||
$Signature = @{
|
||||
Namespace = "WinAPI"
|
||||
Name = "PatentHash"
|
||||
Language = "CSharp"
|
||||
CompilerParameters = $CompilerParameters
|
||||
MemberDefinition = @"
|
||||
public static uint[] WordSwap(byte[] a, int sz, byte[] md5)
|
||||
{
|
||||
if (sz < 2 || (sz & 1) == 1)
|
||||
{
|
||||
throw new ArgumentException(String.Format("Invalid input size: {0}", sz), "sz");
|
||||
}
|
||||
|
||||
unchecked
|
||||
{
|
||||
uint o1 = 0;
|
||||
uint o2 = 0;
|
||||
int ta = 0;
|
||||
int ts = sz;
|
||||
int ti = ((sz - 2) >> 1) + 1;
|
||||
|
||||
uint c0 = (BitConverter.ToUInt32(md5, 0) | 1) + 0x69FB0000;
|
||||
uint c1 = (BitConverter.ToUInt32(md5, 4) | 1) + 0x13DB0000;
|
||||
|
||||
for (uint i = (uint)ti; i > 0; i--)
|
||||
{
|
||||
uint n = BitConverter.ToUInt32(a, ta) + o1;
|
||||
ta += 8;
|
||||
ts -= 2;
|
||||
|
||||
uint v1 = 0x79F8A395 * (n * c0 - 0x10FA9605 * (n >> 16)) + 0x689B6B9F * ((n * c0 - 0x10FA9605 * (n >> 16)) >> 16);
|
||||
uint v2 = 0xEA970001 * v1 - 0x3C101569 * (v1 >> 16);
|
||||
uint v3 = BitConverter.ToUInt32(a, ta - 4) + v2;
|
||||
uint v4 = v3 * c1 - 0x3CE8EC25 * (v3 >> 16);
|
||||
uint v5 = 0x59C3AF2D * v4 - 0x2232E0F1 * (v4 >> 16);
|
||||
|
||||
o1 = 0x1EC90001 * v5 + 0x35BD1EC9 * (v5 >> 16);
|
||||
o2 += o1 + v2;
|
||||
}
|
||||
|
||||
if (ts == 1)
|
||||
{
|
||||
uint n = BitConverter.ToUInt32(a, ta) + o1;
|
||||
|
||||
uint v1 = n * c0 - 0x10FA9605 * (n >> 16);
|
||||
uint v2 = 0xEA970001 * (0x79F8A395 * v1 + 0x689B6B9F * (v1 >> 16)) - 0x3C101569 * ((0x79F8A395 * v1 + 0x689B6B9F * (v1 >> 16)) >> 16);
|
||||
uint v3 = v2 * c1 - 0x3CE8EC25 * (v2 >> 16);
|
||||
|
||||
o1 = 0x1EC90001 * (0x59C3AF2D * v3 - 0x2232E0F1 * (v3 >> 16)) + 0x35BD1EC9 * ((0x59C3AF2D * v3 - 0x2232E0F1 * (v3 >> 16)) >> 16);
|
||||
o2 += o1 + v2;
|
||||
}
|
||||
|
||||
uint[] ret = new uint[2];
|
||||
ret[0] = o1;
|
||||
ret[1] = o2;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public static uint[] Reversible(byte[] a, int sz, byte[] md5)
|
||||
{
|
||||
if (sz < 2 || (sz & 1) == 1)
|
||||
{
|
||||
throw new ArgumentException(String.Format("Invalid input size: {0}", sz), "sz");
|
||||
}
|
||||
|
||||
unchecked
|
||||
{
|
||||
uint o1 = 0;
|
||||
uint o2 = 0;
|
||||
int ta = 0;
|
||||
int ts = sz;
|
||||
int ti = ((sz - 2) >> 1) + 1;
|
||||
|
||||
uint c0 = BitConverter.ToUInt32(md5, 0) | 1;
|
||||
uint c1 = BitConverter.ToUInt32(md5, 4) | 1;
|
||||
|
||||
for (uint i = (uint)ti; i > 0; i--)
|
||||
{
|
||||
uint n = (BitConverter.ToUInt32(a, ta) + o1) * c0;
|
||||
n = 0xB1110000 * n - 0x30674EEF * (n >> 16);
|
||||
ta += 8;
|
||||
ts -= 2;
|
||||
|
||||
uint v1 = 0x5B9F0000 * n - 0x78F7A461 * (n >> 16);
|
||||
uint v2 = 0x1D830000 * (0x12CEB96D * (v1 >> 16) - 0x46930000 * v1) + 0x257E1D83 * ((0x12CEB96D * (v1 >> 16) - 0x46930000 * v1) >> 16);
|
||||
uint v3 = BitConverter.ToUInt32(a, ta - 4) + v2;
|
||||
|
||||
uint v4 = 0x16F50000 * c1 * v3 - 0x5D8BE90B * (c1 * v3 >> 16);
|
||||
uint v5 = 0x2B890000 * (0x96FF0000 * v4 - 0x2C7C6901 * (v4 >> 16)) + 0x7C932B89 * ((0x96FF0000 * v4 - 0x2C7C6901 * (v4 >> 16)) >> 16);
|
||||
|
||||
o1 = 0x9F690000 * v5 - 0x405B6097 * (v5 >> 16);
|
||||
o2 += o1 + v2;
|
||||
}
|
||||
|
||||
if (ts == 1)
|
||||
{
|
||||
uint n = BitConverter.ToUInt32(a, ta) + o1;
|
||||
|
||||
uint v1 = 0xB1110000 * c0 * n - 0x30674EEF * ((c0 * n) >> 16);
|
||||
uint v2 = 0x5B9F0000 * v1 - 0x78F7A461 * (v1 >> 16);
|
||||
uint v3 = 0x1D830000 * (0x12CEB96D * (v2 >> 16) - 0x46930000 * v2) + 0x257E1D83 * ((0x12CEB96D * (v2 >> 16) - 0x46930000 * v2) >> 16);
|
||||
uint v4 = 0x16F50000 * c1 * v3 - 0x5D8BE90B * ((c1 * v3) >> 16);
|
||||
uint v5 = 0x96FF0000 * v4 - 0x2C7C6901 * (v4 >> 16);
|
||||
o1 = 0x9F690000 * (0x2B890000 * v5 + 0x7C932B89 * (v5 >> 16)) - 0x405B6097 * ((0x2B890000 * v5 + 0x7C932B89 * (v5 >> 16)) >> 16);
|
||||
o2 += o1 + v2;
|
||||
}
|
||||
|
||||
uint[] ret = new uint[2];
|
||||
ret[0] = o1;
|
||||
ret[1] = o2;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public static long MakeLong(uint left, uint right)
|
||||
{
|
||||
return (long)left << 32 | (long)right;
|
||||
}
|
||||
"@
|
||||
}
|
||||
|
||||
if (-not ("WinAPI.PatentHash" -as [type]))
|
||||
{
|
||||
Add-Type @Signature
|
||||
}
|
||||
|
||||
function Get-KeyLastWriteTime ($SubKey)
|
||||
{
|
||||
$LastModified = [WinAPI.Action]::GetLastModified([Microsoft.Win32.RegistryHive]::CurrentUser,$SubKey)
|
||||
$FileTime = ([DateTime]::New($LastModified.Year, $LastModified.Month, $LastModified.Day, $LastModified.Hour, $LastModified.Minute, 0, $LastModified.Kind)).ToFileTime()
|
||||
|
||||
return [string]::Format("{0:x8}{1:x8}", $FileTime -shr 32, $FileTime -band [uint32]::MaxValue)
|
||||
}
|
||||
|
||||
function Get-DataArray
|
||||
{
|
||||
[OutputType([array])]
|
||||
|
||||
# Secret static string stored in %SystemRoot%\SysWOW64\%SystemRoot%\System32\shell32.dll
|
||||
$userExperience = "User Choice set via Windows User Experience {D18B6DD5-6124-4341-9318-804003BAFA0B}"
|
||||
# Get user SID
|
||||
$userSID = (Get-CimInstance -ClassName Win32_UserAccount | Where-Object -FilterScript {$_.Name -eq $env:USERNAME}).SID
|
||||
$KeyLastWriteTime = Get-KeyLastWriteTime -SubKey $SubKey
|
||||
$baseInfo = ("{0}{1}{2}{3}{4}" -f $Extension, $userSID, $ProgId, $KeyLastWriteTime, $userExperience).ToLowerInvariant()
|
||||
$StringToUTF16LEArray = [System.Collections.ArrayList]@([System.Text.Encoding]::Unicode.GetBytes($baseInfo))
|
||||
$StringToUTF16LEArray += (0,0)
|
||||
|
||||
return $StringToUTF16LEArray
|
||||
}
|
||||
|
||||
function Get-PatentHash
|
||||
{
|
||||
[OutputType([string])]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[byte[]]
|
||||
$Array,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[byte[]]
|
||||
$MD5
|
||||
)
|
||||
|
||||
$Size = $Array.Count
|
||||
$ShiftedSize = ($Size -shr 2) - ($Size -shr 2 -band 1) * 1
|
||||
|
||||
[uint32[]]$Array1 = [WinAPI.PatentHash]::WordSwap($Array, [int]$ShiftedSize, $MD5)
|
||||
[uint32[]]$Array2 = [WinAPI.PatentHash]::Reversible($Array, [int]$ShiftedSize, $MD5)
|
||||
|
||||
$Ret = [WinAPI.PatentHash]::MakeLong($Array1[1] -bxor $Array2[1], $Array1[0] -bxor $Array2[0])
|
||||
|
||||
return [System.Convert]::ToBase64String([System.BitConverter]::GetBytes([Int64]$Ret))
|
||||
}
|
||||
|
||||
$DataArray = Get-DataArray
|
||||
$DataMD5 = [System.Security.Cryptography.HashAlgorithm]::Create("MD5").ComputeHash($DataArray)
|
||||
$Hash = Get-PatentHash -Array $DataArray -MD5 $DataMD5
|
||||
|
||||
return $Hash
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,204 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Post actions
|
||||
|
||||
.VERSION
|
||||
7.1.4
|
||||
|
||||
.DATE
|
||||
24.02.2026
|
||||
|
||||
.COPYRIGHT
|
||||
(c) 2014—2026 Team Sophia
|
||||
|
||||
.LINK
|
||||
https://github.com/farag2/Sophia-Script-for-Windows
|
||||
#>
|
||||
function PostActions
|
||||
{
|
||||
#region Refresh Environment
|
||||
$Signature = @{
|
||||
Namespace = "WinAPI"
|
||||
Name = "UpdateEnvironment"
|
||||
Language = "CSharp"
|
||||
CompilerOptions = $CompilerOptions
|
||||
MemberDefinition = @"
|
||||
private static readonly IntPtr HWND_BROADCAST = new IntPtr(0xffff);
|
||||
private const int WM_SETTINGCHANGE = 0x1a;
|
||||
private const int SMTO_ABORTIFHUNG = 0x0002;
|
||||
|
||||
[DllImport("shell32.dll", CharSet = CharSet.Auto, SetLastError = false)]
|
||||
private static extern int SHChangeNotify(int eventId, int flags, IntPtr item1, IntPtr item2);
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
|
||||
private static extern IntPtr SendMessageTimeout(IntPtr hWnd, int Msg, IntPtr wParam, string lParam, int fuFlags, int uTimeout, IntPtr lpdwResult);
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
|
||||
static extern bool SendNotifyMessage(IntPtr hWnd, uint Msg, IntPtr wParam, string lParam);
|
||||
|
||||
public static void Refresh()
|
||||
{
|
||||
// Update desktop icons
|
||||
SHChangeNotify(0x8000000, 0x1000, IntPtr.Zero, IntPtr.Zero);
|
||||
|
||||
// Update environment variables
|
||||
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, IntPtr.Zero, null, SMTO_ABORTIFHUNG, 100, IntPtr.Zero);
|
||||
|
||||
// Update taskbar
|
||||
SendNotifyMessage(HWND_BROADCAST, WM_SETTINGCHANGE, IntPtr.Zero, "TraySettings");
|
||||
}
|
||||
|
||||
private static readonly IntPtr hWnd = new IntPtr(65535);
|
||||
private const int Msg = 273;
|
||||
// Virtual key ID of the F5 in File Explorer
|
||||
private static readonly UIntPtr UIntPtr = new UIntPtr(41504);
|
||||
|
||||
[DllImport("user32.dll", SetLastError=true)]
|
||||
public static extern int PostMessageW(IntPtr hWnd, uint Msg, UIntPtr wParam, IntPtr lParam);
|
||||
|
||||
public static void PostMessage()
|
||||
{
|
||||
// Simulate pressing F5 to refresh the desktop
|
||||
PostMessageW(hWnd, Msg, UIntPtr, IntPtr.Zero);
|
||||
}
|
||||
"@
|
||||
}
|
||||
if (-not ("WinAPI.UpdateEnvironment" -as [type]))
|
||||
{
|
||||
Add-Type @Signature
|
||||
}
|
||||
|
||||
# Simulate pressing F5 to refresh the desktop
|
||||
[WinAPI.UpdateEnvironment]::PostMessage()
|
||||
|
||||
# Refresh desktop icons, environment variables, taskbar
|
||||
[WinAPI.UpdateEnvironment]::Refresh()
|
||||
|
||||
# Restart Start menu
|
||||
Stop-Process -Name StartMenuExperienceHost -Force -ErrorAction Ignore
|
||||
#endregion Refresh Environment
|
||||
|
||||
#region Other actions
|
||||
# Kill all explorer instances in case "launch folder windows in a separate process" enabled
|
||||
Get-Process -Name explorer | Stop-Process -Force
|
||||
Start-Sleep -Seconds 3
|
||||
|
||||
# Restoring closed folders
|
||||
if (Get-Variable -Name OpenedFolder -ErrorAction Ignore)
|
||||
{
|
||||
foreach ($Global:OpenedFolder in $Global:OpenedFolders)
|
||||
{
|
||||
if (Test-Path -Path $Global:OpenedFolder)
|
||||
{
|
||||
Start-Process -FilePath "$env:SystemRoot\explorer.exe" -ArgumentList $Global:OpenedFolder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Checking whether any of scheduled tasks were created. Unless open Task Scheduler
|
||||
if ($Global:ScheduledTasks)
|
||||
{
|
||||
# Find and close taskschd.msc by its argument
|
||||
$taskschd_Process_ID = (Get-CimInstance -ClassName CIM_Process | Where-Object -FilterScript {$_.Name -eq "mmc.exe"} | Where-Object -FilterScript {
|
||||
$_.CommandLine -match "taskschd.msc"
|
||||
}).Handle
|
||||
# We have to check before executing due to "Set-StrictMode -Version Latest"
|
||||
if ($taskschd_Process_ID)
|
||||
{
|
||||
Get-Process -Id $taskschd_Process_ID | Stop-Process -Force
|
||||
}
|
||||
|
||||
# Open Task Scheduler
|
||||
Start-Process -FilePath taskschd.msc
|
||||
|
||||
$Global:ScheduledTasks = $false
|
||||
}
|
||||
|
||||
# Apply policies found in registry to re-build database database because gpedit.msc relies in its own database
|
||||
if (Test-Path -Path "$env:TEMP\LGPO.txt")
|
||||
{
|
||||
& "$PSScriptRoot\..\..\Binaries\LGPO.exe" /t "$env:TEMP\LGPO.txt"
|
||||
& "$env:SystemRoot\System32\gpupdate.exe" /force
|
||||
}
|
||||
|
||||
# PowerShell 5.1 (7.5 too) interprets 8.3 file name literally, if an environment variable contains a non-Latin word
|
||||
# https://github.com/PowerShell/PowerShell/issues/21070
|
||||
Get-ChildItem -Path "$env:TEMP\LGPO.txt" -Force -ErrorAction Ignore | Remove-Item -Force -ErrorAction Ignore
|
||||
#endregion Other actions
|
||||
|
||||
#region Toast notifications
|
||||
# Enable notifications
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications -Name ToastEnabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Windows.ActionCenter.SmartOptOut -Name Enable -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\Sophia -Name ShowBanner, ShowInActionCenter, Enabled -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\SystemSettings\AccountNotifications -Name EnableAccountNotifications -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\Explorer, HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Force -ErrorAction Ignore
|
||||
Remove-ItemProperty -Path HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\PushNotifications -Name NoToastApplicationNotification -Force -ErrorAction Ignore
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
if (-not (Test-Path -Path Registry::HKEY_CLASSES_ROOT\AppUserModelId\Sophia))
|
||||
{
|
||||
New-Item -Path Registry::HKEY_CLASSES_ROOT\AppUserModelId\Sophia -Force
|
||||
}
|
||||
# Register app
|
||||
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AppUserModelId\Sophia -Name DisplayName -Value Sophia -PropertyType String -Force
|
||||
# Determines whether the app can be seen in Settings where the user can turn notifications on or off
|
||||
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AppUserModelId\Sophia -Name ShowInSettings -Value 0 -PropertyType DWord -Force
|
||||
|
||||
# Call toast notification
|
||||
Add-Type -AssemblyName "$PSScriptRoot\..\..\Binaries\WinRT.Runtime.dll"
|
||||
Add-Type -AssemblyName "$PSScriptRoot\..\..\Binaries\Microsoft.Windows.SDK.NET.dll"
|
||||
|
||||
[xml]$ToastTemplate = @"
|
||||
<toast duration="Long" scenario="reminder">
|
||||
<visual>
|
||||
<binding template="ToastGeneric">
|
||||
<text>$($Localization.ThankfulToastTitle)</text>
|
||||
<text>$($Localization.DonateToastTitle)</text>
|
||||
</binding>
|
||||
</visual>
|
||||
<audio src="ms-winsoundevent:notification.default" />
|
||||
<actions>
|
||||
<action content="Ko-fi" arguments="https://ko-fi.com/farag" activationType="protocol"/>
|
||||
<action content="Boosty" arguments="https://boosty.to/teamsophia" activationType="protocol"/>
|
||||
</actions>
|
||||
</toast>
|
||||
"@
|
||||
|
||||
$ToastXml = [Windows.Data.Xml.Dom.XmlDocument]::New()
|
||||
$ToastXml.LoadXml($ToastTemplate.OuterXml)
|
||||
|
||||
$ToastMessage = [Windows.UI.Notifications.ToastNotification]::New($ToastXML)
|
||||
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("Sophia").Show($ToastMessage)
|
||||
#endregion Toast notifications
|
||||
|
||||
Write-Verbose -Message "https://t.me/sophia_chat" -Verbose
|
||||
Write-Verbose -Message "https://t.me/sophianews" -Verbose
|
||||
Write-Verbose -Message "https://discord.gg/sSryhaEv79" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Verbose -Message "https://ko-fi.com/farag" -Verbose
|
||||
Write-Verbose -Message "https://boosty.to/teamsophia" -Verbose
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
if ($Global:Error)
|
||||
{
|
||||
($Global:Error | ForEach-Object -Process {
|
||||
# Some errors may have the Windows nature and don't have a path to any of the module's files
|
||||
$ErrorInFile = if ($_.InvocationInfo.PSCommandPath)
|
||||
{
|
||||
Split-Path -Path $_.InvocationInfo.PSCommandPath -Leaf
|
||||
}
|
||||
|
||||
[PSCustomObject]@{
|
||||
$Localization.ErrorsLine = $_.InvocationInfo.ScriptLineNumber
|
||||
# Extract the localized "File" string from %SystemRoot%\System32\shell32.dll
|
||||
"$([WinAPI.GetStrings]::GetString(4130))" = $ErrorInFile
|
||||
$Localization.ErrorsMessage = $_.Exception.Message
|
||||
}
|
||||
} | Sort-Object -Property $Localization.ErrorsLine | Format-Table -AutoSize -Wrap | Out-String).Trim()
|
||||
}
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
Write-Warning -Message $Localization.RestartWarning
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Redirect user folders to a new location
|
||||
|
||||
.EXAMPLE
|
||||
Set-KnownFolderPath -KnownFolder Desktop -Path "$env:SystemDrive:\Desktop"
|
||||
#>
|
||||
function Global:Set-KnownFolderPath
|
||||
{
|
||||
[CmdletBinding()]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[ValidateSet("Desktop", "Documents", "Downloads", "Music", "Pictures", "Videos")]
|
||||
[string]
|
||||
$KnownFolder,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]
|
||||
$Path
|
||||
)
|
||||
|
||||
$KnownFolders = @{
|
||||
"Desktop" = @("B4BFCC3A-DB2C-424C-B029-7FE99A87C641")
|
||||
"Documents" = @("FDD39AD0-238F-46AF-ADB4-6C85480369C7", "f42ee2d3-909f-4907-8871-4c22fc0bf756")
|
||||
"Downloads" = @("374DE290-123F-4565-9164-39C4925E467B", "7d83ee9b-2244-4e70-b1f5-5404642af1e4")
|
||||
"Music" = @("4BD8D571-6D19-48D3-BE97-422220080E43", "a0c69a99-21c8-4671-8703-7934162fcf1d")
|
||||
"Pictures" = @("33E28130-4E1E-4676-835A-98395C3BC3BB", "0ddd015d-b06c-45d5-8c4c-f59713854639")
|
||||
"Videos" = @("18989B1D-99B5-455B-841C-AB7C74E4DDFC", "35286a68-3c57-41a1-bbb1-0eae73d76c95")
|
||||
}
|
||||
|
||||
$Signature = @{
|
||||
Namespace = "WinAPI"
|
||||
Name = "KnownFolders"
|
||||
Language = "CSharp"
|
||||
CompilerParameters = $CompilerParameters
|
||||
MemberDefinition = @"
|
||||
[DllImport("shell32.dll")]
|
||||
public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, IntPtr token, [MarshalAs(UnmanagedType.LPWStr)] string path);
|
||||
"@
|
||||
}
|
||||
if (-not ("WinAPI.KnownFolders" -as [type]))
|
||||
{
|
||||
Add-Type @Signature
|
||||
}
|
||||
|
||||
foreach ($GUID in $KnownFolders[$KnownFolder])
|
||||
{
|
||||
[WinAPI.KnownFolders]::SHSetKnownFolderPath([ref]$GUID, 0, 0, $Path)
|
||||
}
|
||||
(Get-Item -Path $Path -Force).Attributes = "ReadOnly"
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Create pre-configured text files for LGPO.exe tool
|
||||
|
||||
.EXAMPLE Set AllowTelemetry to 0 for all users in gpedit.msc snap-in
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name AllowTelemetry -Type DWORD -Value 0
|
||||
|
||||
.EXAMPLE Set DisableSearchBoxSuggestions to 0 for current user in gpedit.msc snap-in
|
||||
Set-Policy -Scope User -Path Software\Policies\Microsoft\Windows\Explorer -Name DisableSearchBoxSuggestions -Type DWORD -Value 1
|
||||
|
||||
.EXAMPLE Set DisableNotificationCenter value to "Not configured" in gpedit.msc snap-in
|
||||
Set-Policy -Scope Computer -Path SOFTWARE\Policies\Microsoft\Windows\Explorer -Name DisableNotificationCenter -Type CLEAR
|
||||
|
||||
.NOTES
|
||||
https://techcommunity.microsoft.com/t5/microsoft-security-baselines/lgpo-exe-local-group-policy-object-utility-v1-0/ba-p/701045
|
||||
|
||||
.VERSION
|
||||
7.1.4
|
||||
|
||||
.DATE
|
||||
24.02.2026
|
||||
|
||||
.COPYRIGHT
|
||||
(c) 2014—2026 Team Sophia
|
||||
|
||||
.LINK
|
||||
https://github.com/farag2/Sophia-Script-for-Windows
|
||||
#>
|
||||
function Global:Set-Policy
|
||||
{
|
||||
[CmdletBinding()]
|
||||
param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 1
|
||||
)]
|
||||
[string]
|
||||
[ValidateSet("Computer", "User")]
|
||||
$Scope,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 2
|
||||
)]
|
||||
[string]
|
||||
$Path,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 3
|
||||
)]
|
||||
[string]
|
||||
$Name,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 4
|
||||
)]
|
||||
[ValidateSet("DWORD", "SZ", "EXSZ", "CLEAR")]
|
||||
[string]
|
||||
$Type,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $false,
|
||||
Position = 5
|
||||
)]
|
||||
$Value
|
||||
)
|
||||
|
||||
if (-not (Test-Path -Path "$env:SystemRoot\System32\gpedit.msc"))
|
||||
{
|
||||
return
|
||||
}
|
||||
|
||||
switch ($Type)
|
||||
{
|
||||
"CLEAR"
|
||||
{
|
||||
$Policy = @"
|
||||
$Scope
|
||||
$($Path)
|
||||
$($Name)
|
||||
$($Type)`n
|
||||
"@
|
||||
}
|
||||
default
|
||||
{
|
||||
$Policy = @"
|
||||
$Scope
|
||||
$($Path)
|
||||
$($Name)
|
||||
$($Type):$($Value)`n
|
||||
"@
|
||||
}
|
||||
}
|
||||
|
||||
# Save in UTF8 without BOM
|
||||
Add-Content -Path "$env:TEMP\LGPO.txt" -Value $Policy -Encoding Default -Force
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Change the location of the each user folder using SHSetKnownFolderPath function
|
||||
|
||||
.EXAMPLE
|
||||
Set-UserShellFolder -UserFolder Desktop -Path "$env:SystemDrive:\Desktop"
|
||||
|
||||
.LINK
|
||||
https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
|
||||
|
||||
.NOTES
|
||||
User files or folders won't be moved to a new location
|
||||
#>
|
||||
function Global:Set-UserShellFolder
|
||||
{
|
||||
[CmdletBinding()]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[ValidateSet("Desktop", "Documents", "Downloads", "Music", "Pictures", "Videos")]
|
||||
[string]
|
||||
$UserFolder,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]
|
||||
$Path
|
||||
)
|
||||
|
||||
# Get current user folder path
|
||||
$CurrentUserFolderPath = Get-ItemPropertyValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name $UserFolderRegistry[$UserFolder]
|
||||
if ($CurrentUserFolder -ne $Path)
|
||||
{
|
||||
if (-not (Test-Path -Path $Path))
|
||||
{
|
||||
New-Item -Path $Path -ItemType Directory -Force
|
||||
}
|
||||
|
||||
Remove-Item -Path "$CurrentUserFolderPath\desktop.ini" -Force -ErrorAction Ignore
|
||||
|
||||
# Redirect user folder to a new location
|
||||
Set-KnownFolderPath -KnownFolder $UserFolder -Path $Path
|
||||
New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name $UserFolderGUIDs[$UserFolder] -PropertyType ExpandString -Value $Path -Force
|
||||
|
||||
# Save desktop.ini in the UTF-16 LE encoding
|
||||
Set-Content -Path "$Path\desktop.ini" -Value $DesktopINI[$UserFolder] -Encoding Unicode -Force
|
||||
(Get-Item -Path "$Path\desktop.ini" -Force).Attributes = "Hidden", "System", "Archive"
|
||||
(Get-Item -Path "$Path\desktop.ini" -Force).Refresh()
|
||||
|
||||
# Warn user is some files left in an old folder
|
||||
if ((Get-ChildItem -Path $CurrentUserFolderPath -ErrorAction Ignore | Measure-Object).Count -ne 0)
|
||||
{
|
||||
Write-Warning -Message ($Localization.UserShellFolderNotEmpty -f $CurrentUserFolderPath)
|
||||
Write-Error -Message ($Localization.UserShellFolderNotEmpty -f $CurrentUserFolderPath) -ErrorAction SilentlyContinue
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
"Show menu" function with the up/down arrow keys and enter key to make a selection
|
||||
|
||||
.PARAMETER Menu
|
||||
Array of items to choose from
|
||||
|
||||
.PARAMETER Default
|
||||
Default selected item in array
|
||||
|
||||
.PARAMETER AddSkip
|
||||
Add localized extracted "Skip" string from %SystemRoot%\System32\shell32.dll
|
||||
|
||||
.EXAMPLE
|
||||
Show-Menu -Menu @($Item1, $Item2) -Default 1
|
||||
|
||||
.LINK
|
||||
https://qna.habr.com/answer?answer_id=1522379
|
||||
https://github.com/ryandunton/InteractivePSMenu
|
||||
#>
|
||||
function Global:Show-Menu
|
||||
{
|
||||
[CmdletBinding()]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[array]
|
||||
$Menu,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[int]
|
||||
$Default,
|
||||
|
||||
[Parameter(Mandatory = $false)]
|
||||
[switch]
|
||||
$AddSkip
|
||||
)
|
||||
|
||||
Write-Information -MessageData "" -InformationAction Continue
|
||||
|
||||
# Add "Please use the arrow keys 🠕 and 🠗 on your keyboard to select your answer" to menu
|
||||
$Menu += $Localization.KeyboardArrows -f [System.Char]::ConvertFromUtf32(0x2191), [System.Char]::ConvertFromUtf32(0x2193)
|
||||
|
||||
if ($AddSkip)
|
||||
{
|
||||
# Extract the localized "Skip" string from %SystemRoot%\System32\shell32.dll
|
||||
$Menu += [WinAPI.GetStrings]::GetString(16956)
|
||||
}
|
||||
|
||||
$i = 0
|
||||
while ($i -lt $Menu.Count)
|
||||
{
|
||||
$i++
|
||||
Write-Host -Object ""
|
||||
}
|
||||
|
||||
$SelectedValueIndex = [Math]::Max([Math]::Min($Default, $Menu.Count), 0)
|
||||
|
||||
do
|
||||
{
|
||||
[Console]::SetCursorPosition(0, [Console]::CursorTop - $Menu.Count)
|
||||
|
||||
for ($i = 0; $i -lt $Menu.Count; $i++)
|
||||
{
|
||||
if ($i -eq $SelectedValueIndex)
|
||||
{
|
||||
Write-Host -Object "[>] $($Menu[$i])" -NoNewline
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host -Object "[ ] $($Menu[$i])" -NoNewline
|
||||
}
|
||||
|
||||
Write-Host -Object ""
|
||||
}
|
||||
|
||||
$Key = [Console]::ReadKey()
|
||||
switch ($Key.Key)
|
||||
{
|
||||
"UpArrow"
|
||||
{
|
||||
$SelectedValueIndex = [Math]::Max(0, $SelectedValueIndex - 1)
|
||||
}
|
||||
"DownArrow"
|
||||
{
|
||||
$SelectedValueIndex = [Math]::Min($Menu.Count - 1, $SelectedValueIndex + 1)
|
||||
}
|
||||
"Enter"
|
||||
{
|
||||
return $Menu[$SelectedValueIndex]
|
||||
}
|
||||
}
|
||||
}
|
||||
while ($Key.Key -notin ([ConsoleKey]::Escape, [ConsoleKey]::Enter))
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Write registry keys for Set-Association function
|
||||
|
||||
.VERSION
|
||||
7.1.4
|
||||
|
||||
.DATE
|
||||
24.02.2026
|
||||
|
||||
.COPYRIGHT
|
||||
(c) 2014—2026 Team Sophia
|
||||
|
||||
.LINK
|
||||
https://github.com/farag2/Sophia-Script-for-Windows
|
||||
#>
|
||||
function Global:Write-AdditionalKeys
|
||||
{
|
||||
Param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 0
|
||||
)]
|
||||
[string]
|
||||
$ProgId,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 1
|
||||
)]
|
||||
[string]
|
||||
$Extension
|
||||
)
|
||||
|
||||
# If there is a ProgId extension, overwrite it to the configured value by default
|
||||
# We have to use GetValue() due to "Set-StrictMode -Version Latest"
|
||||
if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\$Extension", "", $null))
|
||||
{
|
||||
if (-not (Test-Path -Path Registry::HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\FileAssociations\ProgIds))
|
||||
{
|
||||
New-Item -Path Registry::HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\FileAssociations\ProgIds -Force
|
||||
}
|
||||
New-ItemProperty -Path Registry::HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\FileAssociations\ProgIds -Name "_$($Extension)" -PropertyType DWord -Value 1 -Force
|
||||
}
|
||||
|
||||
# Setting 'NoOpenWith' for all registered the extension ProgIDs
|
||||
# We have to check everything due to "Set-StrictMode -Version Latest"
|
||||
if (Get-Item -Path "Registry::HKEY_CLASSES_ROOT\$Extension\OpenWithProgids" -ErrorAction Ignore)
|
||||
{
|
||||
[psobject]$OpenSubkey = (Get-Item -Path "Registry::HKEY_CLASSES_ROOT\$Extension\OpenWithProgids" -ErrorAction Ignore).Property
|
||||
if ($OpenSubkey)
|
||||
{
|
||||
foreach ($AppxProgID in ($OpenSubkey | Where-Object -FilterScript {$_ -match "AppX"}))
|
||||
{
|
||||
# If an app is installed
|
||||
if (Get-ItemPropertyValue -Path "HKCU:\Software\Classes\$AppxProgID\Shell\open" -Name PackageId)
|
||||
{
|
||||
# If the specified ProgId is equal to UWP installed ProgId
|
||||
if ($ProgId -eq $AppxProgID)
|
||||
{
|
||||
# Remove association limitations for this UWP apps
|
||||
Remove-ItemProperty -Path "HKCU:\Software\Classes\$AppxProgID" -Name NoOpenWith, NoStaticDefaultVerb -Force -ErrorAction Ignore
|
||||
}
|
||||
else
|
||||
{
|
||||
New-ItemProperty -Path "HKCU:\Software\Classes\$AppxProgID" -Name NoOpenWith -PropertyType String -Value "" -Force
|
||||
}
|
||||
|
||||
$Global:RegisteredProgIDs += $AppxProgID
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# We have to use GetValue() due to "Set-StrictMode -Version Latest"
|
||||
if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap", $Extension, $null))
|
||||
{
|
||||
$picture = (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap -Name $Extension -ErrorAction Ignore).$Extension
|
||||
}
|
||||
# We have to use GetValue() due to "Set-StrictMode -Version Latest"
|
||||
if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PBrush\CLSID", "", $null))
|
||||
{
|
||||
$PBrush = (Get-ItemProperty -Path HKLM:\SOFTWARE\Classes\PBrush\CLSID -Name "(default)" -ErrorAction Ignore)."(default)"
|
||||
}
|
||||
|
||||
# We have to check everything due to "Set-StrictMode -Version Latest"
|
||||
if (Get-Variable -Name picture -ErrorAction Ignore)
|
||||
{
|
||||
if (($picture -eq "picture") -and $PBrush)
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts -Name "PBrush_$($Extension)" -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
|
||||
# We have to use GetValue() due to "Set-StrictMode -Version Latest"
|
||||
if (([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap", $Extension, $null)) -eq "picture")
|
||||
{
|
||||
$Global:RegisteredProgIDs += "PBrush"
|
||||
}
|
||||
|
||||
if ($Extension.Contains("."))
|
||||
{
|
||||
[string]$Associations = "FileAssociations"
|
||||
}
|
||||
else
|
||||
{
|
||||
[string]$Associations = "UrlAssociations"
|
||||
}
|
||||
|
||||
foreach ($Item in @((Get-Item -Path "HKLM:\SOFTWARE\RegisteredApplications").Property))
|
||||
{
|
||||
$Subkey = (Get-ItemProperty -Path "HKLM:\SOFTWARE\RegisteredApplications" -Name $Item -ErrorAction Ignore).$Item
|
||||
if ($Subkey)
|
||||
{
|
||||
if (Test-Path -Path "HKLM:\$Subkey\$Associations")
|
||||
{
|
||||
$isProgID = [Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\$Subkey\$Associations", $Extension, $null)
|
||||
if ($isProgID)
|
||||
{
|
||||
$Global:RegisteredProgIDs += $isProgID
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Clear-Variable -Name UserRegisteredProgIDs -Force -ErrorAction Ignore
|
||||
[array]$UserRegisteredProgIDs = @()
|
||||
|
||||
foreach ($Item in (Get-Item -Path "HKCU:\Software\RegisteredApplications").Property)
|
||||
{
|
||||
$Subkey = (Get-ItemProperty -Path "HKCU:\Software\RegisteredApplications" -Name $Item -ErrorAction Ignore).$Item
|
||||
if ($Subkey)
|
||||
{
|
||||
if (Test-Path -Path "HKCU:\$Subkey\$Associations")
|
||||
{
|
||||
$isProgID = [Microsoft.Win32.Registry]::GetValue("HKEY_CURRENT_USER\$Subkey\$Associations", $Extension, $null)
|
||||
if ($isProgID)
|
||||
{
|
||||
$UserRegisteredProgIDs += $isProgID
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$UserRegisteredProgIDs = ($Global:RegisteredProgIDs + $UserRegisteredProgIDs | Sort-Object -Unique)
|
||||
foreach ($UserProgID in $UserRegisteredProgIDs)
|
||||
{
|
||||
New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts" -Name "$($UserProgID)_$($Extension)" -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Write registry keys for extensions for Set-Association function
|
||||
|
||||
.VERSION
|
||||
7.1.4
|
||||
|
||||
.DATE
|
||||
24.02.2026
|
||||
|
||||
.COPYRIGHT
|
||||
(c) 2014—2026 Team Sophia
|
||||
|
||||
.LINK
|
||||
https://github.com/farag2/Sophia-Script-for-Windows
|
||||
#>
|
||||
function Global:Write-ExtensionKeys
|
||||
{
|
||||
Param
|
||||
(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 0
|
||||
)]
|
||||
[string]
|
||||
$ProgId,
|
||||
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
Position = 1
|
||||
)]
|
||||
[string]
|
||||
$Extension
|
||||
)
|
||||
|
||||
# We have to use GetValue() due to "Set-StrictMode -Version Latest"
|
||||
$OrigProgID = [Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\$Extension", "", $null)
|
||||
if ($OrigProgID)
|
||||
{
|
||||
# Save ProgIds history with extensions or protocols for the system ProgId
|
||||
$Global:RegisteredProgIDs += $OrigProgID
|
||||
}
|
||||
|
||||
# We have to use GetValue() due to "Set-StrictMode -Version Latest"
|
||||
if ([Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\$Extension", "", $null) -ne "")
|
||||
{
|
||||
# Save possible ProgIds history with extension
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts -Name "$($ProgID)_$($Extension)" -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
|
||||
$Name = "{0}_$($Extension)" -f (Split-Path -Path $ProgId -Leaf)
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts -Name $Name -PropertyType DWord -Value 0 -Force
|
||||
|
||||
if ("$($ProgID)_$($Extension)" -ne $Name)
|
||||
{
|
||||
New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts -Name "$($ProgID)_$($Extension)" -PropertyType DWord -Value 0 -Force
|
||||
}
|
||||
|
||||
# If ProgId doesn't exist set the specified ProgId for the extensions
|
||||
# We have to use GetValue() due to "Set-StrictMode -Version Latest"
|
||||
if (-not [Microsoft.Win32.Registry]::GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\$Extension", "", $null))
|
||||
{
|
||||
if (-not (Test-Path -Path "HKCU:\Software\Classes\$Extension"))
|
||||
{
|
||||
New-Item -Path "HKCU:\Software\Classes\$Extension" -Force
|
||||
}
|
||||
New-ItemProperty -Path "HKCU:\Software\Classes\$Extension" -Name "(default)" -PropertyType String -Value $ProgId -Force
|
||||
}
|
||||
|
||||
# Set the specified ProgId in the possible options for the assignment
|
||||
if (-not (Test-Path -Path "HKCU:\Software\Classes\$Extension\OpenWithProgids"))
|
||||
{
|
||||
New-Item -Path "HKCU:\Software\Classes\$Extension\OpenWithProgids" -Force
|
||||
}
|
||||
New-ItemProperty -Path "HKCU:\Software\Classes\$Extension\OpenWithProgids" -Name $ProgId -PropertyType None -Value ([byte[]]@()) -Force
|
||||
|
||||
# Set the system ProgId to the extension parameters for File Explorer to the possible options for the assignment, and if absent set the specified ProgId
|
||||
# We have to use GetValue() due to "Set-StrictMode -Version Latest"
|
||||
if ($OrigProgID)
|
||||
{
|
||||
if (-not (Test-Path -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\OpenWithProgids"))
|
||||
{
|
||||
New-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\OpenWithProgids" -Force
|
||||
}
|
||||
New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\OpenWithProgids" -Name $OrigProgID -PropertyType None -Value ([byte[]]@()) -Force
|
||||
}
|
||||
|
||||
if (-not (Test-Path -Path "HKCU:\Software\Classes\$Extension\OpenWithProgids"))
|
||||
{
|
||||
New-Item -Path "HKCU:\Software\Classes\$Extension\OpenWithProgids" -Force
|
||||
}
|
||||
New-ItemProperty -Path "HKCU:\Software\Classes\$Extension\OpenWithProgids" -Name $ProgID -PropertyType None -Value ([byte[]]@()) -Force
|
||||
|
||||
# A small pause added to complete all operations, unless sometimes PowerShell has not time to clear reguistry permissions
|
||||
Start-Sleep -Seconds 1
|
||||
|
||||
# Removing the UserChoice key
|
||||
[WinAPI.Action]::DeleteKey([Microsoft.Win32.RegistryHive]::CurrentUser, "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice")
|
||||
Remove-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice" -Force -ErrorAction Ignore
|
||||
|
||||
# Setting parameters in UserChoice. The key is being autocreated
|
||||
if (-not (Test-Path -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice"))
|
||||
{
|
||||
New-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice" -Force
|
||||
}
|
||||
|
||||
# We need to remove DENY permission set for user before setting a value
|
||||
if (@(".pdf", "http", "https") -contains $Extension)
|
||||
{
|
||||
# https://powertoe.wordpress.com/2010/08/28/controlling-registry-acl-permissions-with-powershell/
|
||||
$Key = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::ChangePermissions)
|
||||
$ACL = $key.GetAccessControl()
|
||||
$Principal = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
|
||||
# https://learn.microsoft.com/en-us/dotnet/api/system.security.accesscontrol.filesystemrights
|
||||
$Rule = New-Object -TypeName System.Security.AccessControl.RegistryAccessRule -ArgumentList ($Principal,"FullControl","Deny")
|
||||
$ACL.RemoveAccessRule($Rule)
|
||||
$Key.SetAccessControl($ACL)
|
||||
|
||||
# We need to use here an approach with "-Command & {}" as there's a variable inside
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command "& {New-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice' -Name ProgId -PropertyType String -Value $ProgID -Force}"
|
||||
}
|
||||
else
|
||||
{
|
||||
New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice" -Name ProgId -PropertyType String -Value $ProgID -Force
|
||||
}
|
||||
|
||||
# Getting a hash based on the time of the section's last modification. After creating and setting the first parameter
|
||||
$ProgHash = Get-Hash -ProgId $ProgId -Extension $Extension -SubKey "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice"
|
||||
|
||||
if (-not (Test-Path -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice"))
|
||||
{
|
||||
New-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice" -Force
|
||||
}
|
||||
|
||||
if (@(".pdf", "http", "https") -contains $Extension)
|
||||
{
|
||||
# We need to use here an approach with "-Command & {}" as there's a variable inside
|
||||
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell_temp.exe" -Command "& {New-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice' -Name Hash -PropertyType String -Value $ProgHash -Force}"
|
||||
}
|
||||
else
|
||||
{
|
||||
New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice" -Name Hash -PropertyType String -Value $ProgHash -Force
|
||||
}
|
||||
|
||||
# Setting a block on changing the UserChoice section
|
||||
# We have to use OpenSubKey() due to "Set-StrictMode -Version Latest"
|
||||
$OpenSubKey = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$Extension\UserChoice", "ReadWriteSubTree", "TakeOwnership")
|
||||
if ($OpenSubKey)
|
||||
{
|
||||
$Acl = [System.Security.AccessControl.RegistrySecurity]::new()
|
||||
# Get current user SID
|
||||
$UserSID = (Get-CimInstance -ClassName Win32_UserAccount | Where-Object -FilterScript {$_.Name -eq $env:USERNAME}).SID
|
||||
$Acl.SetSecurityDescriptorSddlForm("O:$UserSID`G:$UserSID`D:AI(D;;DC;;;$UserSID)")
|
||||
$OpenSubKey.SetAccessControl($Acl)
|
||||
$OpenSubKey.Close()
|
||||
}
|
||||
}
|
||||
11902
Powershell/Sophia Script/SophiaScriptForWindows11/Module/Sophia.psm1
Normal file
11902
Powershell/Sophia Script/SophiaScriptForWindows11/Module/Sophia.psm1
Normal file
File diff suppressed because it is too large
Load Diff
1229
Powershell/Sophia Script/SophiaScriptForWindows11/Sophia.ps1
Normal file
1229
Powershell/Sophia Script/SophiaScriptForWindows11/Sophia.ps1
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user