Browse Source

dump 2020-11-16

Peter Bengtsson 3 years ago
parent
commit
4b6012a5ee
100 changed files with 1315 additions and 1316 deletions
  1. 3 3
      files/ar/archive/mdn/index.html
  2. 1 1
      files/ar/archive/mozilla/marketplace/index.html
  3. 7 7
      files/ar/archive/mozilla/marketplace/publishing/submit/rating_your_content/index.html
  4. 1 1
      files/ar/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html
  5. 40 40
      files/ar/localization_and_plurals/index.html
  6. 5 5
      files/ar/mdn/contribute/persona_sign-in/index.html
  7. 16 16
      files/ar/midas/index.html
  8. 12 12
      files/ar/midas/security_preferences/index.html
  9. 1 1
      files/ar/mozilla/localization/index.html
  10. 29 29
      files/ar/mozilla/projects/spidermonkey/introduction_to_the_javascript_shell/index.html
  11. 8 8
      files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/index.html
  12. 1 1
      files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_1_marionette_firefox_os_start/index.html
  13. 10 10
      files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_2_marionette_firefox_os_interactions/index.html
  14. 14 14
      files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_3_reusable_tests/index.html
  15. 9 9
      files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_4_reusing_commands_firefox_os_setup/index.html
  16. 21 21
      files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_5_introducing_a_test_runner/index.html
  17. 3 3
      files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_7_writing_your_own_tests/index.html
  18. 8 8
      files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_8_using_a_base_class/index.html
  19. 1 1
      files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_9_app_objects/index.html
  20. 18 18
      files/bn/archive/b2g_os/building_and_installing_firefox_os/building_firefox_os_for_flame_on_osx/index.html
  21. 8 8
      files/bn/archive/b2g_os/building_b2g_for_qemu_emulator/index.html
  22. 18 18
      files/bn/archive/b2g_os/customization_with_the_.userconfig_file/index.html
  23. 1 1
      files/bn/archive/b2g_os/debugging/debugging_b2g_using_valgrind/index.html
  24. 1 1
      files/bn/archive/b2g_os/debugging/setting_up/index.html
  25. 5 5
      files/bn/archive/b2g_os/debugging/testing_in_a_privileged_context/index.html
  26. 15 15
      files/bn/archive/b2g_os/developing_gaia/build_system_primer/index.html
  27. 2 2
      files/bn/archive/b2g_os/developing_gaia/customizing_build-time_apps/index.html
  28. 12 12
      files/bn/archive/b2g_os/dual_boot_of_b2g_and_android_on_sgs2/index.html
  29. 47 47
      files/bn/archive/b2g_os/firefox_os_build_prerequisites/index.html
  30. 4 4
      files/bn/archive/b2g_os/introduction/index.html
  31. 7 7
      files/bn/archive/b2g_os/phone_guide/geeksphone/index.html
  32. 14 14
      files/bn/archive/b2g_os/phone_guide/zte_open/index.html
  33. 1 1
      files/bn/archive/b2g_os/platform/gonk/index.html
  34. 25 25
      files/bn/archive/b2g_os/preparing_for_your_first_b2g_build/index.html
  35. 13 13
      files/bn/archive/b2g_os/security/debugging_and_security_testing/index.html
  36. 24 24
      files/bn/archive/b2g_os/security/intercepting_traffic_using_a_proxy/index.html
  37. 4 4
      files/bn/archive/b2g_os/ফায়ারফক্স_ওএস_সিমুলেটর_ব্যবহার_করা/index.html
  38. 2 2
      files/bn/archive/mozilla/marketplace/options/index.html
  39. 37 37
      files/bn/archive/mozilla/marketplace/options/self_publishing/index.html
  40. 10 10
      files/bn/archive/mozilla/xul/tutorial/সূচনা/index.html
  41. 10 10
      files/bn/mozilla/localization/l10n_style_guide/index.html
  42. 15 15
      files/ca/archive/b2g_os/index.html
  43. 14 14
      files/ca/archive/b2g_os/platform/gaia/hacking/index.html
  44. 2 2
      files/ca/archive/estàndards_web/index.html
  45. 19 19
      files/ca/archive/mozilla/xul/xul_tutorial/introducció/index.html
  46. 16 16
      files/ca/creació_de_connectors_mozsearch/index.html
  47. 38 38
      files/ca/fent_servir_mòduls_de_codi_javascript/index.html
  48. 2 2
      files/ca/mozilla/projects/index.html
  49. 0 0
      files/ca/web/css/_doublecolon_-ms-fill-lower/index.html
  50. 0 0
      files/ca/web/css/_doublecolon_-ms-fill-upper/index.html
  51. 0 0
      files/ca/web/css/_doublecolon_-ms-fill/index.html
  52. 0 0
      files/ca/web/css/_doublecolon_-ms-thumb/index.html
  53. 0 0
      files/ca/web/css/_doublecolon_-ms-track/index.html
  54. 1 1
      files/ca/web/javascript/reference/functions/arguments/caller/index.html
  55. 0 0
      files/ca/web/javascript/reference/global_objects/function/arity/index.html
  56. 0 0
      files/ca/web/javascript/reference/global_objects/object/count/index.html
  57. 0 0
      files/ca/web/javascript/reference/global_objects/object/eval/index.html
  58. 1 1
      files/ca/web/javascript/reference/global_objects/object/observe/index.html
  59. 1 1
      files/ca/web/javascript/referencia/objectes_globals/array/observe/index.html
  60. 0 0
      files/ca/web/javascript/referencia/objectes_globals/number/tointeger/index.html
  61. 0 0
      files/ca/web/javascript/referencia/objectes_globals/string/quote/index.html
  62. 2 2
      files/de/archive/b2g_os/api/navigator/index.html
  63. 2 2
      files/de/archive/b2g_os/api/navigator/requestwakelock/index.html
  64. 35 35
      files/de/archive/b2g_os/building_and_installing_firefox_os/compatible_devices/index.html
  65. 31 31
      files/de/archive/b2g_os/debugging/developer_settings/index.html
  66. 42 42
      files/de/archive/b2g_os/firefox_os_build_prerequisites/index.html
  67. 14 14
      files/de/archive/b2g_os/gaia_entwickeln/build_system_primer/index.html
  68. 1 1
      files/de/archive/b2g_os/gaia_entwickeln/customizing_build-time_apps/index.html
  69. 12 12
      files/de/archive/b2g_os/phone_guide/geeksphone/index.html
  70. 5 5
      files/de/archive/b2g_os/phone_guide/zte_open_c/index.html
  71. 3 3
      files/de/archive/mdn/index.html
  72. 30 30
      files/de/archive/mozilla/marketplace/options/open_web_apps_for_android/index.html
  73. 2 2
      files/de/archive/mozilla/marketplace/publishing/packaged_apps/index.html
  74. 6 6
      files/de/archive/mozilla/xul/attribute/disabled/index.html
  75. 1 1
      files/de/archive/mozilla/xul/attribute/emptytext/index.html
  76. 0 0
      files/de/archive/mozilla/xul/attribute/index.html
  77. 0 0
      files/de/archive/mozilla/xul/eigenschaften/index.html
  78. 11 11
      files/de/archive/mozilla/xul/iframe/index.html
  79. 47 47
      files/de/archive/mozilla/xul/school_tutorial/adding_menus_and_submenus/index.html
  80. 61 61
      files/de/archive/mozilla/xul/school_tutorial/die_grundlagen_einer_erweiterung/index.html
  81. 19 19
      files/de/archive/mozilla/xul/school_tutorial/eine_entwicklungsumgebung_einrichten_environment/index.html
  82. 1 1
      files/de/archive/mozilla/xul/school_tutorial/einleitung/index.html
  83. 9 9
      files/de/archive/mozilla/xul/school_tutorial/getting_started_with_firefox_extensions/index.html
  84. 3 3
      files/de/archive/mozilla/xul/tabs/index.html
  85. 6 7
      files/de/archive/mozilla/xul/textbox/index.html
  86. 5 5
      files/de/archive/mozilla/xul/xul_tutorial/die_chrome_url/index.html
  87. 23 23
      files/de/archive/mozilla/xul/xul_tutorial/ein_fenster_erzeugen/index.html
  88. 5 5
      files/de/archive/mozilla/xul/xul_tutorial/einfuehrung/index.html
  89. 22 22
      files/de/archive/mozilla/xul/xul_tutorial/installations-skripte/index.html
  90. 133 133
      files/de/archive/mozilla/xul/xul_tutorial/lokalisierung/index.html
  91. 33 33
      files/de/archive/mozilla/xul/xul_tutorial/positionierung_von_elementen/index.html
  92. 21 21
      files/de/archive/mozilla/xul/xul_tutorial/xul_struktur/index.html
  93. 1 1
      files/de/archive/web/javascript/arguments.caller/index.html
  94. 0 0
      files/de/archive/web/javascript/index.html
  95. 1 1
      files/de/archive/web/javascript/legacy_generator_function/index.html
  96. 96 96
      files/de/codeschnipsel/tabbed_browser/index.html
  97. 9 9
      files/de/e4x/index.html
  98. 44 44
      files/de/e4x/processing_xml_with_e4x/index.html
  99. 1 1
      files/de/firefox_addons_developer_guide/index.html
  100. 1 1
      files/de/gecko-dom-referenz/index.html

+ 3 - 3
files/ar/archive/mdn/index.html

@@ -72,7 +72,7 @@ translation_of: Archive/MDN
   </ol>
 </section><p></p>
 
-<div class="blockIndicator obsolete">
+<div class="obsolete notecard">
 <p><strong>Obsolete</strong><br>
  This documentation is obsolete.</p>
 </div>
@@ -80,6 +80,6 @@ translation_of: Archive/MDN
 <p>The documentation listed below is archived, obsolete material about MDN itself.</p>
 
 <p></p><div class="row topicpage-table">
-    <div class="section"><dl><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Content_kits">Content kits</a></dt><dd class="landingPageList">MDN Content Kits are subject-based collections of technical resources to help you host a local developer meetup or give a technical presentation at an event, conference, or workshop.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Howto_Link_a_Github_account">How to link a GitHub account to your MDN profile</a></dt><dd class="landingPageList">All users who wish to contribute to MDN must add a GitHub login to their MDN account in order to edit. This article describes how to add GitHub authentication to your MDN profile.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Persona_sign-ins">MDN and Persona sign-ins</a></dt><dd class="landingPageList">Starting on November 1, 2016, we only support GitHub for logging into MDN. If you didn't add a GitHub login to your MDN account before we disabled Persona logins, please file an <a href="https://mzl.la/accounthelp">"Account Help" bug</a> on Bugzilla.</dd></dl></dl></div>
-    <div class="section"><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/New_Compatibility_Tables_Beta">New Compatibility Tables Beta</a></dt><dd class="landingPageList">You're probably here because you followed the beta notice link from one of our new compatibility tables. (No? Want to see the new tables? <a href="https://developer.mozilla.org/en-US/docs/MDN/Contribute/Howto/Be_a_beta_tester">Make yourself a beta tester.</a>)</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Zones">Zones</a></dt><dd class="landingPageList">A <strong>zone</strong> is a special area of MDN whose content is presented with some added user interface elements, such as a special zone navigation box and enhanced visuals in the header area of the page.</dd></dl></div>
+    <div class="section"><dl><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Content_kits">Content kits</a></dt><dd class="landingPageList">MDN Content Kits are subject-based collections of technical resources to help you host a local developer meetup or give a technical presentation at an event, conference, or workshop.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Howto_Link_a_Github_account">How to link a GitHub account to your MDN profile</a></dt><dd class="landingPageList">All users who wish to contribute to MDN must add a GitHub login to their MDN account in order to edit. This article describes how to add GitHub authentication to your MDN profile.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Persona_sign-ins">MDN and Persona sign-ins</a></dt><dd class="landingPageList">Starting on November 1, 2016, we only support GitHub for logging into MDN. If you didn&apos;t add a GitHub login to your MDN account before we disabled Persona logins, please file an <a href="https://mzl.la/accounthelp">&quot;Account Help&quot; bug</a> on Bugzilla.</dd></dl></dl></div>
+    <div class="section"><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/New_Compatibility_Tables_Beta">New Compatibility Tables Beta</a></dt><dd class="landingPageList">You&apos;re probably here because you followed the beta notice link from one of our new compatibility tables. (No? Want to see the new tables? <a href="https://developer.mozilla.org/en-US/docs/MDN/Contribute/Howto/Be_a_beta_tester">Make yourself a beta tester.</a>)</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Zones">Zones</a></dt><dd class="landingPageList">A <strong>zone</strong> is a special area of MDN whose content is presented with some added user interface elements, such as a special zone navigation box and enhanced visuals in the header area of the page.</dd></dl></div>
     </div><p></p>

+ 1 - 1
files/ar/archive/mozilla/marketplace/index.html

@@ -48,7 +48,7 @@ translation_of: Archive/Mozilla/Marketplace
 </div>
 </div>
 
-<div class="blockIndicator communitybox" dir="ltr">
+<div class="communitybox notecard" dir="ltr">
 <div class="column-container">
 <h2 id="Join_the_Marketplace_community">Join the Marketplace community</h2>
 

+ 7 - 7
files/ar/archive/mozilla/marketplace/publishing/submit/rating_your_content/index.html

@@ -3,7 +3,7 @@ title: Obtaining a rating for your app
 slug: Archive/Mozilla/Marketplace/Publishing/Submit/Rating_Your_Content
 translation_of: Archive/Mozilla/Marketplace/Publishing/Submit/Rating_Your_Content
 ---
-<div class="warning">
+<div class="warning notecard">
 <p><font><font>هذه الصفحة يخضع للصيانة.</font></font></p>
 </div>
 
@@ -79,31 +79,31 @@ translation_of: Archive/Mozilla/Marketplace/Publishing/Submit/Rating_Your_Conten
 
   <p><font><font>أو من لوحة ديف:</font></font></p>
 
-  <p><img alt="" src="https://mdn.mozillademos.org/files/6623/from_nav_bar.png" style="border-style: solid; border-width: 1px; height: 199px; width: 200px;"></p>
+  <p><img alt src="https://mdn.mozillademos.org/files/6623/from_nav_bar.png" style="border-style: solid; border-width: 1px; height: 199px; width: 200px;"></p>
  </li>
  <li>
   <p><font><font>بدء عملية التقييم:</font></font></p>
 
-  <p><img alt="" src="https://mdn.mozillademos.org/files/6583/start_the_rating_process.png" style="border-style: solid; border-width: 1px; height: 242px; width: 600px;"></p>
+  <p><img alt src="https://mdn.mozillademos.org/files/6583/start_the_rating_process.png" style="border-style: solid; border-width: 1px; height: 242px; width: 600px;"></p>
 
   <p><font><font>أو إدخال المعلومات الخاصة بك للحصول على تصنيف القائمة:</font></font></p>
 
-  <p><img alt="" src="https://mdn.mozillademos.org/files/6585/enter_existing_rating_info.png" style="border-style: solid; border-width: 1px; height: 276px; width: 600px;"></p>
+  <p><img alt src="https://mdn.mozillademos.org/files/6585/enter_existing_rating_info.png" style="border-style: solid; border-width: 1px; height: 276px; width: 600px;"></p>
  </li>
  <li>
   <p><font><font>ملء استبيان قصير:</font></font></p>
 
-  <p><img alt="" src="https://mdn.mozillademos.org/files/6587/questions.png" style="border-style: solid; border-width: 1px; height: 725px; width: 600px;"></p>
+  <p><img alt src="https://mdn.mozillademos.org/files/6587/questions.png" style="border-style: solid; border-width: 1px; height: 725px; width: 600px;"></p>
  </li>
  <li>
   <p><font><font>إضافة معلومات إضافية حول التطبيق الخاص بك:</font></font></p>
 
-  <p><img alt="" src="https://mdn.mozillademos.org/files/6589/additional_info.png" style="height: 637px; width: 589px;"></p>
+  <p><img alt src="https://mdn.mozillademos.org/files/6589/additional_info.png" style="height: 637px; width: 589px;"></p>
  </li>
  <li>
   <p><font><font>المعاينة والتأكد من المعلومات تصويتك:</font></font></p>
 
-  <p><img alt="" src="https://mdn.mozillademos.org/files/6591/confirm_info.png" style="border-style: solid; border-width: 1px; height: 865px; width: 400px;"></p>
+  <p><img alt src="https://mdn.mozillademos.org/files/6591/confirm_info.png" style="border-style: solid; border-width: 1px; height: 865px; width: 400px;"></p>
  </li>
  <li>
   <p><font><font>العودة إلى لوحة القيادة المطور ويجب أن نرى من المعلومات تصويتك. </font><font>كنت على استعداد للذهاب!</font></font></p>

File diff suppressed because it is too large
+ 1 - 1
files/ar/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html


+ 40 - 40
files/ar/localization_and_plurals/index.html

@@ -3,20 +3,20 @@ title: Localization and Plurals
 slug: Localization_and_Plurals
 translation_of: Mozilla/Localization/Localization_and_Plurals
 ---
-<p><span style="line-height: 1.572;">You're likely here because you're localizing a .properties file and it had a link to this page. This page is to help explain how to localize these strings so that the correct plural form is shown to the user. E.g., "1 page" vs "2 pages".</span></p>
-<p>If you're here to make your code (e.g., extensions) localizable for plural forms, you can jump straight to <a href="#Developing_with_PluralForm">Developing with PluralForm</a>, but you'll likely need to localize the initial strings for your code, so it would be good to read through at least the Usage section as well.</p>
+<p><span style="line-height: 1.572;">You&apos;re likely here because you&apos;re localizing a .properties file and it had a link to this page. This page is to help explain how to localize these strings so that the correct plural form is shown to the user. E.g., &quot;1 page&quot; vs &quot;2 pages&quot;.</span></p>
+<p>If you&apos;re here to make your code (e.g., extensions) localizable for plural forms, you can jump straight to <a href="#Developing_with_PluralForm">Developing with PluralForm</a>, but you&apos;ll likely need to localize the initial strings for your code, so it would be good to read through at least the Usage section as well.</p>
 <p> </p>
 <h2 id="Usage" name="Usage">Usage</h2>
 <p>Here are a couple terms used in this page to help keep things clear:</p>
 <ul>
  <li><strong>plural rule</strong>: For a given language, there is a grammatical rule on how to change words depending on the number qualifying the word. Different languages can have different rules.</li>
- <li><strong>plural form</strong>: For a particular plural rule, there can be multiple forms of a word such as "page" and "pages". In this case, there are 2 forms, but other languages can have 1 or many more.</li>
+ <li><strong>plural form</strong>: For a particular plural rule, there can be multiple forms of a word such as &quot;page&quot; and &quot;pages&quot;. In this case, there are 2 forms, but other languages can have 1 or many more.</li>
 </ul>
-<p>If you're here for <code>pluralRule</code> in the <code>chrome/global/intl.properties</code> file, you'll need to figure out what <em>plural rule</em> to choose for your localization. This plural rule is used to determine how many <em>plural forms</em> are needed for each word that needs to be localized with plurals in mind.</p>
-<p>For all other properties files that link to this page, you'll need to provide enough plural forms of the desired word and separate them with semi-colons (;). If you don't know how many plural forms you need, check the <code>pluralRule</code> number in <code>chrome/global/intl.properties</code> and look up the corresponding entry in the following list of plural rules.</p>
+<p>If you&apos;re here for <code>pluralRule</code> in the <code>chrome/global/intl.properties</code> file, you&apos;ll need to figure out what <em>plural rule</em> to choose for your localization. This plural rule is used to determine how many <em>plural forms</em> are needed for each word that needs to be localized with plurals in mind.</p>
+<p>For all other properties files that link to this page, you&apos;ll need to provide enough plural forms of the desired word and separate them with semi-colons (;). If you don&apos;t know how many plural forms you need, check the <code>pluralRule</code> number in <code>chrome/global/intl.properties</code> and look up the corresponding entry in the following list of plural rules.</p>
 <h2 id="List_of_Plural_Rules" name="List_of_Plural_Rules">List of Plural Rules</h2>
-<p>This section contains a list of plural rules ordered by their plural rule number. Each entry indicates how many plural forms are needed when localizing a word. For each entry, there is a list of families and languages in those families to help you figure out if it's the rule you should pick for <code>pluralRule</code>. Additionally, there is a brief description of each plural form followed by some sample numbers that fall into that particular form.</p>
-<p>For a given plural rule, the order in which the plural forms are listed is the same order you need to localize a word, separated by semi-colons. For example, English uses plural rule 1, and localizing <code>plurals</code> would require a string of "plural;plurals" where the first word is the singular form and the second is the general plural form.</p>
+<p>This section contains a list of plural rules ordered by their plural rule number. Each entry indicates how many plural forms are needed when localizing a word. For each entry, there is a list of families and languages in those families to help you figure out if it&apos;s the rule you should pick for <code>pluralRule</code>. Additionally, there is a brief description of each plural form followed by some sample numbers that fall into that particular form.</p>
+<p>For a given plural rule, the order in which the plural forms are listed is the same order you need to localize a word, separated by semi-colons. For example, English uses plural rule 1, and localizing <code>plurals</code> would require a string of &quot;plural;plurals&quot; where the first word is the singular form and the second is the general plural form.</p>
 <h3 id="Plural_rule_.230_.281_form.29" name="Plural_rule_.230_.281_form.29">Plural rule #<em><strong>0</strong></em> (1 form)</h3>
 <p><strong>Families</strong>: Asian (Chinese, Japanese, Korean, Vietnamese), Persian, Turkic/Altaic (Turkish), Thai, Lao<br>
  <strong>everything</strong>: <small>0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, …</small></p>
@@ -119,20 +119,20 @@ translation_of: Mozilla/Localization/Localization_and_Plurals
  days=jour;jours </code></p>
 <p>Like many other times when localizing words, gender agreement might force you to rearrange words in a way that the gender is always the same. (seconde vs jour)</p>
 <h3 id="Chinese" name="Chinese">Chinese</h3>
-<p>A word doesn't change if there is a different number in front of it, so all numbers use the same plural form. With just one plural form, it has to be plural rule #0. For each word to localize, it's just like localizing a single word with no semi-colons needed.</p>
+<p>A word doesn&apos;t change if there is a different number in front of it, so all numbers use the same plural form. With just one plural form, it has to be plural rule #0. For each word to localize, it&apos;s just like localizing a single word with no semi-colons needed.</p>
 <p><code>pluralRule=0<br>
  seconds=秒<br>
  minutes=分<br>
  hours=時<br>
  days=日 </code></p>
 <h3 id="Polish" name="Polish">Polish</h3>
-<p>There's a singular form for 1, a plural form for 2-4, and another for 5-21 at which point 22 is the same as 2. Plural rule #7 has a "ends in 2-4, not 12-14" but the singular form includes everything ending in 1 except 11. Plural rule #9 has the correct singular form for only 1.</p>
+<p>There&apos;s a singular form for 1, a plural form for 2-4, and another for 5-21 at which point 22 is the same as 2. Plural rule #7 has a &quot;ends in 2-4, not 12-14&quot; but the singular form includes everything ending in 1 except 11. Plural rule #9 has the correct singular form for only 1.</p>
 <p><code>pluralRule=9<br>
  seconds=sekunda;sekundy;sekund<br>
  minutes=minuta;minuty;minut<br>
  hours=godzina;godziny;godzin<br>
  days=dzień;dni;dni </code></p>
-<p>Even though the last 2 plural forms of "day" are the same, both are still needed because there needs to be 3 plural forms for each word.</p>
+<p>Even though the last 2 plural forms of &quot;day&quot; are the same, both are still needed because there needs to be 3 plural forms for each word.</p>
 <h3 id="Sorbian" name="Sorbian">Sorbian</h3>
 <p>There are 4 plural forms: nominative singular, nominative dual, nominative plural, genitive plural. These match up with plural rule #10.</p>
 <p><code>pluralRule=10<br>
@@ -155,12 +155,12 @@ translation_of: Mozilla/Localization/Localization_and_Plurals
  0.2: Use PluralForm.numForms() to get the number of forms instead of figuring out locally to better support future rules - <strong>Requires build from 2007/01/27 or later</strong><br>
  0.3: Generate a list of what numbers fall into which plural form to minimize the sample output to at most 3 of each form</p>
 <h2 id="Developing_with_PluralForm" name="Developing_with_PluralForm">Developing with PluralForm</h2>
-<p>The functionality for getting the correct plural forms is provided by a JavaScript Module, <code>PluralForm.jsm</code>. This module provides a couple methods for localizing to the browser's current locale as well as getting methods to localize to a desired plural rule. The latter ability of specifying a plural rule is useful for extensions because the extension doesn't necessarily have to be localized to the browser's locale.</p>
+<p>The functionality for getting the correct plural forms is provided by a JavaScript Module, <code>PluralForm.jsm</code>. This module provides a couple methods for localizing to the browser&apos;s current locale as well as getting methods to localize to a desired plural rule. The latter ability of specifying a plural rule is useful for extensions because the extension doesn&apos;t necessarily have to be localized to the browser&apos;s locale.</p>
 <h3 id="Loading_PluralForm.jsm" name="Loading_PluralForm.jsm">Loading <code>PluralForm.jsm</code></h3>
 <p>Loading the PluralForm module from JavaScript is simple with <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a>. Just put the following line somewhere that will be evaluated before you want to use PluralForm. At the top of your JavaScript file is fine.</p>
-<pre>Components.utils.import("resource://gre/modules/PluralForm.jsm");</pre>
+<pre>Components.utils.import(&quot;resource://gre/modules/PluralForm.jsm&quot;);</pre>
 <h3 id="Methods:_get" name="Methods:_get">Methods: <code>get</code></h3>
-<p>These methods make use of the browser's current locale specified by <code><a class="external" rel="freelink">chrome://global/locale/intl.properties</a></code>'s <code>pluralRule</code> value.</p>
+<p>These methods make use of the browser&apos;s current locale specified by <code><a class="external" rel="freelink">chrome://global/locale/intl.properties</a></code>&apos;s <code>pluralRule</code> value.</p>
 <pre>/**
  * Get the correct plural form of a word based on the number
  *
@@ -174,33 +174,33 @@ string pluralForm
 get(int aNum, string aWords)</pre>
 <p>Here is an example of using this method:</p>
 <pre>// Load PluralForm and for this example, assume English
-Components.utils.import("resource://gre/modules/PluralForm.jsm");
+Components.utils.import(&quot;resource://gre/modules/PluralForm.jsm&quot;);
 
 // PluralForm.get expects a semi-colon separated list of words
-let downloads = "download;downloads";
+let downloads = &quot;download;downloads&quot;;
 // Pretend this number came from somewhere else
 let num = 10;
 
-// Display the correct plural form for 10 downloads: "You have 10 downloads.")
-print("You have " + num + " " + PluralForm.get(num, downloads) + ".");
+// Display the correct plural form for 10 downloads: &quot;You have 10 downloads.&quot;)
+print(&quot;You have &quot; + num + &quot; &quot; + PluralForm.get(num, downloads) + &quot;.&quot;);
 
-// Try again with a different value: "You have 1 download."
+// Try again with a different value: &quot;You have 1 download.&quot;
 num = 1;
-print("You have " + num + " " + PluralForm.get(num, downloads) + ".")</pre>
-<p>The above example works, but is still difficult to localize because we're concatenating strings assuming a particular grammatical structure. The following would be better:</p>
-<pre>Components.utils.import("resource://gre/modules/PluralForm.jsm");
+print(&quot;You have &quot; + num + &quot; &quot; + PluralForm.get(num, downloads) + &quot;.&quot;)</pre>
+<p>The above example works, but is still difficult to localize because we&apos;re concatenating strings assuming a particular grammatical structure. The following would be better:</p>
+<pre>Components.utils.import(&quot;resource://gre/modules/PluralForm.jsm&quot;);
 
-let downloads = "You have one download.;You have #1 downloads.";
+let downloads = &quot;You have one download.;You have #1 downloads.&quot;;
 let num = 10;
 
-// For English, this would display "You have 10 downloads."
-print(PluralForm.get(num, downloads).replace("#1", num);</pre>
+// For English, this would display &quot;You have 10 downloads.&quot;
+print(PluralForm.get(num, downloads).replace(&quot;#1&quot;, num);</pre>
 <p>Notice in the above example that the code can be written to support placeholders or not use placeholders in some forms of the string. Additionally, the localizer has control over where the placeholder is in relation to the rest of the text.</p>
 <p>Of course, the strings to be localized will be placed in a separate file such as yourextension.properties instead of being hardcoded in the JavaScript code file.</p>
 <p>The following 3 file snippets show how to use PluralForm with your <code>.xul</code>, <code>.properties</code>, <code>.js</code> files.</p>
 <p><code>downloads.xul</code>:</p>
 <pre>&lt;stringbundleset&gt;
-  &lt;stringbundle id="strings" src="chrome://downloads.properties"/&gt;
+  &lt;stringbundle id=&quot;strings&quot; src=&quot;chrome://downloads.properties&quot;/&gt;
 &lt;/stringbundleset&gt;</pre>
 <p><code>downloads.properties</code>:</p>
 <pre># LOCALIZATION NOTE (downloadsTitleFiles): Semi-colon list of plural forms.
@@ -217,22 +217,22 @@ minutes=minute;minutes
 hours=hour;hours
 </pre>
 <p><code>downloads.js</code>:</p>
-<pre>Components.utils.import("resource://gre/modules/PluralForm.jsm");
-let getStr = function(string) document.getElementById("strings").getString(string);
+<pre>Components.utils.import(&quot;resource://gre/modules/PluralForm.jsm&quot;);
+let getStr = function(string) document.getElementById(&quot;strings&quot;).getString(string);
 
 // Get the correct plural form for the title
 let numDownloads = 3;
-let title = PluralForm.get(numDownloads, getStr("downloadsTitleFiles"));
+let title = PluralForm.get(numDownloads, getStr(&quot;downloadsTitleFiles&quot;));
 // Put in the correct number of downloads
-print(title.replace("#1", numDownloads));
+print(title.replace(&quot;#1&quot;, numDownloads));
 
 // Get the correct plural form of seconds
 let timeLeft = 55;
-let seconds = PluralForm.get(timeLeft, getStr("seconds"));
-// Print the localized string for "55 seconds"
-print(getStr("timePair").replace("#1", timeLeft).replace("#2", seconds));</pre>
+let seconds = PluralForm.get(timeLeft, getStr(&quot;seconds&quot;));
+// Print the localized string for &quot;55 seconds&quot;
+print(getStr(&quot;timePair&quot;).replace(&quot;#1&quot;, timeLeft).replace(&quot;#2&quot;, seconds));</pre>
 <h3 id="Method:_makeGetter" name="Method:_makeGetter">Method: <code>makeGetter</code></h3>
-<p>If you're writing an extension, you'll want to use <code>makeGetter</code> instead of <code>PluralForm.get()</code> or <code>PluralForm.numForms()</code> because someone installing the extension on a different locale will be using the strings provided by your default extension locale. For example, your extension localized for English with plural rule #1, which expects 2 plural forms, is installed on a localized version of Firefox with plural rule #4, which expects 3 forms.</p>
+<p>If you&apos;re writing an extension, you&apos;ll want to use <code>makeGetter</code> instead of <code>PluralForm.get()</code> or <code>PluralForm.numForms()</code> because someone installing the extension on a different locale will be using the strings provided by your default extension locale. For example, your extension localized for English with plural rule #1, which expects 2 plural forms, is installed on a localized version of Firefox with plural rule #4, which expects 3 forms.</p>
 <pre>/**
  * Create a pair of plural form functions for the given plural rule number.
  *
@@ -244,24 +244,24 @@ print(getStr("timePair").replace("#1", timeLeft).replace("#2", seconds));</pre>
 [string pluralForm get(int aNum, string aWords), int numForms numForms()]
 makeGetter(int aRuleNum)</pre>
 <p>Here is an example usage of <code>makeGetter</code>:</p>
-<pre>Components.utils.import("resource://gre/modules/PluralForm.jsm");
+<pre>Components.utils.import(&quot;resource://gre/modules/PluralForm.jsm&quot;);
 
-// Let's get Irish (plural rule #11)
+// Let&apos;s get Irish (plural rule #11)
 let [get, numForms] = PluralForm.makeGetter(11);
 
-// Make up some values to use with "get"
-let dummyText = "form 1;form 2;form 3;form 4;form 5";
+// Make up some values to use with &quot;get&quot;
+let dummyText = &quot;form 1;form 2;form 3;form 4;form 5&quot;;
 let dummyNum = 10;
 
-// In the case of Irish, the value 10 uses plural form #4, so "form 4" is printed
+// In the case of Irish, the value 10 uses plural form #4, so &quot;form 4&quot; is printed
 print(get(dummyNum, dummyText));</pre>
 <p>In this example, the Irish plural rule was hardcoded, but this could be a value specified in the .properties file. So for your extension, specify a pluralRule value in the .properties and call <code>PluralForm.makeGetter(pluralRuleFromProperties)</code> making sure to save the 2 returned functions. (You can use <a href="/en/JavaScript/New_in_JavaScript/1.7#Destructuring_assignment" title="en/New_in_JavaScript_1.7#Destructuring_assignment">destructured assignment</a> in JavaScript 1.7 to keep things clean.) The returned functions act just like <code>PluralForm.get()</code> and <code>PluralForm.numForms()</code> except for the specified plural rule instead of the default plural rule.</p>
 <h2 id="Credits" name="Credits">Credits</h2>
-<p>Plural Form code first implemented for <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=394516" title="FIXED: Figure out a remaining-time rounding scheme for minutes -> hours/days">bug 394516</a> - <em>Figure out a remaining-time rounding scheme for minutes -&gt; hours/days</em><br>
+<p>Plural Form code first implemented for <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=394516" title="FIXED: Figure out a remaining-time rounding scheme for minutes -&gt; hours/days">bug 394516</a> - <em>Figure out a remaining-time rounding scheme for minutes -&gt; hours/days</em><br>
  Plural rules and families derived from <a href="http://www.gnu.org/software/gettext/manual/html_node/gettext_150.html#Plural-forms" class="external">GNU <code>gettext</code> documentation</a>.</p>
 <p> </p>
 <p> </p>
-<div class="warning">
+<div class="warning notecard">
  <div class="summary">
   <p style="text-align: center;"></p>
  </div>

+ 5 - 5
files/ar/mdn/contribute/persona_sign-in/index.html

@@ -65,7 +65,7 @@ translation_of: Archive/MDN/Persona_sign-ins
       </details>
     </li>
   </ol>
-</section></div><div class="warning">
+</section></div><div class="warning notecard">
 <p>Please <a href="/en-US/docs/MDN/Contribute/Howto/Link_a_GitHub_account">link your GitHub account to your MDN profile now</a> so you can continue to sign in to MDN.</p>
 </div>
 
@@ -77,14 +77,14 @@ translation_of: Archive/MDN/Persona_sign-ins
 
 <h2 id="Why_is_Persona_being_removed">Why is Persona being removed?</h2>
 
-<p>Mozilla has shut down the Persona project, and its servers will be turned off in November, 2016. You can <a href="https://wiki.mozilla.org/Identity/Persona_Shutdown_Guidelines_for_Reliers#FAQs">learn more about Mozilla's decision</a> to shut down Persona on the Mozilla wiki.</p>
+<p>Mozilla has shut down the Persona project, and its servers will be turned off in November, 2016. You can <a href="https://wiki.mozilla.org/Identity/Persona_Shutdown_Guidelines_for_Reliers#FAQs">learn more about Mozilla&apos;s decision</a> to shut down Persona on the Mozilla wiki.</p>
 
 <h2 id="When_will_Persona_be_removed">When will Persona be removed?</h2>
 
-<p>We will disable Persona as an authentication provider on November 1, 2016; in other words, the last day you'll be able to sign in to MDN using Persona will be October 31, 2016. We will be issuing increasingly frequent and increasingly urgent notifications to <a href="/en-US/docs/MDN/Contribute/Howto/Link_a_GitHub_account">add a GitHub account to your MDN profile</a> starting now. Please do this as soon as you can, in order to avoid any risk of losing access to your MDN account.</p>
+<p>We will disable Persona as an authentication provider on November 1, 2016; in other words, the last day you&apos;ll be able to sign in to MDN using Persona will be October 31, 2016. We will be issuing increasingly frequent and increasingly urgent notifications to <a href="/en-US/docs/MDN/Contribute/Howto/Link_a_GitHub_account">add a GitHub account to your MDN profile</a> starting now. Please do this as soon as you can, in order to avoid any risk of losing access to your MDN account.</p>
 
 <h2 id="Will_MDN_offer_another_authentication_provider">Will MDN offer another authentication provider?</h2>
 
-<p>We would very much like to do so, but have not yet identified another provider which meets our requirements; in addition, we don't currently have the developer resources to integrate another provider. For the time being, your <em>only</em> option to keep contributor access to MDN is to <a href="/en-US/docs/MDN/Contribute/Howto/Link_a_GitHub_account">link your MDN profile to your GitHub account</a>.</p>
+<p>We would very much like to do so, but have not yet identified another provider which meets our requirements; in addition, we don&apos;t currently have the developer resources to integrate another provider. For the time being, your <em>only</em> option to keep contributor access to MDN is to <a href="/en-US/docs/MDN/Contribute/Howto/Link_a_GitHub_account">link your MDN profile to your GitHub account</a>.</p>
 
-<p>Keep in mind, of course, that you don't need to sign in to MDN in order to read our content. But if you have an account for contributing, and wish to be able to contribute at any time in the future, be sure to <em><strong>add a GitHub account to your profile as soon as you can,</strong></em> before October 31, 2016.</p>
+<p>Keep in mind, of course, that you don&apos;t need to sign in to MDN in order to read our content. But if you have an account for contributing, and wish to be able to contribute at any time in the future, be sure to <em><strong>add a GitHub account to your profile as soon as you can,</strong></em> before October 31, 2016.</p>

+ 16 - 16
files/ar/midas/index.html

@@ -14,13 +14,13 @@ translation_of: Mozilla/Projects/Midas
 ---
 <h2 id="Introduction" name="Introduction">Introduction</h2>
 
-<p>Midas is the code name for Gecko's built-in rich text editor. Midas can be enabled via JavaScript on an HTML document. When Midas is enabled, the document becomes editable by the user. Scripting for Midas is based on the <a href="http://msdn.microsoft.com/en-us/library/ms533049.aspx">DHTML commands</a> supported by Internet Explorer. Internet Explorer supports the ability to make an entire document editable by setting the <code>designMode</code> property of the <a href="/ar/docs/Web/API/Document" title="The Document interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree."><code><bdi>document</bdi></code></a> object; this is how Midas is invoked in Gecko. Internet Explorer also supports the ability to edit specific elements using the <code>contentEditable</code> attribute; Starting with Firefox 3, Gecko also supports <code>contentEditable</code>. Once Midas is invoked, a few more methods of the <code>document</code> object become available.</p>
+<p>Midas is the code name for Gecko&apos;s built-in rich text editor. Midas can be enabled via JavaScript on an HTML document. When Midas is enabled, the document becomes editable by the user. Scripting for Midas is based on the <a href="http://msdn.microsoft.com/en-us/library/ms533049.aspx">DHTML commands</a> supported by Internet Explorer. Internet Explorer supports the ability to make an entire document editable by setting the <code>designMode</code> property of the <a href="/ar/docs/Web/API/Document" title="The Document interface represents any web page loaded in the browser and serves as an entry point into the web page&apos;s content, which is the DOM tree."><code><bdi>document</bdi></code></a> object; this is how Midas is invoked in Gecko. Internet Explorer also supports the ability to edit specific elements using the <code>contentEditable</code> attribute; Starting with Firefox 3, Gecko also supports <code>contentEditable</code>. Once Midas is invoked, a few more methods of the <code>document</code> object become available.</p>
 
 <h2 id="Properties" name="Properties">Properties</h2>
 
 <dl>
  <dt><a href="/en-US/docs/Midas/designMode">document.designMode</a></dt>
- <dd>By setting this property to "on", the document becomes editable.</dd>
+ <dd>By setting this property to &quot;on&quot;, the document becomes editable.</dd>
 </dl>
 
 <h2 id="Notes" name="Notes">Notes</h2>
@@ -39,9 +39,9 @@ translation_of: Mozilla/Projects/Midas
 	&lt;/head&gt;
 	&lt;body&gt;
 		&lt;iframe
-			id="MidasForm"
-			src="about:blank"
-			onload="this.contentDocument.designMode='on';"
+			id=&quot;MidasForm&quot;
+			src=&quot;about:blank&quot;
+			onload=&quot;this.contentDocument.designMode=&apos;on&apos;;&quot;
 		&gt;&lt;/iframe&gt;
 	&lt;/body&gt;
 &lt;/html&gt;
@@ -91,8 +91,8 @@ translation_of: Mozilla/Projects/Midas
   <tr>
    <td>copy</td>
    <td> </td>
-   <td>If there is a selection, this command will copy the selection to the clipboard. If there isn't a selection, nothing will happen.
-    <p>note: this command won't work without setting a pref or using signed JS. See: <a href="http://www.mozilla.org/editor/midasdemo/securityprefs.html">more about security preferences</a></p>
+   <td>If there is a selection, this command will copy the selection to the clipboard. If there isn&apos;t a selection, nothing will happen.
+    <p>note: this command won&apos;t work without setting a pref or using signed JS. See: <a href="http://www.mozilla.org/editor/midasdemo/securityprefs.html">more about security preferences</a></p>
 
     <p>note: the shortcut key will automatically trigger this command (typically accel-C) with or without the signed JS or any code on the page to handle it.</p>
    </td>
@@ -105,8 +105,8 @@ translation_of: Mozilla/Projects/Midas
   <tr>
    <td>cut</td>
    <td> </td>
-   <td>If there is a selection, this command will copy the selection to the clipboard and remove the selection from the edit control. If there isn't a selection, nothing will happen.
-    <p>note: this command won't work without setting a pref or using signed JS. See: <a href="http://www.mozilla.org/editor/midasdemo/securityprefs.html">more about security preferences</a></p>
+   <td>If there is a selection, this command will copy the selection to the clipboard and remove the selection from the edit control. If there isn&apos;t a selection, nothing will happen.
+    <p>note: this command won&apos;t work without setting a pref or using signed JS. See: <a href="http://www.mozilla.org/editor/midasdemo/securityprefs.html">more about security preferences</a></p>
 
     <p>note: the shortcut key will automatically trigger this command (typically accel-X) with or without the signed JS or any code on the page to handle it.</p>
    </td>
@@ -125,14 +125,14 @@ translation_of: Mozilla/Projects/Midas
    <td>fontname</td>
    <td>A font name</td>
    <td>This command will set the font face for a selection or at the insertion point if there is no selection.
-    <p>The given string is such as would be used in the "face" attribute of the font tag, i.e., a comma-separated list of font names.</p>
+    <p>The given string is such as would be used in the &quot;face&quot; attribute of the font tag, i.e., a comma-separated list of font names.</p>
    </td>
   </tr>
   <tr>
    <td>fontsize</td>
    <td>A number</td>
    <td>This command will set the fontsize for a selection or at the insertion point if there is no selection.
-    <p>The given number is such as would be used in the "size" attribute of the font tag.</p>
+    <p>The given number is such as would be used in the &quot;size&quot; attribute of the font tag.</p>
    </td>
   </tr>
   <tr>
@@ -172,7 +172,7 @@ translation_of: Mozilla/Projects/Midas
   </tr>
   <tr>
    <td>inserthorizontalrule</td>
-   <td>null/string (when string is the Line's id)</td>
+   <td>null/string (when string is the Line&apos;s id)</td>
    <td>This command will insert a horizontal rule (line) at the insertion point.
     <p>Does it delete the selection? Yes!</p>
    </td>
@@ -241,8 +241,8 @@ translation_of: Mozilla/Projects/Midas
   <tr>
    <td>paste</td>
    <td> </td>
-   <td>This command will paste the contents of the clipboard at the location of the caret. If there is a selection, it will be deleted prior to the insertion of the clipboard's contents.
-    <p>note: this command won't work without setting a pref or using signed JS. user_pref("capability.policy.policynames", "allowclipboard"); user_pref("capability.policy.allowclipboard.Clipboard.paste", "allAccess"); See: <a href="http://www.mozilla.org/editor/midasdemo/securityprefs.html">more about security preferences</a></p>
+   <td>This command will paste the contents of the clipboard at the location of the caret. If there is a selection, it will be deleted prior to the insertion of the clipboard&apos;s contents.
+    <p>note: this command won&apos;t work without setting a pref or using signed JS. user_pref(&quot;capability.policy.policynames&quot;, &quot;allowclipboard&quot;); user_pref(&quot;capability.policy.allowclipboard.Clipboard.paste&quot;, &quot;allAccess&quot;); See: <a href="http://www.mozilla.org/editor/midasdemo/securityprefs.html">more about security preferences</a></p>
 
     <p>note: the shortcut key will automatically trigger this command (typically accel-V) with or without the signed JS or any code on the page to handle it.</p>
    </td>
@@ -276,7 +276,7 @@ translation_of: Mozilla/Projects/Midas
   <tr>
    <td>styleWithCSS</td>
    <td> </td>
-   <td>This command is used for toggling the format of generated content. By default (at least today), this is true. An example of the differences is that the "bold" command will generate &lt;b&gt; if the styleWithCSS command is false and generate css style attribute if the styleWithCSS command is true.</td>
+   <td>This command is used for toggling the format of generated content. By default (at least today), this is true. An example of the differences is that the &quot;bold&quot; command will generate &lt;b&gt; if the styleWithCSS command is false and generate css style attribute if the styleWithCSS command is true.</td>
   </tr>
   <tr>
    <td>subscript</td>
@@ -312,7 +312,7 @@ translation_of: Mozilla/Projects/Midas
    <td>If the insertion point is within a link or if the current selection contains a link, the link will be removed and the text will remain.</td>
   </tr>
   <tr>
-   <td colspan="3"><div class="blockIndicator deprecated deprecatedHeader">
+   <td colspan="3"><div class="deprecated deprecatedHeader notecard">
             <p><strong><span class="icon-only-inline" title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span> Deprecated</strong><br>This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the <a href="#Browser_compatibility">compatibility table</a> at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.</p>
         </div></td>
   </tr>

+ 12 - 12
files/ar/midas/security_preferences/index.html

@@ -5,7 +5,7 @@ translation_of: Mozilla/Projects/Midas/Security_preferences
 ---
 <div class="note">
 <div class="twocolumns">
-<p><strong>Note:</strong> If you've reached this page from a message box in Firefox or another Mozilla product, try using keyboard shortcuts for the Cut, Copy, and Paste commands:</p>
+<p><strong>Note:</strong> If you&apos;ve reached this page from a message box in Firefox or another Mozilla product, try using keyboard shortcuts for the Cut, Copy, and Paste commands:</p>
 </div>
 
 <ul>
@@ -17,11 +17,11 @@ translation_of: Mozilla/Projects/Midas/Security_preferences
 <p>The information on the rest of this page is for Web developers and advanced users. Please do not try to modify this page.</p>
 </div>
 
-<p>To protect users' private information, unprivileged scripts cannot invoke the Cut, Copy, and Paste commands in Midas, which is Mozilla's rich text editor component. This means that the corresponding buttons on the <a href="http://www-archive.mozilla.org/editor/midasdemo/" title="http://www-
+<p>To protect users&apos; private information, unprivileged scripts cannot invoke the Cut, Copy, and Paste commands in Midas, which is Mozilla&apos;s rich text editor component. This means that the corresponding buttons on the <a href="http://www-archive.mozilla.org/editor/midasdemo/" title="http://www-
 archive.mozilla.org/editor/midasdemo/">Mozilla Rich Text Editing demo page</a> will not work. To enable these functions, you must modify your browser preferences.</p>
 
-<div class="warning">
-<p><strong>Warning:</strong> Changing these preferences can leave your browser insecure, especially if you grant permission to untrusted sites. Only change these settings as needed to try the demo above and to test your own add-on or Firefox-internal code, and be sure to restore the default settings when you're done!</p>
+<div class="warning notecard">
+<p><strong>Warning:</strong> Changing these preferences can leave your browser insecure, especially if you grant permission to untrusted sites. Only change these settings as needed to try the demo above and to test your own add-on or Firefox-internal code, and be sure to restore the default settings when you&apos;re done!</p>
 </div>
 
 <h2 id="Changing_the_preferences_in_Firefox">Changing the preferences in Firefox</h2>
@@ -29,12 +29,12 @@ archive.mozilla.org/editor/midasdemo/">Mozilla Rich Text Editing demo page</a> w
 <ol>
  <li>Quit Firefox. If you have Quick Launch running (on Windows, this is an icon in the toolbar), quit that too.</li>
  <li><a href="http://support.mozilla.com/en-US/kb/Profiles" class="external">Find your Firefox profile directory</a>.</li>
- <li>Open the <code class="filename">user.js</code> file from that directory in a text editor. If there's no <code>user.js</code> file, create one.</li>
+ <li>Open the <code class="filename">user.js</code> file from that directory in a text editor. If there&apos;s no <code>user.js</code> file, create one.</li>
  <li>Add these lines to <code class="filename">user.js</code>:
-  <pre class="code">user_pref("capability.policy.policynames", "allowclipboard");
-user_pref("capability.policy.allowclipboard.sites", "https://www-archive.mozilla.org");
-user_pref("capability.policy.allowclipboard.Clipboard.cutcopy", "allAccess");
-user_pref("capability.policy.allowclipboard.Clipboard.paste", "allAccess");
+  <pre class="code">user_pref(&quot;capability.policy.policynames&quot;, &quot;allowclipboard&quot;);
+user_pref(&quot;capability.policy.allowclipboard.sites&quot;, &quot;https://www-archive.mozilla.org&quot;);
+user_pref(&quot;capability.policy.allowclipboard.Clipboard.cutcopy&quot;, &quot;allAccess&quot;);
+user_pref(&quot;capability.policy.allowclipboard.Clipboard.paste&quot;, &quot;allAccess&quot;);
 </pre>
  </li>
  <li>Change the URL <span class="external"><code class="url">https://www.mozilla.org</code></span> to the site for which you want to enable this function.</li>
@@ -43,18 +43,18 @@ user_pref("capability.policy.allowclipboard.Clipboard.paste", "allAccess");
 
 <div class="note"><strong>Note:</strong> The preference is site as well as protocol specific. For example:
 
-<pre>user_pref("capability.policy.allowclipboard.sites", "http://www-archive.mozilla.org")
+<pre>user_pref(&quot;capability.policy.allowclipboard.sites&quot;, &quot;http://www-archive.mozilla.org&quot;)
 </pre>
 
 <p>is not the same as:</p>
 
-<pre>user_pref("capability.policy.allowclipboard.sites", "https://www-archive.mozilla.org")
+<pre>user_pref(&quot;capability.policy.allowclipboard.sites&quot;, &quot;https://www-archive.mozilla.org&quot;)
 </pre>
 
 <p>This is because the first uses <a href="/en-US/docs/HTTP" title="/en-US/docs/HTTP">HTTP</a> while the second uses HTTPS.</p>
 If you want to allow multiple URLs to access the Paste operation, separate the URLs with a space. For example:
 
-<pre>user_pref("capability.policy.allowclipboard.sites", "https://www-archive.mozilla.org https://developer.mozilla.org")
+<pre>user_pref(&quot;capability.policy.allowclipboard.sites&quot;, &quot;https://www-archive.mozilla.org https://developer.mozilla.org&quot;)
 </pre>
 </div>
 

+ 1 - 1
files/ar/mozilla/localization/index.html

@@ -13,7 +13,7 @@ translation_of: Mozilla/Localization
 ---
 <p><span class="seoSummary"><strong>Localization</strong> (L10n) is the process of translating software user interfaces from one language to another and adapting it to suit a foreign culture. These resources are for anyone with an interest in the technical aspects involved in localization.</span> They are for developers and all contributors.</p>
 
-<div class="warning">
+<div class="warning notecard">
 <p>The documentation here is no longer being maintained and is inaccurate. L10n documentation has moved to <a href="https://mozilla-l10n.github.io/localizer-documentation/">https://mozilla-l10n.github.io/localizer-documentation/</a> . To learn how to bootstrap a new locale for Mozilla projects, please see those documents</p>
 </div>
 

+ 29 - 29
files/ar/mozilla/projects/spidermonkey/introduction_to_the_javascript_shell/index.html

@@ -76,7 +76,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
       <summary>Useful lists</summary>
       <ol>
         <li><a href="/ar/docs/Mozilla/Projects/SpiderMonkey/Index">All pages index</a></li>
-        <li><a href="/ar/docs/tag/SpiderMonkey">Pages tagged "SpiderMonkey"</a></li>
+        <li><a href="/ar/docs/tag/SpiderMonkey">Pages tagged &quot;SpiderMonkey&quot;</a></li>
       </ol>
     </details>
   </li>
@@ -93,7 +93,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
 </section></font></font></div>
 
 <div class="summary">
-<p><font><font>و </font></font><strong><font><font>جافا سكريبت قذيفة</font></font></strong><font><font> ( </font></font><code>js</code><font><font>) هو برنامج سطر الأوامر المدرجة في </font></font><a href="/en-US/docs/Mozilla/Projects/SpiderMonkey" title="ar / SpiderMonkey"><font><font>سبايدر مونكي</font></font></a><font><font> توزيع المصدر. </font><font>إنه مكافئ جافا سكريبت لموجه Python التفاعلي ، أو حلقة Lisp للقراءة والتقييم والطباعة ، أو Ruby's </font></font><code>irb</code><font><font>. </font><font>تشرح هذه المقالة كيفية استخدام الصدفة لتجربة كود JavaScript وتشغيل برامج JavaScript.</font></font></p>
+<p><font><font>و </font></font><strong><font><font>جافا سكريبت قذيفة</font></font></strong><font><font> ( </font></font><code>js</code><font><font>) هو برنامج سطر الأوامر المدرجة في </font></font><a href="/en-US/docs/Mozilla/Projects/SpiderMonkey" title="ar / SpiderMonkey"><font><font>سبايدر مونكي</font></font></a><font><font> توزيع المصدر. </font><font>إنه مكافئ جافا سكريبت لموجه Python التفاعلي ، أو حلقة Lisp للقراءة والتقييم والطباعة ، أو Ruby&apos;s </font></font><code>irb</code><font><font>. </font><font>تشرح هذه المقالة كيفية استخدام الصدفة لتجربة كود JavaScript وتشغيل برامج JavaScript.</font></font></p>
 </div>
 
 <p><font><font>للحصول على SpiderMonkey JavaScript shell ، راجع  </font></font><a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Build_Documentation"><font><font>SpiderMonkey Build Documentation</font></font></a><font><font>  أو قم بتنزيل ملف ثنائي </font><a href="/en-US/docs/Mozilla/Projects/SpiderMonkey/Build_Documentation"><font>مترجم لمنصتك</font></a><font> من </font></font><a class="external" href="https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/" title="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/"><font><font>Nightly Builds</font></font></a><font><font> .</font></font></p>
@@ -113,7 +113,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
 <pre class="eval notranslate"><font><font>شبيبة
 </font></font></pre>
 
-<p style="text-align: right;"><font><font>[إذا حصلت على "خطأ في البحث عن الرمز: ./js: رمز غير محدد: PR_SetCurrentThreadName" على سبيل المثال من وحدة تحكم Bash عند استخدام برنامج ثنائي تم تجميعه مسبقًا ، جرب &lt;path to your Firefox's run-mozilla.sh&gt; /run-mozilla.sh. / js - لقد نجحت معي]</font></font></p>
+<p style="text-align: right;"><font><font>[إذا حصلت على &quot;خطأ في البحث عن الرمز: ./js: رمز غير محدد: PR_SetCurrentThreadName&quot; على سبيل المثال من وحدة تحكم Bash عند استخدام برنامج ثنائي تم تجميعه مسبقًا ، جرب &lt;path to your Firefox&apos;s run-mozilla.sh&gt; /run-mozilla.sh. / js - لقد نجحت معي]</font></font></p>
 
 <p><font><font>إذا كنت ترغب في تشغيل كود JavaScript في الملف </font></font><code>foo.js</code><font><font>، يمكنك استخدام هذا الأمر:</font></font></p>
 
@@ -147,7 +147,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
  <dt><code>--no-baseline</code></dt>
  <dd><font><font>تعطيل مترجم JIT الأساسي.</font></font></dd>
  <dt><code>-P</code></dt>
- <dd><font><font>إذا كان السطر الأول من الملف هو "/ usr / bin / env js -P" ، فسيتم تفسير محتوى الملف بواسطة محرك JavaScript.</font></font></dd>
+ <dd><font><font>إذا كان السطر الأول من الملف هو &quot;/ usr / bin / env js -P&quot; ، فسيتم تفسير محتوى الملف بواسطة محرك JavaScript.</font></font></dd>
  <dd><font><font>يمكّنك هذا من إنشاء ملف JavaScript قابل للتنفيذ على أجهزة unix و OS X.</font></font></dd>
  <dt><code>-s</code></dt>
  <dd><font><font>لتمكين وضع التحذير الصارم.</font></font></dd>
@@ -172,7 +172,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
 
 <p><font><font>لجعل JavaScript shell أكثر فائدة ، هناك عدد من الوظائف المضمنة بشرط أن يمكنك استخدامها إما من برامج JavaScript أو في الوضع التفاعلي.</font></font></p>
 
-<div class="warning">
+<div class="warning notecard">
 <p><strong><font><font>ملاحظة</font></font></strong><font><font> : هذه القائمة غير مكتملة وتتداخل مع </font></font><a href="/en-US/docs/SpiderMonkey/Shell_global_objects"><font><font>كائنات شل العامة</font></font></a><font><font> . </font><font>راجع <code><a href="https://dxr.mozilla.org/mozilla-central/source/js / src / shell / js.cpp" rel="custom">js / src / shell / js.cpp</a></code> (حول </font></font><code>shell_functions</code><font><font>) للمزيد.</font></font></p>
 </div>
 
@@ -188,7 +188,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
 
 <h4 id="countHeap" name="countHeap"><code>countHeap(<em>[start[, kind]]</em>)</code></h4>
 
-<p><font><font><span style="border: 1px solid rgb(129, 129, 81); background: rgb(255, 255, 225); font-size: 9px; vertical-align: text-top;">Added in <a href="https://developer.mozilla.org/ar/docs/SpiderMonkey/1.8">SpiderMonkey 1.8</a></span> احسب عدد أشياء GC الحية في الكومة ، أو الأشياء التي يمكن الوصول إليها من </font></font><var><font><font>البداية</font></font></var><font><font> عندما يتم تقديمها وليست فارغة. </font></font><var><font><font>النوع</font></font></var><font><font> هو إما </font></font><code>'all'</code><font><font>(افتراضي) لعد كل الأشياء أو واحد من </font></font><code>'object'</code><font><font>، </font></font><code>'double'</code><font><font>، </font></font><code>'string'</code><font><font>، </font></font><code>'function'</code><font><font>، </font></font><code>'qname'</code><font><font>، </font></font><code>'namespace'</code><font><font>، </font></font><code>'xml'</code><font><font>لحساب الأشياء من هذا النوع فقط.</font></font></p>
+<p><font><font><span style="border: 1px solid rgb(129, 129, 81); background: rgb(255, 255, 225); font-size: 9px; vertical-align: text-top;">Added in <a href="https://developer.mozilla.org/ar/docs/SpiderMonkey/1.8">SpiderMonkey 1.8</a></span> احسب عدد أشياء GC الحية في الكومة ، أو الأشياء التي يمكن الوصول إليها من </font></font><var><font><font>البداية</font></font></var><font><font> عندما يتم تقديمها وليست فارغة. </font></font><var><font><font>النوع</font></font></var><font><font> هو إما </font></font><code>&apos;all&apos;</code><font><font>(افتراضي) لعد كل الأشياء أو واحد من </font></font><code>&apos;object&apos;</code><font><font>، </font></font><code>&apos;double&apos;</code><font><font>، </font></font><code>&apos;string&apos;</code><font><font>، </font></font><code>&apos;function&apos;</code><font><font>، </font></font><code>&apos;qname&apos;</code><font><font>، </font></font><code>&apos;namespace&apos;</code><font><font>، </font></font><code>&apos;xml&apos;</code><font><font>لحساب الأشياء من هذا النوع فقط.</font></font></p>
 
 <h4 id="evalcx.28string.5B.2C_object.5D.29" name="evalcx.28string.5B.2C_object.5D.29"><code>dumpHeap(<em>[fileName[, start[, toFind[, maxDepth[, toIgnore]]]]]</em>)</code></h4>
 
@@ -200,7 +200,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
 
 <p><font><font>إذا كانت </font></font><em><font><font>السلسلة</font></font></em><font><font> فارغة ولم </font><font>يتم تحديد </font></font><em><font><font>الكائن</font></font></em><font><font> ، يتم </font></font><code>evalcx()</code><font><font>إرجاع كائن جديد بفئات قياسية متلهفة.</font></font></p>
 
-<p><font><font>إذا كانت </font></font><em><font><font>السلسلة</font></font></em><font><font> "lazy" ولم </font><font>يتم تحديد </font></font><em><font><font>الكائن</font></font></em><font><font> ، يتم </font></font><code>evalcx()</code><font><font>إرجاع كائن جديد بفئات قياسية كسولة.</font></font></p>
+<p><font><font>إذا كانت </font></font><em><font><font>السلسلة</font></font></em><font><font> &quot;lazy&quot; ولم </font><font>يتم تحديد </font></font><em><font><font>الكائن</font></font></em><font><font> ، يتم </font></font><code>evalcx()</code><font><font>إرجاع كائن جديد بفئات قياسية كسولة.</font></font></p>
 
 <div class="note"><strong><font><font>ملاحظة:</font></font></strong> <code>evalcx()</code><font><font> هذا مفيد فقط للأشخاص الذين يقومون بعمل داخلي عميق على محرك JavaScript ، </font></font><code>evalInSandbox</code><font><font>لبيئات تشبه </font><font>الاختبار </font><font>في الغلاف.</font></font></div>
 
@@ -212,7 +212,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
 
 <p><font><font><span style="border: 1px solid rgb(129, 129, 81); background: rgb(255, 255, 225); font-size: 9px; vertical-align: text-top;">Added in <a href="https://developer.mozilla.org/ar/docs/SpiderMonkey/1.8">SpiderMonkey 1.8</a></span> قراءة أو تهيئة معلمات أداة تجميع البيانات المهملة.</font></font></p>
 
-<p><font><font>و </font></font><em><font><font>اسم</font></font></em><font><font> يجب أن يكون واحدا من مفاتيح المعلمة (مثل </font></font><code>'maxBytes'</code><font><font>، </font></font><code>'maxMallocBytes'</code><font><font>أو ' </font></font><code>gcNumber</code><font><font>') حددها </font></font><code>FOR_EACH_GC_PARAM</code><font><font>في </font></font><a href="https://searchfox.org/mozilla-central/source/js/src/builtin/TestingFunctions.cpp#464"><font><font>https://searchfox.org/mozilla-central/source/js/src/builtin/TestingFunctions.cpp#464</font></font></a><font><font> .</font></font></p>
+<p><font><font>و </font></font><em><font><font>اسم</font></font></em><font><font> يجب أن يكون واحدا من مفاتيح المعلمة (مثل </font></font><code>&apos;maxBytes&apos;</code><font><font>، </font></font><code>&apos;maxMallocBytes&apos;</code><font><font>أو &apos; </font></font><code>gcNumber</code><font><font>&apos;) حددها </font></font><code>FOR_EACH_GC_PARAM</code><font><font>في </font></font><a href="https://searchfox.org/mozilla-central/source/js/src/builtin/TestingFunctions.cpp#464"><font><font>https://searchfox.org/mozilla-central/source/js/src/builtin/TestingFunctions.cpp#464</font></font></a><font><font> .</font></font></p>
 
 <p><font><font>إذا </font><font>لم يتم تحديد </font></font><em><font><font>القيمة</font></font></em><font><font> ، يتم </font></font><code>gcparam()</code><font><font>إرجاع القيمة الحالية المرتبطة بمعلمة GC المسماة </font></font><em><font><font>بالاسم</font></font></em><font><font> .</font></font></p>
 
@@ -285,7 +285,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
 
 <h4 id="print.28.5Bexpression_....5D.29" name="print.28.5Bexpression_....5D.29"><code>print(<em>[expression ...]</em>)</code></h4>
 
-<p>Evaluates the <em>expression(s)</em> and displays the result(s) on <code>stdout</code>, separated by spaces (" ") and terminated by a newline ("\n").</p>
+<p>Evaluates the <em>expression(s)</em> and displays the result(s) on <code>stdout</code>, separated by spaces (&quot; &quot;) and terminated by a newline (&quot;\n&quot;).</p>
 
 <h4 id="print.28.5Bexpression_....5D.29" name="print.28.5Bexpression_....5D.29"><code>putstr(<em>expression</em>)</code></h4>
 
@@ -297,7 +297,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
 
 <h4 id="read.28filename.5B.2C_type.5D.29" name="read.28filename.5B.2C_type.5D.29"><code>read(<em>filename[, type]</em>)</code></h4>
 
-<p>Reads and returns the contents of file. If type is "binary" returns an <code>Uint8Array</code>, otherwise returns an UTF-8 decoded string.</p>
+<p>Reads and returns the contents of file. If type is &quot;binary&quot; returns an <code>Uint8Array</code>, otherwise returns an UTF-8 decoded string.</p>
 
 <h4 id="readline.28.29" name="readline.28.29"><code>readline()</code></h4>
 
@@ -333,14 +333,14 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
 
 <p>This is a powerful debugging mechanism when used in concert with <code>line2pc()</code>. For example, if you want to display a message when line 6 of a function, <code>doSomething()</code> is executed, you can enter the following:</p>
 
-<pre class="notranslate">trap(doSomething, line2pc(doSomething, 6), "print('line 6!\n')");
+<pre class="notranslate">trap(doSomething, line2pc(doSomething, 6), &quot;print(&apos;line 6!\n&apos;)&quot;);
 </pre>
 
 <div class="note"><strong>Note:</strong> When a trap is set, the corresponding bytecode in the program is replaced with a <code>trap</code> bytecode until you use <code>untrap()</code> to remove the trap.</div>
 
 <h4 id="untrap.28function_.5B.2C_pc.5D.29" name="untrap.28function_.5B.2C_pc.5D.29"><code>untrap(<em>function [, pc]</em>)</code></h4>
 
-<p>Removes a trap from the specified <em>function</em> at the offset <em>pc</em>. If <em>pc</em> isn't specified, the trap is removed from the function's entry point.</p>
+<p>Removes a trap from the specified <em>function</em> at the offset <em>pc</em>. If <em>pc</em> isn&apos;t specified, the trap is removed from the function&apos;s entry point.</p>
 
 <p>This function has no effect if there is no trap at the specified location.</p>
 
@@ -370,7 +370,7 @@ translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_she
 00000:  uint16 3
 00003:  setvar 0
 00006:  pop
-00007:  name "print"
+00007:  name &quot;print&quot;
 00010:  pushobj
 00011:  getvar 0
 00014:  uint16 2
@@ -394,53 +394,53 @@ Source notes:
 <p>If your program includes a function, <code>doStuff()</code>, like this:</p>
 
 <pre class="notranslate">function doStuff(input) {
-	print("Enter a number: ");
+	print(&quot;Enter a number: &quot;);
 	var n1 = readline();
-	print("Enter another one: ");
+	print(&quot;Enter another one: &quot;);
 	var n2 = readline();
 
-	print("You entered " + n1 + " and " + n2 + "\n");
+	print(&quot;You entered &quot; + n1 + &quot; and &quot; + n2 + &quot;\n&quot;);
 }
 </pre>
 
 <p>Calling <code>dissrc(doStuff)</code> function would give this output:</p>
 
-<pre class="notranslate">;-------------------------  10:         print("Enter a number: ");
-00000:  10  name "print"
+<pre class="notranslate">;-------------------------  10:         print(&quot;Enter a number: &quot;);
+00000:  10  name &quot;print&quot;
 00003:  10  pushobj
-00004:  10  string "Enter a number: "
+00004:  10  string &quot;Enter a number: &quot;
 00007:  10  call 1
 00010:  10  pop
 ;-------------------------  11:         var n1 = readline();
-00011:  11  name "readline"
+00011:  11  name &quot;readline&quot;
 00014:  11  pushobj
 00015:  11  call 0
 00018:  11  setvar 0
 00021:  11  pop
-;-------------------------  12:         print("Enter another one: ");
-00022:  12  name "print"
+;-------------------------  12:         print(&quot;Enter another one: &quot;);
+00022:  12  name &quot;print&quot;
 00025:  12  pushobj
-00026:  12  string "Enter another one: "
+00026:  12  string &quot;Enter another one: &quot;
 00029:  12  call 1
 00032:  12  pop
 ;-------------------------  13:         var n2 = readline();
-00033:  13  name "readline"
+00033:  13  name &quot;readline&quot;
 00036:  13  pushobj
 00037:  13  call 0
 00040:  13  setvar 1
 00043:  13  pop
 ;-------------------------  14:
-;-------------------------  15:         print("You entered " + n1 + " and " + n2 + "\n");
-00044:  15  name "print"
+;-------------------------  15:         print(&quot;You entered &quot; + n1 + &quot; and &quot; + n2 + &quot;\n&quot;);
+00044:  15  name &quot;print&quot;
 00047:  15  pushobj
-00048:  15  string "You entered "
+00048:  15  string &quot;You entered &quot;
 00051:  15  getvar 0
 00054:  15  add
-00055:  15  string " and "
+00055:  15  string &quot; and &quot;
 00058:  15  add
 00059:  15  getvar 1
 00062:  15  add
-00063:  15  string "\\n"
+00063:  15  string &quot;\\n&quot;
 00066:  15  add
 00067:  15  call 1
 00070:  15  pop

+ 8 - 8
files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/index.html

@@ -16,18 +16,18 @@ tags:
 translation_of: Archive/B2G_OS/Automated_testing/gaia-ui-tests
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_1_Marionette_Firefox_OS_start">Next  »</a></p>
+    <p><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_1_Marionette_Firefox_OS_start" class="button">Next  »</a></p>
 </div><p></p>
 
 <div class="summary">
-<p>Gaia-ui-tests is Mozilla's test suite for running end-to-end UI test cases against Gaia, the UI of Firefox OS. All the tests are written in Python with some JavaScript used for interacting with Firefox OS's APIs. This set of tutorial articles explains how to set up the environment to write and run tests.</p>
+<p>Gaia-ui-tests is Mozilla&apos;s test suite for running end-to-end UI test cases against Gaia, the UI of Firefox OS. All the tests are written in Python with some JavaScript used for interacting with Firefox OS&apos;s APIs. This set of tutorial articles explains how to set up the environment to write and run tests.</p>
 </div>
 
 <p>Gaia-ui-tests uses <strong>Gaiatest</strong>, a Python package based around <a href="https://developer.mozilla.org/en-US/docs/Marionette" title="https://developer.mozilla.org/en-US/docs/Marionette">Marionette</a>. Gaiatest is designed to wrap HTML locators, Marionette calls and API calls together for interoperble communication and functionality. Marionette is based on the W3C standard developed for the <a href="http://docs.seleniumhq.org/projects/webdriver/" title="http://docs.seleniumhq.org/projects/webdriver/">Selenium WebDriver</a> a programming interface for browser automation. If you have used WebDriver and page/app objects before then you will find using Marionette and gaiatest easy.</p>
 
 <h2 id="Getting_started_with_Gaia_UI_tests">Getting started with Gaia UI tests</h2>
 
-<p>For those keen to get started with automated testing on Gaia/Firefox OS we have a tutorial series that will help you go from nothing to writing your own tests. Once you've completed this tutorial you'll have enough knowledge of testing, Firefox OS and Marionette to get started as a Mozilla tests contributor. It is <strong>highly</strong> recommended that you complete this tutorial if you wish to become a contributor.</p>
+<p>For those keen to get started with automated testing on Gaia/Firefox OS we have a tutorial series that will help you go from nothing to writing your own tests. Once you&apos;ve completed this tutorial you&apos;ll have enough knowledge of testing, Firefox OS and Marionette to get started as a Mozilla tests contributor. It is <strong>highly</strong> recommended that you complete this tutorial if you wish to become a contributor.</p>
 
 <dl>
  <dt><a href="/en-US/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_1_Marionette_Firefox_OS_start">Part 1: Getting started with Marionette and Firefox OS</a></dt>
@@ -39,20 +39,20 @@ translation_of: Archive/B2G_OS/Automated_testing/gaia-ui-tests
  <dt><a href="/en-US/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_4_Reusing_commands_Firefox_OS_setup">Part 4: Re-using commands to set up Firefox OS</a></dt>
  <dd>Here we look at moving some of the commands into Python methods to promote code reuse.</dd>
  <dt><a href="/en-US/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_5_Introducing_a_test_runner">Part 5: Introducing a test runner</a></dt>
- <dd>A test runner is a central feature of any good test suite, allowing you to run multiple tests and report and aggregate results. In this article we will explore the basics of Python's unittest runner.</dd>
- <dt><a href="/en-US/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_6_Marionette_By_class">Part 6: Using tuples, and Marionette's By class</a></dt>
- <dd>This time around we explain how to further reduce duplication of code, by storing repeated locators in tuples and simplifying the syntax with Marionette's <code>By</code> class.</dd>
+ <dd>A test runner is a central feature of any good test suite, allowing you to run multiple tests and report and aggregate results. In this article we will explore the basics of Python&apos;s unittest runner.</dd>
+ <dt><a href="/en-US/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_6_Marionette_By_class">Part 6: Using tuples, and Marionette&apos;s By class</a></dt>
+ <dd>This time around we explain how to further reduce duplication of code, by storing repeated locators in tuples and simplifying the syntax with Marionette&apos;s <code>By</code> class.</dd>
  <dt><a href="/en-US/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_7_Writing_your_own_tests">Part 7: Writing your own tests</a></dt>
  <dd>Now the basics and behind you, and it is time to start to writing your own tests! Here we give you some tool recommendations to make the work easier, and suggest some tests to try your hand at writing.</dd>
  <dt><a href="/en-US/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_8_Using_a_base_class">Part 8: Using a base class</a></dt>
  <dd>In its current state, our test file contains all the test runner code. This is ok for now, but as soon as you start to run many test files it will mean a lot of duplication. Here we solve this problem by abstracting the test runner code into a separate Python class.</dd>
  <dt><a href="/en-US/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_9_app_objects">Part 9: Reducing duplication with app objects</a></dt>
- <dd>As a final improvement to the code's maintainability, in this article we explore abstracting code that handles interaction with specific Firefox OS apps out into Python app objects.</dd>
+ <dd>As a final improvement to the code&apos;s maintainability, in this article we explore abstracting code that handles interaction with specific Firefox OS apps out into Python app objects.</dd>
 </dl>
 
 <h2 id="Advanced_topics">Advanced topics</h2>
 
-<p>One you've got the basics of writing and running tests under your belt, you way want to move on to some more involved or advanced work, such as running the full gaia-ui-tests tests suite, or logging power draw as the result of a test.</p>
+<p>One you&apos;ve got the basics of writing and running tests under your belt, you way want to move on to some more involved or advanced work, such as running the full gaia-ui-tests tests suite, or logging power draw as the result of a test.</p>
 
 <dl>
  <dt><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Gaia_UI_Tests_Run_Tests" title="Gaia UI Tests Run Tests">Running the gaia-ui-tests</a></dt>

+ 1 - 1
files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_1_marionette_firefox_os_start/index.html

@@ -8,7 +8,7 @@ translation_of: >-
   Archive/B2G_OS/Automated_testing/gaia-ui-tests/Part_1_Marionette_Firefox_OS_start
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_2_Marionette_Firefox_OS_interactions">Next  »</a></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests" class="button">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_2_Marionette_Firefox_OS_interactions" class="button">Next  »</a></p>
 </div><p></p>
 <div class="summary">
  <p><span class="seoSummary">এই টিউটোরিয়াল সিরিজটির উদ্দেশ্য হল ফাইয়ারফক্স OS ব্যবহৃত ম্যারিওনেটের জন্য লেখা ও রান সংক্রান্ত অটোনোমেটেড UI টেস্টের সাথে আপনাকে পরিচিত করা। ম্যারিওনেট Getko-ভিত্তিক প্ল্যাটফর্মে টেস্ট রান করানোর জন্য কমান্ড ইস্যু করে। </span></p>

+ 10 - 10
files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_2_marionette_firefox_os_interactions/index.html

@@ -11,7 +11,7 @@ translation_of: >-
   Archive/B2G_OS/Automated_testing/gaia-ui-tests/Part_2_Marionette_Firefox_OS_interactions
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_1_Marionette_Firefox_OS_start">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_3_Reusable_tests">Next  »</a></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_1_Marionette_Firefox_OS_start" class="button">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_3_Reusable_tests" class="button">Next  »</a></p>
 </div><p></p>
 <div class="summary">
  <p><span class="seoSummary">আমাদের টিউটোরিয়ালের দ্বিতীয় অংশে আমরা কিছু সাধারণ ম্যারিওনেট কমান্ড দিয়ে শুরু করব যা দিয়ে রিমোটলি ফায়ারফক্স OS নিয়ন্ত্রণ করা যায়। এটি কোন টেস্টের সম্পূর্ণ লেখা ধারণ করে না তবে এটি আপনাকে বেসিক কোড ফিচার শেখায় যা টেস্ট লেখার সময় আপনার কাজে লাগবে। তৃতীয় অংশে, আমরা একটি প্রকৃত টেস্টের মাধ্যমে কোডটিকে আরো মার্জিত করার জন্য অগ্রসর হব।  </span></p>
@@ -31,7 +31,7 @@ translation_of: >-
 <p>এখন নিচের লাইন দুইটি রান করান, যা  ক্লাইন্ট থেকে কমান্ড গ্রহণের জন্য ম্যারিওনেট সেশনকে ইনিশিয়েট করেঃউপরে যেরকম বলা হয়েছে আপনি যদি সেভাবে লক স্ক্রিন নিষ্ক্রিয় না করে থাকেন তবে আপনি প্রোগ্রামের মাধ্যমে তা করতে পারেন এই কমান্ডটি ব্যবহার করেঃ</p>
 <pre class="brush: bash">marionette = Marionette()
 marionette.start_session()</pre>
-<pre class="brush: bash">marionette.execute_script('window.wrappedJSObject.lockScreen.unlock();')</pre>
+<pre class="brush: bash">marionette.execute_script(&apos;window.wrappedJSObject.lockScreen.unlock();&apos;)</pre>
 <h2 id="ফায়ারফক্স_OS_এর_মধ্যে_বিভিন্ন_ফ্রেম_প্রবেশ_করানো">ফায়ারফক্স OS এর মধ্যে বিভিন্ন ফ্রেম প্রবেশ করানো<br>
   </h2>
 <p>ফায়ারফক্স এ ওয়েব অ্যাপ বিভিন্ন ইনফ্রেমে কাজ করে। ভিন্ন ভিন্ন ইনফ্রেমে (কোন উইন্ডোর মত) ওয়েব অ্যাপ রান করলে তাদের পূর্ণ নিরাপত্তা নিশ্চিত হয় এবং একই সাথে যথাযথ ব্যবস্থাপনাও। অ্যাপ যেখানে রান করে সেটিকে আপনি একটি স্যান্ডবক্সের মত ভাবতে পারেন। শুধুমাত্র ম্যারিওনেটই কোন নির্দিষ্ট সময়ে একটি ফ্রেমে কাজ করতে পারে। আমরা যে ফ্র্রেম নিয়ে কাজ করতে যাচ্ছি তাতে সুইচ হওয়ার জন্য ম্যারিওনেট দরকারঃ</p>
@@ -39,33 +39,33 @@ marionette.start_session()</pre>
 <p>ইনফ্রেম খোঁজার জন্য, আমাদের কোনভাবে এটি নির্দিষ্ট করা লাগবে। যেহেতু ম্যারিওনেট ওয়েব ড্রাইভার API ভিত্তিক, তাই এলিমেন্ট লোকেট করার জন্য এটি একই তথ্য ব্যবহার করে। তাই আমরা ওয়েব ড্রাইভারে ওয়েব এলিমেন্ট নির্দিষ্ট করার জন্য যে কোন তথ্য ব্যবহার করতে পারি। আরো তথ্য জানুন<a href="http://www.w3.org/TR/webdriver/#element-location-strategies"> এলিমেন্ট লোকেশন স্ট্র্যাটিজিজ</a> এ।</p>
 <p>এ ক্ষেত্রে আমরা হোমস্ক্রিন ইনফ্রেম সিলেক্ট করার জন্য  CSS সিলেক্টর <code>div.homescreen iframe</code> ব্যবহার করব;<code> find_element()</code> ফাংশনটি এটিকে দ্বিতীয় আর্গুমেন্ট হিসাবে নেয়, প্রথম আর্গুমেন্টটি হল খোঁজ করার জন্য কোন সিলেকশন ম্যাকানিজম ব্যবহৃত হচ্ছে তা নির্ধারণ করা। তারপর আমরা এই ফলাফল কোন একটি ভ্যারিয়েবলে স্টোর করে রাখব এবং আর্গুমেন্ট হিসাবে তা দিয়ে <code>switch_to_frame()ফাংশনটি রান করাব</code>। নিচের দুইটি নির্দেশ এখন অনুসরণ করুনঃ</p>
 <pre class="brush: bash"># Switch context to the homescreen iframe and tap on the Contacts app icon
-home_frame = marionette.find_element('css selector', 'div.homescreen iframe')
+home_frame = marionette.find_element(&apos;css selector&apos;, &apos;div.homescreen iframe&apos;)
 marionette.switch_to_frame(home_frame)</pre>
 <div class="note">
  <p><strong>নো</strong><strong>টঃ</strong>আরো পড়ার জন্য এবং সুইচিং ফ্রেম  সম্পর্কিত ডায়াগ্রাম জানার জন্য অনুগ্রহ করে পড়ুন<a href="https://blog.mozilla.org/webqa/2013/02/13/part-2-ui-testing-on-firefox-os-working-with-iframes/"> iFrames দিয়ে কাজ করা</a>।</p>
 </div>
 <h2 id="অ্যাপ্লিকেশন_ওপেন_করা">অ্যাপ্লিকেশন ওপেন করা</h2>
 <p>ঠিক আছে। এখন আমরা হোমস্ক্রিন অ্যাপ এ আছি। <code>tap()</code> function এর সাথে আমরা <code>find_element()ব্যবহার করে </code>আইকন এবং ট্যাপকে নির্দিষ্ট করতে পারি।</p>
-<pre class="brush: bash">contacts_icon = marionette.find_element('css selector', "#footer li[aria-label='Contacts']")
+<pre class="brush: bash">contacts_icon = marionette.find_element(&apos;css selector&apos;, &quot;#footer li[aria-label=&apos;Contacts&apos;]&quot;)
 contacts_icon.tap()</pre>
 <p>এই কাজগুলো সব ঠিক মত হয়ে থাকলে আপনার এখন কনটেন্টস অ্যাপ ওপেন দেখতে পাওয়ার কথা, কিন্তু কনটেন্ট অ্যাপ ফ্রেম নিয়ে কাজ করার জন্য আমাদের কনটেন্ট অ্যাপ ফ্রেম সুইচ করতে হবে, যেমনটি আমরা আগে হোমস্ক্রিনে করেছিলাম আগেঃ</p>
 <pre class="brush: bash"># First, we need to switch context back to the System frame
 marionette.switch_to_frame()
 
 # Now, switch context to the contacts app frame
-contacts_frame = marionette.find_element('css selector', "iframe[data-url*='contacts']")
+contacts_frame = marionette.find_element(&apos;css selector&apos;, &quot;iframe[data-url*=&apos;contacts&apos;]&quot;)
 marionette.switch_to_frame(contacts_frame)</pre>
 <p>ফ্রেমে সুইচ করলে তা রিটার্ন করবে <code>True</code>. যদি তা হয়, তাহলে তো খুবই ভাল। এর মানে হল আমরা কন্টেন্টস্ অ্যাপ এর ভেতরে আছি এবং এটি ব্যবহারের জন্য প্রস্তুত।</p>
 <h2 id="অ্যাপ_ম্যানিপুলেট_করা">অ্যাপ ম্যানিপুলেট করা</h2>
 <p>পরবর্তী ধাপে আমরা একটি টিপিক্যাল টেস্ট টাস্ক পারফর্ম করব — নতুন অ্যাকাউন্ট তৈরি করা, তাতে নাম দেওয়া এবং সেভ করা। প্রথমে, আমরা অ্যাড কনটেন্ট বাটনটি ট্যাপ করবঃ</p>
 <pre class="brush: bash"># Tap [+] to add a new Contact
-marionette.find_element('id', 'add-contact-button').taঞ্জঃএখনNow let’s add the contact's name using the next two commands (<code>send_keys()</code> is used to insert a value into an element):
+marionette.find_element(&apos;id&apos;, &apos;add-contact-button&apos;).taঞ্জঃএখনNow let’s add the contact&apos;s name using the next two commands (<code>send_keys()</code> is used to insert a value into an element):
 </pre>
-<pre class="brush: bash">marionette.find_element('id', 'givenName').send_keys('Foo')
-# Add the contact's surname
-marionette.find_element('id', 'familyName').send_keys('Bar')</pre>
+<pre class="brush: bash">marionette.find_element(&apos;id&apos;, &apos;givenName&apos;).send_keys(&apos;Foo&apos;)
+# Add the contact&apos;s surname
+marionette.find_element(&apos;id&apos;, &apos;familyName&apos;).send_keys(&apos;Bar&apos;)</pre>
 <p>এখন <em>ডান</em> বাটনটি ট্যাপ করুন কনটেন্ট সেভ করার জন্যঃ</p>
-<pre class="brush: bash"><code class="language-html">marionette.find_element('id', 'save-button').tap()</code></pre>
+<pre class="brush: bash"><code class="language-html">marionette.find_element(&apos;id&apos;, &apos;save-button&apos;).tap()</code></pre>
 <p>এবার আপনার কনটেন্টস্ অ্যাপ এর মধ্যে একটি নতুন কনটেন্ট দেখতে পাওয়ার কথা। যদি তাই হয়, দারুণ!</p>
 <div class="note">
  <p><strong>নোটঃ</strong> যদি আপনি না দেখেন, কনটেন্ট অ্যাপ পুনস্থাপন করুন অথবা কিল করুন এবং ফায়ারফক্স OS নেভিগেট করে হোমস্ক্রিনে ফিরে যান এবং পুনরায় টাস্কটি রান করার চেষ্টা করুন।</p>

+ 14 - 14
files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_3_reusable_tests/index.html

@@ -6,7 +6,7 @@ tags:
 translation_of: Archive/B2G_OS/Automated_testing/gaia-ui-tests/Part_3_Reusable_tests
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla_/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_2_Marrionette_Firefox_OS_interactions">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_4_Reusing_commands_Firefox_OS_setup">Next  »</a></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla_/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_2_Marrionette_Firefox_OS_interactions" class="button">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_4_Reusing_commands_Firefox_OS_setup" class="button">Next  »</a></p>
 </div><p></p>
 
 <div class="summary">
@@ -44,15 +44,15 @@ class TestContacts:
         self.test_add_contacts()
 
     def test_add_contacts(self):
-        # Create the client for this session. Assuming you're using the default port on a Marionette instance running locally
+        # Create the client for this session. Assuming you&apos;re using the default port on a Marionette instance running locally
         self.marionette = Marionette()
         self.marionette.start_session()
 
         # Switch context to the homescreen iframe and tap on the contacts icon
         time.sleep(2)
-        home_frame = self.marionette.find_element('css selector', 'div.homescreen iframe')
+        home_frame = self.marionette.find_element(&apos;css selector&apos;, &apos;div.homescreen iframe&apos;)
         self.marionette.switch_to_frame(home_frame)
-        contacts_icon = self.marionette.find_element('css selector', "#footer li[aria-label='Contacts']")
+        contacts_icon = self.marionette.find_element(&apos;css selector&apos;, &quot;#footer li[aria-label=&apos;Contacts&apos;]&quot;)
         contacts_icon.tap()
 
         # Switch context back to the base frame
@@ -60,25 +60,25 @@ class TestContacts:
         time.sleep(2)
 
         # Switch context to the contacts app
-        contacts_frame = self.marionette.find_element('css selector', "iframe[data-url*='contacts']")
+        contacts_frame = self.marionette.find_element(&apos;css selector&apos;, &quot;iframe[data-url*=&apos;contacts&apos;]&quot;)
         self.marionette.switch_to_frame(contacts_frame)
 
         # Tap [+] to add a new Contact
-        self.marionette.find_element('id', 'add-contact-button').tap()
+        self.marionette.find_element(&apos;id&apos;, &apos;add-contact-button&apos;).tap()
         time.sleep(2)
 
         # Type name into the fields
-        self.marionette.find_element('id', 'givenName').send_keys('John')
-        self.marionette.find_element('id', 'familyName').send_keys('Doe')
+        self.marionette.find_element(&apos;id&apos;, &apos;givenName&apos;).send_keys(&apos;John&apos;)
+        self.marionette.find_element(&apos;id&apos;, &apos;familyName&apos;).send_keys(&apos;Doe&apos;)
 
         # Tap done
-        self.marionette.find_element('id', 'save-button').tap()
+        self.marionette.find_element(&apos;id&apos;, &apos;save-button&apos;).tap()
         time.sleep(2)
 
         # Close the Marionette session now that the test is finished
         self.marionette.delete_session()
 
-if __name__ == '__main__':
+if __name__ == &apos;__main__&apos;:
     TestContacts()
 </pre>
 
@@ -97,7 +97,7 @@ if __name__ == '__main__':
 </div>
 
 <div class="note">
-<p><strong>নোটঃ</strong> আপনি আরো খেয়াল করে থাকবেন যে, উপরের কোড ব্যবহার করে যে নাম যুক্ত করা হয়েছে তা হল "John Doe", দ্বিতীয় অংশে ব্যবহৃত নাম "Foo Bar" এর থেকে আলাদা। এটি করার কারণ হল কোড যাতে করে সফলভাবে রান করানো যায় এবং অন্য কন্ট্যাক্ট যুক্ত করা যায়। আপনি যদি একই নাম ব্যবহার করে অন্য একটি কন্ট্যাক্ট যুক্ত করতে চেষ্টা করেন তবে ফায়ারফক্স OS আপনাকে অনুরূপ কন্ট্যাক্টের ব্যাপারে সতর্ক করে দিবে। এক্ষেত্রে সব থেকে ভাল উপায় হল, ফায়ারফক্স OS ইন্টারফেসে টেস্টটি পুনরায় রান করানো এবং প্রতিবার রান করানোর পূর্বে আগেরটি মুছে ফেলা।</p>
+<p><strong>নোটঃ</strong> আপনি আরো খেয়াল করে থাকবেন যে, উপরের কোড ব্যবহার করে যে নাম যুক্ত করা হয়েছে তা হল &quot;John Doe&quot;, দ্বিতীয় অংশে ব্যবহৃত নাম &quot;Foo Bar&quot; এর থেকে আলাদা। এটি করার কারণ হল কোড যাতে করে সফলভাবে রান করানো যায় এবং অন্য কন্ট্যাক্ট যুক্ত করা যায়। আপনি যদি একই নাম ব্যবহার করে অন্য একটি কন্ট্যাক্ট যুক্ত করতে চেষ্টা করেন তবে ফায়ারফক্স OS আপনাকে অনুরূপ কন্ট্যাক্টের ব্যাপারে সতর্ক করে দিবে। এক্ষেত্রে সব থেকে ভাল উপায় হল, ফায়ারফক্স OS ইন্টারফেসে টেস্টটি পুনরায় রান করানো এবং প্রতিবার রান করানোর পূর্বে আগেরটি মুছে ফেলা।</p>
 </div>
 
 <h2 id="অ্যাসারশন_যুক্ত_করা">অ্যাসারশন যুক্ত করা</h2>
@@ -106,9 +106,9 @@ if __name__ == '__main__':
   <br>
  <code># Close the Marionette session...</code> লাইনের ঠিক আগে, এই কোডটি যুক্ত করুন, তবে তার আগে এটি নিশ্চিত করুন সেটি ওই ক্লাসের অন্য লাইনের সাথে একই লেভেলে ইনডেন্ট হয়েছে কিনাঃ</p>
 
-<pre class="brush: python"># Now let's find the contact item and get its text
-contact_name = self.marionette.find_element('css selector', 'li.contact-item:not([data-group$="ice"]) p').text
-assert contact_name == 'John Doe'
+<pre class="brush: python"># Now let&apos;s find the contact item and get its text
+contact_name = self.marionette.find_element(&apos;css selector&apos;, &apos;li.contact-item:not([data-group$=&quot;ice&quot;]) p&apos;).text
+assert contact_name == &apos;John Doe&apos;
 
 </pre>
 

+ 9 - 9
files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_4_reusing_commands_firefox_os_setup/index.html

@@ -16,7 +16,7 @@ translation_of: >-
   Archive/B2G_OS/Automated_testing/gaia-ui-tests/Part_4_Reusing_commands_Firefox_OS_setup
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_3_Reusable_tests">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_5_Introducing_a_test_runner">Next  »</a></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_3_Reusable_tests" class="button">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_5_Introducing_a_test_runner" class="button">Next  »</a></p>
 </div><p></p>
 
 <div class="summary">
@@ -36,7 +36,7 @@ translation_of: >-
 <p>নিচের পাইথন ম্যাথোডটি আপনার <code>test_add_contact.py</code> ফাইলে সংযুক্ত করুন, ক্লাসের ভেতরেঃ</p>
 
 <pre class="brush: python">def unlock_screen(self):
-    self.marionette.execute_script('window.wrappedJSObject.lockScreen.unlock();')</pre>
+    self.marionette.execute_script(&apos;window.wrappedJSObject.lockScreen.unlock();&apos;)</pre>
 
 <p>এখন, যখন কল করা হবে, এই ম্যাথোডটি ফায়ারফক্স OS আনলক করবে। এখন নিচের লাইনগুলো আমাদের কোডে <code>self.marionette.start_session()</code> লাইনটির ঠিক নিচে যুক্ত করে এটিকে কল করা যাকঃ</p>
 
@@ -49,7 +49,7 @@ self.unlock_screen()</pre>
 
 <pre class="brush: python">    def kill_all(self):
         self.marionette.switch_to_frame()
-        self.marionette.execute_async_script("""
+        self.marionette.execute_async_script(&quot;&quot;&quot;
              // Kills all running apps, except the homescreen.
              function killAll() {
                let manager = window.wrappedJSObject.appWindowManager;
@@ -57,7 +57,7 @@ self.unlock_screen()</pre>
                let apps = manager.getApps();
                for (let id in apps) {
                  let origin = apps[id].origin;
-                 if (origin.indexOf('homescreen') == -1) {
+                 if (origin.indexOf(&apos;homescreen&apos;) == -1) {
                    manager.kill(origin);
                  }
                }
@@ -65,7 +65,7 @@ self.unlock_screen()</pre>
              killAll();
              // return true so execute_async_script knows the script is complete
              marionetteScriptFinished(true);
-            """)</pre>
+            &quot;&quot;&quot;)</pre>
 
 <p><code>সর্বশেষ অংশে যুক্ত unlock_screen</code> ম্যাথোডের ঠিক পরে এটি যুক্ত করুন।</p>
 
@@ -85,7 +85,7 @@ self.kill_all()</pre>
 <pre class="brush: python">from marionette_driver import Wait
 
 # Wait until element is displayed
-Wait(self.marionette).until(lambda m: m.find_element('id', 'element_id').is_displayed())</pre>
+Wait(self.marionette).until(lambda m: m.find_element(&apos;id&apos;, &apos;element_id&apos;).is_displayed())</pre>
 
 <p>যতক্ষণ না পর্যন্ত নির্ধারিত এলিমেন্টটি ডিসপ্লে হবে তখন পর্যন্ত এই কোডটি অপেক্ষা করবে। এবার আমরা জানি সেক্ষেত্রে আমাদের কী করতে হবে। এবার আমাদের টেস্টে এই কোড কন্সট্রাক্ট ব্যবহার করে দেখা যাক।</p>
 
@@ -95,16 +95,16 @@ Wait(self.marionette).until(lambda m: m.find_element('id', 'element_id').is_disp
 
 <p>এখন আমরা কন্ট্যাক্ট আইকনে ট্যাপ করার পর (  <code>self.marionette.switch_to_frame()</code>এর ঠিক পরে ) দ্বিতীয় <code>time.sleep(2)ফাংশনটির পরিবর্তে</code> <code>Wait()</code>ম্যাথোডটি লিখব। কন্ট্যাক্ট ফ্রেম ডিসপ্লে না হওয়া পর্যন্ত সেটি অপেক্ষা করবেঃ</p>
 
-<pre class="brush: python">Wait(self.marionette).until(lambda m: m.find_element('css selector', "iframe[data-url*='contacts']").is_displayed())</pre>
+<pre class="brush: python">Wait(self.marionette).until(lambda m: m.find_element(&apos;css selector&apos;, &quot;iframe[data-url*=&apos;contacts&apos;]&quot;).is_displayed())</pre>
 
 <p>আমরা যখন কোন নতুন কন্ট্যান্ট অ্যাপ তৈরির জন্য + চিহ্নতে ট্যাপ করি, আমরা <em>অ্যাড কন্টেন্ট </em>এর জন্য অপেক্ষা করব যাতে ভিউটি সম্পূর্ণ সরে যায়।এবার আমরা যেটি ট্যাপ করব তা হল <em>Done</em> (সেভ) বাটন। তাই সেটি সঠিক স্থানে না আসা পর্যন্ত আমরা অপেক্ষা করব। তৃতীয় <code>time.sleep(2)ফাংশনটি</code>র পরিবর্তে নিচেরটি লিখবঃ</p>
 
-<pre class="brush: python">Wait(self.marionette).until(lambda m: m.find_element('id', 'save-button').location['y']== 0)</pre>
+<pre class="brush: python">Wait(self.marionette).until(lambda m: m.find_element(&apos;id&apos;, &apos;save-button&apos;).location[&apos;y&apos;]== 0)</pre>
 
 <p>এক্ষেত্রে আমরা <em>Done</em> বাটনটি স্ক্রিনের শীর্ষে দেখতে পাইয়া পর্যন্ত অপেক্ষা করব; প্রথমের দিকে এলিমেন্টটি স্ক্রিনের ভিন্ন ভিন্ন স্থানে দেখতে পাওয়া যাবে তবে চূড়ান্ত স্থায়ী অবস্থানের জন্য অপেক্ষা করাই শ্রেয়।</p>
 
 <p>আমরা এলিমেন্টগুলোর *not* দৃশ্যমান হওয়ার জন্যও অপেক্ষা করতে পারি। <em>Done</em> ট্যাপ করার পর, not এর মত একই ধরণের <code>Wait()ম্যাথোড ব্যবহার করে </code><em>Done</em> বাটনটি অদৃশ্য হওয়ার জন্য অপেক্ষা করব, বাকি কোড রান করানোর আগে। চতুর্থ এবং সর্বশেষ <code>time.sleep(2)</code>ফাংশনটির পরিবর্তে নিচেরটি লিখুনঃ</p>
 
-<pre class="brush: python">Wait(self.marionette).until(lambda m: not m.find_element('id', 'save-button').is_displayed())</pre>
+<pre class="brush: python">Wait(self.marionette).until(lambda m: not m.find_element(&apos;id&apos;, &apos;save-button&apos;).is_displayed())</pre>
 
 <p>আপনার টেস্ট যদি ঠিক মত রান করতে থাকে তাহলে তো দারুণ! আমরা আমাদের টেস্টকে আরো বেশি মডুলার এবং নির্ভরযোগ্য করে ফেলেছি। পঞ্চম অংশে আমরা টেস্ট রানার ব্যবহারের সাথে পরিচিত হব।</p>

+ 21 - 21
files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_5_introducing_a_test_runner/index.html

@@ -16,7 +16,7 @@ translation_of: >-
   Archive/B2G_OS/Automated_testing/gaia-ui-tests/Part_5_Introducing_a_test_runner
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_4_Reusing_commands_Firefox_OS_setup">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_6_Marionette_By_class">Next  »</a></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_4_Reusing_commands_Firefox_OS_setup" class="button">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_6_Marionette_By_class" class="button">Next  »</a></p>
 </div><p></p>
 
 <div class="summary">
@@ -55,12 +55,12 @@ translation_of: >-
 
 <p>টেস্টটিকে ইনিশিয়ালাইজ করলে তা unittest দ্বারা নিয়ন্ত্রিত হবে, তাই আমাদের এটি নিয়ন্ত্রণ করা লাগবে না। আপনার কোডের নিচে কোডের, নিচেরটি রিপ্লেস করেঃ</p>
 
-<pre class="brush: python">if __name__ == '__main__':
+<pre class="brush: python">if __name__ == &apos;__main__&apos;:
     TestContacts()</pre>
 
 <p>এটি দিয়েঃ</p>
 
-<pre class="brush: python">if __name__ == '__main__':
+<pre class="brush: python">if __name__ == &apos;__main__&apos;:
     unittest.main()</pre>
 
 <p>এবার আমরা তৈরি করব <code>setUp(self)</code> : <code>TestContacts</code> হল আমাদের ক্লাসের মধ্যে ব্যবহৃত ম্যাথড এবং নিচের ধাপগুলো এর ভেতরে রাখুনঃ</p>
@@ -75,7 +75,7 @@ translation_of: >-
 <p>ম্যাথডটি দেখতে এমন হওয়া উচিতঃ</p>
 
 <pre class="brush: python">    def setUp(self):
-         # Create the client for this session. Assuming you're using the default port on a Marionette instance running locally
+         # Create the client for this session. Assuming you&apos;re using the default port on a Marionette instance running locally
         self.marionette = Marionette()
         self.marionette.start_session()
 
@@ -87,7 +87,7 @@ translation_of: >-
 
         # Switch context to the homescreen iframe and tap on the contacts icon
         time.sleep(2)
-        home_frame = self.marionette.find_element('css selector', 'div.homescreen iframe')
+        home_frame = self.marionette.find_element(&apos;css selector&apos;, &apos;div.homescreen iframe&apos;)
         self.marionette.switch_to_frame(home_frame)</pre>
 
 <p>এখন <code>tearDown(self):</code> ম্যাথোড তৈরি করা। এই ক্ষেত্রে আমাদের Marionette সেশন সমাপ্ত করার জন্য কোড যুক্ত করা প্রয়োজন। ম্যাথোডটি এমন হওয়া উচিতঃ</p>
@@ -116,11 +116,11 @@ import unittest
 class TestContacts(unittest.TestCase):
 
     def unlock_screen(self):
-        self.marionette.execute_script('window.wrappedJSObject.lockScreen.unlock();')
+        self.marionette.execute_script(&apos;window.wrappedJSObject.lockScreen.unlock();&apos;)
 
     def kill_all(self):
         self.marionette.switch_to_frame()
-        self.marionette.execute_async_script("""
+        self.marionette.execute_async_script(&quot;&quot;&quot;
              // Kills all running apps, except the homescreen.
              function killAll() {
                let manager = window.wrappedJSObject.AppWindowManager;
@@ -128,7 +128,7 @@ class TestContacts(unittest.TestCase):
                let apps = manager.getApps();
                for (let id in apps) {
                  let origin = apps[id].origin;
-                 if (origin.indexOf('homescreen') == -1) {
+                 if (origin.indexOf(&apos;homescreen&apos;) == -1) {
                    manager.kill(origin);
                  }
                }
@@ -136,10 +136,10 @@ class TestContacts(unittest.TestCase):
              killAll();
              // return true so execute_async_script knows the script is complete
              marionetteScriptFinished(true);
-            """)
+            &quot;&quot;&quot;)
 
     def setUp(self):
-         # Create the client for this session. Assuming you're using the default port on a Marionette instance running locally
+         # Create the client for this session. Assuming you&apos;re using the default port on a Marionette instance running locally
         self.marionette = Marionette()
         self.marionette.start_session()
 
@@ -151,39 +151,39 @@ class TestContacts(unittest.TestCase):
 
         # Switch context to the homescreen iframe and tap on the contacts icon
         time.sleep(2)
-        home_frame = self.marionette.find_element('css selector', 'div.homescreen iframe')
+        home_frame = self.marionette.find_element(&apos;css selector&apos;, &apos;div.homescreen iframe&apos;)
         self.marionette.switch_to_frame(home_frame)
 
 
     def test_add_contacts(self):
-        contacts_icon = self.marionette.find_element('css selector', "#footer li[aria-label='Contacts']")
+        contacts_icon = self.marionette.find_element(&apos;css selector&apos;, &quot;#footer li[aria-label=&apos;Contacts&apos;]&quot;)
         contacts_icon.tap()
 
         # Switch context back to the base frame
         self.marionette.switch_to_frame()
-        Wait(self.marionette).until(lambda m: m.find_element('css selector', "iframe[data-url*='contacts']").is_displayed())
+        Wait(self.marionette).until(lambda m: m.find_element(&apos;css selector&apos;, &quot;iframe[data-url*=&apos;contacts&apos;]&quot;).is_displayed())
 
         # Switch context to the contacts app
-        contacts_frame = self.marionette.find_element('css selector', "iframe[data-url*='contacts']")
+        contacts_frame = self.marionette.find_element(&apos;css selector&apos;, &quot;iframe[data-url*=&apos;contacts&apos;]&quot;)
         self.marionette.switch_to_frame(contacts_frame)
 
         # Tap [+] to add a new Contact
-        self.marionette.find_element('id', 'add-contact-button').tap()
-        Wait(self.marionette).until(lambda m: m.find_element('id', 'save-button').location['y']== 0)
+        self.marionette.find_element(&apos;id&apos;, &apos;add-contact-button&apos;).tap()
+        Wait(self.marionette).until(lambda m: m.find_element(&apos;id&apos;, &apos;save-button&apos;).location[&apos;y&apos;]== 0)
 
         # Type name into the fields
-        self.marionette.find_element('id', 'givenName').send_keys('John')
-        self.marionette.find_element('id', 'familyName').send_keys('Doe')
+        self.marionette.find_element(&apos;id&apos;, &apos;givenName&apos;).send_keys(&apos;John&apos;)
+        self.marionette.find_element(&apos;id&apos;, &apos;familyName&apos;).send_keys(&apos;Doe&apos;)
 
         # Tap done
-        self.marionette.find_element('id', 'save-button').tap()
-        Wait(self.marionette).until(lambda m: not m.find_element('id', 'save-button').is_displayed())
+        self.marionette.find_element(&apos;id&apos;, &apos;save-button&apos;).tap()
+        Wait(self.marionette).until(lambda m: not m.find_element(&apos;id&apos;, &apos;save-button&apos;).is_displayed())
 
     def tearDown(self):
         # Close the Marionette session now that the test is finished
         self.marionette.delete_session()
 
-if __name__ == '__main__':
+if __name__ == &apos;__main__&apos;:
     unittest.main()
 
 </pre>

+ 3 - 3
files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_7_writing_your_own_tests/index.html

@@ -7,7 +7,7 @@ tags:
 translation_of: Archive/B2G_OS/Automated_testing/gaia-ui-tests/Part_7_Writing_your_own_tests
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_6_Marionette_By_class">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_8_Using_a_base_class">Next  »</a></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_6_Marionette_By_class" class="button">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_8_Using_a_base_class" class="button">Next  »</a></p>
 </div><p></p>
 <div class="summary">
  <p><span class="seoSummary"><span style="line-height: 1.5;">ফায়ারফক্স ওএস এর জন্য অটোমেটিক টেস্ট লিখতে</span>এই পর্যন্ত আমরা আপনাকে যে পরিমাণ টুলস এবং তথ্য সরবরাহ করেছি তা আপনার নিজস্ব  সহায়তা করবে। এর পাশাপাশি আপ করার  এবং দ্রুত রানিং এর জন্য এইখানে যথেষ্ট পরিমাণ স্টেপ আছে  । এই পার্টে আমরা অনেক গভীরে যাব যেখানে আপনি অনেক রিসোর্স এবং আইডিয়া পাবেন এবং এর পর আপনি এইখানে থেকে নিজস্ব কাজে উৎসাহিত হবেন। এখন আমরা আরো সামনে অগ্রসর হব যাতে আপনি নিজের টেস্ট নিজে করতে পারেন  — এনজয়!</span></p>
@@ -42,7 +42,7 @@ translation_of: Archive/B2G_OS/Automated_testing/gaia-ui-tests/Part_7_Writing_yo
 <h3 id="টেস্টের_নতুন_কিছু_আইডিয়া">টেস্টের নতুন কিছু আইডিয়া </h3>
 <ul>
  <li>নতুন কন্টাক্ট তৈরি করুন, কন্টাক্টটি সম্পাদনা করুন এবং নাম পরিবর্তন করুন। পরিবর্তিত নামটি স্ক্রীনে দেখা  যাওয়া উচিত।</li>
- <li>কন্টাক্ট তৈরি করুন এবং ফেভারিট হিসেবে যুক্ত করতে এটিকে 'star' দিয়ে মার্ক করুন। তাহলে প্রধান স্ক্রীণে এইটা * (starred) ক্যাটাগরির নিচে তালিকাভুক্ত হবে। </li>
- <li>ফোন নাম্বারের সাহায্যে একটি কন্টাক্ট তৈরী করুন। কন্টাক্ট রেকর্ড ওপেন করার পর  "Message" আইকনে ক্লিক করুন। এখন , ম্যাসেজ অ্যাপটি চালু হয়ে যাওয়া উচিত যেটির প্রাপক অংশে আপনার কন্টাক্টি দেখাবে। </li>
+ <li>কন্টাক্ট তৈরি করুন এবং ফেভারিট হিসেবে যুক্ত করতে এটিকে &apos;star&apos; দিয়ে মার্ক করুন। তাহলে প্রধান স্ক্রীণে এইটা * (starred) ক্যাটাগরির নিচে তালিকাভুক্ত হবে। </li>
+ <li>ফোন নাম্বারের সাহায্যে একটি কন্টাক্ট তৈরী করুন। কন্টাক্ট রেকর্ড ওপেন করার পর  &quot;Message&quot; আইকনে ক্লিক করুন। এখন , ম্যাসেজ অ্যাপটি চালু হয়ে যাওয়া উচিত যেটির প্রাপক অংশে আপনার কন্টাক্টি দেখাবে। </li>
 </ul>
 <p> </p>

+ 8 - 8
files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_8_using_a_base_class/index.html

@@ -13,7 +13,7 @@ tags:
 translation_of: Archive/B2G_OS/Automated_testing/gaia-ui-tests/Part_8_Using_a_base_class
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_7_Writing_your_own_tests">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_9_app_objects">Next  »</a></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_7_Writing_your_own_tests" class="button">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_9_app_objects" class="button">Next  »</a></p>
 </div><p></p>
 
 <div class="summary">
@@ -34,11 +34,11 @@ from marionette import Marionette
 class TestBase(unittest.TestCase):
 
     def unlock_screen(self):
-        self.marionette.execute_script('window.wrappedJSObject.lockScreen.unlock();')
+        self.marionette.execute_script(&apos;window.wrappedJSObject.lockScreen.unlock();&apos;)
 
     def kill_all(self):
         self.marionette.switch_to_frame()
-        self.marionette.execute_async_script("""
+        self.marionette.execute_async_script(&quot;&quot;&quot;
              // Kills all running apps, except the homescreen.
              function killAll() {
                let manager = window.wrappedJSObject.AppWindowManager;
@@ -46,7 +46,7 @@ class TestBase(unittest.TestCase):
                let apps = manager.getApps();
                for (let id in apps) {
                  let origin = apps[id].origin;
-                 if (origin.indexOf('homescreen') == -1) {
+                 if (origin.indexOf(&apos;homescreen&apos;) == -1) {
                    manager.kill(origin);
                  }
                }
@@ -54,10 +54,10 @@ class TestBase(unittest.TestCase):
              killAll();
              // return true so execute_async_script knows the script is complete
              marionetteScriptFinished(true);
-            """)
+            &quot;&quot;&quot;)
 
     def setUp(self):
-         # Create the client for this session. Assuming you're using the default port on a Marionette instance running locally
+         # Create the client for this session. Assuming you&apos;re using the default port on a Marionette instance running locally
         self.marionette = Marionette()
         self.marionette.start_session()
 
@@ -69,7 +69,7 @@ class TestBase(unittest.TestCase):
 
         # Switch context to the homescreen iframe and tap on the contacts icon
         time.sleep(2)
-        home_frame = self.marionette.find_element('css selector', 'div.homescreen iframe')
+        home_frame = self.marionette.find_element(&apos;css selector&apos;, &apos;div.homescreen iframe&apos;)
         self.marionette.switch_to_frame(home_frame)
 
 
@@ -92,7 +92,7 @@ class TestContacts(TestBase):
     def test(self):
         # Tests in here
 
-if __name__ == '__main__':
+if __name__ == &apos;__main__&apos;:
     unittest.main()</pre>
 
 <p><span lang="bn" class="short_text" id="result_box"><span class="alt-edited hps">পুনরায়</span> <span class="hps">আপনার টেস্ট</span> <span class="hps">ফাইল</span> <span class="hps">চালানোর</span> <span class="hps">চেষ্টা করুন</span></span>।</p>

+ 1 - 1
files/bn/archive/b2g_os/automated_testing/gaia-ui-tests/part_9_app_objects/index.html

@@ -4,7 +4,7 @@ slug: Archive/B2G_OS/Automated_testing/gaia-ui-tests/Part_9_app_objects
 translation_of: Archive/B2G_OS/Automated_testing/gaia-ui-tests/Part_9_app_objects
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_8_Using_a_base_class">« Previous</a><br></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Part_8_Using_a_base_class" class="button">« Previous</a><br></p>
 </div><p></p>
 <div class="summary">
  <p><span class="seoSummary">স্বয়ংক্রিয় পরীক্ষায় অ্যাবস্ট্রাক্ট কোডে আমরা <code>app বস্তুগুলো ঘন ঘন ব্যবহার করে থাকি।</code> ইহা কোড এবং স্থান নির্ণয়কারীর প্রতিলিপি করা কমায়। যদি আমাদের কোন সাধারণ বিভাগের কোড পরিবর্তন প্রয়োজন হয় তাহলে আমরা তা শুধুমাত্র একটি<code> app</code> বস্তু পরিবর্তন করতে পারবো, ১০ অথবা ২০টি পরীক্ষণীয় ফাইলের পরিবর্তন না করে। এই রচনাটি কিভাবে <code>app</code> বস্তু ব্যবহার করতে হয় তার মৌলিক তথ্য জানায়।</span></p>

+ 18 - 18
files/bn/archive/b2g_os/building_and_installing_firefox_os/building_firefox_os_for_flame_on_osx/index.html

@@ -24,7 +24,7 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame
 <div>
   </div>
 <div>
- <pre>hdiutil create -volname 'firefoxos' -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/firefoxos.sparseimage
+ <pre>hdiutil create -volname &apos;firefoxos&apos; -type SPARSE -fs &apos;Case-sensitive Journaled HFS+&apos; -size 40g ~/firefoxos.sparseimage
 <span style="line-height: 1.5;">open ~/firefoxos.sparseimage</span>
 cd /Volumes/firefoxos/</pre>
 </div>
@@ -39,9 +39,9 @@ cd /Volumes/firefoxos/</pre>
 <h3 style="line-height: 30px;" id="B2G_কনফিগারিং_করা_ফ্লেমের_জন্য">B2G কনফিগারিং করা ফ্লেমের জন্য</h3>
 <p>একদা আপনি কোর B2G গঠন সিস্টেম উদ্ধার করেছেন,আপনাকে এটি কনফিগার করা উচিত ডিভাইসের জন্য যতে আপনি ইন্সটল করারা প্ল্যান করেছেন ।কিছু সাপোর্টেড ডিভাইসের একটি লিস্ট পাওয়ার জন্য,আপনি <code>config.sh</code> ইউটিলিটি ব্যবহার করতে পারেন—B2G ডিরেক্টরির মধ্যে থেকে পরবর্তী কমান্ড করুনঃ</p>
 <pre style="font-size: 14px;">./config.sh flame</pre>
-<div style="font-size: 14px;" class="warning">
+<div style="font-size: 14px;" class="warning notecard">
  <strong>গুরুত্বপুর্নঃডাউনলোড</strong> ~১৫জিবি কোড সোর্সেস-প্রয়োজন ভাল ইন্টারনেট স্পিড।</div>
-<div lang="ruby" style="" class="syntaxbox">
+<div lang="ruby" style class="syntaxbox">
  <h3 style="line-height: 24px;" id="B2G_গঠন_কনফিগারিং_করুন_একটি_মোবাইল_ডিভাইসের_জন্য">B2G গঠন কনফিগারিং করুন একটি মোবাইল ডিভাইসের জন্য</h3>
  <p>সেই ক্ষেত্রে At this point, আপনার ডিভাইস সংযুক্ত করুন যদি এটি ইতিমধ্যে সংযুক্ত না থাকে; কনফিগার প্রসেস এর ইহার সুবিধা পাওয়ার প্রয়োজন পড়লে।</p>
  <pre>adb devices -l
@@ -58,15 +58,15 @@ adb pull /data data</pre>
  <p><a href="https://github.com/sv99/dosfstools-osx">dosfstools-osx</a> এর ছবির সাথে কাজ করার জন্য dosfstools এর পোর্টেড ভার্সন ইন্সটল করার প্রয়োজন ।</p>
  <pre>brew create https://github.com/sv99/dosfstools-osx.git</pre>
  <p>Dosfstools ফরমুলা ইডিট করুন</p>
- <pre class="brush: js"><span class="nb">require</span> <span class="s2">"formula"</span>
+ <pre class="brush: js"><span class="nb">require</span> <span class="s2">&quot;formula&quot;</span>
 
 <span class="k">class</span> <span class="nc">Dosfstools</span> <span class="o">&lt;</span> <span class="no">Formula</span>
-  <span class="n">homepage</span> <span class="s2">"https://github.com/sv99/dosfstools-osx"</span>
-  <span class="n">url</span> <span class="s2">"https://github.com/sv99/dosfstools-osx.git"</span>
-  <span class="n">sha1</span> <span class="s2">""</span>
+  <span class="n">homepage</span> <span class="s2">&quot;https://github.com/sv99/dosfstools-osx&quot;</span>
+  <span class="n">url</span> <span class="s2">&quot;https://github.com/sv99/dosfstools-osx.git&quot;</span>
+  <span class="n">sha1</span> <span class="s2">&quot;&quot;</span>
 
   <span class="k">def</span> <span class="nf">install</span>
-    <span class="nb">system</span> <span class="s2">"make"</span><span class="p">,</span> <span class="s2">"install"</span>
+    <span class="nb">system</span> <span class="s2">&quot;make&quot;</span><span class="p">,</span> <span class="s2">&quot;install&quot;</span>
   <span class="k">end</span>
 
 <span class="k">end</span>
@@ -91,14 +91,14 @@ patch -N &lt;&lt; EOF
 --- a/dtbtool/dtbtool.c
 +++ b/dtbtool/dtbtool.c
 @@ -616,7 +616,7 @@ int main(int argc, char **argv)
-        extract "qcom,msm-id" parameter
+        extract &quot;qcom,msm-id&quot; parameter
       */
      while ((dp = readdir(dir)) != NULL) {
 -        if ((dp-&gt;d_type == DT_REG)) {
 +        if ((dp-&gt;d_type == DT_REG||dp-&gt;d_type == DT_UNKNOWN)) {
              flen = strlen(dp-&gt;d_name);
              if ((flen &gt; 4) &amp;&amp;
-                 (strncmp(&amp;dp-&gt;d_name[flen-4], ".dtb", 4) == 0)) {
+                 (strncmp(&amp;dp-&gt;d_name[flen-4], &quot;.dtb&quot;, 4) == 0)) {
 EOF
 
 popd
@@ -106,30 +106,30 @@ popd
 # Bug 1027682 - [Flame][Build] Failed to build on Mac OS X 10.9, elf.h file not found
 # https://bugzilla.mozilla.org/show_bug.cgi?id=1027682
 if [[ ! -e /usr/local/include/elf.h ]]; then
-  cp "${B2G_DIR}/external/elfutils/libelf/elf.h" /usr/local/include
-  echo "Bug 1027682: elf.h copied into /usr/local/include"
+  cp &quot;${B2G_DIR}/external/elfutils/libelf/elf.h&quot; /usr/local/include
+  echo &quot;Bug 1027682: elf.h copied into /usr/local/include&quot;
 fi
 
 # Disable First Time User experience
 export NOFTU=1
-echo "NOFTU = ${NOFTU}"
+echo &quot;NOFTU = ${NOFTU}&quot;
 
 # Enable gaia developer mode
 export DEVICE_DEBUG=1
-echo "DEVICE_DEBUG = ${DEVICE_DEBUG}"
+echo &quot;DEVICE_DEBUG = ${DEVICE_DEBUG}&quot;
 
 # Keeping both debug and non-debug objects
 #export GECKO_PATH=${B2G_DIR}/mozilla-inbound
-echo "GECKO_PATH = ${GECKO_PATH}"
+echo &quot;GECKO_PATH = ${GECKO_PATH}&quot;
 
 export B2G_DEBUG=1
-echo "B2G_DEBUG = ${B2G_DEBUG}"
+echo &quot;B2G_DEBUG = ${B2G_DEBUG}&quot;
 
 #export GECKO_OBJDIR=${GECKO_PATH}/objdir-gonk
-if [[ "${B2G_DEBUG}" != "0" ]]; then
+if [[ &quot;${B2G_DEBUG}&quot; != &quot;0&quot; ]]; then
   export GECKO_OBJDIR=${GECKO_OBJDIR}-debug
 fi
-echo "GECKO_OBJDIR = ${GECKO_OBJDIR}"</pre>
+echo &quot;GECKO_OBJDIR = ${GECKO_OBJDIR}&quot;</pre>
    <h3 id="First_Build">First Build</h3>
    <pre>./build.sh</pre>
    <div>

+ 8 - 8
files/bn/archive/b2g_os/building_b2g_for_qemu_emulator/index.html

@@ -3,18 +3,18 @@ title: Building B2G for QEMU Emulator
 slug: Archive/B2G_OS/Building_B2G_for_QEMU_Emulator
 translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS
 ---
-<p></p><div class="blockIndicator obsolete obsoleteHeader"><p><strong><span class="icon-only-inline" title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span> Obsolete</strong><br>This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.</p></div><p></p>
+<p></p><div class="obsolete obsoleteHeader notecard"><p><strong><span class="icon-only-inline" title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span> Obsolete</strong><br>This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.</p></div><p></p>
 
-<p></p><div class="warning">অনুচ্ছেদটি অবসুলেট।দেখুন  <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko" title="/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko">Building and installing Boot to Gecko</a>, Firefox OS.</div> তৈরির জন্য সম্পুর্ন গাইড হিসেবে<p></p>
+<p></p><div class="warning notecard">অনুচ্ছেদটি অবসুলেট।দেখুন  <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko" title="/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko">Building and installing Boot to Gecko</a>, Firefox OS.</div> তৈরির জন্য সম্পুর্ন গাইড হিসেবে<p></p>
 
 <p>এটা মনে করা হয়ে থাকে আপনার ইতিমধ্যে  <a href="/en/Mozilla/Boot_to_Gecko/Setting_Up_Boot_to_Gecko_Build_Environment" title="https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Setting_Up_Boot_to_Gecko_Build_Environment">setup your build environment and cloned the repositories</a> আছে।</p>
 
 <p>আপনার পরবর্তী স্টেপ <strong>হল build - and run - B2G on your emulator</strong>।রুট হিসেবে রান করবেন না।</p>
 
-<p><span style="font-family: inherit;"><span style='font-family: "Courier New",Courier,monospace;'>$ cd B2G</span></span><br>
- <span style="font-family: inherit;"><span style='font-family: "Courier New",Courier,monospace;'>$ make sync</span></span></p>
+<p><span style="font-family: inherit;"><span style="font-family: &quot;Courier New&quot;,Courier,monospace;">$ cd B2G</span></span><br>
+ <span style="font-family: inherit;"><span style="font-family: &quot;Courier New&quot;,Courier,monospace;">$ make sync</span></span></p>
 
-<p><a href="http://3.bp.blogspot.com/-5o6HoCR0xE0/Tydf8jj-UPI/AAAAAAAAAMk/EfcvWBaWv-w/s320/Make+Sync.tiff" class="external"><img src="http://3.bp.blogspot.com/-5o6HoCR0xE0/Tydf8jj-UPI/AAAAAAAAAMk/EfcvWBaWv-w/s320/Make+Sync.tiff" alt="" class="default"></a></p>
+<p><a href="http://3.bp.blogspot.com/-5o6HoCR0xE0/Tydf8jj-UPI/AAAAAAAAAMk/EfcvWBaWv-w/s320/Make+Sync.tiff" class="external"><img src="http://3.bp.blogspot.com/-5o6HoCR0xE0/Tydf8jj-UPI/AAAAAAAAAMk/EfcvWBaWv-w/s320/Make+Sync.tiff" alt class="default"></a></p>
 
 <p>QEMU এর জন্য কনফারমেশন তৈরি করুনঃ<br>
  <code>$ make config-qemu</code></p>
@@ -29,9 +29,9 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS
  অবশেষে,ইমুলেটরটি রান করুনঃ<br>
  <code>$ ./emu.sh</code></p>
 
-<p>নোটঃআপনার রেপসিটরস অথরা আপনার প্রথম তৈরি ক্লোনিং করার পরে ,আপনি তাদের  "clean" করতে পারেন-বি.দ্র তাদের স্টেটের কাছে রাখুন যাতে আধুনিক পুল নতুন ক্লোনের মত হয়ে থাকে ।</p>
+<p>নোটঃআপনার রেপসিটরস অথরা আপনার প্রথম তৈরি ক্লোনিং করার পরে ,আপনি তাদের  &quot;clean&quot; করতে পারেন-বি.দ্র তাদের স্টেটের কাছে রাখুন যাতে আধুনিক পুল নতুন ক্লোনের মত হয়ে থাকে ।</p>
 
 <p>আপনার রেপ রুট থেকে এটি করুনঃ<br>
- <span style='font-family: "Courier New",Courier,monospace;'>$ make sync; git clean -xfd; git submodule foreach "git clean -xfd"</span><br>
+ <span style="font-family: &quot;Courier New&quot;,Courier,monospace;">$ make sync; git clean -xfd; git submodule foreach &quot;git clean -xfd&quot;</span><br>
  অন্যভাবে আপনি চেষ্টা করতে পারেন ;<br>
- <span style='font-family: "Courier New",Courier,monospace;'><span style="font-family: inherit;"><span style='font-family: "Courier New",Courier,monospace;'>$ make mrproper</span></span></span></p>
+ <span style="font-family: &quot;Courier New&quot;,Courier,monospace;"><span style="font-family: inherit;"><span style="font-family: &quot;Courier New&quot;,Courier,monospace;">$ make mrproper</span></span></span></p>

+ 18 - 18
files/bn/archive/b2g_os/customization_with_the_.userconfig_file/index.html

@@ -12,16 +12,16 @@ translation_of: Archive/B2G_OS/Customization_with_the_.userconfig_file
 </div>
 <p><code>.userconfig</code> ফাইল সোর্স কোড কন্ট্রোলের মধ্যে পরীক্ষা করা হয়না। তাই যখন আপনি আপনার সোর্স ট্রি আপডেট করবেন, তখন এটা ওভার রাইট হবেনা। এটা আপনার B2G ট্রি এর প্রধান ফোল্ডারের মধ্যে তৈরি করতে হবে; অর্থাৎ যে ফোল্ডারের মধ্যে <code>flash.sh</code>, <code>build.sh</code>, ইত্যাদি ফাইল রয়েছে। এটা আপনার কনফিগ এবং বিল্ডের কাজ করার আগে যোগ করতে হবে।</p>
 <p>যদি <code>.userconfig</code> ফাইল থাকে, তবে তা <code>load-config.sh</code> স্ক্রিপ্টের মাধ্যমে লোড হয়। আর এই load-config.sh এর উৎস হচ্ছে এই স্ক্রিপ্ট সমূহঃ <code>flash.sh</code>, <code>build.sh</code> (<code>setup.sh</code> এর মাধ্যমে), <code>run-gdb.sh</code>, এবং <code>run-emulator.sh</code>। আপনার বিল্ডের জন্য গেকো কোথায় রয়েছে, তা নির্ধারণের জন্য <code>run-<em>*</em>.sh</code> স্ক্রিপ্ট সমূহ এটাকে ব্যবহার করে।</p>
-<div class="warning">
+<div class="warning notecard">
  <p><strong>গুরুত্বপূর্ণঃ</strong> আপনার .userconfig ফাইল অবশ্যই আপনার হোম ফোল্ডারে না, বরং B2G সোর্সের প্রধান ফোল্ডারের মধ্যে থাকতে হবে!</p>
 </div>
 <h2 id="গেকো_সোর্স_ট্রি_পরিবর্তন_করা">গেকো সোর্স ট্রি পরিবর্তন করা</h2>
 <p>ডিফল্ট ভাবে, বিল্ড গেকোর ট্রি ব্যবহার করে, যেটা গিটহাবের একটি ট্রি থেকে ক্লোন করা। তবে কেউ কেউ <a href="https://developer.mozilla.org/en-US/docs/Developer_Guide/Source_Code/Mercurial#mozilla-inbound_%28used_for_landing_your_patches%29" title="https://developer.mozilla.org/en-US/docs/Developer_Guide/Source_Code/Mercurial#mozilla-inbound_%28used_for_landing_your_patches%29">mozilla-inbound</a>, বা <a href="https://developer.mozilla.org/en-US/docs/Developer_Guide/Source_Code/Mercurial#mozilla-central_%28main_development_tree%29" title="https://developer.mozilla.org/en-US/docs/Developer_Guide/Source_Code/Mercurial#mozilla-central_%28main_development_tree%29">mozilla-central</a> ব্যবহার করতে পছন্দ করে। এটা করার জন্য আপনার পছন্দ মত জায়গায় ক্লোন করুন এবং আপনার <code>.userconfig</code> ফাইলে একটি লাইন যুক্ত করুন, যেটা <code>GECKO_PATH</code> নির্দিষ্ট করে। যেমনঃ</p>
 <pre>export B2G_DIR=${B2G_DIR:-$(cd $(dirname $0); pwd)}
-echo "B2G_DIR = ${B2G_DIR}"
+echo &quot;B2G_DIR = ${B2G_DIR}&quot;
 
 export GECKO_PATH=${B2G_DIR}/mozilla-inbound
-echo "GECKO_PATH = ${GECKO_PATH}"
+echo &quot;GECKO_PATH = ${GECKO_PATH}&quot;
 </pre>
 <div class="note">
  <p><strong>লক্ষ্য করুনঃ</strong> যদি আপনি ম্যাক ওএস এক্স এ একটি কাস্টম গেকোর বিপরীতে বিল্ডের কাজ করেন, তাহলে <code>mozilla-central</code> ফোল্ডারটি অবশ্যই একটি কেস সেনসিটিভ ফাইল সিস্টেমে থাকতে হবে; নতুবা <code>GECKO_PATH</code> ইগনোর করা হবে। বর্তমান ফাইল সিস্টেমটি কেস সেনসিটিভ কি না, তা পরীক্ষা করার জন্য একটি টার্মিনাল উইন্ডোতে নিচের কমান্ড টাইপ করতে পারেনঃ</p>
@@ -29,16 +29,16 @@ echo "GECKO_PATH = ${GECKO_PATH}"
  <p>উপরের মত এভাবে <code>B2G_DIR</code> পাওয়ার কারনে কোন প্রকার হার্ড কোডেড পাথ ছাড়াই আপনার <code>.userconfig</code> কে কাজ করার সুবিধা প্রদান করে।</p>
 </div>
 <h2 id="গায়া_সেটিংস_পরিবর্তন_করা">গায়া সেটিংস পরিবর্তন করা</h2>
-<p>মাঝে মাঝে আপনার গায়ার সেটিংস পরিবর্তন করার ইচ্ছা হতে পারে। যেমনঃ ব্যবহারকারীর বিল্ডে এডিবি সক্ষমতা প্রদান। আপনি যখন <code>build/settings.py</code> কল করেন, তখন গায়া Makefile <code>--override build/custom-settings.json</code> কমান্ড পাস করে; যাতে আমরা কিছু ব্যাশ লিখতে পারি যেটা, <code>custom-settings.json</code> ফাইলের মধ্যে<code>{"devtools.debugger.remote-enabled": true}</code> লিখবে। আমরা প্রয়োজন না হলে <code>custom-settings.json</code> এ পরিবর্তন করা এড়িয়ে চলবো। মানে আমরা লিখবো <code>custom-settings.json.new</code> এর মধ্যে এবং কন্টেন্ট গুলো <code>custom-settings.json</code> থেকে আলাদা হয়, তবে আমরা এটাকে রিপ্লেস করে দেব।</p>
+<p>মাঝে মাঝে আপনার গায়ার সেটিংস পরিবর্তন করার ইচ্ছা হতে পারে। যেমনঃ ব্যবহারকারীর বিল্ডে এডিবি সক্ষমতা প্রদান। আপনি যখন <code>build/settings.py</code> কল করেন, তখন গায়া Makefile <code>--override build/custom-settings.json</code> কমান্ড পাস করে; যাতে আমরা কিছু ব্যাশ লিখতে পারি যেটা, <code>custom-settings.json</code> ফাইলের মধ্যে<code>{&quot;devtools.debugger.remote-enabled&quot;: true}</code> লিখবে। আমরা প্রয়োজন না হলে <code>custom-settings.json</code> এ পরিবর্তন করা এড়িয়ে চলবো। মানে আমরা লিখবো <code>custom-settings.json.new</code> এর মধ্যে এবং কন্টেন্ট গুলো <code>custom-settings.json</code> থেকে আলাদা হয়, তবে আমরা এটাকে রিপ্লেস করে দেব।</p>
 <pre>export GAIA_PATH=${GAIA_PATH:-$(cd gaia; pwd)}
-export CUSTOM_SETTINGS="${GAIA_PATH}/build/config/custom-settings.json"
-cat &gt; "${CUSTOM_SETTINGS}.new" &lt;&lt;EOF
-{"devtools.debugger.remote-enabled": true}
+export CUSTOM_SETTINGS=&quot;${GAIA_PATH}/build/config/custom-settings.json&quot;
+cat &gt; &quot;${CUSTOM_SETTINGS}.new&quot; &lt;&lt;EOF
+{&quot;devtools.debugger.remote-enabled&quot;: true}
 EOF
-if [[ -f ${CUSTOM_SETTINGS} ]] &amp;&amp; cmp "${CUSTOM_SETTINGS}" "${CUSTOM_SETTINGS}.new" &gt;&amp; /dev/null; then
-  rm "${CUSTOM_SETTINGS}.new"
+if [[ -f ${CUSTOM_SETTINGS} ]] &amp;&amp; cmp &quot;${CUSTOM_SETTINGS}&quot; &quot;${CUSTOM_SETTINGS}.new&quot; &gt;&amp; /dev/null; then
+  rm &quot;${CUSTOM_SETTINGS}.new&quot;
 else
-  mv "${CUSTOM_SETTINGS}.new" "${CUSTOM_SETTINGS}"
+  mv &quot;${CUSTOM_SETTINGS}.new&quot; &quot;${CUSTOM_SETTINGS}&quot;
 fi
 </pre>
 <p>একটি <code>build/config/custom-prefs.js</code> ফাইল কনফিগার করার আরেকটি সহজ পদ্ধতি হচ্ছে গায়া ওয়ার্কিং ডিরেকটোরি অর্থাৎ <code>gaia/build/config/custom-prefs.js</code> যদি আপনি B2G ডিরেকটোরিতে থাকেন। <a href="/bn-BD/docs/Mozilla/Firefox_OS/Platform/Gaia/Build_System_Primer#Customizing_the_preferences">গায়া বিল্ড সিস্টেম প্রাইমার, প্রেফারেন্স কাস্টোমাইজ করা</a> দেখুন।</p>
@@ -51,14 +51,14 @@ fi
 <h2 id="বিল্ড_প্রোফাইল_করা">বিল্ড প্রোফাইল করা</h2>
 <p>প্রোফাইলিং চালু করার জন্য (বিল্ট-ইন (SPS) প্লাটফর্ম প্রোফাইলারের সাথে সর্বোত্তম ফলাফলের জন্য) নিচের লাইন সমূহ আপনার <code>.userconfig</code> ফাইলে লিখুন এবং পুনরায় বিল্ড করুনঃ</p>
 <pre>export MOZ_PROFILING=1</pre>
-<div class="warning">
+<div class="warning notecard">
  <p>B2G_NOOPT এর সাথে পেয়ার করবেন না। এর ফলাফল অর্থহীন হবে!</p>
 </div>
 <h2 id="অপটিমাইজার_নিষ্ক্রিয়_করা">অপটিমাইজার নিষ্ক্রিয় করা</h2>
 <p>অপটিমাইজার নিষ্ক্রিয় করার জন্য (যেটা এমন বিল্ড তৈরি করবে, যা নিরীক্ষণ তুলনামূলক সহজ) আপনার<code> .userconfig</code> ফাইলে নিম্নোক্ত লাইন লিখুন এবং পুনরায় বিল্ড করুনঃ</p>
 <pre>export B2G_NOOPT=1</pre>
 <h2 id="প্রথমবারের_জন্য_ইউজার_এক্সপেরিয়েন্স_নিষ্ক্রিয়_করা">প্রথমবারের জন্য ইউজার এক্সপেরিয়েন্স নিষ্ক্রিয় করা</h2>
-<p>যদি আপনি অনেক বেশি বিল্ড এবং রিফ্ল্যাশ করেন, তাহলে প্রত্যেকবার "ফাস্ট টাইম ইউজার এক্সপেরিয়েন্স" এর মধ্যে দিয়ে যাওয়াটা বিরক্তিকর লাগতে পারে। নিচের লাইনটি আপনার .userconfig এ যোগ করে আপনি এটা বন্ধ করতে পারেনঃ</p>
+<p>যদি আপনি অনেক বেশি বিল্ড এবং রিফ্ল্যাশ করেন, তাহলে প্রত্যেকবার &quot;ফাস্ট টাইম ইউজার এক্সপেরিয়েন্স&quot; এর মধ্যে দিয়ে যাওয়াটা বিরক্তিকর লাগতে পারে। নিচের লাইনটি আপনার .userconfig এ যোগ করে আপনি এটা বন্ধ করতে পারেনঃ</p>
 <pre>export NOFTU=1</pre>
 <h2 id="গায়া_ডেভেলপার_মোড_চালু_করা">গায়া ডেভেলপার মোড চালু করা</h2>
 <p>যদি আপনি গায়া অ্যাপ ডেভেলপ বা হ্যাক করার পরিকল্পনা করে থাকেন, তাহলে ডিভাইসের সাথে কাজ করা আরও সহজ করার জন্য আপনি স্বয়ংক্রিয়ভাবে প্রয়োজনীয় বিভিন্ন সেটিংস ও প্রেফারেন্স নির্দিষ্ট করতে পারবেন। যেমনঃ এটা স্বয়ংক্রিয়ভাবে রিমোট ডিবাগিং ফিচার সক্রিয় করবে এবং যখন একটি ইনকামিং ডিবাগিং কানেকশন চালু হবে তখন কোন প্রম্পট দেখাবে না।</p>
@@ -87,20 +87,20 @@ export CXX=/opt/gcc-4.6.4/bin/g++
 <dl>
 </dl>
 <pre class="brush:bash;">export B2G_DIR=${B2G_DIR:-$(cd $(dirname $0); pwd)}
-echo "B2G_DIR = ${B2G_DIR}"
+echo &quot;B2G_DIR = ${B2G_DIR}&quot;
 
 export GECKO_PATH=${B2G_DIR}/mozilla-inbound
-echo "GECKO_PATH = ${GECKO_PATH}"
+echo &quot;GECKO_PATH = ${GECKO_PATH}&quot;
 
 export B2G_DEBUG=1
-echo "B2G_DEBUG = ${B2G_DEBUG}"
+echo &quot;B2G_DEBUG = ${B2G_DEBUG}&quot;
 
 export GECKO_OBJDIR=${GECKO_PATH}/objdir-gonk
-if [[ "${B2G_DEBUG}" != "0" ]]; then
+if [[ &quot;${B2G_DEBUG}&quot; != &quot;0&quot; ]]; then
   export GECKO_OBJDIR=${GECKO_OBJDIR}-debug
 fi
-if [[ "${GECKO_PATH/*mozilla-inbound*/mozilla-inbound}" == "mozilla-inbound" ]]; then
+if [[ &quot;${GECKO_PATH/*mozilla-inbound*/mozilla-inbound}&quot; == &quot;mozilla-inbound&quot; ]]; then
   export GECKO_OBJDIR=${GECKO_OBJDIR}-m-i
 fi
-echo "GECKO_OBJDIR = ${GECKO_OBJDIR}"</pre>
+echo &quot;GECKO_OBJDIR = ${GECKO_OBJDIR}&quot;</pre>
 <p><code>echo</code> কমান্ড সমূহ আপনাকে বর্তমান সেটিংস মনে করতে সাহায্য করে। ডিবাগ এবং রিলিজ বিল্ডের মধ্যে সুইচ করার জন্য ৭ নম্বর লাইনে <code>B2G_DEBUG</code> এর মান পরিবর্তন করে দিন।</p>

+ 1 - 1
files/bn/archive/b2g_os/debugging/debugging_b2g_using_valgrind/index.html

@@ -47,7 +47,7 @@ translation_of: Archive/B2G_OS/Debugging/Debugging_B2G_using_valgrind
 <h2 id="Firefox_OS_Valgrind_পরিচালনা_করা_এবং_আপডেটিং_করা">Firefox OS Valgrind পরিচালনা করা এবং আপডেটিং করা</h2>
 <p>যখন প্যাচেস আপ্সট্রিম ব্যবহার করা হয়ে থাকে ,Valgrind forহল Firefox OS এর জন্য পরিচালিত যা একটি ফর্ক রেপসেটরিতে রাখা হয়ে থাকে উওন্নতি ঘটানোর জন্য যা সম্ভব হয়ে থাকে Firefox OS এর গঠনের ট্রি এবং ভার্সনের এর সাথে যোগাযোগের কারনে।</p>
 <h3 id="Valgrind_Repos_আপডেটিং">Valgrind Repos আপডেটিং</h3>
-<div class="warning">
+<div class="warning notecard">
  <p><strong>ওয়ার্নিংঃ</strong>GIT এর সাথে অভিজ্ঞতাও দরকার। valgrind repos উন্নত করারা চেষ্টা করবেন না ,যদি আপনি জটিল Git operations চালানোতে দক্ষ না হোন।কোন আপডেট  github repoদর্পন হবে  <code>git.mozilla.org এর যা পুল করা হবে ডেভেলপারদের </code>,HEAD of the manifests repo ব্যবহার দ্বারা ।যখন Valgrind ভাঙ্গা হবে তা কোন কিছুর উপর ভাংবেনা যা  Valgrind এর সক্ষমতা নেই(বি দ্র. tbpl), ইহা হবে অনেক বেশি বিরক্তকর ডেভেলপারস যারা এটি ব্যবহারের চেষ্টা করে।</p>
 </div>
 <p>প্রধান Firefox OS valgrind এবং VEX repos হল</p>

+ 1 - 1
files/bn/archive/b2g_os/debugging/setting_up/index.html

@@ -14,7 +14,7 @@ translation_of: Archive/B2G_OS/Debugging/Setting_up
 <p>একদা তুমি তোমার কম্পিউটারে ফায়ারফক্সের একটি উপযুক্ত মাধ্যমের জন্য ছুটেছ, টাইপ কর, <code>about:config</code> ইউ আর এল বার এবং পরিবর্তন করো <code>devtools.debugger.remote-enabled</code> এর মানের  <code>true তে।তারপরে তোমার ফায়ারফক্সের ত্রুতিবিচ্যুতি দূর করার ক্ষমতা পেতে পুনরায় শুরু করতে হবে।ফায়ারফক্স নতুন করে শুরু করার পরে</code>,ওয়েব ডেভলপের মেনুর নয়ুন একটি অপ্শন হবে,উপাদান&gt;সংযোগ <em>.</em>..</p>
 <h2 id="ডিবাগিং_এর_ক্ষমতা_অর্জন">ডিবাগিং এর ক্ষমতা অর্জন</h2>
 <p>যখন  <a href="/en-US/docs/Tools/Firefox_OS_Simulator" title="Tools/Firefox OS Simulator">Firefox OS Simulator</a>ব্যবহার করা হয়(অথবা  বি ২জি  ডেক্সটপ),ডিবাগিং সেট করা খুব সহজ । তোমাকে সামনের দিকে অগ্রসরের জন্য কোন স্থানের দরকার নেই যেমন তুমি কর যখন একটি  বাস্তব ডিভাইসের ডিবাগিং হয়।সাধারণভাবে তোমার ডিভাইসের <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Developer settings</a>  খোলো এবং রিমুট ডিবাগিং এর   ক্ষমতা অর্জন করো।</p>
-<div class="warning">
+<div class="warning notecard">
  <p> নোটঃ  ১০জানুয়ারী ,২০১৩  পর্যন্ত এতা ফায়ারফক্স   ও এস  ডিভাইসের  উপর কোনো কাজ করেনি।তারিখ অনুসারে,ফায়ারফক্স  ও এস ডিভাইস গঠন ডিবাগিং এ  অক্ষম হয়েছে।আনুষ্ঠানিকভাবে একটি  পথের তৈরি হবে তোমার নিজের গঠনের এটি  পুনরায় ক্ষমতা অর্জন  গঠন করতে,কিন্তু এটি এখন ও বিদ্যমান নয়।ঐটা ঘটার পরে  এই  দলিল  হালনাগাদ  হয়ে থাকবে।  আর ও যোগে ,প্রক্রিয়ার বাইরে বন্ধ করার  মূল্য  দেয়ার সমর্থন  সরিয়ে ফেলা হয়েছে।বর্তমানের জন্য ,ফায়ারফক্স ও এস সিমুলেটরে  তোমার দরকার  তোমার ডিবাগিং করা।</p>
 </div>
 <p>যদি একটি  বাস্তব ফায়ারফক্স ওএস ডিভাইস  ব্যবহার করা হয়, <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Developer settings</a>   খোলো  এবং :</p>

+ 5 - 5
files/bn/archive/b2g_os/debugging/testing_in_a_privileged_context/index.html

@@ -10,7 +10,7 @@ tags:
 translation_of: Archive/B2G_OS/Debugging/Testing_in_a_privileged_context
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Debugging/Intercepting_traffic_using_a_proxy">« Previous</a><br></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Debugging/Intercepting_traffic_using_a_proxy" class="button">« Previous</a><br></p>
 </div><p></p>
 <div class="summary">
  <p id="Testing_in_a_Privileged_Context.3A_Shipping_your_own_Gaia_Apps">যেহেতু আপনি দেখতে পারেন ,বাতিল জাভা স্ক্রীপ্ট আপনাকে   <a href="https://developer.mozilla.org/en-US/docs/WebAPI">all the shiny WebAPIs  </a>এর সম্পুর্ন সুবিধা দিবে না।এই অ্যাপের কারনে একটি বিশেষ অ্যাপি ব্যবহার করতে ,ইহা রিকুয়েস্ট করে থাকে ঐ অ্যাপির সুবিধা পাওয়ার জন্য  ইহার <a href="https://developer.mozilla.org/en-US/docs/Apps/Manifest">manifest</a> তে।এই অনুচ্ছেদ আগে তাদের মার্কেটপ্লেসে জমা দেয়ার আগে আপনাকে অ্যাপ ব্যবহারের সুবিধা দিবে পরীক্ষা করার জন্য।</p>
@@ -20,7 +20,7 @@ translation_of: Archive/B2G_OS/Debugging/Testing_in_a_privileged_context
   appself = e.result;
 }</pre>
 <p>বিভিন্ন অ্যাপের নিজের মধ্যে এই অ্যাপস মেটাডাটার সমুক্ষীন হন।</p>
-<p>একটি একই নোটে,যদি আপনি ভিন্ন অ্যাপের অনুমতির জন্য দেখতে চান, টেস্ট অ্যাপে "Permissions" তে এক নজর দেখুন ,যা আসে আপনার b2g-desktop টেস্টিং গঠনের সাথে ;এটি সকল বর্তমানে ইন্সটল্ড অ্যাপের জন্য অনুমতি এনে দিবে।</p>
+<p>একটি একই নোটে,যদি আপনি ভিন্ন অ্যাপের অনুমতির জন্য দেখতে চান, টেস্ট অ্যাপে &quot;Permissions&quot; তে এক নজর দেখুন ,যা আসে আপনার b2g-desktop টেস্টিং গঠনের সাথে ;এটি সকল বর্তমানে ইন্সটল্ড অ্যাপের জন্য অনুমতি এনে দিবে।</p>
 <p>কিছু বর্তমান ওয়েব অ্যাপি আছে যা সবসময় যেকোন অ্যাপে পাওয়া যায় না। এইসব অ্যাপি ব্যবহার করতে, আপনাকে আপনার একটি অ্যাপ ইন্সটল করতে হবে উচ্চ সুবিধার সাথে(এগুলো হল সার্টিফাইড অ্যাপ) ।এটা আপনি নিজে করুন ,আপনাকে একটি কাস্টম ভার্সন করতে হবে যা  top b2g layer এর,গায়া। প্রয়োজনীয় <code>git</code> টি কাজ করে এবং<code> make</code> পরিবেশ কাজ করে থাকে।দেখুন  <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites" title="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">Firefox OS build prerequisites</a> আরো বেশি Firefox OS তে গঠন পরিবেশের জন্য।</p>
 <p>আপনাকে এই ক্ষেত্রে Firefox OS প্রস্তুত করার প্রয়োজন পরেনা,কেবল গায়া।চলুন দেখি কিভাবে তারা কাজ করে থাকে ।</p>
 <h2 id="গায়া_ডাউনলোডিং_এবং_গঠন"><strong>গায়া ডাউনলোডিং এবং গঠন</strong></h2>
@@ -29,7 +29,7 @@ translation_of: Archive/B2G_OS/Debugging/Testing_in_a_privileged_context
 $ cd gaia
 $ make
 </pre>
-<div class="warning">
+<div class="warning notecard">
  <p><strong>ওয়ার্নিংঃগায়া গঠন করুন  </strong>প্রথমবারের জন্য যা <a href="/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner</a>  ডাউনলোড করতে প্রয়োজন যা প্রায় ৫০০এম বি,সুতরাঙ্গিহা নেয় কিছু সময় এবং অনেক জায়গা ।</p>
 </div>
 <p>এটা আপনার জন্য একটি স্ট্যান্ডার্ড গায়া গঠন করবে ,সুতরাং এটা কাজ করার জন্য প্রস্তুত।</p>
@@ -58,7 +58,7 @@ git clone <span class="nolink">https://github.com/freddyb/allperms.git</span></p
 <p>TBD</p>
 <h3 id="What_to_expect">What to expect</h3>
 <p>মনে করা হয় যে এটা কাজ ছে ,আপনাকে lock screen দেখা উচিত:</p>
-<p><img src="https://mdn.mozillademos.org/files/5059/lockscreen.png" alt="" style="width: 320px; height: 480px;"></p>
+<p><img src="https://mdn.mozillademos.org/files/5059/lockscreen.png" alt style="width: 320px; height: 480px;"></p>
 <p> <a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client#Command_line_options" title="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client#Command_line_options">command-line options available</a> হল কিছু দরকারি জিনিস যা ব্যবহার করা হয়ে থাকে B2G Desktop তে।</p>
 <div class="note">
  <p><strong>নোটঃএই প্রোফাইল শুরু হয়ে থাকে  </strong><strong>default settings</strong> এর সাথে আবার । কোন কাস্টমাইজেশন আপনার আছে যাতে আপনার টেসটিং সেট আপ  আবারো হবে ;এটি আরো যোগ করবে  <a href="/en-US/docs/Marionette" title="/en-US/docs/Marionette">Marionette</a> এর কনফিগারেশন এবং সার্টিফিকেট।</p>
@@ -67,5 +67,5 @@ git clone <span class="nolink">https://github.com/freddyb/allperms.git</span></p
 <p>আপনারYour <code>allperms</code>অ্যাপ এখন ইন্সটল করা উচিত এবং সকল সম্ভব অনুমতি নেয়া হয়ে থাকে।</p>
 <p>এখন আপনাকে একমাত্র বারবার বলা হয়ে থাকে Marionette ধাপে  <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging_and_Security_Testing_with_Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS/Debugging_and_Security_Testing_with_Firefox_OS">Debugging and security testing with Firefox OS</a>  থেকে একটি টেস্টিং পরিবেশ এর জন্য যা WebAPIs এর সুবিধা হয়ে থাকে ।</p>
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Debugging/Intercepting_traffic_using_a_proxy">« Previous</a><br></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Debugging/Intercepting_traffic_using_a_proxy" class="button">« Previous</a><br></p>
 </div><p></p>

+ 15 - 15
files/bn/archive/b2g_os/developing_gaia/build_system_primer/index.html

@@ -25,18 +25,18 @@ translation_of: Archive/B2G_OS/Developing_Gaia/Build_System_Primer
 <p>This directory must exist inside one of the Gaia apps directories (e.g., <code>apps</code>).</p>
 <h3 id="গায়া-রিসেট">গায়া-রিসেট</h3>
 <p>This works the same as <code>install-gaia</code> but starts by purging and then sets up permission defaults after installing all of the apps. The apps will be in <code>/data/local</code> like in the engineering builds. This will also push test and debugging applications.</p>
-<div class="warning">
- <p><strong>Be careful</strong>: Using the <code>APP</code> environment variable with <code>reset-gaia</code> appears to work, but it will put your phone in an unusable state (which is recoverable by running this goal again without the <code>APP</code> variable). So don't do that.</p>
+<div class="warning notecard">
+ <p><strong>Be careful</strong>: Using the <code>APP</code> environment variable with <code>reset-gaia</code> appears to work, but it will put your phone in an unusable state (which is recoverable by running this goal again without the <code>APP</code> variable). So don&apos;t do that.</p>
 </div>
 <h3 id="প্রডাকশন">প্রডাকশন</h3>
 <p>Same as <code>reset-gaia </code>but source code will be optimized. This goal basically allows you to emulate user builds. This will also push the same set of apps that are installed in user builds.</p>
-<div class="warning">
- <p><strong>Be careful</strong>: Using the <code>APP</code> environment variable with <code>production</code> appears to work, but it will put your phone in an unusable state (which is recoverable by running this goal again without the <code>APP</code> variable). So don't do that.</p>
+<div class="warning notecard">
+ <p><strong>Be careful</strong>: Using the <code>APP</code> environment variable with <code>production</code> appears to work, but it will put your phone in an unusable state (which is recoverable by running this goal again without the <code>APP</code> variable). So don&apos;t do that.</p>
 </div>
 <h3 id="রেফারেন্স_ওয়ার্কলোড">রেফারেন্স ওয়ার্কলোড</h3>
 <p>These goals push variously sized workloads to the device, helping us with debugging and fixing the performance and scalability issues we might have. These goals accept the APP environment variable, or an APPS environment variable that should contain the app names separated by a space, e.g.,</p>
 <pre class="brush: bash">APP=sms make reference-workload-light
-APPS="sms communications/contacts" make reference-workload-heavy
+APPS=&quot;sms communications/contacts&quot; make reference-workload-heavy
 </pre>
 <div class="note">
  <p><strong>Note</strong>: For more information, read <a href="/en-US/Firefox_OS/Platform/Gaia/Hacking#Reference_Workloads">Hacking Gaia: Reference workloads</a>.</p>
@@ -52,14 +52,14 @@ APPS="sms communications/contacts" make reference-workload-heavy
 <h4 id="DEVICE_DEBUG1">DEVICE_DEBUG=1</h4>
 <p>This disables screen lock on the device.</p>
 <h4 id="GAIA_DEVICE_TYPEphone">GAIA_DEVICE_TYPE=phone</h4>
-<p>This variable lets you build specific device from different 'app.list'. All 'app.list' files are located under /build/config/$(GAIA_DEVICE_TYPE)/  folders.</p>
+<p>This variable lets you build specific device from different &apos;app.list&apos;. All &apos;app.list&apos; files are located under /build/config/$(GAIA_DEVICE_TYPE)/  folders.</p>
 <p>GAIA_DEVICE_TYPE default value is <strong>phone</strong>.</p>
 <div class="note">
  <p><strong>Note</strong>: for more details and more options, consult our <a href="/en-US/Firefox_OS/Platform/Gaia/Hacking#Make_options">Hacking Gaia make options</a> guide.</p>
 </div>
 <h2 id="বিল্ড_প্রক্রিয়া">বিল্ড প্রক্রিয়া</h2>
 <p>Here is a sequence diagram for building gaia:</p>
-<p><img src="https://mdn.mozillademos.org/files/8635/gaia-build-system-seq-diagram.png" alt="" style="width: 2222px; height: 1497px;"></p>
+<p><img src="https://mdn.mozillademos.org/files/8635/gaia-build-system-seq-diagram.png" alt style="width: 2222px; height: 1497px;"></p>
 <p>pre-app.js, app.js &amp; post-app.js will be executed by Makefile and mostly build tasks have been done in xpcshell scripts, Makefile is used for detecting OS and downloading b2g-desktop and we plan to migrate more tasks from Makefile to xpcshell scripts.</p>
 <p>you may have question for why we have pre-app, app and post-app, that just because we are moving dependencies from Makefile to xpcshell script, so we created pre-app.js and post-app.js on <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1021051">bug 1021051</a> for moving mostly dependencies to xpcshell scripts, and at the end, app.js, pre-app.js and post-app.js will be merged on <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1053703">bug 1053703</a>.</p>
 <p>we have three kinds of directory for gaia build system:</p>
@@ -69,7 +69,7 @@ APPS="sms communications/contacts" make reference-workload-heavy
  <li>profile directories: profile, profile-debug or profile-test directories</li>
 </ol>
 <p>our goal is never generate files to source directories, unfortunately we still have some modules to generate files into source directories, but we plan to fix these issues. here is a table to show which modules generate files to source, stage or profile directories.</p>
-<p><img src="https://mdn.mozillademos.org/files/8653/file-accessing.png" alt="" style="width: 1136px; height: 1250px;"></p>
+<p><img src="https://mdn.mozillademos.org/files/8653/file-accessing.png" alt style="width: 1136px; height: 1250px;"></p>
 <p>Here is the build process when <code>make</code> is executed in the gaia directory, rules will be executed in order:</p>
 <ol>
  <li><strong>b2g_sdk</strong>: b2g-desktop is used to run the xpcshell scripts in <code>GAIA_DIR/build/</code>.</li>
@@ -89,25 +89,25 @@ APPS="sms communications/contacts" make reference-workload-heavy
  <li><strong>installed-extensions.json (additional-extensions.js)</strong>: Finally, this script downloads certain additional extensions to your profile directory.</li>
 </ol>
 <h2 id="অ্যাপের_জন্য_বিল্ড_স্ক্রিপ্ট">অ্যাপের জন্য বিল্ড স্ক্রিপ্ট</h2>
-<p>By default, app build script <span style="font-family: 'Courier New', 'Andale Mono', monospace; line-height: 1.5;">[app directory]/build/build.js</span><span style="line-height: 1.5;"> will be executed by app.js </span><span style="line-height: 1.5;">if it exists. if $APP/build/build.js does not exist, app.js will copy app into build_stage.</span></p>
+<p>By default, app build script <span style="font-family: &apos;Courier New&apos;, &apos;Andale Mono&apos;, monospace; line-height: 1.5;">[app directory]/build/build.js</span><span style="line-height: 1.5;"> will be executed by app.js </span><span style="line-height: 1.5;">if it exists. if $APP/build/build.js does not exist, app.js will copy app into build_stage.</span></p>
 <p>files in app directory should be copied into build_stage directory by app build script becuase app.js will not copy them if app build script exists. for example, calendar app has build/build.js and <a href="https://github.com/mozilla-b2g/gaia/blob/a0fa29db8e9e15afe3b1787bf494caa86a033f10/apps/calendar/build/build.js#L8">utils.copyToStage() should be called</a> in build.js for calendar app.</p>
-<p>build script for apps can require all build modules in $GAIA_DIR/build especially utils module which is a very useful module for building apps, you can use require('utils') to get the module.</p>
-<p><img src="https://mdn.mozillademos.org/files/8651/flow-diagram.png" alt="" style="width: 1004px; height: 952px;"></p>
+<p>build script for apps can require all build modules in $GAIA_DIR/build especially utils module which is a very useful module for building apps, you can use require(&apos;utils&apos;) to get the module.</p>
+<p><img src="https://mdn.mozillademos.org/files/8651/flow-diagram.png" alt style="width: 1004px; height: 952px;"></p>
 <h2 id="প্রেফারেন্স_কাস্টোমাইজ">প্রেফারেন্স কাস্টোমাইজ</h2>
 <p>If you find that you have a set of custom preferences you need to set each time you flash your device, you can create a file called <code>custom-prefs.js</code> inside the <code>build/config</code> directory and store them in there. This keeps them from being overwritten and out of source control.</p>
 <p>Here are some useful preferences:</p>
 <pre class="brush: js">// this enables marionette which lets you run performance tests
 // see https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_performance_tests
-user_pref("marionette.defaultPrefs.enabled", true);
+user_pref(&quot;marionette.defaultPrefs.enabled&quot;, true);
 
 // this sets the port for remote debugging your application on the device
-user_pref("devtools.debugger.remote-port", 60000);
+user_pref(&quot;devtools.debugger.remote-port&quot;, 60000);
 
 // this enables the remote debugger
-user_pref("devtools.debugger.remote-enabled", true);
+user_pref(&quot;devtools.debugger.remote-enabled&quot;, true);
 
 // this outputs debug information about the Radio Interface Layer in logcat
-user_pref("ril.debugging.enabled", true);
+user_pref(&quot;ril.debugging.enabled&quot;, true);
 </pre>
 <p>This file is read each time you generate a profile. The safest way to be sure that everything is generated is to delete your profile first:</p>
 <pre class="brush: bash">rm -rf profile &amp;&amp; make profile</pre>

+ 2 - 2
files/bn/archive/b2g_os/developing_gaia/customizing_build-time_apps/index.html

@@ -23,7 +23,7 @@ translation_of: Archive/B2G_OS/Developing_Gaia/Customizing_build-time_apps
 </ul>
 <p>যদি আপনি আপনার  গায়া/B2G নির্মাণে এসব অ্যাপস বাদ দিতে /যোগ করতে চান,আপনি নিচে দেখানো বেশ কিছু পথে এটি করতে পারেন।</p>
 <h2 id="Brute_force_কাস্টমাইজেশন_প্রক্রিয়া">Brute force কাস্টমাইজেশন প্রক্রিয়া</h2>
-<p> "brute force"প্রক্রিয়া হল সাধারনভাবে অ্যাপস মুছে ফেলা যা আপনি গঠনের সময় উপস্থিত রাখতে চান,গঠনের পু্বে।</p>
+<p> &quot;brute force&quot;প্রক্রিয়া হল সাধারনভাবে অ্যাপস মুছে ফেলা যা আপনি গঠনের সময় উপস্থিত রাখতে চান,গঠনের পু্বে।</p>
 <h2 id="এডিটিং_কনফিগ_লিস্টস">এডিটিং কনফিগ লিস্টস</h2>
 <p>সবচেয়ে বিশুদ্ধ প্রক্রিয়া হল  <code>apps-*.list</code> ফাইল এডিট করাf (খুজেন বিভিন্ন নির্দেশনামুলক ডিভাইসে খুজেন  <a href="https://github.com/mozilla-b2g/gaia/tree/master/build/config">gaia/build/config/</a>, যেমন <code>phone/</code>  এবং <code>tablet/ এর ভিতরে</code>) গঠনের সময় আপনি অ্যাপস এর পথ যোগ করে চান। উদাহরন হিসেবে, <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/phone/apps-production.list">gaia/build/config/phone/apps-production.list</a> দেখতে কিছুটা এর মতঃ</p>
 <pre class="brush: bash">apps/bluetooth
@@ -83,7 +83,7 @@ endif</pre>
 <div class="note">
  <p><strong>নোটঃযদি তুমি তোমার গাইয়া বিল্ডের অংশ হিসেবে কাস্টম এক্সটারনাল অ্যাপ যোগ করতে চাও, তোমাকে একটি্ নির্দেষট পথে তাদের তৈরি করা প্রয়োজন,এবং তারপরে তাদের স্থাপন কর  </strong> <code>gaia/dev-apps/</code> ফোল্ডারে। <a href="https://developer.mozilla.org/en-US/Firefox_OS/Developing_Firefox_OS/Market_customizations_guide#Building_Prebundled_web_apps">Building Prebundled web apps</a>  পড়ো আমাদের  আরো খুজে বার করতে ।</p>
 </div>
-<div class="warning">
+<div class="warning notecard">
  <p><strong>গুরুত্বপুর্ণঃযদি তুমি  ভাগ করার জন্য একতি কাসট্ম তৈরি করে ডিভাইস ভেন্ডার হওI ,তোমাকে  তোমার ফোন/ট্যাব্লেট/ইত্যাদি তে ফায়ারফক্স মার্কেট প্ল্যাচ  যোগ করার আগে প্তোমাকে খুশি হতে হবে বিচারের মান দন্ডের প্রয়োজন।মোযিলার সাথে যোগাযোগ কর  আরো বিস্তারিত  জানতে। </strong></p>
 </div>
 <p> </p>

+ 12 - 12
files/bn/archive/b2g_os/dual_boot_of_b2g_and_android_on_sgs2/index.html

@@ -7,8 +7,8 @@ tags:
   - Mobile
 translation_of: Archive/B2G_OS/Building
 ---
-<div class="blockIndicator warning">
-    <p><strong>Warning:</strong> This procedure doesn't really work anymore. It only works with Android 4 (Ice Cream Sandwich) and Siyah Kernel v 5.0.1. Later versions of either won't work. Consider this guide archived, and use it at your own risk.</p>
+<div class="warning notecard">
+    <p><strong>Warning:</strong> This procedure doesn&apos;t really work anymore. It only works with Android 4 (Ice Cream Sandwich) and Siyah Kernel v 5.0.1. Later versions of either won&apos;t work. Consider this guide archived, and use it at your own risk.</p>
 </div>
 <p>If you want to test B2G from time to time but continue using Android as your main OS and you have a Samsung Galaxy S2, you can choose to install B2G in a separate partition (which is already present on the phone) and choose where to boot into when your device starts.</p>
 <h2 id="পূর্বশর্ত_সমূহ">পূর্বশর্ত সমূহ</h2>
@@ -22,12 +22,12 @@ translation_of: Archive/B2G_OS/Building
 <h2 id="একক_অপারেশন_সমূহ">একক অপারেশন সমূহ</h2>
 <p>There are several operations to do in order to get a working dual boot. The following ones need to be done the first time only.</p>
 <p>In order to use heimdall without requiring root access, you should create a file called android.rules (the portion of the name before the .rules extension is arbitrary) and place it in /etc/udev/rules.d. The file should contain a line line the following:</p>
-<pre>SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"</pre>
+<pre>SUBSYSTEM==&quot;usb&quot;, ATTRS{idVendor}==&quot;04e8&quot;, MODE=&quot;0666&quot;</pre>
 <p>In order to activate this rule, you should restart udev:</p>
 <pre>sudo service udev restart</pre>
 <p>and then unplug and replug in the phone. The above rule will also allow adb to access the SGS2 without requiring root privlidges.</p>
 <h3 id="সিইয়াহ_কার্নেল_ফ্ল্যাশ_করা">সিইয়াহ কার্নেল ফ্ল্যাশ করা</h3>
-<p>The Siyah kernel is mandatory for the dual boot, because it is this kernel that manages it. Once you have downloaded and decompressed the tar file, you'll be left with a file named zImage. In order to flash it on your phone you have to follow these steps:</p>
+<p>The Siyah kernel is mandatory for the dual boot, because it is this kernel that manages it. Once you have downloaded and decompressed the tar file, you&apos;ll be left with a file named zImage. In order to flash it on your phone you have to follow these steps:</p>
 <ol>
  <li>Switch off your phone</li>
  <li>Reboot in download mode (press together volume down + home + power buttons and then, when asked, volume up button)</li>
@@ -37,16 +37,16 @@ translation_of: Archive/B2G_OS/Building
 </ol>
 <p>Once the kernel is flashed the phone will reboot.</p>
 <h3 id="B2G_রম_পরিবেশ_প্রস্তুত_করা">B2G রম পরিবেশ প্রস্তুত করা</h3>
-<p>Once you've installed the Siyah kernel, it's time to use its functions to prepare the environment to install your B2G image in the secondary partition. Follow these steps:</p>
+<p>Once you&apos;ve installed the Siyah kernel, it&apos;s time to use its functions to prepare the environment to install your B2G image in the secondary partition. Follow these steps:</p>
 <ol>
  <li>Switch off your phone</li>
  <li>Reboot in recovery mode (press together volume up + home + power buttons)</li>
  <li>In the CWMR Touch interface, go to dual-boot options -&gt; Wipe 2ndROM data/cache -&gt; Yes - Wipe. This operation will take some time</li>
 </ol>
-<p>Once the operation is finished, select Go Back and then reboot system now to reboot your phone. If you check, inside the internal SD card of your phone you'll now have a .secondrom directory with inside two files named cache.img and data.img.</p>
+<p>Once the operation is finished, select Go Back and then reboot system now to reboot your phone. If you check, inside the internal SD card of your phone you&apos;ll now have a .secondrom directory with inside two files named cache.img and data.img.</p>
 <h2 id="B2G_আপডেট_অপারেশন_সমূহ">B2G আপডেট অপারেশন সমূহ</h2>
 <p>The following operations need to be done every time you build a new version of B2G.</p>
-<p>In order to simplify command line instructions, it's advised to copy all needed files in a same folder of your choice. These are the files that need to be copied inside the folder:</p>
+<p>In order to simplify command line instructions, it&apos;s advised to copy all needed files in a same folder of your choice. These are the files that need to be copied inside the folder:</p>
 <ul>
  <li>simg2img, found in B2G/out/target/product/galaxys2/system/bin/</li>
  <li>system.img, found in B2G/out/target/product/galaxys2/</li>
@@ -57,7 +57,7 @@ translation_of: Archive/B2G_OS/Building
  <li>Create a data.img file out of the sparse file userdata.img. You can do it with the following command:
   <pre>simg2img userdata.img data.img</pre>
  </li>
- <li>Put the data.img file on your phone's .secondrom folder. You can do this either by enabling file storage mode on your phone and connecting it to your PC or, if you have USB Debug active, you can use adb:
+ <li>Put the data.img file on your phone&apos;s .secondrom folder. You can do this either by enabling file storage mode on your phone and connecting it to your PC or, if you have USB Debug active, you can use adb:
   <pre>adb push /path/to/data.img /sdcard/.secondrom/data.img</pre>
  </li>
  <li>Switch off your phone</li>
@@ -66,12 +66,12 @@ translation_of: Archive/B2G_OS/Building
   <pre>heimdall flash --hidden system.img</pre>
  </li>
 </ol>
-<p>Once the flash is finished, your phone will reboot and at boot time you can boot into your second rom (the B2G one) by pressing the home button during the bootloader countdown. If everything has gone right, once you've finished booting B2G you'll have a black screen on your phone. You now have to install Gaia.</p>
+<p>Once the flash is finished, your phone will reboot and at boot time you can boot into your second rom (the B2G one) by pressing the home button during the bootloader countdown. If everything has gone right, once you&apos;ve finished booting B2G you&apos;ll have a black screen on your phone. You now have to install Gaia.</p>
 <div class="note">
- <strong>Note:</strong> Depending on how you want to test B2G, you may not want to put a new data.img file on the phone every time you update B2G, as it will wipe all of your preferences, installed applications and in general pretty much everything you've done while using B2G.</div>
+ <strong>Note:</strong> Depending on how you want to test B2G, you may not want to put a new data.img file on the phone every time you update B2G, as it will wipe all of your preferences, installed applications and in general pretty much everything you&apos;ve done while using B2G.</div>
 <h2 id="বুট_অপারেশন_সমূহ">বুট অপারেশন সমূহ</h2>
 <p>The following operations need to be done every time you boot inside B2G.</p>
-<p>Unfortunately, there's no simple way to put Gaia inside the system.img B2G image, and it get lost when you switch off your phone, so you'll need to install Gaia again every time you boot inside B2G. To install Gaia, type the following on a console after you've booted your phone inside B2G (so you have a black screen) and have connected your phone to your PC:</p>
+<p>Unfortunately, there&apos;s no simple way to put Gaia inside the system.img B2G image, and it get lost when you switch off your phone, so you&apos;ll need to install Gaia again every time you boot inside B2G. To install Gaia, type the following on a console after you&apos;ve booted your phone inside B2G (so you have a black screen) and have connected your phone to your PC:</p>
 <pre>cd B2G/gaia
 GAIA_DOMAIN=foo.org make install-gaia</pre>
-<p>After the upload of Gaia is completed, on your phone's screen the B2G interface will appear.</p>
+<p>After the upload of Gaia is completed, on your phone&apos;s screen the B2G interface will appear.</p>

+ 47 - 47
files/bn/archive/b2g_os/firefox_os_build_prerequisites/index.html

@@ -4,11 +4,11 @@ slug: Archive/B2G_OS/Firefox_OS_build_prerequisites
 translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
 ---
 <p> ফায়ারফক্স ওএস বিল্ড কোড পাওয়ার আগে, আপনার একটি সঠিকভাবে কনফিগার <a href="https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions" title="https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions">বিল্ড সিস্টেম </a> প্রয়োজন. আপনি বর্তমানে ৬৪ বিট লিনাক্স ডিস্ট্রিবিউশন এবং ওএস এক্স -এর উপর তা নির্মাণ করতে পারেন ।</p>
-<p><strong>Note</strong>: To build Firefox OS onto a phone, begin with your phone NOT connected to your computer. We'll tell you when to plug it in.</p>
+<p><strong>Note</strong>: To build Firefox OS onto a phone, begin with your phone NOT connected to your computer. We&apos;ll tell you when to plug it in.</p>
 <h2 id="একটি_সামঞ্জস্যপূর্ণ_ডিভাইস_এমুলেটর"><span lang="bn" class="short_text" id="result_box"><span class="hps">একটি সামঞ্জস্যপূর্ণ</span> <span class="hps">ডিভাইস /</span> <span class="hps">এমুলেটর</span></span></h2>
 <p> আপনার একটি যন্ত্র বা এমুলেটর ব্যাবহার করা প্রয়োজন । যদিও আমরা কিছু ফোন এর সমর্থন করি, যাদের ভিন্নতা আছে । আমরা বর্তমানে সেই সকল ফোনএর সমর্থন দিয়ে থাকি যা অন্যদের থেকে বেশি ভাল ।</p>
 <div class="note">
- <p><strong>Note</strong>: Mozilla's <a href="https://github.com/mozilla-b2g/B2G">B2G source code</a> effectively is the reference implementation of B2G, but phone vendors are free to add patches or make changes. When you buy an Alcatel One Touch for example, it contains the vendor's version. This doesn't make a difference for the installed apps, but it can at the platform level. The Nexus 4 port is maintained directly by Mozilla; so it's a lot more likely to work with our version of Gecko out of the box than other tier 3 devices.</p>
+ <p><strong>Note</strong>: Mozilla&apos;s <a href="https://github.com/mozilla-b2g/B2G">B2G source code</a> effectively is the reference implementation of B2G, but phone vendors are free to add patches or make changes. When you buy an Alcatel One Touch for example, it contains the vendor&apos;s version. This doesn&apos;t make a difference for the installed apps, but it can at the platform level. The Nexus 4 port is maintained directly by Mozilla; so it&apos;s a lot more likely to work with our version of Gecko out of the box than other tier 3 devices.</p>
 </div>
 <h3 id="Tier_1">Tier 1</h3>
 <p>Tier 1 devices represent a primary target for development and will typically be the first to receive bug fixes and feature updates.</p>
@@ -20,7 +20,7 @@ translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
  <dt>
   Inari</dt>
  <dd>
-  Inari is another testing device. Use this configuration to build for the ZTE Open device. <strong>Warning:</strong> newer builds of Firefox OS may have trouble booting on the ZTE Open's default boot partition.</dd>
+  Inari is another testing device. Use this configuration to build for the ZTE Open device. <strong>Warning:</strong> newer builds of Firefox OS may have trouble booting on the ZTE Open&apos;s default boot partition.</dd>
  <dt>
   Unagi</dt>
  <dd>
@@ -38,7 +38,7 @@ translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
  <dd>
   There are two emulators available: one emulates ARM code and the other runs everything in x86 code. <a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators" title="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators">Learn more about installing and using the emulators</a>.</dd>
  <dd>
-  <strong>Note that you shouldn't use the x86 emulator — it is hard to install and not well supported.</strong></dd>
+  <strong>Note that you shouldn&apos;t use the x86 emulator — it is hard to install and not well supported.</strong></dd>
  <dt>
   <a href="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client" title="/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_desktop_client">Desktop</a></dt>
  <dd>
@@ -79,23 +79,23 @@ translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
  <dt>
   Tara</dt>
  <dd>
-  Tara is another testing device. Manifest of Tara is in master branch only. The script of getting Tara code is "BRANCH=master ./config.sh tara".</dd>
+  Tara is another testing device. Manifest of Tara is in master branch only. The script of getting Tara code is &quot;BRANCH=master ./config.sh tara&quot;.</dd>
 </dl>
-<div class="warning">
+<div class="warning notecard">
  <strong>Important</strong>: Only devices running at least <strong>Android 4</strong> (aka <strong>Ice Cream Sandwich</strong>) are supported. If your device is listed above but running an older version of Android, please update it before doing anything.</div>
 <div class="note">
  <p><strong>Note</strong>: Tier 2 and Tier 3 devices have a software home button instead of a hardware home button</p>
- <p>All Tier 1 devices have a hardware Home button which returns the user to the home screen. Most current ICS based Android devices use onscreen touch buttons for navigation. We have a virtual home button for the devices without hardware home button now. If it's not automatically enabled, <span style="line-height: 1.5em; font-size: 14px;">open the Settings app, go to the <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Developer settings</a>, and then toggle on the <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Enable_software_home_button">Enable software home button</a> preference.</span></p>
- <p><span style="line-height: 1.5em; font-size: 14px;">In 1.4 there is also a developer option for "Home gesture enabled"; enabling that will remove the on-screen home button in favor of swiping up from the bottom of the screen.</span></p>
+ <p>All Tier 1 devices have a hardware Home button which returns the user to the home screen. Most current ICS based Android devices use onscreen touch buttons for navigation. We have a virtual home button for the devices without hardware home button now. If it&apos;s not automatically enabled, <span style="line-height: 1.5em; font-size: 14px;">open the Settings app, go to the <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Developer settings</a>, and then toggle on the <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Enable_software_home_button">Enable software home button</a> preference.</span></p>
+ <p><span style="line-height: 1.5em; font-size: 14px;">In 1.4 there is also a developer option for &quot;Home gesture enabled&quot;; enabling that will remove the on-screen home button in favor of swiping up from the bottom of the screen.</span></p>
 </div>
 <h2 id="Requirements_for_GNULinux">Requirements for GNU/Linux</h2>
-<p>To build on Linux, you'll need:</p>
+<p>To build on Linux, you&apos;ll need:</p>
 <ul>
  <li>A <strong>64 bit GNU/Linux</strong> distribution (Ubuntu 12.04 recommended).</li>
  <li>At least <strong>4 GB</strong> of RAM.</li>
  <li>At least <strong>30 GB</strong> of available hard disk space.</li>
 </ul>
-<p>This is more than the bare minimum, but sometimes building fails just because it's missing resources. A typical error in this case is "<span style="line-height: 1.5;"><strong>arm-linux-androideabi-g++: Internal error: Killed (program cc1plus)</strong>".</span></p>
+<p>This is more than the bare minimum, but sometimes building fails just because it&apos;s missing resources. A typical error in this case is &quot;<span style="line-height: 1.5;"><strong>arm-linux-androideabi-g++: Internal error: Killed (program cc1plus)</strong>&quot;.</span></p>
 <p>You will also need the following tools installed:</p>
 <ul>
  <li><strong>autoconf 2.13</strong></li>
@@ -117,7 +117,7 @@ translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
 <h3 id="Emulator_build_issues"><strong>Emulator build issues</strong></h3>
 <p>If you are making an <strong>emulator</strong> build, you need to pay attention to these issues:</p>
 <div class="note">
- <p><strong>First, note that you shouldn't use the x86 emulator — it is hard to install and not well supported.</strong></p>
+ <p><strong>First, note that you shouldn&apos;t use the x86 emulator — it is hard to install and not well supported.</strong></p>
 </div>
 <p>Next, the build-system for the emulator builds both 32bit and 64bit versions of the emulator. As the emulator depends on OpenGL, this means that you need to have both 32bit and 64bit versions of OpenGL libraries installed on your system. See the discussion in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=897727" title="https://bugzilla.mozilla.org/show_bug.cgi?id=897727">bug 897727</a>.</p>
 <p>There are two ways that you can solve this problem:</p>
@@ -129,23 +129,23 @@ translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
 <pre class="note">sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
 sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so</pre>
 <h4 id="Solution_2_just_patch_the_emulator_so_it_only_builds_64bit">Solution #2: just patch the emulator so it only builds 64bit</h4>
-<p>Just apply <a href="https://bug897727.bugzilla.mozilla.org/attachment.cgi?id=786280" title="https://bug897727.bugzilla.mozilla.org/attachment.cgi?id=786280">this patch</a> to the sdk/ git repository under the B2G repo. This will cause the B2G emulator to only attempt to build the 64bit emulator if you're on a 64bit system, thus avoiding any multilib issues. The 32bit emulator is unused anyway on a 64bit system. This is the simplest solution, until this patch eventually bit-rots.</p>
+<p>Just apply <a href="https://bug897727.bugzilla.mozilla.org/attachment.cgi?id=786280" title="https://bug897727.bugzilla.mozilla.org/attachment.cgi?id=786280">this patch</a> to the sdk/ git repository under the B2G repo. This will cause the B2G emulator to only attempt to build the 64bit emulator if you&apos;re on a 64bit system, thus avoiding any multilib issues. The 32bit emulator is unused anyway on a 64bit system. This is the simplest solution, until this patch eventually bit-rots.</p>
 <h3 id="64_bit_requirement_installation">64 bit requirement installation</h3>
 <p>This section lists the commands you need to run in different Linux distributions to install all the requirements for building Firefox OS.</p>
 <h4 id="Ubuntu_12.04_Linux_Mint_13_Debian_6">Ubuntu 12.04 / Linux Mint 13 / Debian 6</h4>
 <p>Run the following command in Terminal:</p>
 <pre>sudo apt-get update
 sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make zip</pre>
-<p>If you'll build for Nexus 5, run the following command in Terminal:</p>
+<p>If you&apos;ll build for Nexus 5, run the following command in Terminal:</p>
 <pre>sudo apt-get install libxml2-utils </pre>
 <p>And see the above comments about emulator build issues!</p>
 <h4 id="Ubuntu_12.10">Ubuntu 12.10</h4>
 <p>Run the following command in Terminal:</p>
 <pre>sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make zip</pre>
 <p>In addition to the emulator build issues discussed above, the compiler will default to <code>gcc-4.7</code>, which will fail to build with an error along the following lines:</p>
-<p>"<code>KeyedVector.h:193:31: error: indexOfKey was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"</code></p>
+<p>&quot;<code>KeyedVector.h:193:31: error: indexOfKey was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation&quot;</code></p>
 <p>To fix this, you will need to specify GCC 4.6 as the default host compiler after having retrieved the B2G sources: Read <a href="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">Changing the default host compiler</a> to find out how to do it.</p>
-<p class="note">In a fresh Ubuntu 12.10 install, you'll get an error about unmet dependencies for ia32-libs. The following commands fix it:</p>
+<p class="note">In a fresh Ubuntu 12.10 install, you&apos;ll get an error about unmet dependencies for ia32-libs. The following commands fix it:</p>
 <pre>sudo dpkg --add-architecture i386
 sudo apt-get update
 sudo apt-get install ia32-libs</pre>
@@ -153,15 +153,15 @@ sudo apt-get install ia32-libs</pre>
 <p>Run the following command in Terminal:</p>
 <pre>sudo apt-get install --no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip</pre>
 <p>In addition to the emulator build issues discussed above, the compiler will default to <code>gcc-4.7</code>, which will fail to build with an error along the following lines:</p>
-<p>"<code>KeyedVector.h:193:31: error: indexOfKey was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"</code></p>
+<p>&quot;<code>KeyedVector.h:193:31: error: indexOfKey was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation&quot;</code></p>
 <p>To fix this, you will need to specify GCC 4.6 as the default host compiler after having retrieved the B2G sources: Read <a href="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">Changing the default host compiler</a> to find out how to do it.</p>
 <h4 id="Ubuntu_13.10">Ubuntu 13.10</h4>
 <p>With Ubuntu 13.10, multi-arch packages are now the main way to support multiple architectures (e.g. 32-bit on a 64-bit install).  You must tell your Ubuntu system that you want to support 32-bit packages as well:<br>
   </p>
 <pre>sudo dpkg --add-architecture i386
 sudo apt-get update</pre>
-<p>Once you've completed that, then you can install the necessary packages:</p>
-<pre style="font-family: 'Open Sans', sans-serif; line-height: 21px;">sudo apt-get install --no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip libxml2-utils
+<p>Once you&apos;ve completed that, then you can install the necessary packages:</p>
+<pre style="font-family: &apos;Open Sans&apos;, sans-serif; line-height: 21px;">sudo apt-get install --no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip libxml2-utils
 
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 1
 
@@ -171,9 +171,9 @@ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 1
 
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 2
 
-sudo update-alternatives --set gcc "/usr/bin/gcc-4.6"
+sudo update-alternatives --set gcc &quot;/usr/bin/gcc-4.6&quot;
 
-sudo update-alternatives --set g++ "/usr/bin/g++-4.6" </pre>
+sudo update-alternatives --set g++ &quot;/usr/bin/g++-4.6&quot; </pre>
 <h4 id="Fedora_17181920"><br>
  Fedora 17/18/19/20</h4>
 <p>Run the following command in Terminal:</p>
@@ -195,13 +195,13 @@ sudo tar -x -a -C /opt -f gcc-4.6.4-fc19.tar.xz
 <p>If build fails with the compiler complaining about not finding libmpc.so.2, install the package compat-libmpc</p>
 <h4 id="Arch_Linux"><strong>Arch Linux</strong></h4>
 <p>Run the following command in Terminal:</p>
-<pre class="note">sudo <span style=""><span style="">pacman -S --needed </span></span><span style=""><span style="">alsa-lib </span></span><span style=""><span style="">autoconf2.13</span></span><span style=""><span style=""> bison</span></span><span style=""><span style=""> ccache</span></span><span style=""><span style=""> </span></span><span style=""><span style="">curl firefox </span></span><span style=""><span style="">flex </span></span><span style=""><span style="">gcc-multilib </span></span><span style=""><span style="">git </span></span><span style=""><span style="">gperf </span></span><span style=""><span style="">libnotify </span></span><span style=""><span style="">libxt </span></span><span style=""><span style="">libx11 mesa multilib-devel </span></span><span style=""><span style="">wget wireless_tools </span></span><span style=""><span style="">yasm</span></span><span style=""><span style=""> zip </span></span><span style=""><span style="">lib32-mesa </span></span>lib32-mesa-libgl <span style=""><span style="">lib32-ncurses lib32-readline</span></span><span style=""><span style=""> </span></span><span style=""><span style="">lib32-zlib</span></span></pre>
+<pre class="note">sudo <span style><span style>pacman -S --needed </span></span><span style><span style>alsa-lib </span></span><span style><span style>autoconf2.13</span></span><span style><span style> bison</span></span><span style><span style> ccache</span></span><span style><span style> </span></span><span style><span style>curl firefox </span></span><span style><span style>flex </span></span><span style><span style>gcc-multilib </span></span><span style><span style>git </span></span><span style><span style>gperf </span></span><span style><span style>libnotify </span></span><span style><span style>libxt </span></span><span style><span style>libx11 mesa multilib-devel </span></span><span style><span style>wget wireless_tools </span></span><span style><span style>yasm</span></span><span style><span style> zip </span></span><span style><span style>lib32-mesa </span></span>lib32-mesa-libgl <span style><span style>lib32-ncurses lib32-readline</span></span><span style><span style> </span></span><span style><span style>lib32-zlib</span></span></pre>
 <p>To install the lib32-* packages you need to have the multilib repository enabled.</p>
 <p>B2G <a href="https://developer.mozilla.org/en-US/Firefox_OS/Building#KeyedVector.h.3A193.3A31.3A_error.3A_indexOfKey_was_not_declared_in_this_scope">can only be compiled with gcc4.6.4</a>, and because Arch Linux always has bleeding edge software you will need to install <a href="https://aur.archlinux.org/packages/gcc46-multilib">gcc46-multilib from AUR</a>. Note that you will have to edit the PKGBUILD and add <code>staticlibs</code> to the <code>options</code> array, or gcc will be unable to compile B2G and give you a <code>cannot find -lgcc</code> error when compiling. You will also need to add the following to your <code>.userconfig</code> file:</p>
 <pre class="language-html">export CC=gcc-4.6.4
 export CXX=g++-4.6.4</pre>
-<p>By default, Arch Linux uses Python3. You'll have to force it to use the old python2. You can do that by linking the python2 executable to python but this is discouraged and considered error-prone. This will also break python 3 if it is installed on your system. A better way is to use <code>virtualenv</code>/<code>virtualenvwrapper</code>:</p>
-<pre><span style=""><span style="">sudo pacman -S python-virtualenvwrapper
+<p>By default, Arch Linux uses Python3. You&apos;ll have to force it to use the old python2. You can do that by linking the python2 executable to python but this is discouraged and considered error-prone. This will also break python 3 if it is installed on your system. A better way is to use <code>virtualenv</code>/<code>virtualenvwrapper</code>:</p>
+<pre><span style><span style>sudo pacman -S python-virtualenvwrapper
 </span></span>source /usr/bin/virtualenvwrapper.sh
 mkvirtualenv -p `which python2` firefoxos
 workon firefoxos
@@ -224,11 +224,11 @@ ln -s /opt/jdk1.6.0_45/bin/java ~/bin/java
 <h4 id="Gentoo_Linux"><strong>Gentoo Linux</strong></h4>
 <h5 id="Installing_ccache">Installing ccache</h5>
 <p>You will need to install <strong><a href="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=3#doc_chap3">ccache</a></strong>, a tool for caching partial builds.</p>
-<pre><span style=""><span style=""># emerge -av ccache</span></span>
+<pre><span style><span style># emerge -av ccache</span></span>
 </pre>
 <p>Because ccache is known to frequently cause support issues, Gentoo encourages you to use it <em>explicitly</em> and <em>sparingly</em>.</p>
 <p>To enable the required use of ccache, on <em>the subsequent step</em> of this guide where the <code>./build.sh</code> script is called, Gentoo users should instead run the command with an explicitly extended path, ie.</p>
-<pre><span style=""><span style=""><strong>PATH=/usr/lib64/ccache/bin:$PATH</strong> ./build.sh</span></span>
+<pre><span style><span style><strong>PATH=/usr/lib64/ccache/bin:$PATH</strong> ./build.sh</span></span>
 </pre>
 <h5 id="Generating_Partition_Images">Generating Partition Images</h5>
 <p>If you are building B2G for actual physical hardware, then you may at some point also wish to generate some partition images for upload to your device. (For example, to restore backed up files to the device via the <strong><em>fastboot</em></strong> utility)</p>
@@ -239,18 +239,18 @@ ln -s /opt/jdk1.6.0_45/bin/java ~/bin/java
 <h2 id="Requirements_for_Mac_OS_X">Requirements for Mac OS X</h2>
 <p>To build Firefox OS on Mac OS X, there are a number of prequisite steps you need to follow, which are detailed below. We also discuss common errors you might come across in particular situations, and solutions to those.</p>
 <div class="note">
- <p><strong>Note: Configuring and Building B2G for Keon WON'T WORK on a Mac</strong>. You'll need to use Linux to build B2G for this device.</p>
+ <p><strong>Note: Configuring and Building B2G for Keon WON&apos;T WORK on a Mac</strong>. You&apos;ll need to use Linux to build B2G for this device.</p>
 </div>
 <h3 id="Install_XCode_Command_Line_Utilities"><strong>Install XCode Command Line Utilities</strong></h3>
-<p>You need to install Xcode's Command Line Utilities. You can download <em>just</em> the Command Line Utilities from <a href="https://developer.apple.com/downloads/" title="https://developer.apple.com/downloads/">Apple's developer downloads page</a> for your particular version of OS X, however if you would like the entire Xcode suite of applications, you can <a style="line-height: 1.572;" href="http://itunes.apple.com/us/app/xcode/id497799835?mt=12" class="external" title="http://itunes.apple.com/us/app/xcode/id497799835?mt=12">install Xcode</a><span style="line-height: 1.572;"> through the Mac App Store. </span></p>
-<p>Xcode 4.3.1 (OS X 10.7 "Lion") and other newer versions such as 4.4.1+ (that is, Mac OS X 10.8 "Mountain Lion"), won't necessarily include the required Command Line Utilities. When you install Xcode, make sure to go into Preferences, then the Downloads panel, and install the Command Line Utilities. In addition, make sure you have at least 20 GB of free disk space.</p>
+<p>You need to install Xcode&apos;s Command Line Utilities. You can download <em>just</em> the Command Line Utilities from <a href="https://developer.apple.com/downloads/" title="https://developer.apple.com/downloads/">Apple&apos;s developer downloads page</a> for your particular version of OS X, however if you would like the entire Xcode suite of applications, you can <a style="line-height: 1.572;" href="http://itunes.apple.com/us/app/xcode/id497799835?mt=12" class="external" title="http://itunes.apple.com/us/app/xcode/id497799835?mt=12">install Xcode</a><span style="line-height: 1.572;"> through the Mac App Store. </span></p>
+<p>Xcode 4.3.1 (OS X 10.7 &quot;Lion&quot;) and other newer versions such as 4.4.1+ (that is, Mac OS X 10.8 &quot;Mountain Lion&quot;), won&apos;t necessarily include the required Command Line Utilities. When you install Xcode, make sure to go into Preferences, then the Downloads panel, and install the Command Line Utilities. In addition, make sure you have at least 20 GB of free disk space.</p>
 <p><img src="/files/4557/xcode_downloads_command_line_tools.png" alt="Screenshot of Xcode Downloads Command Line Tools" style="width: 750px; height: 528px;"></p>
 <div class="note">
- <strong>Note:</strong> The Firefox OS emulator requires a Core 2 Duo processor or later; that is, a system that is compatible with Mac OS X 10.7 "Lion". You do not actually have to be running Lion, you just have to be compatible with it. You can, however, build any Firefox OS build on many older Macs.</div>
+ <strong>Note:</strong> The Firefox OS emulator requires a Core 2 Duo processor or later; that is, a system that is compatible with Mac OS X 10.7 &quot;Lion&quot;. You do not actually have to be running Lion, you just have to be compatible with it. You can, however, build any Firefox OS build on many older Macs.</div>
 <h3 id="Run_Firefox_OS_Mac_Bootstrap">Run Firefox OS Mac Bootstrap</h3>
 <p>Next, open a terminal and run the following command:</p>
 <pre class="brush: bash">curl -fsSL https://raw.github.com/mozilla-b2g/B2G/master/scripts/bootstrap-mac.sh | bash</pre>
-<p>This will pull and run a bootstrap script that makes sure you have all the prerequisites met to build the emulator. It will also prompt you for permission to install anything you're missing, and provide warnings and suggested fixes to problems. The script will check for and install the following items:</p>
+<p>This will pull and run a bootstrap script that makes sure you have all the prerequisites met to build the emulator. It will also prompt you for permission to install anything you&apos;re missing, and provide warnings and suggested fixes to problems. The script will check for and install the following items:</p>
 <ul>
  <li><code>git</code></li>
  <li><code>gpg</code></li>
@@ -270,8 +270,8 @@ ln -s /opt/jdk1.6.0_45/bin/java ~/bin/java
 <pre>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</pre>
 <p>If it cannot be found there you will need to extract and copy it from Xcode 4.3. To do this:</p>
 <ol>
- <li>Download the XCode 4.3 .dmg file from the <a href="https://developer.apple.com/downloads/index.action" class="external">Apple Developer</a> portal (you'll need an <a href="https://developer.apple.com/register/index.action" title="https://developer.apple.com/register/index.action">Apple Developer account</a>).</li>
- <li>Download the utility <a href="http://www.charlessoft.com/" title="http://www.charlessoft.com/">Pacifist</a> and use it to extract the 10.6 SDK from the XCode 4.3 .dmg file. Click on the "Extract Package" button, find the SDK by searching for 10.6 in the search box, then <em>Ctrl + click</em> on the MacOSX10.6.sdk directory and Extract it to a suitable location.</li>
+ <li>Download the XCode 4.3 .dmg file from the <a href="https://developer.apple.com/downloads/index.action" class="external">Apple Developer</a> portal (you&apos;ll need an <a href="https://developer.apple.com/register/index.action" title="https://developer.apple.com/register/index.action">Apple Developer account</a>).</li>
+ <li>Download the utility <a href="http://www.charlessoft.com/" title="http://www.charlessoft.com/">Pacifist</a> and use it to extract the 10.6 SDK from the XCode 4.3 .dmg file. Click on the &quot;Extract Package&quot; button, find the SDK by searching for 10.6 in the search box, then <em>Ctrl + click</em> on the MacOSX10.6.sdk directory and Extract it to a suitable location.</li>
  <li>Add a symlink from the 10.6 SDK location to the <code>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</code> directory. For example, if you put the 10.6 SDK on your desktop, the comment would be</li>
 </ol>
 <pre>ln -s /Users/<em>&lt;yourusername&gt;</em>/Desktop/MacOSX10.6.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</pre>
@@ -284,8 +284,8 @@ with |source build/envsetup.sh force|
 
 ERROR: Patching of kernel/ failed.</span></pre>
 <p><span class="quote">Please see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=867259" title="https://bugzilla.mozilla.org/show_bug.cgi?id=867259">bug 867259</a></span> for more discussion and possible fixes for this problem.</p>
-<p>Alternatively, it will always be safest to build on a case sensitive file system.  The easiest way to do this is to create a separate, mountable disk image with case-sensitivity enabled.  You can do this using Apple's Disk Utility application or from the command line:</p>
-<pre>hdiutil create -volname 'firefoxos' -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/firefoxos.sparseimage</pre>
+<p>Alternatively, it will always be safest to build on a case sensitive file system.  The easiest way to do this is to create a separate, mountable disk image with case-sensitivity enabled.  You can do this using Apple&apos;s Disk Utility application or from the command line:</p>
+<pre>hdiutil create -volname &apos;firefoxos&apos; -type SPARSE -fs &apos;Case-sensitive Journaled HFS+&apos; -size 40g ~/firefoxos.sparseimage</pre>
 <p>Mount the drive with:</p>
 <pre>open ~/firefoxos.sparseimage</pre>
 <p>Change into the mounted drive with:</p>
@@ -306,18 +306,18 @@ ERROR: Patching of kernel/ failed.</span></pre>
 <div class="note">
  <strong>Note:</strong> If you have installed the <a href="http://www.samsung.com/us/kies/" class="external" title="http://www.samsung.com/us/kies/">Samsung Kies</a> tool, which is used to manage the contents of many Samsung phones, you will have to remove it before you can flash Firefox OS onto your device. You can use the standard application removal process on Windows; on Mac, the Kies install disk image has a utility to fully remove Kies from your system. Flashing <strong>will not work</strong> if you have Kies installed. If you forget to remove Kies, the build system will detect it and remind you to uninstall it. Note also that the uninstall tool does not correctly remove the folder <code>~/Library/Application Support/.FUS</code>, and leaves a reference to a utility there in your user startup items list. You will want to remove these manually.</div>
 <h3 class="note" id="Fix_libmpc_dependency_if_broken">Fix libmpc dependency if broken</h3>
-<p><code>gcc 4.6</code> was built with <code>libmpc 0.9</code>; if you then use homebrew to update packages, libmpc gets updated to version 1.0, but homebrew doesn't rebuild <code>gcc 4.6</code> after the library version changes. So you need to create a symlink to make things work again, like this:</p>
+<p><code>gcc 4.6</code> was built with <code>libmpc 0.9</code>; if you then use homebrew to update packages, libmpc gets updated to version 1.0, but homebrew doesn&apos;t rebuild <code>gcc 4.6</code> after the library version changes. So you need to create a symlink to make things work again, like this:</p>
 <pre>cd /usr/local/lib/
 ln -s libmpc.3.dylib libmpc.2.dylib</pre>
 <h3 id="Optional_Install_HAX">Optional: Install HAX</h3>
-<p>Intel provides a special driver that lets the B2G emulator run its code natively on your Mac instead of being emulated, when you're using the x86 emulator. If you wish to use this, you can <a href="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/" class="external" title="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/">download and install</a> it. It's not required, but it can improve emulation performance and stability.  </p>
+<p>Intel provides a special driver that lets the B2G emulator run its code natively on your Mac instead of being emulated, when you&apos;re using the x86 emulator. If you wish to use this, you can <a href="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/" class="external" title="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/">download and install</a> it. It&apos;s not required, but it can improve emulation performance and stability.  </p>
 <p>Before you install HAX you will need to install the <a href="http://developer.android.com/sdk/index.html" title="http://developer.android.com/sdk/index.html">Android SDK</a>.</p>
 <h2 class="note" id="Install_adb">Install adb</h2>
-<p>The build process needs to pull binary blobs from the Android installation on the phone before building B2G (unless you're building the emulator, of course).  For this, you will need <code>adb</code>, the Android Debug Bridge. Our <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">Installing ADB</a> article explains how to get <code>adb</code> installed.</p>
+<p>The build process needs to pull binary blobs from the Android installation on the phone before building B2G (unless you&apos;re building the emulator, of course).  For this, you will need <code>adb</code>, the Android Debug Bridge. Our <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">Installing ADB</a> article explains how to get <code>adb</code> installed.</p>
 <h2 class="note" id="Install_heimdall">Install heimdall</h2>
-<p>Heimdall is a utility for flashing the Samsung Galaxy S2. It's used by the Boot to Gecko flash utility to replace the contents of the phone with Firefox OS, as well as to flash updated versions of B2G and Gaia onto the device. You'll need it if you want to install Firefox OS on a Galaxy S2; it is <strong>not</strong> needed for any other device. For other devices, we build and use the fastboot utility instead.</p>
+<p>Heimdall is a utility for flashing the Samsung Galaxy S2. It&apos;s used by the Boot to Gecko flash utility to replace the contents of the phone with Firefox OS, as well as to flash updated versions of B2G and Gaia onto the device. You&apos;ll need it if you want to install Firefox OS on a Galaxy S2; it is <strong>not</strong> needed for any other device. For other devices, we build and use the fastboot utility instead.</p>
 <div class="note">
- <strong>Note:</strong> Again, it's important to note that this is <strong>only required for installing Firefox OS on the Samsung Galaxy S2</strong>.</div>
+ <strong>Note:</strong> Again, it&apos;s important to note that this is <strong>only required for installing Firefox OS on the Samsung Galaxy S2</strong>.</div>
 <p>There are two ways to install heimdall:</p>
 <ul>
  <li>You can <a href="https://github.com/Benjamin-Dobell/Heimdall" class="link-https" title="https://github.com/Benjamin-Dobell/Heimdall">download the code</a> GitHub and build it yourself.</li>
@@ -336,19 +336,19 @@ ln -s libmpc.3.dylib libmpc.2.dylib</pre>
  <p><strong>Note</strong>: This section is specific to Linux; Mac OS X has the necessary device permissions set up already.</p>
 </div>
 <p>Next, you need to confingure the udev rule for your phone,</p>
-<p>You can get the USB vendor ID by running <code>lsusb</code> with your phone plugged in, but typically it's Google <code>18d1,</code> Samsung <code>04e8</code>, ZTE <code>19d2</code>, Geeksphone/Qualcomm <code>05c6</code>. Add this line in your <code>/etc/udev/rules.d/android.rules</code> file (replacing <code>XXXX</code> with the ID for your device):</p>
-<pre>SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", MODE="0666", GROUP="plugdev"</pre>
+<p>You can get the USB vendor ID by running <code>lsusb</code> with your phone plugged in, but typically it&apos;s Google <code>18d1,</code> Samsung <code>04e8</code>, ZTE <code>19d2</code>, Geeksphone/Qualcomm <code>05c6</code>. Add this line in your <code>/etc/udev/rules.d/android.rules</code> file (replacing <code>XXXX</code> with the ID for your device):</p>
+<pre>SUBSYSTEM==&quot;usb&quot;, ATTR{idVendor}==&quot;XXXX&quot;, MODE=&quot;0666&quot;, GROUP=&quot;plugdev&quot;</pre>
 <p>Take ZTE for example, the content in android.rules will be</p>
-<pre style="font-size: 14px;">SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"</pre>
+<pre style="font-size: 14px;">SUBSYSTEM==&quot;usb&quot;, ATTR{idVendor}==&quot;19d2&quot;, MODE=&quot;0666&quot;, GROUP=&quot;plugdev&quot;</pre>
 <div class="note">
- <p><span style="line-height: 1.572;">If the file doesn't exist, create it. The <code>rules.d</code> directory is usually read only by default, so you may have to use <code>chmod</code> to make the directory writeable, or the file, or both.</span></p>
+ <p><span style="line-height: 1.572;">If the file doesn&apos;t exist, create it. The <code>rules.d</code> directory is usually read only by default, so you may have to use <code>chmod</code> to make the directory writeable, or the file, or both.</span></p>
 </div>
-<p><span style="line-height: 1.572;">Once you've saved the file, and closed it,  make the file readable:</span></p>
+<p><span style="line-height: 1.572;">Once you&apos;ve saved the file, and closed it,  make the file readable:</span></p>
 <pre>sudo chmod a+r /etc/udev/rules.d/android.rules
 </pre>
 <p>Now that the udev rules have been updated, restart the udev daemon. For ubuntu:</p>
 <pre>sudo service udev restart</pre>
-<p>Finally, unplug and the USB cable but don't replug it in because we need to enable remote debugging on the phone first.</p>
+<p>Finally, unplug and the USB cable but don&apos;t replug it in because we need to enable remote debugging on the phone first.</p>
 <h2 id="Enable_remote_debugging">Enable remote debugging</h2>
 <p>Before you plug your phone back into your USB port, put it USB developer mode. This allows you to debug and flash the phone. To enable developer mode, on your phone enable <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Remote_debugging">Remote Debugging</a> in <a href="/en-US/Firefox_OS/Debugging/Developer_settings">Developer settings</a> (this was called Developer mode on older versions.) Once the option is checked, remote debugging is enabled, and you are ready to go.</p>
 <p>At this point, connect your phone to your computer via a USB cable (if you created the udev rule before, this will trigger udev to detect the phone and create the device node with the right permissions). Now you can check if you can list your device via the <code>adb devices</code> command. If everything has worked ok, you should see an output similar to this (the following is for a Geeksphone Keon):</p>
@@ -358,7 +358,7 @@ full_keon       device</pre>
 <p>If the device did not list as expect, check the file name and the script are all correct (see previous section), then restart the computer and retype the command again. Note also that if your device uses fastboot, the bootloader may identify itself with a different vendor ID than the one you see when the device boots normally.</p>
 <h2 id="Backup_the_phone_system_partition">Backup the phone system partition</h2>
 <div class="note">
- <p><strong>Note</strong>: You have to do this before you build your device if you do not have an existing system backup, because some libraries will be referenced in build time. These library might be proprietary so we can't provide in our code base.</p>
+ <p><strong>Note</strong>: You have to do this before you build your device if you do not have an existing system backup, because some libraries will be referenced in build time. These library might be proprietary so we can&apos;t provide in our code base.</p>
 </div>
 <p>It is recommended that you back up the entire Android system partition on your phone.</p>
 <p>You can use this copy of the binary blobs for Android in case you later delete your B2G tree. To do this, run:</p>
@@ -368,7 +368,7 @@ full_keon       device</pre>
 <pre>adb pull /data &lt;backup target dir&gt;/data
 adb pull /vendor &lt;backup target dir&gt;/vendor
 </pre>
-<p>If the pull commands fail with an "insufficient permission" message, try the following:</p>
+<p>If the pull commands fail with an &quot;insufficient permission&quot; message, try the following:</p>
 <ul>
  <li>stop and restart the adb server, or if that fails,</li>
  <li>double-check that you have granted root permissions to the <code>adb</code> tool within your custom ROM (e.g. under CyanogenMod, change <em>Settings &gt; System &gt; Developer Options &gt; Root Access</em> to <em>Apps and ADB</em> or <em>ADB only</em>).</li>

+ 4 - 4
files/bn/archive/b2g_os/introduction/index.html

@@ -65,7 +65,7 @@ translation_of: Archive/B2G_OS/Introduction
 
 <h2 id="গায়ায়_অবদান_রাখা">গায়ায় অবদান রাখা</h2>
 
-<p>To contribute to Gaia, you don't need much more than a solid knowledge of web development. To learn about getting Gaia up and running, consult our <a href="/en-US/Firefox_OS/Hacking_Firefox_OS/Quickstart_guide_to_Gaia_development">Quickstart guide to Gaia development</a>.</p>
+<p>To contribute to Gaia, you don&apos;t need much more than a solid knowledge of web development. To learn about getting Gaia up and running, consult our <a href="/en-US/Firefox_OS/Hacking_Firefox_OS/Quickstart_guide_to_Gaia_development">Quickstart guide to Gaia development</a>.</p>
 
 <p>There are a number of useful tools available to you for debugging Gaia and other web apps running on Firefox OS. To learn about these and much more, consult our guide to <a href="/en-US/Firefox_OS/Platform/Gaia/Hacking">Hacking Gaia</a>.</p>
 
@@ -81,13 +81,13 @@ translation_of: Archive/B2G_OS/Introduction
 
 <p>Note that when developing apps for Firefox OS, you need to bear in mind what platform versions will be available on the devices your customers will have (see our <a href="/en-US/Firefox_OS/Developer_phone_guide/Phone_specs#Firefox_OS_phones_available">available phones table</a> for a list.) Remember that it is not as simple to update phone platform software as it is desktop software — users tend to be at the mercy of the network providers. You therefore need to develop apps to support these versions. This issue should go away soon, as more consumer Firefox OS devices appear, equipped with newer versions of Firefox OS out of the box.</p>
 
-<div class="warning">
+<div class="warning notecard">
 <p>The current baseline platform we recommended developing for is <a href="/en-US/Firefox_OS/Releases/1.1">Firefox 1.1</a>.</p>
 </div>
 
-<p><strong>Note</strong>: MDN's <a href="/en-US/docs/Web">web platform reference pages</a> include browser/platform support information, plus you can find support information for more App-specific technologies on our <a href="/en-US/Apps/Reference">Apps API Reference</a>.</p>
+<p><strong>Note</strong>: MDN&apos;s <a href="/en-US/docs/Web">web platform reference pages</a> include browser/platform support information, plus you can find support information for more App-specific technologies on our <a href="/en-US/Apps/Reference">Apps API Reference</a>.</p>
 
-<p>As an example, multiline Flexbox doesn't work on Firefox OS versions below 1.3, so you may need to use a simpler layout method or provide a fallback for older versions.</p>
+<p>As an example, multiline Flexbox doesn&apos;t work on Firefox OS versions below 1.3, so you may need to use a simpler layout method or provide a fallback for older versions.</p>
 
 
 

+ 7 - 7
files/bn/archive/b2g_os/phone_guide/geeksphone/index.html

@@ -68,9 +68,9 @@ translation_of: Archive/B2G_OS/Phone_guide/Geeksphone
 
 <p>To flash a Keon from Ubuntu add the following rules to /etc/udev/rules.d/51-android.rules</p>
 
-<div>SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="8013", MODE="0666"</div>
+<div>SUBSYSTEM==&quot;usb&quot;, ATTR{idVendor}==&quot;05c6&quot;, ATTR{idProduct}==&quot;8013&quot;, MODE=&quot;0666&quot;</div>
 
-<div>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", MODE="0666"</div>
+<div>SUBSYSTEM==&quot;usb&quot;, ATTR{idVendor}==&quot;18d1&quot;, ATTR{idProduct}==&quot;d00d&quot;, MODE=&quot;0666&quot;</div>
 
 <div> </div>
 
@@ -81,9 +81,9 @@ translation_of: Archive/B2G_OS/Phone_guide/Geeksphone
 
 <p>This should flash the new image to the phone. The phone will need to be set up again as all data will be cleared. If you want to backup your data and restore afterwards, you can follow the instructions at <a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">Backup the phone system partition</a>.</p>
 
-<h2 id="If_you_have_an_'unagi'_or_developer_preview_phone_that_is_not_a_Geeksphone">If you have an 'unagi' or developer preview phone that is not a Geeksphone</h2>
+<h2 id="If_you_have_an_&apos;unagi&apos;_or_developer_preview_phone_that_is_not_a_Geeksphone">If you have an &apos;unagi&apos; or developer preview phone that is not a Geeksphone</h2>
 
-<p>If you have a developer phone that is not a Geeksphone such as an 'unagi' or a previously Android-based device, you may need to perform the following steps. If this is not you, please skip to the next section.</p>
+<p>If you have a developer phone that is not a Geeksphone such as an &apos;unagi&apos; or a previously Android-based device, you may need to perform the following steps. If this is not you, please skip to the next section.</p>
 
 <p>You will need to install <strong>adb</strong> and <strong>fastboot</strong>. These utilities can be found in the Android Developer Toolkit.</p>
 
@@ -105,7 +105,7 @@ cd gaia
 
 <p>This will clone the current Gaia code to your system.</p>
 
-<div class="warning">
+<div class="warning notecard">
 <p>If you plan on submitting changes back to the Gaia source, be sure to fork the source before cloning as described in <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Hacking">Hacking Gaia</a>.</p>
 </div>
 
@@ -138,7 +138,7 @@ make reset-gaia
 <p><strong>Note</strong>: Bear in mind that either of the above commands will clear any data or apps that you have pushed to the phone. If you want to backup your data and restore afterwards, you can follow the instructions at <a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">Backup the phone system partition</a>.</p>
 </div>
 
-<h2 id="Ok_I_bricked_my_phone">"Ok, I bricked my phone"</h2>
+<h2 id="Ok_I_bricked_my_phone">&quot;Ok, I bricked my phone&quot;</h2>
 
 <p>If you are in the process of modifying your phone and it becomes “unresponsive” you should be able to recover it using fastboot with a simple procedure. The following illustrates resetting the Keon but other phones should have a similar process. You will also need to verify that you have fastboot and ADB installed (try typing <code>fastboot</code> and <code>adb</code> in the command line if you are not sure).</p>
 
@@ -157,7 +157,7 @@ fastboot flash system system.img
 fastboot reboot
 </pre>
 
-<p>This process should recover your phone. If it doesn't seem to work, you may have to try it a second time.</p>
+<p>This process should recover your phone. If it doesn&apos;t seem to work, you may have to try it a second time.</p>
 
 <h2 id="Go_play!">Go play!</h2>
 

+ 14 - 14
files/bn/archive/b2g_os/phone_guide/zte_open/index.html

@@ -10,7 +10,7 @@ translation_of: Archive/B2G_OS/Phone_guide/ZTE_OPEN
  <p><strong>Note</strong>: The instructions are <strong>not</strong> valid for the ZTE Open C device. If you have a ZTE Open C device you should go to our <a href="/en-US/Firefox_OS/Developer_phone_guide/ZTE_OPEN_C">ZTE Open C</a> page instead.</p>
 </div>
 <h2 id="Purchasing_a_device">Purchasing a device</h2>
-<p>These devices are available through ZTE's US and UK eBay stores, and a separate Hong Kong page aimed at Asian and Oceanian customers who don't want to pay high postage costs. They are priced at $79.99/£59.99.</p>
+<p>These devices are available through ZTE&apos;s US and UK eBay stores, and a separate Hong Kong page aimed at Asian and Oceanian customers who don&apos;t want to pay high postage costs. They are priced at $79.99/£59.99.</p>
 <ul>
  <li><a href="http://stores.ebay.com/ztemobileuk">Buy from UK eBay store</a></li>
  <li><a href="http://stores.ebay.com/ztemobileus">Buy from US eBay store</a></li>
@@ -19,11 +19,11 @@ translation_of: Archive/B2G_OS/Phone_guide/ZTE_OPEN
 <h2 id="Upgrading_Firefox_OS">Upgrading Firefox OS</h2>
 <p>This section provides instructions for upgrading Firefox OS on your ZTE OPEN device.</p>
 <h3 id="General">General</h3>
-<p>In general, Firefox OS builds, updates and testing are done by connecting your phone to a computer using a USB cable, and using ADB (Android Debugging Bridge) and Fastboot to join the devices together and issue commands. You'll therefore need to install ADB and fastboot from the <a href="http://developer.android.com/sdk/index.html" title="Android Developer Tookit">Android Developer Toolkit</a> on your desktop machine. It is not necessary to install the entire toolkit. adb and fastboot are found in the <code>/platform-tools/</code> folder.</p>
+<p>In general, Firefox OS builds, updates and testing are done by connecting your phone to a computer using a USB cable, and using ADB (Android Debugging Bridge) and Fastboot to join the devices together and issue commands. You&apos;ll therefore need to install ADB and fastboot from the <a href="http://developer.android.com/sdk/index.html" title="Android Developer Tookit">Android Developer Toolkit</a> on your desktop machine. It is not necessary to install the entire toolkit. adb and fastboot are found in the <code>/platform-tools/</code> folder.</p>
 <p>Next, you need to go to your phone and <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Remote_debugging">enable remote debugging</a>.</p>
 <h3 id="Firefox_OS_1.1">Firefox OS 1.1</h3>
 <p>On 10th December 2013: ZTE released a Firefox OS 1.1 upgrade for the ZTE OPEN. <strong>This now has fastboot enabled</strong>, which was caused the problems with the previous published builds.</p>
-<p>At this point, it's best to first upgrade your phone to version 1.1, even if you wanted to go to version 1.2. To do this, download the 1.1 package that corresponds to your phone (<a href="http://www.ztedevices.com/support/smart_phone/b5a2981a-1714-4ac7-89e1-630e93e220f8.html">OPEN (American Standard)</a> or <a href="http://www.ztedevices.com/support/smart_phone/cba40ed6-d3ab-44c0-bdee-3a15803dc187.html">OPEN (European Standard)</a>) and unzip it to get a PDF of instructions plus a firmware ZIP.</p>
+<p>At this point, it&apos;s best to first upgrade your phone to version 1.1, even if you wanted to go to version 1.2. To do this, download the 1.1 package that corresponds to your phone (<a href="http://www.ztedevices.com/support/smart_phone/b5a2981a-1714-4ac7-89e1-630e93e220f8.html">OPEN (American Standard)</a> or <a href="http://www.ztedevices.com/support/smart_phone/cba40ed6-d3ab-44c0-bdee-3a15803dc187.html">OPEN (European Standard)</a>) and unzip it to get a PDF of instructions plus a firmware ZIP.</p>
 <div class="note">
  <p><strong>Note</strong>: User data will be wiped by the SD package installation. You should <a href="https://developer.mozilla.org/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">backup your data</a> before starting.</p>
 </div>
@@ -40,18 +40,18 @@ translation_of: Archive/B2G_OS/Phone_guide/ZTE_OPEN
 </ol>
 <p>If everything went well, you’ll see a sequence of status messages, culminating with one that says, <em>“<strong>Install from sdcard complete</strong>.”</em>. You’ll need to select “reboot system now” after the installation has completed. Your phone will then reboot, and you’ll see the configuration screen you saw the first time you powered on the phone.</p>
 <h3 id="Firefox_OS_1.2">Firefox OS 1.2</h3>
-<p>In January 2014, ZTE released a beta version of Firefox OS 1.2 (fastboot enabled, with root access). It is basically version 1.1 baseline + version 1.2 Gecko and Gaia, and doesn't require the build to be put on the phone's SD Card.</p>
+<p>In January 2014, ZTE released a beta version of Firefox OS 1.2 (fastboot enabled, with root access). It is basically version 1.1 baseline + version 1.2 Gecko and Gaia, and doesn&apos;t require the build to be put on the phone&apos;s SD Card.</p>
 <p>With 1.1 installed as described above, open a terminal and check that the connection is made with the following command:</p>
 <pre class="brush: bash">adb devices -l
 </pre>
-<p>You should see your device as something like, "roamer2    device usb:2-1.2", in response.</p>
+<p>You should see your device as something like, &quot;roamer2    device usb:2-1.2&quot;, in response.</p>
 <p>Download the appropriate version of the build from the Dropbox account ZTE has set up: <a href="https://www.dropbox.com/sh/rnj3rja7gd54s98/32KXfFmedN/P752D04_DEV_US_20131212_v1.2.7z" title="Firefox OS 1.2 build for ZTE Open US">US version</a> or <a href="https://www.dropbox.com/sh/rnj3rja7gd54s98/_twgXEkMFH/P752D04_DEV_EU_20131212_v1.2.7z" title="Firefox OS 1.2 build for ZTE Open UK">UK version</a>. For Windows users, you can also <a href="https://www.dropbox.com/sh/rnj3rja7gd54s98/6ZoJwmlRjn/Installation%20Instruction.docx" title="Special upgrade instructions for Windows users">download special instructions</a>, and <a href="https://www.dropbox.com/sh/rnj3rja7gd54s98/-fyi2XHFPG/upgrade_tool" title="Upgrade tool">an upgrade tool</a> to help you to install the new version easily. The steps below however will work on <strong>all operating systems</strong> – Linux, OS X, and Windows – without relying on the special tool.</p>
 <p>Once you have the file, extract the contents, and open a console. Note that those steps will erase your personal data, so be sure to make a (<a href="https://developer.mozilla.org/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">backup</a>) first. Then navigate to the folder where the files are. Still in the console, type this command:</p>
 <pre class="brush: bash">adb reboot bootloader</pre>
 <p>While the phone is rebooting, execute the following command. (Fastboot only works inside a reboot):</p>
 <pre class="brush: bash">sudo fastboot devices
 </pre>
-<p>If you see, "&lt; waiting for device &gt;", hit Ctrl-C and retry the command until you see something like, "ROAMER2    fastboot", in response.</p>
+<p>If you see, &quot;&lt; waiting for device &gt;&quot;, hit Ctrl-C and retry the command until you see something like, &quot;ROAMER2    fastboot&quot;, in response.</p>
 <p>Then, quickly execute the following commands while it is still rebooting:</p>
 <pre class="brush: bash">fastboot flash boot boot.img
 fastboot flash userdata userdata.img
@@ -59,26 +59,26 @@ fastboot flash system system.img
 fastboot flash recovery recovery.img
 fastboot erase cache
 fastboot reboot</pre>
-<p>(The reboot completed before I was done entering all the commands as I was distracted. I simply restarted from the, "adb reboot bootloader".)</p>
+<p>(The reboot completed before I was done entering all the commands as I was distracted. I simply restarted from the, &quot;adb reboot bootloader&quot;.)</p>
 <p>If everything went well, your phone should reboot at this point. You’ll find that this version of 1.2 from ZTE includes many test applications, which you can remove if you like.</p>
 <div class="note">
  <p><strong>Note</strong>: <a href="https://hacks.mozilla.org/2014/01/upgrading-your-zte-open-to-firefox-1-1-or-1-2-fastboot-enabled/">Upgrading your ZTE Open to Firefox 1.1 or 1.2 (fastboot enabled)</a> by <span class="url">Frédéric Harper</span> also provides a useful breakdown of the install process.</p>
 </div>
 <div class="note">
- <p><strong>Note</strong>: There is a bug in ZTE's 1.2 build for the Open, whereby the notification tray won't pull down/open. This can be fixed by flashing the latest engineering version Firefox OS 1.2 to your phone. Make sure you have <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB installed</a> and <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Debugging_via_USB">remote debugging</a> turned on, then run the following commands in your terminal:<br>
+ <p><strong>Note</strong>: There is a bug in ZTE&apos;s 1.2 build for the Open, whereby the notification tray won&apos;t pull down/open. This can be fixed by flashing the latest engineering version Firefox OS 1.2 to your phone. Make sure you have <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB installed</a> and <a href="/en-US/Firefox_OS/Debugging/Developer_settings#Debugging_via_USB">remote debugging</a> turned on, then run the following commands in your terminal:<br>
   <br>
   <code>git clone -b v1.2 <a href="https://github.com/mozilla-b2g/gaia.git" rel="nofollow">https://github.com/mozilla-b2g/gaia.git</a> gaia_v1.2<br>
   cd gaia_v1.2<br>
   make reset-gaia</code></p>
 </div>
 <h3 id="Firefox_OS_1.3_and_beyond">Firefox OS 1.3 and beyond</h3>
-<p>ZTE currently haven't released builds for Firefox OS 1.3 and beyond. To get these on your ZTE open you'll have to manually <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">build and install a new Firefox OS/B2G</a> build on it (start at the <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">build prerequisite</a> instructions, and treat the ZTE like it is an Inari device, for the purposes of configuration). You can recover your phone if necessary, using the procedure cited in the <a href="#I_bricked_my_phone">I bricked my phone</a> section.</p>
+<p>ZTE currently haven&apos;t released builds for Firefox OS 1.3 and beyond. To get these on your ZTE open you&apos;ll have to manually <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">build and install a new Firefox OS/B2G</a> build on it (start at the <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">build prerequisite</a> instructions, and treat the ZTE like it is an Inari device, for the purposes of configuration). You can recover your phone if necessary, using the procedure cited in the <a href="#I_bricked_my_phone">I bricked my phone</a> section.</p>
 <h2 id="Phone_features">Phone features</h2>
 <ul>
  <li>CPU Qualcomm MSM7225A 1.0Ghz</li>
  <li>UMTS 850/1900 or UMTS900/2100</li>
  <li>GSM 850/900/1800/1900 (2G EDGE)</li>
- <li>Screen 3.5" HVGA</li>
+ <li>Screen 3.5&quot; HVGA</li>
  <li>Camera 2 MP (back)</li>
  <li>256 MB (RAM)</li>
  <li>MicroSD (support up to 32GB)</li>
@@ -92,7 +92,7 @@ fastboot reboot</pre>
  <p><strong>Note</strong>: the Hong Kong phones also support tri-band 3G Networks — HSDPA 850/1900/2100 (850/1900 for US, CA, 850/1900/2100 for Asia, AU, and 900/2100 for EU.)</p>
 </div>
 <h2 id="Wireless_carriers">Wireless carriers</h2>
-<div class="warning">
+<div class="warning notecard">
  <p>Pricing information is for reference only and may not be accurate. Visit the associated link for official information.</p>
 </div>
 <h3 id="US_carriers">US carriers</h3>
@@ -110,7 +110,7 @@ fastboot reboot</pre>
 <h4 id="Aio">Aio</h4>
 <ul>
  <li><a href="http://www.aiowireless.com/home.html">Website</a></li>
- <li><a href="#AT&amp;T">AT&amp;T</a>'s own MVNO</li>
+ <li><a href="#AT&amp;T">AT&amp;T</a>&apos;s own MVNO</li>
 </ul>
 <h5 id="Sampling_of_prepaid_Aio_plans">Sampling of prepaid Aio plans</h5>
 <ul>
@@ -162,7 +162,7 @@ fastboot reboot</pre>
 <h3 id="Revision_02">Revision 02</h3>
 <p>Phones produced on or after 09/27/2013 are fastboot enabled by default. <strong>This includes the Hong Kong phones.</strong></p>
 <div class="note">
- <p><strong>Note</strong>: If you are unsure of your phone's revision, check it in <strong>Settings &gt; Device Information &gt; Software</strong>. If it is older than the following version numbers, you will need to update your phone using the above SD packages to enable fastboot.</p>
+ <p><strong>Note</strong>: If you are unsure of your phone&apos;s revision, check it in <strong>Settings &gt; Device Information &gt; Software</strong>. If it is older than the following version numbers, you will need to update your phone using the above SD packages to enable fastboot.</p>
  <ul>
   <li>Phones from UK store:OPEN_EU_DEV_FFOS_V1.0.0B02</li>
   <li>Phones from US store:OPEN_US_DEV_FFOS_V1.0.0B02 <em>(Some phones may display this version incorrectly, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=916098#c39">bug 916098</a>.)</em></li>
@@ -180,7 +180,7 @@ fastboot flash userdata userdata.img
 fastboot flash system system.img
 fastboot reboot
 </pre>
-<p>This process should recover your phone. If it doesn't seem to work, you may have to try it a second time.</p>
+<p>This process should recover your phone. If it doesn&apos;t seem to work, you may have to try it a second time.</p>
 <h3 id="Headphones_not_working">Headphones not working?</h3>
 <p>We found that the headset jack is designed by a Chinese manufacturer that has compatibility problems with other brands of headsets that include microphones. You may have voice mute problems when you try to use headsets made by Apple, Samsung, HTC, and others. You can buy a 3.5 mm headset adapter that reverses the microphone and ground pins to avoid this problem. For more information, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=812607" title="[Unagi] No microphone output through headphones when connected to a call">bug 812607</a>.</p>
 <h3 id="Other_support_notes">Other support notes</h3>

+ 1 - 1
files/bn/archive/b2g_os/platform/gonk/index.html

@@ -5,7 +5,7 @@ tags:
   - NeedsReview
 translation_of: Archive/B2G_OS/Platform/Gonk
 ---
-<p></p><div class="blockIndicator draft">
+<p></p><div class="draft notecard">
     <p><strong>Draft</strong><br>
     This page is not complete.</p>
 

+ 25 - 25
files/bn/archive/b2g_os/preparing_for_your_first_b2g_build/index.html

@@ -22,13 +22,13 @@ translation_of: Archive/B2G_OS/Preparing_for_your_first_B2G_build
 <pre>cd B2G
 </pre>
 <h2 id="আপনার_ডিভাইসের_জন্য_B2G_কনফিগার_করা">আপনার ডিভাইসের জন্য B2G কনফিগার করা</h2>
-<div class="warning">
- <strong>Important</strong>: Remember that only devices running <strong>Android 4.0.4</strong> (<strong>Ice Cream Sandwich</strong>)<strong>, 4.3 (Jelly Bean) and 4.4 (KitKat)</strong> and platforms based around it are supported (current Firefox OS devices are). Please check that your phone is actually running one of those supported versions, otherwise this step will most likely fail since some drivers are pulled from non-Nexus devices. Also, if you have to flash your device with the matching stock release. Keep in mind that some USB hubs don't work well with flashing tools, so you may have to connect your device to a built-in USB port.</div>
-<div class="warning">
+<div class="warning notecard">
+ <strong>Important</strong>: Remember that only devices running <strong>Android 4.0.4</strong> (<strong>Ice Cream Sandwich</strong>)<strong>, 4.3 (Jelly Bean) and 4.4 (KitKat)</strong> and platforms based around it are supported (current Firefox OS devices are). Please check that your phone is actually running one of those supported versions, otherwise this step will most likely fail since some drivers are pulled from non-Nexus devices. Also, if you have to flash your device with the matching stock release. Keep in mind that some USB hubs don&apos;t work well with flashing tools, so you may have to connect your device to a built-in USB port.</div>
+<div class="warning notecard">
  <strong>Important</strong>: if you are doing the build on Ubuntu 12.10+ or Fedora, you will need to specify GCC 4.6 as the default host compiler after having retrieved the B2G sources, for the process to work (these distros use GCC 4.7 by default). Read <a class="vt-p" href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">Changing the default host compiler</a> to find out how to do it.</div>
 <div class="note">
  <strong>Note:</strong> <strong>please read all the instructions below</strong> before running any of the build process commands, to make sure you are doing the right thing for you!</div>
-<p>Once you've retrieved the core B2G build system, you need to configure it for the device on which you plan to install it. To get a list of supported devices, you can use the <code>config.sh</code> utility — run the following command from within the B2G directory:</p>
+<p>Once you&apos;ve retrieved the core B2G build system, you need to configure it for the device on which you plan to install it. To get a list of supported devices, you can use the <code>config.sh</code> utility — run the following command from within the B2G directory:</p>
 <pre>./config.sh
 </pre>
 <p>This will display a list of the supported devices, like so:</p>
@@ -41,7 +41,7 @@ Valid devices to configure are:
 - nexus-4
 - nexus-s
 - nexus-s-4g
-- flo "(Nexus 7 2013)"
+- flo &quot;(Nexus 7 2013)&quot;
 - flame
 - otoro
 - unagi
@@ -62,43 +62,43 @@ Valid devices to configure are:
 - emulator-x86-jb
 - emulator-x86-kk
 </pre>
-<p>If your device isn't listed, you should stop right now and either help port B2G to your device or wait until someone else does it. We'd prefer it if you help out!</p>
+<p>If your device isn&apos;t listed, you should stop right now and either help port B2G to your device or wait until someone else does it. We&apos;d prefer it if you help out!</p>
 <div class="note">
  <strong>Note:</strong> You can find the device name of your phone on the <a href="/en-US/Firefox_OS/Phones">Firefox OS Phones</a> page.</div>
 <div class="note">
- <strong>Note: Configuring and building B2G for Keon on a Mac DOESN'T WORK</strong>. You'll need to use Linux when building for this device.</div>
+ <strong>Note: Configuring and building B2G for Keon on a Mac DOESN&apos;T WORK</strong>. You&apos;ll need to use Linux when building for this device.</div>
 <div class="note">
  <strong>Note</strong>: If for any reason you want to build against a specific version of Gecko, see <a href="#Building_against_a_custom_Gecko">Building against a custom Gecko</a> before you proceed. If you want to build a branch other than the the default for your device (for example, to build a specific version of B2G), see <a href="#Building_a_branch">Building a branch</a>. Note: the default branch varies by device and is <strong>not necessarily trunk</strong>.</div>
-<p>This would be a good time for a coffee break, since at this point, you'll be doing your first pull of all the code needed to build Boot to Gecko. Running the device config step as indicated below can take a long time; you may stop it with Ctrl-C and restart it at a later time. If you think some part of the process may have been terminated without completing, run './repo sync' to repair any possible problems.</p>
+<p>This would be a good time for a coffee break, since at this point, you&apos;ll be doing your first pull of all the code needed to build Boot to Gecko. Running the device config step as indicated below can take a long time; you may stop it with Ctrl-C and restart it at a later time. If you think some part of the process may have been terminated without completing, run &apos;./repo sync&apos; to repair any possible problems.</p>
 <h3 id="মোবাইল_ডিভাইসের_জন্য_B2G_বিল্ড_কনফিগার_করা">মোবাইল ডিভাইসের জন্য B2G বিল্ড কনফিগার করা</h3>
 <p>At this point, connect your device if it is not already connected; the configure process will need to access it.</p>
-<p>If your device was listed in the results shown above, you can start the configure process by running <code>config.sh</code> again, this time specifying your device's name. For example, to build for the Samsung Google Nexus S, you would type:</p>
+<p>If your device was listed in the results shown above, you can start the configure process by running <code>config.sh</code> again, this time specifying your device&apos;s name. For example, to build for the Samsung Google Nexus S, you would type:</p>
 <pre>./config.sh nexus-s
 </pre>
 <div class="note">
- <strong>Note:</strong> If you get an error message like <code>fatal: manifest 'nexus-s.xml' not available</code>, chances are that you simply have to specify the branch you want to use. See <a href="#Building_a_branch">Building a branch</a> for details.</div>
+ <strong>Note:</strong> If you get an error message like <code>fatal: manifest &apos;nexus-s.xml&apos; not available</code>, chances are that you simply have to specify the branch you want to use. See <a href="#Building_a_branch">Building a branch</a> for details.</div>
 <div class="note">
- <strong>Note</strong>: If the config step fails with an error message like <code>error: manifest required for this command -- please run init</code>, then changes are that the manifest file for the repo (located at <code>B2G/.repo/manifest.xml</code>) wasn't created successfully. You should try running <code>config.sh</code> again. If you are doing this for a new device you could add it to <code>config.sh</code> and then hand it your local manifest file like so:<br>
+ <strong>Note</strong>: If the config step fails with an error message like <code>error: manifest required for this command -- please run init</code>, then changes are that the manifest file for the repo (located at <code>B2G/.repo/manifest.xml</code>) wasn&apos;t created successfully. You should try running <code>config.sh</code> again. If you are doing this for a new device you could add it to <code>config.sh</code> and then hand it your local manifest file like so:<br>
  <code>./config.sh &lt;device&gt; -m path/to/manifest.</code></div>
-<p>Near the start of the configuration you might need to set the option for color usage, then after this the process continues. You can just select 'y' here, as you probably want a color build.</p>
+<p>Near the start of the configuration you might need to set the option for color usage, then after this the process continues. You can just select &apos;y&apos; here, as you probably want a color build.</p>
 <h3 id="একটি_সিস্টেম_ব্যাকাপ_ব্যবহার_করে_একটি_বিল্ড_কনফিগার_করা">একটি সিস্টেম ব্যাকাপ ব্যবহার করে একটি বিল্ড কনফিগার করা</h3>
-<p>If your phone no longer has Android on it, and your B2G tree doesn't have the binary blobs in it, but you wisely <a class="vt-p" href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition" title="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">made a backup of the <code>/system</code> partition</a>, you can perform the build on the system backup like this:</p>
+<p>If your phone no longer has Android on it, and your B2G tree doesn&apos;t have the binary blobs in it, but you wisely <a class="vt-p" href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition" title="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">made a backup of the <code>/system</code> partition</a>, you can perform the build on the system backup like this:</p>
 <pre>ANDROIDFS_DIR=&lt;absolute path to parent dir of system dir&gt; ./config.sh &lt;target&gt;
 </pre>
-<p>The build system will default to looking in someplace like <code>backup-inari/system</code> (depending on the device configuration); if you place the files in the expected place you won't need to specify the directory.</p>
-<p>Note that if your phone always had Firefox OS on it to begin with and never ran Android, it's still fine to pull the <code>/system</code> partition per the above directions — this will give you the right files.</p>
+<p>The build system will default to looking in someplace like <code>backup-inari/system</code> (depending on the device configuration); if you place the files in the expected place you won&apos;t need to specify the directory.</p>
+<p>Note that if your phone always had Firefox OS on it to begin with and never ran Android, it&apos;s still fine to pull the <code>/system</code> partition per the above directions — this will give you the right files.</p>
 <h3 id="একটি_ইমুলেটরের_জন্য_B2G_বিল্ড_কনফিগার_করা">একটি ইমুলেটরের জন্য B2G বিল্ড কনফিগার করা</h3>
 <p>If you want to build an emulator rather than on a real phone, you can specify <code>emulator</code> to get the ARM device emulator, or <code>emulator-x86</code> to build the x86 emulator. The latter is faster but not as accurate a representation of an actual mobile device and not as well supported; using it is not advised.</p>
 <p>So, to build the ARM emulator, you would use the following command:</p>
 <pre>./config.sh emulator
 </pre>
-<p>Near the start of the configuration you might need to set the option for color usage, then after this the process continues. You can just select 'y' here, as you probabaly want a color build.</p>
+<p>Near the start of the configuration you might need to set the option for color usage, then after this the process continues. You can just select &apos;y&apos; here, as you probabaly want a color build.</p>
 <p>By this point you should be ready to <a class="vt-p" href="/en-US/docs/Mozilla/Firefox_OS/Building" title="Mozilla/Firefox_OS/Building">start the build</a>, unless you need any of the more advanced information detailed below.</p>
 <p>Beware that building for the emulator may fail on 64-bit Linux.</p>
 <div class="note">
- <strong>Note:</strong> Developers on Mac OS X 10.9 or above have to switch to emulator-jb or emulator-kk instead, because AOSP ICS based emulator can't be built on Mac OS X 10.9. See <a class="vt-p" href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Requirements_for_Mac_OS_X" title="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Requirements_for_Mac_OS_X">Requirements for Mac OS X</a> for further information.</div>
-<h2 id="কাস্টম_Geckoর_বিপরীতে_বিল্ড_করা">কাস্টম Gecko'র বিপরীতে বিল্ড করা</h2>
-<p>There may be times that you want or need to build Boot to Gecko based on a different version of Gecko than the one that's used by default (as specified in the manifest). You can do so by editing the file <code>.userconfig</code>. For example, if you want to build against mozilla-central:</p>
+ <strong>Note:</strong> Developers on Mac OS X 10.9 or above have to switch to emulator-jb or emulator-kk instead, because AOSP ICS based emulator can&apos;t be built on Mac OS X 10.9. See <a class="vt-p" href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Requirements_for_Mac_OS_X" title="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Requirements_for_Mac_OS_X">Requirements for Mac OS X</a> for further information.</div>
+<h2 id="কাস্টম_Geckoর_বিপরীতে_বিল্ড_করা">কাস্টম Gecko&apos;র বিপরীতে বিল্ড করা</h2>
+<p>There may be times that you want or need to build Boot to Gecko based on a different version of Gecko than the one that&apos;s used by default (as specified in the manifest). You can do so by editing the file <code>.userconfig</code>. For example, if you want to build against mozilla-central:</p>
 <pre>export GECKO_PATH=/path/to/mozilla-central
 export GECKO_OBJDIR=/path/to/mozilla-central/objdir-gonk
 </pre>
@@ -109,26 +109,26 @@ export GECKO_OBJDIR=/path/to/mozilla-central/objdir-gonk
 <p id="Building_a_branch">Note that you can do this either before you pull the repository (i.e. before the <code>config.sh</code> step above) or at any later point.  You can also keep multiple builds (with debugging on or not, etc) by having multiple userconfig files (with different settings--each needs a different OBJDIR, of course) and making .userconfig a symlink that points to whichever config you want to build at the moment.</p>
 <p>For more information, read <a class="vt-p" href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file#Changing_the_Gecko_source_tree" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file#Changing_the_Gecko_source_tree">Changing the Gecko source tree</a>.</p>
 <h2 id="ব্রাঞ্চ_তৈরি_করা">ব্রাঞ্চ তৈরি করা</h2>
-<p>If you want to build for a branch other than the default branch (<strong>note: the default branch may not be "master"!</strong>), you will need to prefix your call to config.sh with a branch name, like this:</p>
+<p>If you want to build for a branch other than the default branch (<strong>note: the default branch may not be &quot;master&quot;!</strong>), you will need to prefix your call to config.sh with a branch name, like this:</p>
 <pre>BRANCH=branch-name ./config.sh &lt;device&gt;</pre>
-<p>The branch names are pretty logical, and largely follow the names of the products/versions, so <code>v1-train</code>, <code>v1.0.0</code>, <code>v1.0.1</code>, <code>v1.1</code>, <code>v1.1.0hd</code>, <code>v1.2, v1.3, v1.4</code>  and so on into the future. As an example, to build B2G Firefox 1.2, for the Arm emulator, you'd enter</p>
+<p>The branch names are pretty logical, and largely follow the names of the products/versions, so <code>v1-train</code>, <code>v1.0.0</code>, <code>v1.0.1</code>, <code>v1.1</code>, <code>v1.1.0hd</code>, <code>v1.2, v1.3, v1.4</code>  and so on into the future. As an example, to build B2G Firefox 1.2, for the Arm emulator, you&apos;d enter</p>
 <pre>BRANCH=v1.2 ./config.sh emulator</pre>
-<p>If you have run config.sh already, you can see the names of the branches, by going to <code>B2G/.repo/manifests</code> and doing "<code>git branch -a</code>" (this isn't populated unti then.) <strong>The branch name is given as the final token on the line, e.g. "<code>v1-train</code>" or "<code>master</code>"</strong>:</p>
+<p>If you have run config.sh already, you can see the names of the branches, by going to <code>B2G/.repo/manifests</code> and doing &quot;<code>git branch -a</code>&quot; (this isn&apos;t populated unti then.) <strong>The branch name is given as the final token on the line, e.g. &quot;<code>v1-train</code>&quot; or &quot;<code>master</code>&quot;</strong>:</p>
 <pre>  remotes/origin/master
   remotes/origin/v1-train
   remotes/origin/v1.0.0
   remotes/origin/v1.0.1</pre>
 <p>See <a class="vt-p" href="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file" title="Mozilla/Firefox_OS/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a> for additional customizations you can do.</p>
 <h2 id="আপনার_B2G_নতুন_মেশিনে_কপি_করা">আপনার B2G নতুন মেশিনে কপি করা</h2>
-<p>If you've previously set up the B2G tree and then gotten a new computer (lucky you!), you'll find your life will be much easier if you simply migrate your entire B2G tree from your old computer to your new one, rather than setting the whole thing up again. To do that, mount your old computer's drive onto your new computer, then do this:</p>
+<p>If you&apos;ve previously set up the B2G tree and then gotten a new computer (lucky you!), you&apos;ll find your life will be much easier if you simply migrate your entire B2G tree from your old computer to your new one, rather than setting the whole thing up again. To do that, mount your old computer&apos;s drive onto your new computer, then do this:</p>
 <pre>rsync -a <em>source</em>/ <em>dest</em>/
 </pre>
 <p>Where <code>source</code> is the full path (including the trailing slash) of the source tree, and <code>dest</code> is where you want to put it (the trailing slash is also important!).</p>
 <div class="note">
- <strong>Note:</strong> If you copy the files from a computer with another platform ensure to run '<em>./build.sh clean'</em> before you start the build process. If you don't do this you might encounter compilation issues.</div>
+ <strong>Note:</strong> If you copy the files from a computer with another platform ensure to run &apos;<em>./build.sh clean&apos;</em> before you start the build process. If you don&apos;t do this you might encounter compilation issues.</div>
 <p>If you do this, you can skip all of the rest of this article and move right on to <a class="vt-p" href="/en-US/docs/Mozilla/Firefox_OS/Building" title="Mozilla/Firefox_OS/Building">building</a>.</p>
 <h2 id="আপনার_B2G_আপডেট_করা">আপনার B2G আপডেট করা</h2>
-<p>When the repository is updated to a newer version of B2G, you'll want to update your B2G tree. To do this, you can run the following commands:</p>
+<p>When the repository is updated to a newer version of B2G, you&apos;ll want to update your B2G tree. To do this, you can run the following commands:</p>
 <pre>git fetch origin
 git checkout origin/master</pre>
 <p>You can check that these worked correctly by running:</p>

+ 13 - 13
files/bn/archive/b2g_os/security/debugging_and_security_testing/index.html

@@ -4,7 +4,7 @@ slug: Archive/B2G_OS/Security/Debugging_and_security_testing
 translation_of: Archive/B2G_OS/Debugging/Debugging_and_security_testing
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a href="/bn-BD/docs/Mozilla/Firefox_OS/Security/Intercepting_traffic_using_a_proxy">Next  »</a></p>
+    <p><a href="/bn-BD/docs/Mozilla/Firefox_OS/Security/Intercepting_traffic_using_a_proxy" class="button">Next  »</a></p>
 </div><p></p>
 <div class="summary">
  <p>এই গাইডটির লক্ষ্য হল <span lang="bn" id="result_box"><span class="hps">নিরাপত্তা</span> <span class="hps">পরীক্ষকগণদের প্রতি যারা ফায়ারফক্স ওএস পরীক্ষা শুরু করতে যাচ্ছে</span></span> ; এইটি সাহায্য করবে <span lang="bn" id="result_box"><span class="hps">সম্প্রদায়ের সদস্যদেরকে</span></span> <span lang="bn" id="result_box"> <span class="hps">অ্যাপ্লিকেশন নিরীক্ষা করতে এবং</span> <span class="hps">ফায়ারফক্স</span> <span class="hps">ওএস</span> <span class="hps">প্লাটফর্ম <span lang="bn" id="result_box"><span class="hps">নিজেই</span> <span class="hps">সাহায্য করবে</span></span> ।</span></span> যদি আপনি পূর্বে এটি না করে থাকেন তাহলে <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Security_model" title="/en-US/docs/Mozilla/Firefox_OS/Security/Security_model">Firefox OS security overview </a>পড়ার মাধ্যমে শুরু করে দিতে পারেন; তাহলে এটি <span lang="bn" id="result_box"><span class="hps">পরিভাষা</span> <span class="hps">এবং</span> <span class="hps">আর্কিটেকচারের</span> <span class="hps">মধ্যে</span> <span class="hps">একটি মৌলিক</span> <span class="hps">ব্যাকগ্রাউন্ড</span> <span class="hps">প্রদান করবে ।</span></span></p>
@@ -54,7 +54,7 @@ cd b2g
   <div style="zoom: 1;" dir="ltr">
    <span lang="bn" id="result_box"><span class="hps">টীকা</span><span>:</span> <span class="hps">যেহেতু আপনি নাইটলি বিল্ড ব্যবহার করছেন</span><span>,</span> <span class="hps">আপনার</span></span>  b2g প্রোফাইল এ (just like in the Firefox browser, all user settings are stored within a profile) <span lang="bn" id="result_box"><span class="hps">ইতিমধ্যে</span></span>  Marionette, <span lang="bn" id="result_box"><span class="hps">লাইনের মাধ্যমে</span> <span class="hps">সক্রিয়</span> <span class="hps">হওয়া উচিত ছিল ।</span></span></div>
   <div style="zoom: 1;" dir="ltr">
-   <code>user_pref("marionette.defaultPrefs.enabled", true);</code> in <code>gaia/profile/<code>prefs.js</code></code>. যদি না হয় তাহলে আপনি ভুল বিল্ড <span lang="bn" class="short_text" id="result_box"><span class="hps">ব্যবহার করছেন</span></span>  ।</div>
+   <code>user_pref(&quot;marionette.defaultPrefs.enabled&quot;, true);</code> in <code>gaia/profile/<code>prefs.js</code></code>. যদি না হয় তাহলে আপনি ভুল বিল্ড <span lang="bn" class="short_text" id="result_box"><span class="hps">ব্যবহার করছেন</span></span>  ।</div>
  </div>
 </div>
 <p><span lang="bn" class="short_text" id="result_box"><span class="hps">এই মুহুর্তে</span></span>, <span lang="bn" class="short_text" id="result_box"><span class="hps">আপনি চিন্তা করতে পারেন</span></span> <span lang="bn" class="short_text" id="result_box"><span class="hps">পাইথন</span> <span class="hps">কনসোল</span> স্পিনিং আপ করতে</span>,<span lang="bn" class="short_text" id="result_box"><span> marionette ক্লায়েন্ট</span> <span class="hps">লাইব্রেরী</span> <span class="hps">ইম্পোর্ট</span></span> করা এবং ডিবাগিং সেশন তৈরি করা , কিন্তু আমরা অন্য কিছু করতে পারি: <span lang="bn" id="result_box"><span class="hps">স্টিফান</span> <span class="hps">আরেন্টেজ</span> <span class="hps">একটি সহজ</span> <span class="hps">জাভাস্ক্রিপ্ট</span> <span class="hps">কনসোল</span> <span class="hps">তৈরি করেছেন</span></span> যেটি marionette <span lang="bn" class="short_text" id="result_box"><span>ক্লায়েন্ট</span> <span class="hps">লাইব্রেরীর</span> <span class="hps">উপরে</span> <span class="hps">রানকরে ।</span></span> <span lang="bn" class="short_text" id="result_box"><span class="hps">সুতরাং,</span> <span class="hps">এর</span> <span class="hps">জন্য ডাউনলোড</span> <span class="hps">করা যাক</span></span> <a href="https://raw.github.com/st3fan/fxos-repl/master/fxos-repl.py">fxos-repl.py</a> ।</p>
@@ -67,23 +67,23 @@ app://keyboard.gaiamobile.org/index.html</pre>
 <pre class="brush: bash">$ <strong>python fxos-reply.py connect app://browser.gaiamobile.org/index.html</strong>
 Connected to app://browser.gaiamobile.org/index.html</pre>
 <p>API টি<a href="/bn-BD/docs/Web/API/Document/querySelector" title="The documentation about this has not yet been written; please consider contributing!"><code>document.querySelector()</code></a> ব্যবহার করে <a href="/bn-BD/docs/Web/HTML/Element/menu" title="The documentation about this has not yet been written; please consider contributing!"><code>&lt;menu&gt;</code></a> ট্যাগটি  আইডি <code>toolbar-start সহ খুঁজে বের করতে হবে</code>, এবং  এটির HTML টি দেখতে পারব  :</p>
-<pre class="brush: bash">&gt;&gt;&gt; <strong>document.querySelector("menu#toolbar-start").outerHTML</strong>
-&lt;menu type="toolbar" id="toolbar-start"&gt;
-        &lt;form id="url-bar" novalidate=""&gt;
-          &lt;input id="ssl-indicator" value="" type="image"&gt;
-          &lt;input id="url-input" placeholder="Enter search or address" data-l10n-id="enter-search-or-address" x-inputmode="verbatim" type="text"&gt;
-          &lt;input style="background-image: url(&amp;quot;style/images/go.png&amp;quot;);" id="url-button" value="" type="image"&gt;
+<pre class="brush: bash">&gt;&gt;&gt; <strong>document.querySelector(&quot;menu#toolbar-start&quot;).outerHTML</strong>
+&lt;menu type=&quot;toolbar&quot; id=&quot;toolbar-start&quot;&gt;
+        &lt;form id=&quot;url-bar&quot; novalidate=&quot;&quot;&gt;
+          &lt;input id=&quot;ssl-indicator&quot; value=&quot;&quot; type=&quot;image&quot;&gt;
+          &lt;input id=&quot;url-input&quot; placeholder=&quot;Enter search or address&quot; data-l10n-id=&quot;enter-search-or-address&quot; x-inputmode=&quot;verbatim&quot; type=&quot;text&quot;&gt;
+          &lt;input style=&quot;background-image: url(&amp;quot;style/images/go.png&amp;quot;);&quot; id=&quot;url-button&quot; value=&quot;&quot; type=&quot;image&quot;&gt;
         &lt;/form&gt;
-        &lt;span id="tabs-badge"&gt;1&lt;span id="more-tabs"&gt;›&lt;/span&gt;&lt;/span&gt;
-        &lt;button id="awesomescreen-cancel-button"&gt;&lt;/button&gt;
-        &lt;div id="throbber"&gt;&lt;/div&gt;
+        &lt;span id=&quot;tabs-badge&quot;&gt;1&lt;span id=&quot;more-tabs&quot;&gt;›&lt;/span&gt;&lt;/span&gt;
+        &lt;button id=&quot;awesomescreen-cancel-button&quot;&gt;&lt;/button&gt;
+        &lt;div id=&quot;throbber&quot;&gt;&lt;/div&gt;
       &lt;/menu&gt;</pre>
 <p>এটি আপনার কাছে পরিচিত লাগছে? এটি আক্তি টুল বার যেটির মধ্যে অ্যাড্রেস বার এবং নতুন ট্যাব বার আছে ।</p>
 <p>এখন শেলটি ব্যবহার করে  কিল্ক করে নতুন ট্যাব বোতাম এ যাওয়া যাক । এইটির আইডি হল  <code>tabs-badge</code> ।</p>
-<pre class="brush: bash">&gt;&gt;&gt; <strong>document.querySelector("#tabs-badge").click()</strong></pre>
+<pre class="brush: bash">&gt;&gt;&gt; <strong>document.querySelector(&quot;#tabs-badge&quot;).click()</strong></pre>
 <p><span lang="bn" class="short_text" id="result_box"><span class="hps">নতুন</span> <span class="hps">ট্যাব</span> <span class="hps">ইউআই</span> <span class="hps">এখন</span> <span class="hps">দেখাবে ।</span></span> <span lang="bn" class="short_text" id="result_box"><span class="hps">অন্য কিছু</span> <span class="hps">চেষ্টা করা যাক </span></span>:</p>
 <pre class="brush: bash">&gt;&gt;&gt; <strong>alert(location.href)</strong></pre>
 <p><span lang="bn" class="short_text" id="result_box"><span class="hps">এখন</span> <span class="hps">খেলুন !</span></span></p>
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a href="/bn-BD/docs/Mozilla/Firefox_OS/Security/Intercepting_traffic_using_a_proxy">Next  »</a></p>
+    <p><a href="/bn-BD/docs/Mozilla/Firefox_OS/Security/Intercepting_traffic_using_a_proxy" class="button">Next  »</a></p>
 </div><p></p>

+ 24 - 24
files/bn/archive/b2g_os/security/intercepting_traffic_using_a_proxy/index.html

@@ -6,7 +6,7 @@ tags:
 translation_of: Archive/B2G_OS/Debugging/Intercepting_traffic_using_a_proxy
 ---
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Security/Debugging_and_security_testing">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Apps/Testing_in_a_privileged_context">Next  »</a></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Security/Debugging_and_security_testing" class="button">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Apps/Testing_in_a_privileged_context" class="button">Next  »</a></p>
 </div><p></p>
 <div class="summary">
  <p><span class="seoSummary"><span style="line-height: 1.5;">ডিবাগিং এবং সিক্যুরিটি পরীক্ষা সম্পর্কিত নিবন্ধের এই অংশে আমরা দেখব, প্রক্সির SSL সার্টিফিকেট সাদাতালিকাভুক্ত করা সহ প্রক্সি ব্যাবহার করে ফায়ারফক্স ওএস ট্রাফিককে বাধাদান করা (B2G ডেস্কটপ ও ডিভাইসে), যাতে করে যে কেও ফায়ারফক্স ওএস এর মাধ্যমে HTTPS যোগাযোগে বাধাদান বা রি-এনক্রিপ্ট করতে পারে । আপনি যদি B2G ডেস্কটপ ব্যাবহার করে থাকেন, তাহলে এটি ইন্সটল করা ও ম্যারিওনেট জাভাস্ক্রিপ্ট ডিবাগিং শেল যুক্ত করার পদ্ধতি</span></span> <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Debugging_and_security_testing" title="/en-US/docs/Mozilla/Firefox_OS/Security/Debugging_and_security_testing">Debugging and security testing with Firefox OS</a> <span style="line-height: 1.5;">–এ বর্ণিত আছে ।</span></p>
@@ -14,11 +14,11 @@ translation_of: Archive/B2G_OS/Debugging/Intercepting_traffic_using_a_proxy
 <p><span style="line-height: 1.5;">এইচটিএমএল ও জাভাস্ক্রিপ্ট নির্মিত অ্যাপ নিয়ে কাজ করতে গেলে আপনি লক্ষ্য করবেন যে, তথ্য আদান-প্রদানের কাজে ব্যবহৃত API সহ অনেক আকর্ষণীয় কাজ সেখানে আছে । তার মানে, এই অ্যাপগুলো যে HTTP অনুরোধ সম্পাদন করে, সেগুলো লক্ষ্য করা বেশিরভাগ সময়ই গুরুত্বপূর্ণ ।</span></p>
 <h2 id="ZAP_পরিচিতি">ZAP <strong>পরিচিতি</strong></h2>
 <p>ZAP দিয়েই শুরু করা যাক । ZAP হল একটি বাধাদানকারী প্রক্সি, যা সহজে ডিবাগিংএর জন্য HTTPS ট্রাফিককে বাধা দেয় এবং পুনরায় এনক্রিপ্ট করে । এটি ডাউনলোডের জন্য <a style="line-height: 1.5;" href="https://www.owasp.org/index.php/ZAP" title="https://www.owasp.org/index.php/ZAP">ZAP homepage</a> <span style="line-height: 1.5;">এর উপরের বড় নীল বাটনটি ক্লিক করুন । আপনি যদি আরেকটি প্রক্সি ব্যাবহার করতে চান (যেমন </span><a style="line-height: 1.5;" href="http://portswigger.net/burp/proxy.html" title="http://portswigger.net/burp/proxy.html">Burp Proxy</a><span style="line-height: 1.5;">), করতে পারেন ; কারণ পদ্ধতিটি দুইক্ষেত্রেই কাজ করবে ।</span></p>
-<h4 id="ZAP_সার্টিফিকেট"><span style="font-family: 'Open Sans', sans-serif; font-size: 14px; line-height: 1.5;">ZAP সার্টিফিকেট</span></h4>
+<h4 id="ZAP_সার্টিফিকেট"><span style="font-family: &apos;Open Sans&apos;, sans-serif; font-size: 14px; line-height: 1.5;">ZAP সার্টিফিকেট</span></h4>
 <p><span style="line-height: 1.5;">এখন, আপনি যে প্রক্সিই ব্যাবহার করুন না কেন, এটির সার্টিফিকেটটি একটি ফাইলে এক্সপোর্ট করুন এভাবে</span> <code>owasp_zap_root_ca.cer (go in <em>Tools &gt; Options &gt; Dynamic SSL Certificates &gt; Save</em>)।</code> যখন ZAP প্রথম চালু হবে, এটি একটি একবছর মেয়াদী সার্টিফিকেট তৈরি করে । আপনি Dynamic SSL Certificates অংশ থেকেও নতুন একটি তৈরি করতে পারেন ।</p>
 <h4 id="sect1"> </h4>
 <p>লোকাল প্রক্সি</p>
-<p><span style="line-height: 1.5;">আপনি যদি B2G  ডেস্কটপ ব্যাবহারকারি হয়ে থাকেন, তাহলে ZAP যেন localhost অনুসরণ না করে আপনার নির্দিষ্ট বৈশিষ্ট্যের IP অ্যাড্রেস (ইথারনেট বা ওয়াই-ফাই) অনুসরণ করে, এটি আপনাকে নিশ্চিত করতে হবে । কারণ, B2G ডেস্কটপের </span><span style="font-family: 'Courier New', 'Andale Mono', monospace;">localhost</span><span style="line-height: 1.5;"> আপনার ডেস্কটপ কম্পিউটারটিকে নির্দেশ করে না, বরং B2G বাইনারির নিজস্ব কোন কিছুকে নির্দেশ করে । উদাহরণস্বরূপ, আমরা আমাদের IP হিসেবে </span><span style="font-family: 'Courier New', 'Andale Mono', monospace; line-height: 1.5;">10.264.1.5</span><span style="line-height: 1.5;"> ব্যাবহার করব ।</span></p>
+<p><span style="line-height: 1.5;">আপনি যদি B2G  ডেস্কটপ ব্যাবহারকারি হয়ে থাকেন, তাহলে ZAP যেন localhost অনুসরণ না করে আপনার নির্দিষ্ট বৈশিষ্ট্যের IP অ্যাড্রেস (ইথারনেট বা ওয়াই-ফাই) অনুসরণ করে, এটি আপনাকে নিশ্চিত করতে হবে । কারণ, B2G ডেস্কটপের </span><span style="font-family: &apos;Courier New&apos;, &apos;Andale Mono&apos;, monospace;">localhost</span><span style="line-height: 1.5;"> আপনার ডেস্কটপ কম্পিউটারটিকে নির্দেশ করে না, বরং B2G বাইনারির নিজস্ব কোন কিছুকে নির্দেশ করে । উদাহরণস্বরূপ, আমরা আমাদের IP হিসেবে </span><span style="font-family: &apos;Courier New&apos;, &apos;Andale Mono&apos;, monospace; line-height: 1.5;">10.264.1.5</span><span style="line-height: 1.5;"> ব্যাবহার করব ।</span></p>
 <p><span style="line-height: 1.5;">আপনি যদি একটি প্রকৃত ডিভাইস নিয়ে কাজ করেন, তাহলে আপনার ফোন এবং কম্পিউটার যেন একই নেটওয়ার্কে/VLAN-এ যুক্ত থাকে এবং নিজেদের মধ্যে যোগাযোগ রাখতে পারে, সেটি নিশ্চিত করতে হবে (সন্দেহ হলে একটি ডিভাইসের IP অন্য ডিভাইস থেকে পিং করার চেষ্টা করতে পারেন) ।</span></p>
 <h2 id="sect2"> </h2>
 <p>সার্টিফিকেট ডেটাবেইজ তৈরি</p>
@@ -36,10 +36,10 @@ translation_of: Archive/B2G_OS/Debugging/Intercepting_traffic_using_a_proxy
    </li>
   </ul>
  </li>
- <li>এবার “zapped.” নামে একটি প্রোফাইল তৈরি করুন । সার্টিফিকেট সেটিংসে যান - <em>Edit &gt; Preferences &gt; Advanced &gt; Encryption &gt; View Certificates &gt; Import</em>। আপনার প্রক্সি দিয়ে তৈরিকৃত <span style="font-family: 'Courier New', 'Andale Mono', monospace;">owasp_zap_root_ca.cer</span> ফাইলটি সিলেক্ট করুন এবং ফায়ারফক্স যেন ওয়েবসাইট শনাক্তের কাজে এই CA কে ট্রাস্ট করে, সেই নির্দেশ দিন (এটি সত্যিকার অর্থেই শুধু এই প্রোফাইলের জন্য বৈধ) ।</li>
+ <li>এবার “zapped.” নামে একটি প্রোফাইল তৈরি করুন । সার্টিফিকেট সেটিংসে যান - <em>Edit &gt; Preferences &gt; Advanced &gt; Encryption &gt; View Certificates &gt; Import</em>। আপনার প্রক্সি দিয়ে তৈরিকৃত <span style="font-family: &apos;Courier New&apos;, &apos;Andale Mono&apos;, monospace;">owasp_zap_root_ca.cer</span> ফাইলটি সিলেক্ট করুন এবং ফায়ারফক্স যেন ওয়েবসাইট শনাক্তের কাজে এই CA কে ট্রাস্ট করে, সেই নির্দেশ দিন (এটি সত্যিকার অর্থেই শুধু এই প্রোফাইলের জন্য বৈধ) ।</li>
  <li>ফায়ারফক্সের মাধ্যমে সার্টিফিকেট ডেটাবেইজ তৈরি হয়ে যাওয়ায় আমরা এই ডেটাবেইজটি এখন B2G প্রোফাইল তৈরির কাজে ব্যবহার করতে পারি । আপনার ফায়ারফক্স প্রোফাইল ডিরেক্টরির নামটি একটি দৈবচয়িত স্ট্রিং, যেটি <em>zapped </em>দিয়ে শেষ হয় । এর লোকেশন অপারেটিং সিস্টেমের উপর নির্ভর করে ; এটি কোথায় পাওয়া যায়, তার বিস্তারিত জানতে <a href="/en-US/docs/Runtime_Directories" title="/en-US/docs/Runtime_Directories">Runtime Directories</a> এ যান ।</li>
  <li><code><strong>B2G ডেস্কটপের</strong> জন্য শুধুমাত্র প্রোফাইলের সার্টিফিকেট ডেটাবেইজ ফাইল cert8.db টি লাগবে । এটিকে B2G প্রোফাইল ডিরেক্টরি b2g/gaia/profile/ তে কপি করুন ।</code></li>
- <li><strong>ডিভাইসে</strong>, <span style="font-family: 'Courier New', 'Andale Mono', monospace;">cert9.db</span> ফাইলটি ডিভাইসের প্রোফাইল ডিরেক্টরিতে কপি করুন ।<br>
+ <li><strong>ডিভাইসে</strong>, <span style="font-family: &apos;Courier New&apos;, &apos;Andale Mono&apos;, monospace;">cert9.db</span> ফাইলটি ডিভাইসের প্রোফাইল ডিরেক্টরিতে কপি করুন ।<br>
   <pre>$ adb shell stop b2g
 $ adb push cert9.db /data/b2g/mozilla/*.default</pre>
  </li>
@@ -53,23 +53,23 @@ $ adb push cert9.db /data/b2g/mozilla/*.default</pre>
 <h3 id="sect4"> </h3>
 <p>B2G ডেস্কটপে</p>
 <p>এই কাস্টম সেটিংস আপনাকে প্রেফারেন্সেস ফাইলে অ্যাপেন্ড করতে হবে , <code>b2g/gaia/profile/prefs.js</code>:</p>
-<pre><code class="brush: bash">user_pref("network.proxy.backup.ftp", "10.264.1.5");
-user_pref("network.proxy.backup.ftp_port", 8080);
-user_pref("network.proxy.backup.socks", "10.264.1.5");
-user_pref("network.proxy.backup.socks_port", 8080);
-user_pref("network.proxy.backup.ssl", "10.264.1.5");
-user_pref("network.proxy.backup.ssl_port", 8080);
-user_pref("network.proxy.ftp", "10.264.1.5");
-user_pref("network.proxy.ftp_port", 8080);
-user_pref("network.proxy.http", "10.264.1.5");
-user_pref("network.proxy.http_port", 8080);
-user_pref("network.proxy.no_proxies_on", "");
-user_pref("network.proxy.share_proxy_settings", true);
-user_pref("network.proxy.socks", "10.264.1.5");
-user_pref("network.proxy.socks_port", 8080);
-user_pref("network.proxy.ssl", "10.264.1.5");
-user_pref("network.proxy.ssl_port", 8080);
-user_pref("network.proxy.type", 1);</code>
+<pre><code class="brush: bash">user_pref(&quot;network.proxy.backup.ftp&quot;, &quot;10.264.1.5&quot;);
+user_pref(&quot;network.proxy.backup.ftp_port&quot;, 8080);
+user_pref(&quot;network.proxy.backup.socks&quot;, &quot;10.264.1.5&quot;);
+user_pref(&quot;network.proxy.backup.socks_port&quot;, 8080);
+user_pref(&quot;network.proxy.backup.ssl&quot;, &quot;10.264.1.5&quot;);
+user_pref(&quot;network.proxy.backup.ssl_port&quot;, 8080);
+user_pref(&quot;network.proxy.ftp&quot;, &quot;10.264.1.5&quot;);
+user_pref(&quot;network.proxy.ftp_port&quot;, 8080);
+user_pref(&quot;network.proxy.http&quot;, &quot;10.264.1.5&quot;);
+user_pref(&quot;network.proxy.http_port&quot;, 8080);
+user_pref(&quot;network.proxy.no_proxies_on&quot;, &quot;&quot;);
+user_pref(&quot;network.proxy.share_proxy_settings&quot;, true);
+user_pref(&quot;network.proxy.socks&quot;, &quot;10.264.1.5&quot;);
+user_pref(&quot;network.proxy.socks_port&quot;, 8080);
+user_pref(&quot;network.proxy.ssl&quot;, &quot;10.264.1.5&quot;);
+user_pref(&quot;network.proxy.ssl_port&quot;, 8080);
+user_pref(&quot;network.proxy.type&quot;, 1);</code>
 </pre>
 <div class="note">
  <p>দ্রষ্টব্য : আমার আইপি অ্যাড্রেস 10.264.1.5 আপনারটি দিয়ে প্রতিস্থাপিত করতে ভুলবেন না, এবং আপনার প্রক্সি যদি 8080 পোর্টে কাজ না করে, আপনাকে এটি ফাইলেও পরিবর্তন করতে হবে ।</p>
@@ -77,7 +77,7 @@ user_pref("network.proxy.type", 1);</code>
 <p>এখন আপনি প্রস্তুত ! B2G ডেস্কটপ পুনরায় চালু করুন এবং পরীক্ষামূলক ব্রাউজিং করুন । ZAP এ নেটওয়ার্ক ট্রাফিক দেখা যাবে ।</p>
 <h3 id="sect5"> </h3>
 <p>ডিভাইসে</p>
-<div class="warning">
+<div class="warning notecard">
  <p>এই পদ্ধতিগুলো ডিভাইসে আর কাজ নাও করতে পারে ।</p>
 </div>
 <p><span style="line-height: 1.5;">আপনাকে</span> /data/b2g/mozilla/*.default ফাইলটি নবায়ন করতে হবে:</p>
@@ -86,5 +86,5 @@ user_pref("network.proxy.type", 1);</code>
 <pre>$ adb push pref.js /data/b2g/mozilla/*.default
 $ adb shell start b2g</pre>
 <p></p><div style="text-align: right;" class="prevnext">
-    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Security/Debugging_and_security_testing">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Apps/Testing_in_a_privileged_context">Next  »</a></p>
+    <p><a style="float: left;" href="/bn-BD/docs/Mozilla/Firefox_OS/Security/Debugging_and_security_testing" class="button">« Previous</a><a href="/bn-BD/docs/Mozilla/Firefox_OS/Apps/Testing_in_a_privileged_context" class="button">Next  »</a></p>
 </div><p></p>

+ 4 - 4
files/bn/archive/b2g_os/ফায়ারফক্স_ওএস_সিমুলেটর_ব্যবহার_করা/index.html

@@ -3,7 +3,7 @@ title: ফায়ারফক্স ওএস সিমুলেটর ব্য
 slug: Archive/B2G_OS/ফায়ারফক্স_ওএস_সিমুলেটর_ব্যবহার_করা
 translation_of: Archive/B2G_OS/Simulator
 ---
-<p>ফায়ারফক্স ওএস সিম্যুলেটর হলো একটি ডেস্কটপে ব্যবহার উপযোগী একটি টুল যা আপনাকে দেবে একটি ফায়ারফক্স ওএস চালিত মুঠোফোনে আপনার অ্যাপটিকে পরীক্ষা করে দেখার অনুভূতি। ফায়ারফক্স মার্কেটপ্লেস এ জমা দানের পূর্বে অ্যাপগুলোকে যাচাই করে নেবার জন্য এটাই সবচাইতে সহজ ও উপযোগী পদ্ধতি। ফায়ারফক্স ওএস সিম্যুলেটরকে পূর্বে "r2d2b2g" নামে ডাকা হতো, কিন্তু ওটা বড্ড খটমটে শোনাত।</p>
+<p>ফায়ারফক্স ওএস সিম্যুলেটর হলো একটি ডেস্কটপে ব্যবহার উপযোগী একটি টুল যা আপনাকে দেবে একটি ফায়ারফক্স ওএস চালিত মুঠোফোনে আপনার অ্যাপটিকে পরীক্ষা করে দেখার অনুভূতি। ফায়ারফক্স মার্কেটপ্লেস এ জমা দানের পূর্বে অ্যাপগুলোকে যাচাই করে নেবার জন্য এটাই সবচাইতে সহজ ও উপযোগী পদ্ধতি। ফায়ারফক্স ওএস সিম্যুলেটরকে পূর্বে &quot;r2d2b2g&quot; নামে ডাকা হতো, কিন্তু ওটা বড্ড খটমটে শোনাত।</p>
 <p>সিম্যুলেটরটিকে ডেস্কটপ ফায়ারফক্সের একটি অ্যাড-অন হিসেবে প্যাকেজ করা আছে। ফায়াফক্স ১৭ এবং  তার পরবর্তী ভার্সনগুলোর যে কোনটিতে আপনি এটা ব্যবহার করতে পারেন।</p>
 <p>যদিওবা ফায়ারফক্স ওএস ডেস্কটপে চালাবার অন্যান্য ব্যবস্থা রয়েছে তবুও অ্যাপ ডেভেলপারদের জন্য এটাই সবচাইতে ভালো আর উপযোগী। যদি আপনি ফায়ারফক্স ওএস এর একজন কোর ওএস প্লাটফর্ম ডেভেলপার হয়ে থাকেন কিংবা অনুবাদক হিসেবে কাজ করেন তো আপনার চাহিদা আরও ভালোভাবে মেটাতে আরো বিভিন্ন টুল রয়েছে। সিম্যুলেটর এ্যাড-অনটিতে অন্তর্ভূক্ত রয়েছে টেস্ট এনভায়রনমেন্টে অ্যাপ যুক্ত করার ব্যবস্থা এবং এটিতে রিমোট ডিবাগিং, ওয়েব কনসোল এবং অন্যান্য ফিচারের সমর্থন রয়েছে। এটাতে আরো আছে একটি দৃশ্যমান হোম বাটন যা আপনি ক্লিক করতে পারেন এবং এটি ইউজার এজেন্ট স্ট্রিংকে ফায়ারফক্স ওএস ডিভাইসে ব্যবহৃত স্ট্রিংয়ের ন্যায় সেট করে। ফলে, একজন অ্যাপ ডেভেলপারকে প্রায় সব ধরণের স্বাচ্ছন্দ্যময় আর উপযোগী পরিবেশই তৈরী করে দেয়া হচ্ছে।</p>
 <h2 id="ফায়ারফক্স_ওএস_সিম্যুলেটর_ইন্সটল_করা">ফায়ারফক্স ওএস সিম্যুলেটর ইন্সটল করা</h2>
@@ -11,7 +11,7 @@ translation_of: Archive/B2G_OS/Simulator
   <li>ফায়ারফক্স ব্রাউজার ব্যবহার করে, এই লিংকটিতে যান: <a href="https://addons.mozilla.org/bn-BD/firefox/addon/firefox-os-simulator/" title="/bn-BD/firefox/addon/firefox-os-simulator/">https://addons.mozilla.org/addon/firefox-os-simulator/</a></li>
   <li><strong>Add to Firefox (ফায়ারফক্সে যুক্ত করুন)</strong> - তে ক্লিক করুন। এটা বেশ বড় আকারের ফাইল। ডাউনলোড করা শেষ হলে স্ক্রিনের নির্দেশনাগুলো অনুসরণ করুন।</li>
 </ol>
-<div class="warning">
+<div class="warning notecard">
   <p>অ্যাড-অনটির আকার বেশ বড় হবার কারনে ইনস্টল করার সময় কিছু সময়ের জন্য ফায়ারফক্স থেমে যেতে পারে এবং আনরেসপন্সিভ স্ক্রিপ্ট (unresponsive script) উইন্ডো দেখাতে পারে। এটার কারন অবশ্য <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=814505" title="https://bugzilla.mozilla.org/show_bug.cgi?id=814505">বাগ ৮১৪৫০৫</a>. যদি এমনটা ঘটে তবে Continue (<em>অবিরত থাকুন)</em> বোতামটি চাপুন, এবং তাতে ফায়ারফক্স অ্যাড-অনটির ইনস্টল করতে থাকবে।</p>
 </div>
 <h2 id="সিম্যুলেটর_চালু_করা">সিম্যুলেটর চালু করা</h2>
@@ -43,11 +43,11 @@ translation_of: Archive/B2G_OS/Simulator
 <p>সিম্যুলেটরে হোস্টেড এ্যাপ (Hosted App) ইন্সটল করতে চাইলে, URL বক্সে এ্যাপটির ম্যানিফেস্টের URL টি লিখুন এবং  <strong>Add Manifest</strong> বাটনে চাপ দিন। এর ফলে এ্যাপটি সিম্যুলেটরে ইন্সটল হবে। আপনার পরীক্ষা করার জন্য নিচে একটি পরীক্ষামূলক আবহাওয়া পূর্বাভাসের এ্যাপের ম্যানিফেস্টের লিংক দেওয়া হল।</p>
 <pre>http://jlongster.github.com/weatherme/manifest.webapp</pre>
 <p>এ্যাপের আইকনটি হোমস্ক্রিনগুলোর যেকোন একটিতে যুক্ত হবে।</p>
-<p>You can also install a plain website in the same way. Just type the website's URL in the box and click <strong>Add URL</strong>, and an icon for the site will be added to a home screen. Autocompletion works if you have the website open in another tab.</p>
+<p>You can also install a plain website in the same way. Just type the website&apos;s URL in the box and click <strong>Add URL</strong>, and an icon for the site will be added to a home screen. Autocompletion works if you have the website open in another tab.</p>
 <p>To install a packaged app in the Simulator, click the <strong>Add Directory</strong> button, then select the mini-manifest of the app on your local filesystem.</p>
 <p>To remove an app from the Simulator, click the <strong>Remove</strong> link for the app in the dashboard. You may have to restart the Simulator to see it gone.</p>
 <h2 id="একটি_অ্যাপ_আপডেট_করা">একটি অ্যাপ আপডেট করা</h2>
-<p>If you are working on an app and need to update it in the Simulator, click the app's Update button in the dashboard. You will have to restart the Simulator. Hosted apps follow the usual rules for Website caching and working with appcache.</p>
+<p>If you are working on an app and need to update it in the Simulator, click the app&apos;s Update button in the dashboard. You will have to restart the Simulator. Hosted apps follow the usual rules for Website caching and working with appcache.</p>
 <h2 id="বাগ_রিপোর্ট_করা">বাগ রিপোর্ট করা</h2>
 <p>মনে রাখবেন এই সিমুলেটরটি একেবারেই নতুন একটি টুল এবং বর্তমানে ডেভেলপমেন্ট পর্যায়ে রয়েছে। যদি আপনি এতে কোনরূপ ত্রুটি / বাগ দেখতে পেলে অনুগ্রহ করে <a href="https://github.com/mozilla/r2d2b2g/issues?state=open" title="https://github.com/mozilla/r2d2b2g/issues?state=open">আমাদেরকে জানিয়ে দিন</a>।</p>
 <h2 id="অতিরিক্ত_তথ্য">অতিরিক্ত তথ্য</h2>

+ 2 - 2
files/bn/archive/mozilla/marketplace/options/index.html

@@ -12,7 +12,7 @@ tags:
   - TopicStub
 translation_of: Archive/Mozilla/Marketplace/Options/Introduction
 ---
-<p>In <a href="/en-US/Marketplace/Options/Introduction">this section</a> you'll discover:</p>
+<p>In <a href="/en-US/Marketplace/Options/Introduction">this section</a> you&apos;ll discover:</p>
 <ul>
  <li>the formats in which you can deliver Open Web Apps ‐ either as a <a href="/en-US/Marketplace/Options/Packaged_apps">packaged</a> or <a href="/en-US/Marketplace/Options/Hosted_apps">hosted</a> app ‐ as well as details on how to <a href="/en-US/Marketplace/Options/Packaged_or_hosted_">make the choice between these formats</a>.</li>
  <li>how the features of <a href="/en-US/Marketplace/Options/Open_web_apps_for_android">Open Web Apps for Android</a> and <a href="/en-US/Marketplace/Options/Open_web_apps_for_desktop">Open Web Apps for Desktop</a> deliver your apps to Android devices and Windows/Mac/Linux PCs.</li>
@@ -20,7 +20,7 @@ translation_of: Archive/Mozilla/Marketplace/Options/Introduction
  <li>your options for <a href="/en-US/Marketplace/Options/Self_publishing">publishing apps yourself</a>, outside Firefox Marketplace.</li>
  <li>how you can <a href="/en-US/Marketplace/Options/Creating_a_store">create your own Marketplace</a>.</li>
 </ul>
-<div class="warning">
+<div class="warning notecard">
  <p>Content in this section is still under development.</p>
 </div>
 <p> </p>

+ 37 - 37
files/bn/archive/mozilla/marketplace/options/self_publishing/index.html

@@ -20,32 +20,32 @@ translation_of: Archive/Mozilla/Marketplace/Options/Self_publishing
  <li>আপনাকে আপনার নিজস্ব উদ্ভাবনী ক্ষতা কাজে লাগাতে হবে , কারণ আপনি ফায়ারফক্স মার্কেটপ্লেসের লিস্টিংয়ের সুবিধাগুলো পাবেন না</li>
 </ul>
 <h2 id="নিজস্ব_ব্যবস্থায়_প্রকাশিত_প্যাকেজ_অ্যাপ">নিজস্ব ব্যবস্থায় প্রকাশিত প্যাকেজ অ্যাপ</h2>
-<p>You can self-publish a Packaged App by hosting its ZIP on a server, along with a mini-manifest. The mini-manifest must be in the same directory as the ZIP and is used to identify the app to the install process. You then create a script to invoke <a href="/bn-BD/docs/Web/API/Apps/installPackage" title="The documentation about this has not yet been written; please consider contributing!"><code>Apps.installPackage</code></a> passing it details of the mini-manifest. Let's look at how to do this in detail:</p>
+<p>You can self-publish a Packaged App by hosting its ZIP on a server, along with a mini-manifest. The mini-manifest must be in the same directory as the ZIP and is used to identify the app to the install process. You then create a script to invoke <a href="/bn-BD/docs/Web/API/Apps/installPackage" title="The documentation about this has not yet been written; please consider contributing!"><code>Apps.installPackage</code></a> passing it details of the mini-manifest. Let&apos;s look at how to do this in detail:</p>
 <ol>
  <li>
-  <p>Zip up your app's contents and give it the name <code>package.zip</code>. This file should contain all the app's resource files, including the (main) <a href="https://developer.mozilla.org/en-US/Apps/Build/Manifest" title="Manifest documentation">manifest</a>.</p>
-  <div class="warning">
-   <p>Caution: Take care when zipping the content you wish to appear in the Packaged App and don't include the directory they are contained in. If you zip up the parent directory, the manifest will end up in the wrong place, and the Packaged App will be invalid.</p>
+  <p>Zip up your app&apos;s contents and give it the name <code>package.zip</code>. This file should contain all the app&apos;s resource files, including the (main) <a href="https://developer.mozilla.org/en-US/Apps/Build/Manifest" title="Manifest documentation">manifest</a>.</p>
+  <div class="warning notecard">
+   <p>Caution: Take care when zipping the content you wish to appear in the Packaged App and don&apos;t include the directory they are contained in. If you zip up the parent directory, the manifest will end up in the wrong place, and the Packaged App will be invalid.</p>
   </div>
  </li>
- <li>Create a file called <code>manifest.webapp</code> and add the content shown below. This file is known as the mini-manifest, because it's a slightly cut-down version of the manifest file that's included in your Packaged App's ZIP file. It's used by <a href="/bn-BD/docs/Web/API/Apps/installPackage" title="The documentation about this has not yet been written; please consider contributing!"><code>Apps.installPackage</code></a> to undertake the installation of your app. For more detailed information on the content, please see <a href="#Mini-manifest_fields">Mini-manifest fields</a> below.
+ <li>Create a file called <code>manifest.webapp</code> and add the content shown below. This file is known as the mini-manifest, because it&apos;s a slightly cut-down version of the manifest file that&apos;s included in your Packaged App&apos;s ZIP file. It&apos;s used by <a href="/bn-BD/docs/Web/API/Apps/installPackage" title="The documentation about this has not yet been written; please consider contributing!"><code>Apps.installPackage</code></a> to undertake the installation of your app. For more detailed information on the content, please see <a href="#Mini-manifest_fields">Mini-manifest fields</a> below.
   <pre class="brush: js">{
-    "name": "My sample app",
-    "package_path" : "<a class="LinkyMobile-ext" href="http://my-server.com/my-app-directory/my-app.zip" title="Linkification: http://my-server.com/my-app-directory/my-app.zip">http://my-server.com/my-app-directory/my-app.zip</a>",
-    "version": "1",
-    "developer": {
-        "name": "A. Developer",
-        "url": "<a class="LinkyMobile-ext" href="http://my-server.com" title="Linkification: http://my-server.com">http://my-server.com</a>"
+    &quot;name&quot;: &quot;My sample app&quot;,
+    &quot;package_path&quot; : &quot;<a class="LinkyMobile-ext" href="http://my-server.com/my-app-directory/my-app.zip" title="Linkification: http://my-server.com/my-app-directory/my-app.zip">http://my-server.com/my-app-directory/my-app.zip</a>&quot;,
+    &quot;version&quot;: &quot;1&quot;,
+    &quot;developer&quot;: {
+        &quot;name&quot;: &quot;A. Developer&quot;,
+        &quot;url&quot;: &quot;<a class="LinkyMobile-ext" href="http://my-server.com" title="Linkification: http://my-server.com">http://my-server.com</a>&quot;
     }
 }</pre>
  </li>
- <li>Create the script that will install your app. Here we're using a simple HTML file named <code>index.html</code> , but you can add the script to a button or use any appropriate method to invoke it on your website. The JavaScript on this page calls the Packaged App installer API (<a href="/bn-BD/docs/Web/API/Apps/installPackage" title="The documentation about this has not yet been written; please consider contributing!"><code>Apps.installPackage</code></a>) and includes callbacks that provide notification of whether the installation was successful or failed.
+ <li>Create the script that will install your app. Here we&apos;re using a simple HTML file named <code>index.html</code> , but you can add the script to a button or use any appropriate method to invoke it on your website. The JavaScript on this page calls the Packaged App installer API (<a href="/bn-BD/docs/Web/API/Apps/installPackage" title="The documentation about this has not yet been written; please consider contributing!"><code>Apps.installPackage</code></a>) and includes callbacks that provide notification of whether the installation was successful or failed.
   <pre class="brush: html">&lt;html&gt;
   &lt;body&gt;
     &lt;p&gt;Packaged app installation page&lt;/p&gt;
     &lt;script&gt;
       // This URL must be a full url.
-      var manifestUrl = '<a class="LinkyMobile-ext" href="http://my-server.com/my-app-directory/package.manifest" title="Linkification: http://my-server.com/my-app-directory/package.manifest">http://my-server.com/my-app-directory/manifest.webapp</a>';
+      var manifestUrl = &apos;<a class="LinkyMobile-ext" href="http://my-server.com/my-app-directory/package.manifest" title="Linkification: http://my-server.com/my-app-directory/package.manifest">http://my-server.com/my-app-directory/manifest.webapp</a>&apos;;
       var req = navigator.mozApps.installPackage(manifestUrl);
       req.onsuccess = function() {
         alert(this.result.origin);
@@ -58,19 +58,19 @@ translation_of: Archive/Mozilla/Marketplace/Options/Self_publishing
 &lt;/html&gt;</pre>
  </li>
  <li>Setup the files on your server or website by copying <code>package.zip</code>, <code>package.manifest</code>, and <code>index.html</code> into your chosen directory (<code>my-app-directory</code> in this example).</li>
- <li>Now you can install the app using a compatible device (such as a Firefox OS phone). Simply open the <code>index.html</code> file (in this example its path is <code> <a class="LinkyMobile-ext" href="http://my-server.com/my-app-directory/package.manifest" title="Linkification: http://my-server.com/my-app-directory/package.manifest">http://my-server.com/my-app-directory/index.html</a></code>)  and you'll get a prompt asking you to confirm that you want to install the app. Proceed with the installation, and once it's complete your Web page's script will provide an indication of installation success or failure.</li>
+ <li>Now you can install the app using a compatible device (such as a Firefox OS phone). Simply open the <code>index.html</code> file (in this example its path is <code> <a class="LinkyMobile-ext" href="http://my-server.com/my-app-directory/package.manifest" title="Linkification: http://my-server.com/my-app-directory/package.manifest">http://my-server.com/my-app-directory/index.html</a></code>)  and you&apos;ll get a prompt asking you to confirm that you want to install the app. Proceed with the installation, and once it&apos;s complete your Web page&apos;s script will provide an indication of installation success or failure.</li>
 </ol>
 <div class="note">
- <p>Tip: You can host a Packaged App locally and test it on a device. The Web server and the device must be on the same network, and the server must be able to serve requests from the local network. You just need to include the absolute path in the mini-manifest's <code>package_path</code>, in the same way as the absolute path is included normally (see below). Remember to include the port information if you are using a non-standard port, for example <code><a class="LinkyMobile-ext" href="http://10.10.12.1:8080/package.zip" title="Linkification: http://10.10.12.1:8080/package.zip">http://10.10.12.1:8080/package.zip</a></code>.</p>
+ <p>Tip: You can host a Packaged App locally and test it on a device. The Web server and the device must be on the same network, and the server must be able to serve requests from the local network. You just need to include the absolute path in the mini-manifest&apos;s <code>package_path</code>, in the same way as the absolute path is included normally (see below). Remember to include the port information if you are using a non-standard port, for example <code><a class="LinkyMobile-ext" href="http://10.10.12.1:8080/package.zip" title="Linkification: http://10.10.12.1:8080/package.zip">http://10.10.12.1:8080/package.zip</a></code>.</p>
 </div>
 <h3 id="Mini-manifest_fields">Mini-manifest fields</h3>
-<p>If you publish your apps in Firefox Marketplace you don't have to worry about creating a mini-manifest, as Firefox Marketplace generates it for you. It does this using the information provided in your app's manifest, the file you included in the app's ZIP. You can find details on the content of this 'main' manifest in <a href="/en-US/Apps/Build/Manifest">App manifest</a>.</p>
-<p>For a self-published app you need to create your own mini-manifest. The best way to do this is to make a copy of your 'main' manifest and update it as needed. Using a copy will help with the first requirement of a mini-manifest, that the <code>name</code>, <code>version</code>, <code>developer</code> and <code>locales</code> fields must be the same in both (main and mini) manifests. You then have some additional content to add, fields that are unique to the mini-manifest: <code>package_path</code>, <code>release_notes</code> and <code>size</code>.</p>
+<p>If you publish your apps in Firefox Marketplace you don&apos;t have to worry about creating a mini-manifest, as Firefox Marketplace generates it for you. It does this using the information provided in your app&apos;s manifest, the file you included in the app&apos;s ZIP. You can find details on the content of this &apos;main&apos; manifest in <a href="/en-US/Apps/Build/Manifest">App manifest</a>.</p>
+<p>For a self-published app you need to create your own mini-manifest. The best way to do this is to make a copy of your &apos;main&apos; manifest and update it as needed. Using a copy will help with the first requirement of a mini-manifest, that the <code>name</code>, <code>version</code>, <code>developer</code> and <code>locales</code> fields must be the same in both (main and mini) manifests. You then have some additional content to add, fields that are unique to the mini-manifest: <code>package_path</code>, <code>release_notes</code> and <code>size</code>.</p>
 <dl>
  <dt>
   <code>package_path</code> (required)</dt>
  <dd>
-  The absolute path (full URL, such as  <code> <a class="LinkyMobile-ext" href="http://my-server.com/my-app-directory/package.manifest" title="Linkification: http://my-server.com/my-app-directory/package.manifest">http://my-server.com/my-app-directory/manifest.webapp</a></code>) of the location where the app's zip file is stored.</dd>
+  The absolute path (full URL, such as  <code> <a class="LinkyMobile-ext" href="http://my-server.com/my-app-directory/package.manifest" title="Linkification: http://my-server.com/my-app-directory/package.manifest">http://my-server.com/my-app-directory/manifest.webapp</a></code>) of the location where the app&apos;s zip file is stored.</dd>
  <dt>
   <code>release_notes</code> (optional)</dt>
  <dd>
@@ -80,31 +80,31 @@ translation_of: Archive/Mozilla/Marketplace/Options/Self_publishing
  <dt>
   <code>size</code> (optional)</dt>
  <dd>
-  The size of the app's zip file in bytes. This information is used by <a href="/bn-BD/docs/Web/API/Apps/installPackage" title="The documentation about this has not yet been written; please consider contributing!"><code>Apps.installPackage</code></a> to provide a progress indicator during installation.</dd>
+  The size of the app&apos;s zip file in bytes. This information is used by <a href="/bn-BD/docs/Web/API/Apps/installPackage" title="The documentation about this has not yet been written; please consider contributing!"><code>Apps.installPackage</code></a> to provide a progress indicator during installation.</dd>
 </dl>
 <p>Here is an example:</p>
 <pre class="brush: js">{
-  "name": "My app",
-  "package_path": "<a class="LinkyMobile-ext" href="http://thisdomaindoesnotexist.org/myapp.zip" title="Linkification: http://thisdomaindoesnotexist.org/myapp.zip">http://thisdomaindoesnotexist.org/myapp.zip</a>",
-  "version": "1.0",
-  "size": 172496,
-  "release_notes": "First release",
-  "developer": {
-    "name": "Developer Name",
-    "url": "<a class="LinkyMobile-ext" href="http://thisdomaindoesnotexist.org/" title="Linkification: http://thisdomaindoesnotexist.org/">http://thisdomaindoesnotexist.org/</a>"
+  &quot;name&quot;: &quot;My app&quot;,
+  &quot;package_path&quot;: &quot;<a class="LinkyMobile-ext" href="http://thisdomaindoesnotexist.org/myapp.zip" title="Linkification: http://thisdomaindoesnotexist.org/myapp.zip">http://thisdomaindoesnotexist.org/myapp.zip</a>&quot;,
+  &quot;version&quot;: &quot;1.0&quot;,
+  &quot;size&quot;: 172496,
+  &quot;release_notes&quot;: &quot;First release&quot;,
+  &quot;developer&quot;: {
+    &quot;name&quot;: &quot;Developer Name&quot;,
+    &quot;url&quot;: &quot;<a class="LinkyMobile-ext" href="http://thisdomaindoesnotexist.org/" title="Linkification: http://thisdomaindoesnotexist.org/">http://thisdomaindoesnotexist.org/</a>&quot;
   },
-  "locales": {
-    "fr-FR": {
-      "name": "Mon application"
+  &quot;locales&quot;: {
+    &quot;fr-FR&quot;: {
+      &quot;name&quot;: &quot;Mon application&quot;
     },
-    "se-SE": {
-      "name": "Min balla app"
+    &quot;se-SE&quot;: {
+      &quot;name&quot;: &quot;Min balla app&quot;
     }
   },
-  "icons": {
-    "16": "/icons/16.png",
-    "32": "/icons/32.png",
-    "256": "/icons/256.png"
+  &quot;icons&quot;: {
+    &quot;16&quot;: &quot;/icons/16.png&quot;,
+    &quot;32&quot;: &quot;/icons/32.png&quot;,
+    &quot;256&quot;: &quot;/icons/256.png&quot;
   }
 }
 </pre>
@@ -113,7 +113,7 @@ translation_of: Archive/Mozilla/Marketplace/Options/Self_publishing
  <dt>
   <code>name</code> (required)</dt>
  <dd>
-  The app's name. Maximum length is 128 characters.</dd>
+  The app&apos;s name. Maximum length is 128 characters.</dd>
  <dt>
   <code>version</code> (optional)</dt>
  <dd>

+ 10 - 10
files/bn/archive/mozilla/xul/tutorial/সূচনা/index.html

@@ -4,12 +4,12 @@ slug: Archive/Mozilla/XUL/Tutorial/সূচনা
 translation_of: Archive/Mozilla/XUL/Tutorial/Introduction
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/bn-BD/docs/XUL_Tutorial/XUL_Structure">Next  »</a></p>
+    <p><a href="/bn-BD/docs/XUL_Tutorial/XUL_Structure" class="button">Next  »</a></p>
 </div>
 <p>এই টিউটোরিয়ালটি XUL (এক্সএমএল ইউজার ইন্টারফেস ভাষা) শেখার একটি গাইড। XUL <span style="line-height: 1.5;">একটি ক্রস প্ল্যাটফর্ম ভাষা যা</span><span style="line-height: 1.5;">র </span><span style="line-height: 1.5;">সাহায্যে </span><span style="line-height: 1.5;">অ্যাপ্লিকেশন ইউজার ইন্টারফেস </span><span style="line-height: 1.5;">ব্য</span><span style="line-height: 1.5;">খ্যা </span><span style="line-height: 1.5;">করা যায়</span><span style="line-height: 1.5;">।</span></p>
-<p>This tutorial will demonstrate creating a simple find file user interface, much like that provided by the Macintosh's Sherlock or the find file dialog in Windows. Note that only the user interface will be created, with only limited functionality. The actual finding of files will not be implemented. A blue line will appear to the left of a paragraph where the find file dialog is being modified. You can follow along by looking for these sections.</p>
+<p>This tutorial will demonstrate creating a simple find file user interface, much like that provided by the Macintosh&apos;s Sherlock or the find file dialog in Windows. Note that only the user interface will be created, with only limited functionality. The actual finding of files will not be implemented. A blue line will appear to the left of a paragraph where the find file dialog is being modified. You can follow along by looking for these sections.</p>
 <h3 id="What_is_XUL_and_why_was_it_created">What is XUL and why was it created?</h3>
-<p>XUL (pronounced "zool" and rhyming with "cool") was created to make development of the Mozilla browser easier and faster. It is an <abbr title="Extensible Markup Language">XML</abbr> language so all features available to XML are also available to XUL.</p>
+<p>XUL (pronounced &quot;zool&quot; and rhyming with &quot;cool&quot;) was created to make development of the Mozilla browser easier and faster. It is an <abbr title="Extensible Markup Language">XML</abbr> language so all features available to XML are also available to XUL.</p>
 <p>Most applications need to be developed using features of a specific platform making building cross-platform software time-consuming and costly. A number of cross-platform solutions have been developed in the past. Java, for example, has portability as a main selling point. XUL is one such language designed specifically for building portable user interfaces. It takes a long time to build an application even for only one platform. The time required to compile and debug can be lengthy. With XUL, an interface can be implemented and modified quickly and easily.</p>
 <p>XUL has all the advantages of other XML languages. For example XHTML or other XML languages such as <abbr title="Math Markup Language">MathML</abbr> or <abbr title="Scalable Vector Graphics">SVG</abbr> can be inserted within it. Also, text displayed with XUL is easily localizable, which means that it can be translated into other languages with little effort.</p>
 <h3 id="What_kinds_of_user_interfaces_can_be_made_with_XUL">What kinds of user interfaces can be made with XUL?</h3>
@@ -22,27 +22,27 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Introduction
  <li>Trees for hierarchical or tabular information</li>
  <li>Keyboard shortcuts</li>
 </ul>
-<p>The displayed content can be created from the contents of a XUL file or with data from a datasource. In Mozilla, such datasources include a user's mailbox, their bookmarks and search results. The contents of menus, trees and other elements can be populated with this data, or with your own data supplied in an <abbr title="Resource Description Framework">RDF</abbr> file.</p>
+<p>The displayed content can be created from the contents of a XUL file or with data from a datasource. In Mozilla, such datasources include a user&apos;s mailbox, their bookmarks and search results. The contents of menus, trees and other elements can be populated with this data, or with your own data supplied in an <abbr title="Resource Description Framework">RDF</abbr> file.</p>
 <p>There are several ways you can use XUL:</p>
 <dl>
  <dt>
   Firefox extension</dt>
  <dd>
-  An extension adds functionality to the browser itself, often in the form of extra toolbars, context menus, or customizations to the browser's user interface. This is done using a feature of XUL called an <strong>overlay</strong>, which allows the UI provided from one source, in this case, the Firefox browser, to be merged together with the UI from the extension. Extensions may also be applied to other Mozilla based products such as Thunderbird.</dd>
+  An extension adds functionality to the browser itself, often in the form of extra toolbars, context menus, or customizations to the browser&apos;s user interface. This is done using a feature of XUL called an <strong>overlay</strong>, which allows the UI provided from one source, in this case, the Firefox browser, to be merged together with the UI from the extension. Extensions may also be applied to other Mozilla based products such as Thunderbird.</dd>
  <dt>
   Standalone XULRunner application</dt>
  <dd>
-  XULRunner is a packaged version of the Mozilla platform which allows you to create standalone XUL applications. A browser isn't required to run these applications, as they have their own executable file.</dd>
+  XULRunner is a packaged version of the Mozilla platform which allows you to create standalone XUL applications. A browser isn&apos;t required to run these applications, as they have their own executable file.</dd>
  <dt>
   XUL package</dt>
  <dd>
-  In between the other two are applications which are created in the same way as an extension, but they act like a separate application in a separate window. This is used when you don't want to have the larger size of a complete XULRunner application, but don't mind requiring a Mozilla browser to be installed to be able to run the application.</dd>
+  In between the other two are applications which are created in the same way as an extension, but they act like a separate application in a separate window. This is used when you don&apos;t want to have the larger size of a complete XULRunner application, but don&apos;t mind requiring a Mozilla browser to be installed to be able to run the application.</dd>
  <dt>
   Remote XUL application</dt>
  <dd>
   You could also just place XUL code on a web server and open it in Firefox, as you would any other web page, however this is discouraged and was disabled in Firefox 8.  It is still possible to enable this for selected sites to let legacy apps to continue working, but for new remote applications you should use HTML to create your user interface instead; most of the features you used to have to use XUL for are available in HTML5.</dd>
 </dl>
-<p>The first three types all require an installation to be performed on the user's machine. However, these types of applications do not have security restrictions placed on them, so they may access local files and read and write preferences, for example. For extensions, the XUL files and associated scripts and images used by an application would be packaged into a single file and downloaded and installed by the user. Mozilla applications such as Firefox provide an extension manager which allows packages to be installed without having to write a lot of complex code.</p>
+<p>The first three types all require an installation to be performed on the user&apos;s machine. However, these types of applications do not have security restrictions placed on them, so they may access local files and read and write preferences, for example. For extensions, the XUL files and associated scripts and images used by an application would be packaged into a single file and downloaded and installed by the user. Mozilla applications such as Firefox provide an extension manager which allows packages to be installed without having to write a lot of complex code.</p>
 <h3 id="What_do_I_need_to_know_to_use_this_tutorial.3F" name="What_do_I_need_to_know_to_use_this_tutorial.3F">What do I need to know to use this tutorial?</h3>
 <p>You should have an understanding of <abbr title="HyperText Markup Language">HTML</abbr> and at least a basic understanding of XML and <abbr title="Cascading Style Sheets">CSS</abbr>. Here are some guidelines to keep in mind:</p>
 <ul>
@@ -51,7 +51,7 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Introduction
  <li>XUL files are usually split into four files, one each for the layout and elements, for style declarations, for entity declarations (used for localization) and for scripts. In addition, you may have extra files for images or for platform specific data.</li>
 </ul>
 <p>XUL is supported in Mozilla and browsers that are also based upon on the Gecko engine, such as Netscape 6 or later and Mozilla Firefox. Due to various changes in XUL syntax over time, you will want to get the latest version for the examples to work properly. Most examples should work in Mozilla 1.0 or later. XUL is fairly similar in Firefox and to other browsers, although it has some specific differences such as support for customizable toolbars.</p>
-<p>This tutorial attempts to cover much of XUL's functionality, however, not all features are discussed. Once you are familiar with XUL, you can use the <a href="/en/XUL_Reference" title="en/XUL_Reference">XUL Reference</a> to find out about other features supported by specific elements.</p>
+<p>This tutorial attempts to cover much of XUL&apos;s functionality, however, not all features are discussed. Once you are familiar with XUL, you can use the <a href="/en/XUL_Reference" title="en/XUL_Reference">XUL Reference</a> to find out about other features supported by specific elements.</p>
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/bn-BD/docs/XUL_Tutorial/XUL_Structure">Next  »</a></p>
+    <p><a href="/bn-BD/docs/XUL_Tutorial/XUL_Structure" class="button">Next  »</a></p>
 </div>

+ 10 - 10
files/bn/mozilla/localization/l10n_style_guide/index.html

@@ -3,7 +3,7 @@ title: Mozilla L10n স্টাইল গাইড
 slug: Mozilla/Localization/L10n_Style_Guide
 translation_of: Mozilla/Localization/L10n_Style_Guide
 ---
-<p></p><div class="blockIndicator draft">
+<p></p><div class="draft notecard">
     <p><strong>Draft</strong><br>
     This page is not complete.</p>
 
@@ -11,7 +11,7 @@ translation_of: Mozilla/Localization/L10n_Style_Guide
 
 <h3 id="অর্থ_ভিত্তিক_অনুবাদ"><span class="author-p-1460 b"><strong>অর্থ ভিত্তিক অনুবাদ</strong></span></h3>
 
-<div id="magicdomid3"><span class="author-p-1460">When it comes to translation, </span><span class="author-p-1460">meaning is everything. We encourage you to consider the source text's meaning and find its most closely linked equal in your own language. Avoid literal translation at all costs. Finding meaning-based equivalents between languages can be difficult. To help concentrate your thoughts, ask yourself questions like:</span></div>
+<div id="magicdomid3"><span class="author-p-1460">When it comes to translation, </span><span class="author-p-1460">meaning is everything. We encourage you to consider the source text&apos;s meaning and find its most closely linked equal in your own language. Avoid literal translation at all costs. Finding meaning-based equivalents between languages can be difficult. To help concentrate your thoughts, ask yourself questions like:</span></div>
 
 <ul style="margin-left: 40px;">
  <li id="magicdomid4"><span class="author-p-1460">What does this word/sentence/string mean in English?</span></li>
@@ -21,12 +21,12 @@ translation_of: Mozilla/Localization/L10n_Style_Guide
 
 <h3 id="ব্যবহার"><span class="author-p-1460 b"><strong>ব্যবহার</strong></span></h3>
 
-<div id="magicdomid10"><span class="author-p-1460">    The target audience and their relationship with the Mozilla product determines a translation's usage. A determined translation usage is often maintained throughout a product localization, and even across various products within a single category.</span></div>
+<div id="magicdomid10"><span class="author-p-1460">    The target audience and their relationship with the Mozilla product determines a translation&apos;s usage. A determined translation usage is often maintained throughout a product localization, and even across various products within a single category.</span></div>
 
 <ul style="margin-left: 40px;">
- <li><span class="author-p-1460">For Mozilla desktop products, the target audience is general users with all levels of technical ability. This could indicate more formal language in the UI as the target audience's relationship with desktop products is less frequent. </span>It could, however, indicate informal language due to the level of implied trust between a user and their browser.</li>
- <li id="magicdomid11"><span class="author-p-1460">For Mozilla mobile products, the target audience is general users carrying mobile devices. This could indicate more informal language in the UI as the target audience's relationship with a mobile device is interpreted to be more intimate and an extension of oneself. </span></li>
- <li id="magicdomid12"><span class="author-p-1460">For Mozilla web pages, the target audience will vary according to the purpose of the web page. Seek to identify the web project's purpose and intended audience before translating strings.</span></li>
+ <li><span class="author-p-1460">For Mozilla desktop products, the target audience is general users with all levels of technical ability. This could indicate more formal language in the UI as the target audience&apos;s relationship with desktop products is less frequent. </span>It could, however, indicate informal language due to the level of implied trust between a user and their browser.</li>
+ <li id="magicdomid11"><span class="author-p-1460">For Mozilla mobile products, the target audience is general users carrying mobile devices. This could indicate more informal language in the UI as the target audience&apos;s relationship with a mobile device is interpreted to be more intimate and an extension of oneself. </span></li>
+ <li id="magicdomid12"><span class="author-p-1460">For Mozilla web pages, the target audience will vary according to the purpose of the web page. Seek to identify the web project&apos;s purpose and intended audience before translating strings.</span></li>
 </ul>
 
 <h3 id="Brevity"><span class="author-p-1460 b"><strong>Brevity</strong></span></h3>
@@ -42,7 +42,7 @@ translation_of: Mozilla/Localization/L10n_Style_Guide
 </dl>
 
 <dl>
- <dd id="magicdomid19"><span class="author-p-1460">            Access keys allow a computer to immediately jump to a particular part in a web page by combining keystrokes. They can be adapted to suit your language by selecting a single character to be used in the combined keystroke. Access keys have their own lines within .dtd and .properties files and are identified by being named ".accesskey" in the line.</span></dd>
+ <dd id="magicdomid19"><span class="author-p-1460">            Access keys allow a computer to immediately jump to a particular part in a web page by combining keystrokes. They can be adapted to suit your language by selecting a single character to be used in the combined keystroke. Access keys have their own lines within .dtd and .properties files and are identified by being named &quot;.accesskey&quot; in the line.</span></dd>
 </dl>
 
 <dl>
@@ -74,7 +74,7 @@ translation_of: Mozilla/Localization/L10n_Style_Guide
 </dl>
 
 <dl>
- <dd id="magicdomid27"><span class="author-p-1460">            Lines of code do not require translation. You will recognize a line of code by its use of angled and curly brackets. Anything contained within these brackets should not be translated. For example, <code>{moz:domain}+{searchTerms}</code> or <code>&lt;a target='_' href='</code></span><code><span class="author-p-1460 url"><a href="https://developer.mozilla.org/docs/Tools/Debugger#Remote_Debugging">https://developer.mozilla.org/docs/Tools/Debugger#Remote_Debugging</a></span></code><span class="author-p-1460"><code>'&gt;</code> should not be translated.  However, if there is a localized equivalent content, change the URL to point to the target language site/page.</span></dd>
+ <dd id="magicdomid27"><span class="author-p-1460">            Lines of code do not require translation. You will recognize a line of code by its use of angled and curly brackets. Anything contained within these brackets should not be translated. For example, <code>{moz:domain}+{searchTerms}</code> or <code>&lt;a target=&apos;_&apos; href=&apos;</code></span><code><span class="author-p-1460 url"><a href="https://developer.mozilla.org/docs/Tools/Debugger#Remote_Debugging">https://developer.mozilla.org/docs/Tools/Debugger#Remote_Debugging</a></span></code><span class="author-p-1460"><code>&apos;&gt;</code> should not be translated.  However, if there is a localized equivalent content, change the URL to point to the target language site/page.</span></dd>
 </dl>
 
 <dl>
@@ -90,7 +90,7 @@ translation_of: Mozilla/Localization/L10n_Style_Guide
 </dl>
 
 <dl>
- <dd id="magicdomid31"><span class="author-p-1460">            Trailing whitespace often indicates a break between two strings that will be brought together at runtime. Generally speaking this is a poor development practice, however, there are exceptions that permit developers to generate strings this way. When translating strings with trailing whitespaces before or after a string's text, seek to identify the corresponding string to learn how to appropriately translate the content. If you are unsure where the corresponding string is, ask around in the mozilla.dev.l10n newsgroup or file a bug in the appropriate product.</span><span class="author-p-1460">            </span></dd>
+ <dd id="magicdomid31"><span class="author-p-1460">            Trailing whitespace often indicates a break between two strings that will be brought together at runtime. Generally speaking this is a poor development practice, however, there are exceptions that permit developers to generate strings this way. When translating strings with trailing whitespaces before or after a string&apos;s text, seek to identify the corresponding string to learn how to appropriately translate the content. If you are unsure where the corresponding string is, ask around in the mozilla.dev.l10n newsgroup or file a bug in the appropriate product.</span><span class="author-p-1460">            </span></dd>
  <dt style="margin-left: 40px;"><span class="author-p-1460">Keyboard shortcuts</span></dt>
  <dd style="margin-left: 40px;"><span class="author-p-1460">Lorem ipsum https://developer.mozilla.org/en-US/docs/XUL_Accesskey_FAQ_and_Policies</span></dd>
 </dl>
@@ -112,7 +112,7 @@ translation_of: Mozilla/Localization/L10n_Style_Guide
 
 <h4 id="Consistency_across_products_modules"><span class="author-p-1460">        Consistency across products &amp; modules</span></h4>
 
-<div id="magicdomid68"><span class="author-p-1460">            Consistency in terminology use is supremely important as you translate terms and sentences that have the same meaning and application throughout the product. Once you have decided on a term for a given function (for example, the term "tab"), register it in a glossary for future use in other areas of the product.</span></div>
+<div id="magicdomid68"><span class="author-p-1460">            Consistency in terminology use is supremely important as you translate terms and sentences that have the same meaning and application throughout the product. Once you have decided on a term for a given function (for example, the term &quot;tab&quot;), register it in a glossary for future use in other areas of the product.</span></div>
 
 <div id="magicdomid69"> </div>
 

+ 15 - 15
files/ca/archive/b2g_os/index.html

@@ -11,9 +11,9 @@ translation_of: Archive/B2G_OS
 ---
 <div class="summary"><span class="seoSummary">B2G OS is (was) a complete, standalone operating system for the open web. It is an open source project developed by the Mozilla community and forms the basis of Firefox OS products. As of 2017 it is<strong> no longer maintained</strong>.</span></div>
 
-<p><strong>B2G OS </strong>is a community maintained open source operating system for<strong> </strong>smartphones, tablets, smart TVs and other connected devices. The project was <a href="https://wiki.mozilla.org/Booting_to_the_Web">started</a> in 2011 and is based on the Linux kernel and Gecko rendering engine. The entire user interface is built using web technologies (HTML, CSS and JavaScript) and can be used to launch and use <a href="/en-US/Apps">web applications</a>. Since Mozilla <a href="https://discourse.mozilla-community.org/t/firefox-os-connected-devices-announcement/6864">discontinued</a> their commercial Firefox OS smartphone program the smartphone part of the project is entirely maintained by Mozilla's volunteer community, and branded as B2G OS.</p>
+<p><strong>B2G OS </strong>is a community maintained open source operating system for<strong> </strong>smartphones, tablets, smart TVs and other connected devices. The project was <a href="https://wiki.mozilla.org/Booting_to_the_Web">started</a> in 2011 and is based on the Linux kernel and Gecko rendering engine. The entire user interface is built using web technologies (HTML, CSS and JavaScript) and can be used to launch and use <a href="/en-US/Apps">web applications</a>. Since Mozilla <a href="https://discourse.mozilla-community.org/t/firefox-os-connected-devices-announcement/6864">discontinued</a> their commercial Firefox OS smartphone program the smartphone part of the project is entirely maintained by Mozilla&apos;s volunteer community, and branded as B2G OS.</p>
 
-<p><img alt="" src="https://mdn.mozillademos.org/files/13140/B2g_wordmark.png" style="display: block; margin: 0 auto;"></p>
+<p><img alt src="https://mdn.mozillademos.org/files/13140/B2g_wordmark.png" style="display: block; margin: 0 auto;"></p>
 
 <h2 id="Index_of_pages">Index of pages</h2>
 
@@ -33,23 +33,23 @@ translation_of: Archive/B2G_OS
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Building_and_installing_B2G_OS">Building and installing B2G OS</a></dt>
  <dd class="landingPageList">The articles listed on this page will guide you through building and installing B2G OS on an emulator or compatible device, or the <a href="/en-US/docs/Mozilla/B2G_OS/Platform/Gaia/Introduction_to_Gaia" title="Mozilla/B2G_OS/Platform/Gaia/Introduction to Gaia">Gaia</a> user interface in the Firefox browser.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Building">Building B2G OS</a></dt>
- <dd class="landingPageList">Once you've <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites" title="Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">set up your build system</a> and performed your <a href="/en-US/docs/Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build" title="Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build">initial pull and configure</a>  the code, you can build Boot to Gecko. This guide explains how.</dd>
+ <dd class="landingPageList">Once you&apos;ve <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites" title="Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">set up your build system</a> and performed your <a href="/en-US/docs/Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build" title="Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build">initial pull and configure</a>  the code, you can build Boot to Gecko. This guide explains how.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Building_the_B2G_OS_simulator">Building the B2G OS Simulator</a></dt>
- <dd class="landingPageList">Just like <a href="http://nightly.mozilla.org" title="http://nightly.mozilla.org">Firefox Nightlies</a>, the B2G OS simulator desktop client (identified by <em>b2g-</em>) is automatically built every day from the latest source code. The latest build is <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/">available from the Mozilla FTP server</a>. Be sure to pick the latest version and the right archive for your operating system. This lets you bypass having to build it yourself. In addition, you don't have to download Gaia on your own either.</dd>
+ <dd class="landingPageList">Just like <a href="http://nightly.mozilla.org" title="http://nightly.mozilla.org">Firefox Nightlies</a>, the B2G OS simulator desktop client (identified by <em>b2g-</em>) is automatically built every day from the latest source code. The latest build is <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/">available from the Mozilla FTP server</a>. Be sure to pick the latest version and the right archive for your operating system. This lets you bypass having to build it yourself. In addition, you don&apos;t have to download Gaia on your own either.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G</a></dt>
  <dd class="landingPageList">Depending on your specific needs, you have an assortment of options to consider when experimenting with Firefox OS or the <a href="/en/Mozilla/Boot_to_Gecko/Introduction_to_Gaia" title="en/Mozilla/Boot_to_Gecko/Introduction_to_Gaia">Gaia</a> user interface. You can choose among the following options; each has its advantages and disadvantages to consider, and some are more flexible than others.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Crash_Reporting_Guide_for_Firefox_OS_Partners">Crash Reporting Guide for Firefox OS Partners</a></dt>
  <dd class="landingPageList">Mozilla has a world-class system for collecting, analyzing, and fixing crashes and other stability issues such as hangs. Firefox OS partners need to work with Mozilla to correctly enable crash reporting and upload symbols.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a></dt>
- <dd class="landingPageList">The <code>.userconfig</code> file isn't checked into source code control, so your changes won't be overwritten when you update your source tree. It needs to be created in the <a href="https://github.com/mozilla-b2g/B2G">root of the B2G tree</a>; that is, in the same directory as <code>flash.sh</code>, <code>build.sh</code>, and so forth. You should add this before you run your config and build steps.</dd>
+ <dd class="landingPageList">The <code>.userconfig</code> file isn&apos;t checked into source code control, so your changes won&apos;t be overwritten when you update your source tree. It needs to be created in the <a href="https://github.com/mozilla-b2g/B2G">root of the B2G tree</a>; that is, in the same directory as <code>flash.sh</code>, <code>build.sh</code>, and so forth. You should add this before you run your config and build steps.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Debugging">Debugging on Firefox OS</a></dt>
- <dd class="landingPageList">There are two main types of debugging you'll want to with Firefox OS: debugging apps, and debugging other aspects of the system.</dd>
+ <dd class="landingPageList">There are two main types of debugging you&apos;ll want to with Firefox OS: debugging apps, and debugging other aspects of the system.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Developer_Mode">Developer Mode</a></dt>
  <dd class="landingPageList">The current Firefox OS permissions model precludes modification and installation of certified/internal apps, which makes some device APIs completely unavailable to Marketplace and web apps. <strong>Developer Mode (DM)</strong> allows the user to indicate that they would like to relax the permissions model and expose all device APIs to content, as well as setting a group of related preferences. This article provides a high-level overview.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Developing_Firefox_OS">Developing Firefox OS</a></dt>
  <dd class="landingPageList">This section provides useful documentation covering different ways in which Firefox OS (codename Boot2Gecko, or B2G) can be modified/customized during the build process, and how you can help to develop the low level platform areas such as <a href="/en-US/docs/Mozilla/Gecko">Gecko</a> and <a href="/en-US/Firefox_OS/Platform/Gonk">Gonk</a>.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Firefox_OS_apps">Firefox OS apps</a></dt>
- <dd class="landingPageList">This section of the Firefox OS docs covers the specific techniques required — and available tools — for building Firefox OS apps. You'll find a number of details below, from Firefox OS building blocks/web components, to device APIs and App installation.</dd>
+ <dd class="landingPageList">This section of the Firefox OS docs covers the specific techniques required — and available tools — for building Firefox OS apps. You&apos;ll find a number of details below, from Firefox OS building blocks/web components, to device APIs and App installation.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Board_guide">Firefox OS board guide</a></dt>
  <dd class="landingPageList">This section contains developer information relevant to specific phones that run Firefox OS — both developer and consumer devices.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Releases">Firefox OS developer release notes</a></dt>
@@ -57,17 +57,17 @@ translation_of: Archive/B2G_OS
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Security">Firefox OS security</a></dt>
  <dd class="landingPageList">The following articles cover security-related topics about Firefox OS. This includes overall security features as well as application security and how the install process is kept secure.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Simulator">Firefox OS Simulator</a></dt>
- <dd class="landingPageList"><span style="line-height: 1.5;">The Firefox OS Simulator is <span style="line-height: 1.5;">a version of the higher layers of Firefox OS</span> that simulates a Firefox OS device, but runs on the desktop</span><span style="line-height: 1.5;">. This means that in many cases, you don't need a real device to test and debug your app. </span><span style="line-height: 1.5;">It runs in a window the same size as a Firefox OS device, includes the Firefox OS user interface and built-in apps, and simulates many of the Firefox OS device APIs.</span></dd>
+ <dd class="landingPageList"><span style="line-height: 1.5;">The Firefox OS Simulator is <span style="line-height: 1.5;">a version of the higher layers of Firefox OS</span> that simulates a Firefox OS device, but runs on the desktop</span><span style="line-height: 1.5;">. This means that in many cases, you don&apos;t need a real device to test and debug your app. </span><span style="line-height: 1.5;">It runs in a window the same size as a Firefox OS device, includes the Firefox OS user interface and built-in apps, and simulates many of the Firefox OS device APIs.</span></dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Firefox_OS_usage_tips">Firefox OS usage tips</a></dt>
  <dd class="landingPageList">Explains all of the developer features on the phone and what they do (Settings &gt; Device information &gt; More information &gt; Developer)</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Developing_Gaia">Gaia</a></dt>
- <dd class="landingPageList">Gaia is B2G OS's user interface and suite of default apps: it includes the lock screen, home screen, dialer, and other applications. Essentially, Gaia is a set of complex web apps that runs on top of the B2G OS platform. This set of articles covers all you need to know to contribute to the Gaia project.</dd>
+ <dd class="landingPageList">Gaia is B2G OS&apos;s user interface and suite of default apps: it includes the lock screen, home screen, dialer, and other applications. Essentially, Gaia is a set of complex web apps that runs on top of the B2G OS platform. This set of articles covers all you need to know to contribute to the Gaia project.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></dt>
- <dd class="landingPageList">Once you've built Boot to Gecko for a <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Have_a_compatible_device_or_use_an_emulator">supported mobile device</a>, you can install it. This article will guide you through the process.</dd>
+ <dd class="landingPageList">Once you&apos;ve built Boot to Gecko for a <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Have_a_compatible_device_or_use_an_emulator">supported mobile device</a>, you can install it. This article will guide you through the process.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Introduction">Introduction to Firefox OS</a></dt>
  <dd class="landingPageList">This set of documentation is aimed mainly at web developers and platform developers who want to learn how Firefox OS works, how to contribute to the project, and how to build their own custom versions of the software and install it on devices. For those who want to create and distribute their own web apps, the <a href="/en-US/Apps">App Center</a> and <a href="/en-US/Marketplace">Marketplace Zone</a> are good places to go.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Mulet">Mulet</a></dt>
- <dd class="landingPageList">Following this guide you're going to run Gaia inside of a special build of Firefox called Firefox Mulet. This gives you the advantages of having a rapid development cycle, as well as standard web development tools and debuggers available to work with. First of all, you need to have the <a class="external external-icon" href="https://github.com/mozilla-b2g/gaia">Gaia</a> repo cloned on your machine and build your own profile. Then, you have to install mulet and run it, passing your Gaia profile as the profile to use.</dd>
+ <dd class="landingPageList">Following this guide you&apos;re going to run Gaia inside of a special build of Firefox called Firefox Mulet. This gives you the advantages of having a rapid development cycle, as well as standard web development tools and debuggers available to work with. First of all, you need to have the <a class="external external-icon" href="https://github.com/mozilla-b2g/gaia">Gaia</a> repo cloned on your machine and build your own profile. Then, you have to install mulet and run it, passing your Gaia profile as the profile to use.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Quickstart">Open web apps quickstart</a></dt>
  <dd class="landingPageList">Quickstart information on coding Open Web Apps.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Pandaboard">Pandaboard</a></dt>
@@ -83,24 +83,24 @@ translation_of: Archive/B2G_OS
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Running_Tests_on_Firefox_OS_for_Developers">Running tests on Firefox OS: A guide for developers</a></dt>
  <dd class="landingPageList">If you are a Gecko developer, then you should review the Firefox OS-specific documentation for the test automation you are already familar with: <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Automated_testing/Mochitests">mochitest</a>, <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Automated_testing/Reftests">reftest</a>, and <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Automated_testing/XPCShell">xpcshell</a>.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Platform">The B2G OS platform</a></dt>
- <dd class="landingPageList">The B2G OS platform consists of many components. While you don't need to understand its architecture in order to build applications that run on B2G OS, if you're working on developing or porting the platform — or are simply curious — the following documentation may be of interest to you.</dd>
+ <dd class="landingPageList">The B2G OS platform consists of many components. While you don&apos;t need to understand its architecture in order to build applications that run on B2G OS, if you&apos;re working on developing or porting the platform — or are simply curious — the following documentation may be of interest to you.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Troubleshooting">Troubleshooting B2G OS</a></dt>
  <dd class="landingPageList">This article provides tips for resolving common problems you may have while using B2G OS.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Using_the_App_Manager">Using the App Manager</a></dt>
  <dd class="landingPageList">The App Manager is a tool for Firefox Desktop which provides a number of useful tools to help developers test, deploy and debug HTML5 web apps on Firefox OS phones &amp; Simulator, directly from Firefox browser. This page documents how to use the App Manager.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Using_the_B2G_emulators">Using the B2G emulators</a></dt>
- <dd class="landingPageList">This article provides a brief guide to some key things you should know when using the boot to Gecko emulators. This doesn't appear to be a complete user manual; instead, it simply tells you a few useful things that you might not learn on your own.</dd>
+ <dd class="landingPageList">This article provides a brief guide to some key things you should know when using the boot to Gecko emulators. This doesn&apos;t appear to be a complete user manual; instead, it simply tells you a few useful things that you might not learn on your own.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Web_applications">Web applications</a></dt>
  <dd class="landingPageList">This page is intended to be a first, non thorough, attempt to collect web apps.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Bluetooth_API">Web Bluetooth API (Firefox OS)</a></dt>
- <dd class="landingPageList">The Web Bluetooth API lets an open web app discover, pair with, and connect to Bluetooth devices. As it is a completely experimental and non-standard API, the Bluetooth API is currently available for certified applications only. However, there is some traction to have such an API available for regular Web content; this will be discussed as part of the <a href="http://www.w3.org/2012/sysapps/">W3C's System Applications Working Group</a>.</dd>
+ <dd class="landingPageList">The Web Bluetooth API lets an open web app discover, pair with, and connect to Bluetooth devices. As it is a completely experimental and non-standard API, the Bluetooth API is currently available for certified applications only. However, there is some traction to have such an API available for regular Web content; this will be discussed as part of the <a href="http://www.w3.org/2012/sysapps/">W3C&apos;s System Applications Working Group</a>.</dd>
  <dt class="landingPageList"><a href="/en-US/docs/Archive/B2G_OS/Web_Telephony_API">Web Telephony API</a></dt>
  <dd class="landingPageList">Web Telephony is an API that makes it possible for web content to handle voice phone calls using JavaScript.</dd>
 </dl>
 
 <h2 id="Old_page_content">Old page content</h2>
 
-<div class="blockIndicator note">
+<div class="note notecard">
 <p><strong>Note</strong>:  <a href="https://wiki.mozilla.org/B2G/Transition_Project/Call_For_Contribution">Call for contribution</a> &amp; <a href="https://discourse.mozilla-community.org/t/updated-9th-july-call-for-app-maintainers-adopt-an-app/9300/1">Call for App adoption</a> has been made to gather more people, feel free to share it !</p>
 </div>
 

+ 14 - 14
files/ca/archive/b2g_os/platform/gaia/hacking/index.html

@@ -3,10 +3,10 @@ title: Hacking Gaia
 slug: Archive/B2G_OS/Platform/Gaia/Hacking
 translation_of: Firefox_OS/Developing_Gaia
 ---
-<div class="warning">
+<div class="warning notecard">
  <p>Aquesta pàgina està dirigida a desenvolupadors Gaia. Si busques sobre com crear i arrencar una aplicació Firefox OS, tindries que consultar <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">Creant i instal·lant una pàgina Firefox OS</a>.</p>
 </div>
-<p>Gaia és un conjunt <a href="https://developer.mozilla.org/apps" rel="nofollow">d'aplicacions web</a> que formen la cara visible de <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a>. Tot el que veus a la pantalla de Firefox OS està creat amb tecnología web de codi obert. Això inclou la pantalla inicial i les seves aplicacions inicials. </p>
+<p>Gaia és un conjunt <a href="https://developer.mozilla.org/apps" rel="nofollow">d&apos;aplicacions web</a> que formen la cara visible de <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a>. Tot el que veus a la pantalla de Firefox OS està creat amb tecnología web de codi obert. Això inclou la pantalla inicial i les seves aplicacions inicials. </p>
 <h2 id="Obtenint_el_codi">Obtenint el codi</h2>
 <p>Per obternir el codi font de Gaia, <a href="https://github.com/mozilla-b2g/gaia" title="https://github.com/mozilla-b2g/gaia">fork us on GitHub</a> and then clone your fork using <a href="http://git-scm.com/" title="http://git-scm.com/">git</a>.</p>
 <pre>$ git clone https://github.com/mozilla-b2g/gaia.git</pre>
@@ -15,7 +15,7 @@ translation_of: Firefox_OS/Developing_Gaia
 <h3 id="B2G_desktop">B2G desktop</h3>
 <p>B2G desktop is a desktop build of the app runtime used on Firefox OS devices which you can use to run Gaia on your desktop computer.</p>
 <p>You can download a nightly build of B2G desktop from <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/">here</a>. Depending on what version you are targeting, you may want a specific version of latest-mozilla-b2g18. There are builds for Linux (32 bit and 64 bit), Mac OS X and Windows.</p>
-<p>Nightly builds come packaged with a recent version of gaia. Once you've downloaded the archive, all your need to do is extract it to a folder and run the b2g binary from the extracted folder.</p>
+<p>Nightly builds come packaged with a recent version of gaia. Once you&apos;ve downloaded the archive, all your need to do is extract it to a folder and run the b2g binary from the extracted folder.</p>
 <pre>$ cd b2g
 $ ./b2g</pre>
 <p>To run B2G with your own version of Gaia for development purposes you first need to build a profile from your clone:</p>
@@ -27,7 +27,7 @@ $ DEBUG=1 DESKTOP=0 make</pre>
 <pre>$ ./b2g /path/to/gaia/profile</pre>
 <p>If you want to you can build your own B2G desktop from source.</p>
 <h3 id="Using_Gaia_in_Firefox">Using Gaia in Firefox</h3>
-<p>It's also possible to run Gaia inside of Firefox. This gives you the advantages of having a rapid development cycle, as well as standard web development tools and debuggers. See <a href="/en-US/docs/Mozilla/Firefox_OS/Using_Gaia_in_Firefox" title="/en-US/docs/Mozilla/Firefox_OS/Using_Gaia_in_Firefox">Using Gaia in Firefox</a> for details on how to do this.</p>
+<p>It&apos;s also possible to run Gaia inside of Firefox. This gives you the advantages of having a rapid development cycle, as well as standard web development tools and debuggers. See <a href="/en-US/docs/Mozilla/Firefox_OS/Using_Gaia_in_Firefox" title="/en-US/docs/Mozilla/Firefox_OS/Using_Gaia_in_Firefox">Using Gaia in Firefox</a> for details on how to do this.</p>
 <h3 id="Using_Gaia_on_a_device">Using Gaia on a device</h3>
 <p>If you have a compatible mobile device you can also run Gaia by flashing it with Firefox OS. See <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">Building and installing Firefox OS</a> for details on how to do this. We also have documentation for <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Testing">how to test Firefox OS</a>.</p>
 <h2 id="Unit_tests">Unit tests</h2>
@@ -35,7 +35,7 @@ $ DEBUG=1 DESKTOP=0 make</pre>
 <h2 id="Filing_bugs">Filing bugs</h2>
 <p>Bugs are filed on Bugzilla under <a href="https://bugzilla.mozilla.org/buglist.cgi?product=Boot2Gecko&amp;component=Gaia&amp;resolution=---" rel="nofollow">Boot2Gecko &gt; Gaia</a>. File a new bug <a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Boot2Gecko" title="https://bugzilla.mozilla.org/enter_bug.cgi?product=Boot2Gecko">under the Gaia component</a> (or one of the sub-components).</p>
 <h2 id="Contributing_to_Gaia">Contributing to Gaia</h2>
-<p>Mozilla depends on contributions from the open source community to help develop Gaia apps and we'd love you to get involved.</p>
+<p>Mozilla depends on contributions from the open source community to help develop Gaia apps and we&apos;d love you to get involved.</p>
 <p>Some great places to find some bugs to start hacking on:</p>
 <ul>
  <li><a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=component:gaia%20sw:polish%20@nobody;list_id=4566236" rel="nofollow">Unowned Gaia polish bugs on Bugzilla</a></li>
@@ -50,11 +50,11 @@ $ DEBUG=1 DESKTOP=0 make</pre>
    <li><a href="/en-US/docs/Developer_Guide/Coding_Style#Naming_and_formatting_guide" title="Developer_Guide/Coding_Style#Naming_and_formatting_guide">Coding Style: Naming and formatting guide</a></li>
   </ul>
  </li>
- <li>Make sure HTML files are declared <code>&lt;!DOCTYPE html&gt;</code> (that is, as HTML5 documents). If you don't, Internet Explorer 9 and later will load them in compatibility mode.</li>
- <li>Include the <code>"use strict";</code> statement (just like that, including the quotes) to the top of your JavaScript files to put them into strict mode.</li>
+ <li>Make sure HTML files are declared <code>&lt;!DOCTYPE html&gt;</code> (that is, as HTML5 documents). If you don&apos;t, Internet Explorer 9 and later will load them in compatibility mode.</li>
+ <li>Include the <code>&quot;use strict&quot;;</code> statement (just like that, including the quotes) to the top of your JavaScript files to put them into strict mode.</li>
  <li>Always use two spaces for indentation, rather than tabs.</li>
  <li>Please use line breaks to separate logical bits of code!</li>
- <li>Multi-word file names should use the "underscore" character to separate words, <code>like_this.js</code>.</li>
+ <li>Multi-word file names should use the &quot;underscore&quot; character to separate words, <code>like_this.js</code>.</li>
  <li>Use single quotes instead of double quotes for strings.</li>
 </ul>
 <h4 id="Additional_rules">Additional rules</h4>
@@ -66,22 +66,22 @@ $ DEBUG=1 DESKTOP=0 make</pre>
   doSomething();
 }
 </pre>
-<p>If you're working on the system app, check out the guidance listed <a href="https://groups.google.com/d/msg/mozilla.dev.gaia/rEhSrw6XmT4/UNvE7qW9pgYJ" title="See_here_for_some_rules._https://groups.google.com/d/msg/mozilla.dev.gaia/rEhSrw6XmT4/UNvE7qW9pgYJ">here</a>.</p>
+<p>If you&apos;re working on the system app, check out the guidance listed <a href="https://groups.google.com/d/msg/mozilla.dev.gaia/rEhSrw6XmT4/UNvE7qW9pgYJ" title="See_here_for_some_rules._https://groups.google.com/d/msg/mozilla.dev.gaia/rEhSrw6XmT4/UNvE7qW9pgYJ">here</a>.</p>
 <p>Before submitting a patch we recommend you run <a href="http://closure-linter.googlecode.com/svn/trunk/closure_linter/gjslint.py" title="http://closure-linter.googlecode.com/svn/trunk/closure_linter/gjslint.py">gjslint</a> on it to check for any style errors:</p>
 <pre>gjslint --nojsdoc my_file.js</pre>
 <h3 id="Submitting_a_patch">Submitting a patch</h3>
-<p>First file or assign a bug to yourself on <a href="https://bugzilla.mozilla.org/buglist.cgi?product=Boot2Gecko&amp;component=Gaia&amp;resolution=---" title="https://bugzilla.mozilla.org/buglist.cgi?product=Boot2Gecko&amp;component=Gaia&amp;resolution=---">Bugzilla</a>, you'll need a Bugzilla account.</p>
+<p>First file or assign a bug to yourself on <a href="https://bugzilla.mozilla.org/buglist.cgi?product=Boot2Gecko&amp;component=Gaia&amp;resolution=---" title="https://bugzilla.mozilla.org/buglist.cgi?product=Boot2Gecko&amp;component=Gaia&amp;resolution=---">Bugzilla</a>, you&apos;ll need a Bugzilla account.</p>
 <p>Then create a branch on your fork of Gaia:</p>
 <pre>$ git branch branchname
 $ git checkout branchname</pre>
 <p>Commit your changes:</p>
 <pre>$ git add /file/to/add
-$ git commit -m "Bug XXXXX - Fix the broken Gaia and save the world"</pre>
+$ git commit -m &quot;Bug XXXXX - Fix the broken Gaia and save the world&quot;</pre>
 <p>Push your branch:</p>
 <pre>$ git push origin branchname</pre>
 <p>Send a pull request by navigating to the branch in your fork on GitHub and finding the pull request button.</p>
-<p>To request a review of your patch, <a href="http://globau.wordpress.com/2013/10/21/github-pull-requests-and-bugzilla/">attach the pull request</a> to the bug in Bugzilla by referencing the URL of the pull request, and set the review ("r") flag to "?" and enter the bugzilla ID of one of the <a href="https://wiki.mozilla.org/Modules/FirefoxOS" title="https://wiki.mozilla.org/Modules/FirefoxOS">module owners and peers</a> (very important - otherwise your bug will not likely be seem by anyone). The <a href="https://addons.mozilla.org/en-US/firefox/addon/github-tweaks-for-bugzilla/" title="https://addons.mozilla.org/en-US/firefox/addon/github-tweaks-for-bugzilla/">Github tweaks for bugzilla extension on AMO</a> can help automate this process by automatically creating the attachment and adding it to the bug; you will still need to set the review flag on Bugzilla.</p>
-<p>The reviewer may ask you to make some changes; you may need to amend the original commit and force push it to the original branch/pull request. Once they're is happy with your patch, they will merge it into the master branch for you. Before they do this they would prefer it if you could squash all your changes into a single commit, so your contribution can be tracked easily.</p>
+<p>To request a review of your patch, <a href="http://globau.wordpress.com/2013/10/21/github-pull-requests-and-bugzilla/">attach the pull request</a> to the bug in Bugzilla by referencing the URL of the pull request, and set the review (&quot;r&quot;) flag to &quot;?&quot; and enter the bugzilla ID of one of the <a href="https://wiki.mozilla.org/Modules/FirefoxOS" title="https://wiki.mozilla.org/Modules/FirefoxOS">module owners and peers</a> (very important - otherwise your bug will not likely be seem by anyone). The <a href="https://addons.mozilla.org/en-US/firefox/addon/github-tweaks-for-bugzilla/" title="https://addons.mozilla.org/en-US/firefox/addon/github-tweaks-for-bugzilla/">Github tweaks for bugzilla extension on AMO</a> can help automate this process by automatically creating the attachment and adding it to the bug; you will still need to set the review flag on Bugzilla.</p>
+<p>The reviewer may ask you to make some changes; you may need to amend the original commit and force push it to the original branch/pull request. Once they&apos;re is happy with your patch, they will merge it into the master branch for you. Before they do this they would prefer it if you could squash all your changes into a single commit, so your contribution can be tracked easily.</p>
 <p>The person who merge the commit (usually the reviewer) would add a <code>r=</code> flag in the comment of the merge commit.</p>
 <h2 id="Make_options">Make options</h2>
 <p>There are many undocumented nor unsupported environment variable presists in the Makefile. Do not depend on them as they may be removed in the future.</p>
@@ -107,7 +107,7 @@ APP=system make install-gaia</pre>
 <p>Gaia is currently targetting HBGA (320x240), qHD (540×960) and WVGA (480×800) only; use GAIA_DEV_PIXELS_PER_PX to make sure the images looks sharp on qHD and WVGA devices. see <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag#A_pixel_is_not_a_pixel" title="https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag#A_pixel_is_not_a_pixel">A pixel is not a pixel</a> for more information about device pixels per css pixels.</p>
 <h3 id="Script_compression_and_optimization">Script compression and optimization</h3>
 <pre>GAIA_OPTIMIZE=1 make</pre>
-<p>Concate and optimize build-in app's javascript to improve load time.</p>
+<p>Concate and optimize build-in app&apos;s javascript to improve load time.</p>
 <h3 id="Preference_shortcuts">Preference shortcuts</h3>
 <pre>NOFTU=1
 </pre>

+ 2 - 2
files/ca/archive/estàndards_web/index.html

@@ -7,7 +7,7 @@ translation_of: Archive/Web_Standards
 ---
 <p>
 </p>
-<div>Els <b>estàndards web</b> estan dissenyats amb la idea de poder oferir el major nombre beneficis al major nombre d'usuaris, i al mateix temps, garantir la major viabilitat possible per als documents que es publiquen a la Web. Acostumar-se a utilitzar aquests estàndards, simplifica i redueix els costs de producció, i al mateix temps, es proporciona llocs que són accessibles a més gent i també més tipus de dispositius d'Internet. Aquells llocs que segueixen aquestes indicacions, continuaran funicionant correctament paral·lalelament a l'evolució dels navegadors d'escriptori, com també a mesura que altres dispositius d'Internet arribin al mercat. <sup><a href="https://developer.mozilla.org/ca/docs/Archive/Est%C3%A0ndards_web#endnote_1">[1]</a></sup></div>
+<div>Els <b>estàndards web</b> estan dissenyats amb la idea de poder oferir el major nombre beneficis al major nombre d&apos;usuaris, i al mateix temps, garantir la major viabilitat possible per als documents que es publiquen a la Web. Acostumar-se a utilitzar aquests estàndards, simplifica i redueix els costs de producció, i al mateix temps, es proporciona llocs que són accessibles a més gent i també més tipus de dispositius d&apos;Internet. Aquells llocs que segueixen aquestes indicacions, continuaran funicionant correctament paral·lalelament a l&apos;evolució dels navegadors d&apos;escriptori, com també a mesura que altres dispositius d&apos;Internet arribin al mercat. <sup><a href="https://developer.mozilla.org/ca/docs/Archive/Est%C3%A0ndards_web#endnote_1">[1]</a></sup></div>
 <table class="topicpage-table">
 <tbody><tr><td>
 <h4 id="Documentaci.C3.B3" name="Documentaci.C3.B3"> <a>Documentació</a> </h4>
@@ -47,7 +47,7 @@ translation_of: Archive/Web_Standards
 </dd></dl>
 </td></tr></tbody></table>
 &lt;hr&gt;
-<p><small></small></p><div class="blockIndicator note"><small><strong>Note:</strong> 1</small></div><small> - <a href="http://webstandards.org/" class="external">The Web Standards Project</a></small>
+<p><small></small></p><div class="note notecard"><small><strong>Note:</strong> 1</small></div><small> - <a href="http://webstandards.org/" class="external">The Web Standards Project</a></small>
 <p></p><p><span class="comment">Categories</span>
 </p><p><span class="comment">Interwiki Language Links</span>
 </p><p><br>

+ 19 - 19
files/ca/archive/mozilla/xul/xul_tutorial/introducció/index.html

@@ -6,34 +6,34 @@ tags:
 translation_of: Archive/Mozilla/XUL/Tutorial/Introduction
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/ca/docs/XUL_Tutorial:XUL_Structure">Next  »</a></p>
+    <p><a href="/ca/docs/XUL_Tutorial:XUL_Structure" class="button">Next  »</a></p>
 </div>
-<p>Aquest tutorial és una guia per aprendre XUL ( Llenguatge d'Interfície d'Usuari XML ) el qual és un llenguatge multiplataforma per descriure interfícies d'usuari per aplicacions.</p>
-<p>Aquest tutorial demostrarà la creació d'una simple interfície per cercar fitxers, semblant a la provsta al programa Sherlock del Macintosh en el diàleg cerca fitxer en Windows. Cal tenir en compte que només crearem la interfície amb una funcionalitat limitada i la cerca de fitxers no serà implementada. Una línia blava apareixerà a la dreta del paràgraf quan el diàleg de cerca s'estigui modificant. Pots seguir endavant directament a través d'aquestes seccions.</p>
+<p>Aquest tutorial és una guia per aprendre XUL ( Llenguatge d&apos;Interfície d&apos;Usuari XML ) el qual és un llenguatge multiplataforma per descriure interfícies d&apos;usuari per aplicacions.</p>
+<p>Aquest tutorial demostrarà la creació d&apos;una simple interfície per cercar fitxers, semblant a la provsta al programa Sherlock del Macintosh en el diàleg cerca fitxer en Windows. Cal tenir en compte que només crearem la interfície amb una funcionalitat limitada i la cerca de fitxers no serà implementada. Una línia blava apareixerà a la dreta del paràgraf quan el diàleg de cerca s&apos;estigui modificant. Pots seguir endavant directament a través d&apos;aquestes seccions.</p>
 <h3 id="What_is_XUL_and_why_was_it_created.3F" name="What_is_XUL_and_why_was_it_created.3F">Què és XUL i perquè ha sigut creat?</h3>
-<p>XUL (pronunciat "zool" i que rima amb "cool" ) s'ha creat per fer el desenvolupament del navegador de Mozilla més fàcil i ràpid. És un llenguatge basat en XML amb el que totes les característiques i funcions d'XML són a XUL.</p>
-<p>La gran majoria d'aplicacions s'han de desenvolupar fent servir característiques d'una plataforma en concret fent la construcció de programari multiplataforma molt difícil i llarga. En el passat però ja s'han desenvolupat sol·lucions multiplataforma. Java, per exemple té la portabilitat com a principal característica. XUL és un altre llenguatge d'aques tipus que ha sigut dissenyat específicament per construir interfícies d'usuari portables. Cal molt de temps per construir una aplicació encara que sigui per una sola plataforma. El temps requerit per compilar i depurar pot ser molt llarga. Amb XUL, l'interfície pot ser implementada i modificada fàcilment i ràpidament. </p>
-<p>XUL té tots els avantatges dels llenguatges basats en XML. Per exemple XHTML o altres llenguatges XML com MathML o SVG es poden inserir al mig. També, el text que s'utilitza amb XUL és fàcilment localitzable, que vol dir que es pot traduïr a altres idiomes amb poc esforç.</p>
-<h3 id="What_kinds_of_user-interfaces_can_be_made_with_XUL.3F" name="What_kinds_of_user-interfaces_can_be_made_with_XUL.3F">Quins tipus d'interfícies es poden crear amb XUL?</h3>
-<p>XUL proporciona l'habilitat de crear la gran majoría d'elements trobats en les intefícies gràfiques modernes. Alguns elements que es poden crear són :</p>
+<p>XUL (pronunciat &quot;zool&quot; i que rima amb &quot;cool&quot; ) s&apos;ha creat per fer el desenvolupament del navegador de Mozilla més fàcil i ràpid. És un llenguatge basat en XML amb el que totes les característiques i funcions d&apos;XML són a XUL.</p>
+<p>La gran majoria d&apos;aplicacions s&apos;han de desenvolupar fent servir característiques d&apos;una plataforma en concret fent la construcció de programari multiplataforma molt difícil i llarga. En el passat però ja s&apos;han desenvolupat sol·lucions multiplataforma. Java, per exemple té la portabilitat com a principal característica. XUL és un altre llenguatge d&apos;aques tipus que ha sigut dissenyat específicament per construir interfícies d&apos;usuari portables. Cal molt de temps per construir una aplicació encara que sigui per una sola plataforma. El temps requerit per compilar i depurar pot ser molt llarga. Amb XUL, l&apos;interfície pot ser implementada i modificada fàcilment i ràpidament. </p>
+<p>XUL té tots els avantatges dels llenguatges basats en XML. Per exemple XHTML o altres llenguatges XML com MathML o SVG es poden inserir al mig. També, el text que s&apos;utilitza amb XUL és fàcilment localitzable, que vol dir que es pot traduïr a altres idiomes amb poc esforç.</p>
+<h3 id="What_kinds_of_user-interfaces_can_be_made_with_XUL.3F" name="What_kinds_of_user-interfaces_can_be_made_with_XUL.3F">Quins tipus d&apos;interfícies es poden crear amb XUL?</h3>
+<p>XUL proporciona l&apos;habilitat de crear la gran majoría d&apos;elements trobats en les intefícies gràfiques modernes. Alguns elements que es poden crear són :</p>
 <ul>
- <li>Controls d'entrada com caixes de text i caselles de selecció</li>
- <li>Barres d'eines amb botons o d'altres continguts</li>
- <li>Menús en una barra d'eines o en menus emergents</li>
+ <li>Controls d&apos;entrada com caixes de text i caselles de selecció</li>
+ <li>Barres d&apos;eines amb botons o d&apos;altres continguts</li>
+ <li>Menús en una barra d&apos;eines o en menus emergents</li>
  <li>Diàlegs amb pestanyes</li>
  <li>Àrbres per informació jerarquitzada o tabular</li>
  <li>Dreçeres de teclat</li>
 </ul>
-<p>El contingut que s'ensenya pot ser creat directament a un fitxer XUL o amb dades provinents d'una font de dades. A Mozilla, aquestes fonts de dades inclouen la bústia de correu de l'usuari, els seus marcadors i els resultats de les cerques. El contingut dels menús, àrbres i altres elements poden ser emplenats amb aquestes dades o amb les que proporciones tu mateix a dins un fitxer RDF.</p>
-<p>Hi ha diverses maneres d'utilitzar XUL:</p>
+<p>El contingut que s&apos;ensenya pot ser creat directament a un fitxer XUL o amb dades provinents d&apos;una font de dades. A Mozilla, aquestes fonts de dades inclouen la bústia de correu de l&apos;usuari, els seus marcadors i els resultats de les cerques. El contingut dels menús, àrbres i altres elements poden ser emplenats amb aquestes dades o amb les que proporciones tu mateix a dins un fitxer RDF.</p>
+<p>Hi ha diverses maneres d&apos;utilitzar XUL:</p>
 <ul>
- <li>Extensió del Firefox -- una extensió afegeix functionalitat al navegador mateix, sovint en forma de barres d'eines extra, menús contextuals, o modificacions de la interfície d'usuari (UI) del navegador. Això es fa utilitzant una característica de XUL anomanada <strong>overlay</strong>, que permet la UI provinent d'una font, en aquest cas, el navegador Firefox, ser mesclada en la UI per extensió. Les extensions també poden ser aplicades a altres productes basats en Mozilla com Thunderbird.</li>
+ <li>Extensió del Firefox -- una extensió afegeix functionalitat al navegador mateix, sovint en forma de barres d&apos;eines extra, menús contextuals, o modificacions de la interfície d&apos;usuari (UI) del navegador. Això es fa utilitzant una característica de XUL anomanada <strong>overlay</strong>, que permet la UI provinent d&apos;una font, en aquest cas, el navegador Firefox, ser mesclada en la UI per extensió. Les extensions també poden ser aplicades a altres productes basats en Mozilla com Thunderbird.</li>
  <li>Aplicació per separat XULRunner -- XULRunner és una versió empaquetada de la plataforma Mozilla que us permet crear aplicacions XUL per separat. No es requereix un navegador per correr aquestes aplicacions, com si tinguessinel seu propi fitxer executable.</li>
- <li>Paquet XUL -- in between the other two are applications which are created in the same way as an extension, but they act like a separate application in a separate window. This is used when you don't want to have the larger size of a complete XULRunner application, but don't mind requiring a Mozilla browser to be installed to be able to run the application.</li>
+ <li>Paquet XUL -- in between the other two are applications which are created in the same way as an extension, but they act like a separate application in a separate window. This is used when you don&apos;t want to have the larger size of a complete XULRunner application, but don&apos;t mind requiring a Mozilla browser to be installed to be able to run the application.</li>
  <li>Remote XUL application -- you can also just place XUL code on a web server and open it in a browser, as you would any other web page. This method is limited however, as there are security concerns that will limit the kinds of things you will be able to do, such as opening other windows.</li>
 </ul>
-<p>The first three types all require an installation to be performed on the user's machine. However, these types of applications do not have security restrictions placed on them, so they may access local files and read and write preferences, for example. For extensions, the XUL files and associated scripts and images used by an application would be packaged into a single file and downloaded and installed by the user. Mozilla applications such as Firefox provide an extension manager which allows packages to be installed without having to write a lot of complex code.</p>
-<p>It is also possible to open XUL files directly from the file system or from a remote web site; however they will be restricted in the kinds of operations they can do, and some aspects of XUL will not work. However, if you do want to load XUL content from a remote site, the Web server must be set up to send XUL files with the content type "application/vnd.mozilla.xul+xml". XUL is usually stored in files with a <code>.xul</code> extension. You can open a XUL file with Mozilla as you would any other file, using the Open File command from the File menu or typing the URL into the address bar.</p>
+<p>The first three types all require an installation to be performed on the user&apos;s machine. However, these types of applications do not have security restrictions placed on them, so they may access local files and read and write preferences, for example. For extensions, the XUL files and associated scripts and images used by an application would be packaged into a single file and downloaded and installed by the user. Mozilla applications such as Firefox provide an extension manager which allows packages to be installed without having to write a lot of complex code.</p>
+<p>It is also possible to open XUL files directly from the file system or from a remote web site; however they will be restricted in the kinds of operations they can do, and some aspects of XUL will not work. However, if you do want to load XUL content from a remote site, the Web server must be set up to send XUL files with the content type &quot;application/vnd.mozilla.xul+xml&quot;. XUL is usually stored in files with a <code>.xul</code> extension. You can open a XUL file with Mozilla as you would any other file, using the Open File command from the File menu or typing the URL into the address bar.</p>
 <h3 id="What_do_I_need_to_know_to_use_this_tutorial.3F" name="What_do_I_need_to_know_to_use_this_tutorial.3F">What do I need to know to use this tutorial?</h3>
 <p>You should have an understanding of <abbr title="HyperText Markup Language">HTML</abbr> and at least a basic understanding of XML and <abbr title="Cascading Style Sheets">CSS</abbr>. Here are some guidelines to keep in mind:</p>
 <ul>
@@ -42,7 +42,7 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Introduction
  <li>XUL files are usually split into four files, one each for the layout and elements, for style declarations, for entity declarations (used for localization) and for scripts. In addition, you may have extra files for images or for platform specific data.</li>
 </ul>
 <p>XUL is supported in Mozilla and browsers that are also based upon on the Gecko engine, such as Netscape 6 or later and Mozilla Firefox. Due to various changes in XUL syntax over time, you will want to get the latest version for the examples to work properly. Most examples should work in Mozilla 1.0 or later. XUL is fairly similar in Firefox and to other browsers, although it has some specific differences such as support for customizable toolbars.</p>
-<p>This tutorial attempts to cover much of XUL's functionality, however, not all features are discussed. Once you are familiar with XUL, you can use the <a href="/en/XUL_Reference" title="en/XUL_Reference">XUL Reference</a> to find out about other features supported by specific elements.</p>
+<p>This tutorial attempts to cover much of XUL&apos;s functionality, however, not all features are discussed. Once you are familiar with XUL, you can use the <a href="/en/XUL_Reference" title="en/XUL_Reference">XUL Reference</a> to find out about other features supported by specific elements.</p>
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/ca/docs/XUL_Tutorial:XUL_Structure">Next  »</a></p>
+    <p><a href="/ca/docs/XUL_Tutorial:XUL_Structure" class="button">Next  »</a></p>
 </div>

+ 16 - 16
files/ca/creació_de_connectors_mozsearch/index.html

@@ -6,46 +6,46 @@ tags:
   - Connectors_de_cerca
 translation_of: Mozilla/Creating_MozSearch_plugins
 ---
-<p>El <a href="ca/Firefox_2">Firefox 2</a> utilitza una forma simplificada del format <a href="http://opensearch.org/" class="external">OpenSearch</a> per a emmagatzemar els connectors de cerca. Un connector de cerca MozSearch és un fitxer XML que descriu el motor de cerca, el seu URL, i els paràmetres que cal passar a l'URL.
+<p>El <a href="ca/Firefox_2">Firefox 2</a> utilitza una forma simplificada del format <a href="http://opensearch.org/" class="external">OpenSearch</a> per a emmagatzemar els connectors de cerca. Un connector de cerca MozSearch és un fitxer XML que descriu el motor de cerca, el seu URL, i els paràmetres que cal passar a l&apos;URL.
 </p>
-<div class="warning"><b>Avís:</b> MozSearch no és estàndard i només és per a ús intern dins del projecte Mozilla. Només hauria d'utilitzar-se si la vostra intenció és distribuir el connector de cerca juntament amb una extensió del Firefox, o si n'esteu creant perquè puguin anar-hi per defecte amb el programa. Per a crear connectors de cerca que s'instal·lin des del web, consulteu <a href="ca/Creaci%c3%b3_de_connectors_OpenSearch_per_al_Firefox">Creació de connectors OpenSearch per al Firefox</a></div>
+<div class="warning notecard"><b>Avís:</b> MozSearch no és estàndard i només és per a ús intern dins del projecte Mozilla. Només hauria d&apos;utilitzar-se si la vostra intenció és distribuir el connector de cerca juntament amb una extensió del Firefox, o si n&apos;esteu creant perquè puguin anar-hi per defecte amb el programa. Per a crear connectors de cerca que s&apos;instal·lin des del web, consulteu <a href="ca/Creaci%c3%b3_de_connectors_OpenSearch_per_al_Firefox">Creació de connectors OpenSearch per al Firefox</a></div>
 <h2 id="El_fitxer_del_connector">El fitxer del connector</h2>
-<p>El format MozSearch és similar al de l'<a href="ca/Creaci%c3%b3_de_connectors_OpenSearch_per_al_Firefox">OpenSearch</a>. L'única diferència és l'element arrel i l'espai de noms XML.
+<p>El format MozSearch és similar al de l&apos;<a href="ca/Creaci%c3%b3_de_connectors_OpenSearch_per_al_Firefox">OpenSearch</a>. L&apos;única diferència és l&apos;element arrel i l&apos;espai de noms XML.
 </p>
 <h2 id="Exemple_cercar_amb_Yahoo!">Exemple: cercar amb Yahoo!</h2>
-<p>El següent XML és el connector de cerca de Yahoo! que s'inclou al Firefox 2:
+<p>El següent XML és el connector de cerca de Yahoo! que s&apos;inclou al Firefox 2:
 </p>
-<pre>&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"&gt;
+<pre>&lt;SearchPlugin xmlns=&quot;http://www.mozilla.org/2006/browser/search/&quot;&gt;
 &lt;ShortName&gt;Yahoo&lt;/ShortName&gt;
 &lt;Description&gt;Cerca de Yahoo!&lt;/Description&gt;
 &lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;
 &lt;SuggestionUrl&gt;http://ff.search.yahoo.com/gossip?output=fxjson&amp;command=&lt;/SuggestionUrl&gt;
-&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,R0lGODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0NogQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==&lt;/Image&gt;
-&lt;Url type="text/html" method="GET" template="http://ct.search.yahoo.com/search"&gt;
-  &lt;Param name="p" value="{searchTerms}"/&gt;
-  &lt;Param name="ei" value="UTF-8"/&gt;
-  &lt;Param name="fr" value="moz2"/&gt;
+&lt;Image width=&quot;16&quot; height=&quot;16&quot;&gt;data:image/x-icon;base64,R0lGODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0NogQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==&lt;/Image&gt;
+&lt;Url type=&quot;text/html&quot; method=&quot;GET&quot; template=&quot;http://ct.search.yahoo.com/search&quot;&gt;
+  &lt;Param name=&quot;p&quot; value=&quot;{searchTerms}&quot;/&gt;
+  &lt;Param name=&quot;ei&quot; value=&quot;UTF-8&quot;/&gt;
+  &lt;Param name=&quot;fr&quot; value=&quot;moz2&quot;/&gt;
 &lt;/Url&gt;
 &lt;SearchForm&gt;http://ct.search.yahoo.com/&lt;/SearchForm&gt;
 &lt;/SearchPlugin&gt;
 </pre>
-<p>Suposem que l'usuari tria el connector del motor de cerca de Yahoo! i introdueix «mozilla» en el quadre de cerca, i a continuacó prem la tecla Retorn. El Firefox farà servir la descripció del motor de cerca anterior per a construir la següent URL de cerca:
+<p>Suposem que l&apos;usuari tria el connector del motor de cerca de Yahoo! i introdueix «mozilla» en el quadre de cerca, i a continuacó prem la tecla Retorn. El Firefox farà servir la descripció del motor de cerca anterior per a construir la següent URL de cerca:
 </p><p><span class="nowiki">http://ct.search.yahoo.com/search?p=mozilla&amp;ei=UTF-8&amp;fr=moz2</span>
-</p><p>Si l'usuari clica la icona de la lupa de barra de cerca, o bé tria l'opció de Cerca Web al menú d'Eines quan la barra de cerca no sigui visible, el navegador el portarà a &lt;tt&gt;<span class="nowiki">http://ct.search.yahoo.com/</span>&lt;/tt&gt;, el valor de l'element <code>&lt;SearchForm&gt;</code>.
+</p><p>Si l&apos;usuari clica la icona de la lupa de barra de cerca, o bé tria l&apos;opció de Cerca Web al menú d&apos;Eines quan la barra de cerca no sigui visible, el navegador el portarà a &lt;tt&gt;<span class="nowiki">http://ct.search.yahoo.com/</span>&lt;/tt&gt;, el valor de l&apos;element <code>&lt;SearchForm&gt;</code>.
 </p>
 <h2 id="Exemple_cercar_al_MDC">Exemple: cercar al MDC</h2>
 <p>Aquest connector us permet cercar fàcilment el lloc web del Centre de desenvolupament de Mozilla.
 </p>
-<pre>&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"&gt;
+<pre>&lt;SearchPlugin xmlns=&quot;http://www.mozilla.org/2006/browser/search/&quot;&gt;
 &lt;ShortName&gt;MDC&lt;/ShortName&gt;
 &lt;Description&gt;Cerca del Centre de desenvolupament de Mozilla&lt;/Description&gt;
 &lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;
-&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz%2F%2Fz8DJQAggJiQOe%2Ffv2fv7Oz8rays%2FN%2BVkfG%2FiYnJfyD%2F1%2BrVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw%2F8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq%2FvLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD%2BaDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D&lt;/Image&gt;
-&lt;Url type="text/html" method="GET" template="http://developer.mozilla.org/ca/docs/Special:Search?search={searchTerms}"/&gt;
+&lt;Image width=&quot;16&quot; height=&quot;16&quot;&gt;data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz%2F%2Fz8DJQAggJiQOe%2Ffv2fv7Oz8rays%2FN%2BVkfG%2FiYnJfyD%2F1%2BrVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw%2F8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq%2FvLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD%2BaDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D&lt;/Image&gt;
+&lt;Url type=&quot;text/html&quot; method=&quot;GET&quot; template=&quot;http://developer.mozilla.org/ca/docs/Special:Search?search={searchTerms}&quot;/&gt;
 &lt;SearchForm&gt;http://developer.mozilla.org/ca/docs/Special:Search&lt;/SearchForm&gt;
 &lt;/SearchPlugin&gt;
 </pre>
-<p>Tingueu en compte que en aquest cas, en comptes de fer servir <code>&lt;Param&gt;</code> per a definir els paràmetres per al motor de cerca, aquests simplement s'inclouen dins de l'URL de plantilla. Aquesta és, de fet, la forma recomanable de fer-ho quan s'utilitzi <code>GET</code> com a mètode. <code>&lt;Param&gt;</code> ha d'utilitzar-se per a <code>POST</code>.
+<p>Tingueu en compte que en aquest cas, en comptes de fer servir <code>&lt;Param&gt;</code> per a definir els paràmetres per al motor de cerca, aquests simplement s&apos;inclouen dins de l&apos;URL de plantilla. Aquesta és, de fet, la forma recomanable de fer-ho quan s&apos;utilitzi <code>GET</code> com a mètode. <code>&lt;Param&gt;</code> ha d&apos;utilitzar-se per a <code>POST</code>.
 </p>
 <h2 id="Vegeu_també">Vegeu també</h2>
 <ul><li><a href="ca/Creaci%c3%b3_de_connectors_OpenSearch_per_al_Firefox#Resoluci.C3.B3_de_problemes">Resolució de problemes</a>

+ 38 - 38
files/ca/fent_servir_mòduls_de_codi_javascript/index.html

@@ -8,89 +8,89 @@ translation_of: Mozilla/JavaScript_code_modules/Using
 <p></p>
 <p>Els mòduls de codi és són un concepte introduït a Firefox 3 (Gecko 1.9) i es poden fer servir per compartir codi entre diferents àmbits. Els mòduls a més es poden fer servir per crear codi Javascript que segueix el patró singleton i que anteriorment hagin necessitat fer servir objectes XPCOM Javascript. Un mòdul és simplement codi Javascript registrat i desat en una localització específica. El mòdul serà carregat en un àmbit Javascript específic segons sigui un script XUL o un script XPCOM fent servir <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a>.</p>
 <p>Un mòdul simple pot ser aquest :</p>
-<pre>var EXPORTED_SYMBOLS = ["foo", "bar"]
+<pre>var EXPORTED_SYMBOLS = [&quot;foo&quot;, &quot;bar&quot;]
 
 function foo() {
-  return "foo";
+  return &quot;foo&quot;;
 }
 
 var bar = {
-  name : "bar",
-  size : "3"
+  name : &quot;bar&quot;,
+  size : &quot;3&quot;
 };
 
-var dummy = "dummy";
+var dummy = &quot;dummy&quot;;
 </pre>
-<p>Cal tenir en compte que el mòdul fa servir sintàxi tradicional per crear funcions, objectes, constants i qualsevol altre tipus Javascript. El mòdul també defineix una llista especial anomenada EXPORTED_SIMBOLS que serà exportat desde el codi i s'injectarà en l'àmbit d'importació. Per exemple :</p>
-<pre>Components.utils.import("resource://app/modules/my_module.jsm");
+<p>Cal tenir en compte que el mòdul fa servir sintàxi tradicional per crear funcions, objectes, constants i qualsevol altre tipus Javascript. El mòdul també defineix una llista especial anomenada EXPORTED_SIMBOLS que serà exportat desde el codi i s&apos;injectarà en l&apos;àmbit d&apos;importació. Per exemple :</p>
+<pre>Components.utils.import(&quot;resource://app/modules/my_module.jsm&quot;);
 
-alert(foo());         // displays "foo"
-alert(bar.size + 3);  // displays "6"
-alert(dummy);         // displays "dummy is not defined" because 'dummy' was not exported from the module
+alert(foo());         // displays &quot;foo&quot;
+alert(bar.size + 3);  // displays &quot;6&quot;
+alert(dummy);         // displays &quot;dummy is not defined&quot; because &apos;dummy&apos; was not exported from the module
 </pre>
-<p>Un comportament extremadament important és el de <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a>, ja que els mòduls són desats en un cache temporal de manera que les següents importacions del mateix no recarregaran el codi si no que faran servir la versió cachejada. Això vol dir que un mòdul pot ser compartit per vàries importacions. Qualsevol modificació que es faci a les funcions, variables o objectes del mòdul en un àmbit d'execució estarà disponible a tots els altres àmbits automàticament. Per exemple en el mòdul simple que hem presentat abans si havessim importat en dos llocs diferents els canvis d'un restarien disponibles en l'altre de manera automàtica.</p>
+<p>Un comportament extremadament important és el de <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a>, ja que els mòduls són desats en un cache temporal de manera que les següents importacions del mateix no recarregaran el codi si no que faran servir la versió cachejada. Això vol dir que un mòdul pot ser compartit per vàries importacions. Qualsevol modificació que es faci a les funcions, variables o objectes del mòdul en un àmbit d&apos;execució estarà disponible a tots els altres àmbits automàticament. Per exemple en el mòdul simple que hem presentat abans si havessim importat en dos llocs diferents els canvis d&apos;un restarien disponibles en l&apos;altre de manera automàtica.</p>
 <p>Àmbit 1:</p>
-<pre>Components.utils.import("resource://app/modules/my_module.jsm");
+<pre>Components.utils.import(&quot;resource://app/modules/my_module.jsm&quot;);
 
-alert(bar.size + 3);  // Imprimeix "6"
+alert(bar.size + 3);  // Imprimeix &quot;6&quot;
 
 bar.size = 10;
 </pre>
 <p>Àmbit 2:</p>
-<pre>Components.utils.import("resource://app/modules/my_module.jsm");
+<pre>Components.utils.import(&quot;resource://app/modules/my_module.jsm&quot;);
 
-alert(foo());         // Imprimeix "foo"
-alert(bar.size + 3);  // Imprimeix "13"
+alert(foo());         // Imprimeix &quot;foo&quot;
+alert(bar.size + 3);  // Imprimeix &quot;13&quot;
 </pre>
 <p>Aquest comportament de compartir codi es pot fer servir per crear objectes que segueixin el patró singleton per compatir data entre finestres, scripts XUL i components XPCOM.</p>
-<p></p><div class="blockIndicator note"><strong>Note:</strong> Cada àmbit que import aun mòdul el rep per valor els símbols importats en aquest mòdul. Els canvis als símbols no seran propagats a altres àmbits.</div><p></p>
+<p></p><div class="note notecard"><strong>Note:</strong> Cada àmbit que import aun mòdul el rep per valor els símbols importats en aquest mòdul. Els canvis als símbols no seran propagats a altres àmbits.</div><p></p>
 <p>Àmbit 1:</p>
-<pre>Components.utils.import("resource://app/modules/my_module.jsm");
+<pre>Components.utils.import(&quot;resource://app/modules/my_module.jsm&quot;);
 
-bar = "foo";
-alert(bar);         // Imprimeix "foo"
+bar = &quot;foo&quot;;
+alert(bar);         // Imprimeix &quot;foo&quot;
 </pre>
 <p>Àmbit 2:</p>
-<pre>Components.utils.import("resource://app/modules/my_module.jsm");
+<pre>Components.utils.import(&quot;resource://app/modules/my_module.jsm&quot;);
 
-alert(bar);         // Imprimeix "[object Object]"
+alert(bar);         // Imprimeix &quot;[object Object]&quot;
 </pre>
-<p>L'efecte principal de la còpia per valor és que les variables globals o els tipus simples no seràn compartits per els diferents àmbits d'execució disponibles. Posa sempre les variables a dins d'una classe i exporta aquesta ( tal i com fem amb bar en l'exemple anterior ).</p>
+<p>L&apos;efecte principal de la còpia per valor és que les variables globals o els tipus simples no seràn compartits per els diferents àmbits d&apos;execució disponibles. Posa sempre les variables a dins d&apos;una classe i exporta aquesta ( tal i com fem amb bar en l&apos;exemple anterior ).</p>
 <h4 id="resource:_Protocol" name="resource:_Protocol">resource: Protocol</h4>
-<p>Quan ferm servir <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a>, et donaràs compte que els mòduls són carregats fent servir el protocol "<a class="external" rel="freelink">resource://</a>". La sintàxi bàsica per a un recurs en una URL és la següent :</p>
+<p>Quan ferm servir <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a>, et donaràs compte que els mòduls són carregats fent servir el protocol &quot;<a class="external" rel="freelink">resource://</a>&quot;. La sintàxi bàsica per a un recurs en una URL és la següent :</p>
 <pre class="eval"><a class="external" rel="freelink">resource://</a>&lt;alias&gt;/&lt;cami-relatiu&gt;/&lt;file.js|jsm&gt;
 </pre>
-<p>El <code>&lt;alias&gt;</code> és un àlies al lloc que sempre és un camí relatiu a l'aplicació o al entorn d'execució XUL. Hi ha vàris àlies predefinits que configura l'entorn d'execució XUL automàticament:</p>
+<p>El <code>&lt;alias&gt;</code> és un àlies al lloc que sempre és un camí relatiu a l&apos;aplicació o al entorn d&apos;execució XUL. Hi ha vàris àlies predefinits que configura l&apos;entorn d&apos;execució XUL automàticament:</p>
 <ul>
- <li><code>app</code> - Àlies al camí de l'aplicació XUL.</li>
- <li><code>gre</code> - Àlies al camí de l'entorn d'execució i sdk XUL.</li>
+ <li><code>app</code> - Àlies al camí de l&apos;aplicació XUL.</li>
+ <li><code>gre</code> - Àlies al camí de l&apos;entorn d&apos;execució i sdk XUL.</li>
 </ul>
-<p>El <code>&lt;relative-path&gt;</code> pot ser varis nivells més endins i sempre és relatiu al camí ja definit a &lt;alias&gt;. El camí més comú és "modules" tal i com fa servir Firefox i XUL Runner. Els mòduls són fitxers Javascript amb l'extensió .js o .jsm.</p>
-<p>La manera més fàcil d'afegir un mòdul a una aplicació XUL o una extensió Firefox és definir-la amb un àlies en el fitxer <a href="/en/Chrome_Registration" title="en/Chrome_Registration">chrome manifest</a> de la següent manera:</p>
+<p>El <code>&lt;relative-path&gt;</code> pot ser varis nivells més endins i sempre és relatiu al camí ja definit a &lt;alias&gt;. El camí més comú és &quot;modules&quot; tal i com fa servir Firefox i XUL Runner. Els mòduls són fitxers Javascript amb l&apos;extensió .js o .jsm.</p>
+<p>La manera més fàcil d&apos;afegir un mòdul a una aplicació XUL o una extensió Firefox és definir-la amb un àlies en el fitxer <a href="/en/Chrome_Registration" title="en/Chrome_Registration">chrome manifest</a> de la següent manera:</p>
 <pre class="eval">resource <em>aliasname</em> <em>uri/to/files/</em>
 </pre>
-<p>Per exemple, si el XPI per l'extensió <em>foo</em> inclou un directori principal per als mòduls i que conté el <em>bar.js</em>, pots crear un àlies a aquest directori amb la següent instrucció :</p>
+<p>Per exemple, si el XPI per l&apos;extensió <em>foo</em> inclou un directori principal per als mòduls i que conté el <em>bar.js</em>, pots crear un àlies a aquest directori amb la següent instrucció :</p>
 <pre class="eval">resource foo modules/
 </pre>
 <p>Llavors ja podràs importar el mòdul en el teu codi Javascript amb la següent sintàxi :</p>
-<pre class="eval">Components.utils.import("<a class="external" rel="freelink">resource://foo/bar.js</a>");
+<pre class="eval">Components.utils.import(&quot;<a class="external" rel="freelink">resource://foo/bar.js</a>&quot;);
 </pre>
 <h3 id="Programmatically_adding_aliases" name="Programmatically_adding_aliases">Afegint àlies de manera automatitzada</h3>
 <p>Els àlies es poden afegir de manera automatitzada a través de codi font també. Per exemple :</p>
-<pre>var ioService = Components.classes["@mozilla.org/network/io-service;1"]
+<pre>var ioService = Components.classes[&quot;@mozilla.org/network/io-service;1&quot;]
                           .getService(Components.interfaces.nsIIOService);
-var resProt = ioService.getProtocolHandler("resource")
+var resProt = ioService.getProtocolHandler(&quot;resource&quot;)
                        .QueryInterface(Components.interfaces.nsIResProtocolHandler);
 
-var aliasFile = Components.classes["@mozilla.org/file/local;1"]
+var aliasFile = Components.classes[&quot;@mozilla.org/file/local;1&quot;]
                           .createInstance(Components.interfaces.nsILocalFile);
-aliasFile.initWithPath("/some/absolute/path");
+aliasFile.initWithPath(&quot;/some/absolute/path&quot;);
 
 var aliasURI = ioService.newFileURI(aliasFile);
-resProt.setSubstitution("myalias", aliasURI);
+resProt.setSubstitution(&quot;myalias&quot;, aliasURI);
 
-// Assumeix que el codi dels móduls són en el directori de l'àlies i no en cap subdirectori
-Components.utils.import("resource://myalias/file.jsm");
+// Assumeix que el codi dels móduls són en el directori de l&apos;àlies i no en cap subdirectori
+Components.utils.import(&quot;resource://myalias/file.jsm&quot;);
 
 // ...
 </pre>

+ 2 - 2
files/ca/mozilla/projects/index.html

@@ -9,12 +9,12 @@ tags:
   - TopicStub
 translation_of: Mozilla/Projects
 ---
-<p></p><div class="blockIndicator draft">
+<p></p><div class="draft notecard">
     <p><strong>Draft</strong><br>
     This page is not complete.</p>
 
 </div><p></p>
-<p>Below you'll find links to documentation about various Mozilla projects; these are often parts of Firefox or other products, but may also be used in other projects as well.</p>
+<p>Below you&apos;ll find links to documentation about various Mozilla projects; these are often parts of Firefox or other products, but may also be used in other projects as well.</p>
 <p></p><div class="row topicpage-table">
     <div class="section"><dl><dl><dt></dt></dl></dl></div>
     <div class="section"><dl><dt class="landingPageList"><a href="/ca/docs/Rhino">Rhino</a></dt><dd class="landingPageList"><strong>Rhino</strong> is an open-source implementation of <a href="/en/JavaScript" title="en/JavaScript">JavaScript</a> written entirely in Java. It is typically embedded into Java applications to provide scripting to end users. It is embedded in J2SE 6 as the default Java scripting engine.</dd></dl></div>

File diff suppressed because it is too large
+ 0 - 0
files/ca/web/css/_doublecolon_-ms-fill-lower/index.html


File diff suppressed because it is too large
+ 0 - 0
files/ca/web/css/_doublecolon_-ms-fill-upper/index.html


File diff suppressed because it is too large
+ 0 - 0
files/ca/web/css/_doublecolon_-ms-fill/index.html


File diff suppressed because it is too large
+ 0 - 0
files/ca/web/css/_doublecolon_-ms-thumb/index.html


File diff suppressed because it is too large
+ 0 - 0
files/ca/web/css/_doublecolon_-ms-track/index.html


+ 1 - 1
files/ca/web/javascript/reference/functions/arguments/caller/index.html

@@ -154,7 +154,7 @@ translation_of: Archive/Web/JavaScript/arguments.caller
 
 <h2 id="Compatibilitat_amb_navegadors">Compatibilitat amb navegadors</h2>
 
-<div class="blockIndicator warning"><strong><a href="https://github.com/mdn/browser-compat-data">We&apos;re converting our compatibility data into a machine-readable JSON format</a></strong>.
+<div class="warning notecard"><strong><a href="https://github.com/mdn/browser-compat-data">We&apos;re converting our compatibility data into a machine-readable JSON format</a></strong>.
             This compatibility table still uses the old format,
             because we haven&apos;t yet converted the data it contains.
             <strong><a href="/ca/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></div>

File diff suppressed because it is too large
+ 0 - 0
files/ca/web/javascript/reference/global_objects/function/arity/index.html


File diff suppressed because it is too large
+ 0 - 0
files/ca/web/javascript/reference/global_objects/object/count/index.html


File diff suppressed because it is too large
+ 0 - 0
files/ca/web/javascript/reference/global_objects/object/eval/index.html


+ 1 - 1
files/ca/web/javascript/reference/global_objects/object/observe/index.html

@@ -129,7 +129,7 @@ setPosition(point, 3, 4);
 
 <h2 id="Compatibilitat_amb_navegadors">Compatibilitat amb navegadors</h2>
 
-<div><div class="blockIndicator warning"><strong><a href="https://github.com/mdn/browser-compat-data">We&apos;re converting our compatibility data into a machine-readable JSON format</a></strong>.
+<div><div class="warning notecard"><strong><a href="https://github.com/mdn/browser-compat-data">We&apos;re converting our compatibility data into a machine-readable JSON format</a></strong>.
             This compatibility table still uses the old format,
             because we haven&apos;t yet converted the data it contains.
             <strong><a href="/ca/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></div>

+ 1 - 1
files/ca/web/javascript/referencia/objectes_globals/array/observe/index.html

@@ -69,7 +69,7 @@ arr.splice(1, 2, &apos;beta&apos;, &apos;gamma&apos;, &apos;delta&apos;);
 
 <h2 id="Compatibilitat_amb_navegadors">Compatibilitat amb navegadors</h2>
 
-<div><div class="blockIndicator warning"><strong><a href="https://github.com/mdn/browser-compat-data">We&apos;re converting our compatibility data into a machine-readable JSON format</a></strong>.
+<div><div class="warning notecard"><strong><a href="https://github.com/mdn/browser-compat-data">We&apos;re converting our compatibility data into a machine-readable JSON format</a></strong>.
             This compatibility table still uses the old format,
             because we haven&apos;t yet converted the data it contains.
             <strong><a href="/ca/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></div>

File diff suppressed because it is too large
+ 0 - 0
files/ca/web/javascript/referencia/objectes_globals/number/tointeger/index.html


File diff suppressed because it is too large
+ 0 - 0
files/ca/web/javascript/referencia/objectes_globals/string/quote/index.html


+ 2 - 2
files/de/archive/b2g_os/api/navigator/index.html

@@ -10,11 +10,11 @@ tags:
   - Reference
 translation_of: Archive/B2G_OS/API/Navigator
 ---
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/de/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Ähnliche Seiten zu Firefox OS</summary><ol><li><a href="/de/docs/Web/API/MozAlarmsManager"><code>MozAlarmsManager</code></a></li><li><a href="/de/docs/Web/API/MozMobileNetworkInfo"><code>MozMobileNetworkInfo</code></a></li><li><a href="/de/docs/Web/API/MozWifiP2pGroupOwner"><code>MozWifiP2pGroupOwner</code></a></li></ol></details></li></ol></section><div class="blockIndicator draft">
+<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/de/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Ähnliche Seiten zu Firefox OS</summary><ol><li><a href="/de/docs/Web/API/MozAlarmsManager"><code>MozAlarmsManager</code></a></li><li><a href="/de/docs/Web/API/MozMobileNetworkInfo"><code>MozMobileNetworkInfo</code></a></li><li><a href="/de/docs/Web/API/MozWifiP2pGroupOwner"><code>MozWifiP2pGroupOwner</code></a></li></ol></details></li></ol></section><div class="draft notecard">
     <p><strong>Draft</strong><br>
     This page is not complete.</p>
 
-</div><div class="blockIndicator nonStandard nonStandardHeader">
+</div><div class="nonStandard nonStandardHeader notecard">
       <p><strong><span class="icon-only-inline" title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> Kein Standard</strong><br>
       Diese Funktion ist nicht Teil der W3C-Standards, allerdings wird sie innerhalb der Platform des Firefox-Betriebssystems unterstützt. Obwohl sich Implementierungen über längere Zeit ändern können und die Funktion gegenwärtig nicht universell von allen Browsern unterstüzt wird, ist sie durchaus für den Programmiergebrauch in dedizierten Applikationen für das Firefox-Betriebssystem geeignet.</p>
       </div><p></p>

+ 2 - 2
files/de/archive/b2g_os/api/navigator/requestwakelock/index.html

@@ -3,7 +3,7 @@ title: Navigator.requestWakeLock()
 slug: Archive/B2G_OS/API/Navigator/requestWakeLock
 translation_of: Archive/B2G_OS/API/Navigator/requestWakeLock
 ---
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/de/docs/Web/API/Wake_Lock_API">Wake Lock API</a></strong></li><li><strong><a href="/de/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Ähnliche Seiten zu Wake Lock API</summary><ol><li><a href="/de/docs/Web/API/MozWakeLock"><code>MozWakeLock</code></a></li></ol></details></li></ol></section><div class="blockIndicator nonStandard nonStandardHeader">
+<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/de/docs/Web/API/Wake_Lock_API">Wake Lock API</a></strong></li><li><strong><a href="/de/docs/Web/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Ähnliche Seiten zu Wake Lock API</summary><ol><li><a href="/de/docs/Web/API/MozWakeLock"><code>MozWakeLock</code></a></li></ol></details></li></ol></section><div class="nonStandard nonStandardHeader notecard">
       <p><strong><span class="icon-only-inline" title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> Kein Standard</strong><br>
       Diese Funktion entspricht nicht dem Standard und ist nicht Teil der Standardisierung. Diese Funktion darf nicht in Webseiten, die via das Internet zugänglich sind, benutzt werden: Sie wird nicht für alle Nutzer funktionieren. Es kann zu umfangreichen Inkompatibilitäten zwischen verschiedenen Implementierungen kommen und die Funktionsweise oder Eigenschaften könnten in der Zukunft verändert werden.</p>
       </div><p></p>
@@ -31,7 +31,7 @@ translation_of: Archive/B2G_OS/API/Navigator/requestWakeLock
 
 <h2 id="Specification" name="Specification">Specification</h2>
 
-<p>W3C tracks <a href="https://www.w3.org/TR/2014/NOTE-wake-lock-use-cases-20140814">Wake Lock: Use cases</a> and is working on the Editor's traft <a href="https://w3c.github.io/wake-lock">API</a>.</p>
+<p>W3C tracks <a href="https://www.w3.org/TR/2014/NOTE-wake-lock-use-cases-20140814">Wake Lock: Use cases</a> and is working on the Editor&apos;s traft <a href="https://w3c.github.io/wake-lock">API</a>.</p>
 
 <h2 id="See_also">See also</h2>
 

+ 35 - 35
files/de/archive/b2g_os/building_and_installing_firefox_os/compatible_devices/index.html

@@ -19,9 +19,9 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
  <tbody>
   <tr>
    <td style="text-align: center;"><strong>Image</strong></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/13384/Z3C_B2G.png" alt="" style="height: 154px; width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12039/generic.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12039/generic.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/13384/Z3C_B2G.png" alt style="height: 154px; width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12039/generic.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12039/generic.png" alt style="max-width: 133px;"></td>
   </tr>
   <tr>
    <td style="text-align: center;"><strong>Name<br>
@@ -69,10 +69,10 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
  <tbody>
   <tr>
    <td style="text-align: center;"><strong>Image</strong></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12039/generic.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12035/nexus5.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/13665/WileyFoxSwift_B2G.png" alt="" style="height: 157px; width: 79px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12039/generic.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12039/generic.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12035/nexus5.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/13665/WileyFoxSwift_B2G.png" alt style="height: 157px; width: 79px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12039/generic.png" alt style="max-width: 133px;"></td>
   </tr>
   <tr>
    <td style="text-align: center;"><strong>Name<br>
@@ -123,8 +123,8 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
  <tbody>
   <tr>
    <td style="text-align: center;"><strong>Image</strong></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12025/flamingo.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12017/amami.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12025/flamingo.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12017/amami.png" alt style="max-width: 133px;"></td>
    <td style="text-align: center;"> </td>
   </tr>
   <tr>
@@ -162,18 +162,18 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
 <p>This is a (<em>non-exhaustive</em>) list of devices with porting <em>potential</em>, thanks to available AOSP or Cyanogen Mod version, or because they supported Firefox OS until version 2.6.</p>
 
 <div class="note">
-<p><strong>Note:</strong> There aren't currently any ports for these phones, but it is possible to build B2G OS. See<a href="/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS"> how to build</a> section for more info. You are welcome to maintain these builds.</p>
+<p><strong>Note:</strong> There aren&apos;t currently any ports for these phones, but it is possible to build B2G OS. See<a href="/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS"> how to build</a> section for more info. You are welcome to maintain these builds.</p>
 </div>
 
 <h3 id="Nexus_Devices">Nexus Devices</h3>
 
-<p>These devices are (almost) automatically supported by B2G OS because they are Google's reference devices for AOSP.</p>
+<p>These devices are (almost) automatically supported by B2G OS because they are Google&apos;s reference devices for AOSP.</p>
 
 <table style="height: 282px; line-height: 1.5; width: 451px;" class="standard-table">
  <tbody>
   <tr>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12037/nexus6.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12033/nexus4.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12037/nexus6.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12033/nexus4.png" alt style="max-width: 133px;"></td>
   </tr>
   <tr>
    <td style="text-align: center;"><strong>Nexus 6</strong></td>
@@ -188,7 +188,7 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
 
 <h3 id="Sony_Devices">Sony Devices</h3>
 
-<p>These devices use Sony Mobile's Open Devices initiative, which aims to support all modern Xperia devices in AOSP.</p>
+<p>These devices use Sony Mobile&apos;s Open Devices initiative, which aims to support all modern Xperia devices in AOSP.</p>
 
 <p>These devices are built on a Lollipop AOSP base.</p>
 
@@ -204,10 +204,10 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
 <table class="standard-table">
  <tbody>
   <tr>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12007/leo.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12007/leo.png" alt style="max-width: 133px;"></td>
    <td style="text-align: center;"> </td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12011/scorpion.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12013/sirius.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12011/scorpion.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12013/sirius.png" alt style="max-width: 133px;"></td>
   </tr>
   <tr>
    <td style="text-align: center;"><strong>Z3</strong></td>
@@ -236,7 +236,7 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
 <table class="standard-table">
  <tbody>
   <tr>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12015/honami.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12015/honami.png" alt style="max-width: 133px;"></td>
   </tr>
   <tr>
    <td style="text-align: center;"><strong>Z1</strong></td>
@@ -252,9 +252,9 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
 <table class="standard-table">
  <tbody>
   <tr>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12019/tianchi.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12021/seagull.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12023/eagle.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12019/tianchi.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12021/seagull.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12023/eagle.png" alt style="max-width: 133px;"></td>
   </tr>
   <tr>
    <td style="text-align: center;"><strong>T2 Ultra</strong></td>
@@ -281,8 +281,8 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
 
 <h2 id="Obsolete_Devices">Obsolete Devices</h2>
 
-<div class="warning">
-<p>Forget about these device's support if you have one.</p>
+<div class="warning notecard">
+<p>Forget about these device&apos;s support if you have one.</p>
 </div>
 
 <p>Several old devices are no longer maintained for B2G OS , and we do not have a community to keep them alive. The current status of these devices is unknown, which probably means they cannot be built on B2G OS master branches.</p>
@@ -290,10 +290,10 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
 <table class="standard-table">
  <tbody>
   <tr>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12069/peak.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12067/keon.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12071/inari.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12077/hamachi.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12069/peak.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12067/keon.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12071/inari.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12077/hamachi.png" alt style="max-width: 133px;"></td>
   </tr>
   <tr>
    <td style="text-align: center;"><strong>Geeksphone Peak</strong></td>
@@ -313,10 +313,10 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
 <table class="standard-table">
  <tbody>
   <tr>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12083/galaxy-s2.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12085/galaxy-nexus.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12087/nexus-s.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12087/nexus-s.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12083/galaxy-s2.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12085/galaxy-nexus.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12087/nexus-s.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12087/nexus-s.png" alt style="max-width: 133px;"></td>
   </tr>
   <tr>
    <td style="text-align: center;"><strong>Samsung Galaxy S2</strong></td>
@@ -336,10 +336,10 @@ translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices
 <table class="standard-table">
  <tbody>
   <tr>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12073/flatfish.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12075/vixen.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12079/pandaboard.png" alt="" style="max-width: 133px;"></td>
-   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12081/rpi.png" alt="" style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12073/flatfish.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12075/vixen.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12079/pandaboard.png" alt style="max-width: 133px;"></td>
+   <td style="text-align: center;"><img src="https://mdn.mozillademos.org/files/12081/rpi.png" alt style="max-width: 133px;"></td>
   </tr>
   <tr>
    <td style="text-align: center;"><strong>Foxconn InFocus</strong></td>

+ 31 - 31
files/de/archive/b2g_os/debugging/developer_settings/index.html

@@ -7,19 +7,19 @@ translation_of: Archive/B2G_OS/Debugging/Developer_settings
  <p><span class="seoSummary">Die Entwicklereistellungen befinden sich in den Firefox OS Einstellungen. Dieses Panel bietet eine Vielzahl an Optionen, die das Debugging deiner Open Web Anwendung für Firefox OS erleichtern.</span> Dieser Artikel beschreibt die verfügbaren Optionen und erklärt wie diese benutzt werden können.</p>
 </div>
 <p>Der Einstellungsbereich für die Entwickler-Optionen wurde bewusst in einem Untermenüpunkt versteckt, um ein versehentliches Aktivieren durch unerfahrene Benutzer zu vermeiden, was eine Beeinträchtigung der Performance oder Auswirkungen auf die visuelle Darstellung von Firefox haben kann. Das Entwicklermenü sieht ähnlich aus wie auf der folgenden Darstellung gezeigt (dieses Bild wurde mit einem Geeksphone Keon mit einer im April 2014 erzeugten Version von Firefox OS 2.0 erstellt):</p>
-<p><img src="https://mdn.mozillademos.org/files/7801/developermenu-short.png" alt="" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
+<p><img src="https://mdn.mozillademos.org/files/7801/developermenu-short.png" alt style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
 <p>Das Entwicklermenü kann folgendermaßen erreicht werden:</p>
 <ul>
  <li>In Firefox OS &lt; 1.4 befindet sich das Entwicklermenü unter <em>Settings &gt; Device information &gt; More Information &gt; Developer</em>.</li>
  <li>In Firefox &gt; 1.4  befindet sich das Entwicklermenü unter <em>Settings &gt; Device information &gt; More Information &gt; Check the Developer Menu checkbox</em>.  Sobald das Menü aktiviert wurde, kann es direkt unter <em>Settings &gt; Developer</em> aufgerufen werden.</li>
 </ul>
 <p>Im folgenden Abschnitt werden alle Optionen einzeln vorgestellt und erklärt wie diese verwendet werden können.</p>
-<div class="warning">
+<div class="warning notecard">
  <p><strong>Wichtig</strong>: Diese Tools sind hilfreich, aber können Probleme im normalen Gebrauch des Telefons versursachen. Einstellungen, die dafür bekannt sind, dass sie Probleme verursachen können, sind per default abgeschaltet. Falls du Probleme mit den Funktionen feststellen solltes, versuche die entsprechenden Funktionen wieder zu deaktivieren.</p>
 </div>
 <h2 id="Einstellungen_der_Developer_Tools">Einstellungen der Developer Tools</h2>
 <h3 id="Debugging_via_USB">Debugging via USB</h3>
-<p>Die "Remote debugging" Option aktiviert das <a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">ferngesteuerte debugging</a> deines Firefox OS Gerätes. Außerdem wird die <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a> Kommando-Eingabe aktiviert.<strong> </strong>In Firefox &lt; 1.4 gibt es dafür nur ein aktivierbares Kontrollkästchen; ab Firefox 1.4 sind es drei Optionen:</p>
+<p>Die &quot;Remote debugging&quot; Option aktiviert das <a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">ferngesteuerte debugging</a> deines Firefox OS Gerätes. Außerdem wird die <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a> Kommando-Eingabe aktiviert.<strong> </strong>In Firefox &lt; 1.4 gibt es dafür nur ein aktivierbares Kontrollkästchen; ab Firefox 1.4 sind es drei Optionen:</p>
 <ul>
  <li>Inaktiv: ferngesteuertes debugging ist ausgeschaltet (default.)</li>
  <li>ADB only: Erlaubt Zugriff zum Gerät durch ADB.</li>
@@ -27,13 +27,13 @@ translation_of: Archive/B2G_OS/Debugging/Developer_settings
 </ul>
 <h3 id="Developer_HUD">Developer HUD</h3>
 <p>Ab Firefox OS 1.4, öffnet ein Berühren des Menüeintrages <strong>Developer HUD </strong>folgendes Auswahlmenü:</p>
-<p><img src="https://mdn.mozillademos.org/files/8361/Firefox%20OS%202.1%20Developer%20HUD.png" alt="" style="width: 320px; display: block; margin: 0px auto; height: 569px;"></p>
+<p><img src="https://mdn.mozillademos.org/files/8361/Firefox%20OS%202.1%20Developer%20HUD.png" alt style="width: 320px; display: block; margin: 0px auto; height: 569px;"></p>
 <p>Die beiden ersten Kontrollboxen (immer aktiv) sind:</p>
 <ul>
  <li><strong>Frames per second</strong>: Zeigt die frames pro Sekunde, wie im späteren Abschnitt <em>Frames per second</em> erklärt.</li>
  <li><strong>Time to load</strong>: Zeigt die Zeit zum Laden von Information an, wie im späteren Abschnitt <em>Time to load</em> erklärt.</li>
 </ul>
-<p>Anschließend folgt ein Slider, mit dem weitere Entwickler-Optionen ('Developer Tools') aktiviert werden können , auch weitere Checkboxen sind verfügbar:</p>
+<p>Anschließend folgt ein Slider, mit dem weitere Entwickler-Optionen (&apos;Developer Tools&apos;) aktiviert werden können , auch weitere Checkboxen sind verfügbar:</p>
 <ul>
  <li><strong>Log changes in adb</strong>: Enables logging of device changes to adb logcat.</li>
  <li><strong>Show system HUD</strong>: When checked, enables the display of several different pieces of information overlaid on top of the device display.</li>
@@ -46,7 +46,7 @@ translation_of: Archive/B2G_OS/Debugging/Developer_settings
  <li><strong>App memory</strong>: Displays information on how much memory the app is using, and allows you to enable or disable the different memory usage factors. See <a href="#App_memory">App_memory</a> below for more details.</li>
 </ul>
 <h4 id="Frames_per_second">Frames per second</h4>
-<p>Enabling this option reports three numbers in the top left of the Firefox OS display; the values reported are an average of recent results within a sliding window, meant to be "instantaneous" but fairly accurate. As such, all numbers are "guesses":</p>
+<p>Enabling this option reports three numbers in the top left of the Firefox OS display; the values reported are an average of recent results within a sliding window, meant to be &quot;instantaneous&quot; but fairly accurate. As such, all numbers are &quot;guesses&quot;:</p>
 <ul>
  <li>The left number is the <strong>composition rate</strong>: the estimated number of times per second Firefox OS is drawing frames to the hardware framebuffer. This is an estimate of the user-perceived framerate, and only an estimate. For example, the counter may report 60 compositions per second even if the screen is not changing. In that case the user-perceived framerate would be 0. However, when used with this caveat in mind and corroborated with other measurements, the monitor can be a useful and simple tool.</li>
  <li>The middle number is the <strong>layer transaction rate</strong>, the estimated number of times per second processes are repainting and notifying the compositor. This number is mostly useful for Gecko platform engineers, but it should be less than or equal to the composition rate number on the left.</li>
@@ -54,31 +54,31 @@ translation_of: Archive/B2G_OS/Debugging/Developer_settings
 </ul>
 <p><img src="https://mdn.mozillademos.org/files/6889/framerate-fxos.jpg" alt="A screenshot of Firefox OS, showing three numbers in the top left hand corner that are measurements of app framerate." style="width: 357px; height: 640px; display: block; margin: 0px auto;"></p>
 <h4 id="Time_to_load">Time to load</h4>
-<p>Firefox OS also has a tool that can help measure startup time, specifically the "first paint" time. The value shown by the tool — in the top right of the Firefox OS display — is the elapsed time between when the most recent application was launched, and an estimate of the first time that application painted its UI, in milliseconds. This number only approximates the real "first paint" time, and in particular underestimates it. However, lowering this number almost always correlates to improvements in real startup time, so it can be useful to quickly measure optimization ideas.</p>
+<p>Firefox OS also has a tool that can help measure startup time, specifically the &quot;first paint&quot; time. The value shown by the tool — in the top right of the Firefox OS display — is the elapsed time between when the most recent application was launched, and an estimate of the first time that application painted its UI, in milliseconds. This number only approximates the real &quot;first paint&quot; time, and in particular underestimates it. However, lowering this number almost always correlates to improvements in real startup time, so it can be useful to quickly measure optimization ideas.</p>
 <p><img src="https://mdn.mozillademos.org/files/6891/startup-time-fxos.jpg" alt="A screenshot of Firefox OS, showing a number in the top right hand corner that is a measurement of the current app startup time, in milliseconds." style="width: 378px; height: 640px; display: block; margin: 0px auto;"></p>
 <h4 id="App_memory">App memory</h4>
 <p>Displays information on how much memory the app is using, and allows you to enable or disable the different items that use memory to show much each one is using in the current app. For example, the screen shot below only has <em>App memory</em> and <em>JS objects</em> checked, and the indicator on the bottom right is showing that the Settings app is using 414.77KB for JS objects.</p>
-<p><img src="https://mdn.mozillademos.org/files/7731/memory-usage.png" alt="" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
+<p><img src="https://mdn.mozillademos.org/files/7731/memory-usage.png" alt style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
 <h3 id="Pseudo-localization">Pseudo-localization</h3>
 <p>When enabled, pseudo-languages like <em>Accented English</em> and <em>Mirrored English</em> are available for selection in <em>Settings &gt; Languages</em>.  With pseudo-localizations, you can test the localizability of your code in regular Gaia builds without having to add real language resources nor having to speak a foreign language.  For instance, you can make sure the layout scales well with longer strings, you can preview the app in a fake RTL language, or spot HTML elements wihout the <code>data-l10n-id</code> attribute (they will be displayed in regular English).</p>
 <p><img src="http://informationisart.com/images/qps.png" alt="Screenshot of pseudolocales" style="width: 600px; height: 440px; display: block; margin: 0px auto;"></p>
 <p>You can turn pseudo-localizations on by default when you build Gaia by adding the following line into <a href="https://github.com/mozilla-b2g/gaia/blob/master/build/config/common-settings.json">gaia/build/config/common-settings.json</a>:</p>
-<pre class="brush: json"> "devtools.qps.enabled": true</pre>
+<pre class="brush: json"> &quot;devtools.qps.enabled&quot;: true</pre>
 <p><strong>Note:</strong> Pseudo-localizations are generated completely dynamically, each time an app is launched.  The performance and memory characteristics may be different than those of regular localizations.  If you specifically want to test performance of non-English languages, <a href="/en-US/Firefox_OS/Building#Building_multilocale">build multilocale Gaia</a> with real locales.</p>
 <h2 id="Graphics_settings">Graphics settings</h2>
 <h3 id="Flash_repainted_area">Flash repainted area</h3>
-<p>In this mode, every time a region of the screen is painted by Gecko, Gecko blits a random translucent color over the painted region. Ideally, only parts of the screen that visually change between frames will "flash" with a new color. But sometimes more area than is needed is repainted, causing large areas to "flash". This symptom may indicate that application code is forcing too much of its scene to update. It may also indicate bugs in Gecko itself.</p>
+<p>In this mode, every time a region of the screen is painted by Gecko, Gecko blits a random translucent color over the painted region. Ideally, only parts of the screen that visually change between frames will &quot;flash&quot; with a new color. But sometimes more area than is needed is repainted, causing large areas to &quot;flash&quot;. This symptom may indicate that application code is forcing too much of its scene to update. It may also indicate bugs in Gecko itself.</p>
 <p><img src="https://mdn.mozillademos.org/files/6893/paint-update-fxos.jpg" alt="A screenshot of Firefox OS with a number of transparent overlays, showing the parts of the screen repainted with each new animation frame." style="width: 378px; height: 640px; display: block; margin: 0px auto;"></p>
 <h3 id="Enable_APZ_for_all_content_(Async_PanZoom)">Enable APZ for all content (Async Pan/Zoom)</h3>
 <p>When enabled, the Async Pan/Zoom module allows panning and zooming to be performed on asynchronously, on another thread, with some noticeable differences to rendering behaviour. To find out more, read the <a href="https://wiki.mozilla.org/Platform/GFX/APZ">MozillaWiki APZ</a> article.</p>
 <h3 id="Overscrolling">Overscrolling</h3>
-<p>This enables and disables the behaviour in Firefox 2.1+ where the display stretches in an elastic manner when you scroll past the end of a page, then shrinks back again when you stop dragging the display. The behaviour's full name is <em>elastic overscroll</em>.</p>
+<p>This enables and disables the behaviour in Firefox 2.1+ where the display stretches in an elastic manner when you scroll past the end of a page, then shrinks back again when you stop dragging the display. The behaviour&apos;s full name is <em>elastic overscroll</em>.</p>
 <h3 id="Tiling_(was_Layers_Enable_tiles)">Tiling (was Layers: Enable tiles)</h3>
-<p>Introduced in Firefox OS 1.4, this feature enables the painting of content to the screen in smaller chunks ("tiles") rather than painting the whole screen at once. This is mainly useful for platform QA work involving reducing checkerboarding and finding regression windows.</p>
+<p>Introduced in Firefox OS 1.4, this feature enables the painting of content to the screen in smaller chunks (&quot;tiles&quot;) rather than painting the whole screen at once. This is mainly useful for platform QA work involving reducing checkerboarding and finding regression windows.</p>
 <h3 id="Simple_tiling_(was_Layers_Simple_tiles)">Simple tiling (was Layers: Simple tiles)</h3>
 <p>This flips between the two different content painting implementations described in the section above.</p>
 <h3 id="Low-precision_painting">Low-precision painting</h3>
-<p>Enabling this option makes Gecko paint a low-precision (blurry) version of the content when scrolling really fast. This is useful because it's quicker to paint, and so helps us avoid displaying blank areas (i.e. checkerboarding) while scrolling quickly. It should only be visible to the user temporarily; once the user stops scrolling we fill in the low-precision areas with high-precision content.</p>
+<p>Enabling this option makes Gecko paint a low-precision (blurry) version of the content when scrolling really fast. This is useful because it&apos;s quicker to paint, and so helps us avoid displaying blank areas (i.e. checkerboarding) while scrolling quickly. It should only be visible to the user temporarily; once the user stops scrolling we fill in the low-precision areas with high-precision content.</p>
 <h3 id="Low-precision_transparency">Low-precision transparency</h3>
 <p>This is an additional flag for low-precision painting, which makes the low-precision content half transparent. This makes it a little more subtle and less jarring for the user.</p>
 <h3 id="Hardware_composer_(was_Enable_hardware_compositing)">Hardware composer (was Enable hardware compositing)</h3>
@@ -89,7 +89,7 @@ translation_of: Archive/B2G_OS/Debugging/Developer_settings
 <p>When this setting is enabled, a brightly colored border is added around all the different layers painted to the display — great for diagnosing layout issues.</p>
 <p><img src="https://mdn.mozillademos.org/files/6897/paint-layers-borders.png" alt="A screenshot from Firefox OS showing an opened select form with the draw layers borders option enabled, resulting in colored borders being drawn on all the different rendered layers." style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
 <h3 id="Dump_layers_tree">Dump layers tree</h3>
-<p>This option enables <code>layers.dump</code>, which causes a copy of the compositor's layer tree to be dumped to logcat on every frame composited to the screen; this is mainly useful for platform graphics performance work, rather than regular web development.</p>
+<p>This option enables <code>layers.dump</code>, which causes a copy of the compositor&apos;s layer tree to be dumped to logcat on every frame composited to the screen; this is mainly useful for platform graphics performance work, rather than regular web development.</p>
 <h3 id="Cards_View_Screenshots">Cards View: Screenshots</h3>
 <p>When enabled, this specifies that app screenshots will be taken when the open apps are displayed in card view. If disabled, app icons are shown in the center of blank cards for the card view instead.</p>
 <h2 id="Window_management_settings">Window management settings</h2>
@@ -100,34 +100,34 @@ translation_of: Archive/B2G_OS/Debugging/Developer_settings
 <h3 id="Continuous_transition">Continuous transition</h3>
 <p>This setting allows you to decide whether app keyboards open immediately or continuously (with a  transition). Disabling such transition effects are useful on low end devices, when they cause performance to suffer.</p>
 <h3 id="App_transition">App transition</h3>
-<p>Turn this on and then off again and you will disable all app closing/opening transitions: all apps will now just show immediately, without the smooth animation, and keyboards will also open/close without animation. Like "Continuous transition enabled", this is meant for improving performance on low end devices, but it has more of an effect.</p>
+<p>Turn this on and then off again and you will disable all app closing/opening transitions: all apps will now just show immediately, without the smooth animation, and keyboards will also open/close without animation. Like &quot;Continuous transition enabled&quot;, this is meant for improving performance on low end devices, but it has more of an effect.</p>
 <h3 id="App_suspending">App suspending</h3>
 <p>If enabled, this specifies that when an app is killed in the background, it will be kept in history and reopened when you open it from homescreen/card view. If disabled, such apps are not kept in history/card view.</p>
 <h2 id="Debug_settings">Debug settings</h2>
 <h3 id="Log_slow_animations">Log slow animations</h3>
-<p>This tool tries to help developers understand why animations are not offloaded to the compositor to be run efficiently as possible. It reports "bugs" like trying to animate elements that are too large, or trying to animate CSS properties that can't be offloaded. The messages you'll get on the device will look like the following:</p>
-<pre>I/Gecko   ( 5644): Performance warning: Async animation disabled because frame size (1280, 410) is bigger than the viewport (360, 518) [div with id 'views']
+<p>This tool tries to help developers understand why animations are not offloaded to the compositor to be run efficiently as possible. It reports &quot;bugs&quot; like trying to animate elements that are too large, or trying to animate CSS properties that can&apos;t be offloaded. The messages you&apos;ll get on the device will look like the following:</p>
+<pre>I/Gecko   ( 5644): Performance warning: Async animation disabled because frame size (1280, 410) is bigger than the viewport (360, 518) [div with id &apos;views&apos;]
 </pre>
 <h3 id="Geolocation_output_in_ADB">Geolocation output in ADB</h3>
 <p>Enables logging of geolocation data to adb logcat. This helps with debugging both the GPS stack (namely we get NMEA callback) and MLS use.</p>
 <h3 id="Wi-Fi_output_in_adb">Wi-Fi output in adb</h3>
-<p>Enabling this option adds information about Wi-Fi to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep "Error"</code> in the Terminal.)</p>
+<p>Enabling this option adds information about Wi-Fi to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep &quot;Error&quot;</code> in the Terminal.)</p>
 <h3 id="Bluetooth_output_in_adb">Bluetooth output in adb</h3>
-<p>Enabling this option adds information about Bluetooth to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep "Error"</code> in the Terminal.)</p>
+<p>Enabling this option adds information about Bluetooth to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep &quot;Error&quot;</code> in the Terminal.)</p>
 <h3 id="Console_enabled">Console enabled</h3>
 <p>When enabled, this option lets you use the <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Using_the_Remote_Web_Console" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Using_the_Remote_Web_Console">Web Console</a> in Firefox to remotely access the console output on the device; without this option enabled, the <a href="/de/docs/Web/API/Console/log" title="Gibt eine Nachricht auf der Web-Konsole aus."><code>console.log()</code></a> function does nothing.</p>
 <h3 id="Gaia_debug_traces">Gaia debug traces</h3>
 <p>Enabling this directly enables DEBUG traces in Gaia; see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=881672" title="FIXED: Enabling a DUMP function for all Gaia apps">Bug 881672</a> for more details.</p>
 <div class="note">
- <p><strong>Note</strong>: Unfortunately, not every app supports this mechanism to print their debug log. Instead, they control a "DEBUG" flag in code directly, so enabling this flag does NOT ensure that you'll see all debug logs.</p>
+ <p><strong>Note</strong>: Unfortunately, not every app supports this mechanism to print their debug log. Instead, they control a &quot;DEBUG&quot; flag in code directly, so enabling this flag does NOT ensure that you&apos;ll see all debug logs.</p>
 </div>
 <h3 id="Show_accessibility_settings">Show accessibility settings</h3>
 <p>This enables the accessibility settings menu, subsequently found at <em>Settings &gt; Accessibility</em>. The options contained within the accessibility settings are as follows:</p>
 <h4 id="Screen_reader">Screen reader</h4>
-<p>Enabling this option turns on Firefox OS's screen reader. This is technology that allows a blind person to use a Firefox OS device. Currently at a very early stage, it changes the way the standard touch events work. When the screen reader is on, you must interact with the screen as follows:</p>
+<p>Enabling this option turns on Firefox OS&apos;s screen reader. This is technology that allows a blind person to use a Firefox OS device. Currently at a very early stage, it changes the way the standard touch events work. When the screen reader is on, you must interact with the screen as follows:</p>
 <ul>
  <li>Touch somewhere to focus that app (or whatever) and be alerted as to what it is. This is indicated both by audible speech output and a rectangle around the selected item. Double tap anywhere on the screen (two taps in rapid succession) to activate the item that has the rectangle around it.</li>
- <li>Swipe from left to right to move sequentially through items on the screen. Items are moved through from left to right, then top to bottom, including scrolling the screen vertically if there are more items to display, and you will be alerted as to each one's name via speech output and a rectangle. Swiping right to left moves through the items in reverse order. Again, double-tap the screen to execute the currently highlighted item.</li>
+ <li>Swipe from left to right to move sequentially through items on the screen. Items are moved through from left to right, then top to bottom, including scrolling the screen vertically if there are more items to display, and you will be alerted as to each one&apos;s name via speech output and a rectangle. Swiping right to left moves through the items in reverse order. Again, double-tap the screen to execute the currently highlighted item.</li>
  <li>Do a swipe with two fingers — left, right, up or down — to scroll the screen in that direction. This is equivalent to swiping one finger across the screen in the given direction when the screen reader is not running. For example, a two-finger swipe left on the first home screen will flip to the second one, and a two-finger swipe upwards on a home screen or browser would cause the screne to scroll downwards to show more content.</li>
 </ul>
 <div class="note">
@@ -146,9 +146,9 @@ translation_of: Archive/B2G_OS/Debugging/Developer_settings
 <div class="note">
  <p><strong>Note</strong>: Introduced with Firefox 2.1</p>
 </div>
-<p>When this is enabled, developers (and privacy enthusiasts) may modify all permissions granted to installed privileged apps, using The "App Permission" pane in the Settings app. The app sub-pages under here are updated upon enabling the setting to provide a list of each API permission is requested for in the app's manifest file, along with choices to set that permission to. For example, "Schedule Alarms" appears with choices of <em>Ask</em>, <em>Deny</em> and <em>Grant</em>. Note that some apps may be unable to deal with changed permissions. If you experience any odd behavior, consider resetting the permission or re-installing the app.</p>
+<p>When this is enabled, developers (and privacy enthusiasts) may modify all permissions granted to installed privileged apps, using The &quot;App Permission&quot; pane in the Settings app. The app sub-pages under here are updated upon enabling the setting to provide a list of each API permission is requested for in the app&apos;s manifest file, along with choices to set that permission to. For example, &quot;Schedule Alarms&quot; appears with choices of <em>Ask</em>, <em>Deny</em> and <em>Grant</em>. Note that some apps may be unable to deal with changed permissions. If you experience any odd behavior, consider resetting the permission or re-installing the app.</p>
 <h3 id="Launch_first_time_use">Launch first time use</h3>
-<p>The "Launch first time use" button runs the "First-Time Use" (FTU) program; this lets you go through the initial setup and tutorial process, and is useful when trying to debug that process, or if you want to re-configure your device from scratch.</p>
+<p>The &quot;Launch first time use&quot; button runs the &quot;First-Time Use&quot; (FTU) program; this lets you go through the initial setup and tutorial process, and is useful when trying to debug that process, or if you want to re-configure your device from scratch.</p>
 <h2 id="Software_updates">Software updates</h2>
 <h3 id="Update_channel">Update channel</h3>
 <p>Enables you to specify different update channels to get software updates from when your device receives OTA updates. Options are <code>nightly</code>, <code>aurora</code> ... (others?)</p>
@@ -159,20 +159,20 @@ translation_of: Archive/B2G_OS/Debugging/Developer_settings
 <h3 id="Accessibility">Accessibility</h3>
 <p>In versions of Firefox earlier than newer 1.4 versions, this controls the accessibility settings, as explained in the <a href="#Show_accessibility_settings">Show_accessibility_settings</a> section above.</p>
 <h3 id="Grid">Grid</h3>
-<p>The "Grid" option, when enabled, causes the Firefox OS display to be overlaid with a grid pattern to help you gauge positioning and alignment of items. For example, below we see the Browser app running with the Grid option enabled:</p>
-<p><img src="https://mdn.mozillademos.org/files/5071/Grid.png" alt="" style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
-<p>The grid's heavier lines are 32 pixels apart, both horizontally and vertically.</p>
+<p>The &quot;Grid&quot; option, when enabled, causes the Firefox OS display to be overlaid with a grid pattern to help you gauge positioning and alignment of items. For example, below we see the Browser app running with the Grid option enabled:</p>
+<p><img src="https://mdn.mozillademos.org/files/5071/Grid.png" alt style="width: 320px; height: 480px; display: block; margin: 0px auto;"></p>
+<p>The grid&apos;s heavier lines are 32 pixels apart, both horizontally and vertically.</p>
 <h3 id="Show_frames_per_second">Show frames per second</h3>
 <p>In Firefox OS versions older than newer 1.4, enabling this displays frames per second, as explained in the <a href="#Frames_per_second">Frames_per_second</a> section above.</p>
 <h3 id="Show_time_to_load">Show time to load</h3>
 <p>In Firefox OS versions older than newer 1.4, enabling this displays time to load information, as explained in the <a href="#Time_to_load">Time_to_load</a> section above.</p>
 <h3 id="Rocketbar_enabled">Rocketbar enabled</h3>
-<p>In Firefox OS versions older than newer 1.4, this option enables the new <a href="https://groups.google.com/forum/#!topic/mozilla.dev.gaia/Nlfbrq1KMP0">Firefox Rocketbar</a> on your device, which provides a useful new way to switch between apps, search, and more. When enabled, you'll find a search icon at the top left of the device, and the RocketBar can be brought up by swiping from the top left of the device towards the bottom left.</p>
+<p>In Firefox OS versions older than newer 1.4, this option enables the new <a href="https://groups.google.com/forum/#!topic/mozilla.dev.gaia/Nlfbrq1KMP0">Firefox Rocketbar</a> on your device, which provides a useful new way to switch between apps, search, and more. When enabled, you&apos;ll find a search icon at the top left of the device, and the RocketBar can be brought up by swiping from the top left of the device towards the bottom left.</p>
 <div class="note">
  <p><strong>Note</strong>: In newer versions of Firefox OS, Rocketbar is enabled automatically and cannot be turned off.</p>
 </div>
 <h3 id="Contacts_debugging_output_in_adb">Contacts debugging output in adb</h3>
-<p>Enabling this option adds debugging information about contacts to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep "Error"</code> in the Terminal.)</p>
+<p>Enabling this option adds debugging information about contacts to the adb logs (error logs from the console can be accessed using <code>adb logcat | grep &quot;Error&quot;</code> in the Terminal.)</p>
 <h3 id="Progressive_paint_(was_Layers_Progressive_paint)">Progressive paint (was Layers: Progressive paint)</h3>
 <p>This was introduced to help with debugging of the <a href="https://wiki.mozilla.org/Platform/GFX/APZ">Async Panning/Zoom module</a> (APZ) during its implementation. Now APZ implementation is complete, this option is deprecated, and will be removed from future versions (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1003228" title="FIXED: Remove unnecessary APZ-related settings and menu items">Bug 1003228</a>).</p>
 <h3 id="Displayport_Heuristics">Displayport Heuristics</h3>
@@ -188,8 +188,8 @@ translation_of: Archive/B2G_OS/Debugging/Developer_settings
 <h3 id="Edges_gesture">Edges gesture</h3>
 <p>Enabling this option allows you to swipe left and right from outside the screen towards the center, to navigate to the next and previous sheets (either web pages in the browser, or views inside another app.) This basically works like the browser navigator bar in Firefox, but is enabled by default in Firefox 2.1+.</p>
 <h2 id="Keyboard_layouts">Keyboard layouts</h2>
-<p>In addition to the developer-specific options listed above, Firefox OS &lt; 1.4's developer settings featured keyboard layout options. These let you toggle on and off the then-experimental Chinese input methods:</p>
-<p><img src="https://mdn.mozillademos.org/files/5079/InputMethods.png" alt=""></p>
+<p>In addition to the developer-specific options listed above, Firefox OS &lt; 1.4&apos;s developer settings featured keyboard layout options. These let you toggle on and off the then-experimental Chinese input methods:</p>
+<p><img src="https://mdn.mozillademos.org/files/5079/InputMethods.png" alt></p>
 <p>As of Firefox 1.4, these options have been removed. This is because the Chinese keyboard layout implementations (zhuyin and pinyin) have now been completed.</p>
 <div class="note">
  <p><strong>Note</strong>: For other keyboard layouts still under development, such as Japanese, we now have a build-time config to opt them in.</p>

+ 42 - 42
files/de/archive/b2g_os/firefox_os_build_prerequisites/index.html

@@ -10,15 +10,15 @@ translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
 <h2 id="Kompatibles_Gerät_oder_Emulator_besorgen">Kompatibles Gerät oder Emulator besorgen</h2>
 <p><span style="display: block;" id="answer_long0">Das System kann nur für ein kompatibles Gerät (i.a. ein Smartphone) oder einen Emulator gebaut werden. Obwohl wir diverse Geräte unterstützen, gibt es für einige von diesen unterschiedliche Ausführungen. Von diesen Ausführungen unterstützen wir zur Zeit nur bestimmte, und außerdem werden einige Geräte besser unterstützt als andere.</span></p>
 <div class="note">
- <p><span style="display: block;"><strong>Anmerkung:</strong> Mozillas <a href="https://github.com/mozilla-b2g/B2G">B2G-Quellcode</a> ist die Referenzimplementation von B2G, aber Telefonherstellern ist es freigestellt, Fehlerkorrekturen ("Patches") hinzuzufügen oder andere Änderungen vorzunehmen. Wenn man zum Beispiel ein Alcatel One Touch kauft, läuft darauf eine herstellerspezifische Version. Das ist für die installierten Apps irrelevant, aber unter Umständen kann es auf  Plattform-Ebene Unterschiede geben. Die Version für das  Nexus-4 ("Nexus 4 Port") wird direkt von Mozilla gepflegt, also ist es viel wahrscheinlicher, dass dieses Telefon mit unserer Gecko-Version auf Anhieb funktioniert, als zum Beispiel bei Rang-3-Geräten.</span></p>
+ <p><span style="display: block;"><strong>Anmerkung:</strong> Mozillas <a href="https://github.com/mozilla-b2g/B2G">B2G-Quellcode</a> ist die Referenzimplementation von B2G, aber Telefonherstellern ist es freigestellt, Fehlerkorrekturen (&quot;Patches&quot;) hinzuzufügen oder andere Änderungen vorzunehmen. Wenn man zum Beispiel ein Alcatel One Touch kauft, läuft darauf eine herstellerspezifische Version. Das ist für die installierten Apps irrelevant, aber unter Umständen kann es auf  Plattform-Ebene Unterschiede geben. Die Version für das  Nexus-4 (&quot;Nexus 4 Port&quot;) wird direkt von Mozilla gepflegt, also ist es viel wahrscheinlicher, dass dieses Telefon mit unserer Gecko-Version auf Anhieb funktioniert, als zum Beispiel bei Rang-3-Geräten.</span></p>
 </div>
 <h3 id="Rang_1_(Tier_1)">Rang 1 (Tier 1)</h3>
-<p>Tier-1-Geräte werden bei der Entwicklung bevorzugt und sind typischerweise die ersten, die Fehlerkorrekturen ("bugfixes") und Erweiterungen ("feature updates") erhalten.</p>
+<p>Tier-1-Geräte werden bei der Entwicklung bevorzugt und sind typischerweise die ersten, die Fehlerkorrekturen (&quot;bugfixes&quot;) und Erweiterungen (&quot;feature updates&quot;) erhalten.</p>
 <dl>
  <dt>
   Keon</dt>
  <dd>
-  Keon ist ein Gerät der FIrma <a href="http://www.geeksphone.com/" title="http://www.geeksphone.com/">Geeksphone</a> und eines der ersten Entwicklertelefone. Beachte, dass Binärpakete ("builds") für diese Geräte von Geeksphone bereitgestellt werden.</dd>
+  Keon ist ein Gerät der FIrma <a href="http://www.geeksphone.com/" title="http://www.geeksphone.com/">Geeksphone</a> und eines der ersten Entwicklertelefone. Beachte, dass Binärpakete (&quot;builds&quot;) für diese Geräte von Geeksphone bereitgestellt werden.</dd>
  <dt>
   Inari</dt>
  <dd>
@@ -81,7 +81,7 @@ translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
  <dt>
   Tara</dt>
  <dd>
-  Tara ist ebenfalls ein Testgerät. Das "Manifest" für Tara existiert nur im "master branch". Um den Tara-Code zu erhalten, ruft man folgendes Script auf: "BRANCH=master ./config.sh tara".</dd>
+  Tara ist ebenfalls ein Testgerät. Das &quot;Manifest&quot; für Tara existiert nur im &quot;master branch&quot;. Um den Tara-Code zu erhalten, ruft man folgendes Script auf: &quot;BRANCH=master ./config.sh tara&quot;.</dd>
  <dt>
   Unagi</dt>
  <dd>
@@ -89,13 +89,13 @@ translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
  <dt>
   <a href="/en-US/docs/Mozilla/Firefox_OS/Pandaboard" title="/en-US/docs/Mozilla/Firefox_OS/Pandaboard">Pandaboard</a></dt>
  <dd>
-  Das Pandaboard ist eine Entwicklungsplatine ("Board"), die auf der OMAP-4-Architektur basiert, und wird verwendet, um auf mobilen Plattformen zu entwickeln.</dd>
+  Das Pandaboard ist eine Entwicklungsplatine (&quot;Board&quot;), die auf der OMAP-4-Architektur basiert, und wird verwendet, um auf mobilen Plattformen zu entwickeln.</dd>
 </dl>
-<div class="warning">
+<div class="warning notecard">
  <strong>Wichtig</strong>: Nur solche Geräte werden unterstützt, auf denen mindestens <strong>Android 4</strong> (alias <strong>Ice Cream Sandwich</strong>) lauffähig ist. Für den Fall, daß ein Gerät oben aufgeführt ist, aber ein älteres Android-System installiert ist, muß man erst eine neuere Android-Version installieren.</div>
 <div class="note">
  <p>Bemerkung: Tier-2 und Tier-3-Geräte haben einen virtuellen, d.h durch Software dargestellten, Home-Button anstelle eines physikalischen.</p>
- <p>Alle Tier-1-Geräte haben  dagegen einen physikalischen "Home"-Button, mit dem man bei Betätigen stets auf den Startbildschirm zurückkehrt. Die meisten Android-Geräte für Version 4 oder später haben einen auf dem Bildschirm dargestellten "Home"-Button. Auch Firefox OS kann solch eine Schaltfläche darstellen; sie wird automatisch bei entsprechenden Geräten aktiviert. Wenn dies versagen sollte, muß man die Einstellungen öffnen und zu den Geräteinformationen navigieren, dort dann "<span style="line-height: 1.5em; font-size: 14px;">Weitere Informationen" öffnen und "Entwicklermenü" einschalten (falls noch nicht geschehen). Dann wieder zurück zu den Einstellungen navigieren und das Entwickler-Menü öffnen, dort "Software-Startschaltfläche" einschalten.</span></p>
+ <p>Alle Tier-1-Geräte haben  dagegen einen physikalischen &quot;Home&quot;-Button, mit dem man bei Betätigen stets auf den Startbildschirm zurückkehrt. Die meisten Android-Geräte für Version 4 oder später haben einen auf dem Bildschirm dargestellten &quot;Home&quot;-Button. Auch Firefox OS kann solch eine Schaltfläche darstellen; sie wird automatisch bei entsprechenden Geräten aktiviert. Wenn dies versagen sollte, muß man die Einstellungen öffnen und zu den Geräteinformationen navigieren, dort dann &quot;<span style="line-height: 1.5em; font-size: 14px;">Weitere Informationen&quot; öffnen und &quot;Entwicklermenü&quot; einschalten (falls noch nicht geschehen). Dann wieder zurück zu den Einstellungen navigieren und das Entwickler-Menü öffnen, dort &quot;Software-Startschaltfläche&quot; einschalten.</span></p>
 </div>
 <h2 id="Anforderungen_für_Linux">Anforderungen für Linux</h2>
 <p>Um auf Linux bauen zu können, benötigt man:</p>
@@ -129,17 +129,17 @@ translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
 <p>Diese Kommandos in einem Terminal-Fenster ausführen:</p>
 <pre class="language-html"><code class="language-html">sudo apt-get update
 sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make zip</code></pre>
-<p>Für den Fall, daß Firefox OS für das Referenzgerät <a href="https://developer.mozilla.org/en-US/Firefox_OS/Developer_phone_guide/Flame">"Flame"</a> oder Nexus 5 gebaut wird, diese Kommandos auführen:</p>
+<p>Für den Fall, daß Firefox OS für das Referenzgerät <a href="https://developer.mozilla.org/en-US/Firefox_OS/Developer_phone_guide/Flame">&quot;Flame&quot;</a> oder Nexus 5 gebaut wird, diese Kommandos auführen:</p>
 <p><code class="language-html">sudo apt-get install libxml2-utils</code></p>
-<p>Ein Java-Entwicklungspaket ("JDK") kann von <a href="http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html">dieser Paketquelle (ppa</a>)  installiert werden.</p>
+<p>Ein Java-Entwicklungspaket (&quot;JDK&quot;) kann von <a href="http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html">dieser Paketquelle (ppa</a>)  installiert werden.</p>
 <p>Bitte auch die obigen Anmerkungen berücksichtigen, die die Probleme beschreiben, die auftreten, wenn man für einen Emulator baut!</p>
 <h4 id="Ubuntu_12.10_Debian_7">Ubuntu 12.10 / Debian 7</h4>
 <p>Das folgende Kommando im Terminal-Fenster ausführen:</p>
 <pre>$ sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make zip</pre>
 <p>Zusätzlich zu den oben erwähnte Schwierigkeiten beim Bauen für einen Emlator tritt hier noch das Problem auf, daß standardmäßig der Compiler in der Version gcc-4.7 verwendet wird, welcher den Compiliervorgang mit folgender Fehlermeldung abbricht:</p>
-<p>"<code>KeyedVector.h:193:31: error: indexOfKey was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"</code></p>
-<p>Um diesen Fehler zu beheben, muß man auf die ältere Version gcc-4.6 als Standard-Compiler zurückgehen, und zwar am besten unmittelbar, nachdem man die Quellen für B2G heruntergeladen hat. Der Vorgang wird in der Anleitung "<a href="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">Changing the default host compiler</a>" (engl.) beschrieben.</p>
-<p class="note">Bei einer unveränderten Ubuntu-12.10-Version gibt es eine Fehlermeldung wegen nicht erfüllter Abhängigkeiten der Systembibliotheken "ia32-libs". Dies wird mit diesen Befehlen behoben:</p>
+<p>&quot;<code>KeyedVector.h:193:31: error: indexOfKey was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation&quot;</code></p>
+<p>Um diesen Fehler zu beheben, muß man auf die ältere Version gcc-4.6 als Standard-Compiler zurückgehen, und zwar am besten unmittelbar, nachdem man die Quellen für B2G heruntergeladen hat. Der Vorgang wird in der Anleitung &quot;<a href="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">Changing the default host compiler</a>&quot; (engl.) beschrieben.</p>
+<p class="note">Bei einer unveränderten Ubuntu-12.10-Version gibt es eine Fehlermeldung wegen nicht erfüllter Abhängigkeiten der Systembibliotheken &quot;ia32-libs&quot;. Dies wird mit diesen Befehlen behoben:</p>
 <pre>sudo dpkg --add-architecture i386
 sudo apt-get update
 sudo apt-get install ia32-libs</pre>
@@ -152,8 +152,8 @@ sudo apt-get install ia32-libs</pre>
   </p>
 <pre class="language-html"><code class="language-html">sudo dpkg --add-architecture i386
 sudo apt-get update</code></pre>
-<p>Once you've completed that, then you can install the necessary packages:</p>
-<pre style="font-family: 'Open Sans', sans-serif; line-height: 21px;" class="language-html"><code class="language-html">sudo apt-get install --no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip libxml2-utils
+<p>Once you&apos;ve completed that, then you can install the necessary packages:</p>
+<pre style="font-family: &apos;Open Sans&apos;, sans-serif; line-height: 21px;" class="language-html"><code class="language-html">sudo apt-get install --no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip libxml2-utils
 
 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 1
 
@@ -163,9 +163,9 @@ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 1
 
 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 2
 
-sudo update-alternatives --set gcc "/usr/bin/gcc-4.6"
+sudo update-alternatives --set gcc &quot;/usr/bin/gcc-4.6&quot;
 
-sudo update-alternatives --set g++ "/usr/bin/g++-4.6"</code></pre>
+sudo update-alternatives --set g++ &quot;/usr/bin/g++-4.6&quot;</code></pre>
 <p>you can install the jdk via <a href="http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html">this ppa</a>.</p>
 <h4 id="Ubuntu_14.04">Ubuntu 14.04</h4>
 <p>Follow the instructions given for Ubuntu 13.10.</p>
@@ -187,7 +187,7 @@ sudo tar -x -a -C /opt -f gcc-4.6.4-fc19.tar.xz</code></pre>
 <p>B2G <a href="https://developer.mozilla.org/en-US/Firefox_OS/Building#KeyedVector.h.3A193.3A31.3A_error.3A_indexOfKey_was_not_declared_in_this_scope">can only be compiled with gcc4.6.4</a>, and because Arch Linux always has bleeding edge software you will need to install <a href="https://aur.archlinux.org/packages/gcc46-multilib">gcc46-multilib from AUR</a>. Note that you will have to edit the PKGBUILD and add <code>staticlibs</code> to the <code>options</code> array, or gcc will be unable to compile B2G and give you a <code>cannot find -lgcc</code> error when compiling. You will also need to add the following to your <code>.userconfig</code> file:</p>
 <pre class="language-html"><code class="language-html">export CC=gcc-4.6.4
 export CXX=g++-4.6.4</code></pre>
-<p>By default, Arch Linux uses Python3. You'll have to force it to use the old python2. You can do that by linking the python2 executable to python but this is discouraged and considered error-prone. This will also break python 3 if it is installed on your system. A better way is to use <code>virtualenv</code>/<code>virtualenvwrapper</code>:</p>
+<p>By default, Arch Linux uses Python3. You&apos;ll have to force it to use the old python2. You can do that by linking the python2 executable to python but this is discouraged and considered error-prone. This will also break python 3 if it is installed on your system. A better way is to use <code>virtualenv</code>/<code>virtualenvwrapper</code>:</p>
 <pre class="language-html"><code class="language-html">sudo pacman -S python-virtualenvwrapper
 source /usr/bin/virtualenvwrapper.sh
 mkvirtualenv -p `which python2` firefoxos
@@ -224,7 +224,7 @@ ln -s /opt/jdk1.6.0_45/bin/java ~/bin/java</code></pre>
  <p><strong>Anmerkung: Das Bauen (und Konfigurieren der Quellen) von B2G für das Gerät Keon funktioniert nicht auf einem Mac OS-Rechner</strong>. Stattdessen muß man unter Linux bauen, ggf. auf demselben Rechner, auf dem auch Mac OS läuft.</p>
 </div>
 <h3 id="Passende_XCode-Versionen_für_Mac_OS_10.9"><strong>Passende XCode-Versionen</strong> für Mac OS 10.9</h3>
-<p>XCode 4.2 oder älter sind nicht kompatibel mit OS X 10.9 ("Mavericks") und fallen daher ganz aus. Ansonsten gilt, daß man den ICS-Emulator nicht mit OS X 10.9 oder neuer bauen kann, und für das Gerät "flatfish" scheitert das Bauen mit allen Entwicklungsumgebungen der Versionen XCode 5.x.</p>
+<p>XCode 4.2 oder älter sind nicht kompatibel mit OS X 10.9 (&quot;Mavericks&quot;) und fallen daher ganz aus. Ansonsten gilt, daß man den ICS-Emulator nicht mit OS X 10.9 oder neuer bauen kann, und für das Gerät &quot;flatfish&quot; scheitert das Bauen mit allen Entwicklungsumgebungen der Versionen XCode 5.x.</p>
 <table class="standard-table">
  <caption>
   Version compatibility of OS X 10.9.x</caption>
@@ -298,15 +298,15 @@ ln -s /opt/jdk1.6.0_45/bin/java ~/bin/java</code></pre>
  <li>You must have environment variable <strong>BUILD_MAC_SDK_EXPERIMENTAL=1</strong> exported to build flatfish/vixen.</li>
 </ol>
 <h3 id="Install_XCode_Command_Line_Utilities"><strong>Install XCode Command Line Utilities</strong></h3>
-<p>You need to install Xcode's Command Line Utilities. You can download <em>just</em> the Command Line Utilities from <a href="https://developer.apple.com/downloads/" title="https://developer.apple.com/downloads/">Apple's developer downloads page</a> for your particular version of OS X, however if you would like the entire Xcode suite of applications, you can <a style="line-height: 1.572;" href="http://itunes.apple.com/us/app/xcode/id497799835?mt=12" class="external" title="http://itunes.apple.com/us/app/xcode/id497799835?mt=12">install Xcode</a><span style="line-height: 1.572;"> through the Mac App Store. </span></p>
-<p>Xcode 4.3.1 (OS X 10.7 "Lion") and other newer versions such as 4.4.1+ (that is, Mac OS X10.8 "Mountain Lion"), won't necessarily include the required Command Line Utilities. When you install Xcode, make sure to go into Preferences, then the Downloads panel, and install the Command Line Utilities. In addition, make sure you have at least 20 GB of free disk space.</p>
+<p>You need to install Xcode&apos;s Command Line Utilities. You can download <em>just</em> the Command Line Utilities from <a href="https://developer.apple.com/downloads/" title="https://developer.apple.com/downloads/">Apple&apos;s developer downloads page</a> for your particular version of OS X, however if you would like the entire Xcode suite of applications, you can <a style="line-height: 1.572;" href="http://itunes.apple.com/us/app/xcode/id497799835?mt=12" class="external" title="http://itunes.apple.com/us/app/xcode/id497799835?mt=12">install Xcode</a><span style="line-height: 1.572;"> through the Mac App Store. </span></p>
+<p>Xcode 4.3.1 (OS X 10.7 &quot;Lion&quot;) and other newer versions such as 4.4.1+ (that is, Mac OS X10.8 &quot;Mountain Lion&quot;), won&apos;t necessarily include the required Command Line Utilities. When you install Xcode, make sure to go into Preferences, then the Downloads panel, and install the Command Line Utilities. In addition, make sure you have at least 20 GB of free disk space.</p>
 <p><img src="/files/4557/xcode_downloads_command_line_tools.png" alt="Screenshot of Xcode Downloads Command Line Tools" style="width: 750px; height: 528px;"></p>
 <div class="note">
- <strong>Note:</strong> The Firefox OS emulator requires a Core 2 Duo processor or later; that is, a system that is compatible with Mac OS X 10.7 "Lion." You do not actually have to be running Lion, you just have to be compatible with it. You can, however, build any Firefox OS build on many older Macs.</div>
+ <strong>Note:</strong> The Firefox OS emulator requires a Core 2 Duo processor or later; that is, a system that is compatible with Mac OS X 10.7 &quot;Lion.&quot; You do not actually have to be running Lion, you just have to be compatible with it. You can, however, build any Firefox OS build on many older Macs.</div>
 <h3 id="Run_Firefox_OS_Mac_Bootstrap">Run Firefox OS Mac Bootstrap</h3>
 <p>Next, open a terminal and run the following command:</p>
 <pre class="brush: bash">curl -fsSL https://raw.github.com/mozilla-b2g/B2G/master/scripts/bootstrap-mac.sh | bash</pre>
-<p>This will pull and run a bootstrap script that makes sure you have all the prerequisites met to build the emulator. It will also prompt you for permission to install anything you're missing, and provide warnings and suggested fixes to problems. The script will check for and install the following items:</p>
+<p>This will pull and run a bootstrap script that makes sure you have all the prerequisites met to build the emulator. It will also prompt you for permission to install anything you&apos;re missing, and provide warnings and suggested fixes to problems. The script will check for and install the following items:</p>
 <ul>
  <li><code>git</code></li>
  <li><code>gpg</code></li>
@@ -326,8 +326,8 @@ ln -s /opt/jdk1.6.0_45/bin/java ~/bin/java</code></pre>
 <pre>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</pre>
 <p>If it cannot be found there you will need to extract and copy it from Xcode 4.3. To do this:</p>
 <ol>
- <li>Download the XCode 4.3 .dmg file from the <a href="https://developer.apple.com/downloads/index.action" class="external">Apple Developer</a> portal (you'll need an <a href="https://developer.apple.com/register/index.action" title="https://developer.apple.com/register/index.action">Apple Developer account</a>).</li>
- <li>Download the utility <a href="http://www.charlessoft.com/" title="http://www.charlessoft.com/">Pacifist</a> and use it to extract the 10.6 SDK from the XCode 4.3 .dmg file. Click on the "Extract Package" button, find the SDK by searching for 10.6 in the search box, then <em>Ctrl + click</em> on the MacOSX10.6.sdk directory and Extract it to a suitable location.</li>
+ <li>Download the XCode 4.3 .dmg file from the <a href="https://developer.apple.com/downloads/index.action" class="external">Apple Developer</a> portal (you&apos;ll need an <a href="https://developer.apple.com/register/index.action" title="https://developer.apple.com/register/index.action">Apple Developer account</a>).</li>
+ <li>Download the utility <a href="http://www.charlessoft.com/" title="http://www.charlessoft.com/">Pacifist</a> and use it to extract the 10.6 SDK from the XCode 4.3 .dmg file. Click on the &quot;Extract Package&quot; button, find the SDK by searching for 10.6 in the search box, then <em>Ctrl + click</em> on the MacOSX10.6.sdk directory and Extract it to a suitable location.</li>
  <li>Add a symlink from the 10.6 SDK location to the <code>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</code> directory. For example, if you put the 10.6 SDK on your desktop, the comment would be</li>
 </ol>
 <pre>ln -s /Users/<em>&lt;yourusername&gt;</em>/Desktop/MacOSX10.6.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</pre>
@@ -343,8 +343,8 @@ with |source build/envsetup.sh force|
 
 ERROR: Patching of kernel/ failed.</span></pre>
 <p><span class="quote">Please see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=867259" title="https://bugzilla.mozilla.org/show_bug.cgi?id=867259">bug 867259</a></span> for more discussion and possible fixes for this problem.</p>
-<p>Alternatively, it will always be safest to build on a case sensitive file system.  The easiest way to do this is to create a separate, mountable disk image with case-sensitivity enabled.  You can do this using Apple's Disk Utility application or from the command line:</p>
-<pre>hdiutil create -volname 'firefoxos' -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/firefoxos.sparseimage</pre>
+<p>Alternatively, it will always be safest to build on a case sensitive file system.  The easiest way to do this is to create a separate, mountable disk image with case-sensitivity enabled.  You can do this using Apple&apos;s Disk Utility application or from the command line:</p>
+<pre>hdiutil create -volname &apos;firefoxos&apos; -type SPARSE -fs &apos;Case-sensitive Journaled HFS+&apos; -size 40g ~/firefoxos.sparseimage</pre>
 <p>Mount the drive with:</p>
 <pre>open ~/firefoxos.sparseimage</pre>
 <p>Change into the mounted drive with:</p>
@@ -365,27 +365,27 @@ ERROR: Patching of kernel/ failed.</span></pre>
 <div class="note">
  <strong>Note:</strong> If you have installed the <a href="http://www.samsung.com/us/kies/" class="external" title="http://www.samsung.com/us/kies/">Samsung Kies</a> tool, which is used to manage the contents of many Samsung phones, you will have to remove it before you can flash Firefox OS onto your device. You can use the standard application removal process on Windows; on Mac, the Kies install disk image has a utility to fully remove Kies from your system. Flashing <strong>will not work</strong> if you have Kies installed. If you forget to remove Kies, the build system will detect it and remind you to uninstall it. Note also that the uninstall tool does not correctly remove the folder <code>~/Library/Application Support/.FUS</code>, and leaves a reference to a utility there in your user startup items list. You will want to remove these manually.</div>
 <h3 class="note" id="Fix_libmpc_dependency_if_broken">Fix libmpc dependency if broken</h3>
-<p>gcc 4.6 was built with libmpc 0.9; if you then use homebrew to update packages, libmpc gets updated to version 1.0, but homebrew doesn't rebuild gcc 4.6 after the library version changes. So you need to create a symlink to make things work again, like this:</p>
+<p>gcc 4.6 was built with libmpc 0.9; if you then use homebrew to update packages, libmpc gets updated to version 1.0, but homebrew doesn&apos;t rebuild gcc 4.6 after the library version changes. So you need to create a symlink to make things work again, like this:</p>
 <pre>cd /usr/local/lib/
 ln -s libmpc.3.dylib libmpc.2.dylib</pre>
 <h3 id="Optional_Install_HAX">Optional: Install HAX</h3>
-<p>Intel provides a special driver that lets the B2G emulator run its code natively on your Mac instead of being emulated, when you're using the x86 emulator. If you wish to use this, you can <a href="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/" class="external" title="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/">download and install</a> it. It's not required, but it can improve emulation performance and stability.  </p>
+<p>Intel provides a special driver that lets the B2G emulator run its code natively on your Mac instead of being emulated, when you&apos;re using the x86 emulator. If you wish to use this, you can <a href="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/" class="external" title="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/">download and install</a> it. It&apos;s not required, but it can improve emulation performance and stability.  </p>
 <p>Before you install HAX you will need to install the <a href="http://developer.android.com/sdk/index.html" title="http://developer.android.com/sdk/index.html">Android SDK</a>.</p>
 <h2 class="note" id="Install_adb">Install adb</h2>
-<p>The build process needs to pull binary blobs from the Android installation on the phone before building B2G (unless you're building the emulator, of course).  For this, you will need <code>adb</code>, the Android Debug Bridge.</p>
+<p>The build process needs to pull binary blobs from the Android installation on the phone before building B2G (unless you&apos;re building the emulator, of course).  For this, you will need <code>adb</code>, the Android Debug Bridge.</p>
 <p>You can download and install <code>adb</code> as part of the Android SDK package, for Mac, Linux or Windows - visit the <a href="http://developer.android.com/sdk/index.html">Get the Android SDK</a> page.</p>
 <p>Newer Linux distributions have <code>adb</code> already in their repositories. For Ubuntu 12.10 and later, run the following command:</p>
 <pre>sudo apt-get install android-tools-adb</pre>
 <p>Or for Fedora 18/19:</p>
 <pre>sudo yum install android-tools</pre>
-<p>If your distribution does not have packages for <code>adb </code>available (i.e. Ubuntu 12.04 or Fedora 17), you'll need to install the <a href="http://developer.android.com/sdk/index.html" class="external" title="http://developer.android.com/sdk/index.html">Android SDK starter package</a> for your platform (you'll want the <em>ADT Bundle</em>, not the <em>SDK Tools Only</em> option). Then run their package manager, <code>$SDK_HOME/tools/android</code>, and use the GUI to install "Android SDK Platform-tools".</p>
+<p>If your distribution does not have packages for <code>adb </code>available (i.e. Ubuntu 12.04 or Fedora 17), you&apos;ll need to install the <a href="http://developer.android.com/sdk/index.html" class="external" title="http://developer.android.com/sdk/index.html">Android SDK starter package</a> for your platform (you&apos;ll want the <em>ADT Bundle</em>, not the <em>SDK Tools Only</em> option). Then run their package manager, <code>$SDK_HOME/tools/android</code>, and use the GUI to install &quot;Android SDK Platform-tools&quot;.</p>
 <p>Find out where <code>adb</code> is installed (usually in <code>usr/bin</code>, possibly additionally inside <code>adt/platform-tools</code>, depending on how you installed it). Be sure to add this directory to your <code>PATH</code>. This can be done by adding the line</p>
 <pre>PATH=$SDK_HOME:$PATH</pre>
 <p>replacing <code>$SDK_HOME</code> with the location of the android sdk, to your <code>~/.bashrc</code> or equivalent.</p>
 <h2 class="note" id="Install_heimdall">Install heimdall</h2>
-<p>Heimdall is a utility for flashing the Samsung Galaxy S2. It's used by the Boot to Gecko flash utility to replace the contents of the phone with Firefox OS, as well as to flash updated versions of B2G and Gaia onto the device. You'll need it if you want to install Firefox OS on a Galaxy S2; it is <strong>not</strong> needed for any other device. For other devices, we build and use the fastboot utility instead.</p>
+<p>Heimdall is a utility for flashing the Samsung Galaxy S2. It&apos;s used by the Boot to Gecko flash utility to replace the contents of the phone with Firefox OS, as well as to flash updated versions of B2G and Gaia onto the device. You&apos;ll need it if you want to install Firefox OS on a Galaxy S2; it is <strong>not</strong> needed for any other device. For other devices, we build and use the fastboot utility instead.</p>
 <div class="note">
- <strong>Note:</strong> Again, it's important to note that this is <strong>only required for installing Firefox OS on the Samsung Galaxy S2</strong>.</div>
+ <strong>Note:</strong> Again, it&apos;s important to note that this is <strong>only required for installing Firefox OS on the Samsung Galaxy S2</strong>.</div>
 <p>There are two ways to install heimdall:</p>
 <ul>
  <li>You can <a href="https://github.com/Benjamin-Dobell/Heimdall" class="link-https" title="https://github.com/Benjamin-Dobell/Heimdall">download the code</a> GitHub and build it yourself.</li>
@@ -404,19 +404,19 @@ ln -s libmpc.3.dylib libmpc.2.dylib</pre>
  <p>Note: This section is specific to Linux; Mac OSX has the necessary device permissions set up already.</p>
 </div>
 <p>Next, you need to confingure the udev rule for your phone,</p>
-<p>You can get the USB vendor ID by running <code>lsusb</code> with your phone plugged in, but typically it's Google <code>18d1,</code> Samsung <code>04e8</code>, ZTE <code>19d2</code>, Geeksphone/Qualcomm <code>05c6</code>. Add this line in your <code>/etc/udev/rules.d/android.rules</code> file (replacing <code>XXXX</code> with the ID for your device):</p>
-<pre>SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", MODE="0666", GROUP="plugdev"</pre>
+<p>You can get the USB vendor ID by running <code>lsusb</code> with your phone plugged in, but typically it&apos;s Google <code>18d1,</code> Samsung <code>04e8</code>, ZTE <code>19d2</code>, Geeksphone/Qualcomm <code>05c6</code>. Add this line in your <code>/etc/udev/rules.d/android.rules</code> file (replacing <code>XXXX</code> with the ID for your device):</p>
+<pre>SUBSYSTEM==&quot;usb&quot;, ATTR{idVendor}==&quot;XXXX&quot;, MODE=&quot;0666&quot;, GROUP=&quot;plugdev&quot;</pre>
 <p>Take ZTE for example, the content in android.rules will be</p>
-<pre style="font-size: 14px;">SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"</pre>
+<pre style="font-size: 14px;">SUBSYSTEM==&quot;usb&quot;, ATTR{idVendor}==&quot;19d2&quot;, MODE=&quot;0666&quot;, GROUP=&quot;plugdev&quot;</pre>
 <div class="note">
- <p><span style="line-height: 1.572;">If the file doesn't exist, create it. The <code>rules.d</code> directory is usually read only by default, so you may have to use <code>chmod</code> to make the directory writeable, or the file, or both.</span></p>
+ <p><span style="line-height: 1.572;">If the file doesn&apos;t exist, create it. The <code>rules.d</code> directory is usually read only by default, so you may have to use <code>chmod</code> to make the directory writeable, or the file, or both.</span></p>
 </div>
-<p><span style="line-height: 1.572;">Once you've saved the file, and closed it,  make the file readable:</span></p>
+<p><span style="line-height: 1.572;">Once you&apos;ve saved the file, and closed it,  make the file readable:</span></p>
 <pre>$ sudo chmod a+r /etc/udev/rules.d/android.rules
 </pre>
 <p>Now that the udev rules have been updated, restart the udev daemon. For ubuntu:</p>
 <pre>sudo service udev restart</pre>
-<p>Finally, unplug and the USB cable but don't replug it in because we need to enable remote debugging on the phone first.</p>
+<p>Finally, unplug and the USB cable but don&apos;t replug it in because we need to enable remote debugging on the phone first.</p>
 <h2 id="Enable_remote_debugging">Enable remote debugging</h2>
 <p>Before you plug your phone back into your USB port, put it USB developer mode. This allows you to debug and flash the phone. To enable developer mode, on your phone select <code>Settings app</code> -&gt; <code>Device information</code> -&gt; <code>More Information</code> -&gt; <code>Developer</code> -&gt; <code>Remote debugging</code> (this was called Developer mode on older versions.) Once the option is checked, remote debugging is enabled, and you are ready to go.</p>
 <p>At this point, connect your phone to your computer via a USB cable (if you created the udev rule before, this will trigger udev to detect the phone and create the device node with the right permissions). Now you can check if you can list your device via the <code>adb devices</code> command. If everything has worked ok, you should see an output similar to this (the following is for a Geeksphone Keon):</p>
@@ -425,8 +425,8 @@ List of devices attached
 full_keon       device</pre>
 <p>If the device did not list as expect, check the file name and the script are all correct (see previous section), then restart the computer and retype the command again. Note also that if your device uses fastboot, the bootloader may identify itself with a different vendor ID than the one you see when the device boots normally.</p>
 <h2 id="Backup_the_phone_system_partition">Backup the phone system partition</h2>
-<div class="warning">
- <p><strong>Note:</strong> You have to do this before you build your device if you do not have existing system backup. Because some libraries will be referenced in build time. These library might be proprietary so we can't provide in our code base.</p>
+<div class="warning notecard">
+ <p><strong>Note:</strong> You have to do this before you build your device if you do not have existing system backup. Because some libraries will be referenced in build time. These library might be proprietary so we can&apos;t provide in our code base.</p>
 </div>
 <p>It is recommended to back up the entire Android system partition on your phone.</p>
 <p>You can use this copy of the binary blobs for Android in case you later delete your B2G tree. To do this, run:</p>
@@ -436,10 +436,10 @@ full_keon       device</pre>
 <pre>adb pull /data &lt;backup target dir&gt;/data
 adb pull /vendor &lt;backup target dir&gt;/vendor
 </pre>
-<p>If the pull commands fail with "insufficient permission" message, try the following:</p>
+<p>If the pull commands fail with &quot;insufficient permission&quot; message, try the following:</p>
 <ul>
  <li>stop and restart the adb server, or if that fails,</li>
- <li>double-check that you have granted <em>root</em> permissions to the 'adb' tool within your custom ROM (e.g. under CyanogenMod, change 'Settings -&gt; System -&gt; Developer Options -&gt; Root Access' to 'Apps and ADB' or 'ADB only').</li>
+ <li>double-check that you have granted <em>root</em> permissions to the &apos;adb&apos; tool within your custom ROM (e.g. under CyanogenMod, change &apos;Settings -&gt; System -&gt; Developer Options -&gt; Root Access&apos; to &apos;Apps and ADB&apos; or &apos;ADB only&apos;).</li>
  <li>Verify that you have set up the udev rule correctly (see <a href="#For_Linux:_configure_the_udev_rule_for_your_phone">For Linux: configure the udev rule for your phone</a>.</li>
 </ul>
 <h2 id="On_to_the_next_step">On to the next step</h2>

+ 14 - 14
files/de/archive/b2g_os/gaia_entwickeln/build_system_primer/index.html

@@ -34,7 +34,7 @@ translation_of: Archive/B2G_OS/Developing_Gaia/Build_System_Primer
 
 <p>Funktioniert genauso wie <code>install-gaia</code> mit dem Unterschied, dass zuerst alle Apps deinstalliert und anschließend wieder mit den Standard-Zugriffsrechten installiert werden. Die Apps befinden sich in <code>/data/local</code> wie bei den Entwickler-Builds. Test- und Debugging-Apps werden hier ebenfalls installiert.</p>
 
-<div class="warning">
+<div class="warning notecard">
 <p><strong>Vorsicht</strong>: Wenn beim Aufruf von make mit der Option <code>reset-gaia</code> die Umgebungsvariable <code>APP</code> gesetzt ist, dann wird dies Dein Gerät in einen unbrauchbaren Zustand versetzen (das kann allerdings behoben werden durch Aufruf von make mit der Option <code>reset-gaia</code> ohne die <code>APP</code> Umgebungsvariable). Also mach das bitte nicht.</p>
 </div>
 
@@ -42,7 +42,7 @@ translation_of: Archive/B2G_OS/Developing_Gaia/Build_System_Primer
 
 <p>Genauso wie <code>reset-gaia</code>, aber der Quellcode wird optimiert. Das ermöglicht grundsätzlich die Emulation von User Builds (stabilen Builds). Mit dieser Option werden dieselben Apps installiert wie bei User Builds.</p>
 
-<div class="warning">
+<div class="warning notecard">
 <p><strong>Vorsicht</strong>: Wenn beim Aufruf von make mit der Option <code>production</code> die Umgebungsvariable <code>APP</code> gesetzt ist, dann wird dies Dein Gerät in einen unbrauchbaren Zustand versetzen (das kann allerdings behoben werden durch Aufruf von make mit der Option <code>production</code> ohne die <code>APP</code> Umgebungsvariable). Also mach das bitte nicht.</p>
 </div>
 
@@ -51,7 +51,7 @@ translation_of: Archive/B2G_OS/Developing_Gaia/Build_System_Primer
 <p>Diese Option installiert unterschiedlich große Pakete für Laufzeittests auf dem Gerät, um eventuell auftretende Geschwindigkeits- und Skalierungsprobleme debuggen und beheben zu können. Diese Option akzeptiert die APP Umgebungsvariable und auch die APPS Umgebungsvariable mit mehreren durch Leerzeichen voneinander getrennten App-Namen, z.B.:</p>
 
 <pre class="brush: bash">APP=sms make reference-workload-light
-APPS="sms communications/contacts" make reference-workload-heavy
+APPS=&quot;sms communications/contacts&quot; make reference-workload-heavy
 </pre>
 
 <div class="note">
@@ -66,7 +66,7 @@ APPS="sms communications/contacts" make reference-workload-heavy
 
 <p>Das ermöglicht parallele Build-Erzeugungen auf Multikern CPU Architekturen und verkürzt die Laufzeit von Build-Erzeugungen, der Standardwert ist <strong>0</strong>.</p>
 
-<div class="warning">
+<div class="warning notecard">
 <p><strong>Vorsicht</strong>: Parallele Build-Erzeugung ist noch in der Test-Phase und somit vielleicht nicht stabil.</p>
 </div>
 
@@ -88,7 +88,7 @@ APPS="sms communications/contacts" make reference-workload-heavy
 
 <h4 id="GAIA_DEVICE_TYPEphone">GAIA_DEVICE_TYPE=phone</h4>
 
-<p>Diese Umgebungsvariable ermöglicht eine individuelle Installation mit mehreren 'app.list' Dateien. Alle 'app.list' Dateien müssen in /build/config/$(GAIA_DEVICE_TYPE)/  Verzeichnissen liegen.</p>
+<p>Diese Umgebungsvariable ermöglicht eine individuelle Installation mit mehreren &apos;app.list&apos; Dateien. Alle &apos;app.list&apos; Dateien müssen in /build/config/$(GAIA_DEVICE_TYPE)/  Verzeichnissen liegen.</p>
 
 <p>Der Standardwert von GAIA_DEVICE_TYPE ist <strong>phone</strong>.</p>
 
@@ -100,7 +100,7 @@ APPS="sms communications/contacts" make reference-workload-heavy
 
 <p>Das Ablaufdiagramm, wie ein Build für Gaia erzeugt wird:</p>
 
-<p><img src="https://mdn.mozillademos.org/files/8635/gaia-build-system-seq-diagram.png" alt="" style="height: 1497px; width: 2222px;"></p>
+<p><img src="https://mdn.mozillademos.org/files/8635/gaia-build-system-seq-diagram.png" alt style="height: 1497px; width: 2222px;"></p>
 
 <p>pre-app.js, app.js &amp; post-app.js werden von make gestartet und die meisten Build-Schritte werden in den xpcshell Skripten ausgeführt, make ermittelt das Betriebssystem und lädt den b2g-desktop herunter. Wir planen, mehr Build-Schritte von make in die xpcshell Skripte zu migrieren.</p>
 
@@ -116,7 +116,7 @@ APPS="sms communications/contacts" make reference-workload-heavy
 
 <p>Unser Ziel ist es, keine Dateien in die Source-Verzeichnisse hinein zu generieren. Leider haben wir immer noch ein paar Stellen, an denen Dateien in die Source-Verzeichnisse generiert werden. Wir planen, diese Probleme zu beheben. Die folgende Tabelle listet auf, von welchen Modulen Dateien ins Source-, ins Stage- und in die Profil-Verzeichnisse generiert werden.</p>
 
-<p><img src="https://mdn.mozillademos.org/files/8653/file-accessing.png" alt="" style="height: 1250px; width: 1136px;"></p>
+<p><img src="https://mdn.mozillademos.org/files/8653/file-accessing.png" alt style="height: 1250px; width: 1136px;"></p>
 
 <p>Der Build-Prozess führt bei Aufruf von <code>make</code> im Gaia-Verzeichnis die folgenden Schritte in der angegebenen Reihenfolge aus:</p>
 
@@ -142,15 +142,15 @@ APPS="sms communications/contacts" make reference-workload-heavy
 
 <p>Standardmäßig wird als App Build Skript <span style="font-family: courier new,andale mono,monospace; line-height: 1.5;">[app directory]/build/build.js</span><span style="line-height: 1.5;"> von  app.js </span><span style="line-height: 1.5;">ausgeführt, falls vorhanden. Wenn $APP/build/build.js nicht vorhanden ist, dann kopiert app.js die App ins Stage-Verzeichnis build_stage.</span></p>
 
-<p>Die Dateien im App-Verzeichnis sollten vom App Build-Skript ins Stage-Verzeichnis build_stage kopiert werden; denn app.js kopiert sie nicht, wenn ein App Build-Skript existiert. Beispiel: Die App "Kalender" hat ein Skript build/build.js und <a href="https://github.com/mozilla-b2g/gaia/blob/a0fa29db8e9e15afe3b1787bf494caa86a033f10/apps/calendar/build/build.js#L8">utils.copyToStage()</a> sollte in build.js für die "Kalender" App aufgerufen werden.</p>
+<p>Die Dateien im App-Verzeichnis sollten vom App Build-Skript ins Stage-Verzeichnis build_stage kopiert werden; denn app.js kopiert sie nicht, wenn ein App Build-Skript existiert. Beispiel: Die App &quot;Kalender&quot; hat ein Skript build/build.js und <a href="https://github.com/mozilla-b2g/gaia/blob/a0fa29db8e9e15afe3b1787bf494caa86a033f10/apps/calendar/build/build.js#L8">utils.copyToStage()</a> sollte in build.js für die &quot;Kalender&quot; App aufgerufen werden.</p>
 
 <div class="note">
 <p><strong>Hinweis</strong>: Sourcen, die nicht zu Deiner App gehören (wie in shared/) kannst Du in der index.html in den &lt;head&gt; Bereich einfügen, damit sie von shared/ in Deine App kopiert werden.</p>
 </div>
 
-<p>Build-Skripte für Apps benötigen möglicherweise alle Build Module im Verzeichnis  $GAIA_DIR/build; speziell das utils Modul, ein sehr nützliches Modul für den Build von Apps, kannst Du require('utils') verwenden um das Modul einzubinden.</p>
+<p>Build-Skripte für Apps benötigen möglicherweise alle Build Module im Verzeichnis  $GAIA_DIR/build; speziell das utils Modul, ein sehr nützliches Modul für den Build von Apps, kannst Du require(&apos;utils&apos;) verwenden um das Modul einzubinden.</p>
 
-<p><img src="https://mdn.mozillademos.org/files/8651/flow-diagram.png" alt="" style="height: 952px; width: 1004px;"></p>
+<p><img src="https://mdn.mozillademos.org/files/8651/flow-diagram.png" alt style="height: 952px; width: 1004px;"></p>
 
 <h2 id="Anpassen_der_Voreinstellungen">Anpassen der Voreinstellungen</h2>
 
@@ -160,16 +160,16 @@ APPS="sms communications/contacts" make reference-workload-heavy
 
 <pre class="brush: js">// Aktivieren von marionette für Performance-Tests
 // siehe https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_performance_tests
-user_pref("marionette.defaultPrefs.enabled", true);
+user_pref(&quot;marionette.defaultPrefs.enabled&quot;, true);
 
 // Setzen des Ports für remote Debugging Deiner Anwendung auf Deinem Gerät
-user_pref("devtools.debugger.remote-port", 60000);
+user_pref(&quot;devtools.debugger.remote-port&quot;, 60000);
 
 // Aktivieren des remote Debuggers
-user_pref("devtools.debugger.remote-enabled", true);
+user_pref(&quot;devtools.debugger.remote-enabled&quot;, true);
 
 // Ausgeben der Debug-Meldungen über den Radio Interface Layer in logcat
-user_pref("ril.debugging.enabled", true);
+user_pref(&quot;ril.debugging.enabled&quot;, true);
 </pre>
 
 <p>Diese Datei wird immer gelesen, wenn Du ein Profil generierst. Der sicherste Weg sicherzustellen, dass alles generiert wurde ist das vorherige Löschen des vorhandenen Profils:</p>

+ 1 - 1
files/de/archive/b2g_os/gaia_entwickeln/customizing_build-time_apps/index.html

@@ -110,7 +110,7 @@ endif</pre>
 <p><strong>Hinweis</strong>: Wenn Du Apps von Drittanbietern in Deinen Gaia Build einbinden willst, dann müssen diese auf spezielle Art erzeugt werden bevor sie im Verzeichnis <code>gaia/dev-apps/</code> abgelegt werden. Nähere Informationen findest Du auf <a href="https://developer.mozilla.org/en-US/Firefox_OS/Developing_Firefox_OS/Market_customizations_guide#Building_Prebundled_web_apps">Building Prebundled web apps</a>.</p>
 </div>
 
-<div class="warning">
+<div class="warning notecard">
 <p><strong>Wichtig</strong>: Wenn Sie als Geräte-Hersteller einen angepassten B2G/Gaia Build für Ihre Distribution verwenden möchten, dann müssen Sie bestimmte Voraussetzungen erfüllen bevor Sie Firefox OS Marketplace Apps auf Ihrem Smartphone, Tablet etc. anbieten dürfen. Bitte kontaktieren Sie in einem solchen Fall Mozilla für nähere Informationen.</p>
 </div>
 

+ 12 - 12
files/de/archive/b2g_os/phone_guide/geeksphone/index.html

@@ -13,13 +13,13 @@ translation_of: Archive/B2G_OS/Phone_guide/Geeksphone
 
 <h2 id="Geeksphone_auf_das_letzte_Abbild_upgraden">Geeksphone auf das letzte Abbild upgraden</h2>
 
-<p>Firefox OS Updates können über die Settings App heruntergeladen werden. Die Funktionalität befindet sich unter Device Informationen. Das Smartphone kann so eingestellt werden, dass es auf neue Updates täglich, wöchentlich oder monatlich prüft. Zusätzlich besteht die Möglichkeit über den "check now" Button eine Aktualisierung durchzuführen. Sobald ein neues Update verfügbar ist wird dies angezeigt und der Download und die Installation der aktuellen Version kann beginnen.</p>
+<p>Firefox OS Updates können über die Settings App heruntergeladen werden. Die Funktionalität befindet sich unter Device Informationen. Das Smartphone kann so eingestellt werden, dass es auf neue Updates täglich, wöchentlich oder monatlich prüft. Zusätzlich besteht die Möglichkeit über den &quot;check now&quot; Button eine Aktualisierung durchzuführen. Sobald ein neues Update verfügbar ist wird dies angezeigt und der Download und die Installation der aktuellen Version kann beginnen.</p>
 
 <p><img src="https://mdn.mozillademos.org/files/6051/checkupate.png" alt="The screen for checking updates on the Firefox OS settings app" style="width: 318px; height: 478px; display: block; margin: 0px auto;"></p>
 
 <h2 id="Das_Telefon_flashen">Das Telefon flashen</h2>
 
-<p>Das Team von Geeksphone stellt die "latest stable" und die "nightly builds" als eigenständige Downloads zum selbstständigen flashen zur Verfügung.</p>
+<p>Das Team von Geeksphone stellt die &quot;latest stable&quot; und die &quot;nightly builds&quot; als eigenständige Downloads zum selbstständigen flashen zur Verfügung.</p>
 
 <h3 id="Telefon_und_Computer_vorbereiten">Telefon und Computer vorbereiten</h3>
 
@@ -33,7 +33,7 @@ translation_of: Archive/B2G_OS/Phone_guide/Geeksphone
 
 <p><img src="https://mdn.mozillademos.org/files/6055/geeksphone-download.png" alt="Two phone images side by side, the Geeksphone Keon and Peak, with different software download options below each one." style="width: 530px; height: 486px; display: block; margin: 0px auto;"></p>
 
-<p>Lade nun den zu deinem Gerät passenden Build herunten und entpacke die Archive-Datei auf deine Festplatte. Das Archive beinhaltet das Abbild und die benötigten Befehle um das Gerät zu aktualisieren. Dabei stehen Befehle für Windows, Mac OS oder Linux zur Verfügung. Um das Gerät nun zu aktualisieren muss "Remote debugging" unter Einstellungen aktiviert sein.</p>
+<p>Lade nun den zu deinem Gerät passenden Build herunten und entpacke die Archive-Datei auf deine Festplatte. Das Archive beinhaltet das Abbild und die benötigten Befehle um das Gerät zu aktualisieren. Dabei stehen Befehle für Windows, Mac OS oder Linux zur Verfügung. Um das Gerät nun zu aktualisieren muss &quot;Remote debugging&quot; unter Einstellungen aktiviert sein.</p>
 
 <p><code><strong>Settings</strong> -&gt; <strong>Device information</strong> -&gt; <strong>More information</strong> -&gt; <strong>Developer</strong></code><strong> tab</strong>.</p>
 
@@ -77,9 +77,9 @@ translation_of: Archive/B2G_OS/Phone_guide/Geeksphone
 
 <p>Um ein Keon unter Ubuntu zu fläschen müssten die folgenden Regeln in  /etc/udev/rules.d/51-android.rules hinzugefügt werden:</p>
 
-<div>SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="8013", MODE="0666"</div>
+<div>SUBSYSTEM==&quot;usb&quot;, ATTR{idVendor}==&quot;05c6&quot;, ATTR{idProduct}==&quot;8013&quot;, MODE=&quot;0666&quot;</div>
 
-<div>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", MODE="0666"</div>
+<div>SUBSYSTEM==&quot;usb&quot;, ATTR{idVendor}==&quot;18d1&quot;, ATTR{idProduct}==&quot;d00d&quot;, MODE=&quot;0666&quot;</div>
 
 <div> </div>
 
@@ -102,19 +102,19 @@ translation_of: Archive/B2G_OS/Phone_guide/Geeksphone
 
 <pre lang="bash" class="brush: bash"><span class="st"><em>sudo nautilus</em></span></pre>
 
-<pre lang="bash" class="brush: bash"><span class="st"><em>sudo nautilus "root password"</em></span></pre>
+<pre lang="bash" class="brush: bash"><span class="st"><em>sudo nautilus &quot;root password&quot;</em></span></pre>
 
 <p>Schritt 4: Kopiere den Download des Firefox O.S Geeks Phone Builds in das Root-Verzeichnis</p>
 
-<p>Schritt 5: Klicke auf die Datei mit dem Namen "flash.sh"</p>
+<p>Schritt 5: Klicke auf die Datei mit dem Namen &quot;flash.sh&quot;</p>
 
 <pre lang="bash" class="brush: bash">./flash.sh</pre>
 
 <p> </p>
 
-<h2 id="If_you_have_an_'unagi'_or_developer_preview_phone_that_is_not_a_Geeksphone">If you have an 'unagi' or developer preview phone that is not a Geeksphone</h2>
+<h2 id="If_you_have_an_&apos;unagi&apos;_or_developer_preview_phone_that_is_not_a_Geeksphone">If you have an &apos;unagi&apos; or developer preview phone that is not a Geeksphone</h2>
 
-<p>If you have a developer phone that is not a Geeksphone such as an 'unagi' or a previously Android-based device, you may need to perform the following steps. If this is not you, please skip to the next section.</p>
+<p>If you have a developer phone that is not a Geeksphone such as an &apos;unagi&apos; or a previously Android-based device, you may need to perform the following steps. If this is not you, please skip to the next section.</p>
 
 <p>You will need to install <strong>adb</strong> and <strong>fastboot</strong>. These utilities can be found in the Android Developer Toolkit.</p>
 
@@ -136,7 +136,7 @@ cd gaia
 
 <p>This will clone the current Gaia code to your system.</p>
 
-<div class="warning">
+<div class="warning notecard">
 <p>If you plan on submitting changes back to the Gaia source, be sure to fork the source before cloning as described in <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia/Hacking">Hacking Gaia</a>.</p>
 </div>
 
@@ -169,7 +169,7 @@ make reset-gaia
 <p><strong>Note</strong>: Bear in mind that either of the above commands will clear any data or apps that you have pushed to the phone. If you want to back up your data and restore afterwards, you can follow the instructions at <a href="/en-US/Firefox_OS/Firefox_OS_build_prerequisites#Backup_the_phone_system_partition">Back up the phone system partition</a>.</p>
 </div>
 
-<h2 id="Ok_I_bricked_my_phone">"Ok, I bricked my phone"</h2>
+<h2 id="Ok_I_bricked_my_phone">&quot;Ok, I bricked my phone&quot;</h2>
 
 <p>If you are in the process of modifying your phone and it becomes “unresponsive” you should be able to recover it using fastboot with a simple procedure. The following illustrates resetting the Keon but other phones should have a similar process. You will also need to verify that you have fastboot and ADB installed (try typing <code>fastboot</code> and <code>adb</code> in the command line if you are not sure).</p>
 
@@ -188,7 +188,7 @@ fastboot flash system system.img
 fastboot reboot
 </pre>
 
-<p>This process should recover your phone. If it doesn't seem to work, you may have to try it a second time.</p>
+<p>This process should recover your phone. If it doesn&apos;t seem to work, you may have to try it a second time.</p>
 
 <h2 id="Go_play!">Go play!</h2>
 

+ 5 - 5
files/de/archive/b2g_os/phone_guide/zte_open_c/index.html

@@ -32,9 +32,9 @@ translation_of: Archive/B2G_OS/Phone_guide/ZTE_OPEN_C
 <h2 id="Einzelheiten_zum_Handy">Einzelheiten zum Handy</h2>
 <p>Siehe <a href="/en-US/Firefox_OS/Developer_phone_guide/Phone_specs">Phone and device specs</a>.</p>
 <h2 id="Wie_Sie_Firefox_OS_upgraden">Wie Sie Firefox OS upgraden</h2>
-<p>Der einfachste Weg, um die Software Ihres Open C upzugraden ist es, die Dateien von der ZTE-Webseite zu verwenden. Um die richtige Datei zu finden, gehen Sie zu <a href="http://www.ztedevices.com/support/selectproduct.html?type=software">ZTE's Software support page</a>, wählen Sie Ihre Region aus der Liste auf der linken Seite, wählen Sie <em>Smart Phones</em> in der mittleren Liste und Open C(European Standard) bzw. Open C(American Standard), je nachdem, wo Sie das Gerät gekauft haben. Klicken Sie dann auf <em>Selected</em> um zu Ihrer Download-Seite zu gelangen.</p>
+<p>Der einfachste Weg, um die Software Ihres Open C upzugraden ist es, die Dateien von der ZTE-Webseite zu verwenden. Um die richtige Datei zu finden, gehen Sie zu <a href="http://www.ztedevices.com/support/selectproduct.html?type=software">ZTE&apos;s Software support page</a>, wählen Sie Ihre Region aus der Liste auf der linken Seite, wählen Sie <em>Smart Phones</em> in der mittleren Liste und Open C(European Standard) bzw. Open C(American Standard), je nachdem, wo Sie das Gerät gekauft haben. Klicken Sie dann auf <em>Selected</em> um zu Ihrer Download-Seite zu gelangen.</p>
 <p>Sobald Ihr Download beendet ist, finden Sie ein PDF in der ZIP-Datei, das Ihnen erklärt, wie das Upgrade zu installieren ist.</p>
-<h2 id="Manuelle_Updates">"Manuelle" Updates</h2>
+<h2 id="Manuelle_Updates">&quot;Manuelle&quot; Updates</h2>
 <p>Wenn Sie selbst Gecko oder Gaia updaten wollen, ist der Vorgang etwas verzwickter, weil das Handy standardmäßig gesperrt ist und Sie keinen Root-Zugang haben. Um das Gerät zu entsperren, können Sie folgendes Programm von comebuy.com benutzen:<a href="http://en.comebuy.com/developer-firefox-os-open-c.html">Open_C_upgrade_Tool</a>. Durch die Installation dieses Programms wird die Fimware Ihres Geräts so verändert, dass der Root-Zugang Fastboot aktiviert werden und Sie die Möglichkeit haben, Ihr Telefon mit neuen Softwarekomponenten zu flashen.</p>
 <div class="note">
  <p><strong>Bitte beachten</strong>: Dieses Upgrade-Programm ist derzeit nur für Windows verfügbar.</p>
@@ -43,7 +43,7 @@ translation_of: Archive/B2G_OS/Phone_guide/ZTE_OPEN_C
 <p>Sobald Sie Fastboot aktiviert haben, können Sie neue Firefox OS/B2G Gecko und Gaia Komponenten erstellen und installieren: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">build and install new Firefox OS/B2G</a>.</p>
 <ol>
  <li>Beginnen Sie mit folgender Anleitung: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">build prerequisite</a>, wobei Sie das Open C zum Zwecke der Konfiguration wie ein Flame behandeln: Beide, Flame und Open C basieren auf dem Android Jellybean Basissystem.</li>
- <li>Während der Konfiguration müssen Sie ein sog. "Custom Manifest File" für das Open C referenzieren. Laden Sie den Anhang zur Fehlermeldung auf folgender Seite herunter: <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1016867">Download the attachment on this bug</a> und speichern Sie ihn an einem Ort auf ihrem Computer, den Sie leicht wiederfinden unter dem Dateinamen openc.xml.</li>
+ <li>Während der Konfiguration müssen Sie ein sog. &quot;Custom Manifest File&quot; für das Open C referenzieren. Laden Sie den Anhang zur Fehlermeldung auf folgender Seite herunter: <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1016867">Download the attachment on this bug</a> und speichern Sie ihn an einem Ort auf ihrem Computer, den Sie leicht wiederfinden unter dem Dateinamen openc.xml.</li>
  <li>Räumen Sie das B2G Verzeichnis auf und löschen Sie nicht benötigte Unterverzeichnisse:<br>
   <pre class="brush: bash" id="comment_text_2">rm -rf objdir-gecko/ out/ backup-flame/</pre>
  </li>
@@ -59,14 +59,14 @@ translation_of: Archive/B2G_OS/Phone_guide/ZTE_OPEN_C
 make reset-gaia</pre>
  </li>
 </ol>
-<div class="warning">
+<div class="warning notecard">
  <p><strong>Achtung</strong>: Der Versuch, ein Image für das Flame auf Ihr Gerät zu flashen würde dieses unbrauchbar machen, weswegen hiervon abgeraten wird.</p>
 </div>
 <h3 id="Gaia_upgraden">Gaia upgraden</h3>
 <p>Wenn Sie nur ein Update von Gaia und nicht auch von Gecko durchführen wollen, müssen Sie zunächst das Gaia Repo auf Github forken und klonen und das Ergebnis auf Ihr Gerät flashen.</p>
 <ol dir="ltr">
  <li>Stellen Sie sicher dass <a href="https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Installing_ADB">ADB</a> installiert ist.</li>
- <li>Gehen Sie zu <a href="https://github.com/mozilla-b2g/gaia">https://github.com/mozilla-b2g/gaia</a>, klicken Sie dann auf den "fork" button in der oben rechten Ecke um in Ihr eigenes Repo zu forken.</li>
+ <li>Gehen Sie zu <a href="https://github.com/mozilla-b2g/gaia">https://github.com/mozilla-b2g/gaia</a>, klicken Sie dann auf den &quot;fork&quot; button in der oben rechten Ecke um in Ihr eigenes Repo zu forken.</li>
  <li>Klonen Sie den Code von ihrem geforkten Repo auf Ihren eigenen Rechner, indem Sie folgenden Befehl ausführen:
   <pre class="brush: bash  language-html">git clone https://github.com/your-github-username/gaia.git</pre>
  </li>

+ 3 - 3
files/de/archive/mdn/index.html

@@ -72,7 +72,7 @@ translation_of: Archive/MDN
   </ol>
 </section><p></p>
 
-<div class="blockIndicator obsolete">
+<div class="obsolete notecard">
 <p><strong>Obsolete</strong><br>
  This documentation is obsolete.</p>
 </div>
@@ -80,6 +80,6 @@ translation_of: Archive/MDN
 <p>The documentation listed below is archived, obsolete material about MDN itself.</p>
 
 <p></p><div class="row topicpage-table">
-    <div class="section"><dl><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Content_kits">Content kits</a></dt><dd class="landingPageList">MDN Content Kits are subject-based collections of technical resources to help you host a local developer meetup or give a technical presentation at an event, conference, or workshop.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Howto_Link_a_Github_account">How to link a GitHub account to your MDN profile</a></dt><dd class="landingPageList">All users who wish to contribute to MDN must add a GitHub login to their MDN account in order to edit. This article describes how to add GitHub authentication to your MDN profile.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Persona_sign-ins">MDN and Persona sign-ins</a></dt><dd class="landingPageList">Starting on November 1, 2016, we only support GitHub for logging into MDN. If you didn't add a GitHub login to your MDN account before we disabled Persona logins, please file an <a href="https://mzl.la/accounthelp">"Account Help" bug</a> on Bugzilla.</dd></dl></dl></div>
-    <div class="section"><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/New_Compatibility_Tables_Beta">New Compatibility Tables Beta</a></dt><dd class="landingPageList">You're probably here because you followed the beta notice link from one of our new compatibility tables. (No? Want to see the new tables? <a href="https://developer.mozilla.org/en-US/docs/MDN/Contribute/Howto/Be_a_beta_tester">Make yourself a beta tester.</a>)</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Zones">Zones</a></dt><dd class="landingPageList">A <strong>zone</strong> is a special area of MDN whose content is presented with some added user interface elements, such as a special zone navigation box and enhanced visuals in the header area of the page.</dd></dl></div>
+    <div class="section"><dl><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Content_kits">Content kits</a></dt><dd class="landingPageList">MDN Content Kits are subject-based collections of technical resources to help you host a local developer meetup or give a technical presentation at an event, conference, or workshop.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Howto_Link_a_Github_account">How to link a GitHub account to your MDN profile</a></dt><dd class="landingPageList">All users who wish to contribute to MDN must add a GitHub login to their MDN account in order to edit. This article describes how to add GitHub authentication to your MDN profile.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Persona_sign-ins">MDN and Persona sign-ins</a></dt><dd class="landingPageList">Starting on November 1, 2016, we only support GitHub for logging into MDN. If you didn&apos;t add a GitHub login to your MDN account before we disabled Persona logins, please file an <a href="https://mzl.la/accounthelp">&quot;Account Help&quot; bug</a> on Bugzilla.</dd></dl></dl></div>
+    <div class="section"><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/New_Compatibility_Tables_Beta">New Compatibility Tables Beta</a></dt><dd class="landingPageList">You&apos;re probably here because you followed the beta notice link from one of our new compatibility tables. (No? Want to see the new tables? <a href="https://developer.mozilla.org/en-US/docs/MDN/Contribute/Howto/Be_a_beta_tester">Make yourself a beta tester.</a>)</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/MDN/Zones">Zones</a></dt><dd class="landingPageList">A <strong>zone</strong> is a special area of MDN whose content is presented with some added user interface elements, such as a special zone navigation box and enhanced visuals in the header area of the page.</dd></dl></div>
     </div><p></p>

+ 30 - 30
files/de/archive/mozilla/marketplace/options/open_web_apps_for_android/index.html

@@ -4,16 +4,16 @@ slug: Archive/Mozilla/Marketplace/Options/Open_web_apps_for_android
 translation_of: Archive/Marketplace/Options/Open_web_apps_for_android
 ---
 <div class="summary">
- <p>Users of Firefox for Android install Marketplace apps as 'normal' Android apps, gaining the benefit of powerful open web features. This ability is enabled by the creation of APKs by the APK Factory. Installed apps are run by the <strong>Web Runtime for Android,</strong> which is included in Firefox for Android. By making your apps accessible to Firefox for Android users, you gain an additional distribution opportunity, expanding the potential audience for your work.</p>
+ <p>Users of Firefox for Android install Marketplace apps as &apos;normal&apos; Android apps, gaining the benefit of powerful open web features. This ability is enabled by the creation of APKs by the APK Factory. Installed apps are run by the <strong>Web Runtime for Android,</strong> which is included in Firefox for Android. By making your apps accessible to Firefox for Android users, you gain an additional distribution opportunity, expanding the potential audience for your work.</p>
 </div>
 <h2 id="What_is_Open_Web_Apps_for_Android">What is Open Web Apps for Android?</h2>
 <p>Open Web Apps for Android enables free Marketplace apps to be packaged into an APK (Android installation package), which is then installed and run in the same way as any other Android app. The APK package consists of web content (in the case of packaged apps) or a pointer to web content (in the case of hosted apps). This content is then enclosed in a thin Java/Android wrapper, which provides the integration with the Android OS. Once installed on an Android device the app is executed by Web Runtime for Android, a component of Firefox for Android.</p>
 <p>These packages are created by the <a href="https://github.com/mozilla/apk-factory-service">APK Factory Service</a>, which is run as a web service by Marketplace. The APK Factory Service makes use of the <a href="https://github.com/mozilla/apk-factory-library">APK Factory Library</a> to create the actual package and the <a href="https://github.com/mozilla/apk-signer">APK Signer</a> to digitally sign the APK. This service is available to <a href="/en-US/Marketplace/Publishing/Creating_a_store">your own Marketplace</a>, should you choose to create one.</p>
-<p>You don't need any knowledge of Android development, or to take any extra development steps, to use Open Web Apps for Android: you simply select the option for distribution to Firefox Mobile or Firefox Tablet when submitting your apps to the <a href="https://marketplace.firefox.com/">Firefox Marketplace</a>.</p>
+<p>You don&apos;t need any knowledge of Android development, or to take any extra development steps, to use Open Web Apps for Android: you simply select the option for distribution to Firefox Mobile or Firefox Tablet when submitting your apps to the <a href="https://marketplace.firefox.com/">Firefox Marketplace</a>.</p>
 <div class="note">
  <p><strong>Note</strong>: Open Web Apps for Android provides support for hosted apps in Firefox for Android xx or later, packaged apps are supported in Firefox for Android 29 or later. Only free apps are available for Android from the Firefox Marketplace at this time.</p>
 </div>
-<p>Web Runtime for Android supports 12 APIs to access device capabilities, such as vibration, geolocation and battery status. You can see a <a href="https://wiki.mozilla.org/WebAPI#APIs">complete list of supported APIs here</a>: APIs showing "A" under "Availability" are those APIs available on Android, with green cells indicating that the API is available in full. You can also mouseover individual cells to get tooltips containing more information.</p>
+<p>Web Runtime for Android supports 12 APIs to access device capabilities, such as vibration, geolocation and battery status. You can see a <a href="https://wiki.mozilla.org/WebAPI#APIs">complete list of supported APIs here</a>: APIs showing &quot;A&quot; under &quot;Availability&quot; are those APIs available on Android, with green cells indicating that the API is available in full. You can also mouseover individual cells to get tooltips containing more information.</p>
 <p>Web Runtime for Android will continue to add support for other APIs in future releases. Some of the APIs planned are:</p>
 <ul>
  <li>Alarm API</li>
@@ -21,62 +21,62 @@ translation_of: Archive/Marketplace/Options/Open_web_apps_for_android
  <li>Web Activities</li>
 </ul>
 <div class="note">
- <p><strong>Note</strong>: Android users may be using devices with higher resolutions, greater pixel densities (DPI) and larger screen sizes than those found on Firefox OS devices. Apps that haven't used responsive design may therefore provide a poor experience, and you may want to design your apps with this in mind. For more information on responsive design see the <a href="/en-US/docs/Apps/Design">Design section of the App Center</a>.</p>
+ <p><strong>Note</strong>: Android users may be using devices with higher resolutions, greater pixel densities (DPI) and larger screen sizes than those found on Firefox OS devices. Apps that haven&apos;t used responsive design may therefore provide a poor experience, and you may want to design your apps with this in mind. For more information on responsive design see the <a href="/en-US/docs/Apps/Design">Design section of the App Center</a>.</p>
 </div>
 <h2 id="Using_Open_Web_Apps_for_Android_from_Firefox_Marketplace">Using Open Web Apps for Android from Firefox Marketplace</h2>
 <p>This section provides details on how you make use of Open Web Apps for Android from Firefox Marketplace, how they affect the Marketplace experience, and information on app updates.</p>
 <h3 id="Submitting_an_app">Submitting an app</h3>
 <p>When you <a href="/en-US/Marketplace/Submission/Submitting_an_app">submit an app to the Firefox Marketplace</a>, you choose the option of making your app available for Firefox Mobile or Firefox Tablet. Choosing either or both of these options will automatically deliver your app as an APK on Android devices.</p>
 <h3 id="Approving_an_app">Approving an app</h3>
-<p>When your app is reviewed, the reviewer installs your app from the reviewer section in Firefox Marketplace. When they do this from an Android device, the "review" instance of the APK Factory service is invoked to create an APK signed in Android debug mode. This version of the APK is then installed on the app reviewer's device and they complete the review process.</p>
-<p>If the app is approved, the "release" instance of the APK Factory service is invoked to generate and sign the APK with a unique APK Signing Key. The resulting signed APK is then cached for delivery when a user chooses to install the app.</p>
+<p>When your app is reviewed, the reviewer installs your app from the reviewer section in Firefox Marketplace. When they do this from an Android device, the &quot;review&quot; instance of the APK Factory service is invoked to create an APK signed in Android debug mode. This version of the APK is then installed on the app reviewer&apos;s device and they complete the review process.</p>
+<p>If the app is approved, the &quot;release&quot; instance of the APK Factory service is invoked to generate and sign the APK with a unique APK Signing Key. The resulting signed APK is then cached for delivery when a user chooses to install the app.</p>
 <h3 id="Installing_an_app">Installing an app</h3>
 <p>When a user selects your app in the Marketplace on their Android device, installation works as follows:</p>
 <ol>
- <li><a href="https://marketplace.firefox.com/">Firefox Marketplace</a> displays the app's details and <strong>Free</strong> install button as normal.</li>
- <li>When the user taps <strong>Free</strong>, <a href="/de/docs/Web/API/Apps/install" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben. Bitte überlege, mitzuwirken!"><code>Apps.install</code></a> or <a href="/de/docs/Web/API/Apps/installPackage" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben. Bitte überlege, mitzuwirken!"><code>Apps.installPackage</code></a> is invoked as usual (depending on whether it's a hosted or packaged app) and a call is made to the APK Factory service to request the APK.</li>
+ <li><a href="https://marketplace.firefox.com/">Firefox Marketplace</a> displays the app&apos;s details and <strong>Free</strong> install button as normal.</li>
+ <li>When the user taps <strong>Free</strong>, <a href="/de/docs/Web/API/Apps/install" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben. Bitte überlege, mitzuwirken!"><code>Apps.install</code></a> or <a href="/de/docs/Web/API/Apps/installPackage" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben. Bitte überlege, mitzuwirken!"><code>Apps.installPackage</code></a> is invoked as usual (depending on whether it&apos;s a hosted or packaged app) and a call is made to the APK Factory service to request the APK.</li>
  <li>The APK is downloaded to the Android device and the standard Android app installation process invoked.</li>
- <li>If the user hasn't enabled the <strong>Security</strong> setting <strong>Unknown sources</strong>, Android will alert the user and give them the option to cancel the installation or open <strong>Settings</strong>.</li>
+ <li>If the user hasn&apos;t enabled the <strong>Security</strong> setting <strong>Unknown sources</strong>, Android will alert the user and give them the option to cancel the installation or open <strong>Settings</strong>.</li>
  <li>Once <strong>Unknown sources</strong> is enabled, the user is shown an install confirmation dialog. The dialog lists the permissions requested by privileged apps.</li>
  <li>If the user taps <strong>Install</strong> the app is installed.</li>
  <li>Once the app has been installed, the user is given the option to <strong>Open</strong> the app and in Firefox Marketplace the <strong>Free</strong> button is replaced with a <strong>Launch</strong> button.</li>
 </ol>
-<p>Subsequently the user will find the application in their Apps screen. In addition, the process to use and remove the app is the same as they'd expect for other Android apps. Firefox for Android provides a list of installed apps under <strong>Apps</strong> on the <strong>Tools</strong> menu as well.</p>
+<p>Subsequently the user will find the application in their Apps screen. In addition, the process to use and remove the app is the same as they&apos;d expect for other Android apps. Firefox for Android provides a list of installed apps under <strong>Apps</strong> on the <strong>Tools</strong> menu as well.</p>
 <h3 id="Keeping_apps_up_to_date">Keeping apps up to date</h3>
 <p>Firefox for Android provides a mechanism installing update apps.</p>
 <p>If your app is hosted, whenever you make a change on its server, users will pick up changes the next time they run your app.</p>
 <p>For all other changes, you need to add a new version to the Firefox Marketplace:</p>
 <ul>
- <li>For a hosted app, the link to the app's hosting server containing the updated manifest file.</li>
+ <li>For a hosted app, the link to the app&apos;s hosting server containing the updated manifest file.</li>
  <li>For a packaged app a zip file containing the updated app manifest and app content.</li>
 </ul>
 <p>Firefox for Android makes a daily check on the version number in the app’s manifest and if it has changed silently applies the update.</p>
 <h2 id="Using_Open_Web_Apps_for_Android_from_your_own_Marketplace">Using Open Web Apps for Android from your own Marketplace</h2>
-<p>You're able to create <a href="/en-US/Marketplace/Publishing/Creating_a_store">your own Marketplace</a>. Such a Marketplace consists of either a directory of apps in Firefox Marketplace or your own hosted content (app descriptions with the main manifest of hosted apps or the mini manifest with app zip archive in the case of packaged apps).</p>
-<p>Your Marketplace will pass the URL of the manifest to be installed to <a href="/de/docs/Web/API/Apps/install" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben. Bitte überlege, mitzuwirken!"><code>Apps.install</code></a> / <a href="/de/docs/Web/API/Apps/installPackage" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben. Bitte überlege, mitzuwirken!"><code>Apps.installPackage</code></a> that then invokes APK Factory, meaning you don't have to do anything to enable Open Web Apps for Android in your Marketplace. You do however need to ensure that your Marketplace only serves apps that include APIs supported by the Web Runtime for Android.</p>
+<p>You&apos;re able to create <a href="/en-US/Marketplace/Publishing/Creating_a_store">your own Marketplace</a>. Such a Marketplace consists of either a directory of apps in Firefox Marketplace or your own hosted content (app descriptions with the main manifest of hosted apps or the mini manifest with app zip archive in the case of packaged apps).</p>
+<p>Your Marketplace will pass the URL of the manifest to be installed to <a href="/de/docs/Web/API/Apps/install" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben. Bitte überlege, mitzuwirken!"><code>Apps.install</code></a> / <a href="/de/docs/Web/API/Apps/installPackage" title="Die Beschreibung hierüber wurde bisher noch nicht geschrieben. Bitte überlege, mitzuwirken!"><code>Apps.installPackage</code></a> that then invokes APK Factory, meaning you don&apos;t have to do anything to enable Open Web Apps for Android in your Marketplace. You do however need to ensure that your Marketplace only serves apps that include APIs supported by the Web Runtime for Android.</p>
 <h2 id="How_the_APK_Factory_works">How the APK Factory works</h2>
 <p>This section describes how the APK Factory works.</p>
 <ul>
- <li>When the APK Factory is invoked, as described above, it determines whether there is a cached copy of the app's APK file. If a cached copy isn't available, APK Factory:
+ <li>When the APK Factory is invoked, as described above, it determines whether there is a cached copy of the app&apos;s APK file. If a cached copy isn&apos;t available, APK Factory:
   <ol>
-   <li>Requests the app's manifest file from the hosting server (the Firefox Marketplace, or wherever else the app is hosted):
+   <li>Requests the app&apos;s manifest file from the hosting server (the Firefox Marketplace, or wherever else the app is hosted):
     <ul>
      <li>The main manifest in the case of hosted apps.</li>
      <li>The mini manifest in the case of packaged apps.</li>
     </ul>
    </li>
    <li>Detects whether the app is hosted or packaged.</li>
-   <li>If the app is packaged, APK Factory requests the app's zip archive from the Marketplace or other hosting server.</li>
+   <li>If the app is packaged, APK Factory requests the app&apos;s zip archive from the Marketplace or other hosting server.</li>
    <li>Creates the APK by performing some metadata transcoding for elements such as icons and security requirements, after which it:
     <ul>
      <li>Wraps the hosting URL in an Android Java container for hosted apps.</li>
-     <li>Wraps the app's content in an Android Java container for packaged apps.</li>
+     <li>Wraps the app&apos;s content in an Android Java container for packaged apps.</li>
     </ul>
    </li>
    <li>Passes the APK to be signed by the secure <strong><a href="https://github.com/mozilla/apk-signer">APK Signer</a></strong> service:
     <ul>
-     <li>"Review" APKs are signed in Android debug mode.</li>
-     <li>"Release" APKs are signed with an <strong>APK signing key</strong>.</li>
+     <li>&quot;Review&quot; APKs are signed in Android debug mode.</li>
+     <li>&quot;Release&quot; APKs are signed with an <strong>APK signing key</strong>.</li>
     </ul>
    </li>
    <li>Caches the signed APK.</li>
@@ -87,7 +87,7 @@ translation_of: Archive/Marketplace/Options/Open_web_apps_for_android
 <p>The following diagrams offer an alternative representation of the workflow of the APK Factory:</p>
 <p style="text-align: center;"><img alt="Web Sequence diagram showing the operation of the APK factory" src="https://mdn.mozillademos.org/files/7849/APK%20factory%20operation.png" style="width: 749px; height: 827px;"></p>
 <h2 id="Package_naming_and_APK_signing_keys">Package naming and APK signing keys</h2>
-<p>On installation of an APK the Android device checks the Java package name and signature. It verifies the signature the first time an app is installed (there is no central authority it checks with). Future updates must then have the same package name and signature. If the package name and signature aren't the same the Android device won't update the installation.</p>
+<p>On installation of an APK the Android device checks the Java package name and signature. It verifies the signature the first time an app is installed (there is no central authority it checks with). Future updates must then have the same package name and signature. If the package name and signature aren&apos;t the same the Android device won&apos;t update the installation.</p>
 <h3 id="Package_naming">Package naming</h3>
 <p>The package name for an APK consists of the hosting site and a unique serial number, for example:</p>
 <ul>
@@ -96,7 +96,7 @@ translation_of: Archive/Marketplace/Options/Open_web_apps_for_android
 </ul>
 <h3 id="APK_signing_keys">APK signing keys</h3>
 <p>Each APK needs to be identified by an APK signing key before it can be installed on an Android device. APK signing keys are created and owned by the <strong><a href="https://github.com/mozilla/apk-signer">APK Signer</a></strong> service. These signing keys are sensitive, and stored securely in the APK Signer.</p>
-<p>This service creates a unique key for each app, applying it to the original release and subsequent updates. The reuse of the key on updated app APKs is important, as without a match in the package name and key Android won't install an update over an earlier version of the app. If you create your own Marketplace the APK will retain the same name and keys, so that either version will be able to update the other.</p>
+<p>This service creates a unique key for each app, applying it to the original release and subsequent updates. The reuse of the key on updated app APKs is important, as without a match in the package name and key Android won&apos;t install an update over an earlier version of the app. If you create your own Marketplace the APK will retain the same name and keys, so that either version will be able to update the other.</p>
 <div class="note">
  <p><strong>Note</strong>: Mozilla assumes no responsibility for the credibility of the APK signing keys. That is, the keys provide no information about the authenticity of the app or developer beyond the fact that they have been approved for release in Marketplace, if the app is hosted there. The service is not tied to Google or any other central authority.</p>
 </div>
@@ -106,10 +106,10 @@ translation_of: Archive/Marketplace/Options/Open_web_apps_for_android
 <p>When a user updates to Firefox for Android version 29 or later, their bookmark-style apps will continue to work, and Firefox will prompt users to update apps to their Open Web Apps for Android version.</p>
 <h3 id="How_will_in-app_purchases_work">How will in-app purchases work?</h3>
 <p>The APK is given access to the trusted UI, <a href="/en-US/docs/Web/API/Navigator.mozPay">mozPay</a>, and all payment processes for in-app purchases, so in-app payments will function as normal.</p>
-<h3 id="How_do_I_download_a_copy_of_my_app's_APK">How do I download a copy of my app's APK?</h3>
+<h3 id="How_do_I_download_a_copy_of_my_app&apos;s_APK">How do I download a copy of my app&apos;s APK?</h3>
 <p>You can download a copy of your app from the APK Factory service by retrieving a URL in the format:</p>
 <p style="margin-left: 40px;"><code>https://controller.apk.firefox.com/application.apk?manifestUrl=ESCAPED_URL_TO_MANIFEST</code></p>
-<p>where <code>ESCAPED_URL_TO_MANIFEST</code> is an escaped URL to the app's manifest or mini-manifest. That URL causes the APK Factory to return the cached copy of the APK, or create a new one if the app hasn't been submitted to Marketplace.</p>
+<p>where <code>ESCAPED_URL_TO_MANIFEST</code> is an escaped URL to the app&apos;s manifest or mini-manifest. That URL causes the APK Factory to return the cached copy of the APK, or create a new one if the app hasn&apos;t been submitted to Marketplace.</p>
 <h4 id="Examples">Examples</h4>
 <p>For a hosted app:</p>
 <p><code>&gt; wget https://controller.apk.firefox.com/application.apk?manifestUrl=http%3A%2F%2Fmykzilla.org%2Fapp%2Fmanifest.webapp -O mykzilla.apk</code></p>
@@ -121,20 +121,20 @@ translation_of: Archive/Marketplace/Options/Open_web_apps_for_android
 <h3 id="If_I_setup_my_own_copy_of_the_APK_Factory_can_I_use_the_APKs_it_generates">If I setup my own copy of the APK Factory can I use the APKs it generates?</h3>
 <p>You can, but be aware that the signing keys will differ from those assigned to the APKs generated by Firefox Marketplace. As a result Android will refuse to install whichever version the user tries to install second. (See <a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Open_web_apps_for_android#If_I_also_have_an_Android_native_version_of_my_app.2C_can_both_be_installed_on_an_Android_device.3F">If I also have an Android native version of my app, can both be installed on an Android device?</a> for more information.)</p>
 <h3 id="Can_I_submit_an_APK_created_by_the_APK_Factory_to_Google_Play_or_other_Android_store">Can I submit an APK created by the APK Factory to Google Play or other Android store?</h3>
-<p>You can submit an APK generated by APK Factory to Google Play or an alternative Android store. However, it's your responsibility to:</p>
+<p>You can submit an APK generated by APK Factory to Google Play or an alternative Android store. However, it&apos;s your responsibility to:</p>
 <ul>
- <li>Confirm that your app complies with the policies of the store you're submitting it to. Approval for distribution in Firefox Marketplace doesn't imply any approval for Google Play or another Android marketplace.</li>
- <li>When you update your app you'll have to update the APK on any stores you have submitted the APK to; there is no automatic process to deliver updated APKs to Android stores.</li>
+ <li>Confirm that your app complies with the policies of the store you&apos;re submitting it to. Approval for distribution in Firefox Marketplace doesn&apos;t imply any approval for Google Play or another Android marketplace.</li>
+ <li>When you update your app you&apos;ll have to update the APK on any stores you have submitted the APK to; there is no automatic process to deliver updated APKs to Android stores.</li>
 </ul>
 <h3 id="Can_I_use_my_Android_signing_keys_to_sign_the_APK_and_choose_the_package_name">Can I use my Android signing keys to sign the APK and choose the package name?</h3>
 <p>At present you cannot use your own signing keys to sign an APK generated by APK Factory or choose the package name. This is an option being considered. If this is of interest to you, join the discussion on the <a href="https://lists.mozilla.org/listinfo/dev-marketplace">dev-marketplace mailing list</a>, or the <a href="irc://irc.mozilla.org/marketplace">Marketplace IRC channel</a>.</p>
 <h3 id="If_I_also_have_an_Android_native_version_of_my_app_can_both_be_installed_on_an_Android_device">If I also have an Android native version of my app, can both be installed on an Android device?</h3>
-<p>Unless you choose to use the APK package name created by APK Factory for your native Android app, both can be installed on an Android device. If you choose to use the same package name for your native Android app (which you'll sign with your own key) Android will refuse to install whichever version the user tries to install second. This is because the package names are the same but the signing keys are different, so Android considers the apps to be the same, but from different sources. Therefore Android will refuse to update one app with the other, since that would allow one developer to override another's app. The user will end up with the first version installed on their device.</p>
-<div class="warning">
- <p>Because of the issues it may cause for users, it's highly recommended that you don't reuse the package name the APK Factory assigns to your app for a native Android version of your app.</p>
+<p>Unless you choose to use the APK package name created by APK Factory for your native Android app, both can be installed on an Android device. If you choose to use the same package name for your native Android app (which you&apos;ll sign with your own key) Android will refuse to install whichever version the user tries to install second. This is because the package names are the same but the signing keys are different, so Android considers the apps to be the same, but from different sources. Therefore Android will refuse to update one app with the other, since that would allow one developer to override another&apos;s app. The user will end up with the first version installed on their device.</p>
+<div class="warning notecard">
+ <p>Because of the issues it may cause for users, it&apos;s highly recommended that you don&apos;t reuse the package name the APK Factory assigns to your app for a native Android version of your app.</p>
 </div>
 <h3 id="How_can_I_testdebug_APKs">How can I test/debug APKs?</h3>
-<p>We're working on a toolchain for testing and debugging an app on an Android device. The initial version will include a Node-based command-line tool for generating an APK you can install on the device and debug using Firefox's Remote Developer Tools.</p>
+<p>We&apos;re working on a toolchain for testing and debugging an app on an Android device. The initial version will include a Node-based command-line tool for generating an APK you can install on the device and debug using Firefox&apos;s Remote Developer Tools.</p>
 <h2 id="Also_see">Also see</h2>
 <ul>
  <li>Hacks blog: <a href="https://hacks.mozilla.org/2014/06/firefox-os-apps-run-on-android/">Firefox OS Apps run on Android</a></li>

File diff suppressed because it is too large
+ 2 - 2
files/de/archive/mozilla/marketplace/publishing/packaged_apps/index.html


+ 6 - 6
files/de/archive/mozilla/xul/attribute/disabled/index.html

@@ -11,15 +11,15 @@ translation_of: Archive/Mozilla/XUL/Attribute/disabled
 </dl>
 <div class="noinclude">
 <pre class="brush: js">// Deaktiviere ein Element.
-document.getElementById('buttRemove').setAttribute("disabled", "true");
+document.getElementById(&apos;buttRemove&apos;).setAttribute(&quot;disabled&quot;, &quot;true&quot;);
 
-// Reaktiviere ein Element, während das "disabled" Attribute beibehalten wird.
-document.getElementById('buttRemove').setAttribute("disabled", "");
+// Reaktiviere ein Element, während das &quot;disabled&quot; Attribute beibehalten wird.
+document.getElementById(&apos;buttRemove&apos;).setAttribute(&quot;disabled&quot;, &quot;&quot;);
 
-// Reaktiviere ein Element, in dem das "disabled" Attribut entfernt wird.
-document.getElementById('buttRemove').removeAttribute("disabled");
+// Reaktiviere ein Element, in dem das &quot;disabled&quot; Attribut entfernt wird.
+document.getElementById(&apos;buttRemove&apos;).removeAttribute(&quot;disabled&quot;);
 </pre>
-<div class="blockIndicator standardNote">
+<div class="standardNote notecard">
     <p><a href="https://developer.mozilla.org/de/docs/Mozilla/Firefox/Releases/3.5">Hinweis zu Firefox 3.5</a></p>
     <p style="font-weight: 400;">Seit Firefox 3.5 wird dieses Attribut für Keyset Elemente unterstützt.</p>
 </div></div>

+ 1 - 1
files/de/archive/mozilla/xul/attribute/emptytext/index.html

@@ -7,7 +7,7 @@ tags:
 translation_of: Archive/Mozilla/XUL/Attribute/emptytext
 ---
 <div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/de/docs/XUL_Referenz">XUL-Referenz Startseite</a></span></div>
-<dl> <dt><code id="a-emptytext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/emptytext">emptytext</a></code>  <span class="inlineIndicator deprecated deprecatedInline" title="(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)">Unerwünscht Gecko 2</span></dt> <dd>Typ: <em>string</em></dd> <dd>Ein String, der in der <a class="internal" href="/De/XUL/Textbox" title="de/XUL/textbox">Textbox</a> angezeigt wird, falls diese keinen Wert besitzt. Dieses Attribut wurde vom <code id="a-placeholder"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/placeholder">placeholder</a></code> Attribut in Gecko 2 ersetzt. Der alte Name bleibt zur Kompatibilität bestehen, aber Sie sollten Ihren Code aktualisieren.</dd>
+<dl> <dt><code id="a-emptytext"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/emptytext">emptytext</a></code>  <span class="deprecated deprecatedInline notecard inline" title="(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)">Unerwünscht Gecko 2</span></dt> <dd>Typ: <em>string</em></dd> <dd>Ein String, der in der <a class="internal" href="/De/XUL/Textbox" title="de/XUL/textbox">Textbox</a> angezeigt wird, falls diese keinen Wert besitzt. Dieses Attribut wurde vom <code id="a-placeholder"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/placeholder">placeholder</a></code> Attribut in Gecko 2 ersetzt. Der alte Name bleibt zur Kompatibilität bestehen, aber Sie sollten Ihren Code aktualisieren.</dd>
 </dl>
 <div class="noinclude">
 

File diff suppressed because it is too large
+ 0 - 0
files/de/archive/mozilla/xul/attribute/index.html


File diff suppressed because it is too large
+ 0 - 0
files/de/archive/mozilla/xul/eigenschaften/index.html


+ 11 - 11
files/de/archive/mozilla/xul/iframe/index.html

@@ -19,26 +19,26 @@ translation_of: Archive/Mozilla/XUL/iframe
 <dl> <dt>Attribute</dt> <dd><a href="#a-showcaret">showcaret</a>, <a href="#a-src">src</a>, <a href="#a-browser.type">type</a>, <a href="#a-transparent">transparent</a></dd> <dt>Eigenschaften</dt> <dd><a href="#p-accessibleType">accessibleType</a>, <a href="#p-contentDocument">contentDocument</a>, <a href="#p-contentWindow">contentWindow</a>, <a href="#p-docShell">docShell</a>, <a href="#p-webNavigation">webNavigation</a></dd>
 </dl>
 <h3 id="Beispiele" name="Beispiele">Beispiele</h3>
-<pre>&lt;iframe src="table.php" flex="2" id="browserTable" name="table_frame"/&gt;
+<pre>&lt;iframe src=&quot;table.php&quot; flex=&quot;2&quot; id=&quot;browserTable&quot; name=&quot;table_frame&quot;/&gt;
 </pre>
 <p>Einen URL aus einem Menü auswählen</p>
-<pre>&lt;menulist oncommand="doNav(this);"&gt;
+<pre>&lt;menulist oncommand=&quot;doNav(this);&quot;&gt;
   &lt;menupopup&gt;
-    &lt;menuitem label="Mozilla" value="http://mozilla.org" /&gt;
-    &lt;menuitem label="Slashdot" value="http://slashdot.org"/&gt;
-    &lt;menuitem label="Sourceforge" value="http://sf.net" /&gt;
-    &lt;menuitem label="Freshmeat" value="http://freshmeat.net"/&gt;
+    &lt;menuitem label=&quot;Mozilla&quot; value=&quot;http://mozilla.org&quot; /&gt;
+    &lt;menuitem label=&quot;Slashdot&quot; value=&quot;http://slashdot.org&quot;/&gt;
+    &lt;menuitem label=&quot;Sourceforge&quot; value=&quot;http://sf.net&quot; /&gt;
+    &lt;menuitem label=&quot;Freshmeat&quot; value=&quot;http://freshmeat.net&quot;/&gt;
   &lt;/menupopup&gt;
 &lt;/menulist&gt;
 
 
-&lt;iframe id="myFrame" flex="1"/&gt;
+&lt;iframe id=&quot;myFrame&quot; flex=&quot;1&quot;/&gt;
 
 &lt;script&gt;
 function doNav(obj){
   var url = obj.selectedItem.value;
   // note the firstChild is the menupopup element
-  document.getElementById('myFrame').setAttribute('src', url);
+  document.getElementById(&apos;myFrame&apos;).setAttribute(&apos;src&apos;, url);
 }
 &lt;/script&gt;
 </pre>
@@ -72,7 +72,7 @@ function doNav(obj){
  <dd><span class="seoSummary">Type: <em>one of the values below</em>.</span></dd>
  <dd><span class="seoSummary">The type of browser, which can be used to set access of the document loaded inside the browser.</span> If this is not set, the loaded document has the same access as the window containing the <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code>. More precisely: The document loaded into a chrome window is always of chrome type. Subdocuments of chrome documents are of chrome type, unless the container element (one of iframe, browser or editor) has one of the special type attribute values (the common ones are content, content-targetable and content-primary) indicating that the subdocument is of content type. This boundary has a number of special effects, such as making window.top == window (unless the <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code> is added to a chrome document), and preventing documents from inheriting the principal of the parent document. The type attribute on all frames in content documents is ignored; subdocuments of content documents are always content documents.</dd>
  <dt>
- <div class="warning"><strong>Warning: </strong>The type attribute must be set before the element is inserted into the document.</div>
+ <div class="warning notecard"><strong>Warning: </strong>The type attribute must be set before the element is inserted into the document.</div>
  </dt>
  <dd>
  <dl>
@@ -83,14 +83,14 @@ function doNav(obj){
   <dt><code>content-targetable</code></dt>
   <dd>One browser among many for content. The content that is loaded inside the browser is not allowed to access the chrome above it. This is the preferred value for any <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code> element in an application, which will use multiple browsers of equal privileges, and is unselected at the moment.</dd>
   <dt><code>chrome</code></dt>
-  <dd>(default behaviour): A browser, intended to be used for loading privileged content using a chrome:// URI. Don't use for content from web, as this may cause serious security problems!</dd>
+  <dd>(default behaviour): A browser, intended to be used for loading privileged content using a chrome:// URI. Don&apos;t use for content from web, as this may cause serious security problems!</dd>
  </dl>
  </dd>
 </dl>
 
 
 </div> <div id="a-transparent">
-<dl><dt><code id="a-iframe.transparent"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/iframe.transparent">transparent</a></code></dt><dd>Type: <em>one of the values below</em></dd><dd>Set the background of an <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/iframe" title="iframe">iframe</a></code></code> as transparent.</dd><dd><dl><dt><code>transparent</code></dt><dd>This results in the iframe's background being transparent. This can be used to workaround things like <a class="    link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=540911" title="https://bugzilla.mozilla.org/show_bug.cgi?id=540911">bug 540911</a></dd></dl></dd>
+<dl><dt><code id="a-iframe.transparent"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/iframe.transparent">transparent</a></code></dt><dd>Type: <em>one of the values below</em></dd><dd>Set the background of an <code><code><a href="/en-US/docs/Mozilla/Tech/XUL/iframe" title="iframe">iframe</a></code></code> as transparent.</dd><dd><dl><dt><code>transparent</code></dt><dd>This results in the iframe&apos;s background being transparent. This can be used to workaround things like <a class="    link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=540911" title="https://bugzilla.mozilla.org/show_bug.cgi?id=540911">bug 540911</a></dd></dl></dd>
 </dl>
 </div> <table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);">
 <tbody>

+ 47 - 47
files/de/archive/mozilla/xul/school_tutorial/adding_menus_and_submenus/index.html

@@ -4,9 +4,9 @@ slug: Archive/Mozilla/XUL/School_tutorial/Adding_menus_and_submenus
 translation_of: Archive/Add-ons/Overlay_Extensions/XUL_School/Adding_menus_and_submenus
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_School/Setting_Up_a_Development_Environment" style="float: left;">« zurück</a><a href="/de/docs/XUL_School/Adding_Toolbars_and_Toolbar_Buttons">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_School/Setting_Up_a_Development_Environment" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_School/Adding_Toolbars_and_Toolbar_Buttons" class="button">weiter  »</a></p>
 </div>
-<p>The Hello World example in the previous sections shows the two most common ways to add menus. In this section we'll look into more specialized menus and what you can do with them.</p>
+<p>The Hello World example in the previous sections shows the two most common ways to add menus. In this section we&apos;ll look into more specialized menus and what you can do with them.</p>
 <h2 id="Adding_a_New_Menu">Adding a New Menu</h2>
 <p>We already saw how to add menus in overlays and, as you may have imagined, you can nest submenus as deep as you want. You should avoid having deep menus or too many options, since they are confusing for most users.</p>
 <p>If your extension requires custom XUL windows, you may also need to have menus on those windows. You can do this with a <a href="/en/XUL/menubar" title="en/XUL/menubar">menubar</a>. The <em>menubar</em> element should be a child of a <a href="/en/XUL/toolbox" title="en/XUL/toolbox">toolbox</a> element because it is treated like another toolbar on systems other than Mac OS X.</p>
@@ -15,18 +15,18 @@ translation_of: Archive/Add-ons/Overlay_Extensions/XUL_School/Adding_menus_and_s
 </div>
 <p>The toolbox should be positioned near the top of the XUL document, and the code should be similar to this:</p>
 <pre><code>&lt;toolbox&gt;
-  &lt;menubar id="</code><code>xulschoolhello</code><code>-menubar"&gt;
-    &lt;menu id="</code><code>xulschoolhello</code><code>-greeting-menu" label="&amp;</code><code>xulschoolhello</code><code>.greeting.label;"&gt;
+  &lt;menubar id=&quot;</code><code>xulschoolhello</code><code>-menubar&quot;&gt;
+    &lt;menu id=&quot;</code><code>xulschoolhello</code><code>-greeting-menu&quot; label=&quot;&amp;</code><code>xulschoolhello</code><code>.greeting.label;&quot;&gt;
       &lt;menupopup&gt;
-        &lt;menuitem label="&amp;xulschoolhello.greet.short.label;"
-          oncommand="XULSchoolChrome.GreetingDialog.greetingShort(event);" /&gt;
-        &lt;menuitem label="&amp;</code><code>xulschoolhello</code><code>.greet.medium.label;"
-          oncommand="XULSchoolChrome.GreetingDialog.greetingMedium(event);" /&gt;
-        &lt;menuitem label="&amp;</code><code>xulschoolhello</code><code>.greet.long.label;"
-          oncommand="XULSchoolChrome.GreetingDialog.greetingLong(event);" /&gt;
+        &lt;menuitem label=&quot;&amp;xulschoolhello.greet.short.label;&quot;
+          oncommand=&quot;XULSchoolChrome.GreetingDialog.greetingShort(event);&quot; /&gt;
+        &lt;menuitem label=&quot;&amp;</code><code>xulschoolhello</code><code>.greet.medium.label;&quot;
+          oncommand=&quot;XULSchoolChrome.GreetingDialog.greetingMedium(event);&quot; /&gt;
+        &lt;menuitem label=&quot;&amp;</code><code>xulschoolhello</code><code>.greet.long.label;&quot;
+          oncommand=&quot;XULSchoolChrome.GreetingDialog.greetingLong(event);&quot; /&gt;
         &lt;menuseparator /&gt;
-        &lt;menuitem label="&amp;</code><code>xulschoolhello</code><code>.greet.custom.label;"
-          oncommand="XULSchoolChrome.GreetingDialog.greetingCustom(event);" /&gt;
+        &lt;menuitem label=&quot;&amp;</code><code>xulschoolhello</code><code>.greet.custom.label;&quot;
+          oncommand=&quot;XULSchoolChrome.GreetingDialog.greetingCustom(event);&quot; /&gt;
       &lt;/menupopup&gt;
     &lt;/menu&gt;
   &lt;/menubar&gt;
@@ -34,70 +34,70 @@ translation_of: Archive/Add-ons/Overlay_Extensions/XUL_School/Adding_menus_and_s
 <p>This code displays a simple <a href="/en/XUL/menu" title="en/XUL/menu">menu</a> with options for 3 different types of greetings, a <a href="/en/XUL/menuseparator" title="en/XUL/menuseparator">menuseparator</a>, and finally an option to show a custom greeting. The separator is usually displayed as a horizontal line that creates a logical division between different types of <a href="/en/XUL/menuitem" title="en/XUL/menuitem">menuitem</a> elements, keeping everything more organized.</p>
 <p>A <em>menubar</em> can hold one or more <em>menu</em> elements. Menus require a <a href="/en/XUL/menupopup" title="en/XUL/menupopup">menupopup</a> element as a container for its children, which are usually <em>menuitem</em> elements, but can also be <em>menuseparator,</em> or <em>menu</em> in order to have multiple nesting levels:</p>
 <pre><code>&lt;toolbox&gt;
- &lt;menubar id="</code><code>xulschoolhello</code><code>-menubar"&gt;
-    &lt;menu id="</code><code>xulschoolhello</code><code>-greeting-menu" label="&amp;</code><code>xulschoolhello</code><code>.greeting.label;"&gt;
+ &lt;menubar id=&quot;</code><code>xulschoolhello</code><code>-menubar&quot;&gt;
+    &lt;menu id=&quot;</code><code>xulschoolhello</code><code>-greeting-menu&quot; label=&quot;&amp;</code><code>xulschoolhello</code><code>.greeting.label;&quot;&gt;
       &lt;menupopup&gt;
-        &lt;menu id="</code><code>xulschoolhello</code><code>-greeting-sizes-menu" label="&amp;</code><code>xulschoolhello</code><code>.greetingSizes.label;"&gt;
+        &lt;menu id=&quot;</code><code>xulschoolhello</code><code>-greeting-sizes-menu&quot; label=&quot;&amp;</code><code>xulschoolhello</code><code>.greetingSizes.label;&quot;&gt;
           &lt;menupopup&gt;
-            &lt;menuitem label="&amp;</code><code>xulschoolhello</code><code>.greet.short.label;"
-              oncommand="</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingShort(event);" /&gt;
-            &lt;menuitem label="&amp;</code><code>xulschoolhello</code><code>.greet.medium.label;"
-              oncommand="</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingMedium(event);" /&gt;
-            &lt;menuitem label="&amp;</code><code>xulschoolhello</code><code>.greet.long.label;"
-              oncommand="</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingLong(event);" /&gt;
+            &lt;menuitem label=&quot;&amp;</code><code>xulschoolhello</code><code>.greet.short.label;&quot;
+              oncommand=&quot;</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingShort(event);&quot; /&gt;
+            &lt;menuitem label=&quot;&amp;</code><code>xulschoolhello</code><code>.greet.medium.label;&quot;
+              oncommand=&quot;</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingMedium(event);&quot; /&gt;
+            &lt;menuitem label=&quot;&amp;</code><code>xulschoolhello</code><code>.greet.long.label;&quot;
+              oncommand=&quot;</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingLong(event);&quot; /&gt;
           &lt;/menupopup&gt;
         &lt;/menu&gt;
-        &lt;menuitem label="&amp;</code><code>xulschoolhello</code><code>.greet.custom.label;"
-          oncommand="</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingCustom(event);" /&gt;
+        &lt;menuitem label=&quot;&amp;</code><code>xulschoolhello</code><code>.greet.custom.label;&quot;
+          oncommand=&quot;</code><code>XULSchoolChrome</code><code>.GreetingDialog.greetingCustom(event);&quot; /&gt;
       &lt;/menupopup&gt;
     &lt;/menu&gt;
   &lt;/menubar&gt;
 &lt;/toolbox&gt; </code></pre>
-<p>In this case we grouped the 3 greeting items into a submenu. It doesn't make much sense to do that in this case because we end up with only two menu items, one of them being a menu with 3 child items.</p>
+<p>In this case we grouped the 3 greeting items into a submenu. It doesn&apos;t make much sense to do that in this case because we end up with only two menu items, one of them being a menu with 3 child items.</p>
 <p>You can also have menus that are filled dynamically. Instead of setting the menupopup directly in the XUL, you can use the <a href="/en/XUL/Attribute/onpopupshowing" title="en/XUL/Attribute/onpopupshowing">onpopupshowing</a> event to fill the children when the popup is about to be displayed. DOM functions like <a href="/en/DOM/document.createElement" title="en/DOM/document.createElement">createElement</a> and <a href="/En/DOM/Node.appendChild" title="En/DOM/Node.appendChild">appendChild</a> can be used to accomplish this.</p>
 <div class="note">
-  <p>If you have nothing to show on a menu, you should follow the standard used in Firefox: show a single disabled item with an "(Empty)" label.</p>
-  <p>If filling your menu takes a noticeable amount of time, you should not make Firefox (and your users) wait for it to fill up before displaying anything. It's best to show an item with a throbber image (see <a class="external" rel="freelink">chrome://global/skin/icons/loading_16.png</a>) so the user knows there's something going on, and asynchronously fill its contents. We'll look into some asynchronous techniques further ahead in the tutorial.</p>
+  <p>If you have nothing to show on a menu, you should follow the standard used in Firefox: show a single disabled item with an &quot;(Empty)&quot; label.</p>
+  <p>If filling your menu takes a noticeable amount of time, you should not make Firefox (and your users) wait for it to fill up before displaying anything. It&apos;s best to show an item with a throbber image (see <a class="external" rel="freelink">chrome://global/skin/icons/loading_16.png</a>) so the user knows there&apos;s something going on, and asynchronously fill its contents. We&apos;ll look into some asynchronous techniques further ahead in the tutorial.</p>
 </div>
 <h2 id="Adding_Elements_to_Existing_Menus">Adding Elements to Existing Menus</h2>
-<p>Just as explained in the previous sections, the best place to overlay your extension menu is inside the <em>Tools</em> menu. That is, unless there's a place inside the menu structure where your extension menus make more sense. If you're overlaying the Tools menu, your overlay code should have something like this:</p>
-<pre><code>&lt;menupopup id="menu_ToolsPopup"&gt;
-  &lt;menu id="</code><code>xulschoolhello</code><code>-hello-menu" label="&amp;</code><code>xulschoolhello</code><code>.hello.label;"
-    accesskey="&amp;</code><code>xulschoolhello</code><code>.helloMenu.accesskey;"
-    insertafter="javascriptConsole,devToolsSeparator"&gt;
+<p>Just as explained in the previous sections, the best place to overlay your extension menu is inside the <em>Tools</em> menu. That is, unless there&apos;s a place inside the menu structure where your extension menus make more sense. If you&apos;re overlaying the Tools menu, your overlay code should have something like this:</p>
+<pre><code>&lt;menupopup id=&quot;menu_ToolsPopup&quot;&gt;
+  &lt;menu id=&quot;</code><code>xulschoolhello</code><code>-hello-menu&quot; label=&quot;&amp;</code><code>xulschoolhello</code><code>.hello.label;&quot;
+    accesskey=&quot;&amp;</code><code>xulschoolhello</code><code>.helloMenu.accesskey;&quot;
+    insertafter=&quot;javascriptConsole,devToolsSeparator&quot;&gt;
     &lt;menupopup&gt;
       &lt;!-- Your menuitem goes here. --&gt;
     &lt;/menupopup&gt;
   &lt;/menu&gt;
 &lt;/menupopup&gt; </code></pre>
-<p>Now let's look at some specialized types of menu items.</p>
+<p>Now let&apos;s look at some specialized types of menu items.</p>
 <h2 id="Menu_types">Menu types</h2>
 <h3 id="Checkbox_Menu_Items">Checkbox Menu Items</h3>
-<p>You can make a <em>menuitem</em> "checkable" to allow the user to enable/disable options using the menu. We use two attributes for this: <a href="/en/XUL/menuitem#a-menuitem.type" title="en/XUL/menuitem#a-menuitem.type">type</a> and <a href="/en/XUL/menuitem#a-checked" title="en/XUL/menuitem#a-checked">checked</a>. The <em>type</em> attribute must be set to "checkbox". You can set the <em>checked</em> attribute to "true" to check it by default.</p>
-<p>The item's checked state changes when the user clicks on it. An example of one such item is the View &gt; Status Bar item in the main Firefox menu.</p>
+<p>You can make a <em>menuitem</em> &quot;checkable&quot; to allow the user to enable/disable options using the menu. We use two attributes for this: <a href="/en/XUL/menuitem#a-menuitem.type" title="en/XUL/menuitem#a-menuitem.type">type</a> and <a href="/en/XUL/menuitem#a-checked" title="en/XUL/menuitem#a-checked">checked</a>. The <em>type</em> attribute must be set to &quot;checkbox&quot;. You can set the <em>checked</em> attribute to &quot;true&quot; to check it by default.</p>
+<p>The item&apos;s checked state changes when the user clicks on it. An example of one such item is the View &gt; Status Bar item in the main Firefox menu.</p>
 <h3 id="Radio_Menu_Items">Radio Menu Items</h3>
-<p>If you need to have a set of <em>menuitem</em> elements where only one of them has to be checked at any given moment, you should set the <em>type</em> to "radio". The <em>name</em> attribute is used to identify the items that belong to the radio group.</p>
-<pre><code>&lt;menupopup oncommand="XULSchoolChrome.HW.GreetingDialog.greeting(event);"&gt;
-  &lt;menuitem type="radio" name="</code><code>xulschoolhello</code><code>-greeting-radio"
-    label="&amp;</code><code>xulschoolhello</code><code>.greet.short.label;" checked="true" /&gt;
-  &lt;menuitem type="radio" name="</code><code>xulschoolhello</code><code>-greeting-radio"
-    label="&amp;</code><code>xulschoolhello</code><code>.greet.medium.label;" /&gt;
-  &lt;menuitem type="radio" name="</code><code>xulschoolhello</code><code>-greeting-radio"
-    label="&amp;</code><code>xulschoolhello</code><code>.greet.long.label;" /&gt;
+<p>If you need to have a set of <em>menuitem</em> elements where only one of them has to be checked at any given moment, you should set the <em>type</em> to &quot;radio&quot;. The <em>name</em> attribute is used to identify the items that belong to the radio group.</p>
+<pre><code>&lt;menupopup oncommand=&quot;XULSchoolChrome.HW.GreetingDialog.greeting(event);&quot;&gt;
+  &lt;menuitem type=&quot;radio&quot; name=&quot;</code><code>xulschoolhello</code><code>-greeting-radio&quot;
+    label=&quot;&amp;</code><code>xulschoolhello</code><code>.greet.short.label;&quot; checked=&quot;true&quot; /&gt;
+  &lt;menuitem type=&quot;radio&quot; name=&quot;</code><code>xulschoolhello</code><code>-greeting-radio&quot;
+    label=&quot;&amp;</code><code>xulschoolhello</code><code>.greet.medium.label;&quot; /&gt;
+  &lt;menuitem type=&quot;radio&quot; name=&quot;</code><code>xulschoolhello</code><code>-greeting-radio&quot;
+    label=&quot;&amp;</code><code>xulschoolhello</code><code>.greet.long.label;&quot; /&gt;
 &lt;/menupopup&gt; </code></pre>
 <p>This is a modified version of the 3 greeting menus. It is now implemented as a radio menu where you pick one of the 3 available choices. The first one is checked by default. The <em>oncommand</em> attribute is set on the <em>menupopup</em> to avoid code duplication, since now the 3 items call the same function.</p>
 <p>Another example of a menu like this is the View &gt; Sidebars menu. Only one sidebar is visible at any given moment, and you can pick from several.</p>
 <h3 id="Menus_with_Images">Menus with Images</h3>
-<p>To add an icon to a <em>menu</em> or <em>menuitem</em>, set its class to "menu-iconic" or "menuitem-iconic" respectively, and set the <a href="/en/XUL/Attribute/image" title="en/XUL/Attribute/image">image</a> attribute or the <a href="/en/CSS/list-style-image" title="en/CSS/list-style-image">list-style-image</a> CSS property. Menu icons are typically 16px by 16px.</p>
+<p>To add an icon to a <em>menu</em> or <em>menuitem</em>, set its class to &quot;menu-iconic&quot; or &quot;menuitem-iconic&quot; respectively, and set the <a href="/en/XUL/Attribute/image" title="en/XUL/Attribute/image">image</a> attribute or the <a href="/en/CSS/list-style-image" title="en/CSS/list-style-image">list-style-image</a> CSS property. Menu icons are typically 16px by 16px.</p>
 <h2 id="Menus_on_Mac_OS_X">Menus on Mac OS X</h2>
-<p>As mentioned earlier, menus are very different on Mac OS X. This is because menus on Mac are located in a single menu bar which is controlled by the operating system, as opposed to menus in other systems, which are entirely controlled by Firefox. Mac OS X also has menu standards, such as the positioning of certain items that are not used in other systems. Here's a list of the known issues we've run into when handling menus on Mac:</p>
+<p>As mentioned earlier, menus are very different on Mac OS X. This is because menus on Mac are located in a single menu bar which is controlled by the operating system, as opposed to menus in other systems, which are entirely controlled by Firefox. Mac OS X also has menu standards, such as the positioning of certain items that are not used in other systems. Here&apos;s a list of the known issues we&apos;ve run into when handling menus on Mac:</p>
 <ul>
-  <li>The About, Preferences and Quit menu items are located under the "Firefox" menu, not the usual places you would find them. You can access these items by id through the DOM, but their parent menu is not easily accessible.</li>
-  <li>We've run into bugs when adding, removing, enabling and disabling menu items dynamically, specially the root menu items (File, Edit, View, etc). You should carefully test this behavior to make sure it works properly in your extension.</li>
+  <li>The About, Preferences and Quit menu items are located under the &quot;Firefox&quot; menu, not the usual places you would find them. You can access these items by id through the DOM, but their parent menu is not easily accessible.</li>
+  <li>We&apos;ve run into bugs when adding, removing, enabling and disabling menu items dynamically, specially the root menu items (File, Edit, View, etc). You should carefully test this behavior to make sure it works properly in your extension.</li>
   <li>Images in menu items may not appear, showing only a narrow segment of the image instead. This seems to happen when remote images are used.</li>
   <li>Menu items are not dynamically updated while they are open. For example, you could have a <em>menuitem</em> that tells you the current time and is updated every second. On other systems you would be able to see the item update itself without having to close the menu and then reopen. This is not the case on Mac OS.</li>
 </ul>
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_School/Setting_Up_a_Development_Environment" style="float: left;">« zurück</a><a href="/de/docs/XUL_School/Adding_Toolbars_and_Toolbar_Buttons">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_School/Setting_Up_a_Development_Environment" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_School/Adding_Toolbars_and_Toolbar_Buttons" class="button">weiter  »</a></p>
 </div>
 <p><span style="font-size: small;">This tutorial was kindly donated to Mozilla by Appcoast.</span></p>

+ 61 - 61
files/de/archive/mozilla/xul/school_tutorial/die_grundlagen_einer_erweiterung/index.html

@@ -4,7 +4,7 @@ slug: Archive/Mozilla/XUL/School_tutorial/Die_Grundlagen_einer_Erweiterung
 translation_of: Archive/Add-ons/Overlay_Extensions/XUL_School/The_Essentials_of_an_Extension
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_School/Getting_Started_with_Firefox_Extensions" style="float: left;">« zurück</a><a href="/de/docs/XUL_School/Setting_Up_a_Development_Environment">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_School/Getting_Started_with_Firefox_Extensions" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_School/Setting_Up_a_Development_Environment" class="button">weiter  »</a></p>
 </div>
 
 <h2 id="Die_install.rdf_Datei">Die install.rdf Datei</h2>
@@ -83,7 +83,7 @@ translation_of: Archive/Add-ons/Overlay_Extensions/XUL_School/The_Essentials_of_
 <h2 id="The_chrome.manifest_File">The chrome.manifest File</h2>
 
 <blockquote>
-<p><span style="color: #0000ff;">Chrome is the set of user interface elements of the application window that are outside of a window's content area.</span> Toolbars, menu bars, progress bars, and window title bars are all examples of elements that are typically part of the chrome.</p>
+<p><span style="color: #0000ff;">Chrome is the set of user interface elements of the application window that are outside of a window&apos;s content area.</span> Toolbars, menu bars, progress bars, and window title bars are all examples of elements that are typically part of the chrome.</p>
 </blockquote>
 
 <p>Auszug aus der <a href="/en-US/docs/Chrome_Registration" title="en/Chrome Registration">Chrome Registration</a>.</p>
@@ -120,7 +120,7 @@ locale    xulschoolhello  en-US       locale/en-US/
 </div>
 </div>
 
-<p>Über diesen Weg können wir unterschiedliche Darstellungen für Windows, Mac OS X und Linux (plus anderer unix-ähnlichen Systemen) haben, die jede von ihnen in einer seperaten Ordnerstruktur definiert ist. Seit die meisten anderen System Unix-basiert sind, ist die "unix" Darstellung der Standard ohne weitere Marker.</p>
+<p>Über diesen Weg können wir unterschiedliche Darstellungen für Windows, Mac OS X und Linux (plus anderer unix-ähnlichen Systemen) haben, die jede von ihnen in einer seperaten Ordnerstruktur definiert ist. Seit die meisten anderen System Unix-basiert sind, ist die &quot;unix&quot; Darstellung der Standard ohne weitere Marker.</p>
 
 <h2 id="Chrome">Chrome</h2>
 
@@ -162,7 +162,7 @@ locale    xulschoolhello  en-US       locale/en-US/
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">&lt;overlay id="xulschoolhello-browser-overlay"  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;</pre>
+<pre class="code-java">&lt;overlay id=&quot;xulschoolhello-browser-overlay&quot;  xmlns=&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;&gt;</pre>
 </div>
 </div>
 
@@ -170,13 +170,13 @@ locale    xulschoolhello  en-US       locale/en-US/
 
 <div class="panel" style="border-width: 1px;">
 <div class="panelContent">
-<div class="note">You may have noticed the naming we use on several places, such as the id <em>xulschoolhello-browser-overlay</em>. This is the namespacing standard that we use to avoid conflicts with Firefox and other extensions, as well as making some development tasks easier. We namespace all ids and style classes in overlay elements because they will be mixed with other elements in the main browser window. If we used generic ids like <em>container</em> or <em>input</em>, they will likely conflict with ids used within Firefox, or with ids from other extension overlays. Using namespaces minimizes compatibility problems with other extensions. We use camel casing for file names, and all lower case with dashes for element ids and CSS style class names, but you're free to use your own system.</div>
+<div class="note">You may have noticed the naming we use on several places, such as the id <em>xulschoolhello-browser-overlay</em>. This is the namespacing standard that we use to avoid conflicts with Firefox and other extensions, as well as making some development tasks easier. We namespace all ids and style classes in overlay elements because they will be mixed with other elements in the main browser window. If we used generic ids like <em>container</em> or <em>input</em>, they will likely conflict with ids used within Firefox, or with ids from other extension overlays. Using namespaces minimizes compatibility problems with other extensions. We use camel casing for file names, and all lower case with dashes for element ids and CSS style class names, but you&apos;re free to use your own system.</div>
 </div>
 </div>
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">&lt;script type=<span class="code-quote">"application/x-javascript"</span>   src=<span class="code-quote">"chrome:<span class="code-comment">//xulschoolhello/content/browserOverlay.js"</span> /&gt;</span></pre>
+<pre class="code-java">&lt;script type=<span class="code-quote">&quot;application/x-javascript&quot;</span>   src=<span class="code-quote">&quot;chrome:<span class="code-comment">//xulschoolhello/content/browserOverlay.js&quot;</span> /&gt;</span></pre>
 </div>
 </div>
 
@@ -184,7 +184,7 @@ locale    xulschoolhello  en-US       locale/en-US/
 
 <div class="panel" style="border-width: 1px;">
 <div class="panelContent">
-<div class="note">You also probably noticed how we format our code, and wonder about the rules we follow. Our general rule on line length is not having lines longer than 80 characters. This feels very restrictive, specially with XML files, but the number was chosen to allow pretty much any text editor to handle these files easily. Even old command line editors work well with files that cut their lines at 80 characters. The tabulation is very straightforward: 2 blank space indents. We never use actual tab characters, with the exception of Makefiles, which will be covered later on. Most of our coding standards are based on Mozilla's or other known and used standards.</div>
+<div class="note">You also probably noticed how we format our code, and wonder about the rules we follow. Our general rule on line length is not having lines longer than 80 characters. This feels very restrictive, specially with XML files, but the number was chosen to allow pretty much any text editor to handle these files easily. Even old command line editors work well with files that cut their lines at 80 characters. The tabulation is very straightforward: 2 blank space indents. We never use actual tab characters, with the exception of Makefiles, which will be covered later on. Most of our coding standards are based on Mozilla&apos;s or other known and used standards.</div>
 </div>
 </div>
 
@@ -192,27 +192,27 @@ locale    xulschoolhello  en-US       locale/en-US/
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">&lt;menubar id="main-menubar"&gt;
-  &lt;menu id="xulschoolhello-hello-menu" label="&amp;xulschoolhello.hello.label;"
-    accesskey="&amp;xulschoolhello.helloMenu.accesskey;" insertafter="helpMenu"&gt;
+<pre class="code-java">&lt;menubar id=&quot;main-menubar&quot;&gt;
+  &lt;menu id=&quot;xulschoolhello-hello-menu&quot; label=&quot;&amp;xulschoolhello.hello.label;&quot;
+    accesskey=&quot;&amp;xulschoolhello.helloMenu.accesskey;&quot; insertafter=&quot;helpMenu&quot;&gt;
     &lt;menupopup&gt;
-      &lt;menuitem id="xulschoolhello-hello-menu-item"
-        label="&amp;xulschoolhello.hello.label;"
-        accesskey="&amp;xulschoolhello.helloItem.accesskey;"
-        oncommand="XULSchoolChrome.BrowserOverlay.sayHello(event);" /&gt;
+      &lt;menuitem id=&quot;xulschoolhello-hello-menu-item&quot;
+        label=&quot;&amp;xulschoolhello.hello.label;&quot;
+        accesskey=&quot;&amp;xulschoolhello.helloItem.accesskey;&quot;
+        oncommand=&quot;XULSchoolChrome.BrowserOverlay.sayHello(event);&quot; /&gt;
     &lt;/menupopup&gt;
   &lt;/menu&gt;
 &lt;/menubar&gt;
 
-&lt;vbox id="appmenuSecondaryPane"&gt;
-  &lt;menu id="xulschoolhello-hello-menu-2" label="&amp;xulschoolhello.hello.label;"
-    accesskey="&amp;xulschoolhello.helloMenu.accesskey;"
-    insertafter="appmenu_addons"&gt;
+&lt;vbox id=&quot;appmenuSecondaryPane&quot;&gt;
+  &lt;menu id=&quot;xulschoolhello-hello-menu-2&quot; label=&quot;&amp;xulschoolhello.hello.label;&quot;
+    accesskey=&quot;&amp;xulschoolhello.helloMenu.accesskey;&quot;
+    insertafter=&quot;appmenu_addons&quot;&gt;
     &lt;menupopup&gt;
-      &lt;menuitem id="xulschoolhello-hello-menu-item-2"
-        label="&amp;xulschoolhello.hello.label;"
-        accesskey="&amp;xulschoolhello.helloItem.accesskey;"
-        oncommand="XULSchoolChrome.BrowserOverlay.sayHello(event);" /&gt;
+      &lt;menuitem id=&quot;xulschoolhello-hello-menu-item-2&quot;
+        label=&quot;&amp;xulschoolhello.hello.label;&quot;
+        accesskey=&quot;&amp;xulschoolhello.helloItem.accesskey;&quot;
+        oncommand=&quot;XULSchoolChrome.BrowserOverlay.sayHello(event);&quot; /&gt;
     &lt;/menupopup&gt;
   &lt;/menu&gt;
 &lt;/vbox&gt;
@@ -228,28 +228,28 @@ locale    xulschoolhello  en-US       locale/en-US/
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">insertafter=<span class="code-quote">"appmenu_addons"</span>
+<pre class="code-java">insertafter=<span class="code-quote">&quot;appmenu_addons&quot;</span>
 </pre>
 </div>
 </div>
 
 <p><em>appmenu_addons</em> ist die ID des Menüelements, dass mit dem Add-on-Menü im Hauptmenü in verbindung steht. Wir werden später sehen wir die Dinge wie die ID von Browserelementen ermitteln können, aber jetzt sehen wir uns die Elemente aus denen sich das Hello World-Menü zusammensetzt.</p>
 
-<p>Für das klassische Menü, fügen wir das Hello World-Menü rechts in das "Wurzelverzeichnis" der Menüs hinzu, so dass es sehr einfach zu finden ist, aber in der Praxis ist es nicht notwendig. Stellen Sie sich vor was passieren würde, wenn alle Erweiterungen ein Menü im oberen Menü hinzufügen würden; ein paar Erweiterungen zu haben würde es dann außen lassen wie die Kontrollanzeige eines Flugzeuges, voller Knöpfe und Schalter. Im Falle des zusammengesetzen Menüs, sind die Dinge aufgrund von zu wenigen Optionen etwas mehr kompliziert. Wenn dein Menüitem in den Webentwicklerbereich passt empfiehlt es sich es dort zu platzieren. Andererweise ist das Wurzelmenü möglicherweise der einzige sinnvolle Ort.</p>
+<p>Für das klassische Menü, fügen wir das Hello World-Menü rechts in das &quot;Wurzelverzeichnis&quot; der Menüs hinzu, so dass es sehr einfach zu finden ist, aber in der Praxis ist es nicht notwendig. Stellen Sie sich vor was passieren würde, wenn alle Erweiterungen ein Menü im oberen Menü hinzufügen würden; ein paar Erweiterungen zu haben würde es dann außen lassen wie die Kontrollanzeige eines Flugzeuges, voller Knöpfe und Schalter. Im Falle des zusammengesetzen Menüs, sind die Dinge aufgrund von zu wenigen Optionen etwas mehr kompliziert. Wenn dein Menüitem in den Webentwicklerbereich passt empfiehlt es sich es dort zu platzieren. Andererweise ist das Wurzelmenü möglicherweise der einzige sinnvolle Ort.</p>
 
 <p>Ein empfehlenswerter Ort für Menüs in dem Klassikmenü ist unter dem Extrasmenü, von daher sollte der Code in etwa so aussehen:</p>
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">&lt;menupopup id=<span class="code-quote">"menu_ToolsPopup"</span>&gt;
-  &lt;menu id=<span class="code-quote">"xulschoolhello-hello-menu"</span> label=<span class="code-quote">"&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello.label;"</span>
-    accesskey=<span class="code-quote">"&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.helloMenu.accesskey;"</span>
-    insertbefore=<span class="code-quote">"</span>devToolsEndSeparator<span class="code-quote">"</span>&gt;
+<pre class="code-java">&lt;menupopup id=<span class="code-quote">&quot;menu_ToolsPopup&quot;</span>&gt;
+  &lt;menu id=<span class="code-quote">&quot;xulschoolhello-hello-menu&quot;</span> label=<span class="code-quote">&quot;&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello.label;&quot;</span>
+    accesskey=<span class="code-quote">&quot;&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.helloMenu.accesskey;&quot;</span>
+    insertbefore=<span class="code-quote">&quot;</span>devToolsEndSeparator<span class="code-quote">&quot;</span>&gt;
     &lt;menupopup&gt;
-      &lt;menuitem id=<span class="code-quote">"</span><span class="code-quote">xulschoolhello</span><span class="code-quote">-hello-menu-item"
-      </span>  label=<span class="code-quote">"&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello.label;"</span>
-        accesskey=<span class="code-quote">"&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.helloItem.accesskey;"</span>
-        oncommand=<span class="code-quote">"XULSchoolChrome.BrowserOverlay.sayHello(event);"</span> /&gt;
+      &lt;menuitem id=<span class="code-quote">&quot;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">-hello-menu-item&quot;
+      </span>  label=<span class="code-quote">&quot;&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello.label;&quot;</span>
+        accesskey=<span class="code-quote">&quot;&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.helloItem.accesskey;&quot;</span>
+        oncommand=<span class="code-quote">&quot;XULSchoolChrome.BrowserOverlay.sayHello(event);&quot;</span> /&gt;
     &lt;/menupopup&gt;
   &lt;/menu&gt;
 &lt;/menupopup&gt;
@@ -263,7 +263,7 @@ locale    xulschoolhello  en-US       locale/en-US/
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">oncommand=<span class="code-quote">"XULSchoolChrome.BrowserOverlay.sayHello(event);"</span>
+<pre class="code-java">oncommand=<span class="code-quote">&quot;XULSchoolChrome.BrowserOverlay.sayHello(event);&quot;</span>
 </pre>
 </div>
 </div>
@@ -277,7 +277,7 @@ locale    xulschoolhello  en-US       locale/en-US/
 <pre class="brush: js">/**
  * XULSchoolChrome namespace.
  */
-if ("undefined" == typeof(XULSchoolChrome)) {
+if (&quot;undefined&quot; == typeof(XULSchoolChrome)) {
   var XULSchoolChrome = {};
 };</pre>
 </div>
@@ -307,8 +307,8 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
 <pre class="brush: js">sayHello : function(aEvent) {
-  let stringBundle = document.getElementById("xulschoolhello-string-bundle");
-  let message = stringBundle.getString("xulschoolhello.greeting.label");
+  let stringBundle = document.getElementById(&quot;xulschoolhello-string-bundle&quot;);
+  let message = stringBundle.getString(&quot;xulschoolhello.greeting.label&quot;);
 
   window.alert(message);
 }</pre>
@@ -317,7 +317,7 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 
 <p>Und Schlussendlich ist dass unsere Funktionsdeklaration. Drei Zeilen sind alles was wir benötigen. Die erste Zeile in dem Body der Funktion deklariert eine Variable die das <a href="/en-US/docs/XUL/stringbundle" title="en/XUL/stringBundle">stringbundle</a>-Element beinhaltet, das im Overlay definiert ist. Die Variable ist deklariert durch die Verwendung von <em>let, </em>dass <em>var </em>ähnlich ist aber einen enger begrenzten Bereich besitzt. Hier können Sie mehr über die <a href="/en-US/docs/JavaScript/Reference/Statements/let" title="let"><span class="external">let deklaration </span></a>nachlesen.</p>
 
-<p>WIe auch im regulären JS, können wir das <a href="/en-US/docs/DOM" title="en/DOM"><span class="external">DOM</span></a> (Document Object Model) nutzen um dass XUL-Dokument zu manipulieren.Als erstes bekommen wir eine referenze auf das <a href="/en-US/docs/XUL/stringbundle" title="en/XUL/stringbundle"><span class="external">stringbundle-Element</span></a>  in dem Dokument. Dies ist ein spezielles Element das es uns erlaubt beschränkte Strings dynamisch zu erhalten, nur durch die bereitstellung eines "key`s" der Den String identifiziert. Das macht die zweite Zeile. Wir rufen die <a href="/en-US/docs/XUL/stringbundle#m-getString" title="en/XUL/stringbundle#m-getString">getString Methode</a> des bundle-Elements udn bekommen die begrenzte Meldung angeziegt. Anschließende rufen wir die <a href="/en-US/docs/DOM/window.alert" title="en/DOM/window.alert">window.alert</a>-Funktion auf, wie wir das auch in einem HTML-Dokument machen würden.</p>
+<p>WIe auch im regulären JS, können wir das <a href="/en-US/docs/DOM" title="en/DOM"><span class="external">DOM</span></a> (Document Object Model) nutzen um dass XUL-Dokument zu manipulieren.Als erstes bekommen wir eine referenze auf das <a href="/en-US/docs/XUL/stringbundle" title="en/XUL/stringbundle"><span class="external">stringbundle-Element</span></a>  in dem Dokument. Dies ist ein spezielles Element das es uns erlaubt beschränkte Strings dynamisch zu erhalten, nur durch die bereitstellung eines &quot;key`s&quot; der Den String identifiziert. Das macht die zweite Zeile. Wir rufen die <a href="/en-US/docs/XUL/stringbundle#m-getString" title="en/XUL/stringbundle#m-getString">getString Methode</a> des bundle-Elements udn bekommen die begrenzte Meldung angeziegt. Anschließende rufen wir die <a href="/en-US/docs/DOM/window.alert" title="en/DOM/window.alert">window.alert</a>-Funktion auf, wie wir das auch in einem HTML-Dokument machen würden.</p>
 
 <h3 id="Locale">Locale</h3>
 
@@ -327,7 +327,7 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">label=<span class="code-quote">"&amp;xulschoolhello.hello.label;"</span> accesskey=<span class="code-quote">"&amp;xulschoolhello.helloItem.accesskey;"</span></pre>
+<pre class="code-java">label=<span class="code-quote">&quot;&amp;xulschoolhello.hello.label;&quot;</span> accesskey=<span class="code-quote">&quot;&amp;xulschoolhello.helloItem.accesskey;&quot;</span></pre>
 </div>
 </div>
 
@@ -335,7 +335,7 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">&lt;!DOCTYPE overlay SYSTEM "chrome://xulschoolhello/locale/browserOverlay.dtd" &gt;</pre>
+<pre class="code-java">&lt;!DOCTYPE overlay SYSTEM &quot;chrome://xulschoolhello/locale/browserOverlay.dtd&quot; &gt;</pre>
 </div>
 </div>
 
@@ -343,9 +343,9 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">&lt;!ENTITY xulschoolhello.hello.label            <span class="code-quote">"Hello World!"</span>&gt;
-&lt;!ENTITY xulschoolhello.helloMenu.accesskey    <span class="code-quote">"l"</span>&gt;
-&lt;!ENTITY xulschoolhello.helloItem.accesskey    <span class="code-quote">"H"</span>&gt;</pre>
+<pre class="code-java">&lt;!ENTITY xulschoolhello.hello.label            <span class="code-quote">&quot;Hello World!&quot;</span>&gt;
+&lt;!ENTITY xulschoolhello.helloMenu.accesskey    <span class="code-quote">&quot;l&quot;</span>&gt;
+&lt;!ENTITY xulschoolhello.helloItem.accesskey    <span class="code-quote">&quot;H&quot;</span>&gt;</pre>
 </div>
 </div>
 
@@ -354,25 +354,25 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 <p>Zugangs Key`s sind Shortcuts die es Ihnen erlauben, nur mit der Tastatur schnell durch ein Menü zu navigieren. Sie sind auch der einzige Weg durch die Menüs zu navigieren für Menschen die eine <a href="http://www.dict.cc/deutsch-englisch/Barrierefreiheit.html">Barrierefreiheit</a> benötigen, durch teilweise oder vollkommene Blindheit oder durch körperliche Eingeschränktheit die, dass nutzen einer Maus sehr schwierig oder unmöglich machen. Sie können die Zugangs-Key`s unter Windows leicht erkennen, weil der Buchstabe der mit dem Zugangs-Key in Verbindung steht unterstrichen ist, wie in der folgenden Abbildung.</p>
 
 <div>
-<p><img alt="" class="internal" src="/@api/deki/files/4226/=accesskeys.png" style="width: 167px; height: 58px;"></p>
+<p><img alt class="internal" src="/@api/deki/files/4226/=accesskeys.png" style="width: 167px; height: 58px;"></p>
 </div>
 
-<p>DIe meisten Benutzeroberflächen Schaltflächen besitzen ein <em>accesskey</em> Atribut, und Sie sollten es benutzen. Der Wert eines Zugangs-Key`s ist lokal beschränkt, weil er einem Buchstaben im Labeltext entsprechen soll. Sie sollten darauf achten es zu vermeiden Zugangs-Key´s zu wiederholen. Als Beispiel, innerhalb eines Menüs oder Untermenüs sollten Zugangs-Key`s nicht wiederholt werden. In einem Fenster müssen Sie noch vorsichtiger sein bei der Auswahl von Zugang-Key`s weil es dort normalerweise eine größere Anzahl an Schaltflächen gibt. Besonders vorsichtig müssen Sie sein wenn Sie Zugangs-Key`s für eine Overlay auswahlen. In unserem Fall, können wir den Buchstaben "H" nicht als einen Zugangs-Key im Hauptmenü verwenden, weil dieser sich mit dem Zugangs-Key den Hilfemenüs überschneiden würde. Das selbe gilt für das "W" und das Fenstermenü unter Mac OS. Von daher haben wir den Buchstaben "l" zugewiesen.</p>
+<p>DIe meisten Benutzeroberflächen Schaltflächen besitzen ein <em>accesskey</em> Atribut, und Sie sollten es benutzen. Der Wert eines Zugangs-Key`s ist lokal beschränkt, weil er einem Buchstaben im Labeltext entsprechen soll. Sie sollten darauf achten es zu vermeiden Zugangs-Key´s zu wiederholen. Als Beispiel, innerhalb eines Menüs oder Untermenüs sollten Zugangs-Key`s nicht wiederholt werden. In einem Fenster müssen Sie noch vorsichtiger sein bei der Auswahl von Zugang-Key`s weil es dort normalerweise eine größere Anzahl an Schaltflächen gibt. Besonders vorsichtig müssen Sie sein wenn Sie Zugangs-Key`s für eine Overlay auswahlen. In unserem Fall, können wir den Buchstaben &quot;H&quot; nicht als einen Zugangs-Key im Hauptmenü verwenden, weil dieser sich mit dem Zugangs-Key den Hilfemenüs überschneiden würde. Das selbe gilt für das &quot;W&quot; und das Fenstermenü unter Mac OS. Von daher haben wir den Buchstaben &quot;l&quot; zugewiesen.</p>
 
 <p>DTD-Strings werden aufgelöst und gesetzt wenn das Dokument lädt. Wenn Sie den <em>label-Attribute </em>Wert für das Hello World-Menü mit hilfe von DOM abfragen, erhalten Sie den begrenzten String und nicht den String-Key. Sie können nicht dynamischen den Wert von Attributen mit einem neuen DTD-Schlüssel ändern, Sie müssen den neuen Wert direkt setzen.</p>
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="brush: js">let helloItem = document.getElementById(<span class="code-quote">"xulschoolhello-hello-menu-item"</span>);
+<pre class="brush: js">let helloItem = document.getElementById(<span class="code-quote">&quot;xulschoolhello-hello-menu-item&quot;</span>);
 
-<span class="code-comment">// The alert will say <span class="code-quote">"Hello World!"</span>
-</span>alert(helloItem.getAttribute(<span class="code-quote">"label"</span>));
+<span class="code-comment">// The alert will say <span class="code-quote">&quot;Hello World!&quot;</span>
+</span>alert(helloItem.getAttribute(<span class="code-quote">&quot;label&quot;</span>));
 <span class="code-comment">// Wrong
-</span>helloItem.setAttribute(<span class="code-quote">"label"</span>, <span class="code-quote">"&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello2.label;"</span>);
+</span>helloItem.setAttribute(<span class="code-quote">&quot;label&quot;</span>, <span class="code-quote">&quot;&amp;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello2.label;&quot;</span>);
 <span class="code-comment">// Better
-</span>helloItem.setAttribute(<span class="code-quote">"label"</span>, <span class="code-quote">"Alternate message"</span>);
+</span>helloItem.setAttribute(<span class="code-quote">&quot;label&quot;</span>, <span class="code-quote">&quot;Alternate message&quot;</span>);
 <span class="code-comment">// Right!
-</span>helloItem.setAttribute(<span class="code-quote">"label"</span>, someStringBundle.getString(<span class="code-quote">"</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello2.label"</span>));</pre>
+</span>helloItem.setAttribute(<span class="code-quote">&quot;label&quot;</span>, someStringBundle.getString(<span class="code-quote">&quot;</span><span class="code-quote">xulschoolhello</span><span class="code-quote">.hello2.label&quot;</span>));</pre>
 </div>
 </div>
 
@@ -380,9 +380,9 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">&lt;stringbundleset id="stringbundleset"&gt;
-  &lt;stringbundle id="xulschoolhello-string-bundle"
-    src="chrome://xulschoolhello/locale/browserOverlay.properties" /&gt;
+<pre class="code-java">&lt;stringbundleset id=&quot;stringbundleset&quot;&gt;
+  &lt;stringbundle id=&quot;xulschoolhello-string-bundle&quot;
+    src=&quot;chrome://xulschoolhello/locale/browserOverlay.properties&quot; /&gt;
 &lt;/stringbundleset&gt;</pre>
 </div>
 </div>
@@ -393,9 +393,9 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 
 <pre class="code-java  language-html"><code class="language-html">xulshoolhello.greeting.label = Hi! How are you?</code></pre>
 
-<p>Die Leerzeichen vor und nach dem Gleichheitszeichen werden ignoriert. Genauso wie in der install.rdf, Kommentare können durch das "#" Zeichen am Anfang einer zeile hinzugefügt werden. Leere Zeilen werden ebenso ignoriert.</p>
+<p>Die Leerzeichen vor und nach dem Gleichheitszeichen werden ignoriert. Genauso wie in der install.rdf, Kommentare können durch das &quot;#&quot; Zeichen am Anfang einer zeile hinzugefügt werden. Leere Zeilen werden ebenso ignoriert.</p>
 
-<p>Sei werden oft einen dynamischen Inhalt als Teil eines begrenzten Strings einbinden wollen, wie wenn Sie den Nutzer über den Status der Erweiterung informieren wollen. Als Beispiel: "Es wurden 5 der Suchanfrage entprechende Wörter gefunden". Ihre erste Idee ist möglicherweise einfach Strings zu verketten und eine "Found" Eigenschaft und eine weitere "words matching..." Eigenschaft zu verwenden. Dies ist keine Gute Idee. Sie behindert nur in einem großen Maße die Arbeit von Übersetzern und Grammatikregeln der verschieden Sprachen ändern möglicherweise den Aufbau des Satzes. Aus diesem Grund ist es besser Parameter in den Eienschaften zu verwenden.</p>
+<p>Sei werden oft einen dynamischen Inhalt als Teil eines begrenzten Strings einbinden wollen, wie wenn Sie den Nutzer über den Status der Erweiterung informieren wollen. Als Beispiel: &quot;Es wurden 5 der Suchanfrage entprechende Wörter gefunden&quot;. Ihre erste Idee ist möglicherweise einfach Strings zu verketten und eine &quot;Found&quot; Eigenschaft und eine weitere &quot;words matching...&quot; Eigenschaft zu verwenden. Dies ist keine Gute Idee. Sie behindert nur in einem großen Maße die Arbeit von Übersetzern und Grammatikregeln der verschieden Sprachen ändern möglicherweise den Aufbau des Satzes. Aus diesem Grund ist es besser Parameter in den Eienschaften zu verwenden.</p>
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
@@ -411,9 +411,9 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 
 <div class="code panel" style="border-width: 1px;">
 <div class="codeContent panelContent">
-<pre class="code-java">&lt;?xml-stylesheet type=<span class="code-quote">"text/css"</span> href=<span class="code-quote">"chrome:<span class="code-comment">//global/skin/"</span>  ?&gt;
-</span>&lt;?xml-stylesheet type=<span class="code-quote">"text/css"</span>
-  href=<span class="code-quote">"chrome:<span class="code-comment">//xulschoolhello/skin/browserOverlay.css"</span>  ?&gt;</span></pre>
+<pre class="code-java">&lt;?xml-stylesheet type=<span class="code-quote">&quot;text/css&quot;</span> href=<span class="code-quote">&quot;chrome:<span class="code-comment">//global/skin/&quot;</span>  ?&gt;
+</span>&lt;?xml-stylesheet type=<span class="code-quote">&quot;text/css&quot;</span>
+  href=<span class="code-quote">&quot;chrome:<span class="code-comment">//xulschoolhello/skin/browserOverlay.css&quot;</span>  ?&gt;</span></pre>
 </div>
 </div>
 
@@ -421,7 +421,7 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 
 <p>Dies behandelt alle Dateien der Hello World-Erweiterung. Nun sollten Sie eine Idee haben welche in die Erweiterungsentwicklung involviert sind, nun steigen wir direkt ein und stzen eine Eintwicklungumgebung auf. Aber als erstes eine kleine Übung.</p>
 
-<p>This covers all of the files in the Hello World extension. Now you should have an idea of the basics involved in extension development, so now we'll jump right in and set up a development environment. But first, a little exercise.</p>
+<p>This covers all of the files in the Hello World extension. Now you should have an idea of the basics involved in extension development, so now we&apos;ll jump right in and set up a development environment. But first, a little exercise.</p>
 
 <h2 id="Übung">Übung</h2>
 
@@ -449,10 +449,10 @@ XULSchoolChrome.BrowserOverlay = {</pre>
 
 <p>Nachdem Sie fertig sind, können Sie sich diese Refernzlösung ansehen: <a href="/@api/deki/files/5141/=xulschoolhello2.xpi" title="https://developer.mozilla.org/@api/deki/files/5141/=xulschoolhello2.xpi">Hello World 2</a>.</p>
 
-<p><img alt="" src="https://mdn.mozillademos.org/files/8423/menu_item%20-%20helloworld2.png"></p>
+<p><img alt src="https://mdn.mozillademos.org/files/8423/menu_item%20-%20helloworld2.png"></p>
 
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_School/Getting_Started_with_Firefox_Extensions" style="float: left;">« zurück</a><a href="/de/docs/XUL_School/Setting_Up_a_Development_Environment">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_School/Getting_Started_with_Firefox_Extensions" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_School/Setting_Up_a_Development_Environment" class="button">weiter  »</a></p>
 </div>
 
 <p><span style="font-size: small;">This tutorial was kindly donated to Mozilla by Appcoast.</span></p>

+ 19 - 19
files/de/archive/mozilla/xul/school_tutorial/eine_entwicklungsumgebung_einrichten_environment/index.html

@@ -6,16 +6,16 @@ translation_of: >-
   Archive/Add-ons/Overlay_Extensions/XUL_School/Setting_Up_a_Development_Environment
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_School/The_Essentials_of_an_Extension" style="float: left;">« zurück</a><a href="/de/docs/XUL_School/Adding_menus_and_submenus">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_School/The_Essentials_of_an_Extension" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_School/Adding_menus_and_submenus" class="button">weiter  »</a></p>
 </div>
 <h2 id="Eine_Entwicklungsumgebung_einrichten">Eine Entwicklungsumgebung einrichten</h2>
 <p>Es gibt 3 Tools von denen wir denken das diese essentiell für eine effektive Add-on-Entwicklung sind (oder ehrlich gesagt für jede Art von Entwicklung): ein Quellcodeeditor, ein Versionskontrollsystem und eine Entwicklungsumgebung.</p>
 <p>Im Bezug auf das Codeediting, es gibt keine offizelle Mozilla IDE. Mit anderen Worten, Erweiterungen benutzen die selben (oder ähnlichen) Sprachen die auch für die Webentwicklung genutzt werden, von daher könnnen die meisten Texteditoren und IDE`s eingesetzt werden. Die meisten XUL-Tools und Plugin`s die Sie Online finden werden sind lediglich Templates die die Ordnerstruktur füre das Projekt erzeugen, und das ist nicht viel Hilfe.</p>
-<p>WIe empfehlen <a class="external" href="http://www.activestate.com/komodo_edit/" title="http://www.activestate.com/komodo_edit/">Komodo Edit</a>. Es ist kostenlos, OpenSource und Cross-Platform-Unabhängig. Es basiert auf der Mozilla XULRunner Platform, von daher unterstützt einige der Besonderheiten in der Firefoxerweiterungsentwicklung. Komodo Edit bietet eine Autovercollständigung für XUL-Tags und Attribute und es unterstützt Mozilla`s CSS-Erweiterungen (CSS-Werte und Einstellungen beginnen mit "-moz"). Es besitzt ein Add-on System ähnlich dem im Firefox, und es gibt einige Komodo-Erweiterungen die zusätzliche Hilfe bei der Erweiterungsentwicklung bieten. Das ist mehr als die meisten andern Editoren bieten, von daher empfehlen wir Ihnen ihm eine Chance zu geben. Alle unsere Beispiel wurden mit Komodo Edit erstellt, also wenn Sie eine .<em>kpf</em> oder <em>.komodoproject</em> fi Datei in einem Beispieldownload sehen ist das eine Komodoprojektdatei.</p>
-<p><img alt="" height="479" src="https://mdn.mozillademos.org/files/8435/screenshot%20-%20komodo_edit.png" width="657"></p>
+<p>WIe empfehlen <a class="external" href="http://www.activestate.com/komodo_edit/" title="http://www.activestate.com/komodo_edit/">Komodo Edit</a>. Es ist kostenlos, OpenSource und Cross-Platform-Unabhängig. Es basiert auf der Mozilla XULRunner Platform, von daher unterstützt einige der Besonderheiten in der Firefoxerweiterungsentwicklung. Komodo Edit bietet eine Autovercollständigung für XUL-Tags und Attribute und es unterstützt Mozilla`s CSS-Erweiterungen (CSS-Werte und Einstellungen beginnen mit &quot;-moz&quot;). Es besitzt ein Add-on System ähnlich dem im Firefox, und es gibt einige Komodo-Erweiterungen die zusätzliche Hilfe bei der Erweiterungsentwicklung bieten. Das ist mehr als die meisten andern Editoren bieten, von daher empfehlen wir Ihnen ihm eine Chance zu geben. Alle unsere Beispiel wurden mit Komodo Edit erstellt, also wenn Sie eine .<em>kpf</em> oder <em>.komodoproject</em> fi Datei in einem Beispieldownload sehen ist das eine Komodoprojektdatei.</p>
+<p><img alt height="479" src="https://mdn.mozillademos.org/files/8435/screenshot%20-%20komodo_edit.png" width="657"></p>
 <p>Wir empfehlen <a href="http://git-scm.com/" title="http://git-scm.com/">Git</a> und <a href="https://github.com/" title="https://github.com/">GitHub</a> für die Versionskontrolle, aber jedes anständige <span class="st"><em><a href="http://en.wikipedia.org/wiki/Software_configuration_management" title="http://en.wikipedia.org/wiki/Software_configuration_management">Software-Configuration-Management</a></em></span> System kann hier eingesetzt werden.</p>
 <p>Um XPI-Dateien zu packen, nutzen wir make. Wir haben <em>make</em> gewählt weil dieses System von Mozilla genutzt wird um Firefox zu bauen und es ist für alle Betriebssysteme verfügbar. <em>make</em> ist das Standard Tool in den meisten UNIX-basierten Systemen. Es kann unter Mac OS X als Teil von des XCode Tool-Paketes installiert werden und unter Windows mit <a class="external" href="http://www.cygwin.com/">cygwin</a>. In einer <em>cygwin</em>-Installation werden Sie explizit die <em>make</em> und <em>zip</em> utilities aus der langen Liste der Pakete auswählen müssen um diese herunterzuladen und installieren.</p>
-<p>Sorgen Sie des weiteren dafür das <em>make</em> sich im ausführbaren Systempfad befindet. Nach der Einrichtung von <em>make</em>, sollten Sie in der Lage sein ein Kommandozeildenfenster zu öffnen, führen Sie "make-ver" aus, und Sie bekommen die installierte Version von <em>make</em> als Ausgabe.</p>
+<p>Sorgen Sie des weiteren dafür das <em>make</em> sich im ausführbaren Systempfad befindet. Nach der Einrichtung von <em>make</em>, sollten Sie in der Lage sein ein Kommandozeildenfenster zu öffnen, führen Sie &quot;make-ver&quot; aus, und Sie bekommen die installierte Version von <em>make</em> als Ausgabe.</p>
 <p>Wir empfehlen Ihnen <em>make</em> auf Ihrem System einzurichten, da unsere Beispiele beinhalten alle notwendigen Dateien um die daraus entstehende XPI mit diesem Toolzu bauen und installieren. Es wird Ihnen einiges an Zeit für das packen ersparen. Oder Sie können ein vergleichbares System unter der Verwendung von Batch aufsetzen, machen Sie es wie auch immer Sie bevorzugen. Letztlich können Sie auch einfach jeden Zip oder Archivierungs Tool verwenden um den Inhalt des <em>src</em> Verzeichnisses zu komprimieren um ein identisches Ergebniss zu ereichen.</p>
 <h2 id="Build_system">Build system</h2>
 <p>Beginnen wir mit dem Herunterladen des Projekts mit dem die zweite Version von Hello World aufgebaut wurde, aus der Übung der letzten Lektion</p>
@@ -56,18 +56,18 @@ Build finished successfully.
   <pre class="code-java">make clean</pre>
  </div>
 </div>
-<p>Sie können diese Befehle auch in Komodo ausführen. Klicken Sie auf Tools &gt; Befehl ausführen... In das "Ausführen" Textfeld sollten Sie das eingeben:</p>
+<p>Sie können diese Befehle auch in Komodo ausführen. Klicken Sie auf Tools &gt; Befehl ausführen... In das &quot;Ausführen&quot; Textfeld sollten Sie das eingeben:</p>
 <div class="code panel" style="border-width: 1px;">
  <div class="codeContent panelContent">
-  <pre class="code-java">bash -c <span class="code-quote">"make"</span></pre>
+  <pre class="code-java">bash -c <span class="code-quote">&quot;make&quot;</span></pre>
  </div>
 </div>
-<p><img alt="" src="https://mdn.mozillademos.org/files/8439/screenshot%20-%20komodo_edit%20Run%20Command.png"></p>
-<p>Oder ersetzen Sie "make" mit "make clean" für das aufräumen. Der "basc -c" Teil zwingt Komodo <em>bash</em> zu nutzen, welches aus einigen Gründen nicht als das Standard Kommandozeile gesetzt werden kann. Es ist nicht notwendig dies zu tun, aber es ist besser so das mit dem <em>make</em>-Befehl übereinstimmt den wir als nächstes sehen werden.</p>
-<p>In em "Start in" Textfeld sollten Sie %p wählen (Verzeichnispfad des aktiven Projektes. Wenn Sie dieses Textfeld nicht sehen können dann klicken Sie auf den "More" Schalter. Sie besitzen auch die Möglichkeit den Befehl zu speichern, durch einen Klick auf das "Add to Toolbox" Auswahlfeld. Um die Toolbox zu sehen, klicke auf View &gt; Tabs &gt; Toolbox, über das Hauptmenü. Damit sollten Sie einen sehr einfachen Weg haben um Ihre XPI zu erstellen, indem Sie nur den Erstellungsbefehl Doppelklicken.</p>
-<p>Wir können es sogar noch besser machen. Wenn Sie einmal Ihren Code testen und debuggen, werden Sie feststellen, dass das ständige erstellen und installieren einer XPI sehr ermüdend sein kann. Das ist der Gründ warum wir "make install" eingeführt haben. Dies funktioniert nur wenn die Erweiterung bereits in einem Firefoxprofil installiert ist. Wie in den vorgestellten Projekt, benötigen Sie die Add-on-ID und die gesetzte Profillokation die in der <em>Makefile</em>-Datei. Wir nutzen diese Informationen um den Installationspfad  von der Erweiterung  und überschreiben die installierten Dateien. Wenn Firefox geöffnet ist können Sie den "make install"-Befehl ausführen, Sie müssen Firefox neustarten um die Änderungen zu sehen. Es ist immernoch besser als die XPI andauernd neu zu installieren.</p>
+<p><img alt src="https://mdn.mozillademos.org/files/8439/screenshot%20-%20komodo_edit%20Run%20Command.png"></p>
+<p>Oder ersetzen Sie &quot;make&quot; mit &quot;make clean&quot; für das aufräumen. Der &quot;basc -c&quot; Teil zwingt Komodo <em>bash</em> zu nutzen, welches aus einigen Gründen nicht als das Standard Kommandozeile gesetzt werden kann. Es ist nicht notwendig dies zu tun, aber es ist besser so das mit dem <em>make</em>-Befehl übereinstimmt den wir als nächstes sehen werden.</p>
+<p>In em &quot;Start in&quot; Textfeld sollten Sie %p wählen (Verzeichnispfad des aktiven Projektes. Wenn Sie dieses Textfeld nicht sehen können dann klicken Sie auf den &quot;More&quot; Schalter. Sie besitzen auch die Möglichkeit den Befehl zu speichern, durch einen Klick auf das &quot;Add to Toolbox&quot; Auswahlfeld. Um die Toolbox zu sehen, klicke auf View &gt; Tabs &gt; Toolbox, über das Hauptmenü. Damit sollten Sie einen sehr einfachen Weg haben um Ihre XPI zu erstellen, indem Sie nur den Erstellungsbefehl Doppelklicken.</p>
+<p>Wir können es sogar noch besser machen. Wenn Sie einmal Ihren Code testen und debuggen, werden Sie feststellen, dass das ständige erstellen und installieren einer XPI sehr ermüdend sein kann. Das ist der Gründ warum wir &quot;make install&quot; eingeführt haben. Dies funktioniert nur wenn die Erweiterung bereits in einem Firefoxprofil installiert ist. Wie in den vorgestellten Projekt, benötigen Sie die Add-on-ID und die gesetzte Profillokation die in der <em>Makefile</em>-Datei. Wir nutzen diese Informationen um den Installationspfad  von der Erweiterung  und überschreiben die installierten Dateien. Wenn Firefox geöffnet ist können Sie den &quot;make install&quot;-Befehl ausführen, Sie müssen Firefox neustarten um die Änderungen zu sehen. Es ist immernoch besser als die XPI andauernd neu zu installieren.</p>
 <p>Möglicherweise möchten Sie die Profillokation in Ihrem <em>Makefile</em>-Datei ändern. . Um die Profilloaktion auf den richtigen Wert zu setzen, sollten Sie den Artikel <a class="external" href="http://support.mozilla.com/en-US/kb/Profiles">support article on profiles</a> auf der Mozilla Support Seite lesen. Auch werden wir später tiefer in dieses Thema eintauchen.</p>
-<p>Um "make install" auf nicht WIndowssystemen einzusetzen, benötigen Sie einen extra Schritt. Der Installationsprozess benötigt eine Umgebungsvariable mit dem Namen <em>OSTYPE</em>, welche nicht exportiert wird. Lange Geschichte kurzer Sinn, über Kommandozeile müssen Sie folgendes ausführen:</p>
+<p>Um &quot;make install&quot; auf nicht WIndowssystemen einzusetzen, benötigen Sie einen extra Schritt. Der Installationsprozess benötigt eine Umgebungsvariable mit dem Namen <em>OSTYPE</em>, welche nicht exportiert wird. Lange Geschichte kurzer Sinn, über Kommandozeile müssen Sie folgendes ausführen:</p>
 <div class="code panel" style="border-width: 1px;">
  <div class="codeContent panelContent">
   <pre class="code-java">export OSTYPE; make install</pre>
@@ -76,12 +76,12 @@ Build finished successfully.
 <p>Und in Komodo sollten Sie fogenden Befehl eingeben:</p>
 <div class="code panel" style="border-width: 1px;">
  <div class="codeContent panelContent">
-  <pre class="code-java">bash -c <span class="code-quote">"export OSTYPE; make install"</span></pre>
+  <pre class="code-java">bash -c <span class="code-quote">&quot;export OSTYPE; make install&quot;</span></pre>
  </div>
 </div>
-<p>Der <em>export</em>-Befehl wird nicht korrekt funktionieren wenn Sie nicht "bach-c" verwenden.</p>
+<p>Der <em>export</em>-Befehl wird nicht korrekt funktionieren wenn Sie nicht &quot;bach-c&quot; verwenden.</p>
 <div class="note">
- The file <em>Makefile</em> specifies which profile folder the add-on will be reinstalled to. This is set in the <em>profile_dir</em> variable (set to "xulschool-dev" in this case). When creating a development profile for your add-on, make sure you choose an easy name for the profile folder, and set it in your <em>Makefile</em> in order to take advantage of the install command.</div>
+ The file <em>Makefile</em> specifies which profile folder the add-on will be reinstalled to. This is set in the <em>profile_dir</em> variable (set to &quot;xulschool-dev&quot; in this case). When creating a development profile for your add-on, make sure you choose an easy name for the profile folder, and set it in your <em>Makefile</em> in order to take advantage of the install command.</div>
 <h3 id="Building_IDL_files">Building IDL files</h3>
 <p>Einige Erweiterungen setzen die Entwicklung von XPCOM-Komponeten voraus um gewisse fortgeschritten Funktionen hinzuzufügen. Es gibt eine Lektion die für XPCOM in diesem Tutorial vorgesehen ist, aber wie gehen kaum auf den Einflussdie es auf die Entwicklung von Erweiterungen hat ein. Sie können diesen Teil überspringen und es als Refernenz zu nutzen wenn Sie XPCOM in Ihrem Projekt benötigen.</p>
 <p>XPCOM Schnittstellen werden mit IDL-Dateien definiert. Das sind Textdateien die Attribute definieren und Methoden in einem oder mehren Schnittstellen. Diese IDL-Dateien werden in Binarydateien kompiliert und werden in die Erweiterung als XPT-Dateien eingebunden.</p>
@@ -95,7 +95,7 @@ Build finished successfully.
 <p>Ihr Buildsystem sollte dort darauf zugreifen. Um es in Komodo unter UNIX-basierten Systemen einsetzen zu können, fügen wir den Befehl in die<em> .bash_login</em>-Datei im Homeverzeichnis hinzu und wir passen den Befehl folgendermasen an.</p>
 <div class="code panel" style="border-width: 1px;">
  <div class="codeContent panelContent">
-  <pre class="code-java">bash -c <span class="code-quote">". ~/.bash_login; make"</span></pre>
+  <pre class="code-java">bash -c <span class="code-quote">&quot;. ~/.bash_login; make&quot;</span></pre>
  </div>
 </div>
 <p>Ein Beispiel Projekt mit XPCOM-Komponeten ist in der XPCOM-Lektion enthalten. Dort wird auch XPCOM Erstellung mit C++ angesprochen, was sehr viel schwieriger ist.</p>
@@ -123,16 +123,16 @@ $(signature_files): $(build_dir) $(xpi_built)
 </div>
 <p>Behalten Sie im Hinterkopf ds Ihr Passwort sollte nicht in Ihren Makefile-Dateien enthalten sein und Sie müssen sehr vorsichtig mit den Zertifkatsinformationen sein. Idealerweise sollte das von einer Person erledigt werden und nur Kurz vor Abschluss des Releaseprozess erledigt werden. Sie sollten auch einen abweichenden <em>make</em>-Befehl hierfür haben, wie z.B. <em>make signed </em>um die signierten und unsignierten Entwicklungs builds unterscheiden zu können.</p>
 <h2 id="Firefox_profile_management">Firefox profile management</h2>
-<p>Es ist gute Entwicklungspraxis die Testumgebung von allem anderen zu seperieren. Sie wollen bestimmt nicht das unstabilen Erweiterungen Ihr Firefoxprofil zu schädigen und einen Datenverlust zu riskieren. Es ist viel Besser eine weitere Firefox-"Version" für die Tests zu haben. Hierfür gibt es de Firefoxprofile.</p>
+<p>Es ist gute Entwicklungspraxis die Testumgebung von allem anderen zu seperieren. Sie wollen bestimmt nicht das unstabilen Erweiterungen Ihr Firefoxprofil zu schädigen und einen Datenverlust zu riskieren. Es ist viel Besser eine weitere Firefox-&quot;Version&quot; für die Tests zu haben. Hierfür gibt es de Firefoxprofile.</p>
 <p>Sie können in dem Mozillasupport-Artikeln <a class="external" href="http://support.mozilla.com/en-US/kb/Managing+profiles">Managing Profiles</a> lernen wie man mehrere Firefoxprofile aufsetzt. Sie können soviele Profile anlegen wie Sie möchten. Sie können diese auch mit mehreren Firefoxinstallationen mischen. Als Beispiel, Sie möchten möglicherweise Ihre Erweiterungen in Firefox 3.5 und Firefox 3.6 oder in unterschiedlichen regionalen Versionen von Firefox testen. Sie können soviele Firefoxversionen installieren wie Sie möchten und die Profile und Versionen mischen.</p>
 <p>Unter Windows und Linux ist es einfach Verknüpfungen für jedes angeleget Profil zu erstellen, unter der Verwendung der Befehle beschrieben in http://kb.mozillazine.org/Command_line_arguments ..</p>
-<p>Für Mac OS X Entwickler, gibt es auch eine Möglichkeit "Verknüpfungen" zu erstellen. Sie können dies erledigen, indem Sie eine Automator-Anwendung öffnen, indem Sie Run Shell Script auswählen und anschließend das Profillade-Skript in das Textfeld eingeben:</p>
+<p>Für Mac OS X Entwickler, gibt es auch eine Möglichkeit &quot;Verknüpfungen&quot; zu erstellen. Sie können dies erledigen, indem Sie eine Automator-Anwendung öffnen, indem Sie Run Shell Script auswählen und anschließend das Profillade-Skript in das Textfeld eingeben:</p>
 <div class="code panel" style="border-width: 1px;">
  <div class="codeContent panelContent">
   <pre class="code-java">/Applications/Firefox.app/Contents/MacOS/firefox-bin -no-remote -p MyProfile &gt; /dev/<span class="code-keyword">null</span> &amp;</pre>
  </div>
 </div>
-<p>Sie können "/dev/null" auf einen Dateispeicherort ändern, in dem Fall das Sie eine <em>dump</em>-Ausgabe in Firefox sehen möchten oder ander Erweiterungen. last &amp; prevents hindert Automator daran auf das beenden Ihrer Firefoxsitzung zu warten. Speicher Sie das als eine Anwendung nicht als einen Workflow. Un möglicherweise wollen Sie diese auf Ihrem Desktop oder Dock, für einen einfachen Zugriff.</p>
+<p>Sie können &quot;/dev/null&quot; auf einen Dateispeicherort ändern, in dem Fall das Sie eine <em>dump</em>-Ausgabe in Firefox sehen möchten oder ander Erweiterungen. last &amp; prevents hindert Automator daran auf das beenden Ihrer Firefoxsitzung zu warten. Speicher Sie das als eine Anwendung nicht als einen Workflow. Un möglicherweise wollen Sie diese auf Ihrem Desktop oder Dock, für einen einfachen Zugriff.</p>
 <p>Es sollten auch noch Konfigurationsänderungen in Ihrem Testprofil vorgenommen werden, sodass Sie im falls etwas schief geht detailierte Informationen erhalten. Die Firefox <a href="/en/Error_Console" title="en/Error Console">Error Console</a> (Extras &gt; Error Console) zeigt normalerweise JavaScripte Fehler an die auf der Webseite auftretten, aber mit etwas Optimierung können Sie Fehlerinformationen aus Ihrer Erweiterungen erhalten. Lesen hierfür Sie diesen Beitrag über<a href="/en/Setting_up_extension_development_environment#Development_preferences" title="en/Setting up extension development environment#Development preferences"><span class="external"> Development preferences</span></a>.</p>
 <h2 id="Developer_extensions">Developer extensions</h2>
 <p>Es gibt ein große Bandbreite an Firefoxerweiterungen die die Web- und Add-on-Entwicklung untersützen. Ein guter Ort um danach zu suchen ist die <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/browse/type:1/cat:4">Mozilla Add-ons Seite</a> auch gibt es hier ein gute <a href="/en/Setting_up_extension_development_environment#Development_extensions" title="en/Setting up extension development environment#Development extensions"><span class="external">Entwicklungserweiterungsliste</span></a>. Sie sollten sich etwas Zeit nehmen und mit den Webentwicklungstools die in Firefox enthalten sind herumspielen. Einige von diesen können sehr hilfreich für die Add-on-Entwicklung sein und überschneiden sich mit den aufgeführen Add-on`s. in dieser Lektion werden wir ein paar wenige ansprechen die wir als sehr hilfreich empfunden haben.</p>
@@ -160,6 +160,6 @@ $(signature_files): $(build_dir) $(xpi_built)
 </ul>
 <p>Jetzt das Sie wissen wie man schnell Ihr Projekt und Test-Änderungen überprüft, werden wir lernen wie man neue UI-Elemente zu Firefox durch Overlays und neuer Fenster hinzufügt.</p>
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_School/The_Essentials_of_an_Extension" style="float: left;">« zurück</a><a href="/de/docs/XUL_School/Adding_menus_and_submenus">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_School/The_Essentials_of_an_Extension" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_School/Adding_menus_and_submenus" class="button">weiter  »</a></p>
 </div>
 <p><span style="font-size: small;">This tutorial was kindly donated to Mozilla by Appcoast.</span></p>

File diff suppressed because it is too large
+ 1 - 1
files/de/archive/mozilla/xul/school_tutorial/einleitung/index.html


+ 9 - 9
files/de/archive/mozilla/xul/school_tutorial/getting_started_with_firefox_extensions/index.html

@@ -7,7 +7,7 @@ translation_of: >-
   Archive/Add-ons/Overlay_Extensions/XUL_School/Getting_Started_with_Firefox_Extensions
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_School/Introduction" style="float: left;">« zurück</a><a href="/de/docs/XUL_School/The_Essentials_of_an_Extension">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_School/Introduction" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_School/The_Essentials_of_an_Extension" class="button">weiter  »</a></p>
 </div>
 <h2 id="Was_ist_eine_Firefox_Erweiterung">Was ist eine Firefox Erweiterung?</h2>
 <blockquote>
@@ -22,21 +22,21 @@ translation_of: >-
 <p>Wir werden dieses Tutorial mit der Analyse einer sehr einfachen Erweiterung beginnen.</p>
 <h2 id="Die_Hallo_Welt_Erweiterung">Die Hallo Welt Erweiterung</h2>
 <p>Unsere Beispielerweiterung und dieses Tutorial im Allgemeinen sind ausgelegt für moderne Versionen des Firefox, aber die meisten von ihnen funktionieren auch auf älteren Versionen.</p>
-<p>Wir werden nun mit einer einfachen "Hallo Welt"-Erweiterung beginnen. WIr beginnen mit seiner Installation. Dafür klicken Sie auf den folgenden Link.</p>
+<p>Wir werden nun mit einer einfachen &quot;Hallo Welt&quot;-Erweiterung beginnen. WIr beginnen mit seiner Installation. Dafür klicken Sie auf den folgenden Link.</p>
 <p><a href="/@api/deki/files/5139/=xulschoolhello1.xpi" title="https://developer.mozilla.org/@api/deki/files/5139/=xulschoolhello1.xpi">Install Hello World</a></p>
 <p>Hierbei wird entweder eine Installation oder ein Datei-Download angestoßen, abhängig von dem Inhaltstyp, der auf dem Webserver abgelegt ist. Der entsprechende Inhaltstyp, um eine Installation zu veranlassen, ist <strong>application/x-<strong>xpinstall</strong></strong>. Im Fall dieses Wiki`s, ist der Inhaltstyp entsprechend gesetzt und ein Installationsfenster sollte erscheinen.</p>
 <p>Wenn der Inhaltstyp richtig gesetzt ist, werden Sie ordnungsgemäß gewarnt, dass es dieser Seite nicht erlaubt ist Add-ons zu installieren. Hierbei handelt es sich um eine Sicherheitsbarriere, die Seiten daran hindert, Erweiterungen ohne Benutzerzustimmung zu installieren. Dies ist vonnöten, weil bösartige Erweiterungen den gleichen Schaden verursachen können, wie jedes anderes Schadprogramm: Datenklau, das Löschen oder das Austauschen von Daten oder sonstiges unerwünschtes Verhalten. <a class="link-https" href="https://addons.mozilla.org/" title="https://addons.mozilla.org/">AMO</a> ist die einzige Seite mit einer generellen Erlaubnis. Dies liegt daran, dass die auf <a class="link-https" href="https://addons.mozilla.org/" title="https://addons.mozilla.org/">AMO</a> veröffentlichten Add-ons einem Überprüfungsprozess unterzogen werden, der Sicherheitsüberprüfungen beinhaltet.</p>
 <p>Nach dem Herunterladen der Datei, können Sie diese, per Drag and Drop in den Firefox Inhaltsbereich ziehen und die Installation sollte beginnen.</p>
 <p>Sie werden ein Fenster sehen, welches Ihnen mitteilt, dass sie dabei sind eine Erweiterung zu installieren. In diesem sind einige zusätzliche Informationen enthalten, wie unter anderem der Name des Authors. Sie werden benachrichtigt, dass der Author nicht verfiziert werden kann. Nur Erweiterungen, die mit einem digitalen Zertifkat signiert sind, können die Autorschaft verifizieren. Signierte Erweiterungen sind selten, aber wir werden das Signieren von Erweiterungen später behandeln.</p>
-<p>Klicken Sie auf die "Jetzt Installieren"-Schaltfläche. Nach der Installation der Erweiterung, werden Sie gefragt ob Sie Firefox neu starten wollen. Installation, Deinstallation, Aktivierung und Deaktiverung von Add-ons erfordern einen Neustart für die Ausführung (außer von NPAPI-Plug-ins, Add-on SDK Erweiterungen und Bootstrapped Erweiterungen). Dies ist ein wichtiger Punkt, den Sie im Hinterkopf behalten sollten, wenn Sie Erweiterungen entwickeln, die andere Erweiterungen oder Themes manipulieren.</p>
+<p>Klicken Sie auf die &quot;Jetzt Installieren&quot;-Schaltfläche. Nach der Installation der Erweiterung, werden Sie gefragt ob Sie Firefox neu starten wollen. Installation, Deinstallation, Aktivierung und Deaktiverung von Add-ons erfordern einen Neustart für die Ausführung (außer von NPAPI-Plug-ins, Add-on SDK Erweiterungen und Bootstrapped Erweiterungen). Dies ist ein wichtiger Punkt, den Sie im Hinterkopf behalten sollten, wenn Sie Erweiterungen entwickeln, die andere Erweiterungen oder Themes manipulieren.</p>
 <p>Sehen Sie nach der Installation in das Firefox Hauptfenster und schauen Sie, ob Sie eine Veränderung feststellen können.</p>
-<p>Haben Sie es gesehen? Dort ist ein neues Menü im Hauptmenü, bezeichnet "Hello World!".</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/8421/menu_item%20-%20helloworld.png" style="width: 383px; height: 117px;"></p>
-<p>Wenn Sie dieses Menü öffnen und den darunter liegenden Menüpunkt, werden Sie eine nette Mitteilung sehen ("nett" im weitesten Sinne). Klicken Sie auf die OK-Schaltfläche um die Mitteilung zu schließen.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/8419/alert_message%20-%20helloworld.png" style="width: 364px; height: 132px;"></p>
+<p>Haben Sie es gesehen? Dort ist ein neues Menü im Hauptmenü, bezeichnet &quot;Hello World!&quot;.</p>
+<p><img alt src="https://mdn.mozillademos.org/files/8421/menu_item%20-%20helloworld.png" style="width: 383px; height: 117px;"></p>
+<p>Wenn Sie dieses Menü öffnen und den darunter liegenden Menüpunkt, werden Sie eine nette Mitteilung sehen (&quot;nett&quot; im weitesten Sinne). Klicken Sie auf die OK-Schaltfläche um die Mitteilung zu schließen.</p>
+<p><img alt src="https://mdn.mozillademos.org/files/8419/alert_message%20-%20helloworld.png" style="width: 364px; height: 132px;"></p>
 <p>Das ist alles was die Erweiterung macht. Sehen wir uns das jetzt mal genauer an.</p>
 <h2 id="Erweiterungsinhalte">Erweiterungsinhalte</h2>
-<p>Sie werden vielleicht bemerkt haben, dass die von Ihnen installierte Erweiterungsdatei mit <em>xulschoolhello1.xpi</em> benannt ist. <a href="/en/XPI" title="en/XPI">XPI</a> (ausgesprochen "zippy") steht für Cross-Plattform Installer. Diese Installationsdatei funktioniert auf allen Plattformen, die Firefox unterstützen. XPIs sind einfache ZIP-Dateien, aber Firefox erkennt die XPI-Erweiterung und veranlasst den Installationprozess, wenn die XPI-Datei geladen wird<em>.</em></p>
+<p>Sie werden vielleicht bemerkt haben, dass die von Ihnen installierte Erweiterungsdatei mit <em>xulschoolhello1.xpi</em> benannt ist. <a href="/en/XPI" title="en/XPI">XPI</a> (ausgesprochen &quot;zippy&quot;) steht für Cross-Plattform Installer. Diese Installationsdatei funktioniert auf allen Plattformen, die Firefox unterstützen. XPIs sind einfache ZIP-Dateien, aber Firefox erkennt die XPI-Erweiterung und veranlasst den Installationprozess, wenn die XPI-Datei geladen wird<em>.</em></p>
 <p>Um in die XPI-Datei zu sehen, müssen Sie diese zuerst herunterladen, ohne sie zu installieren. Anstatt eine Installation durch einen Klick auf einen Link oder eine Schaltfläche auszulösen, führen sie einen Rechtsklick <a href="https://developer.mozilla.org/@api/deki/files/5139/=xulschoolhello1.xpi">darauf</a> aus und wählen Sie die <em>Ziel speichern unter...</em> Option.</p>
 <p>Entpacken Sie die XPI-Datei an einen gewünschten Ort. Unter Linux oder Mac OS X führen Sie den folgenden Befehl aus, um die Datei  zu entpacken:</p>
 <pre class="syntaxbox">unzip xulschoolhello1.xpi -d xulschoolhello1
@@ -74,6 +74,6 @@ translation_of: >-
 </ul>
 <p>Das ist eine große Anzahl an Dateien, für etwas so einfaches! In der nächsten Lektion werden wir die Dateien und was sie machen genauer analysieren .</p>
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_School/Introduction" style="float: left;">« zurück</a><a href="/de/docs/XUL_School/The_Essentials_of_an_Extension">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_School/Introduction" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_School/The_Essentials_of_an_Extension" class="button">weiter  »</a></p>
 </div>
 <p><span style="font-size: small;">This tutorial was kindly donated to Mozilla by Appcoast.</span></p>

+ 3 - 3
files/de/archive/mozilla/xul/tabs/index.html

@@ -29,11 +29,11 @@ translation_of: Archive/Mozilla/XUL/tabs
 
 <dl>
   <dt>
-    <code id="a-closebutton"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/closebutton">closebutton</a></code> <span class="inlineIndicator obsolete obsoleteInline" title="(Firefox 3.6 / Thunderbird 3.1 / Fennec 1.0)">Obsolete since Gecko 1.9.2</span></dt>
+    <code id="a-closebutton"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/closebutton">closebutton</a></code> <span class="obsolete obsoleteInline notecard inline" title="(Firefox 3.6 / Thunderbird 3.1 / Fennec 1.0)">Obsolete since Gecko 1.9.2</span></dt>
   <dd>
     Type: <em>boolean</em></dd>
   <dd>
-    If this attribute is set to <code>true</code>, the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code> row will have a "new tab" button and "close" button on the ends. This feature is used by the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code> to provide the facilities for adding and closing tabs. You can set an image to the "new tab" and "close" buttons by applying them to the <code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/tabs-newbutton">tabs-newbutton</a></code> and <code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/tabs-closebutton">tabs-closebutton</a></code> classes respectively.</dd>
+    If this attribute is set to <code>true</code>, the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code> row will have a &quot;new tab&quot; button and &quot;close&quot; button on the ends. This feature is used by the <code><a href="/en-US/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code> to provide the facilities for adding and closing tabs. You can set an image to the &quot;new tab&quot; and &quot;close&quot; buttons by applying them to the <code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/tabs-newbutton">tabs-newbutton</a></code> and <code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/tabs-closebutton">tabs-closebutton</a></code> classes respectively.</dd>
 </dl>
 </div> <div id="a-disableclose">
 
@@ -92,7 +92,7 @@ translation_of: Archive/Mozilla/XUL/tabs
 <dl>
  <dt><code id="a-tabindex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tabindex">tabindex</a></code></dt>
  <dd>Type: <em>integer</em></dd>
- <dd>The tab order of the element. The tab order is the order in which the focus is moved when the user presses the "<code>tab</code>" key. Elements with a higher <code>tabindex</code> are later in the tab sequence.</dd>
+ <dd>The tab order of the element. The tab order is the order in which the focus is moved when the user presses the &quot;<code>tab</code>&quot; key. Elements with a higher <code>tabindex</code> are later in the tab sequence.</dd>
 </dl>
 </div> <div id="a-tooltiptextnew">
 

File diff suppressed because it is too large
+ 6 - 7
files/de/archive/mozilla/xul/textbox/index.html


+ 5 - 5
files/de/archive/mozilla/xul/xul_tutorial/die_chrome_url/index.html

@@ -7,7 +7,7 @@ tags:
 translation_of: Archive/Mozilla/XUL/Tutorial/The_Chrome_URL
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/XUL_Struktur" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Manifest_Dateien">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/XUL_Struktur" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Manifest_Dateien" class="button">weiter  »</a></p>
 </div>
 <p>Der folgende Abschnitt beschreibt wie man Bezug zu weiteren XUL-Dokumenten und Chrome-Dateien herstellen kann.</p>
 <h3 id="Die_Chrome-URL">Die Chrome-URL</h3>
@@ -16,10 +16,10 @@ translation_of: Archive/Mozilla/XUL/Tutorial/The_Chrome_URL
 <p>Die grundlegende Schreibweise einer chrome-URL ist die folgende:</p>
 <pre class="eval">chrome://<em>&lt;package name&gt;</em>/<em>&lt;part&gt;</em>/<em>&lt;file.xul&gt;</em>
 </pre>
-<p>Der Platzhalter <em>&lt;package name&gt;</em> ist der Paketname, wie z.B. messenger oder editor. Alle Paketnamen sind case-insensitiv, aber Kleinbuchstaben werden bevorzugt. <em>&lt;part&gt;</em> ist entweder 'content', 'skin' oder 'locale', abhängig davon, welchen Teil sie möchten. <em>&lt;file.xul&gt;</em> ist einfach der Dateiname.</p>
+<p>Der Platzhalter <em>&lt;package name&gt;</em> ist der Paketname, wie z.B. messenger oder editor. Alle Paketnamen sind case-insensitiv, aber Kleinbuchstaben werden bevorzugt. <em>&lt;part&gt;</em> ist entweder &apos;content&apos;, &apos;skin&apos; oder &apos;locale&apos;, abhängig davon, welchen Teil sie möchten. <em>&lt;file.xul&gt;</em> ist einfach der Dateiname.</p>
 <p><strong>Beispiel</strong>: <a class="external" rel="freelink">chrome://messenger/content/messenger.xul</a></p>
-<p>Das Beispiel hier bezieht sich auf das Messenger-Fenster. Sie könnten sich auch auf eine Datei beziehen, die Teil eines Skins ist, indem Sie 'content' durch 'skin' ersetzen und den Dateinamen entsprechend ändern. Genauso könnten Sie 'locale' statt 'content' angeben.</p>
-<p>Wenn Sie eine chrome-URL öffnen, schaut Mozilla durch die Liste der installierten Pakete und versucht eine JAR-Datei oder ein Verzeichnis zu finden, das auf den angeben Paketnamen und &lt;part&gt; zutrifft. Die Zuordnung von chrome-URLs und JAR-Dateien sind in den Manifest-Dateien festgelegt, welche sich im chrome-Verzeichnis befinden. Wenn Sie die messenger.jar-Datei verschieben und die Manifest-Datei entsprechend ändern wird Thunderbird weiterhin funktionieren, denn es ist nicht von einem bestimmten Installationsort abhängig. Indem wir chrome-URLs verwenden lassen wir solche Details Mozilla machen. Auch wenn der Benutzer das verwendete Theme ändert, wird der 'skin'-Teil der chrome-URL in ein anderes Verzeichnis übersetzt und XUL-Dateien und Skripte brauchen nicht geändert zu werden.</p>
+<p>Das Beispiel hier bezieht sich auf das Messenger-Fenster. Sie könnten sich auch auf eine Datei beziehen, die Teil eines Skins ist, indem Sie &apos;content&apos; durch &apos;skin&apos; ersetzen und den Dateinamen entsprechend ändern. Genauso könnten Sie &apos;locale&apos; statt &apos;content&apos; angeben.</p>
+<p>Wenn Sie eine chrome-URL öffnen, schaut Mozilla durch die Liste der installierten Pakete und versucht eine JAR-Datei oder ein Verzeichnis zu finden, das auf den angeben Paketnamen und &lt;part&gt; zutrifft. Die Zuordnung von chrome-URLs und JAR-Dateien sind in den Manifest-Dateien festgelegt, welche sich im chrome-Verzeichnis befinden. Wenn Sie die messenger.jar-Datei verschieben und die Manifest-Datei entsprechend ändern wird Thunderbird weiterhin funktionieren, denn es ist nicht von einem bestimmten Installationsort abhängig. Indem wir chrome-URLs verwenden lassen wir solche Details Mozilla machen. Auch wenn der Benutzer das verwendete Theme ändert, wird der &apos;skin&apos;-Teil der chrome-URL in ein anderes Verzeichnis übersetzt und XUL-Dateien und Skripte brauchen nicht geändert zu werden.</p>
 <p>Hier sind noch ein paar Beispiele. Beachten Sie, dass keine URL ein Theme oder eine Lokalisierung festlegen.</p>
 <pre class="eval"><a class="external" rel="freelink">chrome://messenger/content/messenger.xul</a>
 <a class="external" rel="freelink">chrome://messenger/content/attach.js</a>
@@ -39,5 +39,5 @@ translation_of: Archive/Mozilla/XUL/Tutorial/The_Chrome_URL
 <p>Denken Sie daran, dass die chrome-URL sich nicht auf den physikalischen Pfad auf der Festplatte bezieht. Die ersten beiden Stücke der chrome-URL sind der Paketname und der Teilabschnitt (entweder content, skin oder locale).</p>
 <p>Im nächsten Abschnitt schauen wir uns an, wie wir .manifest-Dateien und Pakete erstellen können.</p>
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/XUL_Struktur" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Manifest_Dateien">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/XUL_Struktur" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Manifest_Dateien" class="button">weiter  »</a></p>
 </div>

+ 23 - 23
files/de/archive/mozilla/xul/xul_tutorial/ein_fenster_erzeugen/index.html

@@ -7,7 +7,7 @@ tags:
 translation_of: Archive/Mozilla/XUL/Tutorial/Creating_a_Window
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/Manifest_Dateien" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Buttons_hinzufügen">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/Manifest_Dateien" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Buttons_hinzufügen" class="button">weiter  »</a></p>
 </div>
 
 <p>Zunächst wollen wir uns mit der Syntax einer XUL-Datei beschäftigen.</p>
@@ -16,14 +16,14 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Creating_a_Window
 
 <p>Der Name einer XUL Datei kann frei gewählt werden, es sollte jedoch darauf geachtet werden, dass die Endung .xul verwendet wird. Die einfachste XUL Datei hat folgende Struktur:</p>
 
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
+<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
+&lt;?xml-stylesheet href=&quot;chrome://global/skin/&quot; type=&quot;text/css&quot;?&gt;
 
 &lt;window
-    id="findfile-window"
-    title="Find Files"
-    orient="horizontal"
-    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
+    id=&quot;findfile-window&quot;
+    title=&quot;Find Files&quot;
+    orient=&quot;horizontal&quot;
+    xmlns=&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;&gt;
 &lt;!-- Other elements go here --&gt;
 &lt;/window&gt;
 </pre>
@@ -31,19 +31,19 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Creating_a_Window
 <p>Dieses Fenster wird keine Funktion haben, da es keine weitere UI-Elemete enthält. Diese werden im nächsten Abschnitt hinzugefügt. Der Code wird im folgenden Zeile für Zeile erklärt:</p>
 
 <ol>
- <li><strong>&lt;?xml version="1.0"?&gt;</strong><br>
+ <li><strong>&lt;?xml version=&quot;1.0&quot;?&gt;</strong><br>
   Diese Zeile zeigt, dass dies eine XML Datei ist. Diese Zeile sollte in jeder XUL Datei als erstes stehen.</li>
- <li><strong>&lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;</strong><br>
+ <li><strong>&lt;?xml-stylesheet href=&quot;<a class="external" rel="freelink">chrome://global/skin/</a>&quot; type=&quot;text/css&quot;?&gt;</strong><br>
   Diese Zeile wird gebraucht um festzulegen, welches Style Sheet für diese Datei verwendet wird. Dies ist die Syntax wie XML Dateien Style Sheets importieren. In diesem Fall importieren wir ein Style Sheet welches sich im globalen Teil eines Skins befindet. Wir legen keine spezifische Datei fest, so dass Mozilla selbst entscheidet, welche Datei verwendet werden soll. In diesem Fall wird die Datei global.css verwendet. Diese Datei enthält alle Standard-Deklarationen für jedes XUL Element. Weil XML selbst nicht weiß wie die Elemente dargestellt werden sollten, brauch es diese Datei, welche dies festlegt. Normalerweise wird diese Zeile ebenfalls an den Anfang einer jeden XUL Datei geschrieben. Es können auch andere Style Sheets mit der selben Syntax importiert werden. Das globale Style Sheet wird normalerweise aus dem eigenen Style Sheet importiert.</li>
  <li><strong>&lt;window</strong><br>
   Diese Zeile gibt an, dass ein <code><a href="/de/docs/Mozilla/Tech/XUL/window">&lt;xul:window&gt;</a></code> beschrieben wird. Jedes User Interface wird in einer eigenen Datei beschrieben. Dieser Tag ist wie ein HTML Tag welcher ein gesamtes HTML Dokument umfasst, mit dem Unterschied dass hier ein User Interface beschrieben wird. <a href="/De/XUL/Window#Attribute" title="de/XUL/window#Attribute">Einige Attribute</a> können im <code><a href="/de/docs/Mozilla/Tech/XUL/window">&lt;xul:window&gt;</a></code> Tag platziert werden, hier sind es vier. In diesem Beispiel wird jedes Attribut in einer eigenen Zeile beschrieben, dies ist jedoch nicht zwingend.</li>
- <li><strong>id="findfile-window"</strong><br>
+ <li><strong>id=&quot;findfile-window&quot;</strong><br>
   Das <code><code id="a-id"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> Attribut wird zur Identifizierung gebraucht, damit später auf das Fenster per Skript zugegriffen werden kann. Im Normalfall sollte ein <code>id</code> Attribut bei allen Elementen vorhanden sein. Der Name kann frei gewählt werden, er sollte jedoch sinnvoll sein.</li>
- <li><strong>title="Find Files"</strong><br>
-  Das <code><code id="a-title"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/title">title</a></code></code> Attribut beschreibt den Text, welcher in der Titelzeile des Fensters erscheinen soll. In unserem Fall wird es 'Find Files' sein.</li>
- <li><strong>orient="horizontal"</strong><br>
+ <li><strong>title=&quot;Find Files&quot;</strong><br>
+  Das <code><code id="a-title"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/title">title</a></code></code> Attribut beschreibt den Text, welcher in der Titelzeile des Fensters erscheinen soll. In unserem Fall wird es &apos;Find Files&apos; sein.</li>
+ <li><strong>orient=&quot;horizontal&quot;</strong><br>
   Das <code><code id="a-orient"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code></code> Attribut beschreibt die Anordnung der Elemente in diesem Fenster. Der Wert <code>horizontal</code> zeigt, dass die Elemente horizontal über dem Fenster verteilt werden. Es kann auch der Wert <code>vertical</code> verwendet werden, welcher meint, dass die Elemente in einer Spalte verteilt werden. Dies ist der Standardwert, das heißt, dass man dieses Attribut weglassen kann, wenn man eine vertikale Ausrichtung möchte.</li>
- <li><strong>xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;</strong> Diese Zeile deklariert den Namensraum für XUL, welcher im Fenster deklariert sein sollte um festzulegen, dass alle Nachfolger XUL sind. Diese URL wird niemals heruntergeladen. Mozilla wird diese URL intern verarbeiten.</li>
+ <li><strong>xmlns=&quot;<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>&quot;&gt;</strong> Diese Zeile deklariert den Namensraum für XUL, welcher im Fenster deklariert sein sollte um festzulegen, dass alle Nachfolger XUL sind. Diese URL wird niemals heruntergeladen. Mozilla wird diese URL intern verarbeiten.</li>
  <li><strong><span class="nowiki">&lt;!-- Other elements go here --&gt;</span></strong><br>
   Ersetze diesen Kommentar Block durch andere Elemente (Buttons, Menüs und andere User Interface Komponenten), welche im Fenster angezeigt werden sollten. Wir werden ein paar von ihnen zu einem späteren Zeitpunkt hinzufügen.</li>
  <li><strong>&lt;/window&gt;</strong><br>
@@ -52,21 +52,21 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Creating_a_Window
 
 <h3 id="Ein_Fenster_öffnen">Ein Fenster öffnen</h3>
 
-<p>Um ein XUL Fenster zu öffnen gibt es verschiedene Methoden. Wenn Sie sich nur in der Entwicklungsphase befinden, können Sie einfach die URL ("chrome:", "file:" oder weitere) in die Adresszeile des Browserfensters eingeben. Sie können auch einfach auf einen Doppelklick auf die Datei ausführen, wenn XUL Dateien mit Mozilla verknüpft sind. Das XUL Fenster erscheint im Browserfenster als neues Fenster, aber das ist meistens ungenügend während der Entwicklung.</p>
+<p>Um ein XUL Fenster zu öffnen gibt es verschiedene Methoden. Wenn Sie sich nur in der Entwicklungsphase befinden, können Sie einfach die URL (&quot;chrome:&quot;, &quot;file:&quot; oder weitere) in die Adresszeile des Browserfensters eingeben. Sie können auch einfach auf einen Doppelklick auf die Datei ausführen, wenn XUL Dateien mit Mozilla verknüpft sind. Das XUL Fenster erscheint im Browserfenster als neues Fenster, aber das ist meistens ungenügend während der Entwicklung.</p>
 
-<p>Der korrekte Weg ist natürlich ein Fenster über JavaScript zu öffnen. Es ist kein neuer Syntax dazu notwendig, denn die <code><a href="/de/DOM/window.open" title="de/DOM/window.open">window.open()</a></code> Funktion kann genau wie für <a href="/de/HTML" title="de/HTML">HTML</a> Dokumente dazu verwendet werden. Es ist jedoch ein zusätzlicher Parameter "flag" nötig. In diesem Fall muss 'chrome' angeben werden, damit klar ist, dass ein <a href="/de/DOM/window.open#Window_functionality_features" title="de/DOM/window.open#Window functionality features">chrome</a> Dokument geöffnet werden soll. Dieses Stück Code wird dafür sorgen, dass ein Fenster ohne Toolbars und Menüs geöffnet wird:</p>
+<p>Der korrekte Weg ist natürlich ein Fenster über JavaScript zu öffnen. Es ist kein neuer Syntax dazu notwendig, denn die <code><a href="/de/DOM/window.open" title="de/DOM/window.open">window.open()</a></code> Funktion kann genau wie für <a href="/de/HTML" title="de/HTML">HTML</a> Dokumente dazu verwendet werden. Es ist jedoch ein zusätzlicher Parameter &quot;flag&quot; nötig. In diesem Fall muss &apos;chrome&apos; angeben werden, damit klar ist, dass ein <a href="/de/DOM/window.open#Window_functionality_features" title="de/DOM/window.open#Window functionality features">chrome</a> Dokument geöffnet werden soll. Dieses Stück Code wird dafür sorgen, dass ein Fenster ohne Toolbars und Menüs geöffnet wird:</p>
 
 <pre>window.open(url,windowname,flags);</pre>
 
-<p>wobei "flags" das Schlüsselwort "chrome" wie in diesem Beispiel enthält:</p>
+<p>wobei &quot;flags&quot; das Schlüsselwort &quot;chrome&quot; wie in diesem Beispiel enthält:</p>
 
-<pre>window.open("chrome://navigator/content/navigator.xul", "bmarks", "chrome,width=600,height=300");
+<pre>window.open(&quot;chrome://navigator/content/navigator.xul&quot;, &quot;bmarks&quot;, &quot;chrome,width=600,height=300&quot;);
 </pre>
 
 <div class="highlight">
 <p><span class="highlightred">Wenn Sie Firefox verwenden:</span></p>
 
-<pre>window.open("chrome://browser/content/places/places.xul", "bmarks", "chrome,width=600,height=300");
+<pre>window.open(&quot;chrome://browser/content/places/places.xul&quot;, &quot;bmarks&quot;, &quot;chrome,width=600,height=300&quot;);
 </pre>
 
 <p>Diese Zeile kann auch in der Fehlerkonsole getestet werden. Wählen Sie Extras -&gt; Fehlerkonsole, tippen Sie die Zeile JavaScript ein und drücken Sie auf Evaluieren oder benutzen Sie die Enter-Taste.</p>
@@ -76,7 +76,7 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Creating_a_Window
 <p>Fangen wir an die Basisdatei für den Dateisuche-Dialog zu schreiben. Erstellen Sie die Datei findfile.xul und packen Sie diese in das content Verzeichnis, welches von der finndfile.manifest Datei festgelegt wurde (haben wir im vorherigen Abschnitt festgelegt). Fügen Sie die XUL Vorlage von oben zu dieser Datei hinzu und speichern Sie diese ab.</p>
 </div>
 
-<p>Sie können den Kommandozeilenparameter '-chrome' verwenden, um die XUL Datei mit Mozilla zu starten. Wird dies nicht festgelegt, wird das Standardfenster geöffnet (normalerweise das Browserfenster). Wir können zum Beispiel den Dateisuche-Dialog mit einem der folgenden Zeilen öffnen:</p>
+<p>Sie können den Kommandozeilenparameter &apos;-chrome&apos; verwenden, um die XUL Datei mit Mozilla zu starten. Wird dies nicht festgelegt, wird das Standardfenster geöffnet (normalerweise das Browserfenster). Wir können zum Beispiel den Dateisuche-Dialog mit einem der folgenden Zeilen öffnen:</p>
 
 <pre>mozilla -chrome chrome://findfile/content/findfile.xul
 
@@ -93,7 +93,7 @@ mozilla -chrome resource:/chrome/findfile/content/findfile.xul
 
 <pre>firefox -chrome <span class="s">chrome://browser/content/places/places.xul</span></pre>
 
-<p>Das '-chrome' Argument gibt der Datei keine gesonderten Rechte. Stattdessen kann es dadurch als Top-level Fenster in jedem Browser angezeigt werden, ohne Adressleiste oder Menüs. Nur chrome: URLs haben diese zusätzlichen Rechte.</p>
+<p>Das &apos;-chrome&apos; Argument gibt der Datei keine gesonderten Rechte. Stattdessen kann es dadurch als Top-level Fenster in jedem Browser angezeigt werden, ohne Adressleiste oder Menüs. Nur chrome: URLs haben diese zusätzlichen Rechte.</p>
 
 <div class="note">Die <a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">Erweiterungsentwickler Erweiterung</a> enthält einen XUL Editor, der den eingegebenen XUL-Code in Echtzeit wiedergibt!</div>
 
@@ -103,11 +103,11 @@ mozilla -chrome resource:/chrome/findfile/content/findfile.xul
  <li>Wenn das XUL Fenster nicht auf dem Desktop angezeigt wird aber ein Icon auf der Desktop-Toolbar zu sehen ist, überprüfen Sie die xml-stylesheet Deklaration. Stellen Sie sicher, dass das Stylesheet korrekt eingebunden wird:</li>
 </ul>
 
-<pre class="eval"> &lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;
+<pre class="eval"> &lt;?xml-stylesheet href=&quot;<a class="external" rel="freelink">chrome://global/skin/</a>&quot; type=&quot;text/css&quot;?&gt;
 </pre>
 
 <p>Im nächsten Abschnitt werden wir <a href="/de/XUL_Tutorial/Buttons_hinzufügen" title="de/XUL Tutorial/Buttons hinzufügen">ein paar Buttons zum Fenster hinzufügen</a>.</p>
 
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/Manifest_Dateien" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Buttons_hinzufügen">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/Manifest_Dateien" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Buttons_hinzufügen" class="button">weiter  »</a></p>
 </div>

+ 5 - 5
files/de/archive/mozilla/xul/xul_tutorial/einfuehrung/index.html

@@ -7,12 +7,12 @@ tags:
 translation_of: Archive/Mozilla/XUL/Tutorial/Introduction
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/XUL_Struktur">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/XUL_Struktur" class="button">weiter  »</a></p>
 </div>
 <p>Dieses Tutorial ist eine Anleitung für das Erlernen von <abbr title="XML User Interface Language">XUL</abbr> (XML User Interface Language). XUL ist eine plattformübergreifende Sprache, um die Benutzer-Schnittstellen (z.B. GUI) einer Anwendung zu beschreiben.</p>
-<p>Dieses Tutorial demonstriert die Erstellung eines einfachen "Datei suchen"-Dialogs, in der Art des "Sherlock" auf dem Macintosh oder des "Suchen"-Dialogs von Windows. Bitte beachten Sie, dass nur das Fenster (GUI) erstellt wird. Dieses beinhaltet sehr eingeschränkte Funktionalität. Das tatsächliche Auffinden von Dateien ist nicht implementiert. An den Stellen, wo der "Datei suchen"-Dialog bearbeitet wird, ist am linken Rand eine blaue Linie gemalt. Sie können der Entwicklung des Dialogs einfach folgen, indem Sie die so markierten Stellen lesen.</p>
+<p>Dieses Tutorial demonstriert die Erstellung eines einfachen &quot;Datei suchen&quot;-Dialogs, in der Art des &quot;Sherlock&quot; auf dem Macintosh oder des &quot;Suchen&quot;-Dialogs von Windows. Bitte beachten Sie, dass nur das Fenster (GUI) erstellt wird. Dieses beinhaltet sehr eingeschränkte Funktionalität. Das tatsächliche Auffinden von Dateien ist nicht implementiert. An den Stellen, wo der &quot;Datei suchen&quot;-Dialog bearbeitet wird, ist am linken Rand eine blaue Linie gemalt. Sie können der Entwicklung des Dialogs einfach folgen, indem Sie die so markierten Stellen lesen.</p>
 <h3 id="Was_ist_XUL_und_warum_wurde_es_entwickelt">Was ist XUL und warum wurde es entwickelt?</h3>
-<p>XUL (ausgesprochen "zuul" und reimt sich auf "cool") wurde entwickelt, um die Entwicklung des Mozilla-Browsers zu vereinfachen und zu beschleunigen. Es ist eine <abbr title="Extensible Markup Language">XML</abbr>-Sprache und somit gelten alle Eigenschaften von XML auch für XUL.</p>
+<p>XUL (ausgesprochen &quot;zuul&quot; und reimt sich auf &quot;cool&quot;) wurde entwickelt, um die Entwicklung des Mozilla-Browsers zu vereinfachen und zu beschleunigen. Es ist eine <abbr title="Extensible Markup Language">XML</abbr>-Sprache und somit gelten alle Eigenschaften von XML auch für XUL.</p>
 <p>Die meisten Anwendungen benötigen bei ihrer Entwicklung plattform-spezifische Abhängigkeiten und Eigenschaften - die Entwicklung von plattform-unabhängiger Software ist zeitraubend und teuer. In den letzten Jahren wurde eine Vielzahl von plattform-übergreifenden Anwendungen entwickelt. Die Programmiersprache Java hat zum Beispiel die Plattformunabhängigkeit als herausragende Eigenschaft. XUL ist eine Sprache, die speziell für plattform-übergreifende Benutzerschnittstellen (GUIs) entwickelt wurde. Es dauert lange, um eine Anwendung zu entwickeln - selbst für eine Plattform. Die Zeit des Kompilierens und Debuggens kann sich sehr strecken. Mit XUL kann die Benutzerschnittstelle schnell und einfach implementiert und geändert werden.</p>
 <p>XUL hat alle Vorteile von anderen XML-Sprachen. Es können zum Beispiel XHTML oder andere XML-Sprachen, wie <abbr title="Math Markup Language">MathML</abbr> oder <abbr title="Scalable Vector Graphics">SVG</abbr> eingebunden werden. Zudem ist angezeigter Text in XUL einfach an den Standort des Anwenders anzupassen. Das heißt er kann mit wenig Aufwand in andere Sprachen übersetzt werden.</p>
 <h3 id="Welche_Art_von_Benutzerschnittstellen_können_mit_XUL_erstellt_werden">Welche Art von Benutzerschnittstellen können mit XUL erstellt werden?</h3>
@@ -24,7 +24,7 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Introduction
 <ul> <li>Firefox-Erweiterung: Eine Erweiterung fügt dem Browser Funktionen hinzu, oft in der Form von zusätzlichen Buttons, Kontext-Menüs oder Anpassungen der Browser-Oberfläche. Dies geschieht durch die Verwendung einer XUL-Eigenschaft namens <strong>overlay</strong> (Überlagerung), die es erlaubt, die Oberfläche einer Quelle (in diesem Fall des Browsers) mit der Oberfläche der Erweiterung zu mischen bzw. zu überlagern. Erweiterungen können auch zu anderen Mozilla-Produkten, wie Thunderbird, Sunbird oder Songbird hinzugefügt werden.</li> <li>Standalone XULRunner Anwendung: XULRunner is eine gepackte Version der Mozilla-Plattform, die es erlaubt, <abbr title="Programme, die auf dem lokalen Rechner ohne Netzwerk-Zugriff ausgeführt werden können">Standalone-Anwendungen</abbr> zu erstellen. Für das Starten einer solchen Standalone-Anwendung wird kein Browser benötigt, da sie eine eigene selbstausführbare Datei darstellen.</li> <li>XUL Paket: Zwischen den beiden oben beschriebenen Anwendungsformen steht das XUL Paket. Es wird auf dieselbe Art und Weise wie eine Erweiterung erstellt, wird aber wie eine unabhängige Anwendung in einem anderen Fenster ausgeführt. Ein XUL Paket wird verwendet, wenn Sie nicht die Größe einer kompletten XULRunner-Anwendung in Kauf nehmen wollen und nichts dagegen haben, dass die Anwendung aus einer Mozilla-Anwendung (Firefox, Thunderbird,...) gestartet wird.</li> <li>Entfernte XUL-Anwendung: Sie können ihren Code auch auf einem Webserver hinterlegen und in einem Browser öffnen - so wie sie jede andere Webseite öffnen. Diese Methode ist jedoch eingeschränkt, da Sicherheitseinschränkungen beachtet werden müssen. Zum Beispiel ist der Zugriff auf andere Fenster nicht möglich.</li>
 </ul>
 <p>Die ersten drei Arten benötigen alle die Ausführung einer Installation auf dem Computer des Anwenders. Diese Arten haben dadurch keine Sicherheitsbeschränkungen, sodass sie, zum Beispiel, das lokale Dateisystem lesen und schreiben können. Für eine Erweiterung werden die XUL-Dateien und zugehörige Skripte und Bilddateien der Anwendung in einer einzigen Datei zusammengepackt, die vom Anwender heruntergeladen und installiert wird. Mozilla-Anwendungen, wie der Firefox, bieten einen Erweiterungsmanager an, der es erlaubt, Installationen zusammenzustellen, ohne viel komplizierten Code schreiben zu müssen.</p>
-<p>Es ist auch möglich XUL-Dateien direkt aus dem Dateisystem oder von einer Webseite zu starten. Diese sind aber in ihren Möglichkeiten eingeschränkt und einige Aspekte von XUL können nicht ausgeführt werden. Wenn Sie XUL-Inhalte von einer entfernten Webseite laden möchten, muss der Webserver so eingestellt sein, dass er XUL-Dateien mit dem Content-Type "application/vnd.mozilla.xul+xml" senden kann. XUL-Code wird normalerweise in Dateien mit der Endung ".xul" gespeichert. Sie können XUL-Dateien in Mozilla wie jede andere Datei (z.B. HTML) öffnen, indem Sie die "Öffnen mit..."-Option im Datei-Explorer für eine solche Datei auswählen oder den Ort der Datei direkt in die Adressleiste des Mozilla Browsers eingegeben.</p>
+<p>Es ist auch möglich XUL-Dateien direkt aus dem Dateisystem oder von einer Webseite zu starten. Diese sind aber in ihren Möglichkeiten eingeschränkt und einige Aspekte von XUL können nicht ausgeführt werden. Wenn Sie XUL-Inhalte von einer entfernten Webseite laden möchten, muss der Webserver so eingestellt sein, dass er XUL-Dateien mit dem Content-Type &quot;application/vnd.mozilla.xul+xml&quot; senden kann. XUL-Code wird normalerweise in Dateien mit der Endung &quot;.xul&quot; gespeichert. Sie können XUL-Dateien in Mozilla wie jede andere Datei (z.B. HTML) öffnen, indem Sie die &quot;Öffnen mit...&quot;-Option im Datei-Explorer für eine solche Datei auswählen oder den Ort der Datei direkt in die Adressleiste des Mozilla Browsers eingegeben.</p>
 <h3 id="Welches_Vorwissen_brauche_ich_f.C3.BCr_dieses_Tutorial.3F" name="Welches_Vorwissen_brauche_ich_f.C3.BCr_dieses_Tutorial.3F">Welches Vorwissen brauche ich für dieses Tutorial?</h3>
 <p>Sie sollten eine Vorstellung von <abbr>HTML</abbr> und zumindest grundsätzliches Verständnis von XML und <abbr title="Cascading Style Sheets">CSS</abbr> haben. Hier sind einige Richtlinien:</p>
 <ul> <li>XUL-Elemente sollten alle in Kleinbuchstaben eingegeben werden, da XML auf Groß-Klein-Schreibung achtet (im Gegensatz zu HTML).</li> <li>Attribut-Werte in XUL müssen immer in Anführungsstrichen geschrieben werden, auch wenn es sich um Zahlen handelt.</li> <li>XUL-Dateien sind normalerweise in 4 Dateien aufgeteilt, eine für das Layout und die platzierten Elemente (*.xul), eine für Stil-Definitionen (*.css), eine für Bezeichnungsdeklarationen (*.ent, um auf den Ort des Anwenders zu reagieren) und eine für Scripte (*.script). Zusätzlich können weitere Dateien für Bilder oder plattform-spezifische Dateien verwendet werden.</li>
@@ -32,5 +32,5 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Introduction
 <p>XUL wird in Mozilla-Browsern unterstützt, die auf der Gecko-Engine basieren, z.B. Netscape 6 oder höher und Mozilla Firefox. Trotz diverser Änderungen in der XUL-Syntax, sollten die aktuellen Versionen der Beispiele korrekt ablaufen. Die meisten Beispiele sollten unter Mozilla 1.0 oder höher laufen. XUL ist ziemlich ähnlich in Firefox und anderen Browsern, obwohl es kleine Unterschiede gibt, wie zum Beispiel die Unterstützung für anpassbare Werkzeugleisten.</p>
 <p>Dieses Tutorial versucht viel von der XUL-Funktionalität abzudecken, aber es können nicht alle Themen behandelt werden. Wenn Sie einmal vertraut mit XUL sind, können Sie die <a href="/de/XUL_Referenz" title="de/XUL Referenz">XUL-Referenz</a> benutzen, um mehr über Eigenschaften von bestimmten Elementen herauszufinden.</p>
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/XUL_Struktur">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/XUL_Struktur" class="button">weiter  »</a></p>
 </div>

+ 22 - 22
files/de/archive/mozilla/xul/xul_tutorial/installations-skripte/index.html

@@ -4,15 +4,15 @@ slug: Archive/Mozilla/XUL/XUL_Tutorial/Installations-Skripte
 translation_of: Archive/Mozilla/XUL/Tutorial/Install_Scripts
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/Erstellen_eines_Installers" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Zusätzliche_Installationseigenschaften">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/Erstellen_eines_Installers" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Zusätzliche_Installationseigenschaften" class="button">weiter  »</a></p>
 </div>
 <p>Dieser Abschnitt beschreibt das Installationsskript.</p>
 <h3 id="Erstellen_eines_Installationsskripts">Erstellen eines Installationsskripts</h3>
 <div class="note">
  <strong>Hinweis</strong>: Für Firefox Erweiterungen, werden <code>install.js</code> Dateien nicht weiter verwendet. Es sollte ein <code><a href="/de/Installationsmanifest" title="de/Installationsmanifest">install.rdf</a></code> stattdessen erstellt werden.</div>
 <p>In der Regel möchten Sie den Installationsprozess steuern können. Zum Beispiel möchten Sie vielleicht Datei-Versionen überprüfen und nur aktualisierte Dateien installieren oder Sie möchten Fehler in existierenden Dateien beheben. Das Installationsskript ist flexibel genug, um sogar Dateien zu deinstallieren. Aus diesen Gründen sollten Installationen ein Installationsskript an Board haben, um den Installationsprozess zu regeln.</p>
-<p>Das Installationsskript muss "install.js" genannt werden und muss im Wurzelverzeichnis des Installationsverzeichnisses platziert werden. Das Skript wird JavaScript Code enthalten, welcher eine Reihe von Installationsfunktionen aufruft.</p>
-<p>In einem HTML Dokument oder einem XUL Dokument ist das "window" Objekt das Wurzelobjekt. Das bedeutet, dass Sie die Methoden des window-Objekts ohne einem Qualifier davor aufrufen können, zum Beipiel kann statt <code>window.open()</code> einfach <code>open()</code> geschrieben werden. In einem Installationsskript gibt es kein Fenster, jedoch ist das globale Objekt das <em>Install</em> Objekt, welches eine Reihe von Funktionen zur Anpassung des Installationsprozess mit sich bringt. Einige der Install-Ojekt Funktionen werden weiter unter beschrieben.</p>
+<p>Das Installationsskript muss &quot;install.js&quot; genannt werden und muss im Wurzelverzeichnis des Installationsverzeichnisses platziert werden. Das Skript wird JavaScript Code enthalten, welcher eine Reihe von Installationsfunktionen aufruft.</p>
+<p>In einem HTML Dokument oder einem XUL Dokument ist das &quot;window&quot; Objekt das Wurzelobjekt. Das bedeutet, dass Sie die Methoden des window-Objekts ohne einem Qualifier davor aufrufen können, zum Beipiel kann statt <code>window.open()</code> einfach <code>open()</code> geschrieben werden. In einem Installationsskript gibt es kein Fenster, jedoch ist das globale Objekt das <em>Install</em> Objekt, welches eine Reihe von Funktionen zur Anpassung des Installationsprozess mit sich bringt. Einige der Install-Ojekt Funktionen werden weiter unter beschrieben.</p>
 <p>Das Installationsskript sollte die folgenden Schritte ausführen:</p>
 <ol>
  <li>Initialisiere die Installation in dem festgelegt wird, welche Version und Paket installiert werden soll.</li>
@@ -27,7 +27,7 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Install_Scripts
 <p>Dieser Schlüssel ist wie in Verzeichnissen in der folgenden Form strukturiert:</p>
 <pre>/Autor/Paketname
 </pre>
-<p>Ersetzen Sie das Wort "Author" mit Ihrem Name und "Paketname" mit dem Namen Ihres Pakets, welches Sie installieren möchten. Zum Beispiel:</p>
+<p>Ersetzen Sie das Wort &quot;Author&quot; mit Ihrem Name und &quot;Paketname&quot; mit dem Namen Ihres Pakets, welches Sie installieren möchten. Zum Beispiel:</p>
 <pre>/Xulplanet/Find Files
 
 /Netscape/Personal Security Manager
@@ -35,9 +35,9 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Install_Scripts
 <p>Das erste Beispiel werden wir für den Dateisuche-Dialog verwenden. Das zweite Beispiel wird vom Personal Security Manager benutzt.</p>
 <h3 id="Initialisierung_der_Installation">Initialisierung der Installation</h3>
 <p>Das Install Objekt hat eine Funktion, <code>initInstall(), welche</code> zur Initialisierung der Installation gebraucht wird. Es sollte am Anfang des Installationsskript aufgerufen werden. Die Syntax dieser Funktion ist die folgende:</p>
-<pre>initInstall( ''packageName'' , ''regPackage'' , ''version'' );</pre>
+<pre>initInstall( &apos;&apos;packageName&apos;&apos; , &apos;&apos;regPackage&apos;&apos; , &apos;&apos;version&apos;&apos; );</pre>
 <p>Ein Beispiel</p>
-<pre>initInstall("Find Files","/Xulplanet/Find Files","0.5.0.0");</pre>
+<pre>initInstall(&quot;Find Files&quot;,&quot;/Xulplanet/Find Files&quot;,&quot;0.5.0.0&quot;);</pre>
 <ul>
  <li>Das erste Argument ist der Name des Paketes in einer lesbaren Form.</li>
  <li>Das zweite Argument ist der Registrierungsschlüssel, welcher die Paketinformationen speichert.</li>
@@ -49,11 +49,11 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Install_Scripts
  <li>Die zweite Methode erlaubt Ihnen ein Zielverzeichnis für einzelne Dateien zu bestimmen. Die erste Methode wird nun beschrieben.</li>
 </ul>
 <p>Die Funktion <code>setPackageFolder()</code> legt ein Installationsverzeichnis fest. Für den Dateisuche-Dialog werden wir die Dateien in das Chrome-Verzeichnis installieren. (Wir könnten sie überall speichern). Die Funktion <code>setPackageFolder()</code> nimmt ein Argument an, das Installationsverzeichnis. Für maximale Portabilität kann kein String-Name für das Verzeichnis festgelegt werden. Stattdessen wird ein Identifier eines bekannten Verzeichnis verwendet und dann werden dort Unterverzeichnisse erstellt. Falls Ihre Anwendung Systembibliotheken installieren muss, brauchen Sie den Pfad dieser Verzeichnisse nicht zu wissen.</p>
-<p>Die Verzeichnis-Identifiers sind in der <a class="external" href="http://www.xulplanet.com/references/elemref/ref_Install.html#prop_getFolder">XULPlanet Referenz</a> aufgelistet. Für das Chrome-Verzeichnis ist der Identifier 'Chrome'. Die <code>getFolder()</code> Funktion kann verwendet werden, um eine der speziellen Verzeichnisse zu bekommen. Diese Funktion nimmt zwei Argumente, das erste ist der Identifier und das zweite ist ein Unterverzeichnis. Zum Beispiel:</p>
-<pre>findDir = getFolder("Chrome","findfile");
+<p>Die Verzeichnis-Identifiers sind in der <a class="external" href="http://www.xulplanet.com/references/elemref/ref_Install.html#prop_getFolder">XULPlanet Referenz</a> aufgelistet. Für das Chrome-Verzeichnis ist der Identifier &apos;Chrome&apos;. Die <code>getFolder()</code> Funktion kann verwendet werden, um eine der speziellen Verzeichnisse zu bekommen. Diese Funktion nimmt zwei Argumente, das erste ist der Identifier und das zweite ist ein Unterverzeichnis. Zum Beispiel:</p>
+<pre>findDir = getFolder(&quot;Chrome&quot;,&quot;findfile&quot;);
 setPackageFolder(findDir);
 </pre>
-<p>Hier bekommen wir das "findfile" Verzeichnis im Chrome-Ordner und reichen dies an die <code>setPackageFolder()</code> Funktion weiter. Das zweite Argument für <code>getFolder()</code> ist das Unterverzeichnis in dem wir installieren werden, was nicht bedeutet, dass es existieren muss. Dieses Argument kann weggelassen werden, wenn Sie kein Unterverzeichnis benötigen.</p>
+<p>Hier bekommen wir das &quot;findfile&quot; Verzeichnis im Chrome-Ordner und reichen dies an die <code>setPackageFolder()</code> Funktion weiter. Das zweite Argument für <code>getFolder()</code> ist das Unterverzeichnis in dem wir installieren werden, was nicht bedeutet, dass es existieren muss. Dieses Argument kann weggelassen werden, wenn Sie kein Unterverzeichnis benötigen.</p>
 <h3 id="Setting_Install_Files" name="Setting_Install_Files">Installationsdateien festlegen</h3>
 <p>Als nächstes müssen die Dateien festgelegt werden, die installiert werden sollen. Das erfordert die Verwendung der Funktionen <code>addDirectory()</code> und <code>addFile()</code>. Die <code>addDirectory()</code> Funktion teilt dem Instller mit, dass ein Verzeichnis aus dem XPI Archiv (und alle Inhalte darin) in ein bestimmtes Verzeichnis installiert werden soll. Die Funktion <code>addFile()</code> ist ähnlich, aber für eine einzelne Datei.</p>
 <p>Beide Funktionen <code>addDirectory()</code> und <code>addFile()</code> haben unterschiedliche Formen. Die einfachste Form nimmt nur ein Argument: Das Verzeichnis, welches von der Installation erstellt werden soll.</p>
@@ -62,35 +62,35 @@ addFile ( <em>dir</em> );
 
 <strong>Beispiel:</strong>
 
-addDirectory("findfile");
+addDirectory(&quot;findfile&quot;);
 </pre>
-<p>Das obige Beispiel legt ein Verzeichnis "findfile" für die Installation fest. Diese Funktionen können mehrmals aufgerufen werden, um mehrere Verzeichnisse und Dateien zu installieren.</p>
+<p>Das obige Beispiel legt ein Verzeichnis &quot;findfile&quot; für die Installation fest. Diese Funktionen können mehrmals aufgerufen werden, um mehrere Verzeichnisse und Dateien zu installieren.</p>
 <p>Als nächstes wollen wir die Dateien im Chrome System registrieren, sodass diese mit einer Chrome-URL verwendet werden können. Das kann mit der <code>registerChrome()</code> Funktion erledigt werden. Die Funktion nimmt zwei Argumente an, als erstes den Chrome-Typ, der registriert werden soll (content, skin oder locale). Ein zweites Argument ist das Verzeichnis, welches die contents.rdf Datei enthält. Weil der Dateisuche-Dialog content, eine Skin-Datei und eine locale-Datei enthält, muss <code>registerChrome()</code> dreimal aufgerufen werden.</p>
-<pre>registerChrome(Install.CONTENT | Install.DELAYED_CHROME, getFolder(findDir, "content"));
-registerChrome(Install.SKIN | Install.DELAYED_CHROME, getFolder(findDir, "skin"));
-registerChrome(Install.LOCALE | Install.DELAYED_CHROME, getFolder(findDir, "locale"));
+<pre>registerChrome(Install.CONTENT | Install.DELAYED_CHROME, getFolder(findDir, &quot;content&quot;));
+registerChrome(Install.SKIN | Install.DELAYED_CHROME, getFolder(findDir, &quot;skin&quot;));
+registerChrome(Install.LOCALE | Install.DELAYED_CHROME, getFolder(findDir, &quot;locale&quot;));
 </pre>
 <p> DELAYED_CHROME wird verwendet, um anzuzeigen, dass es beim nächsten Mozilla-Start installiert werden soll.</p>
 <h3 id="Abschluss_der_Installation">Abschluss der Installation</h3>
 <p>Die <code>addDirectory()</code> und <code>addFile()</code> Funktions kopieren keine Dateien. Sie geben nur an, welche Dateien installiert werden sollen. Ebenfalls gibt <code>registerChrome()</code> nur an, dass diese im chrome-System registriert werden sollen. Um den Prozess zu vervollständigen und Dateien zu kopieren, muss die <code><span style="font-family: Verdana,Tahoma,sans-serif;">p</span>erformInstall()</code> Funktion aufgerufen werden. Diese Funktionen erwartet keine Argumente.</p>
-<p>Das finale Skript zur Installation der "Dateisuche"-Komponente ist unten aufgeführt:</p>
+<p>Das finale Skript zur Installation der &quot;Dateisuche&quot;-Komponente ist unten aufgeführt:</p>
 <div class="highlight">
  <p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_xpiscript_1.js.txt">Datei</a></p>
- <pre>initInstall("Find Files","/Xulplanet/Find Files","0.5.0.0");
+ <pre>initInstall(&quot;Find Files&quot;,&quot;/Xulplanet/Find Files&quot;,&quot;0.5.0.0&quot;);
 
-findDir = getFolder("Chrome","findfile");
+findDir = getFolder(&quot;Chrome&quot;,&quot;findfile&quot;);
 setPackageFolder(findDir);
 
-addDirectory("findfile");
+addDirectory(&quot;findfile&quot;);
 
-registerChrome(Install.CONTENT | Install.DELAYED_CHROME, getFolder(findDir, "content"));
-registerChrome(Install.SKIN | Install.DELAYED_CHROME, getFolder(findDir, "skin"));
-registerChrome(Install.LOCALE | Install.DELAYED_CHROME, getFolder(findDir, "locale"));
+registerChrome(Install.CONTENT | Install.DELAYED_CHROME, getFolder(findDir, &quot;content&quot;));
+registerChrome(Install.SKIN | Install.DELAYED_CHROME, getFolder(findDir, &quot;skin&quot;));
+registerChrome(Install.LOCALE | Install.DELAYED_CHROME, getFolder(findDir, &quot;locale&quot;));
 
 performInstall();
 </pre>
 </div>
 <p>Als nächstes schauen wir uns <a href="/de/XUL_Tutorial/Zusätzliche_Installationseigenschaften" title="de/XUL Tutorial/Zusätzliche Installationseigenschaften">zusätzliche Installationsfunktionen</a> an.</p>
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/Erstellen_eines_Installers" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Zusätzliche_Installationseigenschaften">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/Erstellen_eines_Installers" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Zusätzliche_Installationseigenschaften" class="button">weiter  »</a></p>
 </div>

+ 133 - 133
files/de/archive/mozilla/xul/xul_tutorial/lokalisierung/index.html

@@ -8,13 +8,13 @@ tags:
 translation_of: Archive/Mozilla/XUL/Tutorial/Localization
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/Eine_eigene_Skin_erstellen" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Property-Dateien">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/Eine_eigene_Skin_erstellen" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Property-Dateien" class="button">weiter  »</a></p>
 </div>
 <p>XUL und XML stellen Entities als komfortablen Weg bereit, um Lokalisierungen zu ermöglichen.</p>
 <h3 id="Entities">Entities</h3>
 <p>Viele Anwendungen sind so gebaut, dass das Interface so einfach wie möglich in verschiedene Sprachen zu übersetzten ist. Üblicherweise wird eine Tabelle aus Strings für jede Sprache erstellt. Anstelle von den Text direkt in die Applikation zu programmieren, stellt jede Textstelle nur eine Referenz zur Stringtabelle dar. <a href="/de/XML" title="de/XML">XML</a> stellt Entities zur Verfügung, welche für den gleichen Zweck verwendet werden können.</p>
 <p>Man sollte mit Entities bereits vertraut sein, wenn man schon Erfahrungen mit <a href="/de/HTML" title="de/HTML">HTML</a> sammeln konnte. Der Code <code>&amp;lt;</code> und <code>&amp;gt;</code> sind Beispiele von Entities, welche anstelle von „Größer-als-“ und „Kleiner-als-Zeichen“ im Text verwendet werden können. XML besitzt einen Syntax, welcher dir das deklarieren eigener Entities erlaubt. Du kannst diese so verwenden, dass das Entity durch seinen Wert ersetzt wird, welcher ein Textstring ist. Entities können immer wenn Text auftritt verwendet werden, inklusive den Attributwerten. Das Beispiel unten demonstriert die Verwendung eines Entity in einem Button.</p>
-<pre>&lt;button label="&amp;findLabel;"/&gt;
+<pre>&lt;button label=&quot;&amp;findLabel;&quot;/&gt;
 </pre>
 <p>Der Text der als Label erscheinen wird, wird den Wert des Entity <code>&amp;findLabel;</code> sein. Eine Datei welche die Entity-Deklaration enthält wird für jede unterstützte Sprache erstellt. Für Englisch wird das <code>&amp;findLabel;</code> Entity wahrscheinlich mit dem Text »Find« deklariert sein.</p>
 <h3 id="DTD-Dateien">DTD-Dateien</h3>
@@ -24,150 +24,150 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Localization
 <p>Für nicht installierte chrome Dateien kann einfach die DTD-Datei ins selbe Verzeichnis wie die XUL-Datei ablegt werden.</p>
 <div class="note"><strong>Anmerkung:</strong> Die DTD-Dateien sollten für nicht ASCII Zeichen als UTF-8 kodiert werden. Deswegen sollten die Dateien im UTF-8 Format gespeichert werden. (<a class="external" href="http://www.mozdev.org/notes/l10n/unicode/editors-en.html">ohne BOM</a>). Für mehr Informationen, siehe <a class="external" href="http://www.mozilla.org/projects/l10n/mlp_chrome.html#text">Mozilla Sprachpakete</a>.</div>
 <p>Sobald eine DTD-Datei für das XUL erstellt worden ist, muss eine Zeile in die XUL-Datei einfügt werden, welche angibt, dass die DTD-Datei verwendet werden soll. Andernfalls werden Fehler auftreten, weil die Entities nicht gefunden werden. Um dies zu tun, muss die folgende Zeile irgendwo im oberen Bereich der XUL-Datei eingefügt werden:</p>
-<pre>&lt;!DOCTYPE window SYSTEM "chrome://findfile/locale/findfile.dtd"&gt;
+<pre>&lt;!DOCTYPE window SYSTEM &quot;chrome://findfile/locale/findfile.dtd&quot;&gt;
 </pre>
 <p>Diese Zeile legt fest, dass die URL auf eine DTD-Datei verweist. In diesem Fall wurde deklariert, dass die <code>findfile.dtd</code> DTD-Datei verwendet werden soll. Diese Zeile ist typischerweise gerade vor dem <code>window</code> Element platziert.</p>
 <h3 id="Entities_deklarieren">Entities deklarieren</h3>
 <p>Die Entities werden mit einem einfachen Syntax deklariert:</p>
-<pre>&lt;!ENTITY findLabel "Find"&gt;
+<pre>&lt;!ENTITY findLabel &quot;Find&quot;&gt;
 </pre>
 <p>Dieses Beispiel erstellt ein Entity mit dem Namen <code>findLabel</code> und dem Wert »Find«. Dies bedeutet, dass überall wo der Text „&amp;findLabel;“ in der XUL-Datei auftritt es durch den Text »Find« ersetzt wird. Es sollte beachtet werden, dass die Deklaration kein Slash am Ende besitzt. In der DTD-Datei einer anderen Sprache wird der Text stattdessen in dieser Sprache geschrieben.</p>
 <pre class="eval"><strong>für Japanisch:</strong>
-&lt;!ENTITY findLabel "検索"&gt;
+&lt;!ENTITY findLabel &quot;検索&quot;&gt;
 </pre>
 <p>Zum Beispiel der folgende Text:</p>
-<pre>&lt;description value="&amp;findLabel;"/&gt;
+<pre>&lt;description value=&quot;&amp;findLabel;&quot;/&gt;
 </pre>
 <p>wird übersetzt als:</p>
 <pre class="eval"><strong>Englische Version:</strong>
-&lt;description value="Find"/&gt;
+&lt;description value=&quot;Find&quot;/&gt;
 
 <strong>Japanische Version:</strong>
-&lt;description value="検索"/&gt;
+&lt;description value=&quot;検索&quot;/&gt;
 </pre>
 <p>Es wird ein Entity für jede Beschriftung und Textstelle vorhanden sein, die dem Interface verwendet wird. Es sollte kein direkt angezeigter Text in den XUL-Dateien existieren.</p>
 <p>Zusätzlich zu der Verwendung in Beschriftungen, sollten Entities für jeden Wert verwendet werden, welcher in einer anderen Sprache abweichen könnte. Access-Keys und Tastatur-Shortcuts zum Beispiel.</p>
 <pre class="eval"> <strong>XUL</strong>
- &lt;menuitem label="&amp;undo.label;" accesskey="&amp;undo.key;"/&gt;
+ &lt;menuitem label=&quot;&amp;undo.label;&quot; accesskey=&quot;&amp;undo.key;&quot;/&gt;
  <strong>DTD</strong>
- &lt;!ENTITY undo.label "Undo"&gt;
- &lt;!ENTITY undo.key "u"&gt;
+ &lt;!ENTITY undo.label &quot;Undo&quot;&gt;
+ &lt;!ENTITY undo.key &quot;u&quot;&gt;
 </pre>
 <p>Das Beispiel oben verwendet zwei Entities, eines für die Beschriftung des Menüpunktes und ein zweiter für den Access-Key.</p>
 <p> </p>
 <div class="highlight">
 <h3 id=".C3.84nderung_des_Dateisuche_Beispiels" name=".C3.84nderung_des_Dateisuche_Beispiels">Änderung des Dateisuche Beispiels</h3>
 <p>Werfen wir jetzt einen Blick darauf, wie wir das alles zusammenfügen können, indem wir den Dateisuche-Dialog so modifizieren, so dass eine DTD-Datei für alle seine Textstellen verwendet wird. Die gesamte XUL-Datei mit allen Änderungen in Rot ist unterhalb gezeigt.</p>
-<pre class="eval">&lt;?xml version="1.0"?&gt;
+<pre class="eval">&lt;?xml version=&quot;1.0&quot;?&gt;
 
-&lt;?xml-stylesheet href="<a class=" external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;
-&lt;?xml-stylesheet href="findfile.css" type="text/css"?&gt;
+&lt;?xml-stylesheet href=&quot;<a class=" external" rel="freelink">chrome://global/skin/</a>&quot; type=&quot;text/css&quot;?&gt;
+&lt;?xml-stylesheet href=&quot;findfile.css&quot; type=&quot;text/css&quot;?&gt;
 
-<span class="highlightred">&lt;!DOCTYPE window SYSTEM "<a class=" external" rel="freelink">chrome://findfile/locale/findfile.dtd</a>"&gt;</span>
+<span class="highlightred">&lt;!DOCTYPE window SYSTEM &quot;<a class=" external" rel="freelink">chrome://findfile/locale/findfile.dtd</a>&quot;&gt;</span>
 
 &lt;window
-  id="findfile-window"
-  title="<span class="highlightred">&amp;findWindow.title;</span>"
-  persist="screenX screenY width height"
-  orient="horizontal"
-  onload="initSearchList()"
-  xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;
+  id=&quot;findfile-window&quot;
+  title=&quot;<span class="highlightred">&amp;findWindow.title;</span>&quot;
+  persist=&quot;screenX screenY width height&quot;
+  orient=&quot;horizontal&quot;
+  onload=&quot;initSearchList()&quot;
+  xmlns=&quot;<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>&quot;&gt;
 
-&lt;script src="findfile.js"/&gt;
+&lt;script src=&quot;findfile.js&quot;/&gt;
 
 &lt;popupset&gt;
-   &lt;popup id="editpopup"&gt;
-     &lt;menuitem label="Cut" accesskey="<span class="highlightred">&amp;cutCmd.accesskey;</span>"/&gt;
-     &lt;menuitem label="Copy" accesskey="<span class="highlightred">&amp;copyCmd.accesskey;</span>"/&gt;
-     &lt;menuitem label="Paste" accesskey="<span class="highlightred">&amp;pasteCmd.accesskey;</span>" disabled="true"/&gt;
+   &lt;popup id=&quot;editpopup&quot;&gt;
+     &lt;menuitem label=&quot;Cut&quot; accesskey=&quot;<span class="highlightred">&amp;cutCmd.accesskey;</span>&quot;/&gt;
+     &lt;menuitem label=&quot;Copy&quot; accesskey=&quot;<span class="highlightred">&amp;copyCmd.accesskey;</span>&quot;/&gt;
+     &lt;menuitem label=&quot;Paste&quot; accesskey=&quot;<span class="highlightred">&amp;pasteCmd.accesskey;</span>&quot; disabled=&quot;true&quot;/&gt;
    &lt;/popup&gt;
 &lt;/popupset&gt;
 
 &lt;keyset&gt;
-   &lt;key id="cut_cmd" modifiers="accel" key="<span class="highlightred">&amp;cutCmd.commandkey;</span>"/&gt;
-   &lt;key id="copy_cmd" modifiers="accel" key="<span class="highlightred">&amp;copyCmd.commandkey;</span>"/&gt;
-   &lt;key id="paste_cmd" modifiers="accel" key="<span class="highlightred">&amp;pasteCmd.commandkey;</span>"/&gt;
-   &lt;key id="close_cmd" keycode="VK_ESCAPE" oncommand="window.close();"/&gt;
+   &lt;key id=&quot;cut_cmd&quot; modifiers=&quot;accel&quot; key=&quot;<span class="highlightred">&amp;cutCmd.commandkey;</span>&quot;/&gt;
+   &lt;key id=&quot;copy_cmd&quot; modifiers=&quot;accel&quot; key=&quot;<span class="highlightred">&amp;copyCmd.commandkey;</span>&quot;/&gt;
+   &lt;key id=&quot;paste_cmd&quot; modifiers=&quot;accel&quot; key=&quot;<span class="highlightred">&amp;pasteCmd.commandkey;</span>&quot;/&gt;
+   &lt;key id=&quot;close_cmd&quot; keycode=&quot;VK_ESCAPE&quot; oncommand=&quot;window.close();&quot;/&gt;
 &lt;/keyset&gt;
 
-&lt;vbox flex="1"&gt;
+&lt;vbox flex=&quot;1&quot;&gt;
 
  &lt;toolbox&gt;
 
-  &lt;menubar id="findfiles-menubar"&gt;
-    &lt;menu id="file-menu" label="<span class="highlightred">&amp;fileMenu.label;</span>"
-        accesskey="<span class="highlightred">&amp;fileMenu.accesskey;</span>"&gt;
-      &lt;menupopup id="file-popup"&gt;
-        &lt;menuitem label="<span class="highlightred">&amp;openCmd.label;</span>"
-                  accesskey="<span class="highlightred">&amp;openCmd.accesskey;</span>"/&gt;
-        &lt;menuitem label="<span class="highlightred">&amp;saveCmd.label;</span>"
-                  accesskey="<span class="highlightred">&amp;saveCmd.accesskey;</span>"/&gt;
+  &lt;menubar id=&quot;findfiles-menubar&quot;&gt;
+    &lt;menu id=&quot;file-menu&quot; label=&quot;<span class="highlightred">&amp;fileMenu.label;</span>&quot;
+        accesskey=&quot;<span class="highlightred">&amp;fileMenu.accesskey;</span>&quot;&gt;
+      &lt;menupopup id=&quot;file-popup&quot;&gt;
+        &lt;menuitem label=&quot;<span class="highlightred">&amp;openCmd.label;</span>&quot;
+                  accesskey=&quot;<span class="highlightred">&amp;openCmd.accesskey;</span>&quot;/&gt;
+        &lt;menuitem label=&quot;<span class="highlightred">&amp;saveCmd.label;</span>&quot;
+                  accesskey=&quot;<span class="highlightred">&amp;saveCmd.accesskey;</span>&quot;/&gt;
         &lt;menuseparator/&gt;
-        &lt;menuitem label="<span class="highlightred">&amp;closeCmd.label;</span>"
-                  accesskey="<span class="highlightred">&amp;closeCmd.accesskey;" key="close_cmd" oncommand="window.close();</span>"/&gt;
+        &lt;menuitem label=&quot;<span class="highlightred">&amp;closeCmd.label;</span>&quot;
+                  accesskey=&quot;<span class="highlightred">&amp;closeCmd.accesskey;&quot; key=&quot;close_cmd&quot; oncommand=&quot;window.close();</span>&quot;/&gt;
       &lt;/menupopup&gt;
     &lt;/menu&gt;
-    &lt;menu id="edit-menu" label="<span class="highlightred">&amp;editMenu.label;</span>"
-          accesskey="<span class="highlightred">&amp;editMenu.accesskey;</span>"&gt;
-      &lt;menupopup id="edit-popup"&gt;
-        &lt;menuitem label="<span class="highlightred">&amp;cutCmd.label;</span>"
-                  accesskey="<span class="highlightred">&amp;cutCmd.accesskey;</span>" key="cut_cmd"/&gt;
-        &lt;menuitem label="<span class="highlightred">&amp;copyCmd.label;</span>"
-                  accesskey="<span class="highlightred">&amp;copyCmd.accesskey;</span>" key="copy_cmd"/&gt;
-        &lt;menuitem label="<span class="highlightred">&amp;pasteCmd.label;</span>"
-                  accesskey="<span class="highlightred">&amp;pasteCmd.accesskey;</span>" key="paste_cmd" disabled="true"/&gt;
+    &lt;menu id=&quot;edit-menu&quot; label=&quot;<span class="highlightred">&amp;editMenu.label;</span>&quot;
+          accesskey=&quot;<span class="highlightred">&amp;editMenu.accesskey;</span>&quot;&gt;
+      &lt;menupopup id=&quot;edit-popup&quot;&gt;
+        &lt;menuitem label=&quot;<span class="highlightred">&amp;cutCmd.label;</span>&quot;
+                  accesskey=&quot;<span class="highlightred">&amp;cutCmd.accesskey;</span>&quot; key=&quot;cut_cmd&quot;/&gt;
+        &lt;menuitem label=&quot;<span class="highlightred">&amp;copyCmd.label;</span>&quot;
+                  accesskey=&quot;<span class="highlightred">&amp;copyCmd.accesskey;</span>&quot; key=&quot;copy_cmd&quot;/&gt;
+        &lt;menuitem label=&quot;<span class="highlightred">&amp;pasteCmd.label;</span>&quot;
+                  accesskey=&quot;<span class="highlightred">&amp;pasteCmd.accesskey;</span>&quot; key=&quot;paste_cmd&quot; disabled=&quot;true&quot;/&gt;
       &lt;/menupopup&gt;
     &lt;/menu&gt;
   &lt;/menubar&gt;
 
-  &lt;toolbar id="findfiles-toolbar"&gt;
-    &lt;toolbarbutton id="opensearch" label="<span class="highlightred">&amp;openCmdToolbar.label;</span>"/&gt;
-    &lt;toolbarbutton id="savesearch" label="<span class="highlightred">&amp;saveCmdToolbar.label;</span>"/&gt;
+  &lt;toolbar id=&quot;findfiles-toolbar&quot;&gt;
+    &lt;toolbarbutton id=&quot;opensearch&quot; label=&quot;<span class="highlightred">&amp;openCmdToolbar.label;</span>&quot;/&gt;
+    &lt;toolbarbutton id=&quot;savesearch&quot; label=&quot;<span class="highlightred">&amp;saveCmdToolbar.label;</span>&quot;/&gt;
   &lt;/toolbar&gt;
  &lt;/toolbox&gt;
 
  &lt;tabbox&gt;
   &lt;tabs&gt;
-    &lt;tab label="<span class="highlightred">&amp;searchTab;</span>" selected="true"/&gt;
-    &lt;tab label="<span class="highlightred">&amp;optionsTab;</span>"/&gt;
+    &lt;tab label=&quot;<span class="highlightred">&amp;searchTab;</span>&quot; selected=&quot;true&quot;/&gt;
+    &lt;tab label=&quot;<span class="highlightred">&amp;optionsTab;</span>&quot;/&gt;
   &lt;/tabs&gt;
 
   &lt;tabpanels&gt;
 
-   &lt;tabpanel id="searchpanel" orient="vertical" context="editpopup"&gt;
+   &lt;tabpanel id=&quot;searchpanel&quot; orient=&quot;vertical&quot; context=&quot;editpopup&quot;&gt;
 
    &lt;description&gt;
      <span class="highlightred">&amp;findDescription;</span>
    &lt;/description&gt;
 
-   &lt;spacer class="titlespace"/&gt;
+   &lt;spacer class=&quot;titlespace&quot;/&gt;
 
-   &lt;groupbox orient="horizontal"&gt;
-     &lt;caption label="<span class="highlightred">&amp;findCriteria;</span>"/&gt;
+   &lt;groupbox orient=&quot;horizontal&quot;&gt;
+     &lt;caption label=&quot;<span class="highlightred">&amp;findCriteria;</span>&quot;/&gt;
 
-     &lt;menulist id="searchtype"&gt;
+     &lt;menulist id=&quot;searchtype&quot;&gt;
        &lt;menupopup&gt;
-         &lt;menuitem label="<span class="highlightred">&amp;type.name;</span>"/&gt;
-         &lt;menuitem label="<span class="highlightred">&amp;type.size;</span>"/&gt;
-         &lt;menuitem label="<span class="highlightred">&amp;type.date;</span>"/&gt;
+         &lt;menuitem label=&quot;<span class="highlightred">&amp;type.name;</span>&quot;/&gt;
+         &lt;menuitem label=&quot;<span class="highlightred">&amp;type.size;</span>&quot;/&gt;
+         &lt;menuitem label=&quot;<span class="highlightred">&amp;type.date;</span>&quot;/&gt;
        &lt;/menupopup&gt;
      &lt;/menulist&gt;
-   &lt;spacer class="springspace"/&gt;
-     &lt;menulist id="searchmode"&gt;
+   &lt;spacer class=&quot;springspace&quot;/&gt;
+     &lt;menulist id=&quot;searchmode&quot;&gt;
        &lt;menupopup&gt;
-         &lt;menuitem label="<span class="highlightred">&amp;mode.is;</span>"/&gt;
-         &lt;menuitem label="<span class="highlightred">&amp;mode.isnot;</span>"/&gt;
+         &lt;menuitem label=&quot;<span class="highlightred">&amp;mode.is;</span>&quot;/&gt;
+         &lt;menuitem label=&quot;<span class="highlightred">&amp;mode.isnot;</span>&quot;/&gt;
        &lt;/menupopup&gt;
      &lt;/menulist&gt;
-   &lt;spacer class="springspace"/&gt;
+   &lt;spacer class=&quot;springspace&quot;/&gt;
 
-   &lt;menulist id="find-text" flex="1"
-             editable="true"
-             datasources="<a class=" external" rel="freelink">file:///mozilla/recents.rdf</a>"
-             ref="<span class="nowiki">http://www.xulplanet.com/rdf/recent/all</span>"&gt;
+   &lt;menulist id=&quot;find-text&quot; flex=&quot;1&quot;
+             editable=&quot;true&quot;
+             datasources=&quot;<a class=" external" rel="freelink">file:///mozilla/recents.rdf</a>&quot;
+             ref=&quot;<span class="nowiki">http://www.xulplanet.com/rdf/recent/all</span>&quot;&gt;
      &lt;template&gt;
        &lt;menupopup&gt;
-         &lt;menuitem label="<span class="nowiki">rdf:http://www.xulplanet.com/rdf/recent#Label</span>" uri="rdf:*"/&gt;
+         &lt;menuitem label=&quot;<span class="nowiki">rdf:http://www.xulplanet.com/rdf/recent#Label</span>&quot; uri=&quot;rdf:*&quot;/&gt;
        &lt;/menupopup&gt;
      &lt;/template&gt;
    &lt;/menulist&gt;
@@ -176,43 +176,43 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Localization
 
   &lt;/tabpanel&gt;
 
-  &lt;tabpanel id="optionspanel" orient="vertical"&gt;
-     &lt;checkbox id="casecheck" label="<span class="highlightred">&amp;casesensitive;</span>"/&gt;
-     &lt;checkbox id="wordscheck" label="<span class="highlightred">&amp;matchfilename;</span>"/&gt;
+  &lt;tabpanel id=&quot;optionspanel&quot; orient=&quot;vertical&quot;&gt;
+     &lt;checkbox id=&quot;casecheck&quot; label=&quot;<span class="highlightred">&amp;casesensitive;</span>&quot;/&gt;
+     &lt;checkbox id=&quot;wordscheck&quot; label=&quot;<span class="highlightred">&amp;matchfilename;</span>&quot;/&gt;
     &lt;/tabpanel&gt;
 
   &lt;/tabpanels&gt;
  &lt;/tabbox&gt;
 
- &lt;tree id="results" style="display: none;" flex="1"&gt;
+ &lt;tree id=&quot;results&quot; style=&quot;display: none;&quot; flex=&quot;1&quot;&gt;
    &lt;treecols&gt;
-     &lt;treecol id="name" label="<span class="highlightred">&amp;results.filename;</span>" flex="1"/&gt;
-     &lt;treecol id="location" label="<span class="highlightred">&amp;results.location;</span>" flex="2"/&gt;
-     &lt;treecol id="size" label="<span class="highlightred">&amp;results.size;</span>" flex="1"/&gt;
+     &lt;treecol id=&quot;name&quot; label=&quot;<span class="highlightred">&amp;results.filename;</span>&quot; flex=&quot;1&quot;/&gt;
+     &lt;treecol id=&quot;location&quot; label=&quot;<span class="highlightred">&amp;results.location;</span>&quot; flex=&quot;2&quot;/&gt;
+     &lt;treecol id=&quot;size&quot; label=&quot;<span class="highlightred">&amp;results.size;</span>&quot; flex=&quot;1&quot;/&gt;
    &lt;/treecols&gt;
 
    &lt;treechildren&gt;
      &lt;treeitem&gt;
        &lt;treerow&gt;
-         &lt;treecell label="mozilla"/&gt;
-         &lt;treecell label="/usr/local"/&gt;
-         &lt;treecell label="<span class="highlightred">&amp;bytes.before;</span>2520<span class="highlightred">&amp;bytes.after;</span>"/&gt;
+         &lt;treecell label=&quot;mozilla&quot;/&gt;
+         &lt;treecell label=&quot;/usr/local&quot;/&gt;
+         &lt;treecell label=&quot;<span class="highlightred">&amp;bytes.before;</span>2520<span class="highlightred">&amp;bytes.after;</span>&quot;/&gt;
        &lt;/treerow&gt;
      &lt;/treeitem&gt;
    &lt;/treechildren&gt;
  &lt;/tree&gt;
 
- &lt;splitter id="splitbar" resizeafter="grow" style="display: none;"/&gt;
+ &lt;splitter id=&quot;splitbar&quot; resizeafter=&quot;grow&quot; style=&quot;display: none;&quot;/&gt;
 
- &lt;spacer class="titlespace"/&gt;
+ &lt;spacer class=&quot;titlespace&quot;/&gt;
 
  &lt;hbox&gt;
-   &lt;progressmeter id="progmeter" value="50%" style="display: none;"/&gt;
-   &lt;spacer flex="1"/&gt;
-   &lt;button id="find-button" label="<span class="highlightred">&amp;button.find;</span>"
-           oncommand="doFind()"/&gt;
-   &lt;button id="cancel-button" label="<span class="highlightred">&amp;button.cancel;</span>"
-           oncommand="window.close();"/&gt;
+   &lt;progressmeter id=&quot;progmeter&quot; value=&quot;50%&quot; style=&quot;display: none;&quot;/&gt;
+   &lt;spacer flex=&quot;1&quot;/&gt;
+   &lt;button id=&quot;find-button&quot; label=&quot;<span class="highlightred">&amp;button.find;</span>&quot;
+           oncommand=&quot;doFind()&quot;/&gt;
+   &lt;button id=&quot;cancel-button&quot; label=&quot;<span class="highlightred">&amp;button.cancel;</span>&quot;
+           oncommand=&quot;window.close();&quot;/&gt;
  &lt;/hbox&gt;
 &lt;/vbox&gt;
 
@@ -220,54 +220,54 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Localization
 </pre>
 <p>Jede Textstelle wurde durch eine Entity ersetzt. Eine DTD-Datei wurde nahe am Anfang eingefügt. Jede Entity welche eingefügt wurde, sollte in der DTD-Datei deklariert sein. Das Fenster wird nicht angezeigt, wenn eine Entity in der XUL-Datei gefunden wird, welche nicht deklariert wurde.</p>
 <p>Es sollte beachtet werden, dass der Name der Entity nicht wichtig ist. Im Beispiel oben wurden die Wörter der Entities mit Bindestrichen getrennt. Dies ist keine Vorgabe. Die Entity-Namen folgen den selben Konventionen wie der Rest des Mozilla Codes.</p>
-<p>Es ist vielleicht aufgefallen, dass der Text '2520 bytes' durch zwei Entities ersetzt wurde. Das kommt daher, weil die Struktur in anderen Sprachen variieren kann. Es könnte z.B. nötig sein, dass die Einheit vor der Zahl steht.</p>
+<p>Es ist vielleicht aufgefallen, dass der Text &apos;2520 bytes&apos; durch zwei Entities ersetzt wurde. Das kommt daher, weil die Struktur in anderen Sprachen variieren kann. Es könnte z.B. nötig sein, dass die Einheit vor der Zahl steht.</p>
 <p>Die Access-Keys und Tastatur-Shortcuts wurden auch in Entities übersetzt, weil sie in anderen Sprachen abweichen können.</p>
 <p>Nun die DTD-Datei - findfile.dtd:</p>
-<pre>&lt;!ENTITY findWindow.title "Find Files"&gt;
-&lt;!ENTITY fileMenu.label "File"&gt;
-&lt;!ENTITY editMenu.label "Edit"&gt;
-&lt;!ENTITY fileMenu.accesskey "f"&gt;
-&lt;!ENTITY editMenu.accesskey "e"&gt;
-&lt;!ENTITY openCmd.label "Open Search..."&gt;
-&lt;!ENTITY saveCmd.label "Save Search..."&gt;
-&lt;!ENTITY closeCmd.label "Close"&gt;
-&lt;!ENTITY openCmd.accesskey "o"&gt;
-&lt;!ENTITY saveCmd.accesskey "s"&gt;
-&lt;!ENTITY closeCmd.accesskey "c"&gt;
-&lt;!ENTITY cutCmd.label "Cut"&gt;
-&lt;!ENTITY copyCmd.label "Copy"&gt;
-&lt;!ENTITY pasteCmd.label "Paste"&gt;
-&lt;!ENTITY cutCmd.accesskey "t"&gt;
-&lt;!ENTITY copyCmd.accesskey "c"&gt;
-&lt;!ENTITY pasteCmd.accesskey "p"&gt;
-&lt;!ENTITY cutCmd.commandkey "X"&gt;
-&lt;!ENTITY copyCmd.commandkey "C"&gt;
-&lt;!ENTITY pasteCmd.commandkey "V"&gt;
-&lt;!ENTITY openCmdToolbar.label "Open"&gt;
-&lt;!ENTITY saveCmdToolbar.label "Save"&gt;
-&lt;!ENTITY searchTab "Search"&gt;
-&lt;!ENTITY optionsTab "Options"&gt;
-&lt;!ENTITY findDescription "Enter your search criteria below and select the Find button to begin the search."&gt;
-&lt;!ENTITY findCriteria "Search Criteria"&gt;
-&lt;!ENTITY type.name "Name"&gt;
-&lt;!ENTITY type.size "Size"&gt;
-&lt;!ENTITY type.date "Date Modified"&gt;
-&lt;!ENTITY mode.is "Is"&gt;
-&lt;!ENTITY mode.isnot "Is Not"&gt;
-&lt;!ENTITY casesensitive "Case Sensitive Search"&gt;
-&lt;!ENTITY matchfilename "Match Entire Filename"&gt;
-&lt;!ENTITY results.filename "Filename"&gt;
-&lt;!ENTITY results.location "Location"&gt;
-&lt;!ENTITY results.size "Size"&gt;
-&lt;!ENTITY bytes.before ""&gt;
-&lt;!ENTITY bytes.after "bytes"&gt;
-&lt;!ENTITY button.find "Find"&gt;
-&lt;!ENTITY button.cancel "Cancel"&gt;
+<pre>&lt;!ENTITY findWindow.title &quot;Find Files&quot;&gt;
+&lt;!ENTITY fileMenu.label &quot;File&quot;&gt;
+&lt;!ENTITY editMenu.label &quot;Edit&quot;&gt;
+&lt;!ENTITY fileMenu.accesskey &quot;f&quot;&gt;
+&lt;!ENTITY editMenu.accesskey &quot;e&quot;&gt;
+&lt;!ENTITY openCmd.label &quot;Open Search...&quot;&gt;
+&lt;!ENTITY saveCmd.label &quot;Save Search...&quot;&gt;
+&lt;!ENTITY closeCmd.label &quot;Close&quot;&gt;
+&lt;!ENTITY openCmd.accesskey &quot;o&quot;&gt;
+&lt;!ENTITY saveCmd.accesskey &quot;s&quot;&gt;
+&lt;!ENTITY closeCmd.accesskey &quot;c&quot;&gt;
+&lt;!ENTITY cutCmd.label &quot;Cut&quot;&gt;
+&lt;!ENTITY copyCmd.label &quot;Copy&quot;&gt;
+&lt;!ENTITY pasteCmd.label &quot;Paste&quot;&gt;
+&lt;!ENTITY cutCmd.accesskey &quot;t&quot;&gt;
+&lt;!ENTITY copyCmd.accesskey &quot;c&quot;&gt;
+&lt;!ENTITY pasteCmd.accesskey &quot;p&quot;&gt;
+&lt;!ENTITY cutCmd.commandkey &quot;X&quot;&gt;
+&lt;!ENTITY copyCmd.commandkey &quot;C&quot;&gt;
+&lt;!ENTITY pasteCmd.commandkey &quot;V&quot;&gt;
+&lt;!ENTITY openCmdToolbar.label &quot;Open&quot;&gt;
+&lt;!ENTITY saveCmdToolbar.label &quot;Save&quot;&gt;
+&lt;!ENTITY searchTab &quot;Search&quot;&gt;
+&lt;!ENTITY optionsTab &quot;Options&quot;&gt;
+&lt;!ENTITY findDescription &quot;Enter your search criteria below and select the Find button to begin the search.&quot;&gt;
+&lt;!ENTITY findCriteria &quot;Search Criteria&quot;&gt;
+&lt;!ENTITY type.name &quot;Name&quot;&gt;
+&lt;!ENTITY type.size &quot;Size&quot;&gt;
+&lt;!ENTITY type.date &quot;Date Modified&quot;&gt;
+&lt;!ENTITY mode.is &quot;Is&quot;&gt;
+&lt;!ENTITY mode.isnot &quot;Is Not&quot;&gt;
+&lt;!ENTITY casesensitive &quot;Case Sensitive Search&quot;&gt;
+&lt;!ENTITY matchfilename &quot;Match Entire Filename&quot;&gt;
+&lt;!ENTITY results.filename &quot;Filename&quot;&gt;
+&lt;!ENTITY results.location &quot;Location&quot;&gt;
+&lt;!ENTITY results.size &quot;Size&quot;&gt;
+&lt;!ENTITY bytes.before &quot;&quot;&gt;
+&lt;!ENTITY bytes.after &quot;bytes&quot;&gt;
+&lt;!ENTITY button.find &quot;Find&quot;&gt;
+&lt;!ENTITY button.cancel &quot;Cancel&quot;&gt;
 </pre>
 <p>Um den Text in einer neuen Sprache hinzuzufügen, genügt es eine weitere DTD-Datei zu erstellen. Durch die Verwendung des Chrome Systems, um die DTD-Datei einer anderen Sprache hinzuzufügen, kann die selbe XUL-Datei für jede Sprache verwendet werden.</p>
 <p>Das Dateisuche Beispiel so weit: <a class=" external" href="http://developer.mozilla.org/samples/xultu/examples/findfile/findfile-locale.xul.txt">Quellcode</a></p>
 </div>
 <p>Als nächstes werden wir einen Blick auf <a href="/de/XUL_Tutorial/Property-Dateien">Property Dateien</a> werfen.</p>
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/Eine_eigene_Skin_erstellen" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Property-Dateien">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/Eine_eigene_Skin_erstellen" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Property-Dateien" class="button">weiter  »</a></p>
 </div>

+ 33 - 33
files/de/archive/mozilla/xul/xul_tutorial/positionierung_von_elementen/index.html

@@ -7,7 +7,7 @@ tags:
 translation_of: Archive/Mozilla/XUL/Tutorial/Element_Positioning
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/Das_Box-Modell" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Details_zum_Box-Modell">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/Das_Box-Modell" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Details_zum_Box-Modell" class="button">weiter  »</a></p>
 </div>
 
 <p>Schauen wir uns die Steuerung von Positionen und Größen von XUL Elementen an.</p>
@@ -30,7 +30,7 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Element_Positioning
 
 <p><span id="Beispiel_1"><a id="Beispiel_1"></a><strong>Beispiel 1</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_1.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_1.xul">Ansehen</a></p>
 
-<pre>&lt;button label="OK" width="100" height="40"/&gt;
+<pre>&lt;button label=&quot;OK&quot; width=&quot;100&quot; height=&quot;40&quot;/&gt;
 </pre>
 
 <p>Es ist jedoch nicht empfohlen, das so zu machen. Es ist passt nicht in einige Themes und ist umständlicher anpassbar. Ein besserer Weg ist, CSS Eigenschaften zu verwenden, welche wie in HTML arbeiten. Die folgenden CSS Eigenschaften können dazu verwendet werden:</p>
@@ -52,13 +52,13 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Element_Positioning
 
 <p><span id="Beispiel_2"><a id="Beispiel_2"></a><strong>Beispiel 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_2.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_2.xul">Ansehen</a></p>
 
-<pre>&lt;window orient="horizontal"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
+<pre>&lt;window orient=&quot;horizontal&quot;
+        xmlns=&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;&gt;
 
 &lt;hbox&gt;
-  &lt;button label="Yes" flex="1"/&gt;
-  &lt;button label="No"/&gt;
-  &lt;button label="I really don't know one way or the other"/&gt;
+  &lt;button label=&quot;Yes&quot; flex=&quot;1&quot;/&gt;
+  &lt;button label=&quot;No&quot;/&gt;
+  &lt;button label=&quot;I really don&apos;t know one way or the other&quot;/&gt;
 &lt;/hbox&gt;
 
 &lt;/window&gt;
@@ -95,12 +95,12 @@ translation_of: Archive/Mozilla/XUL/Tutorial/Element_Positioning
 
 <h5 id="Beispiele_zur_Festlegung_von_Breiten_und_Höhen">Beispiele zur Festlegung von Breiten und Höhen</h5>
 
-<pre>&lt;button label="1" style="width: 100px;"/&gt;
-&lt;button label="2" style="width: 100em; height: 10px;"/&gt;
-&lt;button label="3" flex="1" style="min-width: 50px;"/&gt;
-&lt;button label="4" flex="1" style="min-height: 2ex; max-width: 100px"/&gt;
-&lt;textbox flex="1" style="max-width: 10em;"/&gt;
-&lt;description style="max-width: 50px"&gt;This is some boring but simple
+<pre>&lt;button label=&quot;1&quot; style=&quot;width: 100px;&quot;/&gt;
+&lt;button label=&quot;2&quot; style=&quot;width: 100em; height: 10px;&quot;/&gt;
+&lt;button label=&quot;3&quot; flex=&quot;1&quot; style=&quot;min-width: 50px;&quot;/&gt;
+&lt;button label=&quot;4&quot; flex=&quot;1&quot; style=&quot;min-height: 2ex; max-width: 100px&quot;/&gt;
+&lt;textbox flex=&quot;1&quot; style=&quot;max-width: 10em;&quot;/&gt;
+&lt;description style=&quot;max-width: 50px&quot;&gt;This is some boring but simple
 wrapping text.&lt;/description&gt;
 </pre>
 
@@ -124,7 +124,7 @@ wrapping text.&lt;/description&gt;
 
 <p>Fügen wir einige dieser Möglichkeiten zu unserem Dateisuche-Dialog hinzu. Wir werden es so machen, dass die Textbox auf das gesamte Fenster ausgestreckt wird.</p>
 
-<pre>&lt;textbox id="find-text" flex="1" style="min-width: 15em;"/&gt;
+<pre>&lt;textbox id=&quot;find-text&quot; flex=&quot;1&quot; style=&quot;min-width: 15em;&quot;/&gt;
 </pre>
 
 <div class="float-right"><img alt="Image:boxstyle1.png" class="internal" src="/@api/deki/files/570/=Boxstyle1.png"></div>
@@ -138,9 +138,9 @@ wrapping text.&lt;/description&gt;
 
 <p><span id="Beispiel_3"><a id="Beispiel_3"></a><strong>Beispiel 3</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_3.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_3.xul">Ansehen</a></p>
 
-<pre>&lt;box flex="1"&gt;
-  &lt;button label="Happy"/&gt;
-  &lt;button label="Sad"/&gt;
+<pre>&lt;box flex=&quot;1&quot;&gt;
+  &lt;button label=&quot;Happy&quot;/&gt;
+  &lt;button label=&quot;Sad&quot;/&gt;
 &lt;/box&gt;
 </pre>
 
@@ -163,9 +163,9 @@ wrapping text.&lt;/description&gt;
 
 <p><span id="Beispiel_4"><a id="Beispiel_4"></a><strong>Beispiel 4</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_4.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_4.xul">Ansehen</a></p>
 
-<pre>&lt;box flex="1" pack="center"&gt;
-  &lt;button label="Happy"/&gt;
-  &lt;button label="Sad"/&gt;
+<pre>&lt;box flex=&quot;1&quot; pack=&quot;center&quot;&gt;
+  &lt;button label=&quot;Happy&quot;/&gt;
+  &lt;button label=&quot;Sad&quot;/&gt;
 &lt;/box&gt;
 </pre>
 
@@ -175,7 +175,7 @@ wrapping text.&lt;/description&gt;
 
 <p>Wenn das Fenster im Happy-Sad Beispiel oben horizontal verändern, wird die Box in der Breite wachsen. Wenn Sie das Fenster vertikal verändern, werden jedoch die Schaltflächen in ihrer Höhe mitwachsen. Das kommt daher weil, die Flexibilität standardmäßig für die vertikale Richtung aktiviert ist.</p>
 
-<p>Dieses Verhalten kann mit dem <code><code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> Attribut gesteuert werden. Für horizontale Boxen werden die vertikalen Positionen der kindelemente gesteuert. Für vertikale Boxen werden die horizontalen Positionen der Kindelemente gesteuert. Die möglichen Werte sind ähnlich zu denen de<code><span style="font-family: Verdana,Tahoma,sans-serif;">s {</span>{XULAttr("pack")}}</code> Attributs.</p>
+<p>Dieses Verhalten kann mit dem <code><code id="a-align"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> Attribut gesteuert werden. Für horizontale Boxen werden die vertikalen Positionen der kindelemente gesteuert. Für vertikale Boxen werden die horizontalen Positionen der Kindelemente gesteuert. Die möglichen Werte sind ähnlich zu denen de<code><span style="font-family: Verdana,Tahoma,sans-serif;">s {</span>{XULAttr(&quot;pack&quot;)}}</code> Attributs.</p>
 
 <dl>
  <dt>start</dt>
@@ -196,19 +196,19 @@ wrapping text.&lt;/description&gt;
 
 <p><span id="Beispiel_5"><a id="Beispiel_5"></a><strong>Beispiel 5</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_5.xul.txt">Datei</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_5.xul">Ansehen</a></p>
 
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
+<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
+&lt;?xml-stylesheet href=&quot;chrome://global/skin/&quot; type=&quot;text/css&quot;?&gt;
 
-&lt;window id="yesno" title="Question" orient="horizontal"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
+&lt;window id=&quot;yesno&quot; title=&quot;Question&quot; orient=&quot;horizontal&quot;
+        xmlns=&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;&gt;
 
   &lt;hbox&gt;
-    &lt;button label="Yes"/&gt;
-    &lt;button label="No"/&gt;
+    &lt;button label=&quot;Yes&quot;/&gt;
+    &lt;button label=&quot;No&quot;/&gt;
   &lt;/hbox&gt;
-  &lt;hbox align="center"&gt;
-    &lt;button label="Maybe"/&gt;
-    &lt;button label="Perhaps"/&gt;
+  &lt;hbox align=&quot;center&quot;&gt;
+    &lt;button label=&quot;Maybe&quot;/&gt;
+    &lt;button label=&quot;Perhaps&quot;/&gt;
   &lt;/hbox&gt;
 
 &lt;/window&gt;
@@ -222,7 +222,7 @@ wrapping text.&lt;/description&gt;
 
 <h2 id="Text_und_Schaltflächen_abschneiden">Text und Schaltflächen abschneiden</h2>
 
-<p>Sie können eine Schaltfläche erstellen, die eine Beschriftung hat, die länger als die maximale Breite der Schaltfläche ist. Eine Lösung wäre sicher die Breite zu erhöhen, jedoch verfügen Schaltflächen (und andere Elemente mit einer Beschriftung) über ein spezielles Attribut. Das Attribut <code>"crop"</code> erlaubt Ihnen wie ein Text abgeschnitten wird, wenn dieser zu lang ist.</p>
+<p>Sie können eine Schaltfläche erstellen, die eine Beschriftung hat, die länger als die maximale Breite der Schaltfläche ist. Eine Lösung wäre sicher die Breite zu erhöhen, jedoch verfügen Schaltflächen (und andere Elemente mit einer Beschriftung) über ein spezielles Attribut. Das Attribut <code>&quot;crop&quot;</code> erlaubt Ihnen wie ein Text abgeschnitten wird, wenn dieser zu lang ist.</p>
 
 <p>Wenn der Text abgeschnitten wird, wird ein Auslassungszeichen (...) dort eingefügt, wo der Text ausgeschnitten wurde. Vier mögliche Werte sind dazu gültig:</p>
 
@@ -243,7 +243,7 @@ wrapping text.&lt;/description&gt;
 
 <div class="float-right"><img alt="Image:boxstyle2.png" class="internal" src="/@api/deki/files/573/=Boxstyle2.png"></div>
 
-<pre>&lt;button label="Push Me Please!" crop="right" flex="1"/&gt;
+<pre>&lt;button label=&quot;Push Me Please!&quot; crop=&quot;right&quot; flex=&quot;1&quot;/&gt;
 </pre>
 
 <p>Beachten Sie, wie der Text der Schaltfläche auf der rechten Seiten abgeschnitten wird, wenn das Fenster verkleinert wird.</p>
@@ -255,5 +255,5 @@ wrapping text.&lt;/description&gt;
 <p>Als nächstes eine Zusammenfassung und einige <a href="/de/XUL_Tutorial/Details_zum_Box-Modell" title="de/XUL Tutorial/Details zum Box-Modell">zusätzliche Details zum Box-Modell</a>.</p>
 
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/Das_Box-Modell" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Details_zum_Box-Modell">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/Das_Box-Modell" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Details_zum_Box-Modell" class="button">weiter  »</a></p>
 </div>

+ 21 - 21
files/de/archive/mozilla/xul/xul_tutorial/xul_struktur/index.html

@@ -7,7 +7,7 @@ tags:
 translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure
 ---
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/Einfuehrung" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Die_Chrome_URL">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/Einfuehrung" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Die_Chrome_URL" class="button">weiter  »</a></p>
 </div>
 
 <p>Wir werden mit einem Blick auf die Handhabung von XUL in Mozilla starten.</p>
@@ -26,11 +26,11 @@ translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure
 
 <p>Der Mozilla Browser selbst ist ebenfalls nichts weiter als eine Sammlung von Paketen, die XUL-Dateien, JavaScript und Stylesheets enthalten. Diese Dateien können über die chrome URL erreicht werden, haben erweiterte Privilegien und verhalten sich auch sonst wie andere Pakete. Natürlich ist der Browser weitaus größer und komplexer als die meisten Erweiterungen. Firefox und Thunderbird und einige andere Komponenten sind alle in XUL geschrieben und erreichbar über chrome-URLs. Sie können diese Pakete erkunden, indem Sie die Dateien in dem chrome-Verzeichnis ansehen, wo Firefox oder die anderen XUL-Anwendungen installiert sind.</p>
 
-<p>Die chrome-URL beginnt immer mit 'chrome://'. Ähnlich wie eine <span class="nowiki">'http://'-</span>URL immer eine entfernte Website per HTTP adressiert und die 'file://'-URL immer lokale Dateien, referenziert die 'chrome://'-URL immer installierte Pakete und Erweiterungen. Wir werden uns die chrome-Syntax im nächsten Kapitel genauer ansehen. Es ist wichtig zu wissen, dass der Zugriff über eine chrome-URL erweiterte Privilegien gegenüber den anderen Arten von URLs erlangt. Beispielsweise hat eine HTTP-URL keine besonderen Rechte und es wird ein Fehler ausgegeben, wenn eine Website versucht, zum Beispiel lokale Dateien zu lesen. Wird hingegen eine Datei von einer chrome-URL aus geladen, hat sie das Recht, lokale Dateien ohne Einschränkungen zu lesen.</p>
+<p>Die chrome-URL beginnt immer mit &apos;chrome://&apos;. Ähnlich wie eine <span class="nowiki">&apos;http://&apos;-</span>URL immer eine entfernte Website per HTTP adressiert und die &apos;file://&apos;-URL immer lokale Dateien, referenziert die &apos;chrome://&apos;-URL immer installierte Pakete und Erweiterungen. Wir werden uns die chrome-Syntax im nächsten Kapitel genauer ansehen. Es ist wichtig zu wissen, dass der Zugriff über eine chrome-URL erweiterte Privilegien gegenüber den anderen Arten von URLs erlangt. Beispielsweise hat eine HTTP-URL keine besonderen Rechte und es wird ein Fehler ausgegeben, wenn eine Website versucht, zum Beispiel lokale Dateien zu lesen. Wird hingegen eine Datei von einer chrome-URL aus geladen, hat sie das Recht, lokale Dateien ohne Einschränkungen zu lesen.</p>
 
 <p>Diese Unterscheidung ist wichtig. Es bedeutet, dass Websites bestimmte Dinge nicht tun können, wie zum Beispiel die Lesezeichen des Benutzers zu lesen. Diese Unterscheidung basiert nicht auf dem Inhalt, sondern nur auf der URL, die benutzt wird. Sowohl HTML als auch XUL auf einer Website haben keine erweiterten Rechte, wohingegen XUL und HTML, die mit einer chrome-URL geladen wurden, erweiterte Privilegien haben.</p>
 
-<p>Wenn Sie XUL auf einer Website benutzen möchten, müssen Sie nur die XUL-Dateien auf die Website stellen, genau so, wie Sie es auch mit HTML-Dateien tun. Laden Sie dann die URL in den Browser: <small><span class="nowiki">http://localhost/xul.php</span></small>. Vergewissern Sie sich, dass Ihr Webserver so konfiguriert ist, dass er XUL-Dateien mit dem passenden Content-Type <strong><code>application/vnd.mozilla.xul+xml</code></strong> ausliefert. (zum Beispiel mittels PHP: <code>header('content-type: application/vnd.mozilla.xul+xml');</code>). Der Content-Type stellt sicher, dass Mozilla HTML und XUL unterscheiden kann. Mozilla nutzt die Dateierweiterung nur, solange die Datei vom Dateisystem gelesen wird. Sie sollten trotzdem die <code>.xul</code>-Dateiendung für all Ihre XUL-Dateien benutzen. Sie können XUL-Dateien in Ihren Browser laden, indem Sie sie mit dem Browser öffnen oder im Datei-Manager die Datei doppelklicken.</p>
+<p>Wenn Sie XUL auf einer Website benutzen möchten, müssen Sie nur die XUL-Dateien auf die Website stellen, genau so, wie Sie es auch mit HTML-Dateien tun. Laden Sie dann die URL in den Browser: <small><span class="nowiki">http://localhost/xul.php</span></small>. Vergewissern Sie sich, dass Ihr Webserver so konfiguriert ist, dass er XUL-Dateien mit dem passenden Content-Type <strong><code>application/vnd.mozilla.xul+xml</code></strong> ausliefert. (zum Beispiel mittels PHP: <code>header(&apos;content-type: application/vnd.mozilla.xul+xml&apos;);</code>). Der Content-Type stellt sicher, dass Mozilla HTML und XUL unterscheiden kann. Mozilla nutzt die Dateierweiterung nur, solange die Datei vom Dateisystem gelesen wird. Sie sollten trotzdem die <code>.xul</code>-Dateiendung für all Ihre XUL-Dateien benutzen. Sie können XUL-Dateien in Ihren Browser laden, indem Sie sie mit dem Browser öffnen oder im Datei-Manager die Datei doppelklicken.</p>
 
 <div class="note">Denken Sie daran, dass entfernte XUL-Dateien bedeutende Einschränkungen haben.</div>
 
@@ -51,7 +51,7 @@ translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure
  <li>HTML, XML und XUL haben alle einen unterschiedlichen Dokumententyp. Einige Funktionen können in jedem Dokumententyp verwendet werden, während andere einen bestimmten Typ erfordern.</li>
 </ul>
 
-<p>Die nächsten Abschnitte beschreiben die grundlegende Struktur eines Chrome-Pakets, welches in Mozilla installiert werden kann. Wenn Sie jedoch beginnen wollen eine einfache Anwendung zu schreiben, sollten Sie zu "<a href="/de/XUL_Tutorial/Ein_Fenster_erzeugen" title="de/XUL Tutorial/Ein Fenster erzeugen">Ein Fenster erzeugen</a>" springen und zu diesem Abschnitt später zurück kommen.</p>
+<p>Die nächsten Abschnitte beschreiben die grundlegende Struktur eines Chrome-Pakets, welches in Mozilla installiert werden kann. Wenn Sie jedoch beginnen wollen eine einfache Anwendung zu schreiben, sollten Sie zu &quot;<a href="/de/XUL_Tutorial/Ein_Fenster_erzeugen" title="de/XUL Tutorial/Ein Fenster erzeugen">Ein Fenster erzeugen</a>&quot; springen und zu diesem Abschnitt später zurück kommen.</p>
 
 <h3 id="Paketorganisation">Paketorganisation</h3>
 
@@ -59,15 +59,15 @@ translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure
 
 <p>Die Pakete, die mit Mozilla ausgeliefert werden, befinden sich im Chrome-Verzeichnis, welches das Verzeichnis ist, wo Sie Mozilla installiert haben. Das Chrome-Verzeichnis ist das, wo Sie alle Dateien, die die Benutzeroberfläche beschreiben, finden. Normalerweise packen Sie alle XUL-Dateien für eine Anwendung in dieses Verzeichnis, obwohl Erweiterungen in das Erweiterungsverzeichnis für einen bestimmten Benutzer installiert werden. Das einfache Kopieren einer XUL-Datei in das <code>chrome-</code>Verzeichnis gibt der Datei noch keine erweiterten Rechte und außerdem kann sie nicht über eine chrome-URL aufgerufen werden. Um diese zusätzlichen Privilegien zu bekommen, müssen Sie eine Manifestdatei erstellen und diese in das Chrome-Verzeichnis packen. Diese Datei ist sehr einfach zu erstellen und ist normalerweise nur ein paar Zeilen lang. Diese Datei wird verwendet, um chrome-URLs auf eine Datei oder einen Verzeichnispfad zu binden, wo sich die XUL-Dateien befinden. Details zur Erstellung dieser Datei werden in einem <a href="/de/XUL_Tutorial/Manifest_Dateien" title="de/XUL Tutorial/Manifest Dateien">späteren Abschnitt</a> genauer betrachtet.</p>
 
-<p>Der einzige Weg Inhalte zu erstellen, die über eine Chrome-Url erreichbar sind, ist, ein Paket wie in nächsten Abschnitten beschrieben, zu erstellen. Das Verzeichnis wird 'chrome' genannt, weil es ein geeigneter Name zur Aufbewahrung von Chrome-Paketen ist, welche in Mozilla enthalten sind.</p>
+<p>Der einzige Weg Inhalte zu erstellen, die über eine Chrome-Url erreichbar sind, ist, ein Paket wie in nächsten Abschnitten beschrieben, zu erstellen. Das Verzeichnis wird &apos;chrome&apos; genannt, weil es ein geeigneter Name zur Aufbewahrung von Chrome-Paketen ist, welche in Mozilla enthalten sind.</p>
 
-<p>Um die Verwirrung noch weiter zu treiben, gibt es noch zwei weitere Orte, wo das Wort "chrome" auftreten könnte. Das ist einmal das <code>-chrome-</code>Kommandozeilenargument und zum anderen der <code>chrome</code>-Modifier der <code><a href="https://developer.mozilla.org/en/DOM/window.open">window.open()</a>-</code>Funktion. Keine dieser Funktionen verteilen zusätzliche Privilegien, stattdessen werden sie verwendet, um ein neues Top-Level-Fenster ohne das Browser UI (Toolbars, Menü) zu erstellen. Sie werden diese Funktion sicher noch in komplexeren XUL Anwendungen verwenden, wenn Sie nicht das Browser UI um Ihre Dialogboxen herum haben wollen.</p>
+<p>Um die Verwirrung noch weiter zu treiben, gibt es noch zwei weitere Orte, wo das Wort &quot;chrome&quot; auftreten könnte. Das ist einmal das <code>-chrome-</code>Kommandozeilenargument und zum anderen der <code>chrome</code>-Modifier der <code><a href="https://developer.mozilla.org/en/DOM/window.open">window.open()</a>-</code>Funktion. Keine dieser Funktionen verteilen zusätzliche Privilegien, stattdessen werden sie verwendet, um ein neues Top-Level-Fenster ohne das Browser UI (Toolbars, Menü) zu erstellen. Sie werden diese Funktion sicher noch in komplexeren XUL Anwendungen verwenden, wenn Sie nicht das Browser UI um Ihre Dialogboxen herum haben wollen.</p>
 
-<p>Dateien eines Pakets werden normalerweise in einzelne JAR-Dateien zusammengefügt. Eine JAR-Datei kann mit einem ZIP-Tool erstellt werden. Beispielsweise können Sie JAR-Dateien in Mozilla's <code>chrome-</code>Verzeichnis öffnen, um die grundlegende Struktur des Pakets zu sehen. Obwohl es normal so ist, dass die Dateien in einer JAR-Datei gepackt sind, können Pakete genauso von einem normalen Verzeichnis erreicht werden. Obwohl Pakete normalerweise nicht auf diese Art ausgeliefert werden, ist es dennoch während der Entwicklung handlicher, die Dateien vorerst nicht zu packen, da Sie diese dann besser bearbeiten können ohne die Dateien jedes Mal neu zu packen zu müssen.</p>
+<p>Dateien eines Pakets werden normalerweise in einzelne JAR-Dateien zusammengefügt. Eine JAR-Datei kann mit einem ZIP-Tool erstellt werden. Beispielsweise können Sie JAR-Dateien in Mozilla&apos;s <code>chrome-</code>Verzeichnis öffnen, um die grundlegende Struktur des Pakets zu sehen. Obwohl es normal so ist, dass die Dateien in einer JAR-Datei gepackt sind, können Pakete genauso von einem normalen Verzeichnis erreicht werden. Obwohl Pakete normalerweise nicht auf diese Art ausgeliefert werden, ist es dennoch während der Entwicklung handlicher, die Dateien vorerst nicht zu packen, da Sie diese dann besser bearbeiten können ohne die Dateien jedes Mal neu zu packen zu müssen.</p>
 
-<p>Standardmäßig parsen Mozilla-Applikationen XUL-Dateien und Skripte und speichern eine vor-kompilierte Version im Speicher im Laufe der Anwendungssitzung. Das verbessert die Leistung. Dadurch wird XUL allerdings nicht neu geladen, auch nicht, wenn die Quelldateien sich geändert haben. Um diesen Mechanismus zu deaktivieren, ist es notwendig die Einstellung <code>nglayout.debug.disable_xul_cache</code> festzulegen. In Firefox muss diese Einstellung unter Umständen hinzugefügt werden, indem "about:config" in die Adresszeile eingegeben wird und dieser Wert auf "true" gesetzt wird. Oder Sie verändern die <code>user.js</code>-Einstellungsdatei manuell und fügen die folgende Zeile hinzu:</p>
+<p>Standardmäßig parsen Mozilla-Applikationen XUL-Dateien und Skripte und speichern eine vor-kompilierte Version im Speicher im Laufe der Anwendungssitzung. Das verbessert die Leistung. Dadurch wird XUL allerdings nicht neu geladen, auch nicht, wenn die Quelldateien sich geändert haben. Um diesen Mechanismus zu deaktivieren, ist es notwendig die Einstellung <code>nglayout.debug.disable_xul_cache</code> festzulegen. In Firefox muss diese Einstellung unter Umständen hinzugefügt werden, indem &quot;about:config&quot; in die Adresszeile eingegeben wird und dieser Wert auf &quot;true&quot; gesetzt wird. Oder Sie verändern die <code>user.js</code>-Einstellungsdatei manuell und fügen die folgende Zeile hinzu:</p>
 
-<pre class="eval">pref("nglayout.debug.disable_xul_cache", true);
+<pre class="eval">pref(&quot;nglayout.debug.disable_xul_cache&quot;, true);
 </pre>
 
 <p>Es gibt normalerweise drei verschiedene Teile eines chrome-Pakets, auch wenn sie alle optional sind. Jeder Teil wird in einem anderen Verzeichnis gespeichert. Diese drei Sets sind content, skin und locale, welche unten näher beschrieben sind. Ein bestimmtes Paket kann ein oder mehrere Skins und Sprachen bereitstellen und der Benutzer kann diese mit den eigenen ersetzen. Zusätzlich kann das Paket mehrere unterschiedliche Anwendungen enthalten, jedes davon über eine andere chrome-URL erreichbar. Das Paketsystem ist flexibel genug, um separate Downloads von anderen Teilen wie zum Beispiel andere Sprachen, handzuhaben.</p>
@@ -76,7 +76,7 @@ translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure
 
 <ul>
  <li><strong>Content</strong> - Fenster und Skripte<br>
-  Beinhaltet Festlegungen zu Fenstern und der Benutzeroberfläche. Diese sind in XUL-Dateien gespeichert, welche eine <code>.xul</code>-Endung haben. Ein content-Paket kann mehrere XUL-Dateien besitzen, aber das Hauptfenster sollte den gleichen Dateinamen haben, wie die Anwendung selbst. Beispielsweise sollte ein "Editor"-Paket die Datei <code>editor.xul</code> haben. Skripte werden in separaten Dateien neben den XUL-Dateien platziert.</li>
+  Beinhaltet Festlegungen zu Fenstern und der Benutzeroberfläche. Diese sind in XUL-Dateien gespeichert, welche eine <code>.xul</code>-Endung haben. Ein content-Paket kann mehrere XUL-Dateien besitzen, aber das Hauptfenster sollte den gleichen Dateinamen haben, wie die Anwendung selbst. Beispielsweise sollte ein &quot;Editor&quot;-Paket die Datei <code>editor.xul</code> haben. Skripte werden in separaten Dateien neben den XUL-Dateien platziert.</li>
  <li><strong>Skin</strong> - Style Sheets, Bilder und andere Dateien zum Aussehen<br>
   Style Sheets beschreiben Details zum Erscheinungsbild eines Fensters. Sie werden separat von den XUL-Dateien gespeichert, um Änderungen am Aussehen einfacher verwalten zu können. Etwaige Bilder werden hier ebenfalls gespeichert.</li>
  <li><strong>Locale</strong> - Dateien zum Text und zur Sprache<br>
@@ -101,19 +101,19 @@ translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure
 .
 </pre>
 
-<p>Das lässt einfach als ein 'content'-Paket identifizieren, weil das oberste Verzeichnis "content" genannt wurde. Für Skins wird dieses Verzeichnis normalerweise "<code>skin"</code> und für Sprachen wird es normalerweise "<code>locale"</code> genannt. Dieses Benennungsschema ist nicht notwendig, aber es ist eine gute Konvention, um die Teile des Pakets klar trennen zu können. Einige Pakete können unter Umstand ein Abschnitt für content, skin sowie locale besitzen. In diesem Fall werden Sie ein Unterverzeichnis für jeden Typ finden. Chatzilla wird zum Beispiel auf diesem Weg ausgeliefert.</p>
+<p>Das lässt einfach als ein &apos;content&apos;-Paket identifizieren, weil das oberste Verzeichnis &quot;content&quot; genannt wurde. Für Skins wird dieses Verzeichnis normalerweise &quot;<code>skin&quot;</code> und für Sprachen wird es normalerweise &quot;<code>locale&quot;</code> genannt. Dieses Benennungsschema ist nicht notwendig, aber es ist eine gute Konvention, um die Teile des Pakets klar trennen zu können. Einige Pakete können unter Umstand ein Abschnitt für content, skin sowie locale besitzen. In diesem Fall werden Sie ein Unterverzeichnis für jeden Typ finden. Chatzilla wird zum Beispiel auf diesem Weg ausgeliefert.</p>
 
-<p>Das "<code>content/browser</code>"-Verzeichnis enthält eine Vielzahl an Dateien mit der Endung <code>.xul</code> und <code>.js</code>. Die XUL-Dateien sind die mit der<code> .xul</code>-Endung. Die Dateien mit der <code>.js</code>-Endung sind JavaScript-Dateien, welche Skripte enthalten, die die Funktionen eines Fenstern steuern. Viele XUL-Dateien haben eine zugehörige JavaScript-Datei und einige haben sogar mehr als eine.</p>
+<p>Das &quot;<code>content/browser</code>&quot;-Verzeichnis enthält eine Vielzahl an Dateien mit der Endung <code>.xul</code> und <code>.js</code>. Die XUL-Dateien sind die mit der<code> .xul</code>-Endung. Die Dateien mit der <code>.js</code>-Endung sind JavaScript-Dateien, welche Skripte enthalten, die die Funktionen eines Fenstern steuern. Viele XUL-Dateien haben eine zugehörige JavaScript-Datei und einige haben sogar mehr als eine.</p>
 
-<p>In der Verzeichnisauflistung oben werden zwei Dateien genannt. Es gibt natürlich noch weitere, aber zur Einfachheit wurde diese ausgelassen. Die Datei <code>browser.xul</code> ist die XUL-Datei, die das Hauptfenster beschreibt. Das Hauptfenster für ein "content"-Paket sollte den selben Namen wie das Paket haben, mit der Endung <code>.xul</code>. In diesem Fall ist der Paketname "browser" also erwarten wir die Datei <code>browser.xul</code>. Einige der anderen XUL-Dateien beschreiben weitere Fenster. Die Datei <code>pageInfo.xul</code> beschreibt zum Beispiel den Seiteninformationsdialog.</p>
+<p>In der Verzeichnisauflistung oben werden zwei Dateien genannt. Es gibt natürlich noch weitere, aber zur Einfachheit wurde diese ausgelassen. Die Datei <code>browser.xul</code> ist die XUL-Datei, die das Hauptfenster beschreibt. Das Hauptfenster für ein &quot;content&quot;-Paket sollte den selben Namen wie das Paket haben, mit der Endung <code>.xul</code>. In diesem Fall ist der Paketname &quot;browser&quot; also erwarten wir die Datei <code>browser.xul</code>. Einige der anderen XUL-Dateien beschreiben weitere Fenster. Die Datei <code>pageInfo.xul</code> beschreibt zum Beispiel den Seiteninformationsdialog.</p>
 
 <p>Viele Pakete werden eine <code>contents.rdf</code> Datei enthalten, welches das Paket beschreibt, den Autor und die Overlays, die verwendet werden. Diese Datei ist jedoch veraltet und wurde durch ein einfacheres Verfahren ersetzt. Die neue Methode ist die sogenannte Manifestdatei, die bereits erwähnt wurde. Diese Dateien finden Sie mit der Endung <code>.manifest</code> im Chrome-Verzeichnis. Die Datei <code>browser.manifest</code> beschreibt beispielsweise das Browser-Paket.</p>
 
-<p>Mehrere Unterverzeichnisse wie "<code>bookmarks</code>" und "<code>preferences</code>" sind zusätzliche Bereiche der Browser-Komponente. Sie werden nur in unterschiedlichen Ordnern aufbewahrt, um die Dateien besser organisieren zu können.</p>
+<p>Mehrere Unterverzeichnisse wie &quot;<code>bookmarks</code>&quot; und &quot;<code>preferences</code>&quot; sind zusätzliche Bereiche der Browser-Komponente. Sie werden nur in unterschiedlichen Ordnern aufbewahrt, um die Dateien besser organisieren zu können.</p>
 
 <h3 id="Skins_oder_Themes">Skins oder Themes</h3>
 
-<p>Obwohl der zugrunde liegende Code für Mozilla sie Skins nennt und die Benutzeroberfläche den Ausdruck "Themes" gebraucht, meinen beide die gleiche Sache. Die <code>classic.jar</code>-Datei beschreibt das Standard-Theme von Firefox. Die Struktur ist ähnlich zum content-Paket. Zum Beispiel <code>classic.jar</code>:</p>
+<p>Obwohl der zugrunde liegende Code für Mozilla sie Skins nennt und die Benutzeroberfläche den Ausdruck &quot;Themes&quot; gebraucht, meinen beide die gleiche Sache. Die <code>classic.jar</code>-Datei beschreibt das Standard-Theme von Firefox. Die Struktur ist ähnlich zum content-Paket. Zum Beispiel <code>classic.jar</code>:</p>
 
 <pre>skin
    classic
@@ -127,21 +127,21 @@ translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure
 .
 </pre>
 
-<p>Auch hier ist die Verzeichnisstruktur nicht notwendig und wird zur besseren Organisation verwendet. Sie können sogar alle Dateien in ein Verzeichnis packen. Für große Anwendungen werden Unterverzeichnisse verwendet, um verschiedene Komponenten zu trennen. Im obigen Beispiel existiert ein Verzeichnis für Theme-bezogene Dateien des Browsers und ein Ordner für globale Theme-bezogene Dateien. Das "global"-Verzeichnis enthält Skin-Dateien, die allgemein für alle Pakete zu gebrauchen sind. Die Dateien sind für alle Komponenten angelegt und werden mit ihrer eigenständigen Anwendung eingebunden. Der globale Teil definiert den Teil der gemeinsamen XUL-Widgets, wohingegen die anderen Verzeichnisse Dateien enthalten, die speziell für die entsprechenden Anwendungen sind. Firefox bindet beide, die globalen und die Browser Theme-Dateien in einem Archiv ein, aber sie können auch einzeln eingebunden werden.</p>
+<p>Auch hier ist die Verzeichnisstruktur nicht notwendig und wird zur besseren Organisation verwendet. Sie können sogar alle Dateien in ein Verzeichnis packen. Für große Anwendungen werden Unterverzeichnisse verwendet, um verschiedene Komponenten zu trennen. Im obigen Beispiel existiert ein Verzeichnis für Theme-bezogene Dateien des Browsers und ein Ordner für globale Theme-bezogene Dateien. Das &quot;global&quot;-Verzeichnis enthält Skin-Dateien, die allgemein für alle Pakete zu gebrauchen sind. Die Dateien sind für alle Komponenten angelegt und werden mit ihrer eigenständigen Anwendung eingebunden. Der globale Teil definiert den Teil der gemeinsamen XUL-Widgets, wohingegen die anderen Verzeichnisse Dateien enthalten, die speziell für die entsprechenden Anwendungen sind. Firefox bindet beide, die globalen und die Browser Theme-Dateien in einem Archiv ein, aber sie können auch einzeln eingebunden werden.</p>
 
 <p>Ein Skin besteht aus CSS-Dateien und einer Reihe von Bildern, die das Aussehen des Interface definieren. Die Datei <code>browser.css</code> wird von <code>browser.xul</code> verwendet und enthält Styles, welche das Aussehen unterschiedlicher Teile der Anwendung beschreiben. Beachten Sie hier wieder, dass die Datei <code>browser.css</code> den gleichen Dateinamen wie das Paket besitzt. Beim Verändern von CSS-Dateien, stellen Sie das Aussehen eines Fensters ein, ohne dabei die Funktionen zu beeinflussen. Auf diese Weise können Sie ein neues Theme erstellen. Der XUL-Teil bleibt der Gleiche, aber der Skin-Teil wird unabhängig verändert.</p>
 
 <h3 id="Lokalisierung">Lokalisierung</h3>
 
-<p>Die Datei "<code>en-US.jar</code>" beschreibt die Sprachinformationen für jede Komponente, in diesem Fall für US-Englisch. Wie bei den Skins, enthält jede Sprachdatei Dateien, welche den Text für das Paket in der jeweiligen Sprache festlegen. Die Struktur von "locale" ist ähnlich zu den anderen, wir werden das hier nicht noch einmal auflisten.</p>
+<p>Die Datei &quot;<code>en-US.jar</code>&quot; beschreibt die Sprachinformationen für jede Komponente, in diesem Fall für US-Englisch. Wie bei den Skins, enthält jede Sprachdatei Dateien, welche den Text für das Paket in der jeweiligen Sprache festlegen. Die Struktur von &quot;locale&quot; ist ähnlich zu den anderen, wir werden das hier nicht noch einmal auflisten.</p>
 
-<p>Der lokalisierte Text wird in zwei verschiedenen Dateitypen gespeichert: DTD-Dateien und properties-Dateien. Die DTD Dateien haben die Endung <code>.dtd</code> und enthalten Entity-Deklarationen, eine für jeden Textstring, welcher in einem Fenster verwendet wird. Die Datei <code>browser.dtd</code> enthält zum Beispiel Entity-Deklarationen für jedes Menü-Kommando. Zusätzlich werden Tastaturkürzel für jedes Kommando definiert, weil Sie eventuell unterschiedlich in verschiedenen Sprachen sein können. DTD-Dateien werden von XUL Dateien benutzt, meist werden Sie eine Datei pro XUL Datei finden. Der "locale" Teil beinhaltet auch "properties" Dateien, welche ähnlich sind, aber von Skriptdateien verwendet werden. Die Datei <code>browser.properties</code> enthält einige solcher lokalisierter Strings.</p>
+<p>Der lokalisierte Text wird in zwei verschiedenen Dateitypen gespeichert: DTD-Dateien und properties-Dateien. Die DTD Dateien haben die Endung <code>.dtd</code> und enthalten Entity-Deklarationen, eine für jeden Textstring, welcher in einem Fenster verwendet wird. Die Datei <code>browser.dtd</code> enthält zum Beispiel Entity-Deklarationen für jedes Menü-Kommando. Zusätzlich werden Tastaturkürzel für jedes Kommando definiert, weil Sie eventuell unterschiedlich in verschiedenen Sprachen sein können. DTD-Dateien werden von XUL Dateien benutzt, meist werden Sie eine Datei pro XUL Datei finden. Der &quot;locale&quot; Teil beinhaltet auch &quot;properties&quot; Dateien, welche ähnlich sind, aber von Skriptdateien verwendet werden. Die Datei <code>browser.properties</code> enthält einige solcher lokalisierter Strings.</p>
 
-<p>Diese Struktur erlaubt Ihnen Mozilla oder eine Komponente in verschiedene Sprachen zu übersetzen, in dem einfach ein neues "locale"-Verzeichnis hinzugefügt wird. Sie müssen den XUL-Code gar nicht verändern. Weiter kann eine andere Person ein anderes Paket hinzufügen, welches Unterstützung für eine neue Sprache bietet, ohne dass Ihr Originalpaket verändert wird.</p>
+<p>Diese Struktur erlaubt Ihnen Mozilla oder eine Komponente in verschiedene Sprachen zu übersetzen, in dem einfach ein neues &quot;locale&quot;-Verzeichnis hinzugefügt wird. Sie müssen den XUL-Code gar nicht verändern. Weiter kann eine andere Person ein anderes Paket hinzufügen, welches Unterstützung für eine neue Sprache bietet, ohne dass Ihr Originalpaket verändert wird.</p>
 
 <h3 id="Weitere_Pakete">Weitere Pakete</h3>
 
-<p>Es gibt ein spezielles Paket, welches "Toolkit" (oder "global") genannt wird. Wir haben uns das "global"-Verzeichnis für Skins angeschaut. Die Datei <code>toolkit.jar</code> enthält den zugehörigen "content"-Teil dazu. Es sind einige globale Dialoge und Definitionen darunter. Es wird auch das Standardaussehen und die Standardfunktionen der XUL-Widgets, wie Textboxen und Schaltflächen festgelegt. Diese Datei im globalen Teil eines Skin-Verzeichnisses enthalten das Standardaussehen für alle XUL Interface-Elemente. Das Toolkit-Paket wird von allen XUL-Applikationen verwendet.</p>
+<p>Es gibt ein spezielles Paket, welches &quot;Toolkit&quot; (oder &quot;global&quot;) genannt wird. Wir haben uns das &quot;global&quot;-Verzeichnis für Skins angeschaut. Die Datei <code>toolkit.jar</code> enthält den zugehörigen &quot;content&quot;-Teil dazu. Es sind einige globale Dialoge und Definitionen darunter. Es wird auch das Standardaussehen und die Standardfunktionen der XUL-Widgets, wie Textboxen und Schaltflächen festgelegt. Diese Datei im globalen Teil eines Skin-Verzeichnisses enthalten das Standardaussehen für alle XUL Interface-Elemente. Das Toolkit-Paket wird von allen XUL-Applikationen verwendet.</p>
 
 <h3 id="Ein_Paket_hinzufügen">Ein Paket hinzufügen</h3>
 
@@ -152,5 +152,5 @@ translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure
 <p>Im nächsten Abschnitt werden wir einen Blick darauf werfen, wie man die Chrome-URL verwendet, um sich auf Chrome-Pakete zu beziehen.</p>
 
 <div class="prevnext" style="text-align: right;">
-    <p><a href="/de/docs/XUL_Tutorial/Einfuehrung" style="float: left;">« zurück</a><a href="/de/docs/XUL_Tutorial/Die_Chrome_URL">weiter  »</a></p>
+    <p><a href="/de/docs/XUL_Tutorial/Einfuehrung" style="float: left;" class="button">« zurück</a><a href="/de/docs/XUL_Tutorial/Die_Chrome_URL" class="button">weiter  »</a></p>
 </div>

+ 1 - 1
files/de/archive/web/javascript/arguments.caller/index.html

@@ -129,7 +129,7 @@ translation_of: Archive/Web/JavaScript/arguments.caller
  </ol>
 </section></div>
 
-<div class="blockIndicator obsolete obsoleteHeader"><p><strong>Veraltet</strong><br>Dieses Feature ist veraltet. Obwohl es in manchen Browsern immer noch funktioniert, wird von seiner Benutzung abgeraten, da es jederzeit entfernt werden kann. Es sollte daher nicht mehr verwendet werden.</p></div>
+<div class="obsolete obsoleteHeader notecard"><p><strong>Veraltet</strong><br>Dieses Feature ist veraltet. Obwohl es in manchen Browsern immer noch funktioniert, wird von seiner Benutzung abgeraten, da es jederzeit entfernt werden kann. Es sollte daher nicht mehr verwendet werden.</p></div>
 
 <p>Die veraltete Eigenschaft<strong><code> arguments.caller</code></strong> wird genutzt, um die Funktion, die die aktuelle Funktion ausführt, zu ermittelt. Die Eigenschaft wurde entfernt und kann nicht mehr genutzt werden.</p>
 

File diff suppressed because it is too large
+ 0 - 0
files/de/archive/web/javascript/index.html


+ 1 - 1
files/de/archive/web/javascript/legacy_generator_function/index.html

@@ -7,7 +7,7 @@ tags:
   - Reference
 translation_of: Archive/Web/JavaScript/Legacy_generator_function
 ---
-<div class="warning">Der alte Generatorfunktionsausdruck war eine SpiderMonkey spezifische Funktion, welche in Firefox 58+ entfernt wurde. Für zukünftige Verwendung sollte der <a href="/de/docs/Web/JavaScript/Reference/Operators/function*"><code>function* Ausdruck</code></a> genutzt werden.</div>
+<div class="warning notecard">Der alte Generatorfunktionsausdruck war eine SpiderMonkey spezifische Funktion, welche in Firefox 58+ entfernt wurde. Für zukünftige Verwendung sollte der <a href="/de/docs/Web/JavaScript/Reference/Operators/function*"><code>function* Ausdruck</code></a> genutzt werden.</div>
 
 <div><section class="Quick_links" id="Quick_Links">
  <ol>

+ 96 - 96
files/de/codeschnipsel/tabbed_browser/index.html

@@ -3,18 +3,18 @@ title: Tabbed browser
 slug: Codeschnipsel/Tabbed_browser
 translation_of: Archive/Add-ons/Tabbed_browser
 ---
-<p>Here you should find a set of useful code snippets to help you work with Firefox's tabbed browser. The comments normally mark where you should be inserting your own code.</p>
+<p>Here you should find a set of useful code snippets to help you work with Firefox&apos;s tabbed browser. The comments normally mark where you should be inserting your own code.</p>
 <p>Each snippet normally includes some code to run at initialization, these are best run using a <a href="/en/Extension_Frequently_Asked_Questions#Why_doesn.27t_my_script_run_properly.3F" title="en/Extension_Frequently_Asked_Questions#Why_doesn.27t_my_script_run_properly.3F">load listener</a>. These snippets assume they are run in the context of a browser window. If you need to work with tabs from a non-browser window, you need to obtain a reference to one first, see <a href="/en/Working_with_windows_in_chrome_code" title="en/Working_with_windows_in_chrome_code">Working with windows in chrome code</a> for details.</p>
-<h3 id="Getting_access_to_the_browser" name="Getting_access_to_the_browser">Multiple meanings for the word 'browser'</h3>
-<p>The word 'browser' is used several ways. Of course the entire application Firefox is called "a browser". Within the Firefox browser are tabs and inside each tab is a browser, both in the common sense of a web page browser and the XUL sense of a <code><a href="/de/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code> element. Furthermore another meaning of 'browser' in this document and in some Firefox source is "the <a href="/en-US/docs/XUL/tabbrowser" title="/en-US/docs/XUL/tabbrowser">tabbrowser</a> element" in a Firefox XUL window.</p>
+<h3 id="Getting_access_to_the_browser" name="Getting_access_to_the_browser">Multiple meanings for the word &apos;browser&apos;</h3>
+<p>The word &apos;browser&apos; is used several ways. Of course the entire application Firefox is called &quot;a browser&quot;. Within the Firefox browser are tabs and inside each tab is a browser, both in the common sense of a web page browser and the XUL sense of a <code><a href="/de/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code> element. Furthermore another meaning of &apos;browser&apos; in this document and in some Firefox source is &quot;the <a href="/en-US/docs/XUL/tabbrowser" title="/en-US/docs/XUL/tabbrowser">tabbrowser</a> element&quot; in a Firefox XUL window.</p>
 <h3 id="Getting_access_to_the_browser" name="Getting_access_to_the_browser">Getting access to the browser</h3>
 <h4 id="From_main_window">From main window</h4>
-<p>Code running in Firefox's global ChromeWindow, common for extensions that overlay into <code>browser.xul</code>, can access the <code><a href="/de/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code> element using the global variable <code>gBrowser.</code></p>
+<p>Code running in Firefox&apos;s global ChromeWindow, common for extensions that overlay into <code>browser.xul</code>, can access the <code><a href="/de/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code> element using the global variable <code>gBrowser.</code></p>
 <pre class="eval">// gBrowser is only accessible from the scope of
 // the browser window (browser.xul)
 gBrowser.addTab(...);
 </pre>
-<p>If <code>gBrowser</code> isn't defined your code is either not running in the scope of the browser window or running too early. You can access <code>gBrowser</code> only after the browser window is fully loaded. If you need to do something with <code>gBrowser</code> right after the window is opened, <a href="/en/DOM/element.addEventListener" title="en/DOM/element.addEventListener">listen</a> for the <code>load</code> event and use <code>gBrowser</code> in the event listener.</p>
+<p>If <code>gBrowser</code> isn&apos;t defined your code is either not running in the scope of the browser window or running too early. You can access <code>gBrowser</code> only after the browser window is fully loaded. If you need to do something with <code>gBrowser</code> right after the window is opened, <a href="/en/DOM/element.addEventListener" title="en/DOM/element.addEventListener">listen</a> for the <code>load</code> event and use <code>gBrowser</code> in the event listener.</p>
 <p>If your code does not have access to the main window because it is run in a sidebar or dialog, you first need to get access to the browser window you need before you can use <code>gBrowser</code>. You can find more information on getting access to the browser window in <a href="/en/Working_with_windows_in_chrome_code" title="en/Working_with_windows_in_chrome_code">Working with windows in chrome code</a>.</p>
 <h4 id="From_a_sidebar">From a sidebar</h4>
 <p>Basically, if your extension code is a sidebar you can use:</p>
@@ -31,32 +31,32 @@ mainWindow.gBrowser.addTab(...);
 <p>If your code is running in a dialog opened directly by a browser window, you can use:</p>
 <pre class="eval">window.opener.gBrowser.addTab(...);
 </pre>
-<p>If <code>window.opener</code> doesn't work, you can get the most recent browser window using this code:</p>
-<pre class="brush: js">var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
+<p>If <code>window.opener</code> doesn&apos;t work, you can get the most recent browser window using this code:</p>
+<pre class="brush: js">var wm = Components.classes[&quot;@mozilla.org/appshell/window-mediator;1&quot;]
                    .getService(Components.interfaces.nsIWindowMediator);
-var mainWindow = wm.getMostRecentWindow("navigator:browser");
+var mainWindow = wm.getMostRecentWindow(&quot;navigator:browser&quot;);
 mainWindow.gBrowser.addTab(...);
 </pre>
 <h3 id="Opening_a_URL_in_a_new_tab" name="Opening_a_URL_in_a_new_tab">Opening a URL in a new tab</h3>
 <pre class="brush: js">// Add tab
-gBrowser.addTab("http://www.google.com/");
+gBrowser.addTab(&quot;http://www.google.com/&quot;);
 
 // Add tab, then make active
-gBrowser.selectedTab = gBrowser.addTab("http://www.google.com/");
+gBrowser.selectedTab = gBrowser.addTab(&quot;http://www.google.com/&quot;);
 </pre>
 <h4 id="Manipulating_content_of_a_new_tab" name="Manipulating_content_of_a_new_tab">Manipulating content of a new tab</h4>
-<p>If you want to work on the content of the newly opened tab, you'll need to wait until the content has finished loading.</p>
-<pre class="brush: js">// WRONG WAY (the page hasn't finished loading yet)
-var newTabBrowser = gBrowser.getBrowserForTab(gBrowser.addTab("http://www.google.com/"));
+<p>If you want to work on the content of the newly opened tab, you&apos;ll need to wait until the content has finished loading.</p>
+<pre class="brush: js">// WRONG WAY (the page hasn&apos;t finished loading yet)
+var newTabBrowser = gBrowser.getBrowserForTab(gBrowser.addTab(&quot;http://www.google.com/&quot;));
 alert(newTabBrowser.contentDocument.body.innerHTML);
 
 // BETTER WAY
-var newTabBrowser = gBrowser.getBrowserForTab(gBrowser.addTab("http://www.google.com/"));
-newTabBrowser.addEventListener("load", function () {
-  newTabBrowser.contentDocument.body.innerHTML = "&lt;div&gt;hello world&lt;/div&gt;";
+var newTabBrowser = gBrowser.getBrowserForTab(gBrowser.addTab(&quot;http://www.google.com/&quot;));
+newTabBrowser.addEventListener(&quot;load&quot;, function () {
+  newTabBrowser.contentDocument.body.innerHTML = &quot;&lt;div&gt;hello world&lt;/div&gt;&quot;;
 }, true);
 </pre>
-<p>(The event target in the onLoad handler will be a 'tab' XUL element). See <a href="/en/XUL/tabbrowser#m-getBrowserForTab" title="en/XUL/tabbrowser#m-getBrowserForTab">tabbrowser</a> for getBrowserForTab(). N<span style="line-height: 1.5;">ote that the code above does not work inside of the Electrolysis (e10s)</span><span style="line-height: 1.5;"> enabled tabs.</span></p>
+<p>(The event target in the onLoad handler will be a &apos;tab&apos; XUL element). See <a href="/en/XUL/tabbrowser#m-getBrowserForTab" title="en/XUL/tabbrowser#m-getBrowserForTab">tabbrowser</a> for getBrowserForTab(). N<span style="line-height: 1.5;">ote that the code above does not work inside of the Electrolysis (e10s)</span><span style="line-height: 1.5;"> enabled tabs.</span></p>
 <h4 id="Opening_a_URL_in_the_correct_window.2Ftab" name="Opening_a_URL_in_the_correct_window.2Ftab">Opening a URL in the correct window/tab</h4>
 <p>There are methods available in <code><a href="http://mxr.mozilla.org/mozilla-central/source/browser/base/content/utilityOverlay.js" class="external" rel="external nofollow" title="http://mxr.mozilla.org/mozilla-central/source/browser/base/content/utilityOverlay.js">chrome://browser/content/utilityOverlay.js</a></code> that make it easy to open URL in tabs such as <code>openUILinkIn</code> and <code>openUILink</code>.</p>
 <dl>
@@ -65,11 +65,11 @@ newTabBrowser.addEventListener("load", function () {
  <dd>
   where:
   <ul>
-   <li>"current" current tab (if there aren't any browser windows, then in a new window instead)</li>
-   <li>"tab" new tab (if there aren't any browser windows, then in a new window instead)</li>
-   <li>"tabshifted" same as "tab" but in background if default is to select new tabs, and vice versa</li>
-   <li>"window" new window</li>
-   <li>"save" save to disk (with no filename hint!)</li>
+   <li>&quot;current&quot; current tab (if there aren&apos;t any browser windows, then in a new window instead)</li>
+   <li>&quot;tab&quot; new tab (if there aren&apos;t any browser windows, then in a new window instead)</li>
+   <li>&quot;tabshifted&quot; same as &quot;tab&quot; but in background if default is to select new tabs, and vice versa</li>
+   <li>&quot;window&quot; new window</li>
+   <li>&quot;save&quot; save to disk (with no filename hint!)</li>
   </ul>
  </dd>
  <dt>
@@ -79,19 +79,19 @@ newTabBrowser.addEventListener("load", function () {
 </dl>
 <p>The following code will open a URL in a new tab, an existing tab, or an existing window based on which mouse button was pressed and which hotkeys (ex: Ctrl) are being held. The code given is for a <code><a href="/de/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code>, but will work equally well for other XUL elements. This will only work in an overlay of browser.xul.</p>
 <p>XUL:</p>
-<pre class="eval">&lt;menuitem oncommand="myExtension.foo(event)" onclick="checkForMiddleClick(this, event)" label="Click me"/&gt;
+<pre class="eval">&lt;menuitem oncommand=&quot;myExtension.foo(event)&quot; onclick=&quot;checkForMiddleClick(this, event)&quot; label=&quot;Click me&quot;/&gt;
 </pre>
 <p>JS:</p>
 <pre class="brush: js">var myExtension = {
   foo: function(event) {
-    openUILink("http://www.example.com", event, false, true);
+    openUILink(&quot;http://www.example.com&quot;, event, false, true);
   }
 }</pre>
 <h4 id="Opening_a_URL_in_an_on_demand_tab">Opening a URL in an on demand tab</h4>
-<pre class="brush: js">var gSessionStore = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore);
+<pre class="brush: js">var gSessionStore = Cc[&quot;@mozilla.org/browser/sessionstore;1&quot;].getService(Ci.nsISessionStore);
 
-// Create new tab, but don't load the content.
-var url = "https://developer.mozilla.org";
+// Create new tab, but don&apos;t load the content.
+var url = &quot;https://developer.mozilla.org&quot;;
 var tab = gBrowser.addTab(null);
 gSessionStore.setTabState(tab, JSON.stringify({
   entries: [
@@ -107,11 +107,11 @@ gSessionStore.setTabState(tab, JSON.stringify({
 <h4 id="Reusing_tabs" name="Reusing_tabs">Reusing tabs</h4>
 <p>Rather than open a new browser or new tab each and every time one is needed, it is good practice to try to re-use an existing tab which already displays the desired URL--if one is already open. Following this practice minimizes the proliferation of tabs and browsers created by your extension.</p>
 <h5 id="Reusing_by_URL.2FURI" name="Reusing_by_URL.2FURI">Reusing by URL/URI</h5>
-<p>A common feature found in many extensions is to point the user to <code>chrome://</code> URIs in a browser window (for example, help or about information) or external (on-line <code>http(s)://</code>) HTML documents when the user clicks an extension's button or link. The following code demonstrates how to re-use an existing tab that already displays the desired URL/URI. If no such tab exists, a new one is opened with the specified URL/URI.</p>
+<p>A common feature found in many extensions is to point the user to <code>chrome://</code> URIs in a browser window (for example, help or about information) or external (on-line <code>http(s)://</code>) HTML documents when the user clicks an extension&apos;s button or link. The following code demonstrates how to re-use an existing tab that already displays the desired URL/URI. If no such tab exists, a new one is opened with the specified URL/URI.</p>
 <pre class="brush: js">function openAndReuseOneTabPerURL(url) {
-  var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
+  var wm = Components.classes[&quot;@mozilla.org/appshell/window-mediator;1&quot;]
                      .getService(Components.interfaces.nsIWindowMediator);
-  var browserEnumerator = wm.getEnumerator("navigator:browser");
+  var browserEnumerator = wm.getEnumerator(&quot;navigator:browser&quot;);
 
   // Check each browser instance for our URL
   var found = false;
@@ -137,9 +137,9 @@ gSessionStore.setTabState(tab, JSON.stringify({
     }
   }
 
-  // Our URL isn't open. Open it now.
+  // Our URL isn&apos;t open. Open it now.
   if (!found) {
-    var recentWindow = wm.getMostRecentWindow("navigator:browser");
+    var recentWindow = wm.getMostRecentWindow(&quot;navigator:browser&quot;);
     if (recentWindow) {
       // Use an existing browser window
       recentWindow.delayedOpenTab(url, null, null, null, null);
@@ -154,9 +154,9 @@ gSessionStore.setTabState(tab, JSON.stringify({
 <h5 id="Reusing_by_other_criteria" name="Reusing_by_other_criteria">Reusing by other criteria</h5>
 <p>Sometimes you want to reuse a previously-opened tab regardless of which URL/URI it displays. This assumes the tab is opened by your extension, not by some other browser component. We can do re-use an arbitrary tab by attaching a custom attribute to it when we first open it. Later, when we want to re-use that tab, we iterate over all open tabs looking for one which has our custom attribute. If such a tab exists, we change its URL/URI and focus/select it. If no such tab exists (perhaps the user closed it or we never opened it in the first place), we create a new tab with our custom attribute.</p>
 <pre class="brush: js">function openAndReuseOneTabPerAttribute(attrName, url) {
-  var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
+  var wm = Components.classes[&quot;@mozilla.org/appshell/window-mediator;1&quot;]
                      .getService(Components.interfaces.nsIWindowMediator);
-  for (var found = false, index = 0, tabbrowser = wm.getEnumerator('navigator:browser').getNext().gBrowser;
+  for (var found = false, index = 0, tabbrowser = wm.getEnumerator(&apos;navigator:browser&apos;).getNext().gBrowser;
        index &lt; tabbrowser.tabContainer.childNodes.length &amp;&amp; !found;
        index++) {
 
@@ -176,13 +176,13 @@ gSessionStore.setTabState(tab, JSON.stringify({
   }
 
   if (!found) {
-    // Our tab isn't open. Open it now.
-    var browserEnumerator = wm.getEnumerator("navigator:browser");
+    // Our tab isn&apos;t open. Open it now.
+    var browserEnumerator = wm.getEnumerator(&quot;navigator:browser&quot;);
     var tabbrowser = browserEnumerator.getNext().gBrowser;
 
     // Create tab
     var newTab = tabbrowser.addTab(url);
-    newTab.setAttribute(attrName, "xyz");
+    newTab.setAttribute(attrName, &quot;xyz&quot;);
 
     // Focus tab
     tabbrowser.selectedTab = newTab;
@@ -193,7 +193,7 @@ gSessionStore.setTabState(tab, JSON.stringify({
 }
 </pre>
 <p>The function can be called like so:</p>
-<pre class="eval"><span class="nowiki">openAndReuseOneTabPerAttribute("myextension-myattribute", "http://developer.mozilla.org/")</span>.
+<pre class="eval"><span class="nowiki">openAndReuseOneTabPerAttribute(&quot;myextension-myattribute&quot;, &quot;http://developer.mozilla.org/&quot;)</span>.
 </pre>
 <h3 id="Closing_a_tab" name="Closing_a_tab">Closing a tab</h3>
 <p>This example closes the currently selected tab.</p>
@@ -214,7 +214,7 @@ gSessionStore.setTabState(tab, JSON.stringify({
     var win = event.originalTarget.defaultView;
     if (win.frameElement) {
       // Frame within a tab was loaded. win should be the top window of
-      // the frameset. If you don't want do anything when frames/iframes
+      // the frameset. If you don&apos;t want do anything when frames/iframes
       // are loaded in this web page, uncomment the following line:
       // return;
       // Find the root document:
@@ -225,53 +225,53 @@ gSessionStore.setTabState(tab, JSON.stringify({
 
 // do not try to add a callback until the browser window has
 // been initialised. We add a callback to the tabbed browser
-// when the browser's window gets loaded.
-window.addEventListener("load", function () {
+// when the browser&apos;s window gets loaded.
+window.addEventListener(&quot;load&quot;, function () {
   // Add a callback to be run every time a document loads.
   // note that this includes frames/iframes within the document
-  gBrowser.addEventListener("load", examplePageLoad, true);
+  gBrowser.addEventListener(&quot;load&quot;, examplePageLoad, true);
 }, false);
 
 ...
 // When no longer needed
-gBrowser.removeEventListener("load", examplePageLoad, true);
+gBrowser.removeEventListener(&quot;load&quot;, examplePageLoad, true);
 ...
 </pre>
 <h3 id="Notification_when_a_tab_is_added_or_removed" name="Notification_when_a_tab_is_added_or_removed">Notification when a tab is added or removed</h3>
 <pre class="brush: js">function exampleTabAdded(event) {
   var browser = gBrowser.getBrowserForTab(event.target);
-  // browser is the XUL element of the browser that's been added
+  // browser is the XUL element of the browser that&apos;s been added
 }
 
 function exampleTabMoved(event) {
   var browser = gBrowser.getBrowserForTab(event.target);
-  // browser is the XUL element of the browser that's been moved
+  // browser is the XUL element of the browser that&apos;s been moved
 }
 
 function exampleTabRemoved(event) {
   var browser = gBrowser.getBrowserForTab(event.target);
-  // browser is the XUL element of the browser that's been removed
+  // browser is the XUL element of the browser that&apos;s been removed
 }
 
 // During initialization
 var container = gBrowser.tabContainer;
-container.addEventListener("TabOpen", exampleTabAdded, false);
-container.addEventListener("TabMove", exampleTabMoved, false);
-container.addEventListener("TabClose", exampleTabRemoved, false);
+container.addEventListener(&quot;TabOpen&quot;, exampleTabAdded, false);
+container.addEventListener(&quot;TabMove&quot;, exampleTabMoved, false);
+container.addEventListener(&quot;TabClose&quot;, exampleTabRemoved, false);
 
 // When no longer needed
-container.removeEventListener("TabOpen", exampleTabAdded, false);
-container.removeEventListener("TabMove", exampleTabMoved, false);
-container.removeEventListener("TabClose", exampleTabRemoved, false);
+container.removeEventListener(&quot;TabOpen&quot;, exampleTabAdded, false);
+container.removeEventListener(&quot;TabMove&quot;, exampleTabMoved, false);
+container.removeEventListener(&quot;TabClose&quot;, exampleTabRemoved, false);
 </pre>
 <div class="note">
- <p><strong>Note:</strong> Starting in <span title="(Firefox 3.5 / Thunderbird 3.0 / SeaMonkey 2.0)">Gecko 1.9.1</span>, there's an easy way to <a href="/En/Listening_to_events_on_all_tabs" title="https://developer.mozilla.org/en/Listening_to_events_on_all_tabs">listen on progress events on all tabs</a>.</p>
+ <p><strong>Note:</strong> Starting in <span title="(Firefox 3.5 / Thunderbird 3.0 / SeaMonkey 2.0)">Gecko 1.9.1</span>, there&apos;s an easy way to <a href="/En/Listening_to_events_on_all_tabs" title="https://developer.mozilla.org/en/Listening_to_events_on_all_tabs">listen on progress events on all tabs</a>.</p>
 </div>
 <p></p><div class="headingWithIndicator">
-    <h2>Notification when a tab's attributes change</h2>
-    <span class="indicatorInHeadline minVer geckoMinVerMethod">Requires Gecko 2.0(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)</span>
+    <h2>Notification when a tab&apos;s attributes change</h2>
+    <span class="minVer geckoMinVerMethod notecard inline">Requires Gecko 2.0(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)</span>
 </div><p></p>
-<p>Starting in Gecko 2.0, you can detect when a tab's attributes change by listening for the <code>TabAttrModified</code> event. The attributes to which changes result in this event being sent are:</p>
+<p>Starting in Gecko 2.0, you can detect when a tab&apos;s attributes change by listening for the <code>TabAttrModified</code> event. The attributes to which changes result in this event being sent are:</p>
 <ul>
  <li><code id="a-label"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></li>
  <li><code id="a-crop"><a href="https://developer.mozilla.org/de/docs/Mozilla/Tech/XUL/Attribute/crop">crop</a></code></li>
@@ -281,76 +281,76 @@ container.removeEventListener("TabClose", exampleTabRemoved, false);
 </ul>
 <pre class="brush: js">function exampleTabAttrModified(event) {
   var tab = event.target;
-  // Now you can check what's changed on the tab
+  // Now you can check what&apos;s changed on the tab
 }
 
 // During initialization
 var container = gBrowser.tabContainer;
-container.addEventListener("TabAttrModified", exampleTabAttrModified, false);
+container.addEventListener(&quot;TabAttrModified&quot;, exampleTabAttrModified, false);
 
 // When no longer needed
-container.removeEventListener("TabAttrModified", exampleTabAttrModified, false);
+container.removeEventListener(&quot;TabAttrModified&quot;, exampleTabAttrModified, false);
 </pre>
 <p></p><div class="headingWithIndicator">
     <h2>Notification when a tab is pinned or unpinned</h2>
-    <span class="indicatorInHeadline minVer geckoMinVerMethod">Requires Gecko 2.0(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)</span>
+    <span class="minVer geckoMinVerMethod notecard inline">Requires Gecko 2.0(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)</span>
 </div><p></p>
-<p>Starting in Gecko 2.0, tabs can be "pinned"; that is, they become special application tabs ("app tabs"), which are pinned to the beginning of the tab bar, and show only the favicon. You can detect when a tab becomes pinned or unpinned by watching for the <code>TabPinned</code> and <code>TabUnpinned</code> events.</p>
+<p>Starting in Gecko 2.0, tabs can be &quot;pinned&quot;; that is, they become special application tabs (&quot;app tabs&quot;), which are pinned to the beginning of the tab bar, and show only the favicon. You can detect when a tab becomes pinned or unpinned by watching for the <code>TabPinned</code> and <code>TabUnpinned</code> events.</p>
 <pre class="brush: js">function exampleTabPinned(event) {
   var browser = gBrowser.getBrowserForTab(event.target);
-  // browser is the XUL element of the browser that's been pinned
+  // browser is the XUL element of the browser that&apos;s been pinned
 }
 
 function exampleTabUnpinned(event) {
   var browser = gBrowser.getBrowserForTab(event.target);
-  // browser is the XUL element of the browser that's been pinned
+  // browser is the XUL element of the browser that&apos;s been pinned
 }
 
 // Initialization
 
 var container = gBrowser.tabContainer;
-container.addEventListener("TabPinned", exampleTabPinned, false);
-container.addEventListener("TabUnpinned", exampleTabUnpinned, false);
+container.addEventListener(&quot;TabPinned&quot;, exampleTabPinned, false);
+container.addEventListener(&quot;TabUnpinned&quot;, exampleTabUnpinned, false);
 
 // When no longer needed
 
-container.removeEventListener("TabPinned", exampleTabPinned, false);
-container.removeEventListener("TabUnpinned", exampleTabUnpinned, false);
+container.removeEventListener(&quot;TabPinned&quot;, exampleTabPinned, false);
+container.removeEventListener(&quot;TabUnpinned&quot;, exampleTabUnpinned, false);
 </pre>
 <h3 id="Detecting_tab_selection" name="Detecting_tab_selection">Detecting tab selection</h3>
 <p>The following code allows you to detect when a new tab is selected in the browser:</p>
 <pre class="brush: js">function exampleTabSelected(event) {
   var browser = gBrowser.selectedBrowser;
-  // browser is the XUL element of the browser that's just been selected
+  // browser is the XUL element of the browser that&apos;s just been selected
 }
 
 // During initialisation
 var container = gBrowser.tabContainer;
-container.addEventListener("TabSelect", exampleTabSelected, false);
+container.addEventListener(&quot;TabSelect&quot;, exampleTabSelected, false);
 
 // When no longer needed
-container.removeEventListener("TabSelect", exampleTabSelected, false);
+container.removeEventListener(&quot;TabSelect&quot;, exampleTabSelected, false);
 </pre>
 <h3 id="Getting_document_of_currently_selected_tab" name="Getting_document_of_currently_selected_tab">Getting document of currently selected tab</h3>
-<p>The following code allows you to retrieve the document that is in the selected tab. This code will work in the scope of the browser window (e.g. you're working from an overlay to the browser window).</p>
+<p>The following code allows you to retrieve the document that is in the selected tab. This code will work in the scope of the browser window (e.g. you&apos;re working from an overlay to the browser window).</p>
 <pre class="eval">gBrowser.contentDocument;
 </pre>
 <p>or</p>
 <pre class="eval">content.document
 </pre>
-<p>If you're working from a window or dialog that was opened by the browser window, you can use this code to get the document displayed in the selected tab in the browser window that opened the new window or dialog.</p>
+<p>If you&apos;re working from a window or dialog that was opened by the browser window, you can use this code to get the document displayed in the selected tab in the browser window that opened the new window or dialog.</p>
 <pre class="eval">window.opener.content.document
 </pre>
-<p>From windows or dialogs not opened by the browser window, you can use <code><a href="/de/docs/XPCOM_Interface_Referenz/nsIWindowMediator" title="">nsIWindowMediator</a></code> to get the document displayed in the selected tab of the most recently used browser window.</p>
-<pre class="brush: js">var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
+<p>From windows or dialogs not opened by the browser window, you can use <code><a href="/de/docs/XPCOM_Interface_Referenz/nsIWindowMediator" title>nsIWindowMediator</a></code> to get the document displayed in the selected tab of the most recently used browser window.</p>
+<pre class="brush: js">var wm = Components.classes[&quot;@mozilla.org/appshell/window-mediator;1&quot;]
                    .getService(Components.interfaces.nsIWindowMediator);
-var recentWindow = wm.getMostRecentWindow("navigator:browser");
+var recentWindow = wm.getMostRecentWindow(&quot;navigator:browser&quot;);
 return recentWindow ? recentWindow.content.document.location : null;
 </pre>
 <p>See also <a href="/en/Working_with_windows_in_chrome_code#Content_windows" title="en/Working_with_windows_in_chrome_code#Content_windows">Working with windows in chrome code</a>.</p>
 <h3 id="Enumerating_tabs" name="Enumerating_tabs">Enumerating browsers</h3>
-<p>To go through all browser in a tabbrowser, first get a reference to a browser's window. If your code is executed from a Firefox <code>browser.xul</code> overlay (for example, it is a toolbar button or menu <em>click</em> handler), you can access the current window with the <code>window</code> pre-defined variable. However, if your code is executed from its own window (for example, a settings/options dialog), you can use <code><a href="/de/docs/XPCOM_Interface_Referenz/nsIWindowMediator" title="">nsIWindowMediator</a></code> to get a browser's window.</p>
-<p>Next, get the <code>&lt;tabbrowser/&gt;</code> element. You can get it with <code>win.gBrowser</code>, where <code>win</code> is the browser's window from the previous step. You can use simply <code>gBrowser</code> instead of <code>window.gBrowser</code> if running in the context of a <code>browser.xul</code> overlay.</p>
+<p>To go through all browser in a tabbrowser, first get a reference to a browser&apos;s window. If your code is executed from a Firefox <code>browser.xul</code> overlay (for example, it is a toolbar button or menu <em>click</em> handler), you can access the current window with the <code>window</code> pre-defined variable. However, if your code is executed from its own window (for example, a settings/options dialog), you can use <code><a href="/de/docs/XPCOM_Interface_Referenz/nsIWindowMediator" title>nsIWindowMediator</a></code> to get a browser&apos;s window.</p>
+<p>Next, get the <code>&lt;tabbrowser/&gt;</code> element. You can get it with <code>win.gBrowser</code>, where <code>win</code> is the browser&apos;s window from the previous step. You can use simply <code>gBrowser</code> instead of <code>window.gBrowser</code> if running in the context of a <code>browser.xul</code> overlay.</p>
 <p>Finally, use <code>gBrowser.browsers.length</code> to get the number of browsers and <code>gBrowser.getBrowserAtIndex()</code> to get a <code>&lt;browser/&gt;</code> element. For example:</p>
 <pre class="brush: js">var num = gBrowser.browsers.length;
 for (var i = 0; i &lt; num; i++) {
@@ -364,11 +364,11 @@ for (var i = 0; i &lt; num; i++) {
 <p>To learn what methods are available for <code>&lt;browser/&gt;</code> and <code>&lt;tabbrowser/&gt;</code> elements, use <a href="/en/DOM_Inspector" title="en/DOM_Inspector">DOM Inspector</a> or look in <a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/content/widgets/browser.xml" rel="custom">browser.xml</a> for corresponding XBL bindings (or just look at the current reference pages on <code><a href="/de/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code> and <code><a href="/de/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code>.</p>
 <h3 id="Getting_the_browser_that_fires_the_http-on-modify-request_notification">Getting the browser that fires the http-on-modify-request notification</h3>
 <p>See the <a href="/en/Observer_Notifications#HTTP_requests" title="en/Observer_Notifications#HTTP_requests">Observer notifications</a> page for information on http-on-* notifications.</p>
-<p>Note that some HTTP requests aren't associated with a tab; for example, RSS feed updates, extension manager requests, XHR requests from XPCOM components, etc. In those cases, the following code returns null.</p>
-<div class="warning">
- <strong>Warning:</strong> This code should be updated to use <code><a href="/de/docs/XPCOM_Interface_Referenz/nsILoadContext" title="">nsILoadContext</a></code> instead of <code>getInterface(Components.interfaces.nsIDOMWindow)</code>, <a href="/en-US/docs/Updating_extensions_for_Firefox_3.5#Getting_a_load_context_from_a_request" title="/en-US/docs/Updating_extensions_for_Firefox_3.5#Getting_a_load_context_from_a_request">see this example</a>..<a href="#Getting_the_browser_that_fires_the_http-on-modify-request_notification_(example_code_updated_for_loadContext)">UPDATED EXAMPLE IS IN SECTION BELOW THIS</a></div>
+<p>Note that some HTTP requests aren&apos;t associated with a tab; for example, RSS feed updates, extension manager requests, XHR requests from XPCOM components, etc. In those cases, the following code returns null.</p>
+<div class="warning notecard">
+ <strong>Warning:</strong> This code should be updated to use <code><a href="/de/docs/XPCOM_Interface_Referenz/nsILoadContext" title>nsILoadContext</a></code> instead of <code>getInterface(Components.interfaces.nsIDOMWindow)</code>, <a href="/en-US/docs/Updating_extensions_for_Firefox_3.5#Getting_a_load_context_from_a_request" title="/en-US/docs/Updating_extensions_for_Firefox_3.5#Getting_a_load_context_from_a_request">see this example</a>..<a href="#Getting_the_browser_that_fires_the_http-on-modify-request_notification_(example_code_updated_for_loadContext)">UPDATED EXAMPLE IS IN SECTION BELOW THIS</a></div>
 <pre class="brush: js">observe: function (subject, topic, data) {
-  if (topic == "http-on-modify-request") {
+  if (topic == &quot;http-on-modify-request&quot;) {
     subject.QueryInterface(Components.interfaces.nsIHttpChannel);
     var url = subject.URI.spec; /* url being requested. you might want this for something else */
     var browser = this.getBrowserFromChannel(subject);
@@ -390,20 +390,20 @@ getBrowserFromChannel: function (aChannel) {
     return gBrowser.getBrowserForDocument(domWin.top.document);
   }
   catch (e) {
-    dump(e + "\n");
+    dump(e + &quot;\n&quot;);
     return null;
   }
 }
 </pre>
 <h3 id="Getting_the_browser_that_fires_the_http-on-modify-request_notification_(example_code_updated_for_loadContext)">Getting the browser that fires the http-on-modify-request notification (example code updated for loadContext)</h3>
 <p>Here an example of the previous section is shown. The previous section was left intact so people can see the old way of doing things.</p>
-<pre class="brush: js">Components.utils.import('resource://gre/modules/Services.jsm');
-Services.obs.addObserver(httpObs, 'http-on-modify-request', false);
-//Services.obs.removeObserver(httpObs, 'http-on-modify-request'); //uncomment this line, or run this line when you want to remove the observer
+<pre class="brush: js">Components.utils.import(&apos;resource://gre/modules/Services.jsm&apos;);
+Services.obs.addObserver(httpObs, &apos;http-on-modify-request&apos;, false);
+//Services.obs.removeObserver(httpObs, &apos;http-on-modify-request&apos;); //uncomment this line, or run this line when you want to remove the observer
 
 var httpObs = {
     observe: function (aSubject, aTopic, aData) {
-        if (aTopic == 'http-on-modify-request') {
+        if (aTopic == &apos;http-on-modify-request&apos;) {
             /*start - do not edit here*/
             var oHttp = aSubject.QueryInterface(Components.interfaces.nsIHttpChannel); //i used nsIHttpChannel but i guess you can use nsIChannel, im not sure why though
             var interfaceRequestor = oHttp.notificationCallbacks.QueryInterface(Components.interfaces.nsIInterfaceRequestor);
@@ -414,7 +414,7 @@ var httpObs = {
             } catch (ex) {
                 try {
                     loadContext = aSubject.loadGroup.notificationCallbacks.getInterface(Components.interfaces.nsILoadContext);
-                    //in ff26 aSubject.loadGroup.notificationCallbacks was null for me, i couldnt find a situation where it wasnt null, but whenever this was null, and i knew a loadContext is supposed to be there, i found that "interfaceRequestor.getInterface(Components.interfaces.nsILoadContext);" worked fine, so im thinking in ff26 it doesnt use aSubject.loadGroup.notificationCallbacks anymore, but im not sure
+                    //in ff26 aSubject.loadGroup.notificationCallbacks was null for me, i couldnt find a situation where it wasnt null, but whenever this was null, and i knew a loadContext is supposed to be there, i found that &quot;interfaceRequestor.getInterface(Components.interfaces.nsILoadContext);&quot; worked fine, so im thinking in ff26 it doesnt use aSubject.loadGroup.notificationCallbacks anymore, but im not sure
                 } catch (ex2) {
                     loadContext = null;
                     //this is a problem i dont know why it would get here
@@ -428,25 +428,25 @@ var httpObs = {
                 //aDOMWindow this is the firefox window holding the tab
                 var aDOMWindow = contentWindow.top.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIWebNavigation).QueryInterface(Ci.nsIDocShellTreeItem).rootTreeItem.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindow);
                 var gBrowser = aDOMWindow.gBrowser; //this is the gBrowser object of the firefox window this tab is in
-                var aTab = gBrowser._getTabForContentWindow(contentWindow.top); //this is the clickable tab xul element, the one found in the tab strip of the firefox window, aTab.linkedBrowser is same as browser var above //can stylize tab like aTab.style.backgroundColor = 'blue'; //can stylize the tab like aTab.style.fontColor = 'red';
+                var aTab = gBrowser._getTabForContentWindow(contentWindow.top); //this is the clickable tab xul element, the one found in the tab strip of the firefox window, aTab.linkedBrowser is same as browser var above //can stylize tab like aTab.style.backgroundColor = &apos;blue&apos;; //can stylize the tab like aTab.style.fontColor = &apos;red&apos;;
                 var browser = aTab.linkedBrowser; //this is the browser within the tab //this is what the example in the previous section gives
                 //end getting other useful stuff
             } else {
-                Components.utils.reportError('EXCEPTION: Load Context Not Found!!');
+                Components.utils.reportError(&apos;EXCEPTION: Load Context Not Found!!&apos;);
                 //this is likely no big deal as the channel proably has no associated window, ie: the channel was loading some resource. but if its an ajax call you may end up here
             }
         }
     }
 };
 </pre>
-<p>Here's a cleaner example of the same thing:</p>
-<pre><code>Cu.import('resource://gre/modules/Services.jsm');
+<p>Here&apos;s a cleaner example of the same thing:</p>
+<pre><code>Cu.import(&apos;resource://gre/modules/Services.jsm&apos;);
 
 var httpRequestObserver = {
     observe: function (subject, topic, data) {
         var httpChannel, requestURL;
 
-        if (topic == "http-on-modify-request") {
+        if (topic == &quot;http-on-modify-request&quot;) {
             httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
             requestURL = httpChannel.URI.spec;
 
@@ -456,7 +456,7 @@ var httpRequestObserver = {
                 var goodies = loadContextGoodies(httpChannel);
                 if (goodies) {
                     httpChannel.cancel(Cr.NS_BINDING_ABORTED);
-                    goodies.contentWindow.location = self.data.url('pages/test.html');
+                    goodies.contentWindow.location = self.data.url(&apos;pages/test.html&apos;);
                 } else {
                     //dont do anything as there is no contentWindow associated with the httpChannel, liekly a google ad is loading or some ajax call or something, so this is not an error
                 }
@@ -466,7 +466,7 @@ var httpRequestObserver = {
         }
     }
 };
-Services.obs.addObserver(httpRequestObserver, "http-on-modify-request", false);
+Services.obs.addObserver(httpRequestObserver, &quot;http-on-modify-request&quot;, false);
 
 
 
@@ -474,7 +474,7 @@ Services.obs.addObserver(httpRequestObserver, "http-on-modify-request", false);
 
 //this function gets the contentWindow and other good stuff from loadContext of httpChannel
 function loadContextGoodies(httpChannel) {
-    //httpChannel must be the subject of http-on-modify-request QI'ed to nsiHTTPChannel as is done on line 8 "httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);"
+    //httpChannel must be the subject of http-on-modify-request QI&apos;ed to nsiHTTPChannel as is done on line 8 &quot;httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);&quot;
     //start loadContext stuff
     var loadContext;
     try {
@@ -507,7 +507,7 @@ function loadContextGoodies(httpChannel) {
                 .QueryInterface(Ci.nsIInterfaceRequestor)
                 .getInterface(Ci.nsIDOMWindow);
             var gBrowser = aDOMWindow.gBrowser;
-            var aTab = gBrowser._getTabForContentWindow(contentWindow.top); //this is the clickable tab xul element, the one found in the tab strip of the firefox window, aTab.linkedBrowser is same as browser var above //can stylize tab like aTab.style.backgroundColor = 'blue'; //can stylize the tab like aTab.style.fontColor = 'red';
+            var aTab = gBrowser._getTabForContentWindow(contentWindow.top); //this is the clickable tab xul element, the one found in the tab strip of the firefox window, aTab.linkedBrowser is same as browser var above //can stylize tab like aTab.style.backgroundColor = &apos;blue&apos;; //can stylize the tab like aTab.style.fontColor = &apos;red&apos;;
             var browser = aTab.linkedBrowser; //this is the browser within the tab //this is where the example in the previous section ends
             return {
                 aDOMWindow: aDOMWindow,

+ 9 - 9
files/de/e4x/index.html

@@ -13,30 +13,30 @@ tags:
 translation_of: Archive/Web/E4X
 ---
 <div>
-  <div class="blockIndicator obsolete obsoleteHeader"><p><strong><span class="icon-only-inline" title="Dies ist eine veraltete API und es wird nicht mehr garantiert, dass sie funktioniert."><i class="icon-trash"> </i></span> Veraltet</strong><br>Dieses Feature ist veraltet. Obwohl es in manchen Browsern immer noch funktioniert, wird von seiner Benutzung abgeraten, da es jederzeit entfernt werden kann. Es sollte daher nicht mehr verwendet werden.</p></div></div>
+  <div class="obsolete obsoleteHeader notecard"><p><strong><span class="icon-only-inline" title="Dies ist eine veraltete API und es wird nicht mehr garantiert, dass sie funktioniert."><i class="icon-trash"> </i></span> Veraltet</strong><br>Dieses Feature ist veraltet. Obwohl es in manchen Browsern immer noch funktioniert, wird von seiner Benutzung abgeraten, da es jederzeit entfernt werden kann. Es sollte daher nicht mehr verwendet werden.</p></div></div>
 <div>
    </div>
 <div>
-  <div class="blockIndicator warning">
+  <div class="warning notecard">
     <p><strong>Achtung:</strong> E4X is obsolete. It has been disabled by default for webpages (content) in Firefox 17, disabled by default for chrome in Firefox 20, and has been removed in Firefox 21. Use DOMParser/DOMSerializer or a non-native JXON algorithm instead.</p>
 </div></div>
 <p><strong>ECMAScript for XML</strong> (<strong>E4X</strong>) is a programming language extension that adds native XML support to <a href="/en/JavaScript" title="en/JavaScript">JavaScript</a>. It does this by providing access to the XML document in a form that feels natural for ECMAScript programmers. The goal is to provide an alternative, simpler syntax for accessing XML documents than via <a href="/en/DOM" title="en/DOM">DOM</a> interfaces. A valid alternative to E4X is a non-native <a href="/en/JXON" title="en/JXON">JXON algorithm</a>.</p>
 <p>E4X is standardized by Ecma International in <a href="http://www.ecma-international.org/publications/standards/Ecma-357.htm" class="external">ECMA-357 standard</a> (currently in its second edition, December 2005).</p>
-<p>E4X is implemented (at least partially) in <a href="/en/SpiderMonkey" title="en/SpiderMonkey">SpiderMonkey</a> (<a href="/en/Gecko" title="en/Gecko">Gecko</a>'s JavaScript engine) and in <a href="/en/Rhino" title="en/Rhino">Rhino</a> (JavaScript engine written in Java).</p>
+<p>E4X is implemented (at least partially) in <a href="/en/SpiderMonkey" title="en/SpiderMonkey">SpiderMonkey</a> (<a href="/en/Gecko" title="en/Gecko">Gecko</a>&apos;s JavaScript engine) and in <a href="/en/Rhino" title="en/Rhino">Rhino</a> (JavaScript engine written in Java).</p>
 <p> </p>
 <div class="note">
-  <strong>Note:</strong> In Gecko 1.8 based browsers such as Firefox 1.5, E4X is already partially enabled for web page authors. To fully enable E4X, the <code>&lt;script&gt;</code> element needs to have the MIME type "text/javascript;e4x=1" (i.e. have an attribute of the form <code>type="text/javascript;e4x=1"</code>). The difference between the two modes is that without the "e4x=1" MIME type, any statement-level XML/HTML comment literals (<code><span class="nowiki">&lt;!--...--&gt;</span></code>) are ignored for backwards compatibility with the comment hiding trick, and CDATA sections (<code>&lt;![CDATA[...]]&gt;</code>) are not parsed as CDATA literals (which leads to a JS syntax error in HTML since HTML's <code>&lt;script&gt;</code> element produces an implicit CDATA section, and therefore cannot contain explicit CDATA sections).
+  <strong>Note:</strong> In Gecko 1.8 based browsers such as Firefox 1.5, E4X is already partially enabled for web page authors. To fully enable E4X, the <code>&lt;script&gt;</code> element needs to have the MIME type &quot;text/javascript;e4x=1&quot; (i.e. have an attribute of the form <code>type=&quot;text/javascript;e4x=1&quot;</code>). The difference between the two modes is that without the &quot;e4x=1&quot; MIME type, any statement-level XML/HTML comment literals (<code><span class="nowiki">&lt;!--...--&gt;</span></code>) are ignored for backwards compatibility with the comment hiding trick, and CDATA sections (<code>&lt;![CDATA[...]]&gt;</code>) are not parsed as CDATA literals (which leads to a JS syntax error in HTML since HTML&apos;s <code>&lt;script&gt;</code> element produces an implicit CDATA section, and therefore cannot contain explicit CDATA sections).
   <p><span class="comment">someone verify the above</span></p>
 </div>
 <h3 id="Known_bugs_and_limitations" name="Known_bugs_and_limitations">Known bugs and limitations</h3>
 <ul>
-  <li>It is not currently possible to access a DOM object through E4X (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=270553" title="E4x&lt;->DOM">Bug 270553</a>)</li>
-  <li>E4X doesn't support parsing XML declaration (</li>
-  <li>&lt;?xml version=...?&gt;) (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=336551" title='E4X: Implement ability to process new XML("&lt;?xml...?> ...")'>Bug 336551</a>). You may get SyntaxError "xml is a reserved identifier" (despite the XML being in a string).</li>
+  <li>It is not currently possible to access a DOM object through E4X (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=270553" title="E4x&lt;-&gt;DOM">Bug 270553</a>)</li>
+  <li>E4X doesn&apos;t support parsing XML declaration (</li>
+  <li>&lt;?xml version=...?&gt;) (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=336551" title="E4X: Implement ability to process new XML(&quot;&lt;?xml...?&gt; ...&quot;)">Bug 336551</a>). You may get SyntaxError &quot;xml is a reserved identifier&quot; (despite the XML being in a string).</li>
 </ul>
 <p>Workaround:</p>
 <pre class="brush: js">var response = xmlhttprequest.responseText; // bug 270553
-response = response.replace(/^&lt;\?xml\s+version\s*=\s*(["'])[^\1]+\1[^?]*\?&gt;/, ""); // bug 336551
+response = response.replace(/^&lt;\?xml\s+version\s*=\s*([&quot;&apos;])[^\1]+\1[^?]*\?&gt;/, &quot;&quot;); // bug 336551
 var e4x = new XML(response);
 </pre>
 <h3 id="Resources" name="Resources">Resources</h3>
@@ -45,7 +45,7 @@ var e4x = new XML(response);
   <li><a href="/en/E4X_for_templating" title="En/E4X for templating">E4X for templating</a></li>
   <li>See the list of<a href="/Special:Tags?tag=E4X&amp;language=en" title="Special:Tags?tag=E4X&amp;language=en"> E4X-related pages</a> on MDC:</li>
   <li><a href="http://www.ecma-international.org/publications/standards/Ecma-357.htm" class="external">ECMA-357 standard</a></li>
-  <li><a href="/presentations/xtech2005/e4x" class="external" title="presentations/xtech2005/e4x">Brendan's presentation</a></li>
+  <li><a href="/presentations/xtech2005/e4x" class="external" title="presentations/xtech2005/e4x">Brendan&apos;s presentation</a></li>
   <li><a href="http://web.archive.org/web/20080703182907/http://www.faqts.com/knowledge_base/index.phtml/fid/1762" class="external" title="http://web.archive.org/web/20080703182907/http://www.faqts.com/knowledge_base/index.phtml/fid/1762">E4X at faqts.com</a></li>
   <li><a href="http://rephrase.net/days/07/06/e4x" class="external">E4X quick reference at rephrase.net</a></li>
 </ul>

+ 44 - 44
files/de/e4x/processing_xml_with_e4x/index.html

@@ -3,26 +3,26 @@ title: XML verarbeiten mit E4X
 slug: E4X/Processing_XML_with_E4X
 translation_of: Archive/Web/E4X/Processing_XML_with_E4X
 ---
-<p></p><div class="blockIndicator warning">
+<p></p><div class="warning notecard">
     <p><strong>Achtung:</strong> E4X ist veraltet. Es wurde in Firefox 17 standardmäßig abgeschaltet und aus Firefox 21 schließlich vollständig entfernt.  Benutzen Sie statt dessen DOMParser/DOMSerializer oder ein anderes JXON Verfahren.</p>
 </div><p></p>
 <p><strong><a href="/en/E4X" title="en/E4X">E4X</a></strong> erweitert JavaScript ab Version 1.6 um ein natives XML Objekt und eine Syntax, mit der XML Dokumente direkt in JavaScript Code eingebettet werden können.</p>
 <p>Eine vollständige Definition von E4X findet sich in der <a href="http://www.ecma-international.org/publications/standards/Ecma-357.htm" class="external">ECMA-357 Spezifikation</a>. Dieses Kapitel liefert einen praxisbezogenen Überblick und ist nicht als Referenz gedacht.</p>
 <h2 id="Kompatibilitätsaspekte">Kompatibilitätsaspekte</h2>
 <p>Als das  <code>&lt;script&gt;</code> Element noch nicht von allen Browsern unterstützt wurde, war es üblich, auf einer HTML Seite eingebettetes JavaScript in HTML Kommentare einzuschließen, um so die Anzeige des JavaScript Code durch ungeeignete Browser zu verhindern.  Diese Vorgehensweise ist inzwischen unnötig, aber es existieren noch viele solche HTML-Seiten.  Deshalb ignoriert E4X standardmäßig Kommentare und CDATA Abschnitte.  Sie können jedoch <code>e4x=1</code> im <code>&lt;script&gt;</code> Element verwenden, wenn Sie diese Einschränkung aufheben wollen:</p>
-<pre class="brush: html">&lt;script type="text/javascript;e4x=1"&gt;
+<pre class="brush: html">&lt;script type=&quot;text/javascript;e4x=1&quot;&gt;
 ...
 &lt;/script&gt;
 </pre>
 <h2 id="Ein_XML_Objekt_erzeugen">Ein XML Objekt erzeugen</h2>
 <p>E4X bietet im Wesentlichen zwei Wege zum Erzeugen eines XML Objekts an.  Beim ersten wird dem XML Konstructor ein String übergeben:</p>
-<pre class="brush: js">var languages = new XML('&lt;languages type="dynamic"&gt;
+<pre class="brush: js">var languages = new XML(&apos;&lt;languages type=&quot;dynamic&quot;&gt;
     &lt;lang&gt;JavaScript&lt;/lang&gt;
     &lt;lang&gt;Python&lt;/lang&gt;
-  &lt;/languages&gt;');
+  &lt;/languages&gt;&apos;);
 </pre>
 <p>Beim zweiten Weg wird der XML Code als Literal direkt im Skript eingetragen:</p>
-<pre class="brush: js">var languages = &lt;languages type="dynamic"&gt;
+<pre class="brush: js">var languages = &lt;languages type=&quot;dynamic&quot;&gt;
     &lt;lang&gt;JavaScript&lt;/lang&gt;
     &lt;lang&gt;Python&lt;/lang&gt;
   &lt;/languages&gt;;
@@ -30,58 +30,58 @@ translation_of: Archive/Web/E4X/Processing_XML_with_E4X
 <p>In beiden Fällen erhält man ein E4X <code>XML</code> Objekt mit Methoden für den bequemen Zugriff auf seine gekapselten Daten.</p>
 <p>While the XML object looks and behaves in a similar way to a regular JavaScript object, the two are not the same thing. E4X introduces new syntax that only works with E4X XML objects. The syntax is designed to be familiar to JavaScript programmers, but E4X does not provide a direct mapping from XML to native JavaScript objects; just the illusion of one.</p>
 <p>It is possible to interpolate variables into an XML literal to create an element name (or to create content).</p>
-<pre class="brush: js">var h = 'html';
-var text = "Here's some text";
+<pre class="brush: js">var h = &apos;html&apos;;
+var text = &quot;Here&apos;s some text&quot;;
 var doc = &lt;{h}&gt;&lt;body&gt;{text}&lt;/body&gt;&lt;/{h}&gt;;
 alert(doc.toXMLString());
 // Gives
 &lt;html&gt;
-  &lt;body&gt;Here's some text&lt;/body&gt;
+  &lt;body&gt;Here&apos;s some text&lt;/body&gt;
 &lt;/html&gt;
 </pre>
 <h2 id="Working_with_attributes">Working with attributes</h2>
 <p>XML literal syntax has a significant advantage over the <code>XML</code> constructor when you need to create markup dynamically. With E4X it is easy to embed dynamic values in markup. Variables and expressions can be used to create attribute values by simply wrapping them with braces ({}) and omitting quotation marks that would normally go around an attribute value, as the following example illustrates:</p>
 <pre class="brush: js"> var a = 2;
- var b = &lt;foo bar={a}&gt;"hi"&lt;/foo&gt;;
+ var b = &lt;foo bar={a}&gt;&quot;hi&quot;&lt;/foo&gt;;
 </pre>
-<p>Upon execution the variable is evaluated and quotes are automatically added where appropriate. The preceding example would result in an XML object which looks like this: <code>&lt;foo bar="2"&gt;"hi"&lt;/foo&gt;</code>.</p>
+<p>Upon execution the variable is evaluated and quotes are automatically added where appropriate. The preceding example would result in an XML object which looks like this: <code>&lt;foo bar=&quot;2&quot;&gt;&quot;hi&quot;&lt;/foo&gt;</code>.</p>
 <p>In attribute substitution, quotation marks are escaped as &amp;quot; while apostrophes are handled normally.</p>
-<pre class="brush: js">var b = 'He said "Don\'t go there."';
+<pre class="brush: js">var b = &apos;He said &quot;Don\&apos;t go there.&quot;&apos;;
 var el = &lt;foo a={b}/&gt;;
 alert(el.toXMLString());
-// Gives: &lt;foo a="He said &amp;quot;Don't go there.&amp;quot;"/&gt;
+// Gives: &lt;foo a=&quot;He said &amp;quot;Don&apos;t go there.&amp;quot;&quot;/&gt;
 </pre>
 <p>Less than and ampersand signs are escaped into their entity equivalents. Since a greater than sign is not escaped, it is possible to get an XML error if the <a href="/en/DOM/CDATASection" title="en/DOM/CDATASection">CDATA</a> closing sequence (]]&gt;) is included.</p>
-<p>It is not possible to directly interpolate variables amidst other literal (or variable) attribute content, however (e.g., <code>bar="a{var1}{var2}"</code>). One must instead either calculate the variable with a JavaScript expression (e.g., <code>bar={'a'+var1+var2}</code>), define a new variable before the element literal which includes the full interpolation and then include that variable or retrieve the attribute after the literal to alter it (see below).</p>
+<p>It is not possible to directly interpolate variables amidst other literal (or variable) attribute content, however (e.g., <code>bar=&quot;a{var1}{var2}&quot;</code>). One must instead either calculate the variable with a JavaScript expression (e.g., <code>bar={&apos;a&apos;+var1+var2}</code>), define a new variable before the element literal which includes the full interpolation and then include that variable or retrieve the attribute after the literal to alter it (see below).</p>
 <p>While one can interpolate attribute names as well as attribute values:</p>
-<pre class="brush: js">var a = 'att';
-var b = &lt;b {a}='value'/&gt;;
+<pre class="brush: js">var a = &apos;att&apos;;
+var b = &lt;b {a}=&apos;value&apos;/&gt;;
 alert(b);
 // Gives:
-&lt;b att="value"/&gt;
+&lt;b att=&quot;value&quot;/&gt;
 </pre>
 <p>...one cannot interpolate a whole expression at once (e.g., &lt;b {a}&gt;.)</p>
 <p>After executing the above example, the variable languages references an XML object corresponding to the <code>&lt;languages&gt;</code> node in the XML document. This node has one attribute, type, which can be accessed and updated in a number of ways:</p>
-<pre class="brush: js"> alert(languages.@type); // Alerts "dynamic"
- languages.@type = "agile";
- alert(languages.@type); // Alerts "agile"
+<pre class="brush: js"> alert(languages.@type); // Alerts &quot;dynamic&quot;
+ languages.@type = &quot;agile&quot;;
+ alert(languages.@type); // Alerts &quot;agile&quot;
 </pre>
 <pre class="brush: js"> alert(languages.toString());
  /* Alerts:
-   &lt;languages type="agile"&gt;&lt;lang&gt;JavaScript&lt;/lang&gt;&lt;lang&gt;Python&lt;/lang&gt;&lt;/languages&gt;
+   &lt;languages type=&quot;agile&quot;&gt;&lt;lang&gt;JavaScript&lt;/lang&gt;&lt;lang&gt;Python&lt;/lang&gt;&lt;/languages&gt;
  */
 </pre>
 <p>Note that if one wishes to make comparisons of retrieved attributes with other strings, it is necessary to convert the attribute first, even though the attribute may be converted to a string when used in other contexts (such as insertion into a textbox).</p>
-<pre class="brush: js">if (languages.@type.toString() === 'agile') {
+<pre class="brush: js">if (languages.@type.toString() === &apos;agile&apos;) {
 ...
 }</pre>
 <p>or, simply:</p>
-<pre class="brush: js">if (languages.@type == 'agile') {
+<pre class="brush: js">if (languages.@type == &apos;agile&apos;) {
 ...
 }
 </pre>
 <h2 id="Working_with_XML_objects">Working with XML objects</h2>
-<p>XML objects provide a number of methods for inspecting and updating their contents. They support JavaScript's regular dot and <code>[]</code> notation, but instead of accessing object properties E4X overloads these operators to access the element's children:</p>
+<p>XML objects provide a number of methods for inspecting and updating their contents. They support JavaScript&apos;s regular dot and <code>[]</code> notation, but instead of accessing object properties E4X overloads these operators to access the element&apos;s children:</p>
 <pre class="brush: js">var person = &lt;person&gt;
   &lt;name&gt;Bob Smith&lt;/name&gt;
   &lt;likes&gt;
@@ -93,9 +93,9 @@ alert(b);
 &lt;/person&gt;;
 
 alert(person.name); // Bob Smith
-alert(person['name']); // Bob Smith
+alert(person[&apos;name&apos;]); // Bob Smith
 alert(person.likes.browser); // Firefox
-alert(person['likes'].browser); // Firefox
+alert(person[&apos;likes&apos;].browser); // Firefox
 </pre>
 <p>If you access something with more than one matching element, you get back an <code>XMLList</code>:</p>
 <pre class="brush: js">alert(person.likes.language.length()); // 2
@@ -130,7 +130,7 @@ var child = person.child(1); // The second child node; in this case the &lt;like
  }
 </pre>
 <p>Here we are using identical syntax to that used to access numbered items in an array. Despite these similarities to regular arrays, <code>XMLList</code> does not support <code>Array</code> methods such as <code>forEach</code>, and Array generics such as <code>Array.forEach()</code> are not compatible with <code>XMLList</code> objects.</p>
-<p>We can also use the <a href="/en/JavaScript/Reference/Statements/for_each...in" title="en/JavaScript/Reference/Statements/for each...in"><code>for each...in</code> statement</a> introduced in JavaScript 1.6 as part of JavaScript's E4X support:</p>
+<p>We can also use the <a href="/en/JavaScript/Reference/Statements/for_each...in" title="en/JavaScript/Reference/Statements/for each...in"><code>for each...in</code> statement</a> introduced in JavaScript 1.6 as part of JavaScript&apos;s E4X support:</p>
 <pre class="brush: js"> for each (var lang in languages.lang) {
      alert(lang);
  }
@@ -163,11 +163,11 @@ var child = person.child(1); // The second child node; in this case the &lt;like
 <h2 id="Searching_and_filtering">Searching and filtering</h2>
 <p>E4X provides special operators for selecting nodes within a document that match specific criteria. These filter operations are specified using an expression contained in parentheses:</p>
 <pre class="brush: js">var html = &lt;html&gt;
-  &lt;p id="p1"&gt;First paragraph&lt;/p&gt;
-  &lt;p id="p2"&gt;Second paragraph&lt;/p&gt;
+  &lt;p id=&quot;p1&quot;&gt;First paragraph&lt;/p&gt;
+  &lt;p id=&quot;p2&quot;&gt;Second paragraph&lt;/p&gt;
 &lt;/html&gt;;
 
-alert(html.p.(@id == "p1")); // Alerts "First paragraph"
+alert(html.p.(@id == &quot;p1&quot;)); // Alerts &quot;First paragraph&quot;
 </pre>
 <p>Nodes matching the path before the expression (in this case the paragraph elements) are added to the scope chain before the expression is evaluated, as if they had been specified using the <a href="/en/JavaScript/Reference/Statements/with" title="en/JavaScript/Reference/Statements/with">with statement</a>.</p>
 <p>Consequently, filters can also run against the value of a single node contained within the current element:</p>
@@ -182,7 +182,7 @@ alert(html.p.(@id == "p1")); // Alerts "First paragraph"
   &lt;/person&gt;
 &lt;/people&gt;;
 
-alert(people.person.(name == "Joe").age); // Alerts 46
+alert(people.person.(name == &quot;Joe&quot;).age); // Alerts 46
 </pre>
 <p>Filter expressions can even use JavaScript functions:</p>
 <pre class="brush: js">function over40(i) {
@@ -194,35 +194,35 @@ alert(people.person.(over40(parseInt(age))).name); // Alerts Joe
 <h2 id="Handling_namespaces">Handling namespaces</h2>
 <p>E4X is fully namespace aware. Any XML object that represents a node or attribute provides a <code>name()</code> method which returns a <code>QName</code> object, allowing easy inspection of namespaced elements.</p>
 <h3 id="Default">Default</h3>
-<pre class="brush: js">default xml namespace = "http://www.w3.org/1999/xhtml";
+<pre class="brush: js">default xml namespace = &quot;http://www.w3.org/1999/xhtml&quot;;
 // No need now to specify a namespace in the html tag
 var xhtml = &lt;html&gt;&lt;head&gt;&lt;title&gt;&lt;/title&gt;&lt;/head&gt;&lt;body&gt;
             &lt;p&gt;text&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;;
 alert(xhtml.head); // No need to specify a namespace on subelements here either</pre>
 <h3 id="Non-default">Non-default</h3>
-<pre class="brush: js">var xhtml = &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
+<pre class="brush: js">var xhtml = &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
 	&lt;head&gt;
 		&lt;title&gt;Embedded SVG demo&lt;/title&gt;
 	&lt;/head&gt;
 	&lt;body&gt;
 		&lt;h1&gt;Embedded SVG demo&lt;/h1&gt;
-		&lt;svg xmlns="http://www.w3.org/2000/svg"
-			viewBox="0 0 100 100"&gt;
-			&lt;circle cx="50"
-				cy="50"
-				r="20"
-				stroke="orange"
-				stroke-width="2px"
-				fill="yellow" /&gt;
+		&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot;
+			viewBox=&quot;0 0 100 100&quot;&gt;
+			&lt;circle cx=&quot;50&quot;
+				cy=&quot;50&quot;
+				r=&quot;20&quot;
+				stroke=&quot;orange&quot;
+				stroke-width=&quot;2px&quot;
+				fill=&quot;yellow&quot; /&gt;
 		&lt;/svg&gt;
 	&lt;/body&gt;
 &lt;/html&gt;;
 
-alert(xhtml.name().localName); // Alerts "html"
-alert(xhtml.name().uri); // Alerts "http://www.w3.org/1999/xhtml"
+alert(xhtml.name().localName); // Alerts &quot;html&quot;
+alert(xhtml.name().uri); // Alerts &quot;http://www.w3.org/1999/xhtml&quot;
 </pre>
 <p>To access elements that are within a non-default namespace, first create a <code>Namespace</code> object encapsulating the URI for that namespace:</p>
-<pre class="brush: js">var svgns = new Namespace('http://www.w3.org/2000/svg');
+<pre class="brush: js">var svgns = new Namespace(&apos;http://www.w3.org/2000/svg&apos;);
 </pre>
 <p>This can now be used in E4X queries by using <code>namespace::localName</code> in place of a normal element specifier:</p>
 <pre class="brush: js">var svg = xhtml..svgns::svg;
@@ -246,7 +246,7 @@ var xcw = xmlChildWalker(a);
 
 var child;
 while ((child = xcw.next()) !== false) {
-    alert(child.toXMLString()); // "&lt;b/&gt;" then "&lt;c/&gt;"
+    alert(child.toXMLString()); // &quot;&lt;b/&gt;&quot; then &quot;&lt;c/&gt;&quot;
 }
 
 </pre>

+ 1 - 1
files/de/firefox_addons_developer_guide/index.html

@@ -13,5 +13,5 @@ translation_of: Archive/Add-ons/Overlay_Extensions/Firefox_addons_developer_guid
 
 
 <div><div style="text-align: right;" class="prevnext">
-    <p><a href="/de/docs//de/docs/Firefox_addons_developer_guide/Einführung_in_Erweiterungen">weiter  »</a></p>
+    <p><a href="/de/docs//de/docs/Firefox_addons_developer_guide/Einführung_in_Erweiterungen" class="button">weiter  »</a></p>
 </div></div>

File diff suppressed because it is too large
+ 1 - 1
files/de/gecko-dom-referenz/index.html


Some files were not shown because too many files changed in this diff