# translation of DrakX-fa.po to Persian # Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. # Abbas Izad , 2003, 2004, 2005. # msgid "" msgstr "" "Project-Id-Version: DrakX-fa\n" "POT-Creation-Date: 2007-07-02 17:45+0800\n" "PO-Revision-Date: 2005-02-26 06:31+0100\n" "Last-Translator: Abbas Izad \n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.3.1\n" #: ../lib/Xconfig/card.pm:19 #, c-format msgid "256 kB" msgstr "۲۵۶ کیلوبایت" #: ../lib/Xconfig/card.pm:20 #, c-format msgid "512 kB" msgstr "۵۱۲ کیلوبایت" #: ../lib/Xconfig/card.pm:21 #, c-format msgid "1 MB" msgstr "۱ مگابایت" #: ../lib/Xconfig/card.pm:22 #, c-format msgid "2 MB" msgstr "۲ مگابایت" #: ../lib/Xconfig/card.pm:23 #, c-format msgid "4 MB" msgstr "۴ مگابایت" #: ../lib/Xconfig/card.pm:24 #, c-format msgid "8 MB" msgstr "۸ مگابایت" #: ../lib/Xconfig/card.pm:25 #, c-format msgid "16 MB" msgstr "۱۶ مگابایت" #: ../lib/Xconfig/card.pm:26 #, c-format msgid "32 MB" msgstr "۳۲ مگابایت" #: ../lib/Xconfig/card.pm:27 #, c-format msgid "64 MB or more" msgstr "۶۴ مگابایت یا بیشتر" #: ../lib/Xconfig/card.pm:175 #, c-format msgid "X server" msgstr "کارگزار X " #: ../lib/Xconfig/card.pm:176 #, c-format msgid "Choose an X server" msgstr "انتخاب یک کارگزار X " #: ../lib/Xconfig/card.pm:207 #, c-format msgid "Multi-head configuration" msgstr "پیکربندی چند-سر" #: ../lib/Xconfig/card.pm:208 #, c-format msgid "" "Your system supports multiple head configuration.\n" "What do you want to do?" msgstr "" "سیستم شما از پیکربندی چند سر پشتیبانی می‌کند.\n" "چکار می خواهید انجام دهید؟" #: ../lib/Xconfig/card.pm:279 #, c-format msgid "Select the memory size of your graphics card" msgstr "انتخاب اندازه‌ی حافظه‌ی کارت گرافیک‌تان" #: ../lib/Xconfig/card.pm:304 #, c-format msgid "" "There is a proprietary driver available for your video card which may " "support additional features.\n" "Do you wish to use it?" msgstr "" #: ../lib/Xconfig/card.pm:331 #, c-format msgid "" "The proprietary driver was not properly installed, defaulting to free " "software driver." msgstr "" #: ../lib/Xconfig/card.pm:398 #, c-format msgid "Configure all heads independently" msgstr "پیکربندی همه‌ی سرها بطور مستقل" #: ../lib/Xconfig/card.pm:399 #, c-format msgid "Use Xinerama extension" msgstr "استفاده از توسعه‌ی Xinerama " #: ../lib/Xconfig/card.pm:404 #, c-format msgid "Configure only card \"%s\"%s" msgstr "فقط پیکربندی کارت \"%s\"%s" #: ../lib/Xconfig/main.pm:91 ../lib/Xconfig/main.pm:92 #: ../lib/Xconfig/monitor.pm:115 #, c-format msgid "Custom" msgstr "سفارشی" #: ../lib/Xconfig/main.pm:126 #, fuzzy, c-format msgid "Graphic Card & Monitor Configuration" msgstr "پیکربندی اتصال" #: ../lib/Xconfig/main.pm:127 #, c-format msgid "Quit" msgstr "ترک" #: ../lib/Xconfig/main.pm:129 #, c-format msgid "Graphic Card" msgstr "کارت گرافیک" #: ../lib/Xconfig/main.pm:132 ../lib/Xconfig/monitor.pm:109 #, c-format msgid "Monitor" msgstr "نمایشگر" #: ../lib/Xconfig/main.pm:135 ../lib/Xconfig/resolution_and_depth.pm:312 #, c-format msgid "Resolution" msgstr "تفکیک‌پذیری" #: ../lib/Xconfig/main.pm:138 #, c-format msgid "Test" msgstr "آزمایش" #: ../lib/Xconfig/main.pm:143 #, c-format msgid "Options" msgstr "گزینه‌ها" #: ../lib/Xconfig/main.pm:148 #, c-format msgid "Plugins" msgstr "متصل‌کننده" #: ../lib/Xconfig/main.pm:182 #, c-format msgid "Your Xorg configuration file is broken, we will ignore it." msgstr "پرونده پیکربندی Xorg خراب شده است، آن را نادیده میگیریم." #: ../lib/Xconfig/main.pm:201 #, c-format msgid "" "Keep the changes?\n" "The current configuration is:\n" "\n" "%s" msgstr "" "آیا تغییرات نگه داشته شوند؟ \n" "پیکربندی کنونی:\n" "\n" "%s" #: ../lib/Xconfig/monitor.pm:110 #, c-format msgid "Choose a monitor for head #%d" msgstr "نمایشگری را برای سر #%d انتخاب کنید" #: ../lib/Xconfig/monitor.pm:110 #, c-format msgid "Choose a monitor" msgstr "انتخاب نمایشگری" #: ../lib/Xconfig/monitor.pm:116 #, c-format msgid "Plug'n Play" msgstr "Plug'n Play" #: ../lib/Xconfig/monitor.pm:117 ../lib/mouse.pm:47 #, c-format msgid "Generic" msgstr "عمومی" #: ../lib/Xconfig/monitor.pm:118 #, c-format msgid "Vendor" msgstr "فروشنده" #: ../lib/Xconfig/monitor.pm:128 #, c-format msgid "Plug'n Play probing failed. Please select the correct monitor" msgstr "وارسی Plug'n Play شکست خورد. لطفاً نمایشگر درستی را انتخاب کنید" #: ../lib/Xconfig/monitor.pm:136 #, c-format msgid "" "The two critical parameters are the vertical refresh rate, which is the " "rate\n" "at which the whole screen is refreshed, and most importantly the horizontal\n" "sync rate, which is the rate at which scanlines are displayed.\n" "\n" "It is VERY IMPORTANT that you do not specify a monitor type with a sync " "range\n" "that is beyond the capabilities of your monitor: you may damage your " "monitor.\n" " If in doubt, choose a conservative setting." msgstr "" "دو اجزای حساس یکی میزان نوسازی عمودی، که میزان نوسازی همه‌ی صفحه می‌باشد و " "مهمترین\n" "آن میزان هم‌گاه‌سازی افقی، که میزانی است که خطوط‌پویش نمایش داده می‌شوند، " "هستند.\n" "\n" "نکته‌ی بسیار مهم آن است که شما نوع نمایشگری را با گستره‌ی هم‌گاه‌سازی\n" "بیش از قدرت نمایشگرتان انتخاب نکنید: شما می‌توانید با این کار نمایشگر\n" "خود را خراب کنید. اگر شک دارید، یک تنظیم محافظه‌کارانه‌ای را انتخاب کنید." #: ../lib/Xconfig/monitor.pm:143 #, c-format msgid "Horizontal refresh rate" msgstr "میزان نوسازی افقی" #: ../lib/Xconfig/monitor.pm:144 #, c-format msgid "Vertical refresh rate" msgstr "میزان نوسازی عمودی" #: ../lib/Xconfig/plugins.pm:219 #, fuzzy, c-format msgid "Choose plugins" msgstr "انتخاب کنش" #: ../lib/Xconfig/resolution_and_depth.pm:10 #, c-format msgid "256 colors (8 bits)" msgstr "۲۵۶ رنگ (۸ بیت)" #: ../lib/Xconfig/resolution_and_depth.pm:11 #, c-format msgid "32 thousand colors (15 bits)" msgstr "۳۲ هزار رنگ (۱۵بیت)" #: ../lib/Xconfig/resolution_and_depth.pm:12 #, c-format msgid "65 thousand colors (16 bits)" msgstr "۶۵ هزار رنگ (۱۶بیت)" #: ../lib/Xconfig/resolution_and_depth.pm:13 #, c-format msgid "16 million colors (24 bits)" msgstr "۱۶ میلیون رنگ (۲۴ بیت)" #: ../lib/Xconfig/resolution_and_depth.pm:128 #, c-format msgid "Resolutions" msgstr "تفکیک‌پذیری‌ها" #: ../lib/Xconfig/resolution_and_depth.pm:334 ../lib/mouse.pm:184 #, c-format msgid "Other" msgstr "دیگری" #: ../lib/Xconfig/resolution_and_depth.pm:383 #, c-format msgid "Choose the resolution and the color depth" msgstr "انتخاب تفکیک‌پذیری و عمق رنگ" #: ../lib/Xconfig/resolution_and_depth.pm:384 #, c-format msgid "Graphics card: %s" msgstr "کارت گرافیک: %s" #: ../lib/Xconfig/resolution_and_depth.pm:398 #, c-format msgid "Ok" msgstr "تأیید" #: ../lib/Xconfig/resolution_and_depth.pm:398 #, c-format msgid "Cancel" msgstr "لغو" #: ../lib/Xconfig/resolution_and_depth.pm:398 #, c-format msgid "Help" msgstr "راهنما" #: ../lib/Xconfig/test.pm:30 #, c-format msgid "Test of the configuration" msgstr "آزمایش پیکربندی" #: ../lib/Xconfig/test.pm:31 #, c-format msgid "Do you want to test the configuration?" msgstr "آیا می‌خواهید پیکربندی را امتحان کنید؟" #: ../lib/Xconfig/test.pm:31 #, c-format msgid "Warning: testing this graphic card may freeze your computer" msgstr "هشدار: آزمایش این کارت گرافیکی ممکن است باعث توقف رایانه‌ی شما شود" #: ../lib/Xconfig/test.pm:69 #, c-format msgid "" "An error occurred:\n" "%s\n" "Try to change some parameters" msgstr "" "خطائی رخ داد:\n" "%s\n" "تغییر دادن بعضی از پارامترها را امتحان کنید" #: ../lib/Xconfig/test.pm:130 #, c-format msgid "Leaving in %d seconds" msgstr "ترک در %d ثانیه" #: ../lib/Xconfig/test.pm:130 #, c-format msgid "Is this the correct setting?" msgstr "آیا این تنظیم درست است؟" #: ../lib/Xconfig/various.pm:26 #, c-format msgid "3D hardware acceleration: %s\n" msgstr "" #: ../lib/Xconfig/various.pm:27 #, c-format msgid "Keyboard layout: %s\n" msgstr "طرح صفحه‌کلید: %s\n" #: ../lib/Xconfig/various.pm:28 #, c-format msgid "Mouse type: %s\n" msgstr "نوع موشی: %s\n" #: ../lib/Xconfig/various.pm:30 #, c-format msgid "Monitor: %s\n" msgstr "نمایشگر: %s\n" #: ../lib/Xconfig/various.pm:31 #, c-format msgid "Monitor HorizSync: %s\n" msgstr "هم‌گاهی‌افقی نمایشگر: %s\n" #: ../lib/Xconfig/various.pm:32 #, c-format msgid "Monitor VertRefresh: %s\n" msgstr "نوسازی عمودی نمایشگر: %s\n" #: ../lib/Xconfig/various.pm:34 #, c-format msgid "Graphics card: %s\n" msgstr "کارت گرافیک: %s\n" #: ../lib/Xconfig/various.pm:35 #, c-format msgid "Graphics memory: %s kB\n" msgstr "حافظه گرافیک: %s کیلوبایت\n" #: ../lib/Xconfig/various.pm:37 #, c-format msgid "Color depth: %s\n" msgstr "عمق رنگ: %s\n" #: ../lib/Xconfig/various.pm:38 #, c-format msgid "Resolution: %s\n" msgstr "تفکیک‌پذیری: %s\n" #: ../lib/Xconfig/various.pm:40 #, c-format msgid "Xorg driver: %s\n" msgstr "راه‌انداز Xorg: %s\n" #: ../lib/Xconfig/various.pm:204 #, c-format msgid "Xorg configuration" msgstr "پیکربندی Xorg" #: ../lib/Xconfig/various.pm:205 #, fuzzy, c-format msgid "Graphic card options" msgstr "کارت گرافیک: %s" #: ../lib/Xconfig/various.pm:207 #, c-format msgid "3D hardware acceleration" msgstr "" #: ../lib/Xconfig/various.pm:209 #, c-format msgid "Enable Translucency (Composite extension)" msgstr "" #: ../lib/Xconfig/various.pm:212 #, c-format msgid "Use hardware accelerated mouse pointer" msgstr "" #: ../lib/Xconfig/various.pm:215 #, c-format msgid "Enable RENDER Acceleration (this may cause bugs displaying text)" msgstr "" #: ../lib/Xconfig/various.pm:219 #, c-format msgid "Enable duplicate display on the external monitor" msgstr "" #: ../lib/Xconfig/various.pm:220 #, c-format msgid "Enable duplicate display on the second display" msgstr "" #: ../lib/Xconfig/various.pm:223 #, c-format msgid "Enable BIOS hotkey for external monitor switching" msgstr "" #: ../lib/Xconfig/various.pm:226 #, c-format msgid "Use EXA instead of XAA (better performance for Render and Composite)" msgstr "" #: ../lib/Xconfig/various.pm:228 #, c-format msgid "Graphical interface at startup" msgstr "واسط گرافیکی در شروع" #: ../lib/Xconfig/various.pm:229 #, fuzzy, c-format msgid "Automatically start the graphical interface (Xorg) upon booting" msgstr "" "می‌توانم رایانه‌ی شما را برای شروع با واسط تصویری (Xorg) هنگام آغازگری " "برپاسازی خودکار کنم.\n" "مایل هستید Xorg شروع گردد وقتی آغازگری مجدد می‌کنید؟" #: ../lib/Xconfig/various.pm:241 #, c-format msgid "" "Your graphic card seems to have a TV-OUT connector.\n" "It can be configured to work using frame-buffer.\n" "\n" "For this you have to plug your graphic card to your TV before booting your " "computer.\n" "Then choose the \"TVout\" entry in the bootloader\n" "\n" "Do you have this feature?" msgstr "" "کارت گرافیک شما بنظر میرسد که یک اتصال TV-OUT دارد.\n" "می‌توان آن را برای کار با استفاده از frame-buffer پیکربندی کرد.\n" "\n" "برای این کار شما باید کارت گرافیک خود را به تلویزیون خود پیش از آغازگری " "رایانه وصل کنید.\n" "سپس ورودی \"TVout\" را در بارگذارآغازگری انتخاب کنید.\n" "\n" "آیا این قابلیت وجود دارد؟" #: ../lib/Xconfig/various.pm:253 #, c-format msgid "What norm is your TV using?" msgstr "تلویزیون شما از چه مأخذی استفاده می‌کند؟" #: ../lib/Xconfig/various.pm:348 #, c-format msgid "" "The display resolution being used may not be correct. \n" "\n" "If your desktop appears to stretch beyond the edges of the display, \n" "installing %s may help fix the problem. Install it now?" msgstr "" #: ../lib/Xconfig/xfree.pm:770 #, c-format msgid "" "_:weird aspect ratio\n" "other" msgstr "" #: ../lib/keyboard.pm:183 ../lib/keyboard.pm:215 #, c-format msgid "" "_: keyboard\n" "Czech (QWERTZ)" msgstr "چک (QWERTZ)" #: ../lib/keyboard.pm:184 ../lib/keyboard.pm:217 #, c-format msgid "" "_: keyboard\n" "German" msgstr "آلمانی" #: ../lib/keyboard.pm:185 #, c-format msgid "" "_: keyboard\n" "Dvorak" msgstr "دوراک" #: ../lib/keyboard.pm:186 ../lib/keyboard.pm:229 #, c-format msgid "" "_: keyboard\n" "Spanish" msgstr "اسپانیایی" #: ../lib/keyboard.pm:187 ../lib/keyboard.pm:230 #, c-format msgid "" "_: keyboard\n" "Finnish" msgstr "فنلاندی" #: ../lib/keyboard.pm:188 ../lib/keyboard.pm:232 #, c-format msgid "" "_: keyboard\n" "French" msgstr "فرانسوی" #: ../lib/keyboard.pm:189 ../lib/keyboard.pm:233 #, c-format msgid "UK keyboard" msgstr "صفحه‌کلید انگلیسی" #: ../lib/keyboard.pm:190 ../lib/keyboard.pm:278 #, c-format msgid "" "_: keyboard\n" "Norwegian" msgstr "نروژی" #: ../lib/keyboard.pm:191 #, c-format msgid "" "_: keyboard\n" "Polish" msgstr "لهستانی" #: ../lib/keyboard.pm:192 ../lib/keyboard.pm:288 #, c-format msgid "" "_: keyboard\n" "Russian" msgstr "روسی" #: ../lib/keyboard.pm:193 ../lib/keyboard.pm:290 #, c-format msgid "" "_: keyboard\n" "Swedish" msgstr "سوئدی" #: ../lib/keyboard.pm:194 ../lib/keyboard.pm:325 #, c-format msgid "US keyboard" msgstr "صفحه‌کلید آمریکایی" #: ../lib/keyboard.pm:196 #, c-format msgid "" "_: keyboard\n" "Albanian" msgstr "آلبانیایی" #: ../lib/keyboard.pm:197 #, c-format msgid "" "_: keyboard\n" "Armenian (old)" msgstr "ارمنی" #: ../lib/keyboard.pm:198 #, c-format msgid "" "_: keyboard\n" "Armenian (typewriter)" msgstr "ارمنی (ماشین‌نویس)" #: ../lib/keyboard.pm:199 #, c-format msgid "" "_: keyboard\n" "Armenian (phonetic)" msgstr "ارمنی (تلفظی)" #: ../lib/keyboard.pm:200 #, c-format msgid "" "_: keyboard\n" "Arabic" msgstr "عربی" #: ../lib/keyboard.pm:201 #, c-format msgid "" "_: keyboard\n" "Azerbaidjani (latin)" msgstr "آذربایجان (لاتین)" #: ../lib/keyboard.pm:202 #, c-format msgid "" "_: keyboard\n" "Belgian" msgstr "بلژیکی" #: ../lib/keyboard.pm:203 #, c-format msgid "" "_: keyboard\n" "Bengali (Inscript-layout)" msgstr "تامیل (طرح Inscript)" #: ../lib/keyboard.pm:204 #, c-format msgid "" "_: keyboard\n" "Bengali (Probhat)" msgstr "بنگالی (طرح Probhat)" #: ../lib/keyboard.pm:205 #, c-format msgid "" "_: keyboard\n" "Bulgarian (phonetic)" msgstr "بلغاری (تلفظی)" #: ../lib/keyboard.pm:206 #, c-format msgid "" "_: keyboard\n" "Bulgarian (BDS)" msgstr "بلغاری (BDS)" #: ../lib/keyboard.pm:207 #, c-format msgid "" "_: keyboard\n" "Brazilian (ABNT-2)" msgstr "برزیلی (ABNT-2)" #: ../lib/keyboard.pm:208 #, c-format msgid "" "_: keyboard\n" "Bosnian" msgstr "بوسنی" #: ../lib/keyboard.pm:209 #, c-format msgid "" "_: keyboard\n" "Dzongkha/Tibetan" msgstr "Dzongkha/Tibetan" #: ../lib/keyboard.pm:210 #, c-format msgid "" "_: keyboard\n" "Belarusian" msgstr "بلاروسی" #: ../lib/keyboard.pm:211 #, c-format msgid "" "_: keyboard\n" "Swiss (German layout)" msgstr "سوئیس (طرح آلمانی)" #: ../lib/keyboard.pm:212 #, c-format msgid "" "_: keyboard\n" "Swiss (French layout)" msgstr "سوئیس (طرح فرانسوی)" #: ../lib/keyboard.pm:214 #, c-format msgid "" "_: keyboard\n" "Cherokee syllabics" msgstr "Cherokee syllabics" #: ../lib/keyboard.pm:216 #, c-format msgid "" "_: keyboard\n" "Czech (QWERTY)" msgstr "چکی ( qwerty)" #: ../lib/keyboard.pm:218 #, c-format msgid "" "_: keyboard\n" "German (no dead keys)" msgstr "آلمانی (بدون کلیدهای مرده)" #: ../lib/keyboard.pm:219 #, c-format msgid "" "_: keyboard\n" "Devanagari" msgstr "دواناگری" #: ../lib/keyboard.pm:220 #, c-format msgid "" "_: keyboard\n" "Danish" msgstr "دانمارکی" #: ../lib/keyboard.pm:221 #, c-format msgid "" "_: keyboard\n" "Dvorak (US)" msgstr "دوراک (US)" #: ../lib/keyboard.pm:222 #, c-format msgid "" "_: keyboard\n" "Dvorak (Esperanto)" msgstr "Dvorak (اسپرانتو)" #: ../lib/keyboard.pm:223 #, c-format msgid "" "_: keyboard\n" "Dvorak (French)" msgstr "Dvorak (French)" #: ../lib/keyboard.pm:224 #, c-format msgid "" "_: keyboard\n" "Dvorak (UK)" msgstr "Dvorak (UK)" #: ../lib/keyboard.pm:225 #, c-format msgid "" "_: keyboard\n" "Dvorak (Norwegian)" msgstr "Dvorak (نروژی)" #: ../lib/keyboard.pm:226 #, c-format msgid "" "_: keyboard\n" "Dvorak (Polish)" msgstr "Dvorak (Polish)" #: ../lib/keyboard.pm:227 #, c-format msgid "" "_: keyboard\n" "Dvorak (Swedish)" msgstr "دوراک (سوئدی)" #: ../lib/keyboard.pm:228 #, c-format msgid "" "_: keyboard\n" "Estonian" msgstr "استونیایی" #: ../lib/keyboard.pm:231 #, c-format msgid "" "_: keyboard\n" "Faroese" msgstr "Faroese" #: ../lib/keyboard.pm:234 #, c-format msgid "" "_: keyboard\n" "Georgian (\"Russian\" layout)" msgstr "گرجستانی (طرح \"روسی\")" #: ../lib/keyboard.pm:235 #, c-format msgid "" "_: keyboard\n" "Georgian (\"Latin\" layout)" msgstr "گرجستانی (طرح \"لاتین\")" #: ../lib/keyboard.pm:236 #, c-format msgid "" "_: keyboard\n" "Greek" msgstr "یونانی" #: ../lib/keyboard.pm:237 #, c-format msgid "" "_: keyboard\n" "Greek (polytonic)" msgstr "یونانی (چندصوتی)" #: ../lib/keyboard.pm:238 #, c-format msgid "" "_: keyboard\n" "Gujarati" msgstr "گجراتی" #: ../lib/keyboard.pm:239 #, c-format msgid "" "_: keyboard\n" "Gurmukhi" msgstr "گورموخی" #: ../lib/keyboard.pm:240 #, c-format msgid "" "_: keyboard\n" "Croatian" msgstr "کرواتی" #: ../lib/keyboard.pm:241 #, c-format msgid "" "_: keyboard\n" "Hungarian" msgstr "مجارستانی" #: ../lib/keyboard.pm:242 #, c-format msgid "" "_: keyboard\n" "Irish" msgstr "ایرلندی" #: ../lib/keyboard.pm:243 #, c-format msgid "" "_: keyboard\n" "Inuktitut" msgstr "اینوک‌تیتوت" #: ../lib/keyboard.pm:244 #, c-format msgid "" "_: keyboard\n" "Israeli" msgstr "اسراییلی" #: ../lib/keyboard.pm:245 #, c-format msgid "" "_: keyboard\n" "Israeli (phonetic)" msgstr "اسرائیل (تلفظی)" #: ../lib/keyboard.pm:246 #, c-format msgid "" "_: keyboard\n" "Iranian" msgstr "ایرانی" #: ../lib/keyboard.pm:247 #, c-format msgid "" "_: keyboard\n" "Icelandic" msgstr "ایسلندی" #: ../lib/keyboard.pm:248 #, c-format msgid "" "_: keyboard\n" "Italian" msgstr "ایتالیایی" #: ../lib/keyboard.pm:252 #, c-format msgid "" "_: keyboard\n" "Japanese 106 keys" msgstr "ژاپنی ۱۰۶ کلیدی" #: ../lib/keyboard.pm:253 #, c-format msgid "" "_: keyboard\n" "Kannada" msgstr "کن‌نادا" #: ../lib/keyboard.pm:254 #, c-format msgid "" "_: keyboard\n" "Kyrgyz" msgstr "صفحه‌کلید قرقیز" #: ../lib/keyboard.pm:257 #, c-format msgid "" "_: keyboard\n" "Korean" msgstr "صفحه‌کلید کره‌ای" #: ../lib/keyboard.pm:259 #, c-format msgid "" "_: keyboard\n" "Kurdish (arabic script)" msgstr "Kurdish (arabic script)" #: ../lib/keyboard.pm:260 #, c-format msgid "" "_: keyboard\n" "Latin American" msgstr "آمریکای لاتین" #: ../lib/keyboard.pm:262 #, c-format msgid "" "_: keyboard\n" "Laotian" msgstr "لائوسی" #: ../lib/keyboard.pm:263 #, c-format msgid "" "_: keyboard\n" "Lithuanian AZERTY (old)" msgstr "لیتوانی AZERTY (قدیمی)" #: ../lib/keyboard.pm:265 #, c-format msgid "" "_: keyboard\n" "Lithuanian AZERTY (new)" msgstr "لیتوانی AZERTY (جدید)" #: ../lib/keyboard.pm:266 #, c-format msgid "" "_: keyboard\n" "Lithuanian \"number row\" QWERTY" msgstr "لیتوانی \"ردیف شماره\" QWERTY" #: ../lib/keyboard.pm:267 #, c-format msgid "" "_: keyboard\n" "Lithuanian \"phonetic\" QWERTY" msgstr "لیتوانیایی \"تلفظی\" QWERTY" #: ../lib/keyboard.pm:268 #, c-format msgid "" "_: keyboard\n" "Latvian" msgstr "لاتویایی" #: ../lib/keyboard.pm:269 #, c-format msgid "" "_: keyboard\n" "Malayalam" msgstr "مالای‌الام" #: ../lib/keyboard.pm:270 #, c-format msgid "" "_: keyboard\n" "Maori" msgstr "" #: ../lib/keyboard.pm:271 #, c-format msgid "" "_: keyboard\n" "Macedonian" msgstr "مقدونیه‌ای" #: ../lib/keyboard.pm:272 #, c-format msgid "" "_: keyboard\n" "Myanmar (Burmese)" msgstr "مؤنمار (برمه‌ای)" #: ..#!/usr/bin/perl my ($mode, $dir, $reject_dir, $lang) = @ARGV; $mode =~ s/^--(rebuild|clean)$/$1/ or die "mode should be --rebuild or --clean\n"; -e "$dir/Mandrake/base/hdlists" && -d $reject_dir or die "usage: oem-prepare <--rebuild|--clean> <top_dir> <reject_dir> <lang>\n"; #- detect language used and default options. open F, "$dir/VERSION" or die "no installation found on $dir"; while (<F>) { /[\s-]fr/ and $lang = 'fr'; /\[lang[=:]([^]]*)\]/ and $lang = $1; /[\[\-]server[\]\-]/ and $options{server} = ''; } close F; my ($flang, $charset); #- default language fall to english ? foreach ($lang || 'en') { /fr/ and ($lang, $flang, $charset) = ('fr', 'fr_FR@euro', 'iso-8859-15'); /en/ and ($lang, $flang, $charset) = ('en', 'en_US', 'iso-8859-1'); /de/ and ($lang, $flang, $charset) = ('de', 'de_DE@euro', 'iso-8859-15'); /it/ and ($lang, $flang, $charset) = ('it', 'it_IT@euro', 'iso-8859-15'); /es/ and ($lang, $flang, $charset) = ('es', 'es_ES@euro', 'iso-8859-15'); } print "Found lang $lang\n"; foreach (keys %options) { print "Using option [$_" . ($options{$_} && "=$options{$_}") . "]\n"; } my $packages = select_packages($dir, $lang); my @media; open F, "$dir/Mandrake/base/hdlists"; foreach (<F>) { chomp; s/\s*#.*$//; /^\s*$/ and next; m/^\s*(hdlist\S*\.cz2?)\s+(\S+)\s*(.*)$/ or die "invalid hdlist description \"$_\" in hdlists file"; push @media, { hdlist => $1, rpmsdir => $2, descr => $3 }; } close F; #- keep in mind all the rpm files available (according to hdlists). my (%rpms, %files); require packdrake; foreach my $medium (@media) { my $packer = new packdrake("$dir/Mandrake/base/$medium->{hdlist}"); foreach (@{$packer->{files}}) { $packer->{data}{$_}[0] eq 'f' or next; my ($fullname, $file) = /([^:]*):(.*)/ ? ($1, "$2.rpm") : ($_, "$_.rpm"); $files{$fullname} = $file; $rpms{$file} = $medium->{rpmsdir}; -e "$dir/$medium->{rpmsdir}/$file" and next; #- already exist in the right directory. if (-e "$reject_dir/$file") { $mode eq 'rebuild' and system "mv", "-f", "$reject_dir/$file", "$dir/$medium->{rpmsdir}/"; next; } print STDERR "unable to find package $file listed in medium \"$medium->{descr}\"\n"; } } if ($mode eq 'clean') { #- copy and install from each cd image. foreach my $medium (@media) { print "Examining packages from medium labeled \"$medium->{descr}\"\n"; foreach my $pkg (@{$packages->{depslist}}) { $pkg->{closure} && !$pkg->{selected} or next; my $file = "$dir/$medium->{rpmsdir}/" . $files{rpm_fullname($pkg)}; if (-e $file) { delete $rpms{$files{rpm_fullname($pkg)}} or next; print " copying $file\n"; delete $pkg->{closure}; } } if (my $pkg = pkgs::packageByName($packages, 'glibc')) { #- HACK FOR GLIBC if ($pkg->{selected}) { my $file = "$dir/$medium->{rpmsdir}/" . $files{rpm_fullname($pkg)}; if (-e $file) { delete $rpms{$files{rpm_fullname($pkg)}} or next; print " installing $file\n"; delete $pkg->{selected}; } } } else { die "no glibc package found"; } foreach my $pkg (@{$packages->{depslist}}) { $pkg->{selected} or next; my $file = "$dir/$medium->{rpmsdir}/" . $files{rpm_fullname($pkg)}; if (-e $file) { delete $rpms{$files{rpm_fullname($pkg)}} or next; print " installing $file\n"; delete $pkg->{selected}; } } scalar(grep { $_->{selected} || $_->{closure} } @{$packages->{depslist}}) == 0 and last; } #- copy files. #- at this point, everything left in %rpms has to be moved to $reject_dir. foreach (keys %rpms) { -e "$reject_dir/$_" and next; #- already cleaned. -e "$dir/$rpms{$_}/$_" or print STDERR "file \"$_\" should be in [$dir/$rpms{$_}]\n", next; system "mv", "-f", "$dir/$rpms{$_}/$_", $reject_dir; } } #- provide package fullname that have to be installed and copied. sub select_packages { my ($dir, $lang) = @_; my $o = { packages => read_depslist("$dir/Mandrake/base/depslist.ordered") }; #- act as DrakX will do to select packages. pkgs::read_rpmsrate($o->{packages}, install_any::getFile("Mandrake/base/rpmsrate") || die "unable to read rpmsrate"); ($o->{compssUsers}, $o->{compssUsersSorted}, $o->{compssUsersIcons}, $o->{compssUsersDescr}) = pkgs::readCompssUsers($o->{packages}, $o->{meta_class}); eval { install_any::getFile("XXX") }; #- close out any still opened filehandle.. pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, 'basesystem') || die "no basesystem package found"); #- by default, choose: $o->{compssUsersChoice}{$_} = 1 foreach 'GNOME', 'KDE', 'CONFIG', 'X'; $o->{compssUsersChoice}{$_} = 1 foreach map { @{$o->{compssUsers}{$_}{flags}} } 'Workstation|Office Workstation', 'Workstation|Internet station'; if (exists $options{server}) { foreach (qw(KDE ACCESSIBILITY PUBLISHING CUPS EDITORS TEXT_TOOLS COMMUNICATIONS TERMINALS NETWORKING_FILE_TRANSFER NETWORKING_OTHER NETWORKING_FILE_TRANSFER_SERVER NETWORKING_FIREWALLING_SERVER NETWORKING_LDAP_SERVER NETWORKING_MAIL_SERVER NETWORKING_OTHER_SERVER NETWORKING_REMOTE_ACCESS NETWORKING_REMOTE_ACCESS_SERVER NETWORKING_DNS NETWORKING_DNS_SERVER NETWORKING_FILE NETWORKING_FILE_SERVER NETWORKING_WWW NETWORKING_WWW_SERVER ARCHIVING DEVELOPMENT MONITORING FILE_TOOLS CONFIG BOOKS SYSTEM X DOCS)) { $o->{compssUsersChoice}{$_} = 1; } #- additional packages to be selected for server, databases with MySQL (avoid rpmsrate modifications). foreach (qw(MySQL-client MySQL-shared MySQL perl-Mysql)) { my $pkg = pkgs::packageByName($o->{packages}, $_); $pkg and pkgs::selectPackage($o->{packages}, $pkg); } } else { $o->{compssUsersChoice}{$_} = 1 foreach map { @{$o->{compssUsers}{$_}} } @{$o->{compssUsersSorted}}; $o->{compssUsersChoice}{$_} = 1 foreach qw(SYSTEM X DOCS); @{$o->{compssUsersChoice}}{grep { /SERVER|DATABASES/ } keys %{$o->{compssUsersChoice}}} = (); } my $lang_pkg = $lang && pkgs::packageByName($o->{packages}, "locales-$lang"); if ($lang_pkg) { pkgs::selectPackage($o->{packages}, $lang_pkg); $o->{compssUsersChoice}{qq(LOCALES"$lang")} = 1; $o->{compssUsersChoice}{qq(LOCALES"$flang")} = 1; $o->{compssUsersChoice}{qq(CHARSET"$charset")} = 1; } pkgs::setSelectedFromCompssList($o->{packages}, $o->{compssUsersChoice}, 4, 0); #- save selected, but keep selected property. foreach my $pkg (@{$o->{packages}{depslist}}) { $pkg->{selected} and $pkg->{save_selected} = $pkg->{selected}; } #- extend selection to closure now, make all selected as closure and restore selected after. $o->{compssUsersChoice}{$_} = 1 foreach qw(BURNER DVD PCMCIA BIGMEM SMP 3D TV SCANNER PHOTO SOUND); pkgs::setSelectedFromCompssList($o->{packages}, $o->{compssUsersChoice}, 4, 0); $o->{compssUsersChoice}{$_} = 0 foreach qw(BURNER DVD PCMCIA BIGMEM SMP 3D TV SCANNER PHOTO SOUND); #- INSTALL class need to be copied as closure (unless installed after). #- but we have to remove kernel22 and kernel22-smp now obsolete for oem. foreach (@{$o->{packages}{needToCopy}}) { /^(kernel22.*|raidtools|lvm|reiserfsprogs|xfsprogs|jfsprogs|XFree86-(Mach8|Mach32|Mono|W32|3DLabs|P9000|8514|VGA16|I128|AGX))$/ and next; my $pkg = pkgs::packageByName($o->{packages}, $_); pkgs::selectPackage($o->{packages}, $pkg); } #- first select package that have to go to closure according to their names. foreach my $pkg (@{$o->{packages}{depslist}}) { $pkg->{name} =~ /kernel-(\d|smp|enterprise)/ and pkgs::selectPackage($o->{packages}, $pkg); $pkg->{name} =~ /NVIDIA/ and pkgs::selectPackage($o->{packages}, $pkg); } foreach my $pkg (@{$o->{packages}{depslist}}) { delete $pkg->{selected} && !$pkg->{save_selected} and $pkg->{closure} = 1; $pkg->{save_selected} and $pkg->{selected} = $pkg->{save_selected}; } #- package that have to selected here as a bonus for oem install. foreach (qw(cups cups-drivers a2ps drakprofile draksync numlock icewm-light Mesa Mesa-demos alsa alsa-utils curl glibc vim-minimal kernel gcc-cpp ), exists $options{server} ? qw(openldap-migration openldap-clients pam_ldap) : ()) { my $pkg = pkgs::packageByName($o->{packages}, $_); $pkg and pkgs::selectPackage($o->{packages}, $pkg); } #- special packages that are to be move to closure always ... foreach (qw(nfs-utils-client numlock usbd hotplug alsa alsa-utils Aurora Aurora-Monitor-NewStyle-Categorizing-WsLib bootsplash)) { my $pkg = pkgs::packageByName($o->{packages}, $_); if ($pkg) { pkgs::selectPackage($o->{packages}, $pkg); $pkg->{closure} = 1; delete $pkg->{selected}; } } #- special packages that are to be removed always... BEWARE THIS IS A HACK !!! # foreach (qw(gmc gcc3.0 gcc3.0-c++ gcc3.0-cpp libstdc++3.0 libstdc++3.0-devel)) { # my $pkg = pkgs::packageByName($o->{packages}, $_); # if ($pkg) { # delete $pkg->{closure}; # delete $pkg->{selected}; # } # } $o->{packages}; } sub chop_version { ($_[0] =~ /^([^:\s]*)-[^:\-\s]+-[^:\-\s]+\.[^:\.\-\s]*(?::\S*)?/)[0] || die "unable to parse $_[0]"; } sub rpm_fullname { ($_[0]{name} =~ /^([^:\s]*-[^:\-\s]+-[^:\-\s]+\.[^:\.\-\s]*)(?::\S*)?/)[0] || die "unable to parse $_[0]"; } sub read_depslist { my ($file) = @_; my $packages = { depslist => [], names => {} }; #- read depslist.oredered file. my $id = 0; open F, "$file" or die "unable to open ordered dependencies list file"; while (<F>) { my ($name, $size, @deps) = split; push @{$packages->{depslist}}, { id => $id++, name => $name, size => $size, deps => \@deps }; } close F; foreach (@{$packages->{depslist}}) { $packages->{names}{chop_version($_->{name})} = $_; } print "read " . scalar(@{$packages->{depslist}}) . " package dependancies\n"; $packages; } #- compability method for the below ones, wrap DrakX code extracted. package log; sub l {} package detect_devices; sub matching_desc { 1 } package install_any; sub getFile { open FILE, "$dir/$_[0]" or return; \*FILE } package pkgs; sub if_ { my $b = shift; $b or return (); wantarray ? @_ : $_[0] } sub formatXiB { $_[0] } #- NOP sub packageName { ::chop_version($_[0]{name}) } sub packageFlagSelected { $_[0]{selected} } sub packageSize { $_[0]{size} } sub packageDepsId { @{$_[0]{deps}} } sub packageRate { $_[0]{values}[0] } sub packageRateRFlags { @{$_[0]{values}} } sub packageSetRateRFlags { my ($pkg, @rate_rflags) = @_; $pkg->{values} = [ @rate_rflags ]; } sub packageByName { my ($packages, $name) = @_; $packages->{names}{$name}; } sub packageById { my ($packages, $id) = @_; $packages->{depslist}[$id]; } sub selectedSize { my ($packages) = @_; my $size = 0; foreach (@{$packages->{depslist}}) { $_->{selected} and $size += $_->{size}; } $size; } my @preferred = qw(perl-GTK postfix gcc gcc-cpp gcc-c++ proftpd ghostscript-X vim-minimal kernel db1 db2 ispell-en Bastille-Curses-module nautilus libxpm4); sub selectPackage { my ($packages, $pkg, $base, $otherOnly, $check_recursion) = @_; #- avoid infinite recursion (mainly against badly generated depslist.ordered). $check_recursion ||= {}; exists $check_recursion->{$pkg->{name}} and return; $check_recursion->{$pkg->{name}} = undef; #- make sure base package are set even if already selected. $base and $pkg->{base} = 1; #- select package and dependancies, otherOnly may be a reference #- to a hash to indicate package that will strictly be selected #- when value is true, may be selected when value is false (this #- is only used for unselection, not selection) unless ($pkg->{selected}) { foreach (@{$pkg->{deps}}) { my $preferred; if (/\|/) { #- choice deps should be reselected recursively as no #- closure on them is computed, this code is exactly the #- same as pixel's one. my %preferred; @preferred{@preferred} = (); foreach (split '\|') { my $dep = $packages->{depslist}[$_] or next; $preferred ||= $dep; $dep->{selected} and $preferred = $dep, last; exists $preferred{::chop_version($dep->{name})} and $preferred = $dep; } selectPackage($packages, $preferred, $base, $otherOnly, $check_recursion) if $preferred; } else { #- deps have been closed except for choices, so no need to #- recursively apply selection, expand base on it. my $dep = $packages->{depslist}[$_]; $base and $dep->{base} = 1; $otherOnly and !$dep->{selected} and $otherOnly->{::chop_version($dep->{name})} = 1; $otherOnly or $dep->{selected} += 1; } } } $otherOnly and !$pkg->{selected} and $otherOnly->{::chop_version($pkg->{name})} = 1;