QuickText

[English](../../README.md) · [简体中文](../../README.zh.md) · [繁體中文](README.zh-Hant.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Español](README.es.md) · [Português](README.pt.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Italiano](README.it.md) · [Русский](README.ru.md) · [Tiếng Việt](README.vi.md) · [ไทย](README.th.md) · [Bahasa Indonesia](README.id.md) · [हिन्दी](README.hi.md) · **বাংলা** · [العربية](README.ar.md) · [Türkçe](README.tr.md) # QuickText > Windows ট্রে-তে থাকা স্নিপেট ম্যানেজার ও টেক্সট এক্সপ্যান্ডার। ![যেকোনো উইন্ডোর উপরে প্যানেল ডাকুন, কয়েকটি অক্ষর টাইপ করুন, স্নিপেট কার্সরে বসে যায়](../images/quicktext-demo.webp) **একই জিনিস দুবার টাইপ করা বন্ধ করুন।** QuickText উইন্ডোজ ট্রে-তে থাকে: যে টেক্সট আপনি বারবার ব্যবহার করেন — ইমেল, ঠিকানা, স্বাক্ষর, টেমপ্লেট, প্রস্তুত উত্তর, ছবি — একবার সংরক্ষণ করুন, তারপর **যেকোনো ইনপুট বক্সে** কয়েকটি কি বা একটি সংক্ষিপ্ত রূপ টাইপ করলেই তা ঠিক আপনার কার্সরের জায়গায় বসে যায়। একাধিক লাইন, বিশেষ অক্ষর এবং ইমোজি অক্ষরে-অক্ষরে অক্ষত থাকে। > আপনার পুনর্ব্যবহারযোগ্য টেক্সট, কয়েকটি কি-স্ট্রোক দূরে — সরাসরি কার্সরে বসানো। - WPF / .NET 10, একক-ফাইল পোর্টেবল exe, **কোনো অ্যাকাউন্ট নয়, ডিফল্টে অফলাইন** — কেবল ঐচ্ছিক "আপডেট যাচাই" GitHub-এ সংযোগ করে। - ডেটা আপনার নিজের ফোল্ডারে **স্থানীয় JSON** — সিঙ্ক করতে চাইলে এটি Dropbox / OneDrive / একটি NAS-এ রাখুন। - ডার্ক ও লাইট থিম (বা Windows অনুসরণ), **১৮টি UI ভাষা** (আরবির জন্য ডান-থেকে-বাম মিররিং সহ), সেটিংস তাৎক্ষণিকভাবে প্রয়োগ হয়। **[⬇ সর্বশেষ সংস্করণ ডাউনলোড করুন](https://github.com/rockbenben/QuickText/releases/latest)** —— Windows x64, একক-ফাইল পোর্টেবল। কোড-সাইন করা নেই, তাই প্রথমবার SmartScreen সতর্ক করবে: **More info → Run anyway**। - `QuickText--win-x64.zip` — .NET রানটাইম ভেতরেই দেওয়া আছে, তাই কোনো পূর্বশর্ত ছাড়াই যেকোনো Windows 10/11 x64-এ চলে। নিশ্চিত না হলে এটিই নিন: ইন্ট্রানেট বা অফলাইন কম্পিউটার, কিংবা USB-তে করে সঙ্গে নিয়ে যাওয়ার জন্য। - `QuickText--win-x64-needs-dotnet10.zip` — আগে থেকে [.NET 10 ডেস্কটপ রানটাইম](https://dotnet.microsoft.com/download/dotnet/10.0) ইনস্টল থাকা দরকার। ইন্টারনেট আছে এমন নিজের PC-র জন্য: একবার ইনস্টল করলেই পরে প্রতিটি আপডেট খুবই ছোট। - `QuickText.exe` — একই বিল্ড, zip ছাড়া: ক্লিক করে চালান, বা আপডেটের জন্য বিদ্যমান কপির উপরে বসিয়ে দিন। ফিচার ও ডেটা একেবারে একই; পার্থক্য শুধু রানটাইম সঙ্গে দেওয়া হয়েছে কি না। --- ## কোথায় এটি ব্যবহার করবেন উইন্ডোজে যেখানেই আপনি **একই জিনিস বারবার টাইপ করেন**। এটি ট্রে-তে থাকে এবং প্রতিটি ইনপুট বক্সে কাজ করে (চ্যাট উইন্ডো, ব্রাউজার ফর্ম, এডিটর, মেল ক্লায়েন্ট — কোনো একটি অ্যাপে আবদ্ধ নয়)। এটি **একইসাথে একটি স্নিপেট ম্যানেজার এবং টেক্সট এক্সপান্ডার**, সেই সঙ্গে পিনয়িন সার্চ, ভেরিয়েবল টেমপ্লেট এবং ছবি। | কে | তারা কী সংরক্ষণ করে | | ---------------------- | ----------------------------------------------------------------------------------------------- | | **সাপোর্ট / ই-কমার্স** | প্রস্তুত উত্তর, মানক জবাব, প্রচারমূলক বার্তা, QR কোড বা পণ্যের ছবি | | **সেলস / ব্যবসা** | ইমেল টেমপ্লেট, শুরুর বার্তা, দরপত্র, বিদায়ী বার্তা | | **ডেভেলপার / অপস** | কমান্ড, কনফিগ, JSON, বয়লারপ্লেট (`{...}` হুবহু আউটপুট হয়, কখনো পার্স হয় না) | | **অফিস / ফর্ম পূরণ** | ইমেল, ঠিকানা, ফোন, আইডি নম্বর, মিটিং-নোট টেমপ্লেট (আপনাকে জিজ্ঞাসা করে, শেষ মানটি মনে রাখে) | | **HR / প্রশাসন / আইন** | অনবোর্ডিং নোটিশ, মানক বিজ্ঞপ্তি, দাবিত্যাগ — স্থানীয়, অফলাইন, সংবেদনশীল কনটেন্টের জন্য উপযুক্ত | > **সংবেদনশীল কিছু রাখার আগে।** স্নিপেটগুলো **প্লেইন টেক্সট JSON** হিসেবে সংরক্ষিত হয় — ইচ্ছে করেই এনক্রিপ্ট করা হয়নি, যাতে আপনি নিজেই ফাইলটি পড়তে, তুলনা করতে ও সম্পাদনা করতে পারেন। শুধু আপনার নিজের কম্পিউটারে টেমপ্লেট আর বাঁধা বুলির জন্য এটি ঠিক আছে। তবে এর মানে, সেখানে রাখা পরিচয়পত্রের নম্বর বা পাসওয়ার্ড সেই সবকিছুই পড়তে পারে যা ফাইলটি পড়তে পারে — আপনার অ্যাকাউন্টে চলা অন্য প্রোগ্রামও, আর ফোল্ডারটি Dropbox / OneDrive-এ রাখলে সিঙ্ক সেবাও। সত্যিকারের গোপন তথ্যের জন্য পাসওয়ার্ড ম্যানেজার ব্যবহার করুন, QuickText থাক সেই লেখার জন্য যা সামনে পড়ে থাকলেও আপনার আপত্তি নেই। ## ৩০ সেকেন্ডে দেখে নিন **যেকোনো জায়গায় যেখানে আপনি টাইপ করতে পারেন** — ধরুন একটি চ্যাট বক্সে আপনার ইমেল দরকার: 1. **আহ্বান করুন** — `Ctrl+Shift+8` চাপুন; সক্রিয় উইন্ডোর উপর প্যানেলটি আসে। 2. **সার্চ করুন** — কয়েকটি অক্ষর টাইপ করুন; মিলগুলো হাইলাইট হয়। এটি নাম, পিনয়িন (পূর্ণ + আদ্যক্ষর), সংক্ষিপ্ত রূপ এবং মূল টেক্সট মেলায়। 3. **Enter** — ইমেলটি **ঠিক যেখানে আপনার কার্সর ছিল সেখানে** পেস্ট হয়। শেষ। > ক্যাটাগরি অনুসারে ব্রাউজ করতে কিছু টাইপ না করুন, উপরে পিন করা `Recent` / `Favorites` সহ; যেগুলো আপনি সবচেয়ে বেশি ব্যবহার করেন সেগুলো স্বয়ংক্রিয়ভাবে **উপরে উঠে আসে**। > `↑↓` চলাচল · `←→` ক্যাটাগরি বদল · `Alt+1–9` দ্রুত নির্বাচন · পাঠাতে ডাবল-ক্লিক · বন্ধ করতে `Esc`। ## এটিতে পৌঁছানোর তিনটি উপায় — যেটি মানানসই বেছে নিন একই লাইব্রেরি, এটি থেকে টেনে আনার তিনটি উপায়; এগুলো নির্দ্বিধায় মিশিয়ে ব্যবহার করুন: | উপায় | কীভাবে চালু করবেন | কীসের জন্য সেরা | | --------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | | 🔍 **প্যানেল সার্চ** | `Ctrl+Shift+8` → টাইপ → Enter | অনেক স্নিপেট, মাঝেমধ্যে ব্যবহার, বেছে নিতে ব্রাউজ করা | | ⌨️ **ইনলাইন সংক্ষিপ্ত রূপ** | শুধু `;sig` টাইপ করে Space / Tab / Enter | উচ্চ-ফ্রিকোয়েন্সির নির্দিষ্ট বাক্যাংশ, প্যানেলের দরকার নেই | | 🧩 **ভেরিয়েবল টেমপ্লেট** | উপরের যেকোনো উপায়ে `{variables}` সহ একটি স্নিপেট টেনে আনুন | ইমেল / ফর্ম: একটি টেমপ্লেট, কয়েকটি শব্দ বদলানো | - **ছবিও**: ক্লিপবোর্ড বা ফাইল থেকে যোগ করুন, পাঠানোর সময় ছবি হিসেবে পেস্ট হয়; ছবিরও সংক্ষিপ্ত রূপ থাকতে পারে, তাই সংক্ষিপ্ত রূপ টাইপ করে ছবিটি পান (QR কোড, লোগো স্বাক্ষর)। - **প্রতি-স্নিপেট আউটপুট**: চ্যাট বাক্যাংশ পেস্টের পর স্বয়ংক্রিয়ভাবে পাঠানো হয়, কোড স্নিপেট কখনো নয় — এগুলো বিঘ্ন ঘটায় না। সংক্ষিপ্ত রূপ এবং ভেরিয়েবল সম্পর্কে পূর্ণ বিবরণ নিচের **বিস্তারিত** অংশে — **প্লেসহোল্ডার** এবং **সংক্ষিপ্ত রূপ** বিভাগে। --- **বিস্তারিত** ## বাক্স থেকে বের করেই কাজ করে **`QuickText.exe`** ডাবল-ক্লিক করুন; এটি **সিস্টেম ট্রে**-তে থাকে (কোনো টাস্কবার বোতাম নেই)। **প্রথম চালানোয়** এটি: - একটি ছোট **স্টার্টার লাইব্রেরি** যোগ করে (দুটি ক্যাটাগরি, আপনার **UI ভাষায়**) যাতে আপনি সঙ্গে সঙ্গে চেষ্টা করতে পারেন; - আহ্বান হটকি সহ একটি বেলুন দেখায় — ডিফল্ট **`Ctrl+Shift+8`**। > প্যানেলের উপরে-ডানের আইকনগুলো: **+ নতুন** · **Manager** (এডিটর খুলুন) · **Settings** · **📌 Pin** (পাঠানোর পরও প্যানেল খোলা রাখুন, পরপর কয়েকটি চালাতে)। ট্রে-তে ফিরে না গিয়ে সরাসরি Manager / Settings-এ যান। ## আপনার টেক্সট যোগ / সম্পাদনা করুন ![ম্যানেজার: বাঁয়ে শ্রেণি, মাঝে স্নিপেট, ডানে সম্পাদক](../images/quicktext-manager.webp) - **Tray → Open Manager** — পূর্ণ এডিটর: বাঁয়ে ক্যাটাগরি, ডানে স্নিপেট, নিচে এডিটর। ক্যাটাগরি যোগ/নাম বদল/মুছুন (একটি **৭-রঙা** ট্যাগ সহ), স্নিপেট সম্পাদনা করুন (নাম, সংক্ষিপ্ত রূপ, মূল টেক্সট, ছবি)। ক্রম পুনর্বিন্যাস বা ক্যাটাগরির মধ্যে সরাতে টানুন; `Ctrl+Z` একটি মুছে ফেলা ফিরিয়ে আনে। - **Tray → New from clipboard** — বর্তমান ক্লিপবোর্ড থেকে একটি নতুন স্নিপেট তৈরি করুন এবং শেষ করতে Manager-এ খুলুন (**সংরক্ষণ** চাপলে ডিস্কে লেখা হয়; Manager বন্ধ করলে সংরক্ষণ করবেন নাকি বাতিল করবেন তা জিজ্ঞাসা করা হয়)। - **প্যানেলে তৈরি করুন** — সার্চ বক্সে বিষয়বস্তু টাইপ করে `Ctrl+N` চাপুন এটিকে নতুন স্নিপেট হিসেবে সংরক্ষণ করতে (সেই লেখাটিই মূল অংশ হয়; `@বিভাগ …` সেটিকে ওই বিভাগে রাখে) এবং শেষ করতে Manager-এ যেতে (`Ctrl+E` নির্বাচিতটি সম্পাদনা করে)। > **দীর্ঘ টেক্সট / কোড**: মূল টেক্সটের উপরে থাকা `⤢` বোতাম এটি প্রায়-পূর্ণ-স্ক্রিন এডিটরে খোলে (অথবা মূল টেক্সটে `Ctrl+Shift+Enter` চাপুন); `Esc` বা "সম্পন্ন" সম্পাদনা শেষ করে; কিছু বদলে থাকলে আগে জিজ্ঞাসা করা হয় সংরক্ষণ করবেন না বাতিল করবেন। "Enable {variable} placeholders" টিক করা থাকলে, টোকেনগুলো **ধরন অনুযায়ী রঙিন** হয় — ভেরিয়েবল সায়ান, `{date}`-এর মতো অটো টোকেন অ্যাম্বার, `{snippet:x}` পার্পল, `{cursor}` সায়ান ড্যাশড — অন্যদিকে ভুল বানানের স্নিপেট নাম, অবৈধ তারিখ ফরম্যাট বা অসম্পূর্ণ ব্রেস একটি **লাল স্কুইগলি (squiggle)** পায় যার উপর হোভার করে কারণ দেখা যায়। এই সবকিছু পাঠানোর সময় **হুবহু** পেস্ট হয়, যা আগে শুধু ভুল কিছু পেস্ট হওয়ার পরই বোঝা যেত। কোনো তারিখ টোকেনের উপর হোভার করলে এর নির্ধারিত মানও প্রিভিউ হয়। কোডের জন্য, চেকবক্সটি বন্ধ রাখুন: হাইলাইটিং সম্পূর্ণভাবে নিষ্ক্রিয় থাকে যাতে `{}`-এ ভরা মূল টেক্সট নীরব থাকে, এবং স্ট্যাটাস বার শুধু বলে দেয় কতগুলো টোকেন যেমন আছে তেমন আউটপুট হবে। এতে আরও আছে: **Enter ইন্ডেন্টেশন বজায় রাখে** এবং **`Tab` পুরো মাল্টি-লাইন নির্বাচনকে ইন্ডেন্ট করে**। > > বড় করা উইন্ডোটি **সবসময় লাইন নম্বর দেখায়**, এবং এর ফুটারে একটি **কোড ফরম্যাট** পিকার থাকে — JSON, YAML, XML, HTML, Markdown, SQL, Python, JavaScript/TypeScript, C#, Java, PowerShell, Shell এবং INI, সব মিলিয়ে ১৩টি — যা মূল টেক্সটকে সিনট্যাক্স-হাইলাইট করে এবং প্রতি স্নিপেটে মনে রাখা হয়। **সংরক্ষিত টেক্সট প্লেইন থাকে এবং যা পেস্ট হয় তা অপরিবর্তিত থাকে।** প্লেসহোল্ডার হাইলাইটিং ব্যাকগ্রাউন্ড রং করে যেখানে সিনট্যাক্স হাইলাইটিং অক্ষরগুলো রং করে, তাই দুটো কখনো সংঘর্ষ করে না: `{variables}` সহ একটি JSON মূল টেক্সট তার গঠন এবং ভেরিয়েবল একসঙ্গে দেখায়। ## প্লেসহোল্ডার (একটি টেমপ্লেট, অনেক পরিস্থিতি) · প্রতি-স্নিপেটে অপ্ট-ইন প্লেসহোল্ডার একটি **প্রতি-স্নিপেট সুইচ**: Manager এডিটরে "**Enable {variable} placeholders**" টিক দিন এবং নিচের টোকেনগুলো পাঠানোর সময় সমাধান হয়; **টিক না দিলে (ডিফল্ট), মূল টেক্সট হুবহু পাঠানো হয়** — লিটারাল `{...}`-এ ভরা কোড, স্ক্রিপ্ট এবং JSON কখনো ভুল পার্স বা প্রম্পট হয় না। > আপগ্রেড: প্লেসহোল্ডার আগে সবসময় চালু থাকত। আপগ্রেডের পর প্রথম চালু হওয়ার সময় স্বয়ংক্রিয়ভাবে সেই **বিদ্যমান স্নিপেট**গুলোর জন্য সুইচ টিক দেয় যাদের মূল টেক্সটে `{...}` আছে, তাই কোনো আচরণ বদলায় না; যেগুলো আসলে কোড সেগুলোর জন্য Manager-এ টিক তুলে দিন। চালু থাকলে, এই প্লেসহোল্ডারগুলো পাঠানোর সময় সমাধান হয়: | প্লেসহোল্ডার | এটি কী করে | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `{name}` (যেকোনো লেবেল) | পেস্টের আগে **আপনাকে এটি পূরণ করতে বলে**; **আপনার শেষ মান মনে রাখে** যাতে পুনরাবৃত্তিতে আবার জিজ্ঞাসা না করে | | `{name:John}` | একটি **ডিফল্ট** সহ ভেরিয়েবল, প্রম্পটে আগে থেকে পূরণ করা | | `{env\|dev\|test\|prod}` | **অপশন** সহ ভেরিয়েবল — প্রম্পট একটি ড্রপডাউন দেখায় (প্রথম অপশনটি ডিফল্ট হিসেবেও কাজ করে; মুক্ত টাইপিং এখনো অনুমোদিত) | | `{clipboard}` | বর্তমান ক্লিপবোর্ডের বিষয়বস্তু সন্নিবেশ করে | | `{cursor}` | পেস্টের পর ক্যারেটটি এই জায়গায় রেখে দেয় (স্বয়ংক্রিয়-Enter-ও দমন করে) | | `{date}` `{time}` `{datetime}` | বর্তমান তারিখ/সময় সন্নিবেশ করে; `{date+7}` (৭ দিন পর) এর মতো অফসেট এবং `{date=yyyy-MM-dd}` / `{time=HH:mm:ss}` এর মতো কাস্টম ফরম্যাট সমর্থন করে, অফসেটের সঙ্গে মিলিয়েও ব্যবহারযোগ্য: `{date+7=MM-dd}`। চীনা উপনাম `{日期}` / `{时间}` / `{日期时间}`-ও কাজ করে | | `{uuid}` `{random}` | র‍্যান্ডম মান: একটি UUID / ৬ অঙ্ক, প্রতিটি উপস্থিতিতে নতুন | | `{snippet:name}` | **আরেকটি স্নিপেটের মূল টেক্সট ইনলাইন করে** (৩ স্তর গভীর, চক্র-নিরাপদ) — শেয়ার করা স্বাক্ষর এক জায়গায় রাখুন | উদাহরণ: একটি স্বাক্ষর `Best regards,\n{name}` (প্লেসহোল্ডার চালু সহ) → পাঠানোর সময় নাম জিজ্ঞাসা করে → সম্পূর্ণ স্বাক্ষরটি পেস্ট করে। ## সংক্ষিপ্ত রূপ (টাইপ করার সঙ্গে সঙ্গে প্রসারিত, কোনো প্যানেল নয়) · ঐচ্ছিক যেকোনো ইনপুট বক্সে সরাসরি প্রসারিত করতে একটি স্নিপেটকে একটি **সংক্ষিপ্ত রূপ** দিন। **ট্রিগার প্রিফিক্স** Settings-এ একবার সেট করা হয় (ডিফল্ট `;`): 1. Manager-এ, শুধু **সংক্ষিপ্ত রূপটি নিজে** টাইপ করুন — যেমন আপনার স্বাক্ষরের জন্য `sig`। প্রিফিক্স স্বয়ংক্রিয়ভাবে যোগ হয় (এটি আবার টাইপ করবেন না); ফিল্ডটি সামনে বর্তমান প্রিফিক্স `;` দেখায়। 2. যেকোনো ইনপুট বক্সে **`;sig`** (= প্রিফিক্স + সংক্ষিপ্ত রূপ) টাইপ করে তারপর **Space / Tab / Enter** → এটি `;sig` মুছে দেয় এবং মূল টেক্সট প্রসারিত করে (স্নিপেটে প্লেসহোল্ডার চালু থাকলে একটি `{placeholder}` আগে জিজ্ঞাসা করে)। 3. **ভুল টাইপ?** প্রসারণের **ঠিক পরে** **Backspace** চাপুন এটি আবার `;sig`-এ ফিরিয়ে আনতে (একই উইন্ডো, ৫ সেকেন্ডের মধ্যে)। বিস্তারিত: মিলানো **কেস-অসংবেদনশীল** (`;SIG` CapsLock চালু থাকলেও ফায়ার করে); Backspace দিয়ে সংশোধিত একটি টাইপো এখনো প্রসারিত হয়; একটি সংক্ষিপ্ত রূপ শেয়ার করা দুটি স্নিপেট Manager-এ একটি **ইনলাইন সতর্কতা** পায়; এবং ট্রে মেনুতে এক-ক্লিকের **“Pause expansion”** টগল আছে (ডেমো/গেমের জন্য)। > **প্রিফিক্স সম্পর্কে:** প্রিফিক্স (ডিফল্ট `;`) সাধারণ টাইপিং / পিনয়িনকে একটি খালি সংক্ষিপ্ত রূপ ভুলভাবে ট্রিগার করা থেকে বিরত রাখে। এটি **Settings → Abbreviations → Trigger prefix**-এ বদলান (`,`, `:`, … তে) বা **খালি রাখুন**। একটি প্রিফিক্স-যুক্ত সংক্ষিপ্ত রূপ স্ব-সীমানাবদ্ধ এবং আগের টেক্সটের সঙ্গে লেগে থাকলেও ফায়ার করে (যেমন `thx;sig`); প্রিফিক্স ছাড়া এটি শুধু নিজস্ব শব্দ হিসেবে ফায়ার করে (কখনো `graf`-এর মতো লম্বা শব্দের লেজ হিসেবে নয়)। আপনি প্রতি-অ্যাপে সংক্ষিপ্ত রূপ নিষ্ক্রিয়ও করতে পারেন (একটি ব্ল্যাকলিস্ট, যেমন `cmd.exe; putty.exe`) বা সম্পূর্ণভাবে বন্ধ করতে পারেন। ## আউটপুট ও সাধারণ সেটিংস (Tray → Settings) - **আউটপুট** — ডিফল্ট “সক্রিয় অ্যাপে পেস্ট করুন”; অথবা “শুধু ক্লিপবোর্ডে কপি করুন” (আপনি `Ctrl+V` দিয়ে পেস্ট করেন)। ঐচ্ছিক: পেস্টের পর Enter চাপা, পাঠাতে একক-ক্লিক, “আমার ক্লিপবোর্ড অক্ষত রাখুন” (পুনরুদ্ধার ডিফল্টভাবে বন্ধ — যেসব অ্যাপ ক্লিপবোর্ড ধীরে পড়ে, সেগুলো পুরনো বিষয়বস্তু পেস্ট করতে পারে)। **প্রতিটি স্নিপেট এটি ওভাররাইড করতে পারে** (Manager → Output: গ্লোবাল অনুসরণ / পেস্ট / পেস্ট + Enter / শুধু কপি) — চ্যাট বাক্যাংশ স্বয়ংক্রিয়ভাবে পাঠায়, কোড স্নিপেট কখনো নয়। - **প্যানেল অবস্থান** — সক্রিয় উইন্ডো অনুসরণ করে (ডিফল্ট) / টেক্সট ক্যারেট অনুসরণ করে / শেষ অবস্থান মনে রাখে। - **আহ্বান পদ্ধতি (একটি বেছে নিন)** — ① **কি কম্বো**: বক্সে ক্লিক করে একটি নতুন কি চাপুন (সাধারণ কি-এর জন্য `Ctrl`/`Alt`/`Shift`/`Win` দরকার; ফাংশন কি **`F1`–`F24` একা কাজ করে**); অথবা ② **একটি মডিফায়ার ট্যাপ করুন**: আহ্বান করতে **একটি মডিফায়ার একক- বা ডাবল-ট্যাপ করুন** (যেমন ডান `Ctrl`, ডান `Shift`) (একটি একক মডিফায়ার সাধারণ হটকি হতে পারে না, তাই এটি ট্যাপ দিয়ে শনাক্ত হয়)। ট্যাপ বেছে নিলে কম্বো নিষ্ক্রিয় হয় — দুটি পরস্পর-বর্জনশীল, তাই কোনটি সক্রিয় তা সবসময় স্পষ্ট। - **ক্যাপচার হটকি** — একটি ঐচ্ছিক দ্বিতীয় কম্বো যা **নীরবে ক্লিপবোর্ডকে একটি নতুন স্নিপেট হিসেবে সংরক্ষণ করে** (বেলুন প্রতিক্রিয়া, কোনো উইন্ডো নেই)। - **ডেটা ফোল্ডার** — এটি একটি সিঙ্ক ড্রাইভে নির্দেশ করুন; **এক্সপোর্ট / ইমপোর্ট ব্যাকআপ** (zip, একটি ওভাররাইট নিশ্চিতকরণ সহ যাচাই করা); এই মেশিনে দৈনিক **স্বয়ংক্রিয়-ব্যাকআপ** (সর্বশেষ ১০টি রাখা হয়, এক-ক্লিকে ফোল্ডার অ্যাক্সেস)। - **ভাষা** — **১৮টি ভাষা**: English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Español · Português · Français · Deutsch · Italiano · Русский · Tiếng Việt · ไทย · Bahasa Indonesia · हिन्दी · বাংলা · العربية (RTL) · Türkçe, তাৎক্ষণিকভাবে বদলানো যায়। **উইন্ডোজের সঙ্গে চালু** ঐচ্ছিক। - **থিম** — ডার্ক (ডিফল্ট) / লাইট / Windows অনুসরণ; বেছে নেওয়ামাত্র কার্যকর, রিস্টার্ট লাগে না। - **আপডেট যাচাই** — ডিফল্টে বন্ধ; চালু থাকলে শুরুর সময় একবার GitHub-এ সংযোগ করে নতুন সংস্করণ আছে কিনা দেখে (অ্যাপের একমাত্র অনলাইন মুহূর্ত)। «এখনই দেখুন» দিয়ে চাহিদামতো চালান। ## কীবোর্ড চিট-শিট | কাজ | কি | | ----------------------------------------- | ---------------------------------------------------- | | প্যানেল আহ্বান / বন্ধ | `Ctrl+Shift+8` (কনফিগারযোগ্য) / `Esc` | | নির্বাচন / ক্যাটাগরি বদল / দ্রুত নির্বাচন | `↑↓` / `←→` / `Alt+1–9` | | পাঠান | `Enter` বা ডাবল-ক্লিক (একক-ক্লিক ঐচ্ছিক) | | ফেভারিট / আন-ফেভারিট | `Ctrl+D` | | প্যানেলে তৈরি / সম্পাদনা | `Ctrl+N` / `Ctrl+E` | | মুছে ফেলা ফিরিয়ে আনুন (Manager) | `Ctrl+Z` | | সংক্ষিপ্ত রূপ: ট্রিগার / ফিরিয়ে আনা | abbr + Space·Tab·Enter টাইপ / প্রসারণের পর Backspace | --- ## এক নজরে বৈশিষ্ট্য - **আহ্বান**: গ্লোবাল হটকি — একটি **কি কম্বো** (ফাংশন কি একক কি হিসেবে কাজ করে) বা **একটি মডিফায়ার একক/ডাবল-ট্যাপ** (যেমন ডান Ctrl), **একটি বেছে নিন**; প্যানেল সক্রিয় উইন্ডো / টেক্সট ক্যারেট / মনে রাখা অবস্থান অনুসরণ করে; উপরের-সারির বোতামগুলো **New / Manager / Settings**-এ যায়; পরপর কয়েকটি পাঠাতে এটি পিন করুন; মনে রাখা আকার সহ টেনে ও আকার বদল করুন। - **সার্চ**: নাম / পিনয়িন / আদ্যক্ষর / সংক্ষিপ্ত রূপ / মূল টেক্সট, হাইলাইট করা; **ব্যবহারের ফ্রিকোয়েন্সি (frecency) দিয়ে সমতা নিষ্পত্তি**; `@category keywords` সার্চকে একটি ক্যাটাগরিতে সীমাবদ্ধ করে (খালি `@category` সেটি ব্রাউজ করে)। - **কনটেন্ট**: প্লেইন টেক্সট (একাধিক লাইন, বিশেষ অক্ষর, ইমোজি ক্ষতিহীন), প্লেসহোল্ডার (ডিফল্ট / অপশন ড্রপডাউন / স্নিপেট নেস্টিং / কাস্টম তারিখ ফরম্যাট / uuid / random — **প্রতি-স্নিপেটে অপ্ট-ইন**), **ছবি** (ক্লিপবোর্ড বা ফাইল থেকে, পাঠানোর সময় ছবি হিসেবে পেস্ট; **ছবিরও সংক্ষিপ্ত রূপ থাকতে পারে** — সংক্ষিপ্ত রূপ টাইপ করুন, ছবি পান)। - **সংক্ষিপ্ত রূপ**: টার্মিনেটর-ট্রিগার, ভেরিয়েবল প্রম্পট, এক-চাপে ফিরিয়ে আনা, Backspace টাইপো-সংশোধন, কেস-অসংবেদনশীল, ক্লিক টোকেন ভাঙে, ডুপ্লিকেট সতর্কতা, প্রতি-অ্যাপ ব্ল্যাকলিস্ট, **এক-ক্লিক ট্রে বিরতি**। - **আউটপুট**: সরাসরি পেস্ট / শুধু কপি; ঐচ্ছিক স্বয়ংক্রিয়-Enter, ক্লিপবোর্ড পুনরুদ্ধার, একক-ক্লিক পাঠানো; **প্রতি-স্নিপেট আউটপুট ওভাররাইড**; ক্যাপচার হটকি (এক চাপে ক্লিপবোর্ড → স্নিপেট)। - **Manager**: **প্রশস্ত মূল-টেক্সট এডিটর** (`⤢ বড় করুন` এটিকে নিজস্ব উইন্ডোতে খোলে; সংরক্ষণ না করা পরিবর্তন সবসময় নিশ্চিত করা হয় — উইন্ডো বন্ধ করার সময়ও, অন্য এন্ট্রিতে যাওয়ার সময়ও), **প্লেসহোল্ডার হাইলাইটিং** (ধরন অনুযায়ী রঙিন; মৃত স্নিপেট রেফারেন্স / অবৈধ তারিখ ফরম্যাট / অসম্পূর্ণ ব্রেস হোভারে কারণসহ লাল স্কুইগলি দেখায়; প্লেসহোল্ডার বন্ধ থাকলে কিছুই হাইলাইট হয় না — পরিবর্তে স্ট্যাটাস বার তা জানিয়ে দেয়), **কোড-বান্ধব** (বড় করা উইন্ডো সবসময় লাইন নম্বর দেখায় এবং সিনট্যাক্স হাইলাইটিংয়ের জন্য ১৩টি কোড ফরম্যাট দেয়; Enter ইন্ডেন্টেশন বজায় রাখে, `Tab` মাল্টি-লাইন নির্বাচন ইন্ডেন্ট করে, নো-র‍্যাপ মোড), ৭টি ক্যাটাগরি রঙ, টেনে পুনর্বিন্যাস / সরানো, **মাল্টি-সিলেক্ট ব্যাচ সরানো / মুছে ফেলা** (Ctrl / Shift নির্বাচন, তারপর ডান-ক্লিক), মুছে ফেলা ফিরিয়ে আনা, **ট্র্যাশ (৩০-দিন পুনরুদ্ধার, মূল টেক্সট প্রিভিউ সহ)**, ডুপ্লিকেট-abbr সতর্কতা, ব্যবহার পরিসংখ্যান, সংরক্ষণ প্রতিক্রিয়া। - **ডেটা**: স্থানীয় JSON, হট-রিলোড (বাহ্যিক সম্পাদনা / সিঙ্ক স্বয়ংক্রিয়ভাবে মার্জ করে), সিঙ্ক-দ্বন্দ্ব বিজ্ঞপ্তি, এক্সপোর্ট / ইমপোর্ট ব্যাকআপ, **দৈনিক স্বয়ংক্রিয়-ব্যাকআপ (১০টি রাখা)**, উইন্ডোজের সঙ্গে চালু। - **স্থানীয়করণ**: **১৮টি UI ভাষা** (সরলীকৃত / প্রথাগত চীনা, English, 日本語, 한국어, Español, Français, Deutsch, Русский, العربية …) **আরবির জন্য ডান-থেকে-বাম মিররিং** সহ, Settings-এ সরাসরি বদলানো। ডার্ক ও লাইট থিমও (বা Windows অনুসরণ) সঙ্গে সঙ্গে বদলায়। - **দৃঢ়তা**: একক ইনস্ট্যান্স (দ্বিতীয়বার চালু করলে হুক দুবার ইনস্টল না করে সার্চ প্যানেল আহ্বান করে); CI প্রতিটি পুশে টেস্ট প্লাস একটি উইন্ডো স্মোক-চেক চালায় এবং `v*` ট্যাগে দুটি একক-ফাইল বিল্ডই প্রকাশ করে। ## ডেটা ও সিঙ্ক ডেটা ফোল্ডার (ডিফল্ট `Documents\QuickText`, Settings-এ বদলানো যায়, একটি সিঙ্ক ড্রাইভে নির্দেশ করতে পারে): ```text / ├─ index.json # category order + each category's file name and color ├─ .json # the snippets in that category (Snippet[]) ├─ trash.json # soft-deleted snippets (auto-purged after 30 days) └─ images/ # image files for image snippets ``` - `Snippet`: `{ id, name, abbr, body, useVariables, outputMode, imagePath?, updatedAt }`। - **অ্যাটমিক রাইট** (`*.tmp` → `File.Replace`) যাতে একটি সিঙ্ক কখনো অর্ধেক-লেখা ফাইল না পড়ে; `FileSystemWatcher` হট-রিলোড (একত্রীকৃত), একটি স্ব-রাইট গার্ড সহ। - মেশিন-স্থানীয় অবস্থা **সিঙ্ক ফোল্ডারের বাইরে** থাকে: সেটিংস `%APPDATA%\QuickText\settings.json`-এ, ব্যবহারের গণনা / ফেভারিট `%APPDATA%\QuickText\usage.stats`-এ (এগুলো প্রতিটি পাঠানোয় বদলায় এবং মেশিনের মধ্যে দ্বন্দ্ব ঘটাত), দৈনিক স্বয়ংক্রিয়-ব্যাকআপ `%APPDATA%\QuickText\backups\`-এ। - **পোর্টেবল মোড** (চিহ্ন-মুক্ত / USB): এটি **Settings → Data → Portable mode**-এ চালু করুন — এটি `QuickText.exe`-এর পাশে একটি `QuickText.portable` মার্কার ফেলে এবং **পরবর্তী রিস্টার্টে প্রয়োগ হয়** (প্রথম পোর্টেবল চালু আপনার সেটিংস এবং ব্যবহার সঙ্গে বহন করে, তাই আপনাকে আবার কনফিগার করতে হয় না)। সেটিংস, ব্যবহার, ব্যাকআপ এবং ডিফল্ট লাইব্রেরি তখন `%APPDATA%` / Documents-এর বদলে `\Data\`-এর অধীনে থাকে, এবং "উইন্ডোজের সঙ্গে চালু" রেজিস্ট্রির বদলে একটি Startup-ফোল্ডার শর্টকাট ব্যবহার করে — তাই পুরো টুলটি একটি স্টিকে ভ্রমণ করে এবং হোস্টে কিছু রেখে যায় না। অ্যাপটি একটি লেখারযোগ্য অবস্থানে থাকতে হবে (একটি USB স্টিক, `Program Files` নয়); **টেক্সট লাইব্রেরি Export / Import backup-এর মাধ্যমে সরে**। উইন্ডোজের-সঙ্গে-চালু প্রতি মোড অনুসারে ট্র্যাক করা হয়, তাই বদলানোর পর নতুন মোডে চাইলে এটি আবার টিক দিন। উপরের ইনস্টল করা লেআউটের জন্য এটি বন্ধ রাখুন (ডেটা ফোল্ডার একটি সিঙ্ক ড্রাইভ হলে সঠিক পছন্দ)।
_(এটি একটি মার্কার ফাইল হতে হবে, একটি সাধারণ সেটিং নয় — এটি সিদ্ধান্ত নেয় `settings.json` নিজে কোথায় থাকে; সুইচটি শুধু পরবর্তী চালুতে কার্যকর হয়, কখনো বর্তমান সেশন বিঘ্নিত করে না।)_ ## ব্র্যান্ড অ্যাসেট `assets/branding/`-এ থাকে: `quicktext-mark.svg` (প্রাথমিক), `quicktext-mark-mono.svg` (মনোক্রোম), `quicktext.ico` (16–256, অ্যাপ / ট্রে আইকন), `quicktext-256.png`, `quicktext-social.png` (1200×630 og:image), `quicktext-social-2x.png` (2400×1260 @2x), `brand.html` (ব্র্যান্ড শিট)। মার্কটি একটি পুদিনা-রঙা টাইলের উপর একটি **টেক্সট I-beam ক্যারেট**, যার পাশে সদ্য-বসানো টেক্সটের একটি অ্যাম্বার ব্লক — “text▮”, অর্থাৎ আপনার টেক্সট কার্সরে রাখা। প্যালেট “terminal dusk”: পুদিনা (অ্যাপ অ্যাকসেন্ট `#3DC2A0`) + অ্যাম্বার `#F2B457` টিল-ঝোঁকযুক্ত কালিতে; একটি sans ওয়ার্ডমার্ক Cascadia Code মনোর সঙ্গে জুড়ি বাঁধা। ## আর্কিটেকচার বিশুদ্ধ Core (কোনো Win32 নয়, ইউনিট-টেস্টযোগ্য) Win32/UI থেকে আলাদা রাখা। | প্রকল্প | বিষয়বস্তু | | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `src/QuickText.Core` | `Models`, `Persistence` (`Store`, `UsageStore`, `JsonConfig`), `Search` (`SearchIndex`), `Abbr` (`AbbrMatcher`), `Snippets` (`Placeholders`), `Pinyin`, `Settings`, `Localization` (.resx, ১৮টি ভাষা) | | `src/QuickText.App` | WPF UI (`SearchPanel` / `ManagerWindow` / `SettingsWindow` / `AppDialog` / `VariablesDialog`), `Ui/Theme.xaml` (ডার্ক থিম), `Interop` (`GlobalHotkey`, `KeyboardHook`, `PasteEngine`, `Autostart`, `NativeMethods`) | | `tests/QuickText.Core.Tests` | Core ইউনিট টেস্ট (xUnit) | ## বিল্ড ও রান ```bash dotnet build QuickText.sln -c Debug dotnet test tests/QuickText.Core.Tests/QuickText.Core.Tests.csproj dotnet run --project src/QuickText.App # or run QuickText.exe under bin ``` একটি একক-ফাইল পোর্টেবল বিল্ড প্রকাশ করুন (win-x64): ```bash dotnet publish src/QuickText.App -c Release -p:PublishProfile=win-x64 dotnet publish src/QuickText.App -c Release -p:PublishProfile=win-x64-needs-dotnet10 ``` .NET 10 SDK প্রয়োজন। শুধু উইন্ডোজ (Win32 গ্লোবাল হটকি / কীবোর্ড হুক / ক্লিপবোর্ড)। ## লাইসেন্স [MIT License](../../LICENSE) · কপিরাইট © 2026 rockbenben। ব্যবহার, পরিবর্তন এবং বিতরণে স্বাধীন। ## ৩৬৫ ওপেন সোর্স প্ল্যান সম্পর্কে [৩৬৫ ওপেন সোর্স প্ল্যান](https://github.com/rockbenben/365opensource)-এর প্রজেক্ট **#023** — একজন মানুষ + AI, এক বছরে ৩০০+ ওপেন সোর্স প্রজেক্ট। [আপনার আইডিয়া জমা দিন →](https://365.aishort.top/) · [Discord](https://discord.gg/PZTQfJ4GjX) · [Telegram](https://t.me/aishort_top)