1
1
Fork 0
mirror of https://github.com/pbatard/rufus.git synced 2024-08-14 23:57:05 +00:00

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

View file

@ -365,8 +365,9 @@ char* lmprintf(uint32_t msg_id, ...)
static int buf_id = 0; static int buf_id = 0;
static char buf[LOC_MESSAGE_NB][LOC_MESSAGE_SIZE]; static char buf[LOC_MESSAGE_NB][LOC_MESSAGE_SIZE];
char *format = NULL; char *format = NULL;
size_t pos = 0;
va_list args; 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_id %= LOC_MESSAGE_NB;
buf[buf_id][0] = 0; buf[buf_id][0] = 0;
@ -379,13 +380,22 @@ char* lmprintf(uint32_t msg_id, ...)
if (format == NULL) { if (format == NULL) {
safe_sprintf(buf[buf_id], LOC_MESSAGE_SIZE-1, "MSG_%03d UNTRANSLATED", msg_id - MSG_000); safe_sprintf(buf[buf_id], LOC_MESSAGE_SIZE-1, "MSG_%03d UNTRANSLATED", msg_id - MSG_000);
} else { } else {
if (needs_rtf_rtl_marks) if (right_to_left_mode) {
safe_strcpy(buf[buf_id], LOC_MESSAGE_SIZE-1, "\\rtlch"); 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); 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); va_end(args);
if (needs_rtf_rtl_marks) if (right_to_left_mode) {
safe_strcat(buf[buf_id], LOC_MESSAGE_SIZE-1, "\\ltrch"); 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'; buf[buf_id][LOC_MESSAGE_SIZE-1] = '\0';
} }
return buf[buf_id++]; return buf[buf_id++];

View file

@ -42,6 +42,7 @@
#define LEFT_TO_RIGHT_EMBEDDING "" #define LEFT_TO_RIGHT_EMBEDDING ""
#define RIGHT_TO_LEFT_EMBEDDING "" #define RIGHT_TO_LEFT_EMBEDDING ""
#define POP_DIRECTIONAL_FORMATTING "" #define POP_DIRECTIONAL_FORMATTING ""
#define LEFT_TO_RIGHT_OVERRIDE ""
#define RIGHT_TO_LEFT_OVERRIDE "" #define RIGHT_TO_LEFT_OVERRIDE ""
#define DRIVE_ACCESS_TIMEOUT 15000 // How long we should retry drive access (in ms) #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 #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 IDD_DIALOG DIALOGEX 12, 12, 232, 326
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_ACCEPTFILES EXSTYLE WS_EX_ACCEPTFILES
CAPTION "Rufus 3.0.1285" CAPTION "Rufus 3.0.1286"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0 FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN BEGIN
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
@ -389,8 +389,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,0,1285,0 FILEVERSION 3,0,1286,0
PRODUCTVERSION 3,0,1285,0 PRODUCTVERSION 3,0,1286,0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -407,13 +407,13 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)"
VALUE "FileDescription", "Rufus" VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "3.0.1285" VALUE "FileVersion", "3.0.1286"
VALUE "InternalName", "Rufus" VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011-2018 Pete Batard (GPL v3)" VALUE "LegalCopyright", "© 2011-2018 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
VALUE "OriginalFilename", "rufus.exe" VALUE "OriginalFilename", "rufus.exe"
VALUE "ProductName", "Rufus" VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "3.0.1285" VALUE "ProductVersion", "3.0.1286"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View file

@ -1073,7 +1073,9 @@ INT_PTR CALLBACK TooltipCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM
case TTN_GETDISPINFOW: case TTN_GETDISPINFOW:
lpnmtdi = (LPNMTTDISPINFOW)lParam; lpnmtdi = (LPNMTTDISPINFOW)lParam;
lpnmtdi->lpszText = ttlist[i].wstring; 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; return (INT_PTR)TRUE;
} }
break; break;
@ -1758,7 +1760,7 @@ LPCDLGTEMPLATE GetDialogTemplate(int Dialog_ID)
if (right_to_left_mode) { 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 // 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 = (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: // All our dialogs are set to use 'Segoe UI Symbol' by default: