[loc] fix various RTL localization issues

With thanks to Itiel

* Fix a potential buffer overflow in lmprintf for RTL languages
* Automatically apply RLE/PDF to all RTL messages, and remove the RLE/PDFs from the .loc
* Fix Windows messing up of multiline RTL tooltips (The trick is, if you want actually
  want RTL, you need to *disable* RTL... Sure, Microsoft, that makes a lot of sense?!?)
* Also properly scale the length of the multiline tooltips according to the zoom factor
* Closes #1132
This commit is contained in:
Pete Batard 2018-05-17 20:45:32 +01:00
parent 34ee2f6382
commit c3aaa0c252
5 changed files with 82 additions and 97 deletions

View File

@ -792,8 +792,7 @@ t MSG_105 "الإلغاء قد يترك الجهاز في حالة غير صال
t MSG_106 "الرجاء إختيار المجلد"
t MSG_107 "جميع الملفات"
t MSG_108 "سجلّ روفوس"
# LTR & RTL before and after "0x%02X"
t MSG_109 "0x%02X (قرص %d)"
t MSG_109 "0x%02X (قرص %d)"
# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT
# "kilobytes" should be the same as in MSG_027
t MSG_110 "MS-DOS لا يمكنه التمهيد من محرك أقراص يستخدم حجم الكلستر64 كيلو بايت.\n"
@ -830,8 +829,8 @@ t MSG_122 "أخفاء %s"
# Partition Scheme and Target Type
t MSG_150 "نوع جهاز الحاسوب الذي تخطط لاستخدام محرك الأقراص القابل للأقلاع الحالي, إنها مسؤوليتك لتحديد إذا "
"كان الجهاز من نوع BIOS أو UEFI قبل إنشاء محرك الأقراص, وإلا قد يفشل محرك الأقراص في الأقلاع"
t MSG_151 "'UEFI-CSM' تعني أن الجهاز سوف يقلع فقط في وضع محاكات BIOS (يعرف أيضا ب 'Legacy Mode') في وضع UEFI, وليس في وضع UEFI الأساسي."
t MSG_152 "'بدون CSM' تعني أن الجهاز سوف يقلع فثط في وضع UEFI الأساسي, وليس وضع محاكات BIOS (تعرف أيضا ب 'Legacy Mode')"
t MSG_151 "'UEFI-CSM' تعني أن الجهاز سوف يقلع فقط في وضع محاكات BIOS (يعرف أيضا ب 'Legacy Mode') في وضع UEFI, وليس في وضع UEFI الأساسي."
t MSG_152 "'بدون CSM' تعني أن الجهاز سوف يقلع فثط في وضع UEFI الأساسي, وليس وضع محاكات BIOS (تعرف أيضا ب 'Legacy Mode')"
t MSG_153 "إختبار نمط: 0x%02X"
t MSG_154 "إختبار نمط: 0x%02X, 0x%02X"
t MSG_155 "إختبار نمط: 0x%02X, 0x%02X, 0x%02X"
@ -856,10 +855,7 @@ t MSG_170 "تمكين إدراج مرفقات القرص الصلب USB. إست
t MSG_171 "بدء عملية الفرمتة. \nستم تدمير أية بيانات على الهدف!"
t MSG_173 "إضغط لاختيار..."
# The following will appear in the about dialog
# NOTE: Because it starts with English text, the line below requires an invisible
# RIGHT-TO-LEFT EMBEDDING (UTF-8: 0xE2 0x80 0xAB) at the beginning and a
# POP DIRECTIONAL FORMATTING (UTF-8: 0xE2 0x80 0xAC) at the end.
t MSG_174 "Rufus - أداة فرمتة الـ USB جديرة بالثقة‬"
t MSG_174 "Rufus - أداة فرمتة الـ USB جديرة بالثقة"
t MSG_175 "إصدار %d.%d (بناء %d)"
t MSG_176 "الرجمة العربية: عمر الصمد، تحديث: فراس السيخ"
t MSG_177 "إخبار عن مشكلة أو طلب تعديلات على:"
@ -6542,10 +6538,7 @@ t MSG_170 "להראות כוננים קשיחים של USB. השימוש באח
t MSG_171 "התחל את פעולת האתחול.\nזה ישמיד את כל המידע על ההתקן!"
t MSG_173 "לחץ/י כדי לבחור..."
# The following will appear in the about dialog
# NOTE: Because it starts with English text, the line below requires an invisible
# RIGHT-TO-LEFT EMBEDDING (UTF-8: 0xE2 0x80 0xAB) at the beginning and a
# POP DIRECTIONAL FORMATTING (UTF-8: 0xE2 0x80 0xAC) at the end.
t MSG_174 "Rufus - שירות אתחול USB האמין ביותר‬"
t MSG_174 "Rufus - שירות אתחול USB האמין ביותר"
t MSG_175 "גרסה %d.%d (Build %d)"
t MSG_176 "תרגום עברי: נועם סרוסי וידידים"
t MSG_177 "דווח על באגים או הצע שיפורים:"
@ -10774,10 +10767,8 @@ t IDCANCEL "بستن"
# Messages used throughout the application
t MSG_001 "شناسایی نمونه دیگری از نرم‌افزار"
# NOTE: To make the output look correctly, in the line below there are RLE & PDF invisible Unicode directional formatting characters.
# Position: (RLE) At the beginning and (PDF) at the end of each line.
t MSG_002 "‫نمونه دیگری از نرم‌افزار Rufus در حال اجراست.\n"
"‫امکان اجرای همزمان دو نمونه از نرم‌افزار وجود ندارد. لطفاً قبل از باز کردن نرم‌افزار جدید، نمونه قبلی در حال اجرا را ببندید."
t MSG_002 "نمونه دیگری از نرم‌افزار Rufus در حال اجراست.\n"
"امکان اجرای همزمان دو نمونه از نرم‌افزار وجود ندارد. لطفاً قبل از باز کردن نرم‌افزار جدید، نمونه قبلی در حال اجرا را ببندید."
# NOTE: To make the output look correctly, in the line below there are LRE & PDF invisible Unicode directional formatting characters.
# Position: (LRE) At the beginning and (PDF) at the end of %s.
t MSG_003 "هشدار!\n"
@ -10800,7 +10791,7 @@ t MSG_014 "روزانه"
t MSG_015 "هفتگی"
t MSG_016 "ماهانه"
t MSG_017 "سفارشی"
# TRANSLATOR NOTE: In the both lines below 'LRE' & 'PDF' are used
# TRANSLATOR NOTE: In both lines below 'LRE' & 'PDF' are used
t MSG_018 "نسخه کنونی نرم‌افزار شما: %d.%d (Build %d)"
t MSG_019 "آخرین نسخه موجود: %d.%d (Build %d)"
# *Short* size names. These can be used as suffixes
@ -10892,9 +10883,7 @@ t MSG_086 "فایل ایمیج انتخاب نشده است"
t MSG_088 "فایل ایمیج بیش از اندازه بزرگ است"
t MSG_089 "اندازه فایل ایمیج (Image) از ظرفیت درایو انتخاب‌شده بیشتر است."
t MSG_090 "خطا در انتخاب فایل ISO"
# NOTE: To make the output look correctly, in the line below there are RLE & PDF invisible Unicode directional formatting characters.
# Position: (RLE) At the beginning and (PDF) at the end of string.
t MSG_091 "‫هنگامی‌که نوع UEFI را انتخاب می‌کنید؛ فقط می‌توانید از فایل‌های ISO با قابلیت راه‌اندازی EFI (EFI Bootable) استفاده کنید. "
t MSG_091 "هنگامی‌که نوع UEFI را انتخاب می‌کنید؛ فقط می‌توانید از فایل‌های ISO با قابلیت راه‌اندازی EFI (EFI Bootable) استفاده کنید. "
"لطفاً از یک فایل ISO با قابلیت راه‌اندازی EFI استفاده کنید یا در گزینه‌ها نوع BIOS را انتخاب کنید."
t MSG_092 "سیستم فایل پشتیبانی نمی‌شود"
t MSG_093 "هشدار مهم! درایو انتخاب‌شده چندین پارتیشن دارد.\n\n"
@ -11005,8 +10994,7 @@ t MSG_170 "لطفاً با آگاهی کامل این گزینه را انتخا
t MSG_171 "شروع فرآیند فرمت کردن\n با این کار، همه اطلاعات موجود در درایوی که انتخاب کرده‌اید «پاک» می‌شود"
t MSG_173 "برای انتخاب کلیک کنید"
# The following will appear in the about dialog
# Translator Note: In the line below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_174 "Rufus، ابزاری کاربردی و قابل‌اطمینان برای فرمت کردن درایوهای USB"
t MSG_174 "Rufus، ابزاری کاربردی و قابل‌اطمینان برای فرمت کردن درایوهای USB"
t MSG_175 "نسخه %d.%d (Build %d)"
t MSG_176 "ترجمه فارسی: سید ضیاءالدین عظیمی «mailto:s.zia.azimi@gmail.com»"
t MSG_177 "گزارش اشکال (Bug) یا درخواست قابلیت جدید و بهبود نرم‌افزار در:"
@ -11016,12 +11004,11 @@ t MSG_180 "اگر به این نرم‌افزار اجازه بررسی به‌
"شما موافقت خود را با احتمال جمع‌آوری اطلاعات زیر در سرور یا سرورهای ما اعلام کرده‌اید:"
t MSG_181 "معماری و نسخه سیستم‌عامل شما"
t MSG_182 "نسخه این نرم‌افزار که در حال استفاده از آن هستید"
t MSG_183 "آدرس IP شما"
t MSG_183 "آدرس IP شما"
t MSG_184 "به جهت تولید آمار استفاده شخصی، ممکن است ما این اطلاعات جمع‌آوری‌شده را "
"\\b برای حداکثر یک سال \\b0نگهداری کنیم. با وجود این، ما از روی میل این داده‌های فردی را در اختیار شخص ثالث قرار نخواهیم داد."
t MSG_185 "فرآیند به‌روزرسانی:"
# Translator Note: In the line below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_186 "Rufus هیچ سرویس پس‌زمینه‌ای را اجرا یا نصب نمی‌کند؛ بنابراین فقط زمانی که نرم‌افزار در حال اجرا است فرآیند بررسی به‌روزرسانی‌های جدید انجام می‌شود.\\line\n"
t MSG_186 "Rufus هیچ سرویس پس‌زمینه‌ای را اجرا یا نصب نمی‌کند؛ بنابراین فقط زمانی که نرم‌افزار در حال اجرا است فرآیند بررسی به‌روزرسانی‌های جدید انجام می‌شود.\\line\n"
"واضح است هنگام بررسی به‌روزرسانی‌ها، دسترسی به اینترنت لازم است."
t MSG_187 "ناهماهنگی بین ایمیج و گزینه راه‌اندازی انتخاب‌شده"
t MSG_188 "این فایل ایمیج (Image)، با تنظیمات راه‌اندازی (Boot) انتخاب‌شده؛ سازگار نیست. لطفاً فایل یا تنظیمات دیگری انتخاب کنید."
@ -11043,20 +11030,15 @@ t MSG_197 "شناسایی اندازه سکتور غیراستاندارد"
t MSG_198 "استفاده از قابلیت «Windows To Go» فقط در درایوهای پارتیشن‌بندی‌شده به روش "
"GPT که دارای ویژگی «FIXED» هستند؛ امکان‌پذیر است. درایوی که شما انتخاب کرده‌اید ویژگی «FIXED» را ندارد."
# Status messages - these messages will appear on the status bar
# Translator Note: In the 2 lines below there are invisible Unicode directional formatting characters.
# RLE (RIGHT-TO-LEFT EMBEDDING) at the beginning of the string
# PDF (POP DIRECTIONAL FORMATTING) at the end of the string
t MSG_201 "‫در حال لغو کردن؛ لطفاً صبور باشید..."
t MSG_202 "‫در حال پویش و بررسی ایمیج..."
t MSG_201 "در حال لغو کردن؛ لطفاً صبور باشید..."
t MSG_202 "در حال پویش و بررسی ایمیج..."
t MSG_203 "بررسی ایمیج ناموفق بود"
# Parameter: the name of an obsolete Syslinux .c32 module. eg: "Obsolete vesamenu.c32 detected"
# Translator Note: In the line below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_204 "‫فایل قدیمی و منسوخ %s شناسایی شد‬"
t MSG_204 "فایل قدیمی و منسوخ %s شناسایی شد"
# Display the name of the image selected. eg: "Using image: en_win7_x64_sp1.iso"
t MSG_205 "در حال استفاده از ایمیج: %s"
# Typically "Missing ldlinux.c32 file"
# Translator Note: In the line below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_206 "‫فایل %s موجود نیست‬"
t MSG_206 "فایل %s موجود نیست"
# The name proposed by Windows' Computer Management -> Disk Management when you try to format a drive
# with an empty label. See http://rufus.akeo.ie/pics/default_name.png
t MSG_207 "New Volume"
@ -11067,55 +11049,50 @@ t MSG_210 "آماده"
t MSG_211 "لغو شد"
t MSG_212 "ناموفق بود"
# Used when a new update has been downloaded and launched
# Translator Note: In the line below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_213 "‫در حال راه‌اندازی نسخه جدید نرم‌افزار..."
t MSG_213 "در حال راه‌اندازی نسخه جدید نرم‌افزار..."
t MSG_214 "راه‌اندازی نسخه جدید نرم‌افزار ناموفق بود"
# Open/Save file
# Translator Note: From MSG_215 to MSG_235, invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_215 "%s باز شد‬"
t MSG_216 "%s ذخیره شد‬"
t MSG_215 "%s باز شد"
t MSG_216 "%s ذخیره شد"
# Formatting status (make sure you use a double % to print the percent sign)
t MSG_217 "در حال فرمت کردن؛ درصد پیشرفت: %0.1f%%"
t MSG_218 "در حال ساختن سیستم فایل؛ تعداد وظایف انجام شده: %d/%d"
t MSG_219 "ایجاد ساختار NTFS Fixup؛ درصد پیشرفت: %d%%"
t MSG_217 "در حال فرمت کردن؛ درصد پیشرفت: %0.1f%%"
t MSG_218 "در حال ساختن سیستم فایل؛ تعداد وظایف انجام شده: %d/%d"
t MSG_219 "ایجاد ساختار NTFS Fixup؛ درصد پیشرفت: %d%%"
# Parameter: the file system and an estimated duration in mins and secs.
# eg. "Formatting (UDF) - Estimated duration 3:21..."
# NB: if "estimated duration" is too long, just use "estimated" or an abbreviation
t MSG_220 "در حال فرمت کردن (%s)؛ زمان تخمینی: %d:%02d"
t MSG_221 "در حال نام‌گذاری درایو (ممکن است کمی زمان‌بر باشد)..."
t MSG_220 "در حال فرمت کردن (%s)؛ زمان تخمینی: %d:%02d"
t MSG_221 "در حال نام‌گذاری درایو (ممکن است کمی زمان‌بر باشد)..."
# Parameter: the file system. eg. "Formatting (NTFS)..."
t MSG_222 "در حال فرمت کردن (%s)..."
t MSG_223 "در حال ایجاد ساختار NTFS Fixup (Checkdisk)..."
t MSG_224 "در حال پاک‌کردن ساختارهای MBR/PBR/GPT..."
t MSG_225 "در حال درخواست دسترسی به دیسک..."
t MSG_226 "در حال بررسی رکوردهای راه‌انداز موجود..."
t MSG_227 "در حال بستن درایوهای موجود..."
t MSG_228 "در حال نوشتن رکورد راه‌انداز اصلی (MBR)..."
t MSG_229 "در حال نوشتن رکورد راه‌انداز پارتیشن (PBR)..."
t MSG_230 "در حال کپی کردن فایل‌های DOS..."
t MSG_231 "در حال کپی کردن محتویات فایل ISO..."
t MSG_232 "در حال نصب راه‌انداز EFI ویندوز ۷ (ممکن است کمی زمان‌بر باشد)..."
t MSG_233 "در حال انجام مرحله نهایی، لطفاً صبور باشید..."
t MSG_222 "در حال فرمت کردن (%s)..."
t MSG_223 "در حال ایجاد ساختار NTFS Fixup (Checkdisk)..."
t MSG_224 "در حال پاک‌کردن ساختارهای MBR/PBR/GPT..."
t MSG_225 "در حال درخواست دسترسی به دیسک..."
t MSG_226 "در حال بررسی رکوردهای راه‌انداز موجود..."
t MSG_227 "در حال بستن درایوهای موجود..."
t MSG_228 "در حال نوشتن رکورد راه‌انداز اصلی (MBR)..."
t MSG_229 "در حال نوشتن رکورد راه‌انداز پارتیشن (PBR)..."
t MSG_230 "در حال کپی کردن فایل‌های DOS..."
t MSG_231 "در حال کپی کردن محتویات فایل ISO..."
t MSG_232 "در حال نصب راه‌انداز EFI ویندوز ۷ (ممکن است کمی زمان‌بر باشد)..."
t MSG_233 "در حال انجام مرحله نهایی، لطفاً صبور باشید..."
# Takes a Syslinux version as parameter, eg. "Installing Syslinux v5.10..."
t MSG_234 "در حال نصب Syslinux %s..."
t MSG_234 "در حال نصب Syslinux %s..."
# Bad blocks status. eg: "Bad Blocks: Write pass 1/2 - 12.34% (0/0/1 errors)"
# See MSG_191/192 for "Write pass"/"Read pass" translation
t MSG_235 "بررسی بدسکتور: %s %d/%d - %0.2f%% (%d/%d/%d خطاها)"
t MSG_235 "بررسی بدسکتور: %s %d/%d - %0.2f%% (%d/%d/%d خطاها)"
t MSG_236 "بررسی بدسکتور: آزمایش با استفاده از الگوی تصادفی"
# Translator Note: From MSG_237 to MSG_241, invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_237 "‫بررسی بدسکتور: آزمایش با استفاده از الگوی 0x%02X"
t MSG_237 "بررسی بدسکتور: آزمایش با استفاده از الگوی 0x%02X"
# eg. "Partitioning (MBR)..."
t MSG_238 "در حال پارتیشن‌بندی (%s)..."
t MSG_239 "در حال حذف پارتیشن‌ها..."
t MSG_241 "در حال دانلود: %0.1f%%"
t MSG_238 "در حال پارتیشن‌بندی (%s)..."
t MSG_239 "در حال حذف پارتیشن‌ها..."
t MSG_241 "در حال دانلود: %0.1f%%"
t MSG_242 "دانلود فایل ناموفق بود"
# Translator Note: In the line below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_243 "‫در حال بررسی به‌روزرسانی‌های Rufus..."
t MSG_243 "در حال بررسی به‌روزرسانی‌های Rufus..."
t MSG_244 "به‌روزرسانی: نرم‌افزار نتوانست به اینترنت وصل شود"
t MSG_245 "به‌روزرسانی: نرم‌افزار نتوانست به اطلاعات نسخه برنامه دسترسی پیدا کند"
# Translator Note: In the 2 lines below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_246 "‫نسخه جدیدی از Rufus موجود است!"
t MSG_247 "‫نسخه جدیدی برای Rufus پیدا نشد‬"
t MSG_246 "نسخه جدیدی از Rufus موجود است!"
t MSG_247 "نسخه جدیدی برای Rufus پیدا نشد"
t MSG_248 "کلیدهای رجیستری برنامه با موفقیت حذف شدند"
t MSG_249 "حذف کلیدهای رجیستری برنامه ناموفق بود"
# eg. "Fixed disk detection enabled" "ISO size check disabled"
@ -11130,29 +11107,26 @@ t MSG_257 "پشتیبانی از سیستم فایل Joliet"
t MSG_258 "پشتیبانی از سیستم فایل Rock Ridge"
t MSG_259 "وادار کردن به‌روزرسانی"
t MSG_260 "فشرده‌سازی NTFS"
t MSG_261 "در حال نوشتن اطلاعات ایمیج؛ درصد پیشرفت: %0.1f%%"
t MSG_261 "در حال نوشتن اطلاعات ایمیج؛ درصد پیشرفت: %0.1f%%"
# Cheat mode message to disable ISO Support so that only DD images can be opened
t MSG_262 "پشتیبانی از فایل ISO"
# Cheat mode to force legacy size units, where 1 KB is 1024 bytes and NOT that fake 1000 bytes abomination!
# TRANSLATOR NOTE: In the line below 'RLE','LRE' & 'PDF' are used
t MSG_263 "نمایش دودویی واحدهای حافظه (1 KB = 1024 bytes)"
# TRANSLATOR NOTE: In the line below LRE' & 'PDF' are used
t MSG_263 "نمایش دودویی واحدهای حافظه (1 KB = 1024 bytes)"
t MSG_264 "در حال حذف کردن پوشه '%s'"
t MSG_265 "شناسایی دیسک VMWare"
t MSG_266 "روش دوگانه UEFI/BIOS"
# Translator Note: In the 2 lines below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_267 "در حال استفاده از ایمیج ویندوز؛ درصد پیشرفت: %0.1f%%"
t MSG_268 "در حال استفاده از ایمیج ویندوز..."
t MSG_268 "در حال استفاده از ایمیج ویندوز..."
t MSG_269 "نگه‌داری برچسب زمان (timestamp)"
t MSG_270 "اشکال‌زدایی (debug) USB"
# Translator Note: In the line below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_271 "‫محاسبه جمع کنترلی (Checksum) ایمیج؛ درصد پیشرفت: %0.1f%%"
t MSG_271 "محاسبه جمع کنترلی (Checksum) ایمیج؛ درصد پیشرفت: %0.1f%%"
t MSG_272 "محاسبه جمع کنترلی (Checksum) SHA1 و MD5 برای ایمیج انتخاب‌شده"
t MSG_273 "تغییر زبان برنامه"
# TRANSLATOR NOTE: In the line below 'RLE' & 'PDF' are used
t MSG_274 "‫ایمیج ISOHybrid شناسایی شد‬"
t MSG_274 "ایمیج ISOHybrid شناسایی شد"
# '%s' below will be replaced with your translations for MSG_036 ("ISO Image") and MSG_095 ("DD Image")
t MSG_275 "ایمیجی که شما انتخاب کرده‌اید از نوع «ISOHybrid» است. به این معنی که این فایل می‌تواند "
"به روش «%s (کپی کردن فایل)» یا «%s (ایمیج دیسک)» نوشته شود. \n"
"به روش «%s (کپی کردن فایل)» یا «%s (ایمیج دیسک)» نوشته شود.\n"
"Rufus استفاده از روش «%s» را پیشنهاد می‌کند. در این روش پس از نوشتن اطلاعات در درایو، شما همیشه دسترسی کاملی به درایو خواهید داشت. \n"
"با این حال، اگر هنگام راه‌اندازی (boot) سیستم‌عامل با مشکلی برخورد کردید؛ شما می‌توانید دوباره نوشتن اطلاعات به روش «%s» را امتحان کنید.\n\n"
"لطفاً شیوه‌ای را که می‌خواهید با استفاده از آن اطلاعات ایمیج نوشته شود؛ انتخاب کنید."
@ -11180,12 +11154,10 @@ t MSG_293 "نسخه ویندوز پشتیبانی نمی‌شود"
t MSG_294 "Rufus دیگر این نسخه از ویندوز را پشتیبانی نمی‌کند"
t MSG_295 "هشدار: نسخه غیررسمی"
t MSG_296 "این نسخه از Rufus توسط توسعه‌دهندگان اصلی و رسمی آن تهیه نشده است.\n\nآیا برای اجرای آن مطمئن هستید؟"
# Translator Note: In the line below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_297 "‫فایل ISO ناقص شناسایی شده است‬"
# Translator Note: In the lines below invisible RLE (at the beginning) and PDF (at the end) are used
t MSG_298 "‫این فایل ISO که انتخاب کرده‌اید با اندازه تعیین شده در آن هماهنگی ندارد. %s از داده‌ها موجود نیست!\n\n"
"‫اگر این فایل را از اینترنت دانلود کرده‌اید، لطفا نسخه‌ای جدید از آن را دانلود کرده و مطمئن شوید که مقادیر کنترلی MD5 یا SHA آن عینا برابر با مقادیر رسمی آن‌هاست.\n\n"
"‫توجه داشته باشید که در Rufus می‌توانید با انتخاب دکمه (✓) مقادیر MD5 یا SHA را محاسبه کنید."
t MSG_297 "فایل ISO ناقص شناسایی شده است"
t MSG_298 "این فایل ISO که انتخاب کرده‌اید با اندازه تعیین شده در آن هماهنگی ندارد. %s از داده‌ها موجود نیست!\n\n"
"اگر این فایل را از اینترنت دانلود کرده‌اید، لطفا نسخه‌ای جدید از آن را دانلود کرده و مطمئن شوید که مقادیر کنترلی MD5 یا SHA آن عینا برابر با مقادیر رسمی آن‌هاست.\n\n"
"توجه داشته باشید که در Rufus می‌توانید با انتخاب دکمه (✓) مقادیر MD5 یا SHA را محاسبه کنید."
t MSG_299 "خطای اعتبارسنجی برچسب زمان (timestamp)"
t MSG_300 "از نظر برنامه، برچسب زمانی آپدیت دانلود شده معتبر نیست. \n\n"
"برای پیشگیری از حملات هک احتمالی، فرآیند به‌روزرسانی متوقف و فایل دانلود شده حذف خواهد شد. لطفا برای جزئیات بیشتر گزارش‌ها (لاگ) را بررسی کنید"

View File

@ -365,8 +365,9 @@ char* lmprintf(uint32_t msg_id, ...)
static int buf_id = 0;
static char buf[LOC_MESSAGE_NB][LOC_MESSAGE_SIZE];
char *format = NULL;
size_t pos = 0;
va_list args;
BOOL needs_rtf_rtl_marks = (msg_id & MSG_RTF) && right_to_left_mode;
BOOL is_rtf = (msg_id & MSG_RTF);
buf_id %= LOC_MESSAGE_NB;
buf[buf_id][0] = 0;
@ -379,13 +380,22 @@ char* lmprintf(uint32_t msg_id, ...)
if (format == NULL) {
safe_sprintf(buf[buf_id], LOC_MESSAGE_SIZE-1, "MSG_%03d UNTRANSLATED", msg_id - MSG_000);
} else {
if (needs_rtf_rtl_marks)
safe_strcpy(buf[buf_id], LOC_MESSAGE_SIZE-1, "\\rtlch");
if (right_to_left_mode) {
if (is_rtf) {
safe_strcpy(&buf[buf_id][pos], LOC_MESSAGE_SIZE - 1, "\\rtlch");
pos += 6;
}
safe_strcpy(&buf[buf_id][pos], LOC_MESSAGE_SIZE - 1, RIGHT_TO_LEFT_EMBEDDING);
pos += sizeof(RIGHT_TO_LEFT_EMBEDDING) - 1;
}
va_start(args, msg_id);
safe_vsnprintf(&buf[buf_id][needs_rtf_rtl_marks?6:0], LOC_MESSAGE_SIZE-1, format, args);
safe_vsnprintf(&buf[buf_id][pos], LOC_MESSAGE_SIZE- 1 - 2*pos, format, args);
va_end(args);
if (needs_rtf_rtl_marks)
safe_strcat(buf[buf_id], LOC_MESSAGE_SIZE-1, "\\ltrch");
if (right_to_left_mode) {
safe_strcat(buf[buf_id], LOC_MESSAGE_SIZE - 1, POP_DIRECTIONAL_FORMATTING);
if (is_rtf)
safe_strcat(buf[buf_id], LOC_MESSAGE_SIZE - 1, "\\ltrch");
}
buf[buf_id][LOC_MESSAGE_SIZE-1] = '\0';
}
return buf[buf_id++];

View File

@ -42,6 +42,7 @@
#define LEFT_TO_RIGHT_EMBEDDING ""
#define RIGHT_TO_LEFT_EMBEDDING ""
#define POP_DIRECTIONAL_FORMATTING ""
#define LEFT_TO_RIGHT_OVERRIDE ""
#define RIGHT_TO_LEFT_OVERRIDE ""
#define DRIVE_ACCESS_TIMEOUT 15000 // How long we should retry drive access (in ms)
#define DRIVE_ACCESS_RETRIES 150 // How many times we should retry

View File

@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 232, 326
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_ACCEPTFILES
CAPTION "Rufus 3.0.1285"
CAPTION "Rufus 3.0.1286"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
@ -389,8 +389,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,0,1285,0
PRODUCTVERSION 3,0,1285,0
FILEVERSION 3,0,1286,0
PRODUCTVERSION 3,0,1286,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -407,13 +407,13 @@ BEGIN
BEGIN
VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)"
VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "3.0.1285"
VALUE "FileVersion", "3.0.1286"
VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011-2018 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
VALUE "OriginalFilename", "rufus.exe"
VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "3.0.1285"
VALUE "ProductVersion", "3.0.1286"
END
END
BLOCK "VarFileInfo"

View File

@ -1073,7 +1073,9 @@ INT_PTR CALLBACK TooltipCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM
case TTN_GETDISPINFOW:
lpnmtdi = (LPNMTTDISPINFOW)lParam;
lpnmtdi->lpszText = ttlist[i].wstring;
SendMessage(hDlg, TTM_SETMAXTIPWIDTH, 0, 300);
// Don't ask me WHY we need to clear RTLREADING for RTL multiline text to look good
lpnmtdi->uFlags &= ~TTF_RTLREADING;
SendMessage(hDlg, TTM_SETMAXTIPWIDTH, 0, (LPARAM)(int)(150.0f * fScale));
return (INT_PTR)TRUE;
}
break;
@ -1758,7 +1760,7 @@ LPCDLGTEMPLATE GetDialogTemplate(int Dialog_ID)
if (right_to_left_mode) {
// Add the RTL styles into our RC copy, so that we don't have to multiply dialog definitions in the RC
dwBuf = (DWORD*)rcTemplate;
dwBuf[2] = WS_EX_RTLREADING | WS_EX_APPWINDOW | WS_EX_LAYOUTRTL;
dwBuf[2] = WS_EX_APPWINDOW | WS_EX_LAYOUTRTL;
}
// All our dialogs are set to use 'Segoe UI Symbol' by default: