aboutsummaryrefslogtreecommitdiff
path: root/files/ko/archive
diff options
context:
space:
mode:
Diffstat (limited to 'files/ko/archive')
-rw-r--r--files/ko/archive/add-ons/code_snippets/cookies/index.html15
-rw-r--r--files/ko/archive/add-ons/code_snippets/index.html55
-rw-r--r--files/ko/archive/add-ons/code_snippets/page_loading/index.html26
-rw-r--r--files/ko/archive/add-ons/code_snippets/running_applications/index.html51
-rw-r--r--files/ko/archive/add-ons/code_snippets/windows/index.html25
-rw-r--r--files/ko/archive/add-ons/code_snippets/xml/index.html22
-rw-r--r--files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html193
-rw-r--r--files/ko/archive/add-ons/index.html8
-rw-r--r--files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html114
-rw-r--r--files/ko/archive/api/index.html13
-rw-r--r--files/ko/archive/api/navigator/index.html8
-rw-r--r--files/ko/archive/apps/design/planning/index.html23
-rw-r--r--files/ko/archive/apps/index.html14
-rw-r--r--files/ko/archive/b2g_os/api/camera_api/index.html38
-rw-r--r--files/ko/archive/b2g_os/api/camera_api/introduction/index.html247
-rw-r--r--files/ko/archive/b2g_os/api/index.html120
-rw-r--r--files/ko/archive/b2g_os/api/tcpsocket/index.html102
-rw-r--r--files/ko/archive/b2g_os/application_development/index.html12
-rw-r--r--files/ko/archive/b2g_os/apps/index.html57
-rw-r--r--files/ko/archive/b2g_os/apps/writing_a_web_app_for_firefox_os/index.html25
-rw-r--r--files/ko/archive/b2g_os/automated_testing/index.html84
-rw-r--r--files/ko/archive/b2g_os/building/index.html125
-rw-r--r--files/ko/archive/b2g_os/building_and_installing_firefox_os/index.html49
-rw-r--r--files/ko/archive/b2g_os/debugging/debugging_b2g_using_gdb/index.html153
-rw-r--r--files/ko/archive/b2g_os/debugging/index.html84
-rw-r--r--files/ko/archive/b2g_os/dual_boot_of_b2g_and_android_on_sgs2/index.html79
-rw-r--r--files/ko/archive/b2g_os/firefox_os_apps/index.html85
-rw-r--r--files/ko/archive/b2g_os/firefox_os_apps/localization/index.html92
-rw-r--r--files/ko/archive/b2g_os/firefox_os_build_prerequisites/index.html267
-rw-r--r--files/ko/archive/b2g_os/firefox_os_faq/index.html39
-rw-r--r--files/ko/archive/b2g_os/index.html181
-rw-r--r--files/ko/archive/b2g_os/installing_on_a_mobile_device/index.html61
-rw-r--r--files/ko/archive/b2g_os/introduction/index.html83
-rw-r--r--files/ko/archive/b2g_os/pandaboard/index.html36
-rw-r--r--files/ko/archive/b2g_os/phone_guide/index.html6
-rw-r--r--files/ko/archive/b2g_os/platform/architecture/index.html532
-rw-r--r--files/ko/archive/b2g_os/platform/gonk/index.html103
-rw-r--r--files/ko/archive/b2g_os/platform/index.html99
-rw-r--r--files/ko/archive/b2g_os/porting/index.html121
-rw-r--r--files/ko/archive/b2g_os/preparing_for_your_first_b2g_build/index.html148
-rw-r--r--files/ko/archive/b2g_os/quickstart/index.html49
-rw-r--r--files/ko/archive/b2g_os/quickstart/intro_to_firefox_os/index.html14
-rw-r--r--files/ko/archive/b2g_os/quickstart/intro_to_open_web_apps/index.html53
-rw-r--r--files/ko/archive/b2g_os/security/index.html58
-rw-r--r--files/ko/archive/b2g_os/security/보안_모델/index.html253
-rw-r--r--files/ko/archive/b2g_os/simulator/index.html280
-rw-r--r--files/ko/archive/b2g_os/성능/index.html146
-rw-r--r--files/ko/archive/b2g_os/앱_관리자_사용하기/index.html247
-rw-r--r--files/ko/archive/css3/index.html582
-rw-r--r--files/ko/archive/index.html21
-rw-r--r--files/ko/archive/mdn/index.html20
-rw-r--r--files/ko/archive/meta_docs/index.html15
-rw-r--r--files/ko/archive/misc_top_level/index.html8
-rw-r--r--files/ko/archive/misc_top_level/same-origin_policy_for_file_colon__uris/index.html18
-rw-r--r--files/ko/archive/misc_top_level/using_content_preferences/index.html35
-rw-r--r--files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html19
-rw-r--r--files/ko/archive/mozilla/drag_and_drop/index.html148
-rw-r--r--files/ko/archive/mozilla/firefox/index.html8
-rw-r--r--files/ko/archive/mozilla/firefox/using_microformats/index.html144
-rw-r--r--files/ko/archive/mozilla/index.html10
-rw-r--r--files/ko/archive/mozilla/rdf_datasource_how-to/index.html224
-rw-r--r--files/ko/archive/mozilla/xbl/index.html32
-rw-r--r--files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html387
-rw-r--r--files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html118
-rw-r--r--files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html121
-rw-r--r--files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html98
-rw-r--r--files/ko/archive/mozilla/xulrunner/index.html26
-rw-r--r--files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html64
-rw-r--r--files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html107
-rw-r--r--files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html64
-rw-r--r--files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html178
-rw-r--r--files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html168
-rw-r--r--files/ko/archive/rss/getting_started/index.html56
-rw-r--r--files/ko/archive/rss/getting_started/what_is_rss/index.html230
-rw-r--r--files/ko/archive/rss/index.html48
-rw-r--r--files/ko/archive/rss/module/index.html70
-rw-r--r--files/ko/archive/rss/version/index.html109
-rw-r--r--files/ko/archive/security/index.html14
-rw-r--r--files/ko/archive/security/tcp_ip/index.html50
-rw-r--r--files/ko/archive/web/index.html12
-rw-r--r--files/ko/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html98
-rw-r--r--files/ko/archive/web/javascript/index.html12
-rw-r--r--files/ko/archive/web/javascript/legacy_generator_function/index.html58
-rw-r--r--files/ko/archive/web/javascript/legacy_generator_function_statement/index.html59
-rw-r--r--files/ko/archive/web_standards/index.html64
-rw-r--r--files/ko/archive/web_standards/issues_arising_from_arbitrary-element_hover/index.html66
-rw-r--r--files/ko/archive/web_standards/mozilla_s_doctype_sniffing/index.html141
-rw-r--r--files/ko/archive/web_standards/rdf_in_fifty_words_or_less/index.html87
-rw-r--r--files/ko/archive/web_standards/rdf_in_mozilla_faq/index.html292
-rw-r--r--files/ko/archive/web_standards/using_the_right_markup_to_invoke_plugins/index.html263
90 files changed, 0 insertions, 9039 deletions
diff --git a/files/ko/archive/add-ons/code_snippets/cookies/index.html b/files/ko/archive/add-ons/code_snippets/cookies/index.html
deleted file mode 100644
index c3c25b033b..0000000000
--- a/files/ko/archive/add-ons/code_snippets/cookies/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: Cookies
-slug: Archive/Add-ons/Code_snippets/Cookies
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Add-ons/Code_snippets/Cookies
----
-<p> </p>
-<h3 id=".EC.BF.A0.ED.82.A4_.EB.AA.A8.EB.91.90_.EC.97.86.EC.95.A0.EA.B8.B0" name=".EC.BF.A0.ED.82.A4_.EB.AA.A8.EB.91.90_.EC.97.86.EC.95.A0.EA.B8.B0">쿠키 모두 없애기</h3>
-<p>다음 코드는 Firefox/Seamonkey에서 쿠키를 모두 없애는 법을 보여줍니다.</p>
-<pre class="eval">Components.classes["@mozilla.org/cookiemanager;1"]
- .getService(Components.interfaces.nsICookieManager).removeAll();
-</pre>
-<p>{{ languages( { "en": "en/Code_snippets/Cookies", "fr": "fr/Extraits_de_code/Cookies" } ) }}</p>
diff --git a/files/ko/archive/add-ons/code_snippets/index.html b/files/ko/archive/add-ons/code_snippets/index.html
deleted file mode 100644
index 09b381ed68..0000000000
--- a/files/ko/archive/add-ons/code_snippets/index.html
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title: Code snippets
-slug: Archive/Add-ons/Code_snippets
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Add-ons/Code_snippets
----
-<p>
-</p><p>이 문서는 확장기능 개발자들이 다양한 Mozilla 응용프로그램에 빠르게 쓸 수 있는 쓸모 있는 코드 조각(snippet) 목록입니다. 상당수는 XULRunner 응용프로그램 및 Firefox/Thunderbird 코드에서도 쓸 수 있습니다.
-</p>
-<h3 id=".EC.9D.BC.EB.B0.98"> 일반 </h3>
-<dl><dt> <a href="ko/Code_snippets/Tabbed_browser">탭브라우저 코드</a> (Firefox/SeaMonkey)
-</dt><dd> <small>Mozilla 브라우저 응용프로그램의 핵심인 탭브라우저를 다루는 기본적인 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Windows">창 코드</a>
-</dt><dd> <small>창 열기 및 다루기</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Cookies">쿠키</a>
-</dt><dd> <small>쿠키 읽기, 쓰기, 고치기, 없애기</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/XML">XML</a>
-</dt><dd> <small>XML을 구문분석하거나, 작성하거나, 다루는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/File_I%2f%2fO">파일 입출력</a>
-</dt><dd> <small>파일을 읽거나, 쓰거나, 처리하는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Dialogs">대화상자</a>
-</dt><dd> <small>대화상자를 나타내거나, 처리하는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Preferences">선택사항</a>
-</dt><dd> <small>선택사항을 읽거나, 쓰거나, 고치는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Page_Loading">페이지 불러오기</a>
-</dt><dd> <small>페이지를 로드하거나, 재로드하거나, 페이지 로드를 청취하는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Interaction_between_privileged_and_non-privileged_pages">특권 코드와 비특권 코드 사이의 상호 작용</a>
-</dt><dd> <small>부가기능이 웹사이트와 또는 그 반대로 통신하는 법</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/JS_XPCOM">JS XPCOM</a>
-</dt><dd> <small>JavaScript로 맞춤 XPCOM 컴포넌트를 정의하고 호출하는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Running_applications">응용프로그램 실행하기</a>
-</dt><dd> <small>다른 응용프로그램을 실행하는 데 쓰는 코드</small>
-</dd></dl>
-<h3 id=".EC.9C.88.EB.8F.84_.EA.B3.A0.EC.9C.A0_.EC.BD.94.EB.93.9C"> 윈도 고유 코드 </h3>
-<dl><dt> <a href="ko/Code_snippets/Finding_Window_Handles">윈도 핸들(HWND) 구하기</a> (Firefox)
-</dt><dd> <small>Windows API로 가지각색의 Mozilla 윈도 핸들을 구하는 법입니다. 윈도 핸들은 IPC 및 접근성 목적으로 쓰일 수 있습니다.</small>
-</dd></dl>
-<dl><dt> <a href="ko/Accessing_the_Windows_Registry_Using_XPCOM">XPCOM으로 윈도 레지스트리 쓰기</a>
-</dt><dd> <small>레지스트리 키 및 값을 읽거나, 쓰거나, 고치거나, 없애거나, 열거하거나, 주목하는 법</small>
-</dd></dl>
-<h3 id=".EC.99.B8.EB.B6.80_.EB.A7.81.ED.81.AC"> 외부 링크 </h3>
-<p><a class="external" href="http://kb.mozillazine.org/Category:Example_code">MozillaZine 예제 코드</a>의 내용이 여기로 천천히 옮겨지고 있습니다. 하지만 지금은 쓸만한 예제를 그곳에서 찾을 수 있습니다.
-</p>{{ languages( { "en": "en/Code_snippets", "fr": "fr/Extraits_de_code", "ja": "ja/Code_snippets" } ) }}
diff --git a/files/ko/archive/add-ons/code_snippets/page_loading/index.html b/files/ko/archive/add-ons/code_snippets/page_loading/index.html
deleted file mode 100644
index ddf4043032..0000000000
--- a/files/ko/archive/add-ons/code_snippets/page_loading/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: Page Loading
-slug: Archive/Add-ons/Code_snippets/Page_Loading
-translation_of: Archive/Add-ons/Code_snippets/Page_Loading
----
-<p> </p>
-<h3 id=".ED.8E.98.EC.9D.B4.EC.A7.80_.EB.B6.88.EB.9F.AC.EC.98.A4.EA.B8.B0" name=".ED.8E.98.EC.9D.B4.EC.A7.80_.EB.B6.88.EB.9F.AC.EC.98.A4.EA.B8.B0">페이지 불러오기</h3>
-<dl>
- <dt>
- <a href="ko/Code_snippets/On_page_load">페이지가 로드될 때</a></dt>
- <dd>
- <small>새 페이지가 브라우저/메일에 로드될 때마다 코드를 실행하는 법</small></dd>
-</dl>
-<dl>
- <dt>
- <a href="ko/Code_snippets/Progress_Listeners">진행 청취자</a></dt>
- <dd>
- <small>진행 청취자는 확장기능이 브라우저 안의 문서 로드와 관련된 이벤트 및 탭 갈아타기 이벤트를 통보받을 수 있게 합니다.</small></dd>
-</dl>
-<dl>
- <dt>
- <a href="ko/Code_snippets/Post_data_to_window">창에 데이터를 넘기기</a></dt>
- <dd>
- <small>현존하거나 새로 만든 창/탭에 데이터를 넘기는 코드</small></dd>
-</dl>
-<p>{{ languages( { "en": "en/Code_snippets/Page_Loading", "fr": "fr/Extraits_de_code/Chargement_de_page", "ja": "ja/Code_snippets/Page_Loading" } ) }}</p>
diff --git a/files/ko/archive/add-ons/code_snippets/running_applications/index.html b/files/ko/archive/add-ons/code_snippets/running_applications/index.html
deleted file mode 100644
index a05c52db62..0000000000
--- a/files/ko/archive/add-ons/code_snippets/running_applications/index.html
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: Running applications
-slug: Archive/Add-ons/Code_snippets/Running_applications
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Add-ons/Code_snippets/Running_applications
----
-<p>
-</p><p>본 페이지에서는 Mozilla XPCOM 인터페이스를 이용해서 chrome JavaScript 코드로 다른 프로그램을 실행하는 방법에 대해 설명하겠습니다. 프로그램을 실행하는데는 두 가지 방법이 있습니다. 첫번째 방법은 <code><a href="ko/NsILocalFile/launch">nsILocalFile:launch</a></code> 메소드를 사용하는 것이고, 두번째 방법은 <code><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIProcess.html">nsIProcess</a></code> 인터페이스를 사용하는 것입니다.
-</p>
-<h3 id="nsILocalFile.launch.28.29_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0" name="nsILocalFile.launch.28.29_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0"> <code>nsILocalFile.launch()</code> 이용하기 </h3>
-<p>이 방법은 실행 파일을 더블 클릭하는 것과 동일한 효과가 나타나며 파라미터 없이 실행됩니다. 또 구현되지 않은 플랫폼도 있으므로 여러분이 대상으로 하는 플랫폼에서 이 메소드가 구현되어 있는지 확인해야 합니다.
-</p><p><code><a href="ko/NsIFile">nsIFile</a></code>/<code><a href="ko/NsILocalFile">nsILocalFile</a></code>에 대한 보다 자세한 정보는 <a href="ko/Code_snippets/File_I%2f%2fO">File I/O</a>를 참조하세요.
-</p><p>For more information on <code><a href="ko/NsIFile">nsIFile</a></code>/<code><a href="ko/NsILocalFile">nsILocalFile</a></code>, see <a href="ko/Code_snippets/File_I%2f%2fO">File I/O</a>.
-</p>
-<pre class="eval">var file = Components.classes["@mozilla.org/file/local;1"]
- .createInstance(Components.interfaces.nsILocalFile);
-file.initWithPath("c:\\myapp.exe");
-file.launch();
-</pre>
-<h3 id="nsIProcess_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0" name="nsIProcess_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0"> <code>nsIProcess</code> 이용하기 </h3>
-<p><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIProcess.html">nsIProcess</a> 인터페이를 사용하는 것이 권장되는 방법 입니다.
-</p>
-<pre class="eval">// create an nsILocalFile for the executable
-var file = Components.classes["@mozilla.org/file/local;1"]
- .createInstance(Components.interfaces.nsILocalFile);
-file.initWithPath("c:\\myapp.exe");
-
-// create an nsIProcess
-var process = Components.classes["@mozilla.org/process/util;1"]
- .createInstance(Components.interfaces.nsIProcess);
-process.init(file);
-
-// Run the process.
-// If first param is true, calling thread will be blocked until
-// called process terminates.
-// Second and third params are used to pass command-line arguments
-// to the process.
-var args = ["argument1", "argument2"];
-process.run(false, args, args.length);
-</pre>
-<h3 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0"> 참고 </h3>
-<ul><li><a href="ko/NsILocalFile"> nsILocalFile 인터페이스</a>
-</li><li><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIProcess.html">nsIProcess 인터페이스</a>
-</li><li> XPI에 포함된 실행 파일을 실행해야 한다면 <a href="ko/Code_snippets/File_I%2f%2fO#Getting_your_extension.27s_folder">Code snippets:File I/O#Getting your extension's folder</a>를 참조하세요.
-</li><li><a class="external" href="http://groups.google.com/group/mozilla.dev.extensions/browse_frm/thread/947e63c95c14b5a5">웹 페이지에서 프로세스 실행하기</a>
-</li></ul>
-<div class="noinclude">
-</div>
-{{ languages( { "en": "en/Code_snippets/Running_applications", "fr": "fr/Extraits_de_code/Ex\u00e9cuter_des_applications", "ja": "ja/Code_snippets/Running_applications", "pl": "pl/Fragmenty_kodu/Uruchamianie_aplikacji" } ) }}
diff --git a/files/ko/archive/add-ons/code_snippets/windows/index.html b/files/ko/archive/add-ons/code_snippets/windows/index.html
deleted file mode 100644
index 00e4febdb1..0000000000
--- a/files/ko/archive/add-ons/code_snippets/windows/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: Windows
-slug: Archive/Add-ons/Code_snippets/Windows
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Add-ons/Code_snippets/Windows
----
-<p> </p>
-<h3 id=".EC.83.88_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.B0.BD_.EC.97.B4.EA.B8.B0" name=".EC.83.88_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.B0.BD_.EC.97.B4.EA.B8.B0">새 브라우저 창 열기</h3>
-<p>브라우저 창을 새로 열려면 간단히 <code>window.open()</code>을 쓸 수 있습니다. 그러나 <code>window.open()</code>은 브라우저 창 자체가 아닌 내용의 <code>Window</code> 객체를 반환합니다. 그래서 먼저 크롬 <code>Window</code>를 구해야 합니다. 가장 간단한 방법은 <a href="ko/NsIWindowMediator">nsIWindowMediator</a>를 쓰는 것입니다.</p>
-<h4 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h4>
-<p> </p>
-<pre class="eval">window.open();
-var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
- .getService(Components.interfaces.nsIWindowMediator);
-var newWindow = wm.getMostRecentWindow("navigator:browser");
-var b = newWindow.getBrowser();
-// why did we do this? we never do anything with |b|
-</pre>
-<h3 id=".EB.8B.A4.EB.A5.B8_.EB.AC.B8.EC.84.9C" name=".EB.8B.A4.EB.A5.B8_.EB.AC.B8.EC.84.9C">다른 문서</h3>
-<ul>
- <li><a href="ko/Working_with_windows_in_chrome_code">크롬 코드에서 창 다루기</a></li>
-</ul>
-<p>{{ languages( { "en": "en/Code_snippets/Windows", "fr": "fr/Extraits_de_code/Onglets_de_navigation" } ) }}</p>
diff --git a/files/ko/archive/add-ons/code_snippets/xml/index.html b/files/ko/archive/add-ons/code_snippets/xml/index.html
deleted file mode 100644
index 46749c928e..0000000000
--- a/files/ko/archive/add-ons/code_snippets/xml/index.html
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: XML
-slug: Archive/Add-ons/Code_snippets/XML
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Add-ons/Code_snippets/XML
----
-<ul>
- <li><a href="ko/How_to_Create_a_DOM_tree">DOM 트리를 만드는 법</a></li>
- <li><a href="ko/XMLHttpRequest">XMLHttpRequest 쓰기</a></li>
- <li><a href="ko/Parsing_and_serializing_XML">XML 구문분석 및 직렬화</a></li>
- <li><a href="ko/Using_XPath">XPath 쓰기</a></li>
- <li><a href="ko/XSL_Transforms">XSL 변환</a></li>
- <li><a href="ko/XLink">XLink</a></li>
- <li><a href="ko/XPointer">XPointer</a></li>
- <li><a href="ko/SVG">SVG</a></li>
- <li><a href="ko/Namespaces">네임스페이스</a>, 또는 모든 XUL 문서의 맨위에 <code><a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a></code>이 있는 까닭</li>
- <li><a href="ko/E4X">E4X</a></li>
-</ul>
-
-<p>{{ languages( { "en": "en/Code_snippets/XML", "fr": "fr/Extraits_de_code/XML" } ) }}</p>
diff --git a/files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html b/files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html
deleted file mode 100644
index f5f9d69790..0000000000
--- a/files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html
+++ /dev/null
@@ -1,193 +0,0 @@
----
-title: 'Extension Versioning, Update and Compatibility'
-slug: 'Archive/Add-ons/Extension_Versioning,_Update_and_Compatibility'
-tags:
- - Add-ons
- - Extensions
-translation_of: 'Archive/Add-ons/Extension_Versioning,_Update_and_Compatibility'
----
-<p> </p>
-<h2 id=".EB.B6.80.EA.B0.80_.EA.B8.B0.EB.8A.A5_.EB.B2.84.EC.A0.80.EB.8B.9D.28Versioning.29" name=".EB.B6.80.EA.B0.80_.EA.B8.B0.EB.8A.A5_.EB.B2.84.EC.A0.80.EB.8B.9D.28Versioning.29">부가 기능 버저닝(Versioning)</h2>
-<p>부가 기능은 <a href="ko/Toolkit_version_format">Toolkit version format</a>을 이용해 자신의 버전을 명시해야 합니다. 이는 다음과 같이 점으로 분리된 버전 문자열이라고 말씀드릴 수 있습니다.</p>
-<ul>
- <li>2.0</li>
- <li>1.0b1</li>
- <li>3.0pre1</li>
- <li>5.0.1.2</li>
-</ul>
-<div class="note">
- <b>참고:</b> Firefox 1.5 이전에는 좀 더 기본적인 Firefox Version Format을 사용했었습니다. 이 포맷은 major.minor.release.build[+] 의 형태로 구성되며 숫자만 사용할 수 있었습니다. Toolkit version format은 Firefox version format을 지원하면서도 더 많은 유연성을 제공합니다.</div>
-<h2 id=".EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.98_.ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.B0.A9.EB.B2.95" name=".EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.98_.ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.B0.A9.EB.B2.95">응용 프로그램의 호환성 검사 방법</h2>
-<p>부가기능을 설치하기 전에 응용 프로그램은 부가기능의 &lt;tt&gt;install.rdf&lt;/tt&gt;에 있는 <code><a href="ko/Install.rdf#targetApplication">targetApplication</a></code> 항목을 조사합니다. 해당 항목에는 대상 응용프로그램과 동일한 ID가 존재해야 합니다. 또한 이 항목의 <code>minVersion</code>과 <code>maxVersion</code>은 부가기능이 실행되는 응용프로그램의 버전이 포함되는 범위이어야 합니다.</p>
-<p>만일 응용프로그램이 <code>targetApplication</code> 요소를 가지고 있지만 호환되지 않는 버전일 경우 부가 기능의 <code><a href="ko/Install.rdf#updateURL">updateURL</a></code>에서 업데이트된 호환 정보를 조회해 제공합니다.</p>
-<p>만일 &lt;tt&gt;install.rdf&lt;/tt&gt;에 <code><a href="ko/Install.rdf#targetPlatform">targetPlatform</a></code> 항목들이 포함되어 있으며, 현재 응용프로그램이 실행되는 플랫폼이 해당 목록에 포함되어 있지 않을 경우 설치가 거부됩니다.</p>
-<p></p><div class="blockIndicator standardNote standardNoteBlock">
- <p><a href="https://developer.mozilla.org/ko/docs/Mozilla/Firefox/Releases/3">Firefox 3 note</a></p>
- <p style="font-weight: 400;">Gecko 1.9 기반의 응용프로그램일 경우 <code>targetApplication</code> 항목에 응용프로그램이 실행되는 툴킷 버전에 해당하는 <code>toolkit@mozilla.org</code>, <code>minVersion</code>, <code>maxVersion</code> 값을 사용할 수 있습니다. 이는 여러분의 부가 기능이 해당 툴킷 기반의 어떤 응용프로그램에서도 설치 가능하다는 것을 나타냅니다.</p>
-</div><p></p>
-<h3 id=".ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.AC.B4.EC.8B.9C.ED.95.98.EA.B8.B0" name=".ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.AC.B4.EC.8B.9C.ED.95.98.EA.B8.B0">호환성 검사 무시하기</h3>
-<p> 테스트를 목적으로 할 경우 응용프로그램에 부가기능을 설치할 때 호환성 검사를 무시하도록 할 수 있습니다. 연산자(boolean) 형으로 <code>extensions.checkCompatibility</code> 설정을 만들고 <code>false</code>로 지정하면 됩니다.</p>
-<div class="note">
- <b>참고:</b> Firefox 1.5 이전 버전에서는 <code>app.extensions.version</code> 설정을 통해 응용프로그램의 버전을 오버라이드할 수도 있습니다. 이는 응용프로그램 자신이 호환되지 않는 확장 기능을 설치할 수 있다고 믿게끔 해 줍니다.</div>
-<h2 id="minVersion.EA.B3.BC_maxVersion_.EA.B2.B0.EC.A0.95.ED.95.98.EA.B8.B0" name="minVersion.EA.B3.BC_maxVersion_.EA.B2.B0.EC.A0.95.ED.95.98.EA.B8.B0">minVersion과 maxVersion 결정하기</h2>
-<p><code>minVersion</code>과 <code>maxVersion</code>은 여러분이 테스트한 응용프로그램의 버전 범위로 명시하는게 좋습니다. 특히 향후 API와 UI가 어떻게 변경될지 모르기 때문에 <code>maxVersion</code>을 현재 가능한 응용프로그램의 버전보다 높게 설정하지 않아야 합니다. <a href="#Compatibility_Updates">호환성 업데이트</a>를 이용하면 확장기능의 새로운 버전을 공개할 필요 없이 <code>maxVersion</code>만 증가시키면 됩니다.</p>
-<p><code>maxVersion</code>에서는 여러분이 지원하는 응용프로그램의 하위(minor) 버전 위치에 *를 사용할 수 있습니다. 예를 들어 2.0.0.*은 2 버전 응용프로그램에서의 하위 업데이트를 지원하는다는 것을 의미합니다. 응용 프로그램은 보통 확장 기능 작성자에게 버전의 어떤 부분을 이렇게 사용할 수 있는지 제안할 것입니다.</p>
-<p>실수로 *를 어떤 버전도 지원한다는 의미로 생각하지 마세요. 사실 *는 무한의 높은 숫자를 나타내며, 따라서 <code>maxVersion</code>에서 사용하였을때만 의미가 있습니다. 이를 <code>minVersion</code>에서 사용하면 여러분이 원하는 효과가 나지 않을 수 있습니다.</p>
-<h2 id=".EC.9E.90.EB.8F.99_.EB.B6.80.EA.B0.80.EA.B8.B0.EB.8A.A5_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EA.B2.80.EC.82.AC" name=".EC.9E.90.EB.8F.99_.EB.B6.80.EA.B0.80.EA.B8.B0.EB.8A.A5_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EA.B2.80.EC.82.AC">자동 부가기능 업데이트 검사</h2>
-<p>응용프로그램은 주기적으로 설치된 부가기능의 <code><a href="ko/Install.rdf#updateURL">updateURL</a></code>에서 정보를 가져와 업데이트 여부를 검사합니다. 반환된 정보는 사용자에게 부가기능의 업데이트된 버전이 있는지를 알려주고 응용프로그램에게는 해당 부가기능과 호환되는 응용프로그램의 버전을 알려줍니다.</p>
-<h3 id=".ED.98.B8.ED.99.98.EC.84.B1_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8" name=".ED.98.B8.ED.99.98.EC.84.B1_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8">호환성 업데이트</h3>
-<p>자동 업데이트 검사를 통해 응용프로그램은 현재 설치된 부가 기능 버전에 대한 새로운 버전과 갱신된 호환성 정보를 조사합니다. 만일 작성된 업데이트 선언에 현재 설치된 부가 기능에 대한 항목이 존재하고 해당 항목의 <code>targetApplication</code>에 더 큰 maxVersion이 명시되어 있을 경우, 응용 프로그램은 부가 기능의 &lt;tt&gt;install.rdf&lt;/tt&gt;에 명시된 값 대신 이 값을 사용하게 됩니다. 이는 호환성 문제로 사용 안함 상태로 되어 있는 부가 기능을 사용 가능한 상태로 만들 수도 있으며, 정상적으로 설치되지 않은 부가 기능을 정상적으로 설치된 상태로 만들 수도 있습니다.</p>
-<h3 id=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_RDF_.ED.8F.AC.EB.A7.B7" name=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_RDF_.ED.8F.AC.EB.A7.B7">업데이트 RDF 포맷</h3>
-<p>여러분이 부가기능의 <code>updateURL</code>을 직접 호스팅하는 경우, 부가기능의 버전 정보를 RDF 포맷으로 반환해야만 합니다. 아래는 업데이트 선언(update manifest) 예제입니다. 여기서는 id가 <code><a class="link-mailto" href="mailto:foobar@developer.mozilla.org" rel="freelink">foobar@developer.mozilla.org</a></code>인 서로 다른 2가지 버전의 확장기능에 대한 정보를 나열하고 있습니다. 포함된 버전은 2.2와 2.5 이고 둘 다 Firefox 1.5에서 2.0.0.* 버전에서 호환된다고 명시하고 있습니다. 버전 2.2의 경우 https 업데이트 링크를 사용하고 있으며, 버전 2.5는 일반적인 http 링크를 사용하며 전송된 파일의 유효성을 검사하기 위해 해시를 포함하고 있습니다.</p>
-<p>맨 처음에 있는 RDF:Description의 about 속성을 올바르게 설정하는 것이 중요합니다. 이 속성은 제공 정보가 어떤 종류의 부가기능에 대한 것인지에 따라 다음과 같이 달라집니다.</p>
-<ul>
- <li>확장 기능일 경우 <code>urn:mozilla:extension:&lt;id&gt;</code> 이어야 합니다.</li>
- <li>테마인 경우 <code>urn:mozilla:theme:&lt;id&gt;</code> 이어야 합니다.</li>
- <li>이 외의 다른 유형인 경우 <code>urn:mozilla:item:&lt;id&gt;</code> 이어야 합니다.</li>
-</ul>
-<p>아래 예제의 경우 이후 버전이 이전 버전보다 나중에 명시되어야 한다는 점에서 &lt;RDF:Seq&gt; 요소 내에 있는 버전의 순서가 중요합니다. 만일 최종 버전이 제공된다면 이전 버전 모두가 명시될 필요는 없습니다(?).</p>
-<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;
-
- &lt;!-- Description 리소스에는 id가 foobar@developer.mozilla.org인
- 단일 부가 기능에 대한 모든 업데이트와 호환성 정보를 포함합니다.
- 여러분은 하나의 RDF 파일에 여러개의 부가기능에 대한 정보를 나열할 수 있습니다. --&gt;
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org"&gt;
- &lt;em:updates&gt;
- &lt;RDF:Seq&gt;
-
- &lt;!-- 각각의 li는 동일한 부가기능에 대한 서로 다른 버전을 나타냅니다. --&gt;
- &lt;RDF:li&gt;
- &lt;RDF:Description&gt;
- &lt;em:version&gt;2.2&lt;/em:version&gt; &lt;!-- 이것은 부가기능의 버전 번호입니다. --&gt;
-
- &lt;!-- 이 부가 기능과 호환되는 각각의 응용 프로그램에 대해 targetApplication이 하나씩 존재합니다. --&gt;
- &lt;em:targetApplication&gt;
- &lt;RDF:Description&gt;
- &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
- &lt;em:minVersion&gt;1.5&lt;/em:minVersion&gt;
- &lt;em:maxVersion&gt;2.0.0.*&lt;/em:maxVersion&gt;
-
- &lt;!-- 이 부가 기능을 다운로드 받을 위치를 나타냅니다. --&gt;
- &lt;em:updateLink&gt;https://www.mysite.com/foobar2.2.xpi&lt;/em:updateLink&gt;
-
- &lt;!-- 업데이트된 버전에서 제공되는 새로운 기능을 설명하는 페이지에 대한 URL입니다. --&gt;
- &lt;em:updateInfoURL&gt;http://www.mysite.com/updateinfo2.2.xhtml&lt;/em:updateInfoURL&gt;
- &lt;/RDF:Description&gt;
- &lt;/em:targetApplication&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
-
- &lt;RDF:li&gt;
- &lt;RDF:Description&gt;
- &lt;em:version&gt;2.5&lt;/em:version&gt;
- &lt;em:targetApplication&gt;
- &lt;RDF:Description&gt;
- &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
- &lt;em:minVersion&gt;1.5&lt;/em:minVersion&gt;
- &lt;em:maxVersion&gt;2.0.0.*&lt;/em:maxVersion&gt;
- &lt;em:updateLink&gt;http://www.mysite.com/foobar2.5.xpi&lt;/em:updateLink&gt;
- &lt;em:updateHash&gt;sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6&lt;/em:updateHash&gt;
- &lt;/RDF:Description&gt;
- &lt;/em:targetApplication&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
-
- &lt;/RDF:Seq&gt;
- &lt;/em:updates&gt;
-
- &lt;!-- 서명은 부가기능의 install.rdf에 updateKey를 포함하고 있는 경우에만 필요합니다. --&gt;
- &lt;em:signature&gt;MIGTMA0GCSqGSIb3DQEBBQUAA4GBAMO1O2gwSCCth1GwYMgscfaNakpN40PJfOWt
- ub2HVdg8+OXMciF8d/9eVWm8eH/IxuxyZlmRZTs3O5tv9eWAY5uBCtqDf1WgTsGk
- jrgZow1fITkZI7w0//C8eKdMLAtGueGfNs2IlTd5P/0KH/hf1rPc1wUqEqKCd4+L
- BcVq13ad&lt;/em:signature&gt;
- &lt;/RDF:Description&gt;
-&lt;/RDF:RDF&gt;
-</pre>
-<p>어떤 사람들은 다음의 포맷을 더 좋아합니다(본 예제에서는 기본 구조를 중점적으로 보여주기 위해 몇 가지 정보가 생략되어 있습니다).</p>
-<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;
-
- &lt;!-- Description 리소스에는 id가 foobar@developer.mozilla.org인
- 단일 부가 기능에 대한 모든 업데이트와 호환성 정보를 포함합니다.
- 여러분은 하나의 RDF 파일에 여러개의 부가기능에 대한 정보를 나열할 수 있습니다. --&gt;
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org"&gt;
- &lt;em:updates&gt;
- &lt;RDF:Seq&gt;
- &lt;!-- resource 속성은 아래에 있는 RDF:Description의 동일한 about 속성을 가리킵니다.
- 실제 uri는 어떤 값이든 상관 없습니다. --&gt;
- &lt;RDF:li resource="urn:mozilla:extension:foobar@developer.mozilla.org:2.2"/&gt;
- &lt;RDF:li resource="urn:mozilla:extension:foobar@developer.mozilla.org:2.5"/&gt;
- &lt;/RDF:Seq&gt;
- &lt;/em:updates&gt;
- &lt;em:signature&gt;MIGTMA0GCSqGSIb3DQEBBQUAA4GBAMO1O2gwSCCth1GwYMgscfaNakpN40PJfOWt
- ub2HVdg8+OXMciF8d/9eVWm8eH/IxuxyZlmRZTs3O5tv9eWAY5uBCtqDf1WgTsGk
- jrgZow1fITkZI7w0//C8eKdMLAtGueGfNs2IlTd5P/0KH/hf1rPc1wUqEqKCd4+L
- BcVq13ad&lt;/em:signature&gt;
- &lt;/RDF:Description&gt;
-
- &lt;!-- 다음은 앞선 예제에서 li 요소 내에 있는 Description과 동일합니다. --&gt;
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org:2.2"&gt;
- &lt;em:version&gt;2.2&lt;/em:version&gt;
-
- &lt;!-- 나머지 내용은 생략하였습니다. --&gt;
-
- &lt;/RDF:Description&gt;
-
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org:2.5"&gt;
- &lt;em:version&gt;2.5&lt;/em:version&gt;
-
- &lt;!-- 나머지 내용은 생략하였습니다. --&gt;
-
- &lt;/RDF:Description&gt;
-
-&lt;/RDF:RDF&gt;
-</pre>
-<h3 id=".EA.B0.B1.EC.8B.A0_.EC.82.AC.ED.95.AD.EC.97.90_.EB.8C.80.ED.95.9C_.EC.84.B8.EB.B6.80_.EC.A0.95.EB.B3.B4_.EC.A0.9C.EA.B3.B5.ED.95.98.EA.B8.B0" name=".EA.B0.B1.EC.8B.A0_.EC.82.AC.ED.95.AD.EC.97.90_.EB.8C.80.ED.95.9C_.EC.84.B8.EB.B6.80_.EC.A0.95.EB.B3.B4_.EC.A0.9C.EA.B3.B5.ED.95.98.EA.B8.B0">갱신 사항에 대한 세부 정보 제공하기</h3>
-<p></p>
-<p>부가 기능 사용자에게 갱신된 사항에 대한 세부 정보를 제공할 수 있습니다. 이는 사용자가 부가 기능의 업데이트 알림을 받은 경우에만 보여지는 것으로, 어떤 기능이 새롭게 추가되었고 보안과 관련된 어떤 문제들이 해결되었는지 등에 대한 빠른 개요를 제공해주는데 사용될 수 있습니다.</p>
-<p>이를 위해 먼저 업데이트 선언 파일에 <code>updateInfoURL</code> 항목을 추가해야 합니다(위 예제를 보세요). 이 URL에 해당하는 페이지가 사용자에게 출력됩니다. 이 페이지는 일반적인 웹 페이지 외부에 출력되므로 깨끗하게 만들어져야 합니다. 이는 몇 가지 사항만이 가능하고 스크립트나 이미지들은 사용할 수 없다는 것을 의미합니다. 일반 규칙으로 다음의 태그들만 사용하는게 좋으며, 다른 태그들은 무시됩니다.</p>
-<ul>
- <li>제목으로 사용되는 h1, h2, h3</li>
- <li>문단으로 사용되는 p</li>
- <li>목록으로 사용되는 ul과 ol</li>
-</ul>
-<p>목록 내에서는 개별 항목을 나타내는 <code>li</code> 태그를 사용합니다.</p>
-<p>h1, h2, h3, p, li 태그 내에서는 다음을 사용할 수 있습니다.</p>
-<ul>
- <li>두꺼운 글자를 위해 b 나 strong</li>
- <li>이탤릭 글자를 위해 i 나 em</li>
-</ul>
-<p>해당 페이지는 완전히 유효한 XHTML이어야 하면 MIME type이 <code>application/xhtml+xml</code>어야 합니다.</p>
-<p>업데이트 선언 파일의 <code>updateInfoURL</code>에는 URL에 로케일 정보를 포함하고자 할 경우 <code>%APP_LOCALE%</code>을 포함할 수 있습니다. 이를 이용하면 사용자의 로케일에 따라 내용을 수정할 수 있습니다. 이 외에도 <code>updateURL</code>에서 지원하는 또 다른 치환 문자열을 사용할 수 있습니다만, 별로 필요하지는 않을 것입니다.</p>
-<h3 id=".EB.B3.B4.EC.95.88_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8" name=".EB.B3.B4.EC.95.88_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8">보안 업데이트</h3>
-<p> </p>
-<p>Gecko 1.9는 부가 기능 업데이트와 같은 경우에 사용자를 <a class="external" href="http://en.wikipedia.org/wiki/Man-in-the-middle_attack">man-in-the-middle attacks</a>에서 보호하기 위해 설계된 부가적인 요구 사항을 추가했습니다. 이미 설치된 부가 기능의 install.rdf에서 <code>updateURL</code>을 다음 방법 중 한 가지로 지정해야 합니다.</p>
-<ul>
- <li><code><a href="ko/Install.rdf#updateURL">updateURL</a></code>이 https를 사용하거나 <code>updateURL</code>이 전혀 없습니다 (which defaults to &lt;tt&gt;addons.mozilla.org&lt;/tt&gt; which is https).</li>
- <li><code><a href="ko/Install.rdf#updateURL">updateURL</a></code>이 http를 사용하고 업데이트 선언에 있는 데이터를 확인하는데 사용할 <code><a href="ko/Install.rdf#updateKey">updateKey</a></code> 항목을 지정합니다.</li>
-</ul>
-<p>&lt;tt&gt;install.rdf&lt;/tt&gt;에서 <code>updateKey</code>를 지정할 때는 업데이트 선언에 <a href="#Signing_Update_Manifests">digital signature</a>를 포함해야 하며 그렇지 않으면 정보가 거부됩니다.</p>
-<p><code>updateURL</code>에서 전달된 업데이트 선언에서는 <code>updateLink</code>를 다음 방법 중 한 가지로 지정해야 합니다.</p>
-<ul>
- <li>XPI 파일을 가리키는 <code>updateLink</code>는 꼭 https를 사용해야 합니다.</li>
- <li><code>updateLink</code>가 http를 사용할 수 있으며, sha1, sha256, sha384, sha512 중 하나의 알고리즘을 이용하여 XPI 파일에 대한 <code><a href="#Update_Hashes">updateHash</a></code>를 포함해야 합니다.</li>
-</ul>
-<p>업데이트 선언에서 위의 두 가지 요구 사항 중 하나를 만족하지 못하는 모든 항목은 새로운 버전을 확인할 때 무시됩니다.</p>
-<p>잘못된 인증서를 가진 사이트로 가는 https 링크나 http 사이트로 리디렉트하는 것은 &lt;tt&gt;update.rdf&lt;/tt&gt;와 <code>updateLink</code>의 두 가지 경우에 모두 실패합니다.</p>
-<h4 id=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.ED.95.B4.EC.8B.9C" name=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.ED.95.B4.EC.8B.9C">업데이트 해시</h4>
-<p>다운로드한 XPI의 무결성을 확인하기 위하여 updateLink와 함께 <code>updateHash</code> 항목을 제공해야 합니다. 이 해시는 파일 데이터에 대하여 문자열 형식으로 생성해야 합니다. 문자열의 시작에 사용한 해시 알고리즘을 넣고 <code>:</code>으로 해시와 구별합니다.</p>
-<pre> &lt;em:updateHash&gt;sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6&lt;/em:updateHash&gt;
-</pre>
-<p>해시가 지정되면 다운로드한 파일을 해시와 비교하고 일치하지 않으면 오류를 표시합니다.</p>
-<h4 id=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EC.84.A0.EC.96.B8_.EC.84.9C.EB.AA.85.ED.95.98.EA.B8.B0" name=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EC.84.A0.EC.96.B8_.EC.84.9C.EB.AA.85.ED.95.98.EA.B8.B0">업데이트 선언 서명하기</h4>
-<p> </p>
-<p>업데이트 RDF를 일반 http로 제공하기를 원한다면, Gecko 1.9 기반의 애플리케이션에서는 업데이트 선언을 서명해야 합니다. 이는 해당 정보를 생성한 여러분과 그것을 추출하는 애플리케이션 사이에서 간섭이 없었다는 것을 확인하기 위한 것입니다. 업데이트 RDF를 서명하는 데에는 <a href="ko/McCoy">McCoy</a> 도구를 사용해야 합니다.</p>
-<p>서명 방식에 대한 기술적인 세부 사항은 이 문서의 범위를 벗어나지만 기본적인 사항은 다음과 같습니다.</p>
-<p>부가 기능 작성자가 공개/개인 RSA 암호 키 쌍을 생성합니다.</p>
-<p>공개키는 DER로 인코드된 후에 base 64로 인코드되어 부가 기능의 &lt;tt&gt;install.rdf&lt;/tt&gt;에 <code><a href="ko/Install.rdf#updateKey">updateKey</a></code> 항목으로 추가됩니다.</p>
-<p>작성자가 업데이트 RDF 파일을 생성할 때 도구를 사용하여 개인키로 서명합니다. 대략적으로 이야기하면, 업데이트 정보는 문자열로 변환되어 sha512 해시 알고리즘으로 해시되고 개인키로 이 해시를 서명합니다. 결과 데이터는 DER로 인코드하고 base 64로 인코드한 후 업데이트 RDF에 <code>em:signature</code> 항목으로 포함합니다.</p>
diff --git a/files/ko/archive/add-ons/index.html b/files/ko/archive/add-ons/index.html
deleted file mode 100644
index d1851bd7ee..0000000000
--- a/files/ko/archive/add-ons/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Add-ons
-slug: Archive/Add-ons
-translation_of: Archive/Add-ons
----
-<p>In progress. Archived add-ons documentation.</p>
-
-<p></p>
diff --git a/files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html b/files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html
deleted file mode 100644
index 96b33ef569..0000000000
--- a/files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html
+++ /dev/null
@@ -1,114 +0,0 @@
----
-title: Listening to events
-slug: Archive/Add-ons/Listening_to_events_in_Firefox_extensions
-translation_of: Archive/Add-ons/Listening_to_events_in_Firefox_extensions
----
-<p>Gecko는 사용자가 알기 원하는 흥미로운 것들에 대해 정보를 전달하기 위한 이벤트들을 사용합니다. 이벤트들은 여러 종류 를 가지지만, 이 문헌은 여러분이 그것들에 대해 배우고 여러분이 그것들에 대한 더 특정한 문서들을 직접적(쉽게)으로 접근하는데 도와 줄 것입니다. 또 이 문헌은 관심을 가질 만한 몇 가지 케이스를 제공합니다.</p>
-<h2 id="이벤트들의_타입들">이벤트들의 타입들</h2>
-<p>개발자들은 어플리케이션과 확장기능 안에 포함된 콘텐트의 load와 그 변경에 대해 알기 위해, <a class="internal" href="/en/XUL/browser" title="En/XUL/Browser"><code>browser</code></a> 와 <code><a class="internal" href="/en/XUL/tabbrowser" title="En/XUL/Tabbrowser">tabbrowser</a></code>의 요소들로 부터의 알림을 받을 수 있는데 이것은 여러 이벤트들의 타입들로 가능합니다.</p>
-<h3 id="간단한_DOM_이벤트들">간단한 DOM 이벤트들</h3>
-<p>DOM 이벤트는 다음과 같은 코드로 등록할 수 있습니다:</p>
-<pre>function callback(evt) {
- // Do your processing here. Check evt.target for the target of the event.
-}
-
-b.addEventListener("event", callback, false)
-</pre>
-<p>위에서 b는 <code>여러분이 이벤트로부터 보기 원하는 </code><code>browser</code> 또는 <code>tabbrowser 입니다. 명심해야 할것은 이벤트들은 </code><code>browser의 프레임이나 또는 </code><code>tabbrowser</code>, 브라우저들의 안에 존재해야 될 것입니다.</p>
-<p>아래 리스트는 여러분이 여러 상황을 모니터하기 원하는 좀 더 흥미로운 DOM 이벤트들입니다.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">이벤트</td>
- <td class="header">설명</td>
- </tr>
- <tr>
- <td><code>DOMLinkAdded</code></td>
- <td>새로운 HTML <a class="internal" href="/en/HTML/Element/link" title="En/HTML/Element/Link"><code>&lt;link&gt;</code></a> 요소를 문서에서 감지했을 때 dispatch됩니다.</td>
- </tr>
- <tr>
- <td><code>DOMTitleChanged</code></td>
- <td>페이지의 타이틀이 변경 되었을 때 dispatch됩니다.</td>
- </tr>
- <tr>
- <td><code>DOMContentLoaded</code></td>
- <td>페이지의 초기 DOM이 완전히 로드되었을 때 dispatch됩니다.</td>
- </tr>
- <tr>
- <td><code>load</code></td>
- <td>dispatch된 후에 페이지가(이미지를 포함하여) 처음으로 로딩을 완료했을 때.</td>
- </tr>
- <tr>
- <td><code>unload</code></td>
- <td>유저가 페이지로부터 떨어져 탐색할 때 dispatch됩니다.</td>
- </tr>
- <tr>
- <td><code>pageshow</code></td>
- <td>페이지가 새롭게 표시되었을 때 dispacth됩니다.</td>
- </tr>
- <tr>
- <td><code>pagehide</code></td>
- <td>페이지가 감춰졌을 때 dispatch됩니다.</td>
- </tr>
- </tbody>
-</table>
-<p><code>load</code>, <code>unload</code>, <code>pageshow</code> and <code>pagehide 이벤트의 dispatch 유무에 대해서는 </code><a class="internal" href="/En/Using_Firefox_1.5_caching" title="En/Using Firefox 1.5 caching">Firefox's caching behaviour</a>의 기사에서 더 자세하게 다룹니다.</p>
-<h3 id="웹_progress의_listener들">웹 progress의 listener들</h3>
-<p>웹 로드들의 자세한 내용을 보려면 web progress listener를 사용하면 됩니다. 이들은 웹에서 데이터 로드의 progress 상황에 대한 자세한 내용을 제공합니다. 아래는 <code>browser</code> 와 <code>tabbrowser를 요소들을 지원하는 코드입니다:</code></p>
-<pre>var progressListener = {
- // add nsIWebProgressImplementation here
-}
-
-b.addProgressListener(progressListener);
-</pre>
-<p><code>위에서 b는 여러분이 </code><code>이벤트들에 대해 litsen하기 원하는</code><code> </code><code>browser</code> 또는 <code>tabbrowser 입니다.</code><code> </code><a class="internal" href="/en/Code_snippets/Progress_Listeners" title="en/Code snippets/Progress Listeners">using web progress listeners</a>의 링크는 코드 snippet의 더 자세한 사용 가능을 다룹니다.</p>
-<p>tabbrowser는 오직 현재 이벤트가 발생할 때 표시하는 브라우저부터 이벤트들을 받을 수 있습니다. 모든 브라우저들로부터 이벤트들을 listen하기 위해서는 현재 이벤트에 대해 표시하지않는 코드를 포함하면 됩니다. 아래는 그 예를 설명합니다:</p>
-<pre>var tabsProgressListener = {
- // add tabs progress listener implementation here
-}
-
-gBrowser.addTabsProgressListener(tabsProgressListener);
-</pre>
-<p>이렇게 하면 여러분은 모든 tab들과 관련된 이벤트들을 받을 수 있습니다. <a class="internal" href="/En/Listening_to_events_on_all_tabs" title="En/Listening to events on all tabs"><span class="external">listening to events from all tabs</span></a> 링크는 더 자세한 사용 가능을 다룹니다.</p>
-<p></p><div class="blockIndicator standardNote standardNoteBlock">
- <p><a href="https://developer.mozilla.org/ko/docs/Mozilla/Firefox/Releases/3.5">Firefox 3.5 note</a></p>
- <p style="font-weight: 400;">모든 탭들로부터 이벤트들을 listen하는 능력은 Firefox 3.5. 버전에 포함 되었습니다.</p>
-</div><p></p>
-<h2 id="파이어폭스에서는_이벤트들을_어떻게_처리하는가">파이어폭스에서는 이벤트들을 어떻게 처리하는가</h2>
-<p>파이어 폭스에서는 이미 어느 정도 progress 이벤트들을 웹 페이지들로 부터 listen합니다. 이 중 대부분은 <code>browser로 가게됩니다.js.</code></p>
-<h3 id="DOMLinkHandler">DOMLinkHandler</h3>
-<p><code>DOMLinkHandler 오브젝트는 </code><code>어떤 RSS 피드들이나 사이트 아이콘들, 또는 웹 사이트에 대한 오픈서치 플러그인을 감지하기 위한 DOMLinkAdded 이벤트라고 할 수 있습니다.</code></p>
-<h3 id="pageShowEventHandlers">pageShowEventHandlers</h3>
-<p><code>pageShowEventHandlers()</code> 함수는 메뉴에 문자세트를 삽입하거나 피드(feed)들을 감지 또는 웹 사이틀을 위한 오픈서치 플러그인과 관련된 UI 요소들의 업데이트 등의 <code>pageshow 이벤트라고 할 수 있습니다.</code></p>
-<h3 id="XULBrowserWindow">XULBrowserWindow</h3>
-<p>이 오브젝트는 현재 브라우저에 표시되고 있는 이벤트들의 progress를 얻기 위한 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWebProgressListener" title="">nsIWebProgressListener</a></code>입니다. 이 오브젝트는 아래와 같은 많은 이유로 UI를 업데이트하기 위해 사용합니다:</p>
-<ul>
- <li>progress 바의 업데이트와 페이지를 불러오는 과정의 status 메시지</li>
- <li>페이지를 로드 할 때의 실행색인기를 켜고 끔.</li>
- <li>사이트 아이콘을 배치할 때</li>
- <li>사용자가 인터넷을 이용 할 때 주소창의 업데이트</li>
- <li>사용자가 인터넷을 항해 할 때 알림 표시줄을 적절한 때에 숨기기</li>
- <li>페이지들를 새로고침 하여도 사이트를 확대해서 보는 설정을 그대로 적용하기.</li>
- <li>북마크 버튼 UI을 활성화 하기.</li>
- <li>사이트의 보안 변경에 대한 표시를 알릴 때.</li>
-</ul>
-<h3 id="TabsProgressListener">TabsProgressListener</h3>
-<p>이 오브젝트는 탭들의 progress listener 와 윈도우 안의 모든 브라우저에 대한 이벤트들을 받을 수 있습니다.  웹페이지가 새로고침을 시도할 때나 이를 저지하려는 시도를 사용자가 허락 할 때를 감지하는데 사용됩니다.</p>
-<h2 id="tabbrowser는_이벤트를_어떻게_처리하는가">tabbrowser는 이벤트를 어떻게 처리하는가</h2>
-<p><code>tabbrowser는 </code>두가지 모드 중 한가지로 실행됩니다. 처음에는 non-tabbed 모드로 시작하고 이 모드는 아래와 같은 상황이 발생하기 전까지 유지 됩니다.</p>
-<ul>
- <li>탭바가 보여질 때</li>
- <li>탭이 추가되었을 때</li>
- <li>한개 보다 많은 webprogress listener가 추가 되었을 때</li>
- <li>탭 progress listener가 추가 되었을 때</li>
-</ul>
-<h3 id="Non-tabbed_모드">Non-tabbed 모드</h3>
-<p>non-tabbed 모드에서, <code>tabbrowser는 </code>오직 하나의 탭만이 존재 할 수 있습니다. 이 모드에서는 단 하나의 web progress listener만이 브라우저로부터 progress 이벤트의 listen을 추가할 수있습니다. 첫째로 <code>browser-status-filter를 만들고 브라우저에 대한 </code>web progress listener를 추가 합니다. 다음은 브라우저로부터 모든 web progress 이벤트들을 받기 위한 내부 오브젝트를 만듭니다. 이는 <code>mTabProgressListener()</code> 메소드가 처리합니다. 이것은 <code>browser-status-filte로부터 이벤트들을 받습니다. </code>필터 성능 향상을 위해 진행 상태 및 이벤트의 수를 줄이는 역할을 합니다.<code> 필터들은 </code><code>mTabListeners<span style="font-family: Verdana,Tahoma,sans-serif;"><span style="font-family: monospace;">가 배열된 내부</span></span></code><code> </code>listener<code>와 </code><code>mFilters의 배열</code><code>로 도움을 받습니다. 내부 </code>listener들은 progress 이벤트들을 <a class="internal" href="/en/XUL/Method/addProgressListener" title="En/XUL/Method/AddProgressListener"><code>addProgressListener()</code></a> (현재 보이는 브라우저부터 받은 이벤트들)와 <a class="internal" href="/En/XUL/Method/AddTabsProgressListener" title="En/XUL/Method/AddTabsProgressListener"><code>addTabsProgressListener()</code></a> (모든 브라우저로부터 받은 이벤트들)가 지정된 listener들로 내보내게 됩니다.</p>
-<p> </p>
-<h2 id="또_보기">또 보기</h2>
-<ul>
- <li><a class="internal" href="/en/DOM/event" title="En/DOM/Event"><code>event</code></a></li>
- <li><a class="internal" href="/En/Listening_to_events_on_all_tabs" title="En/Listening to events on all tabs">Listening to events on all tabs</a></li>
- <li><a class="internal" href="/En/DOM/Mouse_gesture_events" title="en/Mouse gesture events">Mouse gesture events</a></li>
- <li><a class="internal" href="/en/Code_snippets/Progress_Listeners" title="en/Code snippets/Progress Listeners">Code snippets: Progress listeners</a></li>
-</ul>
diff --git a/files/ko/archive/api/index.html b/files/ko/archive/api/index.html
deleted file mode 100644
index 5f78af9636..0000000000
--- a/files/ko/archive/api/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: API
-slug: Archive/API
-tags:
- - API
- - Archive
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/API
----
-<p>Archived documentation about obsolete web standards APIs.</p>
-
-<p></p><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/API/Navigator">Navigator</a></dt><dd class="landingPageList">Features that used to hang off the <a href="/en-US/docs/Web/API/Navigator" title="The Navigator interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities."><code>Navigator</code></a> interface, but have since been removed.</dd></dl><p></p>
diff --git a/files/ko/archive/api/navigator/index.html b/files/ko/archive/api/navigator/index.html
deleted file mode 100644
index 1840171fcc..0000000000
--- a/files/ko/archive/api/navigator/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Navigator
-slug: Archive/API/Navigator
-translation_of: Archive/API/Navigator
----
-<p>In progress. Features that used to hang off the <a href="/ko/docs/Web/API/Navigator" title="The Navigator interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities."><code>Navigator</code></a> interface, but have since been removed.</p>
-
-<p></p>
diff --git a/files/ko/archive/apps/design/planning/index.html b/files/ko/archive/apps/design/planning/index.html
deleted file mode 100644
index 3a7e80993d..0000000000
--- a/files/ko/archive/apps/design/planning/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: Planning
-slug: Archive/Apps/Design/Planning
-tags:
- - Apps
- - Design
- - NeedsTranslation
- - Planning
- - TopicStub
-translation_of: Archive/Apps/Design/Planning
----
-<div class="summary">
-<p>이 문서들은 성공적인 웹 응용프로그램들을 기획하기 위한 정보들을 제공해줍니다.</p>
-</div>
-
-<dl>
- <dt><a href="/en-US/Apps/Design/Planning/Planning_your_app">응용프로그램 계획</a></dt>
- <dd>응용프로그램을 계획하는 것부터 시작하세요.</dd>
- <dt><a href="/en-US/Apps/Design/Planning/General_design_principles">일반 디자인 원칙</a></dt>
- <dd>시작하기 위한 유용한 일반적인 디자인 원칙 목록</dd>
- <dt><a href="/en-US/Apps/Design/Planning/Installed_app_considerations">설치된 응용프로그램 고려</a></dt>
- <dd>높은 수준의 고려사항입니다. 특히 Open Web App UX에서 교려해야 합니다.</dd>
-</dl>
diff --git a/files/ko/archive/apps/index.html b/files/ko/archive/apps/index.html
deleted file mode 100644
index bd5392bac5..0000000000
--- a/files/ko/archive/apps/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: 응용 프로그램들
-slug: Archive/Apps
-tags:
- - Apps
- - Firefox OS
- - NeedsTranslation
- - TopicStub
- - Web
-translation_of: Archive/Apps
----
-<p class="summary">This page includes archived content for Apps, including obsolete web app content, Firefox OS app-related content, etc.</p>
-
-<p></p><dl><dt class="landingPageList"><a href="/ko/docs/Web/Apps/Design">열린 웹 응용프로그램들 설계하기</a></dt><dd class="landingPageList">The items under this section apply generally to Web app design.</dd></dl><p></p>
diff --git a/files/ko/archive/b2g_os/api/camera_api/index.html b/files/ko/archive/b2g_os/api/camera_api/index.html
deleted file mode 100644
index d18716974b..0000000000
--- a/files/ko/archive/b2g_os/api/camera_api/index.html
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: Camera API
-slug: Archive/B2G_OS/API/Camera_API
-tags:
- - API
- - Firefox OS
- - Graphics
- - NeedsTranslation
- - Reference
- - Référence(2)
- - TopicStub
- - WebAPI
- - camera
-translation_of: Archive/B2G_OS/API/Camera_API
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/ko/docs/Web/API/Camera_API">Camera API</a></strong></li><li class="toggle"><details open><summary>Interfaces</summary><ol><li><a href="/ko/docs/Web/API/CameraCapabilities"><code>CameraCapabilities</code></a></li><li><a href="/ko/docs/Web/API/CameraControl"><code>CameraControl</code></a></li><li><a href="/ko/docs/Web/API/CameraManager"><code>CameraManager</code></a></li></ol></details></li><li class="toggle"><details open><summary>Methods</summary><ol><li><a href="/ko/docs/Web/API/Navigator/mozCameras"><code>Navigator.mozCameras</code></a></li></ol></details></li></ol></section><p></p>
-
-<p></p><div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> Non-standard</strong><br>
- This feature is not on a current W3C standards track, but it is supported on the Firefox OS platform. Although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to Firefox OS apps.</p>
- </div><p></p>
-
-<p>The <strong>Camera API</strong> allows applications to manage the camera of the device. It allows them to take photographs, record videos, and get information like the focus, the zoom, the white balance, the flash, … It is a priviledged API and can only be used by certified applications.</p>
-
-<p>This API was initially only available to certified applications, but is available to privileged apps on Firefox 2.0 onwards.</p>
-
-<div class="note">
-<p><strong>Note:</strong> Except if you are implementing a replacement for the default <em>Camera</em> application, you shouldn't use this API. Instead, if you want to use the camera in your device, you should use the <a href="/en-US/docs/WebAPI/Web_Activities" title="/en-US/docs/Web/API/Web_Activities">Web Activities API</a>.</p>
-</div>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/ko/docs/Web/API/Navigator/mozCameras" title="The documentation about this has not yet been written; please consider contributing!"><code>navigator.mozCameras</code></a></li>
- <li><a href="/ko/docs/Web/API/CameraManager" title="The documentation about this has not yet been written; please consider contributing!"><code>CameraManager</code></a></li>
- <li><a href="/ko/docs/Web/API/CameraControl" title="The documentation about this has not yet been written; please consider contributing!"><code>CameraControl</code></a></li>
- <li><a href="/ko/docs/Web/API/CameraCapabilities" title="The documentation about this has not yet been written; please consider contributing!"><code>CameraCapabilities</code></a></li>
-</ul>
diff --git a/files/ko/archive/b2g_os/api/camera_api/introduction/index.html b/files/ko/archive/b2g_os/api/camera_api/introduction/index.html
deleted file mode 100644
index 1ea6d25a38..0000000000
--- a/files/ko/archive/b2g_os/api/camera_api/introduction/index.html
+++ /dev/null
@@ -1,247 +0,0 @@
----
-title: Introduction to the Camera API
-slug: Archive/B2G_OS/API/Camera_API/Introduction
-translation_of: Archive/B2G_OS/API/Camera_API/Introduction
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/ko/docs/Web/API/Camera_API">Camera API</a></strong></li><li class="toggle"><details open><summary>Interfaces</summary><ol><li><a href="/ko/docs/Web/API/CameraCapabilities"><code>CameraCapabilities</code></a></li><li><a href="/ko/docs/Web/API/CameraControl"><code>CameraControl</code></a></li><li><a href="/ko/docs/Web/API/CameraManager"><code>CameraManager</code></a></li></ol></details></li><li class="toggle"><details open><summary>Methods</summary><ol><li><a href="/ko/docs/Web/API/Navigator/mozCameras"><code>Navigator.mozCameras</code></a></li></ol></details></li></ol></section><p></p>
-
-<p><span class="seoSummary"><a href="/en-US/docs/Web/API/Camera_API">Camera API</a> 를 사용하면 디바이스의 카메라를 이용해 사진을 찍어 현재 웹페이지에 업로드하는것이 가능해집니다.</span> This is achieved through an <code>input</code> element with <code>type="file"</code> and an <code>accept</code> attribute to declare that it accepts images. The HTML looks like this:</p>
-
-<pre class="brush: html">&lt;input type="file" id="take-picture" accept="image/*"&gt;
-</pre>
-
-<p>When users choose to activate this HTML element, they are presented with an option to choose a file, where the device's camera is one of the options. If they select the camera, it goes into picture taking mode. After the picture has been taken, the user is presented with a choice to accept or discard it. If accepted, it gets sent to the <code>&lt;input type="file"&gt;</code> element and its <code>onchange</code> event is triggered.</p>
-
-<h2 id="Get_a_reference_to_the_taken_picture">Get a reference to the taken picture</h2>
-
-<p>With the help of the <a href="/en-US/docs/Using_files_from_web_applications">File API</a> you can then access the taken picture or chosen file:</p>
-
-<pre class="brush: js">var takePicture = document.querySelector("#take-picture");
-takePicture.onchange = function (event) {
- // Get a reference to the taken picture or chosen file
- var files = event.target.files,
- file;
- if (files &amp;&amp; files.length &gt; 0) {
- file = files[0];
- }
-};
-</pre>
-
-<h2 id="Presenting_the_picture_in_the_web_page">Presenting the picture in the web page</h2>
-
-<p>Once you have a reference to the taken picture (i.e., file), you can then use <a href="/ko/docs/Web/API/Window/URL/createObjectURL" title="The documentation about this has not yet been written; please consider contributing!"><code>window.URL.createObjectURL()</code></a> to create a URL referencing the picture and setting it as the <code>src</code> of an image:</p>
-
-<pre class="brush: js">// Image reference
-var showPicture = document.querySelector("#show-picture");
-
-// Create ObjectURL
-var imgURL = window.URL.createObjectURL(file);
-
-// Set img src to ObjectURL
-showPicture.src = imgURL;
-
-// For performance reasons, revoke used ObjectURLs
-URL.revokeObjectURL(imgURL);
-</pre>
-
-<p>If <code>createObjectURL()</code> isn't supported, an alternative is to fallback to <a href="/ko/docs/Web/API/FileReader" title="FileReader 객체는  웹 애플리케이션이 비동기적으로 데이터를 읽기 위하여 읽을 파일을 가리키는File 혹은 Blob 객체를 이용해 파일의 내용을(혹은 raw data버퍼로) 읽고 사용자의 컴퓨터에 저장하는 것을 가능하게 해줍니다."><code>FileReader</code></a>:</p>
-
-<pre class="brush: js">// Fallback if createObjectURL is not supported
-var fileReader = new FileReader();
-fileReader.onload = function (event) {
- showPicture.src = event.target.result;
-};
-fileReader.readAsDataURL(file);
-</pre>
-
-<h2 id="Complete_example">Complete example</h2>
-
-<p>If you want to see it in action, take a look at the <a class="external" href="http://robnyman.github.com/camera-api/">complete working Camera API example</a>.</p>
-
-<p>Here is the code used for that demo:</p>
-
-<h3 id="HTML_page">HTML page</h3>
-
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta charset="utf-8"&gt;
- &lt;title&gt;Camera API&lt;/title&gt;
- &lt;link rel="stylesheet" href="css/base.css" type="text/css" media="screen"&gt;
- &lt;/head&gt;
-
- &lt;body&gt;
-
- &lt;div class="container"&gt;
- &lt;h1&gt;Camera API&lt;/h1&gt;
-
- &lt;section class="main-content"&gt;
- &lt;p&gt;A demo of the Camera API, currently implemented in Firefox and Google Chrome on Android. Choose to take a picture with your device's camera and a preview will be shown through createObjectURL or a FileReader object (choosing local files supported too).&lt;/p&gt;
-
- &lt;p&gt;
- &lt;input type="file" id="take-picture" accept="image/*"&gt;
- &lt;/p&gt;
-
- &lt;h2&gt;Preview:&lt;/h2&gt;
- &lt;p&gt;
- &lt;img src="about:blank" alt="" id="show-picture"&gt;
- &lt;/p&gt;
-
- &lt;p id="error"&gt;&lt;/p&gt;
-
- &lt;/section&gt;
-
- &lt;p class="footer"&gt;All the code is available in the &lt;a href="https://github.com/robnyman/robnyman.github.com/tree/master/camera-api"&gt;Camera API repository on GitHub&lt;/a&gt;.&lt;/p&gt;
- &lt;/div&gt;
-
-
- &lt;script src="js/base.js"&gt;&lt;/script&gt;
-
-
- &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<h3 id="JavaScript_file">JavaScript file</h3>
-
-<pre class="brush: js">(function () {
- var takePicture = document.querySelector("#take-picture"),
- showPicture = document.querySelector("#show-picture");
-
- if (takePicture &amp;&amp; showPicture) {
- // Set events
- takePicture.onchange = function (event) {
- // Get a reference to the taken picture or chosen file
- var files = event.target.files,
- file;
- if (files &amp;&amp; files.length &gt; 0) {
- file = files[0];
- try {
- // Create ObjectURL
- var imgURL = window.URL.createObjectURL(file);
-
- // Set img src to ObjectURL
- showPicture.src = imgURL;
-
- // Revoke ObjectURL
- URL.revokeObjectURL(imgURL);
- }
- catch (e) {
- try {
- // Fallback if createObjectURL is not supported
- var fileReader = new FileReader();
- fileReader.onload = function (event) {
- showPicture.src = event.target.result;
- };
- fileReader.readAsDataURL(file);
- }
- catch (e) {
- //
- var error = document.querySelector("#error");
- if (error) {
- error.innerHTML = "Neither createObjectURL or FileReader are supported";
- }
- }
- }
- }
- };
- }
-})();
-</pre>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<p></p><p class="warning"><strong><a href="https://github.com/mdn/browser-compat-data">We're converting our compatibility data into a machine-readable JSON format</a></strong>.
- This compatibility table still uses the old format,
- because we haven't yet converted the data it contains.
- <strong><a href="/ko/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></p>
-
-<div class="htab">
- <a id="AutoCompatibilityTable" name="AutoCompatibilityTable"></a>
- <ul>
- <li class="selected"><a>Desktop</a></li>
- <li><a>Mobile</a></li>
- </ul>
-</div><p></p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Camera API</td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- <tr>
- <td><code><a href="/en-US/docs/Web/API/URL/createObjectURL">createObjectURL()</a></code></td>
- <td>16</td>
- <td><a href="/en-US/Firefox/Releases/8" title="Released on 2011-11-08.">8.0</a> (8.0)</td>
- <td>10</td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- <tr>
- <td><a href="/ko/docs/Web/API/FileReader" title="FileReader 객체는  웹 애플리케이션이 비동기적으로 데이터를 읽기 위하여 읽을 파일을 가리키는File 혹은 Blob 객체를 이용해 파일의 내용을(혹은 raw data버퍼로) 읽고 사용자의 컴퓨터에 저장하는 것을 가능하게 해줍니다."><code>FileReader</code></a></td>
- <td>16</td>
- <td><a href="/en-US/Firefox/Releases/3.6" title="Released on 2010-01-21.">3.6</a> (1.9.2)</td>
- <td>10</td>
- <td>11.6</td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Camera API</td>
- <td>3.0</td>
- <td><span style="color: #888;" title="Please update this with the earliest version of support.">(Yes)</span></td>
- <td>10.0 (10.0)</td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- <tr>
- <td><code><a href="/en-US/docs/Web/API/URL/createObjectURL">createObjectURL()</a></code></td>
- <td>4</td>
- <td><span style="color: #888;" title="Please update this with the earliest version of support.">(Yes)</span></td>
- <td>10.0 (10.0)</td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- <tr>
- <td><a href="/ko/docs/Web/API/FileReader" title="FileReader 객체는  웹 애플리케이션이 비동기적으로 데이터를 읽기 위하여 읽을 파일을 가리키는File 혹은 Blob 객체를 이용해 파일의 내용을(혹은 raw data버퍼로) 읽고 사용자의 컴퓨터에 저장하는 것을 가능하게 해줍니다."><code>FileReader</code></a></td>
- <td>3</td>
- <td><span style="color: #888;" title="Please update this with the earliest version of support.">(Yes)</span></td>
- <td>10.0 (10.0)</td>
- <td><span style="color: #f00;">No support</span></td>
- <td>11.10</td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- </tbody>
-</table>
-</div>
diff --git a/files/ko/archive/b2g_os/api/index.html b/files/ko/archive/b2g_os/api/index.html
deleted file mode 100644
index 9a3c418536..0000000000
--- a/files/ko/archive/b2g_os/api/index.html
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title: B2G OS APIs
-slug: Archive/B2G_OS/API
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/B2G_OS/API
----
-<p></p><section class="Quick_links" id="Quick_Links">
-
-<ol>
- <li class="toggle">
- <details>
- <summary>Build and install</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Porting B2G OS</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Developing Gaia</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li>
- </ol>
- </details>
- </li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li>
-</ol>
-</section><p></p>
-
-<p>This page lists all B2G OS-specific APIs.</p>
-
-<p></p><div class="index">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</div><p></p>
diff --git a/files/ko/archive/b2g_os/api/tcpsocket/index.html b/files/ko/archive/b2g_os/api/tcpsocket/index.html
deleted file mode 100644
index a9efe494eb..0000000000
--- a/files/ko/archive/b2g_os/api/tcpsocket/index.html
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title: TCPSocket
-slug: Archive/B2G_OS/API/TCPSocket
-translation_of: Archive/B2G_OS/API/TCPSocket
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/ko/docs/Mozilla/Firefox_OS/API/TCP_Socket_API">TCP Socket API</a></strong></li><li><strong><a href="/ko/docs/Mozilla/Firefox_OS/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Events</summary><ol><li><a href="/ko/docs/Web/Events/data"><code>data</code></a></li><li><a href="/ko/docs/Web/Events/drain"><code>drain</code></a></li><li><a href="/ko/docs/Web/Events/connect"><code>connect</code></a></li><li><a href="/ko/docs/Web/Events/error"><code>error</code></a></li></ol></details></li><li class="toggle"><details open><summary>Related pages for TCP Socket API</summary><ol><li><a href="/ko/docs/Mozilla/Firefox_OS/API/TCPServerSocket"><code>TCPServerSocket</code></a></li><li><a href="/ko/docs/Mozilla/Firefox_OS/API/TCPSocket"><code>TCPSocket</code></a></li></ol></details></li></ol></section><p></p>
-
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">privileged or certified applications</a> only.</p>
-</div><p></p>
-
-<h2 id="요약">요약</h2>
-
-<p>The <strong><code>TCPSocket</code></strong> interface provides access to a raw TCP socket.</p>
-
-<p>The main entry point for this API is the <a href="/ko/docs/Web/API/Navigator/mozTCPSocket" title="The documentation about this has not yet been written; please consider contributing!"><code>navigator.mozTCPSocket</code></a> property which is a <code>TCPSocket</code> object.</p>
-
-<div class="note">
-<p><strong>참고:</strong> 인증 된 앱만 1024보다 작은 포트에서 들어오는 연결을 허용 할 수 있습니다.</p>
-</div>
-
-<h2 id="API_개요">API 개요</h2>
-
-<pre>interface TCPSocket{
- readonly attribute DOMString host;
- readonly attribute unsigned short port;
- readonly attribute boolean ssl;
- readonly attribute unsigned long bufferedAmount;
- readonly attribute DOMString binaryType;
- readonly attribute DOMString readyState;
-
- TCPSocket open(DOMString host, unsigned short port, [object options]);
- TCPServerSocket listen(unsigned short port, [object options, [unsigned short backlog]]);
- void upgradeToSecure();
- void suspend();
- void resume();
- void close();
- boolean send(in jsval data);
-
- attribute onopen;
- attribute ondrain;
- attribute ondata;
- attribute onerror;
- attribute onclose;
-};</pre>
-
-<h2 id="속성">속성</h2>
-
-<dl>
- <dt><a href="/ko/docs/Web/API/TCPSocket/host" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.host</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A string representing the host name of the server the socket is connected to.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/port" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.port</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A number representing the port the socket is connected to.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/ssl" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.ssl</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A boolean indicating whether the socket is encrypted with SSL (<code>true</code>) or not (<code>false</code>).</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/bufferedAmount" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.bufferedAmount</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>The number of bytes of not-yet-sent data in the socket buffered.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/binaryType" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.binaryType</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>The type of data used. Possible value is <code>arraybuffer</code> or <code>string</code>.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/readyState" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.readyState</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>The socket state. Possible value is <code>connecting</code>, <code>open</code>, <code>closing</code>, or <code>closed</code>.</dd>
-</dl>
-
-<h3 id="이벤트_핸들러">이벤트 핸들러</h3>
-
-<dl>
- <dt><a href="/ko/docs/Web/API/TCPSocket/onopen" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.onopen</code></a></dt>
- <dd>A handler for the <code><a href="/ko/docs/Web/Reference/Events/open" title="/ko/docs/Web/Reference/Events/open">open</a></code> event. After this event, the socket is ready to send and receive data.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/ondrain" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.ondrain</code></a></dt>
- <dd>A handler for the <code><a href="/ko/docs/Web/Reference/Events/drain" title="/ko/docs/Web/Reference/Events/drain">drain</a></code> event. This event is triggered each time the buffer of data is flushed.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/onerror" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.onerror</code></a></dt>
- <dd>A handler for the <code><a href="/ko/docs/Web/Reference/Events/error" title="/ko/docs/Web/Reference/Events/error">error</a></code> event.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/ondata" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.ondata</code></a></dt>
- <dd>A handler for the <code><a href="/ko/docs/Web/Reference/Events/data" title="/ko/docs/Web/Reference/Events/data">data</a></code> event. This event is triggered each time data has been received.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/onclose" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.onclose</code></a></dt>
- <dd>A handler for the <code><a href="/ko/docs/Web/Reference/Events/close" title="/ko/docs/Web/Reference/Events/close">close</a></code> event.</dd>
-</dl>
-
-<h2 id="메소드">메소드</h2>
-
-<dl>
- <dt><a href="/ko/docs/Web/API/TCPSocket/close" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.close()</code></a></dt>
- <dd>Closes the connection.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/open" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.open(host, port [, options])</code></a></dt>
- <dd>Returns a new <code>TCPSocket</code> object connected to the given <code>host</code> at the given <code>port</code>.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/resume" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.resume()</code></a></dt>
- <dd>Resumes the <code>data</code> events.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/send" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.send(data)</code></a></dt>
- <dd>Buffers data to be sent across the network.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/suspend" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.suspend()</code></a></dt>
- <dd>데이터 이벤트를 일시 정지합니다.</dd>
-</dl>
-
-<h2 id="Specification">Specification</h2>
-
-<p>아직 사양에 포함되어 있지 않습니다. 그러나이 API는 W3C에서 <a href="http://www.w3.org/2012/sysapps/tcp-udp-sockets/" title="http://www.w3.org/2012/sysapps/tcp-udp-sockets/">TCP 및 UDP Socket API (이전에는 Raw Sockets API)</a> 제안에 따라 <a class="external" href="http://www.w3.org/2012/sysapps/" rel="external" title="http://www.w3.org/2012/sysapps/">시스템 응용 프로그램 작업 그룹</a>의 일부로 논의되었습니다.</p>
-
-<h2 id="관련항목">관련항목</h2>
-
-<ul>
- <li><a href="/en-US/docs/WebAPI/TCP_Socket" title="/en-US/docs/WebAPI/TCP_Socket">TCP Socket</a></li>
-</ul>
diff --git a/files/ko/archive/b2g_os/application_development/index.html b/files/ko/archive/b2g_os/application_development/index.html
deleted file mode 100644
index 2f961c72d6..0000000000
--- a/files/ko/archive/b2g_os/application_development/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Firefox OS 앱 개발
-slug: Archive/B2G_OS/Application_development
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS
----
-<p>Firefox OS에서 사용하는 애플리케이션은 <a href="/ko/docs/Apps">오픈 웹 앱</a>을 휴대폰에 설치할 수 있게 해 주는 것입니다. 아래 문서를 참고하세요.</p>
-<ul>
- <li><a href="/ko/docs/Apps/Getting_Started">앱 개발 시작하기</a></li>
- <li><a href="/ko/docs/Mozilla/Firefox_OS/Writing_a_web_app_for_B2G">B2G 기반 웹앱 만들기</a></li>
-</ul>
-<div class="note">
- <strong>주의:</strong> Firefox OS의 현재 User-Agent 스트링은 <code>Android;</code>만 빠진 모바일 버전과 동일 합니다. 예: <code>Mozilla/5.0 (Mobile; rv:15.0) Gecko/15.0 Firefox/15.0a1</code>.</div>
diff --git a/files/ko/archive/b2g_os/apps/index.html b/files/ko/archive/b2g_os/apps/index.html
deleted file mode 100644
index 76095d479d..0000000000
--- a/files/ko/archive/b2g_os/apps/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: Creating Apps for Firefox OS
-slug: Archive/B2G_OS/Apps
-tags:
- - Apps
- - B2G
- - Firefox OS
- - NeedsTranslation
- - TopicStub
-translation_of: Web/Apps/Fundamentals
----
-<p>Applications for Firefox OS devices are simply open Web apps; they consist entirely of open Web technologies such as JavaScript, HTML, and CSS. While our primary documentation for apps covers nearly everything you need to know, there are a few documents specific to developing and testing for Firefox OS that are presented here.</p>
-<div class="row topicpage-table">
- <div class="section">
- <h2 class="Documentation" id="Documentation" name="Documentation">Documentation and tutorials</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Apps/Writing_a_web_app_for_Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS/Apps/Writing_a_web_app_for_Firefox_OS">Writing a web app for Firefox OS</a></dt>
- <dd>
- A tutorial to creating your first web application for Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Apps/Tips_and_techniques" title="/en-US/docs/Mozilla/Firefox_OS/Apps/Tips_and_techniques">Tips and techniques</a></dt>
- <dd>
- An assortment of tips and tricks (as well as workarounds for problems) that our developers have suggested for you!</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/Apps" title="/en-US/docs/tag/CSS">View All...</a></span></p>
- </div>
- <div class="section">
- <h2 class="Community" id="Community" name="Community">Getting help from the community</h2>
- <p>You need help on an app-related problem and can't find the solution in the documentation?</p>
- <ul>
- <li>Consult the layout forum, which covers CSS and HTML: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-css"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.layout"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.layout/feeds"> 웹 Feed</a></li>
-</ul>
- <ul>
- <li>Ask your question on the Mozilla IRC channel: <a class="link-irc" href="irc://irc.mozilla.org/openwebapps">#openwebapps</a></li>
- </ul>
- </li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Don't forget about the <em>netiquette</em>...</a></span></p>
- <h2 class="Tools" id="Tools" name="Tools">Tools</h2>
- <ul>
- <li><span class="external">The Firefox <a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">Debugger</a> offers support for remotely debugging Firefox OS apps</span></li>
- <li><span class="external">Other <a href="/en-US/docs/Tools" title="/en-US/docs/Tools">Developer Tools</a></span></li>
- </ul>
- <p><span class="alllinks"><a href="/en-US/docs/tag/Tools" title="/en-US/docs/tag/CSS:Tools">View All...</a></span></p>
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Related Topics</h2>
- <ul>
- <li><a href="/en-US/docs/Apps" title="/en-US/docs/Apps">Apps</a></li>
- </ul>
- </div>
-</div>
-<p> </p>
diff --git a/files/ko/archive/b2g_os/apps/writing_a_web_app_for_firefox_os/index.html b/files/ko/archive/b2g_os/apps/writing_a_web_app_for_firefox_os/index.html
deleted file mode 100644
index d5d3be42e1..0000000000
--- a/files/ko/archive/b2g_os/apps/writing_a_web_app_for_firefox_os/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: Writing a web app for Firefox OS
-slug: Archive/B2G_OS/Apps/Writing_a_web_app_for_Firefox_OS
-translation_of: Web/Apps/Fundamentals/Quickstart
----
-<p>B2G 앱은 HTML, CSS, Javascript 로 작성된 웹앱입니다. 다른 일반적인 웹 사이트를 공개하는 것과 같이 웹 상에 배포할 수 있습니다. 웹 사이트를 단말에 웹앱으로 설치 가능하게 하려면, 아래 설명에 따라 매니페스트를 꾸며야하고 설치 버튼과 연결해야 합니다.</p>
-<p>우선 아래의 기사를 먼저 읽는 것을 추천합니다.</p>
-<ul>
- <li><a href="/en-US/docs/Apps/Getting_Started">Getting started with making apps</a></li>
- <li><a href="/en-US/docs/Apps/Manifest">App manifest</a></li>
-</ul>
-<p>물론, <a href="/en-US/docs/Apps">Open Web Apps 에 대해 보다 깊게 배우기</a>도 좋을 것입니다.</p>
-<h2 id="Installing_the_Web_app">Installing the Web app</h2>
-<p>앱과 매니페스트를 웹 상에 배포한 뒤, Gecko 에 인식시킬 필요가 있습니다. 설치 시, Gecko 는 매니페스트의 내용을 읽고 홈 화면에 아이콘을 추가하는 등 필요한 처리를 합니다.</p>
-<p>앱을 인스톨하려면, <a href="/en-US/docs/Apps/Apps_JavaScript_API/navigator.mozApps.install"><code>navigator.mozApps.install</code> API</a> 를 호출해야합니다. 아래는 앱을 스스로 배포하는 경우 앱에 포함되는 설치 버튼에 대한 예제입니다.</p>
-<pre>&lt;script&gt;
-var manifest_url = "http://my.webapp.com/manifest.json";
-&lt;/script&gt;
-
-&lt;button onclick="navigator.mozApps.install(manifest_url); return false;"&gt;
- Install this awesome app on your homescreen!
-&lt;/button&gt;
-</pre>
-<p>Note: 설치 버튼은 <a href="/en-US/docs/Apps/Submitting_an_app">Firefox Marketplace</a> 와 같은 앱 마켓에서 찾을 수 있습니다. 그러나 사이트의 메인 페이지에 "Install as web app" 버튼이 있다면 아주 편리할 것입니다.</p>
-<p>이제 B2G 브라우저 앱으로 웹 사이트에 방문하고 인스톨 버튼을 눌러보세요.</p>
diff --git a/files/ko/archive/b2g_os/automated_testing/index.html b/files/ko/archive/b2g_os/automated_testing/index.html
deleted file mode 100644
index a03dba9376..0000000000
--- a/files/ko/archive/b2g_os/automated_testing/index.html
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Firefox OS 테스트
-slug: Archive/B2G_OS/Automated_testing
-tags:
- - 테스팅
-translation_of: Archive/B2G_OS/Automated_testing
----
-<p></p>
-<p>Firefox OS는 아직 개발중이지만 조만간 새로운 하드웨어도 지원하게 될 것이기에, 테스트를 하는 방법을 아는 게 중요합니다. 이 페이지는 Firefox OS를 테스트 하는 다양한 방법에 대한 정보를 제공하는 문서들로의 링크들을 제공합니다.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h3 id="Documentation" name="Documentation">유닛 테스트</h3>
- <ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests">Gaia 유닛 테스트</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Mochitests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Mochitests">Mochitests</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Reftests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Reftests">Reftests</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/XPCShell" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/XPCShell">XPCShell 테스트</a></li>
- </ul>
- <dl>
- </dl>
- <h3 id="Documentation" name="Documentation">다양한 테스팅 관련 논의</h3>
- <dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL" title="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL">OpenGL</a> <a href="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL" style="line-height: inherit;" title="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL">디버깅</a></dt>
- <dd>
- Firefox OS에서 OpenGL 코드를 디버깅 하는 방법.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart">지원 기능 목록</a></dt>
- <dd>
- Firefox OS의 빌드 별로 지원하는 기능들의 목록.</dd>
- </dl>
- <h3 id="Documentation" name="Documentation">Firefox OS를 위한 Marionette</h3>
- <ul>
- <li><a class="link-https" href="https://wiki.mozilla.org/Auto-tools/Projects/Marionette" title="https://wiki.mozilla.org/Auto-tools/Projects/Marionette">테스트 자동화 프레임웍, Marionette</a></li>
- <li><a href="/en/Marionette" title="https://developer.mozilla.org/en/Marionette">Marionette MDN 문서</a></li>
- </ul>
- <h4 id="Gaia_Tests">Gaia Tests</h4>
- <ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests" title="en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests">유닛 테스트 작성하고 돌리기</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_integration_tests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_integration_tests">통합 테스트 작성하고 돌리기</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/gaia-ui-tests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/gaia-ui-tests">gaia-ui-테스트 작성하고 돌리기</a></li>
- </ul>
- <h4 id="Marionette_튜토리얼">Marionette 튜토리얼</h4>
- <ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Setting_up_Marionette" title="en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Setting_up_Marionette">Firefox OS를 위한 Marionette 설정하기</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Marionette_for_interactive_Python" title="en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Marionette_for_interactive_Python">파이썬으로 인터랙티브하게 Marionette 사용하기</a></li>
- <li>QEMU 에뮬레이터에서 Marionette 사용하기</li>
- </ul>
- <h4 id="Marionette용_테스트_작성하기">Marionette용 테스트 작성하기</h4>
- <ul>
- <li><a href="/en/Marionette/Marionette_Python_Tests" title="en/Marionette/Marionette_Python_Tests">Marionette 파이썬 테스트</a></li>
- <li><a href="/en-US/docs/Marionette/Marionette_JavaScript_Tests" title="/en-US/docs/Marionette/Marionette_JavaScript_Tests">Marionette 자바스크립트 테스트</a></li>
- <li><a href="/en/Marionette/Running_Tests" title="en/Marionette/Running_Tests">Marionette 테스트 돌리기</a></li>
- </ul>
- <p><span class="alllinks"><a href="/Special:Tags?tag=B2G&amp;language=en" title="Special:Tags?tag=B2G&amp;language=en">모두 표시...</a></span></p>
- </td>
- <td>
- <h3 id="Community" name="Community">커뮤니티에서 도움 받기</h3>
- <p>Firefox OS로 일을 하거나 Firefox OS가 설치된 기기 위에 올라갈 어플리케이션을 개발 중이라면, 도움을 받을 수 있는 커뮤니티가 많이 있습니다!</p>
- <ul>
- <li>Firefox OS 포럼에 조언을 구하세요: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> 웹 Feed</a></li>
-</ul></li>
- </ul>
- <ul>
- <li>Mozilla IRC 채널에 질문을 할 수 있습니다: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">질문 할 땐 <em>예의</em>를 잊지 말아 주세요...</a></span></p>
- <br>
- <h3 id="Related_Topics" name="Related_Topics">관련 논의</h3>
- <ul>
- <li><a href="https://wiki.mozilla.org/B2G/QA" title="MozWiki-QA">QA</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/archive/b2g_os/building/index.html b/files/ko/archive/b2g_os/building/index.html
deleted file mode 100644
index 87f6b1fff6..0000000000
--- a/files/ko/archive/b2g_os/building/index.html
+++ /dev/null
@@ -1,125 +0,0 @@
----
-title: Firefox OS 빌드하기
-slug: Archive/B2G_OS/Building
-translation_of: Archive/B2G_OS/Building
----
-<div>
- </div>
-<div class="warning">
- <strong>중요</strong>: 번역은 제가 필요한 부분 및 확인 가능한 부분만 진행 하였으며 변역된 날자는(2013/02/25)이며 문서 변경이 잦아 오늘 이후는 원문과 번역이 다를 수 있습니다. 참고하세요. 미 번역/변경된 부분은 추가로 다른 분이 해 주실 것으로 믿습니다.</div>
-<p><a href="/en-US/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites" title="en-US/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites">빌드환경 설정</a>과 <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build">코드 복사 및 초기 환경 설정</a>이 완료 되고 나면, Boot to Gecko를 시작 할 수 있습니다.</p>
-<h2 id="최신_코드로_업데이트">최신 코드로 업데이트</h2>
-<p>B2G빌드가 처음이 아닐 경우, 빌드를 시작하기 전에 최신 코드를 가져 오고 싶다면 아래와 같이 빌드용 툴과 코드를 최신으로 업데이트 하실 수 있습니다.</p>
-<pre>git pull
-./repo sync
-</pre>
-<p>원하는 repository의 이름만 입력 함으로서 부분적으로 업데이트도 가능합니다.</p>
-<pre>./repo sync gaia
-</pre>
-<p>"repo"의 다른 옵션들에 관심이 있다면 "<code>repo help</code>"를 입력 해 보세요.</p>
-<h2 id="빌드하기">빌드하기</h2>
-<div class="note">
- <p><strong>주의:</strong> 빌드 하기 전에, 빌드 환경을 개조 하려면 .userconfig파일을 수정하시면 됩니다.  <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file" title="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file">.userconfig 파일 개조하기</a>를 참고하세요.</p>
-</div>
-<p>아래와 같이 입력하면 B2G를 빌드 하실 수 있습니다.</p>
-<pre>cd B2G
-./build.sh
-</pre>
-<p>이번 과정 또한 수행 시간이 많이(2시간 이상)걸리므로 잠깐 다른 일을 처리 하셔도 됩니다. As in the configure step on the previous page, if you are using a directory of previously-extracted Android system files, you should set ANDROIDFS_DIR before running build.sh.</p>
-<h3 id="특정_모듈_빌드하기">특정 모듈 빌드하기</h3>
-<p>Gecko와 같은 특정 모듈만 빌드하려면 아래와 같습니다.</p>
-<pre>./build.sh gecko
-</pre>
-<p>특정 애플리케이션 하나만 빌드하려면, 아래와 같이 환경 변수<code> BUILD_APP_NAME에 "gaia"를 설정 하여 gaia만 빌드 하실 수 있습니다.</code></p>
-<pre>BUILD_APP_NAME=calendar ./build.sh gaia</pre>
-<p>빌드 가능한 모듈을 확인 하고 싶으시면 아래와 같이 수행 하십시오.</p>
-<pre>./build.sh modules
-</pre>
-<h3 id="빌드에_사용되는_코어_갯수_변경">빌드에 사용되는 코어 갯수 변경</h3>
-<p>기본적으로, B2G 빌드 스크립트는 시스템이 가진 코어보다 2개 더 많은 수로 병렬 빌드를 진행 합니다. <code>"</code><code>build.sh" 수행시 -j 파라미터를 통해 그 갯수를 변경 하실 수 있습니다.</code> 이를 통해 빌드 시스템의 CPU로드를 조정하실 수 있습니다. 빌드에서 에러가 발생하면 병렬 빌드의 경우 에러 가 복잡하게 보이므로 코어 갯수를 줄이거나 하나로 한다면 빌드 에러 추적이 용이합니다.</p>
-<p>아래는 2개의 코어로 설정하여 빌드하는 예입니다.</p>
-<pre>./build.sh -j2
-</pre>
-<p>빌드 에러가 발생시는 아래처럼 1개의 코어로 할 경우 에러 결과를 읽고 분석하기 용이 합니다.</p>
-<pre>./build.sh -j1
-</pre>
-<h3 id="다국어_빌드하기">다국어 빌드하기</h3>
-<p>다국어 지원하도록 한다면:</p>
-<h4 id="Gaia">Gaia</h4>
-<ol>
- <li>먼저 어떤 언어를 지원할 것인지 정하시고. 현재는 <a href="http://hg.mozilla.org/integration/gaia-nightly/file/e2eed5263e77/shared/resources/languages-dev.json"><code>locales/languages_dev.json</code></a>와 <a href="http://hg.mozilla.org/integration/gaia-nightly/file/e2eed5263e77/shared/resources/languages-all.json"><code>locales/languages_all.json</code></a>가 Gaia의 언어 설정 관련 파일로 사용됩니다.</li>
- <li><a href="http://hg.mozilla.org/gaia-l10n">http://hg.mozilla.org/gaia-l10n</a>에서 지원하고자 하는 언어를 가져옵니다. 언어 파일에 리스트 된 각 언어를 가져 오려면 "repo"를 사용해야 합니다.</li>
- <li>환경 설정으로, set <code>LOCALE_BASEDIR</code>에 위의 2번에서 가져온 파일 절대 경로를 설정합니다. <code>LOCALES_FILE을 1번 설정의 절대 경로로 설정합니다.</code></li>
-</ol>
-<p>예를 들면,</p>
-<pre>export LOCALE_BASEDIR=$PWD/gaia-l10n
-export LOCALES_FILE=$PWD/gecko/gaia/shared/resources/languages-dev.json
-</pre>
-<h4 id="Gecko">Gecko</h4>
-<ol>
- <li>Determine which Gecko languages file to use. We're currently using <a href="http://hg.mozilla.org/releases/mozilla-b2g18/file/default/b2g/locales/all-locales">b2g/locales/all-locales</a> as our Gecko languages file.</li>
- <li>Clone the appropriate locales into a directory; this can be <code>gecko-l10n/</code> .
- <ul>
- <li>For mozilla-central, use <a href="http://hg.mozilla.org/l10n-central/">http://hg.mozilla.org/l10n-central/</a></li>
- <li>For mozilla-aurora, use <a href="http://hg.mozilla.org/releases/l10n/mozilla-aurora/">http://hg.mozilla.org/releases/l10n/mozilla-aurora/</a></li>
- <li>For mozilla-beta or mozilla-b2g18, use <a href="http://hg.mozilla.org/releases/l10n/mozilla-beta/">http://hg.mozilla.org/releases/l10n/mozilla-beta/</a></li>
- </ul>
- </li>
- <li>Clone <a href="http://hg.mozilla.org/build/compare-locales">compare-locales</a>.</li>
- <li>
- <p>In your environment, set <code>L10NBASEDIR</code> to the absolute path of the directory in step 2. Set <code>MOZ_CHROME_MULTILOCALE</code> to a string of space-delimited locales from step 1.</p>
- <p>Add the <code>compare-locales/scripts</code> dir to your <code>PATH</code>, and <code>compare-locales/lib</code> to your <code>PYTHONPATH</code>.</p>
- For instance,
- <pre>export L10NBASEDIR=$PWD/gecko-l10n
-export MOZ_CHROME_MULTILOCALE="ja zh-TW"
-export PATH="$PATH:$PWD/compare-locales/scripts"
-export PYTHONPATH="$PWD/compare-locales/lib"
-</pre>
- <p>Once you have the above set up, you can run build.sh .</p>
- <p>It looks like you can <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=818560#c9/">use .userconfig</a> as well.</p>
- <p>These instructions may change as we smooth things out.</p>
- <h2 id="Known_errors">Known errors</h2>
- <ul>
- <li>
- <h3 id="KeyedVector.h19331_error_indexOfKey_was_not_declared_in_this_scope">KeyedVector.h:193:31: error: indexOfKey was not declared in this scope</h3>
- </li>
- </ul>
- <p>This error appears when your gcc version is too recent. Install gcc/g++/g++-multilib 4.6.x versions.</p>
- <p>See <a href="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file" title="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file">Customizing with the .userconfig file</a> for more information.</p>
- <div class="note">
- <p><strong>Community Note:</strong> It is possible to use gcc 4.7.x with slight modifications to the B2G code (gcc will guide you) but you won't get any help! Neither with modifying the code nor with bugs you encounter.</p>
- </div>
- <ul>
- <li>
- <h3 id="arm-linux-androideabi-g_Internal_error_Killed_(program_cc1plus)">arm-linux-androideabi-g++: Internal error: Killed (program cc1plus)</h3>
- </li>
- </ul>
- <p>If you see this message, it most likely means that are lacking of free memory. Ensure having enough free memory before running <code>./build.sh</code>. It should run fine if you system has 4GB of ram.</p>
- <ul>
- <li>
- <h3 id="If_you_get_build_errors_while_the_build_system_is_running_tests">If you get build errors while the build system is running tests</h3>
- </li>
- </ul>
- <p>Sometimes (especially after build tool or operating system updates) you'll get weird errors like this when the build system runs its post-build tests:</p>
- <pre>Generating permissions.sqlite...
-test -d profile || mkdir -p profile
-run-js-command permissions
-WARNING: permission unknown:offline-app
-WARNING: permission unknown:indexedDB-unlimited
-build/permissions.js:122: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPermissionManager.add]
-make[1]: *** [permissions] Error 3
-make: *** [gaia/profile.tar.gz] Error 2</pre>
- <p>In this situation, try deleting the <code>gaia/xulrunner-sdk</code> directory and re-pulling the code:</p>
- <pre>rm -r gaia/xulrunner-sdk
-</pre>
- <p>This deletes the downloaded, precompiled copy of <a href="/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner</a> that the build system retrieves automatically; on your next build, a new copy of XULRunner will be automatically retrieved.</p>
- <h2 id="다음_단계">다음 단계</h2>
- <p>빌드가 완료되면 다음 단계로는 에뮬레이터로 넣을 것인지 단말기로 놓을 것인지에 따라 아래와 같은 선택사항이 있습니다. 자세한 사항은 각각을 참고 하세요.</p>
- <ul>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators" title="en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators">B2G 에뮬레이터 사용하기</a></li>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">PC용 B2G 클라이언트 사용하기</a></li>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Installing_Boot_to_Gecko_on_a_mobile_device" title="en-US/docs/Mozilla/Boot_to_Gecko/Installing_Boot_to_Gecko_on_a_mobile_device">단말기에 Boot to Gecko 설치하기</a></li>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard" title="en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard">판다보드에 Boot to Gecko 설치하기</a></li>
- </ul>
- </li>
-</ol>
diff --git a/files/ko/archive/b2g_os/building_and_installing_firefox_os/index.html b/files/ko/archive/b2g_os/building_and_installing_firefox_os/index.html
deleted file mode 100644
index a6c5dd7472..0000000000
--- a/files/ko/archive/b2g_os/building_and_installing_firefox_os/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: Firefox OS를 빌드 및 설치하기
-slug: Archive/B2G_OS/Building_and_installing_Firefox_OS
-translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS
----
-<p>Firefox OS는 현재 활발히 개발 중이며, 릴리즈되기 전입니다. 최신버전을 설치하려면 여러분이 직접 빌딩하고 설치해야 합니다. 이 페이지에 나와있는 글들은 여러분에게 에뮬레이터나 호환기기에 Firefox OS를 빌딩하고 설치하거나 Firefox 브라우저에 <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia" title="en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia">Gaia</a> 유저 인터페이스를 빌딩하고 설치하는 방법을 알려줄 겁니다.</p>
-
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="FIREFOX_OS_빌드하기">FIREFOX OS 빌드하기</h2>
-
- <dl>
- <dt><a href="https://developer.mozilla.org/en-US/Firefox_OS/Building_and_installing_Firefox_OS/Firefox_OS_build_overview">Firefox OS 빌드 과정 요약</a></dt>
- <dd>Firefox OS를 빌드하고 설치하는데에는 상당량의 시간, 네트워크 데이터 사용, 그리고 컴퓨터 성능 등을 요구한다. 이 글은 사용자의 빌드 과정의 목적과 절차 등을 이해시키고자한다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites" title="en-US/docs/Mozilla/Boot_to_Gecko/B2G build prerequisites">Firefox OS 빌드 요구사양</a></dt>
- <dd>처음 Firefox OS를 빌드하기 전에 필요하거나 필요해질 것들.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="/en-US/docs/Mozilla/Boot_to_Gecko/Preparing for your first B2G build">Firefox OS 빌드 준비하기</a></dt>
- <dd>Firefox OS를 빌드하기 전에 여러분은 저장소를 복제하고 빌드 환경을 설정해야 한다. 이 글은 그 방법을 설명한다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko" title="en-US/docs/Mozilla/Boot_to_Gecko/Building Boot to Gecko">Firefox OS 빌딩하기</a></dt>
- <dd>Firefox OS 빌드 방법.</dd>
- </dl>
-
- <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="/en-US/docs/tag/B2G">전체보기...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="FIREFOX_OS_설치하기">FIREFOX OS 설치하기</h2>
-
- <dl>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Choosing_how_to_run_Gaia_or_B2G" title="en-US/docs/Mozilla/Boot_to_Gecko/Choosing how to run Gaia or B2G">Gaia나 Firefox OS를 선택하여 실행하기</a></dt>
- <dd>여러분은 Firefox에서 Gaia를 사용하거나 모바일 기기에서 Firefox OS를 실행하거나 데스크톱용 시뮬레이션을 사용할 수 있습니다. 여러분의 필요에 대해 어떤 것을 선택해야 할지 도와줄 것입니다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_Gaia_in_Firefox" title="en-US/docs/Mozilla/Boot_to_Gecko/Using Gaia in Firefox">Firefox 에서 Gaia 사용하기</a></dt>
- <dd>Firefox 데스크톱 버전에서 Gaia 사용하는 방법.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">Firefox OS 데스크톱 클라이언트(시뮬레이터) 사용하기</a></dt>
- <dd>Firefox OS 데스크톱 클라이언트를 실행하고 사용하는 방법;데스크톱 애플리케이션안 Gaia환경을 만듭니다. Firefox 에서 Gaia를 실행하는 것보다는 더 나은 환경이나 에뮬레이터를 사용하는 것보다는 못합니다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators" title="en-US/docs/Mozilla/Boot_to_Gecko/Using the B2G emulators">Firefox OS 에뮬레이터 사용하기</a></dt>
- <dd>Firefox OS 에뮬레이터를 빌드하고 사용하고, 언제 어떤 에뮬레이터를 사용해야 하는지에 대한 안내.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Installing_Boot_to_Gecko_on_a_mobile_device" title="en-US/docs/Mozilla/Boot_to_Gecko/Installing Boot to Gecko on a mobile device">모바일 기기에 Firefox OS 설치하기</a></dt>
- <dd>모바일 기기에 Firefox OS를 설치하는 방법.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Dual_boot_of_B2G_and_Android_on_SGS2" title="/en-US/docs/Mozilla/Boot_to_Gecko/Dual boot of B2G and Android on SGS2">SGS2에서 Firefox OS와 Android 듀얼 부팅하기</a></dt>
- <dd>삼성 갤럭시 S2에서 Firefox OS/Android 듀얼 부트환경을 설정하는 방법.</dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p> </p>
diff --git a/files/ko/archive/b2g_os/debugging/debugging_b2g_using_gdb/index.html b/files/ko/archive/b2g_os/debugging/debugging_b2g_using_gdb/index.html
deleted file mode 100644
index b7578dff62..0000000000
--- a/files/ko/archive/b2g_os/debugging/debugging_b2g_using_gdb/index.html
+++ /dev/null
@@ -1,153 +0,0 @@
----
-title: GDB 및 관련 Tool을 이용한 B2G 디버깅
-slug: Archive/B2G_OS/Debugging/Debugging_B2G_using_gdb
-translation_of: Archive/B2G_OS/Debugging/Debugging_B2G_using_gdb
----
-<div class="summary">
-<p><strong><code>gdb</code></strong>는 Firefox OS의 애플리케이션 디버깅을 위한 많은 유용한 옵션을 제공하는 command line debugger입니다. B2G상에서 실행 중인 각 프로세스의 app 이름을 보여주는 표준 ps의 wrapper인 <strong><code>b2g-ps</code></strong>와 같은 다른 tool들도 있습니다. 이 문서는 이런 tool들로 Firefox OS 디버깅을 어떻게 수행하는지 보여드립니다.</p>
-</div>
-
-<h2 id="단일_프로세스_모드에서_디버거_시작하기">단일 프로세스 모드에서 디버거 시작하기</h2>
-
-<p>(역자 주: b2g 프로세스에 대한 디버깅을 뜻하는 듯)</p>
-
-<div class="note">
-<p><strong>Note:</strong> 디버거를 실행하기 전에 자신만의 설정을 위해 <code>.userconfig</code> 파일을 셋업할 수 있습니다. 이에 대한 더 자세한 내용은 <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file" title="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a>을 참고하시기 바랍니다.</p>
-</div>
-
-<p>Firefox OS를 재시작한 후 gdb 상에서 실행하기 위해서는 간단히 <code>run-gdb.sh를 사용하시면 됩니다</code> :</p>
-
-<pre>./run-gdb.sh
-</pre>
-
-<div class="note">
-<p><strong>Note:</strong> 만약 에뮬레이터 상에서 디버깅 하길 원한다면, 혹시 연결되어 있는 폰은 없는지 확인해 보시기 바랍니다; 에뮬레이터를 연결하려는 gdb와 충돌이 발생할 수 있습니다.</p>
-</div>
-
-<p>Firefox OS가 이미 동작 중이고, 재시작없이 Firefox OS를 붙이길 원한다면 아래처럼 할 수 있습니다:</p>
-
-<pre>./run-gdb.sh attach
-</pre>
-
-<h2 id="Out-of-process_tasks_디버깅">Out-of-process tasks 디버깅</h2>
-
-<p>(역자 주: b2g 외 다른 프로세스에 대한 디버깅을 뜻하는 듯)</p>
-
-<p>Firefox OS의 쓰레드 기반 특성(threaded nature) 때문에 종종 B2G task외에 다른 task들을 디버깅 해야할 필요가 있을 수 있습니다. 이를 위해 디버깅 하길 원하는 프로세스의 PID를 확인하는 가장 간단한 방법은 <code>b2g-ps</code> 명령을 사용하는 것입니다:</p>
-
-<pre>$ adb shell b2g-ps
-b2g root 106 1 189828 56956 ffffffff 40101330 S /system/b2g/b2g
-Browser app_0 4308 106 52688 16188 ffffffff 400db330 S /system/b2g/plugin-container
-</pre>
-
-<p>위에서 Browser는 browser 애플리케이션을 위한 "content process"로 사용되는 (b2g의) 자식 프로세스입니다. 이 예에서 content process를 디버깅하고 싶다면 아래처럼 하시기 바랍니다:</p>
-
-<pre>$ ./run-gdb.sh attach 4308</pre>
-
-<p>종종 자식 프로세스 생성에 대해 즉시 통보받는게 유용할 때가 있습니다. 이렇게 하기 위해선 <code>MOZ_DEBUG_CHILD_PROCESS</code> 환경변수와 함께 <code>run-gdb.sh를 </code>실행하면 됩니다:</p>
-
-<pre>MOZ_DEBUG_CHILD_PROCESS=1 ./run-gdb.sh</pre>
-
-<p>이렇게 하면 Firefox OS에서 out-of-process 애플리케이션이 실행될 때 새로운 task용 plugin-container의 PID를 출력할 것입니다. 그리고 위에서 봤던 attach 명령을 사용하기에 충분한 시간인 30초 동안 sleep 할 것 입니다:</p>
-
-<pre>$ ./run-gdb.sh attach 4308</pre>
-
-<p>만일 부팅 중 발생하는 어떤 부분을 디버깅하려고 한다면, 새로운 애플리케이션에 대한 디버거 인스턴스(debugger instance)를 적절하게 빨리 실행해야 합니다. 일단 새로운 디버거가 실행되면 새로운 task의 동작을 지속하기 위해 즉시 "c"를 눌러야 합니다.</p>
-
-<h2 id="Core_파일_디버깅">Core 파일 디버깅</h2>
-
-<div class="warning">
-<p><strong>Warning: </strong>Core 파일은 프로세스의 전체 메모리 내용을 포함하고 있습니다. 이 파일은 여러분이 Firefox OS에 입력한 개인 정보를 포함하고 있을 수 있습니다. 그러므로 core 파일은 주의깊게 공유되어야 합니다.</p>
-</div>
-
-<p>기본적으로 Firefox OS는 프로세스가 crash 되었을 때 core 파일을 dump 하지 않습니다. Debug 빌드 버전에서 다음 명령으로 enable 해주어야 합니다:</p>
-
-<pre>$ adb shell setprop persist.debug.coredump all
-$ adb reboot
-</pre>
-
-<p>변경사항을 적용하기 위해서는 리부팅이 필요하며, B2G가 일단 초기화를 시작했으면 crash 발생 시 모든 프로세스가 core dump를 하게 됩니다. 이전 커널(&lt;3.0, hamachi 등)을 사용하는 플랫폼이거나, Gonk 외 B2G의 특정 프로세스(즉 b2g, plugin-container)로부터의 core dump를 원한다면, 다음 명령으로 enable 할 수도 있습니다:</p>
-
-<pre>$ adb shell setprop persist.debug.coredump b2g
-$ adb reboot
-</pre>
-
-<p>Core 파일은 /data/core에 저장됩니다. b2g에 의해 생성된 core 파일은 다음과 같이 열 수 있습니다:</p>
-
-<pre>$ adb pull /data/core .
-$ ./run-gdb.sh core b2g.1286.1412337385.core
-</pre>
-
-<p>Content process의 core 파일은 다음과 같이 열 수 있습니다:</p>
-
-<pre>$ adb pull /data/core .
-$ ./run-gdb.sh core plugin-container Camera.1329.1412617644.core
-</pre>
-
-<h2 id="지원">지원</h2>
-
-<h3 id="기능의_기대_수준">기능의 기대 수준</h3>
-
-<p>다음 디버깅 기능들은 적어도 확실히 동작합니다. 만약 동작하지 않는다면 간단한 설정 변경으로 동작할 것입니다:</p>
-
-<ul>
- <li>모든 라이브러리의 심볼 (특정 안드로이드 폰의 몇몇 드라이버 제외)</li>
- <li>완벽한 디버깅 정보를 가진 backtrace (최적화된 인자의 값은 제외)</li>
- <li>브레이크 포인트(Breakpoints): 심볼, 파일:줄번호 또는 주소에 break를 설정할 수 있어야 합니다. 모두 동작해야 합니다.</li>
- <li>한 단계씩 진행 ('s'와 'n' 둘 다 동작합니다)</li>
-</ul>
-
-<p>다음 디버깅 기능은 지원하지 않습니다. 사용하지 마시기 바랍니다.</p>
-
-<ul>
- <li>Watchpoints.</li>
-</ul>
-
-<h3 id="문제_해결">문제 해결</h3>
-
-<p>위에 언급된 것처럼 GDB가 동작하지 않을 때 해볼 수 있는 몇 가지가 있습니다.</p>
-
-<h4 id="B2G_clone이_최신인지_확인">B2G clone이 최신인지 확인</h4>
-
-<p>B2G clone을 업데이트 하려면 아래 두 개의 명령을 실행해야 한다는 것을 항상 명심하시기 바랍니다:</p>
-
-<pre>git pull
-./repo sync</pre>
-
-<p><code>위에서 git pull</code>을 잊는 경우가 이전 <code>run-gdb.sh로 남아있거나 최신 개선사항의 잇점을 얻지 못하는 전형적인 요인입니다.</code></p>
-
-<h4 id="올바른_프로세스를_attach_하고_있는지_확인">올바른 프로세스를 attach 하고 있는지 확인</h4>
-
-<p>잘못된 프로세스를 attach 하는 것(예를 들면 B2G 프로세스 대 Browser 프로세스)은 여러분의 breakpoint가 왜 동작하지 않고 있는지를 설명해 줄겁니다.</p>
-
-<h4 id="Symbol이_올바르게_로드_되었는지_확인">Symbol이 올바르게 로드 되었는지 확인</h4>
-
-<ol>
- <li>Symbol이 올바르게 로드 되었는지 확인하려면 <code>gdb</code>에서 <code>info shared</code>를 사용해 보세요:
-
- <pre>(gdb) info shared
-From        To          Syms Read   Shared Object Library
-0xb0001000  0xb0006928  Yes         out/target/product/otoro/symbols/system/bin/linker
-0x40051100  0x4007ed74  Yes         /hack/b2g/B2G/out/target/product/otoro/symbols/system/lib/libc.so
-0x401ab934  0x401aba2c  Yes         /hack/b2g/B2G/out/target/product/otoro/symbols/system/lib/libstdc++.so
-...</pre>
- </li>
- <li><code>Syms Read</code> 컬럼이 모두 <code>Yes</code>이어야 합니다. 어떤 안드로이드 폰에서는 몇몇 시스템 라이브러리와 드라이버가 <code>Yes (*)</code>로 나타날 수 있습니다; 그건 괜찮습니다. <code>No가 보이면 안됩니다.</code></li>
- <li>만약 <code>No가 보인다면</code>, 그게 첫 번째 문제이고 다른 걸 보기전에 그 문제부터 해결해야 합니다.</li>
- <li><code>run-gdb.sh</code> 명령을 친 후 바로 나타나는 터미널의 출력에 에러 메시지가 있는지 찾아보시기 바랍니다.</li>
- <li>또한 GDB 명령이 올바른지 터미널 출력을 확인해 보시기 바랍니다. 특히 명령줄의 마지막 인자는 b2g 실행파일의 경로가 되어야 합니다. 아래 올바른 예제가 있습니다:
- <pre>prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gdb -x /tmp/b2g.gdbinit.bjacob /hack/b2g/B2G/objdir-gecko/dist/bin/b2g</pre>
- </li>
- <li>다음 GDB 변수들을 확인해 보시기 바랍니다: <code>solib-search-path</code> 와 <code>solib-absolute-prefix:</code>
- <pre>(gdb) show solib-search-path
-The search path for loading non-absolute shared library symbol files is /hack/b2g/B2G/objdir-gecko/dist/bin:out/target/product/otoro/symbols/system/lib:out/target/product/otoro/symbols/system/lib/hw:out/target/product/otoro/symbols/system/lib/egl:out/target/product/otoro/symbols/system/bin:out/target/product/otoro/system/lib:out/target/product/otoro/system/lib/egl:out/target/product/otoro/system/lib/hw:out/target/product/otoro/system/vendor/lib:out/target/product/otoro/system/vendor/lib/hw:out/target/product/otoro/system/vendor/lib/egl.
-(gdb) show solib-absolute-prefix
-The current system root is "out/target/product/otoro/symbols".</pre>
- </li>
-</ol>
-
-<div class="note">
-<p><strong>Note</strong>: 만일 도움이 더 필요하시면 #b2g IRC 채널로 오시기 바랍니다. 버그를 찾은 것 같다면 <a href="https://github.com/mozilla-b2g/B2G/issues" title="https://github.com/mozilla-b2g/B2G/issues">B2G issue tracker</a>로 알려주시기 바랍니다.</p>
-</div>
-
-<p> </p>
diff --git a/files/ko/archive/b2g_os/debugging/index.html b/files/ko/archive/b2g_os/debugging/index.html
deleted file mode 100644
index 12a896d185..0000000000
--- a/files/ko/archive/b2g_os/debugging/index.html
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Debugging on Firefox OS
-slug: Archive/B2G_OS/Debugging
-tags:
- - B2G
- - Debugging
- - Firefox OS
- - NeedsTranslation
- - QA
- - Testing
- - TopicStub
-translation_of: Archive/B2G_OS/Debugging
----
-<div class="summary">
- <p><span class="seoSummary">There are two main types of debugging you'll want to with Firefox OS: debugging apps, and debugging other aspects of the system.</span> This section of the site provides articles covering the different tools at your disposal to debug your Firefox OS code.</p>
-</div>
-<h2 id="Debugging_apps">Debugging apps</h2>
-<p>When debugging your web apps, the best tool at your disposal is Mozilla's powerful <a href="/en-US/Firefox_OS/Using_the_App_Manager">App Manager</a>, which allows you to run your apps directly on a real device or simulator, update any changes instantly, and debug them directly on the device using Mozilla's excellent <a href="https://developer.mozilla.org/en-US/docs/Tools" title="en-US/docs/Tools">developer tools</a>. This should be your first choice, especially for app/Gaia debugging.</p>
-<dl>
- <dt>
- <a href="/en-US/docs/Tools/WebIDE">Using WebIDE</a></dt>
- <dd>
- The WebIDE is the replacement for the App Manager. Like the App Manager, it enables you to run and debug Firefox OS apps using the Firefox OS Simulator or a real Firefox OS device. However, it also provides an editing environment for you to create and develop apps.</dd>
- <dt>
- <a href="/en-US/Firefox_OS/Using_the_App_Manager">Using the App Manager</a></dt>
- <dd>
- The App Manager is a new tool available in Firefox for Desktop, which provides a number of useful tools to help you test, deploy and debug HTML5 web apps on Firefox OS phones and the Firefox OS Simulator, directly from your browser.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_OOMs">Debugging out of memory errors on Firefox OS</a></dt>
- <dd>
- This article describes how B2G's multiprocess architecture affects what the phone does when we run out of memory, and how to understand and debug OOM crashes.</dd>
-</dl>
-<h2 id="Debugging_GaiaB2G">Debugging Gaia/B2G</h2>
-<p>If you want to debug code from the Gaia apps suite or B2G itself, the following tools will be of use to you.</p>
-<dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_using_the_desktop_B2G_client" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_using_the_desktop_B2G_client">Debugging using the desktop B2G client</a></dt>
- <dd>
- You can use the dedicated B2G desktop application (and associated tools) to debug multiple aspects of B2G and Gaia.</dd>
- <dt>
- <a href="/en-US/Firefox_OS/Debugging/Firefox_OS_crash_reporting">Firefox OS crash reporting</a></dt>
- <dd>
- This page details how to handle crash reporting on Firefox OS, including retrieving crash reports, and forcing crashes.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_gdb" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_gdb">Debugging B2G using gdb</a></dt>
- <dd>
- The popular gdb debugger can be used to debug Firefox OS and web apps running on a device, or on an emulator. This guide will show you how it's done.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_valgrind" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_gdb">Debugging B2G using Valgrind</a></dt>
- <dd>
- Valgrind gives developers access to information about memory allocations, threads, and other information important to performance. This guide shows how to run Valgrind either on desktop B2G or select phone hardware.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Debugging/HTTP_logging#Firefox_OS_phones" title="/en-US/docs/Mozilla/Debugging/HTTP_logging#Firefox_OS_phones">Getting NSPR logs in B2G</a></dt>
- <dd>
- You can use NSPR logs to record HTTP and other networking.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL" title="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL">Debugging OpenGL</a></dt>
- <dd>
- How to debug OpenGL code on Firefox OS.</dd>
-</dl>
-<h2 id="General_setup_and_information"><strong>General setup and information</strong></h2>
-<p>The following articles provide information on individual aspects of setup for Firefox OS development. The chances are that you won't need these, especially if you are just debugging apps using the App Manager. But we have made them available here in case you do.</p>
-<dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Developer_settings" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Developer_settings">Developer settings for Firefox OS</a></dt>
- <dd>
- There are a number of settings options available for developers on Firefox OS. This guide explains what they do and how to take advantage of them.</dd>
- <dt>
- <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">Installing and using ADB</a></dt>
- <dd>
- Many aspects of Firefox OS development require installation of <code>adb</code>, the Android Debug Bridge. This article explains how to do that, and shares some common useful ADB commands.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/On-device_console_logging" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/On-device_console_logging">On-device console logging</a></dt>
- <dd>
- How to log to console on a Firefox OS device, and how to access the resulting logs for review on your computer.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_Firefox_OS_apps_in_desktop_Firefox">Connecting a Firefox OS device to the desktop</a></dt>
- <dd>
- This short guide explains how to set up your Firefox OS device and your desktop so that the desktop can communicate with the device over USB.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Setting_up" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Setting_up">Setting up to debug Firefox OS code</a></dt>
- <dd>
- Before you can begin using most of the tools integrated into Firefox for debugging code running under Firefox OS, you need to do a little configuration work. This article explains what you need to do.</dd>
-</dl>
diff --git a/files/ko/archive/b2g_os/dual_boot_of_b2g_and_android_on_sgs2/index.html b/files/ko/archive/b2g_os/dual_boot_of_b2g_and_android_on_sgs2/index.html
deleted file mode 100644
index fa0e0b7ed5..0000000000
--- a/files/ko/archive/b2g_os/dual_boot_of_b2g_and_android_on_sgs2/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: SGS2에서 B2G와 Android로 듀얼 부팅
-slug: Archive/B2G_OS/Dual_boot_of_B2G_and_Android_on_SGS2
-tags:
- - 듀얼 부팅
-translation_of: Archive/B2G_OS/Building
----
-<p></p>
-<p></p><div class="warning warningHeader">
- <p><strong>Warning:</strong> 이 문서에서 설명하는 내용은 공식적으로 지원하는 구성은 아닙니다. 본인의 결정 하에 사용하세요.</p>
-</div><p></p>
-<p>삼성 Galaxy S2를 가지고 있고, Android를 주로 사용하는 OS로 유지하면서 가끔 B2G를 테스트 하고 싶은 상황이라면, B2G를 <span style="line-height: inherit;">(폰에 이미 존재하는)분리된 </span><span style="line-height: inherit;">파티션에 설치하고 기기를 켤 때 어느 파티션에서 부팅할지 선택할 수 있습니다.</span></p>
-<div class="note">
- <strong>참고:</strong> 폰은 <strong>반드시</strong> Android 4 (Ice Cream Sandwich) 가 설치되어 있어야 합니다. 그렇지 않다면 아래의 내용은 제대로 동작하지 않을 겁니다.</div>
-<h2 id="선결_조건">선결 조건</h2>
-<p>Android와 B2G로 듀얼 부팅을 하려면 다음의 사항들이 만족되어 있어야 합니다:</p>
-<ul>
- <li>Galaxy S2 용으로 B2G를 빌드 했어야 합니다</li>
- <li>Galaxy S2 용 <a href="http://d-h.st/AEZ" title="http://d-h.st/users/siyah/s2">Siyah 커널</a> v. 5.0.1을 다운 받아야 합니다</li>
- <li>MDN의 가이드를 따라 B2G를 빌드했다면 자동으로 가지고 있을, simg2img 라는 툴이 있어야 합니다</li>
- <li>heimdall 이라는 툴이 있어야 합니다. 1.3.2 버전에서는 문제가 있을 수 있으므로 1.3.1 버전이 낫습니다.</li>
-</ul>
-<h2 id="최초_환경_설정">최초 환경 설정</h2>
-<p>듀얼 부팅을 하기 위해선 여러가지 조작을 해야 합니다.<br>
- 다음 환경 설정은 처음에 한번만 하면 됩니다.</p>
-<p>heimdall을 루트 권한 없이 사용하려면, android.rules라는 이름(.rules 앞의 내용은 맘대로 정해도 됩니다)의 파일을 만들고 /etc/udev/rules.d 디렉토리에 위치시켜야 합니다. 파일은 다음과 같은 내용을 가져야 합니다:</p>
-<pre>SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"</pre>
-<p>이 규칙을 활성화 시키기 위해서, udev를 재시작 해야 합니다:</p>
-<pre>sudo service udev restart</pre>
-<p>이제 폰을 PC와 다시 연결 합니다. 위의 규칙은 또한 adb가 SGS2를 루트 권한 없이 접근 가능하게 할 겁니다.</p>
-<h3 id="Siyah_커널_다운로드_하기">Siyah 커널 다운로드 하기</h3>
-<p>듀얼 부팅을 위해선 Siyah 커널이 필수적입니다. tar 파일을 받아서 압축을 푸셨다면, zImage 라는 이름의 파일을 얻었을 겁니다. 이걸 폰에 다운로드 하기 위해선 다음의 단계를 따라가면 됩니다:</p>
-<ol>
- <li><span style="line-height: normal;">폰의 전원을 끕니다</span></li>
- <li><span style="line-height: normal;">다운로드 모드로 리부팅(볼륨 다운, 홈, 파워 버튼을 동시에 눌러 전원을 켜고, 나중에 누르라는 메세지가 뜨면, 볼륨 업 버튼을 누릅니다) 합니다</span></li>
- <li><span style="line-height: normal;">다음 명령어를 이용해 heimdall로 커널을 다운로드 합니다(폰은 PC에 연결되어 있어야 합니다):</span><br>
- <pre>heimdall flash --kernel /path/to/zImage</pre>
- </li>
-</ol>
-<p>커널 다운로드가 완료되면 폰이 재부팅 됩니다</p>
-<h3 id="B2G_롬_환경_준비하기">B2G 롬 환경 준비하기</h3>
-<p>Siyah 커널을 설치하셨다면, Siyah 커널을 이용해 B2G 이미지를 두번째 파티션에 설치하기 위한 환경을 준비해야 합니다:</p>
-<ol>
- <li>폰의 전원을 끕니다</li>
- <li>리커버리 모드로 리부팅(볼륨 업, 홈, 파워 버튼을 동시에 눌러 폰의 전원을 켭니다) 합니다</li>
- <li>CWMT 터치 인터페이스에서, dual-boot 옵션으로 이동 -&gt; Wipe 2ndROM data/cache 메뉴 선택 -&gt; Yes - Wipe 메뉴를 선택합니다. 이 명령은 시간을 좀 필요로 할 겁니다</li>
-</ol>
-<p>명령이 성공적으로 끝나면, Go Back 메뉴를 선택하고 폰을 리부팅 하기 위해 reboot system now 메뉴를 선택합니다. 이제 SD 카드 안에 cache.img와 data.img라는 파일이 포함된 .secondrom 이라는 이름의 디렉토리가 있음을 확인할 수 있습니다.</p>
-<h2 id="B2G_업데이트">B2G 업데이트</h2>
-<p>새로운 버전의 B2G를 빌드 할 때마다 다음의 동작이 필요합니다.</p>
-<p>명령줄에 입력하는 명령을 간편하게 하기 위해, 필요한 모든 파일을 하나의 폴더에 복사해 두는 것을 추천합니다. 복사해 둬야 할 파일들은 다음과 같습니다:</p>
-<ul>
- <li>B2G/out/target/product/galaxys2/system/bin/ 에 위치한 simg2img</li>
- <li>B2G/out/target/product/galaxys2/ 에 위치한 system.img</li>
- <li>B2G/out/target/product/galaxys2/ 에 위치한 userdata.img</li>
-</ul>
-<p>파일들을 모두 하나의 디렉토리에 모았으면, 다음 명령들을 따라합니다:</p>
-<ol>
- <li>userdata.img 파일로부터 data.img를 추출합니다. 다음의 명령으로 이를 행할 수 있습니다:
- <pre>simg2img userdata.img data.img</pre>
- </li>
- <li>data.img 파일을 폰의 .secondrom 폴더로 이동시킵니다. 폰의 file storage mode 를 활성화 시키고 PC와 폰을 연결해서 할수도 있고, USB 디버그 기능이 활성화 되어 있다면, 다음과 같이 adb를 이용할 수도 있습니다:
- <pre>adb push /path/to/data.img /sdcard/.secondrom/data.img</pre>
- </li>
- <li>폰의 전원을 끕니다</li>
- <li>다운로드 모드로 리부팅(볼륨 다운, 홈, 파워 버튼을 동시에 눌러 전원을 켜고, 요청받으면 볼륨 업 버튼을 누릅니다) 합니다</li>
- <li>heimdall을 써서 B2G 펌웨어를 두번째 파티션에 다운로드합니다:
- <pre>heimdall flash --hidden system.img</pre>
- </li>
-</ol>
-<p>다운로드가 끝나면, 폰이 리부팅 될꺼고, 부팅 시에 부트로더가 기다리는 동안 홈 버튼을 누름으로써 두번째 롬(B2G)로 부팅할 수 있습니다. 문제 없이 설치가 잘 되었다면, B2G로 부팅한 직후 까만 화면을 보게 될 것입니다. 이제 Gaia를 설치해야 합니다.</p>
-<div class="note">
- <strong>참고:</strong> B2G를 어떻게 테스트 하고 싶은가에 따라서는, 기존의 것에서 새로운 data.img 파일로의 교체는 기존의 모든 설정, 설치된 어플리케이션들, 그리고 B2G를 사용하면서 행한 모든 것을 날려야 함을 의미하므로, <span style="line-height: 1.5em;">B2G를 업데이트 할 때마다 data.img 파일을 갱신하고 싶지는 않을 수 있을 겁니다.</span></div>
-<h2 id="부팅">부팅</h2>
-<p>매번 B2G로 부팅할 때마다 다음의 동작을 해줘야 합니다.</p>
-<p>안타깝게도, Gaia를 system.img B2G image에 간단히 넣는 방법은 없고, 폰을 끌 때마다 Gaia는 사라지므로, 매번 B2G로 부팅할 때마다 Gaia를 다시 설치해 줘야 합니다. Gaia를 설치하기 위해서는, 폰을 B2G로 부팅하고(폰은 검은 화면을 보이고 있을 겁니다) PC와 연결한 후에 다음과 같은 명령을 입력합니다:</p>
-<pre>cd B2G/gaia
-GAIA_DOMAIN=foo.org make install-gaia</pre>
-<p>Gaia의 다운로드가 끝나면, 폰은 B2G 인터페이스가 나타날 겁니다.</p>
diff --git a/files/ko/archive/b2g_os/firefox_os_apps/index.html b/files/ko/archive/b2g_os/firefox_os_apps/index.html
deleted file mode 100644
index 370236dd14..0000000000
--- a/files/ko/archive/b2g_os/firefox_os_apps/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: Firefox OS apps
-slug: Archive/B2G_OS/Firefox_OS_apps
-tags:
- - Apps
- - Building
- - Components
- - Firefox OS
- - Installing
- - NeedsTranslation
- - TopicStub
- - device APIs
-translation_of: Archive/B2G_OS/Firefox_OS_apps
----
-<p class="summary">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.</p>
-
-<h2 id="Building_Firefox_OS_apps">Building Firefox OS apps</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS">Building apps for Firefox OS</a></dt>
- <dd>Firefox OS/Firefox platform app specifics, including App installation and management APIs, manifest files, packaged and hosted apps, handling API permissions.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Localization">Localization</a></dt>
- <dd>This set of articles provides information for developers wishing to provide localized versions of their apps.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Performance">Performance</a></dt>
- <dd>This page lists performance-related topics specific to Firefox OS.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_Accounts_on_Firefox_OS">Firefox Accounts on Firefox OS</a></dt>
- <dd>This article provides an overview of using <a href="/en-US/docs/Mozilla/Tech/Firefox_Accounts">Firefox Accounts</a> in Firefox OS.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Reference_apps">Reference apps</a></dt>
- <dd>This page lists a number of sample apps we've put together for you to download, install, play with and learn from. Have fun!</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Screencast_series:_App_Basics_for_Firefox_OS">Screencast series: App Basics for Firefox OS</a></dt>
- <dd>In this collection of short videos, developers from Mozilla and Telenor explain in a few steps how you can get started with building applications for Firefox OS.</dd>
-</dl>
-
-<h2 id="Building_blocks">Building blocks</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Building_blocks">Building Blocks</a></dt>
- <dd>The Firefox OS Building Blocks are reusable UI components (also called 'common controls') that reflect OS-wide design patterns. Building Blocks are used to create the interfaces of all <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Gaia">Gaia</a> default apps. You are free to make use of these components in your own Firefox OS apps, or general Web apps.</dd>
-</dl>
-
-<h2 id="Styleguides">Styleguides</h2>
-
-<dl>
- <dt><a href="http://www.mozilla.org/en-US/styleguide/products/firefox-os/">Firefox OS Visual styleguide</a></dt>
- <dd>Our style guide for Firefox OS visual design, covering colours, typeface, backgrounds, app icons, and the design of specific UI elements.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Copy_styleguide">Firefox OS Copy styleguide</a></dt>
- <dd>This guide outlines the rules we follow for writing Firefox OS app copy, but can be used as a general guide to writing good copy for any app interfaces.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_OS_in_Arabic">Firefox OS in Arabic</a></dt>
- <dd>A guide to the specific UX design implementation Firefox OS has in place for dealing with Arabic (and other RTL languages.)</dd>
-</dl>
-
-<h2 id="Assets">Assets</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Design_asset_library">Firefox OS design asset library</a></dt>
- <dd>In this section you'll find design assets, artwork, graphic templates, fonts and other materials that will be helpful as you design Firefox OS/Gaia apps.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Icon_font">Firefox OS icon font</a></dt>
- <dd>Firefox OS has its own icon font set available: this article explains how to use it in your own apps.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Transitions">Firefox OS transitions</a></dt>
- <dd>A reference to some of the transitions used in Firefox OS to move between different states in apps, including animated GIFs demonstrating the animations used, plus code samples to show the CSS animation code needed to implement these animations.</dd>
-</dl>
-
-<h2 id="References">References</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_OS_device_APIs">Firefox OS device APIs</a></dt>
- <dd>This article provides a list of pages covering those APIs, as well as the <a href="https://developer.mozilla.org/en-US/Apps/Build/Manifest">app manifest</a> permissions for each one.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_OS_app_tools">Firefox OS app tools</a></dt>
- <dd>This page provides a list of useful tools, libraries, examples, etc. that are useful for Firefox OS app developers, whether you want a code template to copy, or need help with adding a specific feature to your Firefox OS app.</dd>
-</dl>
-
-<h2 id="Other_app_topics">Other app topics</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Porting_Chrome_apps">Porting Chrome apps to Firefox OS Apps</a></dt>
- <dd>This article discusses the differences between Chrome apps and Firefox OS Apps, and how you can convert between the two.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/App_development_FAQ">App development FAQ</a></dt>
- <dd>This FAQ is a compilation of answers to common app development questions.</dd>
-</dl>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/en-US/docs/Mozilla/Marketplace">Firefox Marketplace</a></li>
-</ul>
diff --git a/files/ko/archive/b2g_os/firefox_os_apps/localization/index.html b/files/ko/archive/b2g_os/firefox_os_apps/localization/index.html
deleted file mode 100644
index f6e97ebe92..0000000000
--- a/files/ko/archive/b2g_os/firefox_os_apps/localization/index.html
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title: App localization
-slug: Archive/B2G_OS/Firefox_OS_apps/Localization
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Localization
----
-<p></p><section class="Quick_links" id="Quick_Links">
-
-<ol>
- <li class="toggle">
- <details>
- <summary>Build and install</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Porting B2G OS</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Developing Gaia</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li>
- </ol>
- </details>
- </li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li>
-</ol>
-</section><p></p>
-
-<div class="summary">
-<p><span class="seoSummary">이 글 모음은 앱의 지역화 버전을 만들고 싶어하는 개발자들을 위해정보를 제공하기 위하여 작성하였습니다.</span></p>
-</div>
-
-<h2 id="지침서">지침서</h2>
-
-<dl>
- <dt><a href="https://developer.mozilla.org/en-US/Apps/Build/Localization/Getting_started_with_app_localization">Getting started with app localization</a>(앱 지역화를 시작하기)</dt>
- <dd>이 지침서는 앱 지역화를 자세한 가이드를 제공합니다.</dd>
- <dt><a href="/en-US/Apps/Build/Localization/App_Localization_with_Transifex">Connecting developers and translators with Transifex</a></dt>
- <dd>This article explores the use of <a href="https://www.transifex.com/">Transifex</a> for managing translation work, both for app developers and localizers.</dd>
-</dl>
-
-<h2 id="Reference">Reference</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Web/Apps/Build/Localization/L10n.js_reference">L10n.js reference</a></dt>
- <dd>This article provides a reference for the l10n.js library, and its associated date helper, l10n_date.js.</dd>
- <dt><a href="/en-US/docs/Web/Apps/Build/Localization/Internationalization_helpers_IntlHelper_and_mozIntl">Internationalization helpers: IntlHelper and mozIntl</a></dt>
- <dd>This article looks at how Firefox OS handles localization of dates, times, numbers and collators from version 2.5 onwards, using the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl">Internationalization API</a> and Gaia's built in helpers, <a href="https://github.com/mozilla-b2g/gaia/blob/master/shared/js/intl_helper.js">IntlHelper</a> and <a href="https://github.com/mozilla-b2g/gaia/blob/master/shared/js/moz_intl.js">mozIntl</a>.</dd>
- <dt><a href="/en-US/docs/Web/Apps/Build/Localization/Localization_code_best_practices">App localization code best practices</a></dt>
- <dd>Localization best practices and advanced techniques for experienced Gaia/app developers.</dd>
- <dt><a href="/en-US/Apps/Build/Localization/Developing_Bidi_Apps">Developing Bidi Apps</a></dt>
- <dd>Best coding practices and guidelines for developing bi-directional (<em>left-to-right</em> and <em>right-to-left</em>, RTL) apps.</dd>
-</dl>
-
-<h2 id="Tools">Tools</h2>
-
-<dl>
- <dt><a href="https://github.com/robnyman/TranslationTester">Translation tester</a></dt>
- <dd>This app is for testing translations for Firefox OS apps and provides a blueprint for adding translation support to your own apps.</dd>
-</dl>
diff --git a/files/ko/archive/b2g_os/firefox_os_build_prerequisites/index.html b/files/ko/archive/b2g_os/firefox_os_build_prerequisites/index.html
deleted file mode 100644
index 25a7f50191..0000000000
--- a/files/ko/archive/b2g_os/firefox_os_build_prerequisites/index.html
+++ /dev/null
@@ -1,267 +0,0 @@
----
-title: Firefox OS build prerequisites
-slug: Archive/B2G_OS/Firefox_OS_build_prerequisites
-translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
----
-<p> </p>
-<div class="warning">
- <strong>중요</strong>: 번역은 제가 필요한 부분 및 확인 가능한 부분만 진행 하였으며 변역된 날자는(2013/02/25)이며 문서 변경이 잦아 오늘 이후는 원문과 번역이 다를 수 있습니다. 참고하세요. 미 번역/변경된 부분은 추가로 다른 분이 해 주실 것으로 믿습니다.</div>
-<div class="summary">
- <p id=".C2.A0"><span style="line-height: inherit;">Firefox OF 빌드 코드를 받기 전에, 빌드 환경을 먼저 구축 하셔야 합니다. 현재까지는 리눅스 64비트 버젼 및 맥 OS X에서만 빌드 하실 수 있습니다.</span></p>
-</div>
-<div class="note">
- <h5 id="Note_Firefox_OS를_올리기_위한_스마트폰을_빌드_시작전에_컴퓨터에_연결하지_마십시오_언제_연결할지_알려_줄_것입니다.">Note: <span style="font-size: 14px; font-weight: normal; line-height: 1.5;">Firefox OS를  올리기 위한 스마트폰을 빌드 시작전에 컴퓨터에 연결하지 마십시오, 언제 연결할지 알려 줄 것입니다.</span></h5>
-</div>
-<h2 id="지원되는_단말기_및_에뮬레이터">지원되는 단말기 및 에뮬레이터</h2>
-<p><span id="answer_long0" style="display: block;">몇몇의 단말기가 지원되기도 하지만, 어떤 단말기에서는 다양하게 변경이 가능합니다. 지금까지는 특별한 목적(특징)으로 분류되어 있습니다. 그리고 어떤 기기는 다른 기기들보다 지원이 더 잘되기도 합니다. </span></p>
-<h3 id="분류1">분류1</h3>
-<p>분류1 에 속하는 기기는 개발의 주요 대상이 되는 기기며 전반적으로 기능의 첫 번째 구현 대상 혹은 최신 버그들이 처음으로 수정되는 대상 기기입니다.</p>
-<dl>
- <dt>
- 오토로</dt>
- <dd>
- 오토로는 중저가 스마트폰의 플랫폼 개발 혹은 테스트용으로 사용됩니다. 많은 핵심 Firefox OS개발에 사용되는 기기입니다</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators" style="line-height: 1.5;" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators">에뮬레이터 (ARM and x86)</a></dt>
- <dd>
- 에뮬레이터는 ARM코어와 X86(PC용)코어 두가지가 있습니다.</dd>
- <dt>
- Koen</dt>
- <dd>
- Keon은 <a href="http://www.geeksphone.com/" title="http://www.geeksphone.com/">Geeksphone</a>의 초기의 개발자 폰중에 하나 입니다. Koen은 Geeksphone에서 빌드 방법을 제공합니다.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">데스크탑</a></dt>
- <dd>
- 데스크탑용 Firefox OF도 있습니다; 이는 <a href="/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner</a> application에서 <a href="https://developer.mozilla.org/en-US/docs/Gecko" title="/en-US/docs/Gecko">Gecko</a>를 실행 하는 것이며, <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia" title="/en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia">Gaia</a> user experience를 Gecko에서 사용 가능합니다.</dd>
-</dl>
-<dl>
- <dt>
- Flame</dt>
- <dd>
- Flame은 Mozilla의 새로운 표준 Firefox OS의 기준 폰입니다. ZTE Open C를 위한 빌드를 할 때 Flame의 설정을 사용해야 합니다. Flame과 Open C는 안드로이드 젤리빈이 기반 시스템 입니다.</dd>
-</dl>
-<p>당연히, 데스크탑 클라이언트를 빌드 할 수 있으며 단말기 없이도 에뮬레이터를 사용할 수 있습니다..</p>
-<h3 id="분류_2">분류 2</h3>
-<p><span id="answer_long1" style="display: block;">분류 2의 단말기들은 기본기능 개발을 위해(특히 어플리케이션 개발자들) 사용 됩니다. 그렇기 때문에 분류 1다음으로 최신 코드들이 반영됩니다.</span></p>
-<dl>
- <dt>
- <a class="link-https" href="https://en.wikipedia.org/wiki/Nexus_S#Variants" title="https://en.wikipedia.org/wiki/Nexus_S#Variants">Samsung Nexus S</a></dt>
- <dd>
- 넥서스 S로 잘알려진 모델로 상세 모델로는 GT-I9020A, GT-I9023이기도 합니다. 그외 넥서스 S모델들도 사용 가능합니다.</dd>
- <dt>
- Samsung Nexus S 4G</dt>
- <dd>
- 모델명 SPH-D720가 분류 2에 포함 됩니다.</dd>
-</dl>
-<h3 id="분류_3">분류 3</h3>
-<p><span id="answer_long1" style="display: block;">Firefox OS가 아래와 같은 단말기 들로 빌드 될 수도 있지만, 코어 개발 및 기본 기능들이 실제로 잘 반영되지 않아 정상적으로 동작 하지 않을 수도 있습니다. 분류 1, 2보다 안정성이 떨어지므로 참고하시기 바랍니다.</span></p>
-<dl>
- <dt>
- Samsung Galaxy S2</dt>
- <dd>
- 모델 명 i9100; 다른 모델은 호환되지 않을 수 있습니다. (NFC칩만 추가된 i9100P모델인 경우에는 동작 할 수 있습니다.)</dd>
- <dt>
- Samsung Galaxy Nexus</dt>
- <dd>
- 최근에는 지원되지 않는 모델입니다.</dd>
- <dt>
- Nexus 4</dt>
- <dd>
- IRC에 일부 사용자들이 성공적으로 테스트를 했습니다. Android 4.4를 처음으로 실행 하면 Android 4.3을 재 Flash를 요구 할 수 도 있고 그렇지 않을 수 도 있습니다.( <a href="https://developers.google.com/android/nexus/images#occamjwr66y">안드로이드 이미지는 구글로 부터 이용할 수 있다</a>.)</dd>
- <dt>
- Nexus 5</dt>
- <dd>
- IRC에 일부 사용자들이 성공적으로 테스트를 했습니다. </dd>
- <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>
- <dt>
- Unagi</dt>
- <dd>
- 우나기는 중저가 스마트폰의 플랫폼 개발 혹은 테스트용으로 사용됩니다. 많은 핵심 Firefox OS개발에 사용되는 기기입니다.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard" style="font-weight: bold; line-height: 1.5;" title="/en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard">판다보드</a></dt>
- <dd>
- 판다보드는 모바일용 플랫폼으로 사용되는 OMAP 4 시스템용 보드 개발용으로 사용됩니다.</dd>
- <dd>
-  </dd>
- <dt>
-  </dt>
- <dt>
-  </dt>
-</dl>
-<div class="warning">
- <strong>중요</strong>: 단말기는 최소한 <strong>안드로이드 4</strong> (즉 아이스크림 샌드위치)가 지원되어야 합니다. 위에 언급된 단말기중 안드로이드 4보다 낮은 버젼이라면 업데이트 하시기 바랍니다.</div>
-<div class="note">
- <h2 id="분류_2와_분류_3_단말은_홈_버튼이_없다">분류 2와 분류 3 단말은 홈 버튼이 없다</h2>
- <p>분류 1의 모든 단말은 하드웨어 홈 버튼이 있어서 사용자가 홈 스크린으로 돌아갈 수 있습니다. 최근 대부분의 ICS 안드로이드 단말은 네비게이션을 위해서 화면상에 소프트웨어 홈 버튼을 사용합니다. 카메라 앱 같이 몇몇 앱에서는 하드웨어 홈버튼 없이 앱을 빠져나올 수 없습니다. 이것은 FireFox OS가 매일매일 사용하는데 부적절할 수 있게 합니다.</p>
-</div>
-<p> </p>
-<h2 id="리눅스_요구사항">리눅스 요구사항</h2>
-<p>리눅스에서의 빌드 환경은 아래와 같습니다:</p>
-<ul>
- <li>An installed <strong>64 bit GNU/Linux</strong> distribution (추천 버전 : 우분투 12.04).</li>
- <li>최소 <strong>4 GB</strong> 램/스왑 공간.</li>
- <li>최소 <strong>20 GB</strong> 이상의 하드 공간.</li>
-</ul>
-<p>위의 사항은 단순히 최소사양이며, 가끔은 리소스가 없어서 빌드 실패가 되기도 합니다.</p>
-<p>다른 리눅스 배포판에서도 빌드가 될수도 있으나, 우분투 12.04 배포판에서는 대부분의 개발자들이 빌드에 성공 했으므로 이를 추천 합니다. 아래 배포판들은 <strong>다음과 같은 이유로 빌드 되지 않을 수 있습니다.</strong>: <strong>32 비트 디스트로 와 최신 디스트로</strong>( <strong>우분투 12.10, 페도라 17/18, 아크 리눅스의 </strong><strong>gcc 4.7</strong>으로 인해 오류 발생 가능성 있음).</p>
-<p>그외 아래와 같은 툴들이 설치 되어 있어야 합니다:</p>
-<ul>
- <li><strong>autoconf 2.13</strong></li>
- <li><strong>bison</strong></li>
- <li><strong>bzip2</strong></li>
- <li><strong>ccache</strong></li>
- <li><strong>curl</strong></li>
- <li><strong>flex</strong></li>
- <li><strong>gawk</strong></li>
- <li><strong>git</strong></li>
- <li><strong>gcc / g++ / g++-multilib</strong> <strong>(4.6.3 or older)</strong></li>
- <li><strong>make</strong></li>
- <li><strong>OpenGL headers</strong></li>
- <li><strong>X11 headers</strong></li>
- <li><strong>32-bit ncurses</strong></li>
- <li><strong>32-bit zlib</strong></li>
-</ul>
-<h3 id="64_비트에서의_설치_예시"><strong>64 비트에서의 설치 예시:</strong></h3>
-<p><strong>우분투 12.04 / 리눅스 민트 13 / 데비안 6</strong></p>
-<pre>$ 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 class="note">64비트 우분투에서 빌드할때는, 32비트 버전의 <code>libX11.so</code>와 <code>libGL.so</code>를 심볼릭 링크로 추가 하셔야 합니다.</p>
-<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>
-<p><strong>우분투 12.10</strong></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 class="note">위의 단계 외 추가로, 빌드 하기 전에 GCC 4.6를 기본 호스트 컴파일러로 설정 하여야 합니다. 소스를 가저 온 후에는 "<a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler" title="en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">여기"</a> 참고 하세요.</p>
-<p class="note">최신 우분투 12.10을 설치 한후, "unmet dependenceis for ia32-libs"에러가 발생 할 것입니다. 아래와 같이 수행 하여 수정 하시기 바랍니다.</p>
-<pre>sudo dpkg --add-architecture i386
-sudo apt-get update
-sudo apt-get install ia32-libs</pre>
-<p><strong>Fedora 16:</strong></p>
-<pre class="note">$ sudo yum install autoconf213 bison bzip2 ccache curl flex gawk gcc-c++ git glibc-devel glibc-static libstdc++-static libX11-devel make mesa-libGL-devel ncurses-devel patch zlib-devel ncurses-devel.i686 readline-devel.i686 zlib-devel.i686 libX11-devel.i686 mesa-libGL-devel.i686 glibc-devel.i686 libstdc++.i686 libXrandr.i686 zip</pre>
-<p><strong>Fedora 17/18:</strong></p>
-<pre class="note">$ sudo yum install autoconf213 bison bzip2 ccache curl flex gawk gcc-c++ git glibc-devel glibc-static libstdc++-static libX11-devel make mesa-libGL-devel ncurses-devel patch zlib-devel ncurses-devel.i686 readline-devel.i686 zlib-devel.i686 libX11-devel.i686 mesa-libGL-devel.i686 glibc-devel.i686 libstdc++.i686 libXrandr.i686 zip</pre>
-<p><span style="line-height: inherit;">위와 같이 프로젝트는 컴파일 하려면 GCC 4.4가 필요합니다. </span><a href="http://people.mozilla.org/~gsvelto/gcc-4.4.7-bin.tar.xz" style="line-height: inherit;" title="http://people.mozilla.org/~gsvelto/gcc-4.4.7-bin.tar.xz">여기</a><span style="line-height: inherit;">서 미리 컴파일된 버전을 구할 수 있으니 아래 명령을 따라 다운로드후 </span><code style="font-size: 14px; line-height: inherit;">/opt</code><span style="line-height: inherit;">에 설치하세요:</span></p>
-<pre class="note">$ wget http://people.mozilla.org/~gsvelto/gcc-4.4.7-bin.tar.xz
-$ sudo tar -x -a -C /opt -f gcc-4.4.7-bin.tar.xz
-</pre>
-<p>이 컴파일러를 항상 호스트의 기본 컴파일러로 지정한 후에 빌드 작업을 해야합니다. 소스를 얻은 후에  <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler" title="en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">here</a>를 따라 확인해 주세요.</p>
-<p><strong style="line-height: inherit;">Arch Linux (not functional yet):</strong></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="">wireless_tools </span></span><span style=""><span style="">yasm</span></span><span style=""><span style=""> </span></span><span style=""><span style="">lib32-mesa </span></span><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>기본적으로 Arch 리눅스는 Python3을 사용하는데 이것을 이전 Python2로 사용해야 합니다:</p>
-<pre><span style=""><span style="">$ cd /usr/bin</span></span>
-
-<span style=""><span style="">$ sudo ln -fs python2 python</span></span></pre>
-<h2 id="Mac_OS_X를_위한_요구사항">Mac OS X를 위한 요구사항</h2>
-<p>Mac OS X에서 Firefox OS를 빌드하기 위해서 Xcode 명령라인 도구들을 설치해야 합니다.</p>
-<p><a href="https://developer.apple.com/downloads/" style="line-height: inherit;" title="https://developer.apple.com/downloads/">Apple's developer downloads page</a><span style="line-height: inherit;"> 에서 </span><span style="line-height: inherit;">OS X의 특정 버전에 적절한 </span><span style="line-height: inherit;">명령라인 도구를 바로 다운로드 해서 사용할 수 있습니다.</span></p>
-<p> </p>
-<p>그러나 Xcode 전체를 사용하고자 하면 <a href="http://itunes.apple.com/us/app/xcode/id497799835?mt=12" title="http://itunes.apple.com/us/app/xcode/id497799835?mt=12">Mac App Store</a>에서 설치할 수 있습니다.</p>
-<p><strong>XCode 4.3.1 이상 최신버전에서 명령라인 도구 설치하기</strong></p>
-<p>Xcode 4.3.1(OS X 10.7 "Lion")과 최신 4.4.1+(Mac OS X 10.8 "Mountain Lion")은 명령라인 도구를 포함하고 있지 않습니다. Xcode의 Preferences 메뉴로 가서 Downloads 패널로 갑니다. 이곳에서 'Command Line Tools'를 설치합니다. 설치를 위해서 최소 20 GB 공간의 여유가 있어야 합니다.</p>
-<p><img alt="Screenshot of Xcode Downloads Command Line Tools" src="/files/4557/xcode_downloads_command_line_tools.png" style="width: 750px; height: 528px;"></p>
-<div class="note">
- <strong>Note:</strong> Firefox OS 에뮬레이터는 Core 2 Duo 프러세스 혹은 그 이상을 요구합니다; 즉 Mac OS X 10.7 "Lion"에 호환되야 합니다. 그러나 이전 Mac OS에서도 Firefox OS를 빌드할 수는 있습니다.</div>
-<p><font face="Georgia, Times, Times New Roman, serif"><span style="font-size: 20px; line-height: 31px;"><b>Firefox OS Mac Bootstrap</b></span></font></p>
-<p>터미널을 열고 아래 명령을 실행합니다:</p>
-<pre class="brush: bash">curl -fsSL https://raw.github.com/mozilla-b2g/B2G/master/scripts/bootstrap-mac.sh | bash</pre>
-<p>It 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. The script will check for and install the following items:</p>
-<ul>
- <li><code>git</code></li>
- <li><code>gpg</code></li>
- <li><code>ccache</code></li>
- <li><code>yasm</code></li>
- <li><code>autoconf-213</code></li>
- <li><code>gcc-4.6</code></li>
- <li><code>homebrew</code></li>
-</ul>
-<div>
- <p>Xcode</p>
- <p>If you have already upgraded to Xcode 4.4+ and get the message that Xcode is outdated, check the Xcode path with:</p>
- <pre>xcode-select -print-path</pre>
- If it still points to <code>/Developer</code> you can update the path with:
- <pre>sudo xcode-select -switch /Applications/Xcode.app</pre>
- Next to that be sure that you have the Mac OS X 10.6 SDK available at:
- <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 the Xcode 4.3 DMG file which is available at the <a class="external" href="https://developer.apple.com/downloads/index.action">Apple Developer</a> portal. You can use the utility Pacifist to extract the 10.6 SDK. Be sure to add a symlink to it to the <code>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</code> directory. (We can drop the 10.6 SDK requirement after <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=784227" title="https://bugzilla.mozilla.org/show_bug.cgi?id=784227">bug 784227</a> has been fixed, and our version of <a href="https://github.com/mozilla-b2g/B2G/issues/189" title="https://github.com/mozilla-b2g/B2G/issues/189">platform_build has been updated</a>.)</p>
- <h3 id="Mountain_Lion">Mountain Lion</h3>
- <div>
- <p>If you are building on OS X 10.8 "Mountain Lion" (Xcode 4.4.1 or later) and encounter the following error:</p>
- <pre style="font-size: 14px;">external/qemu/android/skin/trackball.c:130:25: error: 'M_PI' undeclared (first use in this function)</pre>
- Edit the file: <code style="font-size: 14px;">B2G/external/qemu/Makefile.android</code> and add in line 78:<br>
- <pre style="font-size: 14px;">MY_CFLAGS += -DM_PI=3.14159265358979323846264338327950288   #/* B2G_fix: not finding M_PI constant */
-</pre>
- <div>
- If you are on Mountain Lion and you receive an error during the installation of the dependencies via homebrew, such as:</div>
- </div>
-</div>
-<div>
- <pre>clang: error: unable to execute command: Segmentation fault: 11</pre>
- ... try reinstalling the dependency manually adding the --use-gcc flag, for example:
- <pre>brew install mpfr --use-gcc</pre>
-</div>
-<h3 id="Samsung_Galaxy_S2">Samsung Galaxy S2</h3>
-<p>If you plan to build for the Samsung Galaxy S2, you will also need to install heimdall. See <a href="#Installing_heimdall">Installing heimdall</a> for details. This is <strong>not</strong> done for you by the bootstrap script!</p>
-<div class="note">
- <strong>Note:</strong> If you have installed the <a class="external" href="http://www.samsung.com/us/kies/" 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>
-<div class="note">
- <strong>Note:</strong> Mac OS X uses a case insensitive filesystem by default, which will prevent you from building Firefox OS down the road (<strong>EDITOR'S NOTE: I have never had a problem with this)</strong>.  You should create a case sensitive sparse disk image work from within that directory.  To buld the case sensitive disk image:</div>
-<pre>hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/firefoxos.dmg</pre>
-<p>Mount the drive with:</p>
-<pre>open ~/firefoxos.dmg</pre>
-<p>Change into the mouted drive with:</p>
-<pre>cd /Volumes/untitled/</pre>
-<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>
-<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 class="external" href="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/" 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>
-<h2 class="note" id="adb_설치">adb 설치</h2>
-<p>B2G를 단말기에 설치 하기 전에 기존에 단말기에 설치된 안드로이드를 꺼내 저장 해 두시기 바랍니다. 이 를 위해서는 adb(Android Debug Bridge)를 설치 하셔야 합니다.</p>
-<p>adb를 설치 하기 위해서는 <a class="external" href="http://developer.android.com/sdk/index.html" title="http://developer.android.com/sdk/index.html">Android SDK starter package</a>를 데스크 탑에 설치된 OS에 맞는 것을 설치 하셔야 합니다.(<em>ADT Bundle만 설치 하셔도 됩니다</em>). 설치 후, 패키지 메니저를 실행 하여 "Android SDK Platform-tools"를 설치 하세요.</p>
-<p><code>adb는</code> <code>$SDK_HOME/platform-tools에 설치 될 것입니다.</code> 설치 후에는 <code>PATH에 아래 경로를 추가 하세요</code>.</p>
-<pre>PATH=$SDK_HOME/platform-tools:$PATH</pre>
-<p>~/.bashrc파일에 $SDK_HOME가 있으면 그 경로를 자신이 설치한 Android sdk의 경로로 대체 하세요.없을시는 환경 설정을 추가 하세요. 그리고 아래와 같이 실행 하시면 단말기의 Android 전체 system폴더의 내용을 원하는 backup target dir로 가져옵니다:</p>
-<pre>adb pull /system &lt;backup target dir&gt;/system
-</pre>
-<p>이는 나중에 B2G를 제거 하고 Android로 복원할 수 있습니다. 단말기에 따라 /data폴더와 /vendor폴더도 복사 해야 하는 경우도 있습니다.</p>
-<pre>adb pull /data &lt;backup target dir&gt;/data
-adb pull /vendor &lt;backup target dir&gt;/vendor
-</pre>
-<p>"권한 없음(insufficient permission)"메시지와 함께 복사가 되지 않는 경우, adb server를 제 실행 해 보거나, adb tool에 <em>루트권한(root</em> permissions)이 주어졌는지 확인 하세요. (eg. under CyanogenMod, change 'Settings &gt; System &gt; Developer Options &gt; Root Access' to 'Apps and ADB' or 'ADB only').</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>
-<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>
-<p>There are two ways to install heimdall:</p>
-<ul>
- <li>You can <a class="link-https" href="https://github.com/Benjamin-Dobell/Heimdall" title="https://github.com/Benjamin-Dobell/Heimdall">download the code</a> GitHub and build it yourself.</li>
- <li>Use a package manager to install it.
- <ul>
- <li>On Linux: <code>sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev</code></li>
- <li>On Mac, you can <a class="link-https" href="https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.2-mac.dmg" title="https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.2-mac.dmg">download an installer package</a> and use that.</li>
- </ul>
- </li>
-</ul>
-<h2 id="ccache_설정_변경">ccache 설정 변경</h2>
-<p>기본 ccache 크기는 1GB로 되어 있습니다. B2G 빌드시 이는 부족한 크기이므로 아래와 같이 크기를 변경 해야 합니다.</p>
-<pre><code>$ ccache --max-size 3GB</code></pre>
-<h2 id="udev_rule에_개발_단말기_환경_추가">udev rule에 개발 단말기 환경 추가</h2>
-<p>"lsusb"를 실행하면 현재 연결된 단말기의 USB vendor ID를 보실 수 있습니다.대부분의 구글 단말기는 <code>"18d1"이며,</code> 삼성은 "<code>04e8"</code>, ZTE는 "<code>19d2"이므로</code> <code>/etc/udev/rules.d/51-android.rules</code>파일(해당 파일이 없으면 생성하세요)에 아래 "xxxx"부분에 해당 단말기의 id로 변경하여 추가 하세요.</p>
-<pre>SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", MODE="0666", GROUP="plugdev"</pre>
-<p>ZTE단말기를 예로 들면, 51-android.rules파일에 아래와 같이 추가하세요.</p>
-<pre style="font-size: 14px;">SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"</pre>
-<p><span style="line-height: 1.572;">위와 같이 추가 한 후에는 저장, 종료 후에 "읽기 모드"를 아래와 같이 변경해 주세요.</span></p>
-<pre>$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
-</pre>
-<p>위와 같이 추가 한 후에는 adb명령을 수행 하면 아래와 같이 단말기를 adb에서 인식 할 수 있게 됩니다.</p>
-<pre style="font-size: 14px;">$adb devices
-List of devices attached
-123456 device</pre>
-<div>
- 위와 같이 단말기가 나타나지 않는다면, 해당 파일이름이 맞는지, 연결이 잘되었는지, 확인 한 후 컴퓨터를 재시작 하고 위의 명령을 수행 해 보세요.</div>
-<h2 id="단말기를_개발자_모드로_바꾸기">단말기를 개발자 모드로 바꾸기</h2>
-<p>단말기를 USB에 연결하기 전에 아래와 같은 메뉴에서 단말기를 개발자 모드로 변경 하세요. 개발자 모드를 바꾸고 나면 디버깅과 단말기로 다운로드를 하실 수 있습니다. 설정(Settings) -&gt; 단말기 정보(<code>Device information)</code> -&gt; 모드 정보(<code>Mode Information)</code> -&gt; 개발자(<code>Developer</code>) -&gt; 개발자 모드(enable) <code>Developer mode</code></p>
-<h2 id="다음_단계로">다음 단계로</h2>
-<p>이제 <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build">Firefox OS코드를 가져올 단계</a>로 넘어 가겠습니다.</p>
diff --git a/files/ko/archive/b2g_os/firefox_os_faq/index.html b/files/ko/archive/b2g_os/firefox_os_faq/index.html
deleted file mode 100644
index adf78f75aa..0000000000
--- a/files/ko/archive/b2g_os/firefox_os_faq/index.html
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Firefox OS FAQ
-slug: Archive/B2G_OS/Firefox_OS_FAQ
-translation_of: Archive/B2G_OS/Introduction
----
-<dl>
- <dt>
- 개발자용 테스트폰 구매는 어떻게 하나요?</dt>
- <dd>
- <a href="http://www.geeksphone.com/">Geeksphone</a> 웹 사이트로 부터 바로 구매할 수 있습니다.</dd>
- <dt>
- 개발자용 테스트폰이 없이도 개발 가능한가요?</dt>
- <dd>
- 물론입니다. <a href="https://hacks.mozilla.org/2012/10/firefox-marketplace-aurora/">Firefox Marketplace</a>를 안드로이드폰에서도 테스트해 보실 수 있으며, PC 데스크톱에서 <a href="https://hacks.mozilla.org/2012/12/firefox-os-simulator-1-0-is-here/">Firefox OS simulator</a>를 이용하실 수 있습니다.</dd>
- <dt>
- 최종 출시폰과 비교하면 어떤가요?</dt>
- <dd>
- 일반 소비자 시장에 맞추어 몇몇 파트너들과 함게 개발중인데 좀 더 시간이 지난 후에 공개할 수 있을 것 같습니다. </dd>
- <dt>
- Firefox OS를 저의 폰에 설치해 볼 수 있습니까?</dt>
- <dd>
- 다음 문서를 참고 하십시오. <a href="/en-US/docs/" title="/en-US/docs/">https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS</a></dd>
- <dt>
- 제가 만든 앱을 어떻게 Firefox OS에서 테스트할 수 있나요?</dt>
- <dd>
- 안드로이드폰의 Marketplace나 Firefox OS simulator를 이용하시면 됩니다.</dd>
- <dt>
- Firefox OS란 무엇인가요?</dt>
- <dd>
- 새로운 개념의 개방형 모바일 웹 운영 체제로서 웹 표준에 의해 만들어지며 Web API를 통해 HTML5 기술을 사용하여 직접 휴대폰 기능을 제어할 수 있고, 네이티브 수준의 앱 기능을 제공할 수 있습니다. </dd>
- <dt>
-  Web API의 목록 및 표준화 정도는?</dt>
- <dd>
- 많은 WebAPI가 Firefox OS의 초기 구현에 사용되었으며 아래 목록에서 살펴 보실 수 있습니다.  <a href="https://wiki.mozilla.org/WebAPI#APIs"> https://wiki.mozilla.org/WebAPI#APIs</a>. <a href="https://hacks.mozilla.org/2012/01/mozilla-joins-the-w3c-dap-webapi-progress/">=&gt;표준화 진행 상태</a>.</dd>
- <dt>
- Web API는 크로스플랫폼으로 표준화가 되나요?</dt>
- <dd>
- 그렇습니다. API는 여러 벤더들과 함께 제작하여 다양한 플랫폼을 지원하게 되며 Web App이 직접 스마트폰을 제어할 수 있도록 크로스플랫폼을 지원할 수 있는 표준 방법을 제공할 것입니다. </dd>
-</dl>
diff --git a/files/ko/archive/b2g_os/index.html b/files/ko/archive/b2g_os/index.html
deleted file mode 100644
index 230fd0ce6c..0000000000
--- a/files/ko/archive/b2g_os/index.html
+++ /dev/null
@@ -1,181 +0,0 @@
----
-title: B2G OS
-slug: Archive/B2G_OS
-tags:
- - B2G
- - B2G OS
- - B2G OS 시작하기
- - Basic
- - Beginner
- - Firefox OS
- - FirefoxOS 시작하기
- - Gaia
- - Gonk
- - Overview
- - Starting FirefoxOS
- - web based os from mozilla
- - web os gecko
- - 기본
- - 모질라 재단이 만든 웹 기반 OS
- - 초보자
-translation_of: Archive/B2G_OS
----
-<p> </p>
-
-<div class="summary"><span class="seoSummary">B2G OS는 오픈 웹을 위한 완전하고 독립적인 운영체제입니다. B2G OS는 Mozilla 커뮤니티가 개발하는 오픈소스 프로젝트이며, Firefox OS 상품의 기반이 되고 있습니다. 2017년부터 더이상 유지보수되지 않습니다.</span></div>
-
-<p><strong>B2G</strong>는 스마트폰, 태블릿, 스마트 TV, 그 외 커넥티드 디바이스를 위한 오픈소스 운영체제이며, 커뮤니티에 의해 관리되고 있습니다. 이 프로젝트는 2011년에 <a href="https://wiki.mozilla.org/Booting_to_the_Web">시작</a>됐습니다. B2G는 리눅스 커널과 Gecko 렌더링 엔진을 바탕으로 하고 있습니다. 사용자 인터페이스 전체가 웹 기술(HTML, CSS, JavsScript)로 만들어져있으며, 이 사용자 인터페이스를 통해 <a href="/ko/Apps">웹 애플리케이션</a>을 실행하고 이용할 수 있습니다. Mozilla가 상용 Firefox OS 스마트폰 개발을 <a href="/en-US/docs">종료</a>하면서 B2G의 스마트폰 부분은 Mozilla의 자발적 커뮤니티가 개발하게 되었습니다. 이와 함께 B2G OS로 브랜드를 바꾸게 되었습니다.</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/13140/B2g_wordmark.png" style="display: block; margin: 0 auto;"></p>
-
-<h2 id="페이지_목록"><span>페이지 목록</span></h2>
-
-<dl>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Automated_testing">B2G OS 테스트</a></dt>
- <dd class="landingPageList">이 페이지는 B2G OS를 테스트하는 데 필요한 정보를 제공합니다. 서로 다른 테스트의 진행, 자동화, 결과 보고 및 추적에 대한 내용이 포함됩니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Add-ons">B2G OS 부가기능</a></dt>
- <dd class="landingPageList">부가기능을 개발하기 위해서는 문서의 내용을 따라 진행해야 합니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/API">B2G OS APIs</a></dt>
- <dd class="landingPageList">B2G OS API의 목록입니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Platform/Architecture">B2G OS 아키텍처</a></dt>
- <dd class="landingPageList">이 글은 B2G OS 플랫폼의 아키텍처에 대한 고수준 개요 글입니다. 주요 특징을 설명하고 각 구성요소가 기초 수준에서 어떻게 상호작용하는 지 설명합니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/B2G_OS_build_prerequisites">B2G OS build prerequisites</a></dt>
- <dd class="landingPageList">단순히 Gaia의 빌드를 시도하고 있는 것뿐이라도, B2G OS를 빌드하기 위해 코드를 얻기 전 <a href="https://developer.mozilla.org/ko/docs/Build_Documentation" title="https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions">빌드 시스템</a>을 제대로 설정해야 합니다. — 이 페이지는 그 방법을 설명합니다. 현재 빌드를 지원하는 OS는 64비트 리눅스 및 macOS입니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Phone_guide">B2G OS 단말기 가이드</a></dt>
- <dd class="landingPageList">이 글은 B2G OS를 구동하는 단말기에 대한 개발자 정보를 제공합니다. 개발자 단말기 및 소비자용 단말기 모두 포함되어 있습니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Building_and_installing_Firefox_OS">B2G OS의 빌드와 설치</a></dt>
- <dd class="landingPageList">이 페이지에 나열된 글은 B2G OS를 에뮬레이터나 호환 기기에서 빌드하고 설치하는 방법, 혹은 Gaia 사용자 인터페이스를 Firefox 브라우저에서 빌드하고 설치하는 방법을 안내할 것입니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Building">B2G OS 빌드하기</a></dt>
- <dd class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Firefox_OS_build_prerequisites" title="Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">빌드 시스템을 설정하고</a>, <a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Preparing_for_your_first_B2G_build" title="Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build">코드의 초기 pull 작업 및 설정 작업</a>을 진행하면, Boot to Gecko를 빌드할 수 있게 됩니다. 이 설명서는 어떻게 B2G OS를 빌드하는 지 설명합니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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="https://developer.mozilla.org/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="https://developer.mozilla.org/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="https://developer.mozilla.org/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>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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="https://developer.mozilla.org/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="https://developer.mozilla.org/en-US/docs/Mozilla/Gecko">Gecko</a> and <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Gonk">Gonk</a>.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Releases">Firefox OS developer release notes</a></dt>
- <dd class="landingPageList">This section provides articles covering each new release of Gaia and Gecko for Firefox OS, explaining what features were added and bugs eliminated in each update. There is also a linked summary table showing what APIs are supported by each version of Firefox OS.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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="https://developer.mozilla.org/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>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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="https://developer.mozilla.org/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>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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="https://developer.mozilla.org/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="https://developer.mozilla.org/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="https://developer.mozilla.org/en-US/Apps">App Center</a> and <a href="https://developer.mozilla.org/en-US/Marketplace">Marketplace Zone</a> are good places to go.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Pandaboard">Pandaboard</a></dt>
- <dd class="landingPageList">This is a guide to setting up Firefox OS on a <a href="http://pandaboard.org/" title="http://pandaboard.org/">PandaBoard</a>. The PandaBoard is a low-cost OMAP 4 based development board for developing mobile operating systems.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/PasscodeHelper_Internals">PasscodeHelper Internals</a></dt>
- <dd class="landingPageList">PasscodeHelper is a Gaia helper library for modifying and checking the Firefox OS lockscreen passcode (i.e., pin) from within Gaia, performing functions such as checking whether an entered passcode is correct, and changing the code. This article documents how PasscodeHelper works.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Porting_B2G_OS">Porting B2G OS</a></dt>
- <dd class="landingPageList">This page lists the available resources for porting B2GOS.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first B2G build</a></dt>
- <dd class="landingPageList">Depending on your internet connection, the configuration steps may take several hours to download everything you need to build B2G OS. Waiting is not as fun as doing, so after you have read through this page and have kicked off the configure script, consider using the time to set up and try out the <a class="vt-p" href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Using_Firefox_OS_Simulator" title="/en-US/docs/Mozilla/Firefox_OS/Using_Firefox_OS_Simulator">B2G OS simulator</a>, begin familiarizing yourself with <a class="vt-p" href="https://developer.mozilla.org/en-US/docs/Apps" title="/en-US/docs/Apps">Documentation for app developers</a> including Designing and Building an App, or familiarize yourself with the information on upcoming steps.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Resources">Resources</a></dt>
- <dd class="landingPageList"><em>Resources for App hackers, as generated from our workshops</em></dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Automated_testing/Mochitests">mochitest</a>, <a href="https://developer.mozilla.org/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="https://developer.mozilla.org/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>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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="https://developer.mozilla.org/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="https://developer.mozilla.org/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>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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="https://developer.mozilla.org/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>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/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>
-
-<div class="column-container">
-<h2 class="local-anchor" id="오래된_페이지_항목">오래된 페이지 항목</h2>
-
-<div class="column-third">
-<div class="note">
-<p><strong>주목</strong>: 더 많은 사람들을 참여시키기 위해 <a href="https://wiki.mozilla.org/B2G/Transition_Project/Call_For_Contribution">공헌 요청</a>과 <a href="https://discourse.mozilla-community.org/t/updated-9th-july-call-for-app-maintainers-adopt-an-app/9300/1">앱 채택 요청</a> 문서가 있습니다. 공유해주세요!</p>
-</div>
-
-<h2 id="여러분의_도움이_필요한_곳">여러분의 도움이 필요한 곳</h2>
-
-<ul>
- <li>오류 보고 (상위 오류 보고 <a class="external text" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1252143" rel="nofollow">bug 1252143</a> 참조)</li>
- <li>오류 수정</li>
- <li><a class="external text" href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Automated_testing" rel="nofollow">테스트</a> 실패에 대한 처리</li>
- <li><a href="https://mozilla-b2g.github.io/gaia/">스마트폰 앱</a>을 gaia에 맞게 수정:
- <ol>
- <li>웹앱으로 바꾸거나</li>
- <li>chrome:// 으로 바꾸거나(<a href="https://discourse.mozilla-community.org/t/why-gaia-apps-are-turned-to-chrome/8011">상세한 설명</a>) 수정 요청함</li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Porting_B2G_OS">B2G OS를 다양한 디바이스에 포팅</a>하거나 포트 관리에 참여</li>
- <li>이 문서와 위키를 개선하고 번역</li>
- <li>새로운 스마트폰 기능을 제안하거나 만듦</li>
-</ul>
-</div>
-
-<div class="column-third">
-<h2 id="참여하기">참여하기</h2>
-
-<ul>
- <li>메일링 리스트 (<a class="external text" href="https://lists.mozilla.org/listinfo/dev-fxos" rel="nofollow">dev-fxos</a>)</li>
- <li><a class="external text" href="https://wiki.mozilla.org/IRC" rel="nofollow">IRC</a> (irc.mozilla.org #fxos)</li>
- <li><a href="https://discourse.mozilla-community.org/c/b2g-os-participation">Discourse</a></li>
- <li><a class="external text" href="https://telegram.me/B2GOS" rel="nofollow">텔레그램 그룹</a></li>
- <li><a href="https://wiki.mozilla.org/B2G/Transition_Project/FAQ">프로젝트 위키</a></li>
- <li>진행 상황 업데이트를 위한 <a class="external text" href="https://wiki.mozilla.org/B2G/Meeting" rel="nofollow">B2G 주간회의</a></li>
- <li><a href="https://github.com/mozilla-b2g/B2GOS-community/issues">GitHub</a> 이슈 관리</li>
- <li>회의나 워킹그룹 모임에 참여하려면 이 <a href="https://calendar.google.com/calendar/embed?src=mozilla.com_2d3638353137343333373332@resource.calendar.google.com">달력</a>을 살펴보세요. 회의나 모임 내용은 <a href="https://discourse.mozilla-community.org/c/b2g-os-participation">Discourse</a>에서 확인할 수 있습니다.</li>
-</ul>
-</div>
-
-<div class="column-third">
-<h2 id="지원_디바이스">지원 디바이스</h2>
-
-<p>B2G OS가 구동되는 지원 스마트폰 정보:</p>
-
-<ul>
- <li><a href="https://discourse.mozilla-community.org/t/building-b2g-os-for-aries-z3c/8082">Sony Xperia Z3C</a> (개발용)</li>
- <li><a href="https://discourse.mozilla-community.org/t/flame-builds/8548">Flame </a>(개발용)</li>
- <li><a href="https://discourse.mozilla-community.org/t/zte-open-c/8402">ZTE Open C</a></li>
- <li><a href="https://discourse.mozilla-community.org/t/test-b2gos-on-nexus-5/9405/1">Nexus 5</a></li>
- <li>WileyFox Swift</li>
- <li>Nexus 4 (WIP)</li>
- <li><a href="https://discourse.mozilla-community.org/t/fairphone-2-support-for-b2g-installer-landed/8334">Fairphone 2 </a> (진행 중)</li>
- <li><a href="https://discourse.mozilla-community.org/t/support-for-amami-xperia-z1c-building-debugging-providing-builds/8348">Sony Xperia Z1C</a> (진행 중)</li>
- <li><a href="https://discourse.mozilla-community.org/t/b2g-os-flamingo-sony-xperia-e3-builds/8361">Sony Xperia E3 </a> (진행 중)</li>
- <li><a href="https://discourse.mozilla-community.org/t/wip-xiaomi-redmi-1s-hongmi-1s/10273">Xiaomi Redmi 1S</a> (진행 중)</li>
-</ul>
-
-<p>더 자세한 사항은 <a href="/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">여기에서</a>.<br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS/B2G_installer_add-on">B2G installer</a>를 이용하면 쉽게 설치할 수 있습니다.<br>
- 여러분의 디바이스가 목록에 없나요? 데스크탑에서 <a href="https://wiki.mozilla.org/Mulet">Mulet </a>를 써보세요.</p>
-</div>
-</div>
-
-<div class="note">
-<p><strong>주목</strong>: 오래된 몇몇 페이지는 <a href="/en-US/docs/Archive/Firefox_OS">MDN Archive</a>로 이동되었습니다. 예전 문서는 아카이브에서 확인해주세요. 아카이브에서 되돌려져야할 문서가 있으면 알려주세요.</p>
-</div>
diff --git a/files/ko/archive/b2g_os/installing_on_a_mobile_device/index.html b/files/ko/archive/b2g_os/installing_on_a_mobile_device/index.html
deleted file mode 100644
index 3269212b44..0000000000
--- a/files/ko/archive/b2g_os/installing_on_a_mobile_device/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: 단말기로 Firefox OS 다운로드 하기
-slug: Archive/B2G_OS/Installing_on_a_mobile_device
-translation_of: Archive/B2G_OS/Installing_on_a_mobile_device
----
-<p></p>
-<div class="warning">
- <strong>중요</strong>: 번역은 제가 필요한 부분 및 확인 가능한 부분만 진행 하였으며 변역된 날자는(2013/02/26)이며 문서 변경이 잦아 오늘 이후는 원문과 번역이 다를 수 있습니다. 참고하세요. 미 번역/변경된 부분은 추가로 다른 분이 해 주실 것으로 믿습니다.</div>
-<p>일단 Boot to Gecko의 빌드가 완료 되고 나면 단말기로 인스톨 할수 있게 됩니다.여기서는 이와 같은 과정에 대해 설명 하도록 하겠습니다.</p>
-<div class="note">
- <strong>Note:</strong> 처음 단말기로 Firefox OS를 다운로드 해 넣을 경우 반드시 해당 단말기의 OS가 안드로이드 4 (아이스크림 샌드위치)이어야 합니다. 그렇지 않을 경우 제대로 다운로드가 되지 않을 것입니다. 그러나 한번 B2G를 다운로드 하고 나면 그 다음 부터는 단순하게 맨위 업데이트 부터 진행 하시면 됩니다.</div>
-<h2 id="폰으로_다운로드_하기">폰으로 다운로드 하기</h2>
-<p>폰으로 다운로드 하는 방법은 단순하게 단말기를 연결 한 후 아래와 같이 수행 합니다.</p>
-<pre>./flash.sh
-</pre>
-<p>이게 다입니다. 막 빌드 완료한 당신의 B2G 이미지가 당신의 폰으로 들어갔습니다.</p>
-<h3 id="udev_rule에_단말기_환경_설정">udev rule에 단말기 환경 설정</h3>
-<p>리눅스에서 아래와 같은 메시지가 나타난다면,</p>
-<pre>&lt; waiting for device &gt;</pre>
-<p>아마도 udev rule에 단말기 정보 추가 하는 것을 잊어 버린 것이 아닌지 확인 해보세요. <code>"lsusb"를 실행해 보면 단말기의 USB vendor ID를 확인 할 수 있으니 아래와 같이 추가하세요. 대부분의 구글단말기 ID는 </code>18d1입니다. 구글 ID로 추가 하는 아래 예시를 참고하세요.</p>
-<pre>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"</pre>
-<div class="note">
- <strong>주의 1:</strong> 리눅스에서 '<code>libusb</code> error "-3"'가 발생한다면 루팅 권한이 필요하다는 의미 입니다.  <code>'&gt;sudo</code> ./flash.sh'를 입력 해 보세요.</div>
-<div class="note">
- <strong>주의 2</strong>: 만약 타겟 단말기가 우나기라면, udev rule에 단말기 vendor ID와 구글 ID 두가지를 다 추가 하세요.</div>
-<h3 id="삼성_Galaxy_S2_단말기인_경우_특별한_주의사항들">삼성 Galaxy S2 단말기인 경우 특별한 주의사항들</h3>
-<p>만약 타겟 단말기가 Galaxy S2이고 heimdall 1.3.2 버젼 (가장 최근 버젼임. 버젼 확인은 hiemdall version 명령어 사용) 을 사용한다면, "Heimdall flashing failed" 메시지 이후에 "FACTORYFS upload failed!" 메시지를 포함한 추가적인 정보가 출력되는 것을 보실수도 있습니다.<span style="font-size: 14px; line-height: inherit;"> 이 메시지는 uploading이 성공한 경우이니, 해당 경고 메시지는 무시하셔도 됩니다.</span></p>
-<p>이 비정상적인 행동을 제거하기 위해서는 heimdall의 1.3.1의 release된 source copy를 얻은 후에 (<span style="font-size: 14px; line-height: inherit;">"</span><code style="font-size: 14px; line-height: inherit;">git checkout fbbed42c1e5719cc7a4dceeba098981f19f37c06</code><span style="font-size: 14px; line-height: inherit;">" 명령어 사용), README file의 정의에 따라 컴파일을 하십시요. 컴파일 이후에 install을 하시면 그 에러 메시지는 사라질 것입니다. 하지만, 이 방법은 강력하게 요구되어지는 않습니다.</span></p>
-<p>Heimdall 도구의 모든 version에서 100MB 보다 큰 system.img 화일을 update를 할 수는 없습니다. 따라서 굽기 전에 다음 명령어를 실행하여 build된 system.img 화일의 크기를 확인해야 합니다. 만약 크기가 너무 크다면 IRC 내에서 문의하시기 바랍니다. 크기가 큰 경우에는 두 단계로 update를 분리할 수 있는 방법들이 있습니다.</p>
-<pre>ls -l ./out/target/product/galaxys2/system.img
-</pre>
-<p><span style="font-family: Georgia, Times, 'Times New Roman', serif; font-size: 1.628em; line-height: inherit;">Samsung Galaxy S2의 추가 작업</span></p>
-<p>Galaxy S2로 작업 할 경우, 다음과 같은 추가 작업이 필요합니다. Galaxy S2는 <code>flash.sh</code> script를 통해 Gaia는 다운로드가 되지 않습니다. 따라서 아래와 같이 추가 작업을 실행 해야 합니다.</p>
-<pre>./flash.sh gaia
-</pre>
-<h2 id="특정_영역_다운로드_하기">특정 영역 다운로드 하기</h2>
-<p>Samsung Galaxy S2를 제외한 다른 모든 단말기에서 특정 영역을 다운로드 하려면 아래와 같이 하세요.</p>
-<pre>./flash.sh system
-./flash.sh boot
-./flash.sh user
-</pre>
-<h2 id="특정_모듈_다운로드_하기">특정 모듈 다운로드 하기</h2>
-<p>아래와 같이 특정 모듈이름으로 B2G의 특정 모듈만 다운로드도 가능합니다.</p>
-<pre>./flash.sh gaia
-./flash.sh gecko
-</pre>
-<p>특정 어플리케이션만 업데이트 하려면 환경 설정 변수 BUILD_APP_NAME 를 통해서 가능합니다.</p>
-<pre>BUILD_APP_NAME=calendar ./flash.sh gaia</pre>
-<h2 id="다음_단계">다음 단계</h2>
-<p>이 단계에서, 당신의 타켓은 Boot to Gecko!를 실행시킬 수 있을 것입니다. 이제 실험하고, 코드를 작성하고, 테스트 하고 디버깅을 하실 시간입니다.</p>
-<div class="note">
- <strong>Note:</strong> 도움이 되는 사용 팁 : 만약 타켓이 잠겨있어서 타겟의 잠금을 해제할 필요가 있을 때는 default 숫자는 0000 입니다.</div>
-<h2 class="note" id="문제_해결방법">문제 해결방법</h2>
-<p>B2G를 설치한 후에 타겟이 정상적으로 동작하지 않는 경우에 대비하여 몇 가지 tip을 알려 드립니다.</p>
-<h3 class="note" id="UI가_시작되지_않는다면">UI가 시작되지 않는다면</h3>
-<p>만약 당신의 타겟이 update되고, UI가 정상적으로 실행되지 않는다면, 오래된 configuration을 초기화 할 수 있습니다. 다음은 그 방법입니다.</p>
-<pre>cd gaia
-make reset-gaia
-</pre>
-<h3 class="note" id=".flash.sh_실행_후에_image_is_too_large_에러_메시지가_출력되는_경우">./flash.sh 실행 후에 "image is too large" 에러 메시지가 출력되는 경우</h3>
-<p>이 메시지는 이미지를 flash에 writing하기 전에 당신의 타겟이 rooting될 필요가 있음을 뜻할 수 있습니다. b2g는 root partition 영역에 data를 writing 할 필요가 있으므로 당신의 타겟은 b2g image를 정상적으로 설치하기 위해서 rooting 되어져야 합니다.</p>
diff --git a/files/ko/archive/b2g_os/introduction/index.html b/files/ko/archive/b2g_os/introduction/index.html
deleted file mode 100644
index 17dc0720e9..0000000000
--- a/files/ko/archive/b2g_os/introduction/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: Firefox OS 소개
-slug: Archive/B2G_OS/Introduction
-translation_of: Archive/B2G_OS/Introduction
----
-<p><strong>Firefox OS</strong> ( "Boot to Gecko" 혹은 "B2G" 라는 코드네임)는 Linux와 Mozilla의 Gecko 기술을 기반으로 한 Mozilla의 오픈 소스 모바일 운영체제입니다. 기본적인 생각은 스마트폰 위에서 동작하는 사용자가 접근 가능한 모든 소프트웨어는 웹 기반 앱이며, 진화한 HTML5 기술을 사용하고 JavaScript가 기기 API를 이용해 스마트폰의 하드웨어에 직접 접근 합니다.</p>
-<p>웹 개발자가 제일 이해해야 할 중요한 것은 표현되는 모든 기능 및 앱을 설치 및 실행에 있어 모든 사용자 인터페이스는 웹 기반이라는 것입니다. 사용자 인터페이스에 어떠한 수정을 넣거나 어떠한 애플리케이션을 만드는 모든 일, 특히 모바일 기기의 하드웨어나 서비스에 접근하는 것도 Firefox OS 로 동작하는 웹 페이지입니다.</p>
-<p>Firefox OS의 빌드나 설치 방법에 대해서는 <a href="/ko/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko" title="Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko">빌드 및 설치 가이드</a>로 배울 수 있습니다</p>
-<h2 id="하드웨어_사양">하드웨어 사양</h2>
-<p>Firefox OS는 최신 ARM기반 모바일 기기에서 동작 되도록 포팅 될 것입니다 . 이번 절에서는 Firefox OS가 동작하는 최소/추천 하드웨어 사양에 대해 기술합니다.</p>
-<table>
- <thead>
- <tr>
- <th scope="col">구성품</th>
- <th scope="col">최소사양</th>
- <th scope="col">추천 사양</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">CPU</th>
- <td>ARMv6</td>
- <td>Cortex A5 class or better<br>
- ARMv7a with NEON</td>
- </tr>
- <tr>
- <th scope="row">GPU</th>
- <td>—</td>
- <td>Adreno 200 class or better</td>
- </tr>
- <tr>
- <th scope="row">Connectivity</th>
- <td>—</td>
- <td>WiFi<br>
- 3G</td>
- </tr>
- <tr>
- <th scope="row">Sensors</th>
- <td>—</td>
- <td>Accelerometer<br>
- Proximity<br>
- Ambient light<br>
- A-GPS</td>
- </tr>
- </tbody>
-</table>
-<p>각 단말기들은 통일된 색상 프로파일(그래픽 디바이스 드라이버에서 구현되어 제공된)을 제공 해야 하고, 헤드폰은 일시정지/정지해재 및 정지/재생을 지원해야 합니다. 이와 같은기능은 최근 스마트폰에서는 기본적으로 제공되는 기능입니다.</p>
-<h2 id="Usage_tips" name="Usage_tips">사용법 힌트</h2>
-<p>이 섹션에서는 실제로 Firefox OS를 사용할 때의 힌트를 몇개인가 제공합니다. 이것은 우리가 진짜 사용법의 문서를 작성할 때까지의 플레이스홀더 같은 것입니다.</p>
-<h3 id="Unlocking_the_phone" name="Unlocking_the_phone">스마트폰의 잠금 해제</h3>
-<p>빌드된 Firefox OS의 시작시에 기기의 잠금을 해제하는 비밀번호가 필요한데, 기본 코드는 0000 입니다. 락 스크린의 개발과 테스트를 실시하고 있는 동안은 일부 빌드에서 필요할 수 있습니다.</p>
-<h3 id="Capturing_a_screenshot" name="Capturing_a_screenshot">스크린 캡쳐</h3>
-<p>스크린샷의 캡쳐는 매우 간단해서 전원과 home 버튼을 동시에 누릅니다. 스크린샷의 이미지은 기기상의 <code>/sdcard/screenshots</code> 안에 있습니다.</p>
-<p>만약, 여러 가지 이유로 동작하지 않을 때는 Firefox OS 빌드 시스템을 설치 한 Linux나 Mac OS X 컴퓨터상의 터미널에서 실행하는 것도 가능합니다.</p>
-<ol>
- <li>ffmpeg를 반드시 설치 해 주십시오.
- <ol>
- <li>Mac 에서는 MacPorts를 사용할 때는 <code>sudo port install ffmpeg</code>를 실행해 주십시오.homebrew를 사용할 때는 <code>brew install ffmpeg</code> 입니다.</li>
- <li>Linux (Ubuntu/Debian)에서는 <code>sudo apt-get install ffmpeg</code>를 실행해 주십시오.</li>
- </ol>
- </li>
- <li>스마트폰과 컴퓨터는 USB 케이블을 사용해 접속합니다.</li>
- <li>스마트폰을, screen shot를 찍고 싶은 상황으로 합니다.</li>
- <li><code>cd</code> 해 <code>B2G/gaia</code> 디렉토리로 이동합니다.</li>
- <li><code>make screenshot</code></li>
- <li><code>screenshot.png</code> 라는 이름으로, screen shot가 찍히고 있을 것입니다.</li>
-</ol>
-<h3 id="버튼과_컨트롤">버튼과 컨트롤</h3>
-<p>일반적인 Firefox OS는 물리적인 버튼 몇개를 기본적 필요로 합니다.</p>
-<dl>
- <dt>
- 홈버튼</dt>
- <dd>
- 이 버튼은 보통 화면의 가운데 아래에 위치합니다. 이 버튼을 선택하면 앱 런처로 갈수 있습니다. 이 버튼을 길게 누르고 있으면 카드 스위칭 뷰를 보여줍니다; 이때 나타나는 앱들을 위로 끌어 올리면 해당 앱은 종료됩니다.</dd>
- <dt>
- 볼륨 조정 버튼</dt>
- <dd>
- 왼쪽편에 볼륨 버튼이 있습니다; 이 버튼 윗쪽부분은 볼륨을 증가하고, 아래쪽은 볼륨을 낮추게 됩니다.</dd>
- <dt>
- 전원 버튼</dt>
- <dd>
- 전원 버튼은 단말기의 왼쪽 위에 위치 합니다.</dd>
-</dl>
diff --git a/files/ko/archive/b2g_os/pandaboard/index.html b/files/ko/archive/b2g_os/pandaboard/index.html
deleted file mode 100644
index af65fd2a0e..0000000000
--- a/files/ko/archive/b2g_os/pandaboard/index.html
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title: Pandaboard
-slug: Archive/B2G_OS/Pandaboard
-translation_of: Archive/B2G_OS/Pandaboard
----
-<p>이 문서는 <a href="http://pandaboard.org/">PandaBoard</a>에 Firefox OS 올리기 위한 가이드 입니다. PandaBoard는 모바일 운영 체제를 개발하기위한 저가의 OMAP 4 기반의 개발 보드입니다.</p>
-<p>이 가이드는 SD card가 최소 4 GB의 사용 가능 용량이 있다고 가정합니다.</p>
-<h2 id="Format_the_SD_card">Format the SD card</h2>
-<p>이 <a href="http://omappedia.org/wiki/Minimal-FS_SD_Configuration">OMAPpedia 가이드</a>를 참조하여 SD card를 Format하세요.</p>
-<h2 id="USB_communication">USB communication</h2>
-<p>usb를 인식하기 위하여 <a href="http://source.android.com/source/initializing.html#configuring-usb-access">다음 단계</a>를 따르세요. B2G를 위해 file의 mode 부분을 "0666"으로 사용하는 것이 안전합니다.</p>
-<p>Verify that the pandaboard is accessible by plugging it in to your computer using USB, and running:</p>
-<pre>lsusb</pre>
-<p>If you see something from Texas Instruments, then you found your pandaboard! If not, I found luck by unplugging all the wires, and only connecting the pandaboard to USB.</p>
-<h2 id="Building_and_flashing">Building and flashing</h2>
-<p>After <a href="https://developer-new.mozilla.org/en/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="https://developer-new.mozilla.org/en/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build">configuring</a> for the pandaboard, we now pull in <a href="https://github.com/mozilla/Negatus" title="https://github.com/mozilla/Negatus">Negatus</a>. This is an agent that runs on the device and can help automate/debug it. Negatus will build itself automatically after you run ./build.sh, but you need to install libnspr(<code>apt-get install libnspr4-dev). </code>After <a href="https://developer-new.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko" title="https://developer-new.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko">building</a> the image, then tricky part is flashing it onto your pandaboard.</p>
-<p>Try to follow instructions <a href="https://github.com/mozilla-b2g/android-device-panda" title="https://github.com/mozilla-b2g/android-device-panda">here</a>, up to and including 'Initial setup, part 3'. You can skip 'Initial setup, part 1' which has been done during the build step. After completing 'Initial setup, part 3' return here.</p>
-<p>Now you're free to run the <code>./flash.sh</code> command, and hopefully all will be well. If the <code>flash.sh</code> script tries to erase the userdata partition, remove that line. It's a known issue listed in the <a href="https://github.com/mozilla-b2g/android-device-panda" title="https://github.com/mozilla-b2g/android-device-panda">instructions</a>.</p>
-<p>After flashing is complete you may need to manually reboot the machine by unplugging the usb and power cords and plugging them back in (power cord should be plugged in first).</p>
-<p>Here are the work arounds for known issues:</p>
-<h3 id="waiting_for_OMAP4XXX..._when_trying_to_use_usbboot">"waiting for OMAP4XXX..." when trying to use usbboot</h3>
-<p>If you see this message, then unplug all cables from the pandaboard. Only plug in the pandaboard via USB. Do not connect power. Try now, and run <code>usbboot</code> as <code>sudo</code>.</p>
-<h3 id="Fastboot_errors_while_flashing">Fastboot errors while flashing</h3>
-<p>If you're having trouble running commands in fastboot, I found success after running them with <code>sudo</code> (ie: <code>sudo &lt;fastboot command...&gt;</code>)</p>
-<p>Also, if you have trouble getting your pandaboard into fastboot mode (ie: no devices listed if you do a <code>fastboot devices</code> call), then you can:</p>
-<ol>
- <li>Unplug all the things from the pandaboard</li>
- <li>Hold down the GPIO button</li>
- <li>Plug in the power while still holding the button</li>
- <li>Watch the solid status light, and once the light starts to flash, let go of the GPIO button</li>
-</ol>
-<p>This will put the pandaboard into fastboot mode.</p>
-<h3 id="Can't_connect_to_adb">Can't connect to adb</h3>
-<p>If you see the device in lsusb, but not in adb/fastboot devices and the lights are off, then remove the power source and plug it back in. If the lights are on, you may need to wait a while (30seconds max) for it to be registered on adb.</p>
-<p>Sometimes, flashing will claim to be successful, but it isn't. Reflash the pandaboard (ie: run <code>./flash.sh</code>) and try again. I recommend plugging in power first, and then plugging in the usb cable</p>
-<p>If you get on adb devices "??????????? no permision", even as root, check the section "Configuring USB Access" on this <a href="http://source.android.com/source/initializing.html" title="http://source.android.com/source/initializing.html">site</a> and correct or add the right udev rules. Don't forget to restart the udev service after the changes.</p>
diff --git a/files/ko/archive/b2g_os/phone_guide/index.html b/files/ko/archive/b2g_os/phone_guide/index.html
deleted file mode 100644
index 4ac9688347..0000000000
--- a/files/ko/archive/b2g_os/phone_guide/index.html
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Boot to Gecko 개발자 단말기 가이드
-slug: Archive/B2G_OS/Phone_guide
-translation_of: Archive/B2G_OS/Phone_guide
----
-<p>B2G개발용 단말기를 가지고 있거나, B2G가 설치된 단말기를 가지고 있을경우, 이를 사용하기 위한 기본적인 설명은 다음 링크를 참고 하세요: <a class="link-https" href="https://wiki.mozilla.org/B2G/DeveloperPhone" title="https://wiki.mozilla.org/B2G/DeveloperPhone">Firefox OS로 동작하는 단말기에 대한 기본적인 안내서</a>. Mozilla에서는 아직 이에 대해 개선작업을 진행 중이며, 곧 좀더 간결한 설명을 MDN사이트를 통해 제공 할 것입니다. Firefox OS를 빌드하고 단말기에 넣고 싶다면, 다음 링크를 참고 하세요; <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="Building and installing Firefox OS">'Firefox OS를 빌드하여 단말기에 올리기'</a>.</p>
diff --git a/files/ko/archive/b2g_os/platform/architecture/index.html b/files/ko/archive/b2g_os/platform/architecture/index.html
deleted file mode 100644
index 0f34ac448b..0000000000
--- a/files/ko/archive/b2g_os/platform/architecture/index.html
+++ /dev/null
@@ -1,532 +0,0 @@
----
-title: Firefox OS architecture
-slug: Archive/B2G_OS/Platform/Architecture
-translation_of: Archive/B2G_OS/Architecture
----
-<p> </p>
-
-<div class="overheadIndicator draft">
-<p><strong>초안</strong><br>
- 이 문서는 작성중입니다.</p>
-</div>
-
-<p> </p>
-
-<p>이 (게시)글은 Firefox OS platform의 구조(architecture)에 대한 고차원적인 개요이며, 주요 개념을 소개하고 구성요소들이 기본레벨에서 어떻게 상호동작 하는지를 설명합니다. 기술적인 레벨에서 어떻게 동작하는지의 복잡한 사항을 알려주지는 않습니다; 각각의 <a href="#See_also">See also</a> 섹션으로부터 참조된 글들을 보시기 바랍니다.</p>
-
-<div class="note">
-<p><strong>Note:</strong> Firefox OS는 이직 정식배포 전의 상품임을 유념해 주십시오. 여기에 설명된 구조(architecture)는 반드시 최종이라 할 수 없으며 변경될 수 있습니다.</p>
-</div>
-
-<h2 id="Firefox_OS_용어">Firefox OS 용어</h2>
-
-<p>이 문서를 이해하기 전에 알 필요가 있는 몇 가지 용어가 있습니다.</p>
-
-<dl>
- <dt>B2G</dt>
- <dd>Boot to Gecko의 약어.</dd>
- <dt>Boot to Gecko</dt>
- <dd>전체적인 Firefox OS 프로젝트에 대한 코드명입니다. 프로젝트가 공식명칭을 갖기 오래 전 부터 사용되었기 때문에, Firefox OS를 나타내는 용어로 이 용어가 사용되는 것을 볼 수 있습니다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Gaia" title="/en-US/docs/Mozilla/Firefox_OS/Gaia">Gaia</a></dt>
- <dd>Firefox OS platform의 사용자 인터페이스. Firefox OS가 구동된 후에 화면에 표시되는 것들은 Gaia 층에서 생성된 것 입니다. Gaia는 최신의 스마트폰에서 기대할 수 있는 잠금 화면, 홈 화면, 그리고 모든 표준화된 어플리케이션들을 구현하고 있습니다. Gaia는 전적으로 HTML, CSS와 JavaScript로 구현되었습니다. 내부의 OS와의 유일한 인터페이스는 개방된 Web API들을 통해 이루어 집니다. 이는 Gecko 층(layer)에 구현되어 있습니다. 제 3자가 개발한 어플리케이션들은 Gaia 층에 나란히 설치될 수 있습니다.</dd>
- <dt><a href="/en-US/docs/Gecko" title="/en-US/docs/Accessibility/AT-APIs/Gecko">Gecko</a></dt>
- <dd>Firefox OS 어플리케이션 런타임; 즉, 공개된 표준의 3가지 펙터(HTML, CSS, JavaScript)에 대한 모든 지원을 제공합니다. Gecko가 지원하는 모든 운영체제상에서 관련 API들이 제대로 동작하는 것을 보장합니다. 이는 Gecko가 다른 여러가지 중에서도, 네트워킹 스택, 그래픽 스펙, 배치(layout) 엔진, JavaScript 버추얼 머신과 포팅 레이어들을 포함하고 있다는 것을 의미합니다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Gonk" title="/en-US/docs/Mozilla/Firefox_OS/Gonk">Gonk</a></dt>
- <dd>Gonk는 Firefox OS 플랫폼의 더 낮은 레벨의 운영체제로, (안드로이드 오픈 소스 프로젝트, <a href="http://source.android.com/">Android Open Source Project</a> (AOSP)를 기반으로 하는)리눅스 커널과 유저공간의 하드웨어 추상 계층(Userspace Hardware adstraction layer:HAL)로 구성되어 있습니다. 커널과 여러개의 라이브러리들은 일반적인 오픈 소스 프로젝트들(리눅스, libusb, bluz 등)입니다. HAL의 또 다른 부분들은 안드로이드 프로젝트(GPS, camera 등)과도 공유됩니다. Gonk는 아주 간단한 리눅스라 할 수 있습니다. Gecko는 Gonk에 포팅됩니다; 마치, Gecko가 Mac OS X, Windows와 Android에 포팅되듯이 Gecko는 Gonk에 포팅됩니다. Firefox OS 프로젝트는 Gonk에 대한 전반적인 통제를 가지고, 다른 운영체제에 대한 노출되지 않는 Gecko에 대한 인터페이스들을 노출시킬 수 있습니다. 예를 들어, Gecko는 전반적인 텔레포니 스택과 Gonk상의 디스플레이 프레임 버퍼에 대한 직접적인 접근이 가능하지만, 다른 운영체제로의 이러한 접근은 가능하지 않습니다.</dd>
- <dt> </dt>
- <dd><img alt="Firefox OS Architecture" src="https://developer.mozilla.org/files/4605/FirefoxOS.png" style="height: 915px; width: 754px;"></dd>
-</dl>
-
-<h2 id="부트스트래핑_프로세스">부트스트래핑 프로세스</h2>
-
-<p>맨 처음, Firefox OS를 구동하면, 첫 번째 부트로더부터 실행 하기 시작 합니다. 여기서부터, 일반적인 방법으로 주 운영체제를 불러오는 과정을 진행 합니다. 점진적으로 높은 레벨의 부트로더들을 연속으로 두어서 다음 로더를 연속적으로 부트스트래핑 합니다. 이 단계의 마지막에서, Linux Kernel로 실행이 넘어갑니다.</p>
-
-<p>부팅 프로세스에 대해 별 의미 없는 몇 가지 사항이 있습니다.</p>
-
-<ul>
- <li>부트로더들은 보통 장치를 시작 할 때 유저에게 첫 번째로 보이는 시작 화면(splash screen)이 있습니다. 이 시작 화면은 일반적으로 제조사의 로고 입니다.</li>
- <li>부트로더들은 장치로 이미지를 플래싱(flashing) 합니다. 각각 다른 장치들은 각각 다른 프로토콜을 사용 합니다. 대부분의 휴대폰은 <a href="http://android-dls.com/wiki/index.php?title=Fastboot" title="http://android-dls.com/wiki/index.php?title=Fastboot">fastboot protocol</a>을 사용하지만, 삼성의 갤럭시 S II는 odin 프로토콜을 사용 합니다.</li>
- <li>부트스트래핑 과정이 종료되면서, 대개 모뎀 이미지를 로드하고 모뎀 프로세서에서 실행 합니다. 이런 과정은 굉장히 장치에 특화 되어 있고, 누군가가 소유권(proprietary)을 가지고 있을 수도 있습니다.</li>
-</ul>
-
-<h2 id="리눅스_커널">리눅스 커널</h2>
-
-<p>Gonk가 사용하는 리눅스 커널(들)은 리누스 토발즈와 세계의 해커들이 함께 개발하고 있는 업스트림의 리눅스로부터 만들어졌으며, 거의 똑같습니다. 다만 <a href="http://source.android.com/" style="line-height: inherit;" title="http://source.android.com/">안드로이드 오픈 소스 프로젝트</a> 로부터 만들어지고 아직 업스트림에 들어가지 않은 변경사항들을 가지고 있습니다. 또한, vendor들이 가끔 커널을 수정하며, 이 경우 그들은 그들 자체적 스케쥴로 업스트림에 변경 사항을 올립니다. 그렇지만 일반적으로 말하면 Gonk가 사용하는 리눅스 커널은 오리지날 리눅스와 거의 같다고 이야기 할 수 있습니다.</p>
-
-<p><a href="http://en.wikipedia.org/wiki/Linux_startup_process" style="line-height: inherit;" title="http://en.wikipedia.org/wiki/Linux_startup_process">리눅스 구동 시작 과정</a><span style="line-height: inherit;"> 은 인터넷 상에 잘 문서화 되어 있으므로, 이 글에서는 그것까지 다루지는 않겠습니다. 구동 시작 과정의 마지막에, 대부분의 UNIX류 운영체제가 그러하듯이 userspace의 </span><span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init 프로세스가 시작됩니다. 이 시점에서 마운트된 "</span><span style="line-height: inherit;">disk"는 RAM disk 뿐입니다. 이 RAM disk는 Firefox OS 빌드 과정에서 만들어 졌으며, </span><span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init</span><span style="line-height: inherit;">나 시작 과정 스크립트들이나 로드할 수 있는 커널 모듈들과 같은 중요한 유틸리티들을 가지고 있습니다.</span></p>
-
-<p><span style="line-height: inherit;">일단 </span><span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init </span><span style="line-height: inherit;">프로세스가 시작되면, 리눅스 커널은 userspace 공간으로부터의 시스템 콜, 인터럽트, 하드웨어 기기로부터의 비슷한 요청들을 처리합니다. 많은 하드웨어 기능이 userspace에 </span><code style="font-size: 14px; line-height: inherit;"><a href="http://en.wikipedia.org/wiki/Sysfs" style="line-height: inherit;" title="http://en.wikipedia.org/wiki/Sysfs">sysfs</a></code><span style="line-height: inherit;">를 통해 노출됩니다. 예를 들어, 다음 </span><a href="https://github.com/cgjones/mozilla-central/blob/master/hal/gonk/GonkHal.cpp#L277" style="line-height: inherit;" title="https://github.com/cgjones/mozilla-central/blob/master/hal/gonk/GonkHal.cpp#L277">코드 조각</a><span style="line-height: inherit;">은 Gecko에서 배터리 상태를 읽기 위해 사용됩니다:</span></p>
-
-<pre class="brush:cpp;">FILE *capacityFile = fopen("/sys/class/power_supply/battery/capacity", "r");
-double capacity = dom::battery::kDefaultLevel * 100;
-if (capacityFile) {
- fscanf(capacityFile, "%lf", &amp;capacity);
- fclose(capacityFile);
-}</pre>
-
-<h2 id="init_프로세스">init 프로세스</h2>
-
-<p>Gonk의 <code>init</code> 프로세스는 필요한 파일 시스템들을 마운트 하고 시스템 서비스들을 시작하는 일을 처리합니다. 이 일들의 처리 후에는 프로세스 매니저로 역할하게 됩니다. 이것은 다른 UNIX류 운영체제들에서의 init와 매우 비슷합니다. 먼저 다양한 서비스들을 시작시키기 위해서 필요한 명령들을 가지고 있는 스크립트들(<span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init*.rc 파일들)</span><span style="line-height: inherit;">을 수행합니다. Firefox OS의 </span><span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init.rc</span><span style="line-height: inherit;"> 는 오리지날 안드로이드의 </span><span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init.rc</span><span style="line-height: inherit;"> 에서 Firefox OS를 시작하는데 필요한 것들을 좀 추가한 형태이며, 기기에 따라 조금씩 다를 수 있습니다.</span></p>
-
-<p><span style="font-family: courier new,andale mono,monospace;">init</span><span style="line-height: inherit;"> 프로세스가 하는 가장 중요한 작업 중 하나는 b2g 프로세스를 시작시키는 것입니다; 이게 Firefox OS 운영체제의 중심입니다.</span></p>
-
-<p>b2g를 시작시키는 <span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init.rc</span><span style="line-height: inherit;">의 코드는 다음과 같은 식입니다:</span></p>
-
-<pre>service b2g /system/bin/b2g.sh
- class main
- onrestart restart media</pre>
-
-<p>안드로이드의 init.rc에서 b2g 프로세스를 시작시키기 위한 코드가 추가된 <a href="https://github.com/mozilla-b2g/gonk-misc/blob/master/init.b2g.rc" title="https://github.com/mozilla-b2g/gonk-misc/blob/master/init.b2g.rc"><code>init.b2g.rc</code></a> 파일을 보는 것도 좋을 겁니다.</p>
-
-<div class="note">
-<p><strong>Note:</strong> 정확히 <code>init.rc</code> 가 안드로이드 버전과 얼마나 다른가는 실제 기기마다 다릅니다; 어떤 기기의 경우는 단지 <code>init.b2g.rc</code> 가 추가되어 있을 뿐이고, 어떤 기기는 그보다 더 많은 변경이 있을 수 있습니다.</p>
-</div>
-
-<h2 id="사용자_영역(userspace)_프로세스_구조">사용자 영역(userspace) 프로세스 구조</h2>
-
-<p>Firefox OS의 많은 구성 요소들이 어떻게 서로 상호 동작하는지 상위 레벨에서 살펴보겠습니다. 이 그림은 Firefox OS의 주요 사용자 프로세스들을 보여줍니다.</p>
-
-<p><a href="/files/3849/B2G userspace architecture.svg"><img alt="Userspace diagram" src="/files/3849/B2G%20userspace%20architecture.svg" style="float: right; height: 491px; position: relative; width: 520px;"></a></p>
-
-<div class="note">
-<p><strong>Note:</strong> Firefox OS는 활발히 개발되고 있기 때문에, 이 그림은 변경 될 수 있습니다. 또한 본 그림이 포함하는 내용 중 일부가 올바르지 않을 수도 있습니다.</p>
-</div>
-
-<p><code>b2g</code> 프로세스는 가장 중요한 시스템 프로세스입니다. <code>b2g</code> 프로세스는 높은 권한으로 실행되기 때문에 대부분의 하드웨어 기기에 접근할 수 있습니다. <code>b2g</code>는 modem과의 통신이 가능하며, display framebuffer에 접근할 수 있습니다. 그리고 GPS, camera 및 다른 하드웨어와 통신이 가능합니다. <code>b2g</code>는 내부적으로 Gecko layer (<code>libxul.so</code>으로 구현됨)를 실행합니다. 어떻게 Gecko layer가 동작하며, <code>b2g</code>와 통신하는지 알고 싶다면 <a href="#Gecko">Gecko</a>를 참고하세요.</p>
-
-<h3 id="b2g">b2g</h3>
-
-<p><code>b2g</code> 프로세스는 낮은 권한을 가진 다수의 <strong>content process </strong>들을 생성할 수 있습니다. 이 프로세스에 web application과 web content이 적재되며, main Gecko server와 메시지-패싱 시스템인 <a href="/en-US/docs/IPDL" title="/en-US/docs/IPDL">IPDL</a>을 이용하여 통신합니다.</p>
-
-<h3 id="rild">rild</h3>
-
-<p><code>rild</code> 프로세스는 모뎀 프로세서와의 인터페이스 입니다. <code>rild</code>은 <strong>Radio Interface Layer</strong> (RIL)를 구현한 daemon입니다. 이 코드는 하드웨어 vendor가 해당 vendor의 모뎀 하드웨어와 통신하기 위해 구현한 것입니다. <code>rild</code>은 client code를 unix-domain socket에 연결해 줍니다. <code>rild</code>은 다음 <code>init</code> 스크립트를 통해 시작됩니다.</p>
-
-<pre>service ril-daemon /system/bin/rild
- socket rild stream 660 root radio</pre>
-
-<h3 id="rilproxy">rilproxy</h3>
-
-<p>Firefox OS에서 <code>rild</code> client는 <code>rilproxy</code> 프로세스입니다. <code>rilproxy</code> 프로세스는 <code>rild</code>와 <code>b2g</code>사이에서 dumb forwarding proxy처럼 동작합니다. 이 proxy는 implementation detail이 필요한 상태 입니다. <a href="https://github.com/mozilla-b2g/rilproxy" title="https://github.com/mozilla-b2g/rilproxy"><code>rilproxy</code> 코드는 GitHub에서 확인할 수 있습니다. </a></p>
-
-<h3 id="mediaserver">mediaserver</h3>
-
-<p><a href="https://github.com/android/platform_frameworks_base/tree/ics-mr0-release/media/libmediaplayerservice" title="https://github.com/android/platform_frameworks_base/tree/ics-mr0-release/media/libmediaplayerservice"><code>mediaserver</code> process</a> 는 오디오와 비디오 재생을 제어합니다. Gecko는 <span class="fnt_k05">원격 절차 호출(</span>Remote Procedure Call, RPC) 메커니즘을 통해 이와 통신합니다. 미디어들 중 Gecko가 재생할 수 있는 것들(OGG Vorbis audio, OGG Theora video, and <a href="http://www.webmproject.org/about/" title="http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;cad=rja&amp;ved=0CDUQFjAA&amp;url=http%3A%2F%2Fwww.webmproject.org%2F&amp;ei=8Q84UOnoMoHH6wHZ44DwBA&amp;usg=AFQjCNHK9j6wyhUful5RmKCpU6b8GDfpYQ&amp;sig2=tCl8VxL3mCvrH86EyOwO_A">WebM</a> video)은 Gecko에 의해서 해독(decode)되며 직접 <code>mediaserver</code> 프로세스로 전달됩니다. 이외의 다른 미디어 파일들은 다른 외부 코덱과 하드웨어 인코더에 접근할 수 있는 <code>libstagefright</code>에 의해 해독됩니다.</p>
-
-<div class="note">
-<p><strong>Note:</strong> <code>mediaserver</code> 프로세는 Firefox OS의 "임시" 구성요소입니다. 이 프로세스는 초기 개발 업무를 위해서 사용되었으며, 최종적으로는 사용하지 않을 예정입니다. 하지만 최소한 Firefox OS 2.0까지는 사용 할 것입니다.</p>
-</div>
-
-<h3 id="netd">netd</h3>
-
-<p><code>netd</code> 프로세스는 네트워크 인터페이스의 설정 조정(configure)에 사용합니다.</p>
-
-<h3 id="wpa_supplicant">wpa_supplicant</h3>
-
-<p><code>wpa_supplicant</code> 프로세스는 WiFi 액세스 포인트와의 연결을 처리하는 표준 UNIX 스타일 데몬입니다.</p>
-
-<h3 id="dbus-daemon">dbus-daemon</h3>
-
-<p>dbus-daemon은 FirefoxOS가 블루투스 통신을 위해 사용하는 메시지 버스 시스템인 <a href="http://www.freedesktop.org/wiki/Software/dbus" title="http://www.freedesktop.org/wiki/Software/dbus">D-Bus</a>를 동작시킵니다.</p>
-
-<h2 id="Gecko">Gecko</h2>
-
-<p>앞서 언급했듯이, <a href="/en-US/docs/Gecko" title="/en-US/docs/Gecko">Gecko</a>는 사용자가 Firefox OS에서 볼 수 있는 모든 것을 구현할때 사용하는 웹 표준들(<a href="/en-US/docs/HTML" title="/en-US/docs/HTML">HTML</a>, <a href="/en-US/docs/CSS" title="/en-US/docs/CSS">CSS</a>, <a href="/en-US/docs/JavaScript" title="/en-US/docs/JavaScript">JavaScript</a>)의 구현입니다.</p>
-
-<h3 id="입력_이벤트_처리_(Processing_input_events)">입력 이벤트 처리 (Processing input events)</h3>
-
-<p>대부분의 Gecko 동작은 사용자의 동작에 의해 발생합니다. 이런 사용자의 동작들을 입력 이벤트라고 부릅니다. 이런 입력 이벤트로는 버튼을 누른다던지, 터치 스크린을 가진 기기를 터치 한다던지 하는 동작들을 예로 들 수 있습니다. 이런 이벤트들은 Gecko의 주요 진입점인 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAppShell" title="">nsIAppShell</a></code>의 <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsAppShell.cpp" rel="custom">Gonk 구현부</a>를 통해서 Gecko로 들어오게 됩니다. 즉, 입력 장치 드라이버는 이벤트를 사용자 인터페이스로 보내기 위해 Gecko의 하위 시스템을 대신하는 <code>nsAppShell</code> 객체의 메소드들을 호출합니다.</p>
-
-<p>예를 들면:</p>
-
-<pre class="brush:cpp;">void GeckoInputDispatcher::notifyKey(nsecs_t eventTime,
- int32_t deviceId,
- int32_t source,
- uint32_t policyFlags,
- int32_t action,
- int32_t flags,
- int32_t keyCode,
- int32_t scanCode,
- int32_t metaState,
- nsecs_t downTime) {
- UserInputData data;
- data.timeMs = nanosecsToMillisecs(eventTime);
- data.type = UserInputData::KEY_DATA;
- data.action = action;
- data.flags = flags;
- data.metaState = metaState;
- data.key.keyCode = keyCode;
- data.key.scanCode = scanCode;
- {
- MutexAutoLock lock(mQueueLock);
- mEventQueue.push(data);
- }
- gAppShell-&gt;NotifyNativeEvent();
-}</pre>
-
-<p>이 이벤트들은 표준 리눅스 <code>input_event </code>시스템으로부터 전달되는 것입니다. Firefox OS는 이벤트 필터링 기능을 제공하는<a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/libui/InputReader.cpp" rel="custom">light abstraction layer</a>를 그 이벤트 위에 사용합니다. <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/libui/EventHub.cpp" rel="custom">widget/gonk/libui/EventHub.cpp</a> 코드를 보면 <code>EventHub::getEvents()</code>메소트 안에서 입력 이벤트를 생성하는 것을 확인할 수 있습니다.</p>
-
-<p>Gecko가 위 이벤트들을 수신하면, 이벤트들은 아래의<code> <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsAppShell.cpp" rel="custom">nsAppShell</a></code>에 의해 DOM으로 보내지게 됩니다.</p>
-
-<pre class="brush:cpp;">static nsEventStatus sendKeyEventWithMsg(uint32_t keyCode,
- uint32_t msg,
- uint64_t timeMs,
- uint32_t flags) {
- nsKeyEvent event(true, msg, NULL);
- event.keyCode = keyCode;
- event.location = nsIDOMKeyEvent::DOM_KEY_LOCATION_MOBILE;
- event.time = timeMs;
- event.flags |= flags;
- return nsWindow::DispatchInputEvent(event);
-}
-</pre>
-
-<p>그 이후에, 그 이벤트들은 Gecko에 의해 사용되거나<a href="/en-US/docs/DOM_Client_Object_Cross-Reference/DOM_Events" title="/en-US/docs/DOM_Client_Object_Cross-Reference/DOM_Events"> DOM events</a>로서 이후 처리를 위해 웹 어플리케이션들로 전달됩니다.</p>
-
-<p> </p>
-
-<h3 id="그래픽_(Graphics)">그래픽 (Graphics)</h3>
-
-<p>가장 저차원 레벨에서 봤을 때, Gecko는 하드웨어 프레임 버퍼들을 감싸는(wrap) GL 컨텍스트에 접근하기 위해서 <a href="http://www.khronos.org/opengles/2_X/" title="http://www.khronos.org/opengles/2_X/">OpenGL ES 2.0</a>을 사용합니다. 이러한 동작은 <code>Gonk의 <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsWindow.cpp" rel="custom">nsWindow</a>의 다음과 비슷한 코드로 구현합니다</code>.</p>
-
-<pre class="brush:cpp;">gNativeWindow = new android::FramebufferNativeWindow();
-sGLContext = GLContextProvider::CreateForWindow(this);</pre>
-
-<p><code>FramebufferNativeWindow </code>클래스는 Android의 것을 그대로 차용하였습니다(<a href="https://github.com/android/platform_frameworks_base/blob/ics-mr1-release/libs/ui/FramebufferNativeWindow.cpp" title="https://github.com/android/platform_frameworks_base/blob/ics-mr1-release/libs/ui/FramebufferNativeWindow.cpp"><code>FramebufferNativeWindow.cpp</code></a>를 참고). 이 클래스는 프레임 버퍼 기기의 버퍼들과 메모리를 매핑하기 위해 그래픽스 드라이버에 접근하는데, 이 때 <strong>gralloc</strong> API를 사용합니다.</p>
-
-<p>Gecko는 <a href="/en-US/docs/Gecko/Layers" title="/en-US/docs/Gecko/Layers">Layers</a> 시스템을 이용하여 그려진 내용을 화면에 합성합니다. 이를 위한 과정은 다음과 같이 요약할 수 있습니다:</p>
-
-<ol>
- <li>Gecko는 각각의 독립된 영역들을 메모리 버퍼에 그립니다. 때때로 이 버퍼들은 시스템 메모리에 있을 수 있습니다. 또 다른 경우에 이것들은 Gecko의 주소 공간에 맵핑된 텍스처(texture)들 일 수도 있습니다. 다시 말하자면, Gecko가 비디오 메모리에 직접 영역을 그린다는 것을 의미합니다. 이 동작은 일반적으로 <a href="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#83" title="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#201"><code>BasicThebesLayer::PaintThebes()</code></a>에 의해서 이루어 집니다.</li>
- <li>Gecko는 OpenGL 명령들을 이용하여 모든 texture들을 화면에 합성합니다. 이 합성 과정은 <a href="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/opengl/ThebesLayerOGL.cpp#124" title="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#201"><code>ThebesLayerOGL::RenderTo()</code></a>에서 일어나게 됩니다.</li>
-</ol>
-
-<p>Gecko가 웹 컨텐츠 렌더링을 어떻게 처리하는지에 대한 자세한 내용은 이 문서의 범위 밖의 내용입니다.</p>
-
-<h3 id="하드웨어_추상화_계층_(Hardware_Abstraction_Layer_HAL)">하드웨어 추상화 계층 (Hardware Abstraction Layer, HAL)</h3>
-
-<p>Gecko의 하드웨어 추상화 계층(Hardware Abstraction Layer, HAL)은 Gecko의 이식 계층(porting layer) 중 하나 입니다. 이것은 Gecko의 상위 계층에 접근이 쉬운 C++ API를 이용하여, 다양한 플랫폼에 대한 시스템 인터페이스로의 저수준 접근을 처리합니다. 이 API들은 Gecko HAL 내부에 플랫폼 단위(per-platform basis)로 구현되어 있습니다. 이 하드웨어 추상화 계층은 Gecko 내부의 JavaScript 코드를 통해 직접 접근할 수 없습니다.</p>
-
-<h4 id="HAL의_동작">HAL의 동작</h4>
-
-<p><a href="/ko/docs/Web/API/Window/navigator/vibrate" title="The documentation about this has not yet been written; please consider contributing!"><code>Vibration</code></a>를 예로 들어 살펴보겠습니다. 이 API를 위한 Gecko의 HAL은 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/Hal.h" rel="custom">hal/Hal.h</a>에 정의되어 있습니다. 본질적으로 (명확성을 위해서 간략하게 표현하면), 이러한 함수가 있습니다.</p>
-
-<pre>void Vibrate(const nsTArray&lt;uint32&gt; &amp;pattern);</pre>
-
-<p>이 함수는 Gecko code에 의해 명시된 패턴대로 기기의 진동을 켜기 위해 호출되며, 이에 대응되는 함수는 울리고 있는 진동을 끄기 위해 존재합니다. 이 함수의 Gonk 구현은 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/conk/GonkHal.cpp" rel="custom">hal/conk/GonkHal.cpp</a>에 있습니다:</p>
-
-<pre class="brush:cpp;">void Vibrate(const nsTArray&lt;uint32_t&gt; &amp;pattern) {
- EnsureVibratorThreadInitialized();
- sVibratorRunnable-&gt;Vibrate(pattern);
-}
-</pre>
-
-<p>이 코드는 기기에 진동의 시작을 위한 요청을 다른 쓰레드(<code>VibratorRunnable::Run()</code>에 구현되어 있습니다)에 전송합니다. 해당 쓰레드의 메인 루프는 다음과 같습니다:</p>
-
-<pre class="brush:cpp;">while (!mShuttingDown) {
- if (mIndex &lt; mPattern.Length()) {
- uint32_t duration = mPattern[mIndex];
- if (mIndex % 2 == 0) {
- vibrator_on(duration);
- }
- mIndex++;
- mMonitor.Wait(PR_MillisecondsToInterval(duration));
- }
- else {
- mMonitor.Wait();
- }
-}
-</pre>
-
-<p><code>vibrator_on()</code> 은 진동기 모터를 켜는 Gonk HAL API 입니다. 내부적으로, 이 메소드는 <code>sysfs</code>를 이용하여 커널 객체에 값을 씀으로써 커널 드라이버에 메시지를 전송하게 됩니다.</p>
-
-<h4 id="대체_HAL_API_구현_(Fallback_HAL_API_implementations)">대체 HAL API 구현 (Fallback HAL API implementations)</h4>
-
-<p>Gecko의 HAL API 들은 모든 플랫폼을 지원합니다. Gecko가 진동 모터에 대한 인터페이스를 지원하지 않는 플랫폼(예를 들면 데스크탑 컴퓨터)을 위해 빌드 될 경우, HAL API의 대체 구현(fallback implementation)이 사용됩니다. 진동을 위한 대체 구현은 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/fallback/FallbackVibration.cpp" rel="custom">hal/fallback/FallbackVibration.cpp</a>에서 찾을 수 있습니다.</p>
-
-<pre class="brush:cpp;">void Vibrate(const nsTArray&lt;uint32_t&gt; &amp;pattern) {
-}</pre>
-
-<h4 id="Sandbox_구현_(Sandbox_implementations)">Sandbox 구현 (Sandbox implementations)</h4>
-
-<p>대부분의 web content들이 낮은 권한의 컨텐트 프로세스에서 동작하기 때문에, 이 프로세스들은 진동 모터를 켜고 끄는 것(예를 들면)과 같은 권한을 가지고 있지 않다고 할 수 있습니다. 게다가, 잠재적인 경쟁 상태(race condition)를 처리할 수 있도록, 중앙 처리 위치(a central location을 의역하였습니다)가 필요합니다. Gecko의 HAL에서는 이러한 동작이 "sandbox"를 통해 이루어 집니다. 이 sandbox는 컨텐트 프로세스의 요청들을 대신 처리하고 그 요청들을 "Gecko server" 프로세스로 전송합니다. 이러한 대리 요청들은 IPDL을 이용하여 전송됩니다.</p>
-
-<p>진동을 위해서는 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/SandboxHal.cpp" rel="custom">hal/sandbox/SandboxHal.cpp</a>에 있는 <code>Vibrate()</code> 함수에 의해 처리됩니다:</p>
-
-<pre class="brush:cpp;">void Vibrate(const nsTArray&lt;uint32_t&gt;&amp; pattern, const WindowIdentifier &amp;id) {
- AutoInfallibleTArray&lt;uint32_t, 8&gt; p(pattern);
-
- WindowIdentifier newID(id);
- newID.AppendProcessID();
- Hal()-&gt;SendVibrate(p, newID.AsArray(), GetTabChildFrom(newID.GetWindow()));
-}</pre>
-
-<p>이 함수는 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/PHal.ipdl" rel="custom">hal/sandbox/PHal.ipdl</a>에 서술 된 <code>PHal</code> 인터페이스에 의해 정의되는 메시지를 전송합니다. 이 메소드는 대략 다음과 같이 서술되어 있습니다:</p>
-
-<pre>Vibrate(uint32_t[] pattern);</pre>
-
-<p>이 메시지의 수신단은 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/SandboxHal.cpp" rel="custom">hal/sandbox/SandboxHal.cpp</a>에 있는 <code>HalParent::RecvVibrate()</code> 메소드이며 이와 같습니다:</p>
-
-<pre class="brush:cpp;">virtual bool RecvVibrate(const InfallibleTArray&lt;unsigned int&gt;&amp; pattern,
- const InfallibleTArray&lt;uint64_t&gt; &amp;id,
- PBrowserParent *browserParent) MOZ_OVERRIDE {
-
- hal::Vibrate(pattern, newID);
- return true;
-}</pre>
-
-<p>이것은 현재 주제와 관련이 없는 세부사항을 제거한 상태입니다. 하지만 이를 통해 컨텐트 프로세스에서 발생한 메시지가 Gecko부터 Gonk, <code>Vibrate()의 </code>Gonk HAL 구현부, 그리고 최종적으로 그래픽 드라이버까지 전달되는 과정을 보여줍니다.</p>
-
-<h3 id="DOM_APIs">DOM APIs</h3>
-
-<p><strong>DOM 인터페이스</strong>는 웹 컨텐트가 Gecko와 통신하는 방법입니다. 만약 더 자세한 내용에 대해 관심이 있다면, <a href="/en-US/docs/DOM/About_the_Document_Object_Model" title="/en-US/docs/DOM/About_the_Document_Object_Model">여기</a>를 참고하세요. DOM 인터페이스는 <a href="/en-US/docs/XPIDL" title="/en-US/docs/XPIDL">IDL</a>로 정의됩니다. IDL은 자바스크립트와 C++ 사이의 외래 함수 인터페이스(Foreign Function Interface, FFI)와 객체 모델(Object Model, OM)로 구성됩니다.</p>
-
-<p>vibrartion API는 IDL 인터페이스(<code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/interfaces/base/nsIDOMNavigator.idl" rel="custom">nsIDOMNavigator.idl</a></code>)를 통해 web content에서 접근할 수 있습니다:</p>
-
-<pre>[implicit_jscontext] void mozVibrate(in jsval aPattern);</pre>
-
-<p><a href="/en-US/docs/SpiderMonkey/JSAPI_Reference/Jsval" title="/en-US/docs/SpiderMonkey/JSAPI_Reference/JSVAL_IS_OBJECT"><code>jsval</code></a> 인자는 <code>mozVibrate()</code>(아직 확정되지 않은 vibration 명세를 Mozilla가 구현한 것)가 자바스크립트 값을 입력으로 받아들일 수 있다는 것을 나타냅니다. IDL 컴파일러(<a href="/en-US/docs/XPIDL/xpidl" title="/en-US/docs/XPIDL/xpidl"><code>xpidl</code></a>)는 이후에 <code>Navigator</code> 클래스(<code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/base/Navigator.cpp" rel="custom">Navigator.cpp</a></code>)에서 구현될 C++인터페이스를 만듭니다.</p>
-
-<pre class="brush:cpp;">NS_IMETHODIMP Navigator::MozVibrate(const jsval&amp; aPattern, JSContext* cx) {
- // ...
- hal::Vibrate(pattern);
- return NS_OK;
-}</pre>
-
-<p>원래는 위에서 보시는 것보다 훨씬 더 많은 코드가 있지만, 현재 이 문서의 목적을 벗어나는 부분입니다. 중요한 점은 <code>hal::Vibrate()를 호출하게 되면 control이 DOM으로부터 Gecko HAL로 이동하게 된다는 것입니다. 거기서부터 이전 섹션에서 이야기한 HAL 구현부에 진입하며, 그래픽 드라이버 방향으로 작업이 진행되게 됩니다. 최상위 레벨에서 보면, DOM 구현부는 자신이 어떤 플랫폼(Gecko, Windows, Mac OS X 등)에서 동작하는지 상관하지 않습니다. 또한 DOM은 자신이 컨텐트 프로세스에서 동작하든 Gecko 서버 프로세스에서 동작하는지 고려하지도 않습니다. 위와 같이 상세한 부분들은 시스템의 하위 계층이 관장하게 됩니다.</code></p>
-
-<p>vibration API는 예로 쓰기에 좋은 아주 단순한 API입니다. 이에 비해, <a href="/en-US/docs/API/WebSMS" title="/en-US/docs/API/WebSMS">SMS API</a>는 컨텐트 프로세스들을 서버에 연결할 때 자신이 가진 "remoting" 계층을 이용하는 좀 더 복잡한 API라고 할 수 있습니다.</p>
-
-<h2 id="Radio_Interface_Layer_(RIL)">Radio Interface Layer (RIL)</h2>
-
-<p>RIL에 대해서는 <a href="#사용자_영역(userspace)_프로세스_구조">사용자 영역(userspace) 프로세스 구조</a> 섹션에서 간단하게 설명하였습니다. 이 섹션에서는 RIL을 구성하는 여러 부분들이 어떻게 상호작용하는지 좀 더 자세하게 살펴 보겠습니다.</p>
-
-<p>RIL과 관련있는 주요 요소(component)들은 다음과 같습니다:</p>
-
-<dl>
- <dt><code>rild</code></dt>
- <dd>모뎀 펌웨어와 통신하는 데몬입니다.</dd>
- <dt><code>rilproxy</code></dt>
- <dd>The daemon that proxies messages between <code>rild</code> and Gecko (which is implemented in the <code>b2g</code> process). This overcomes the permission problem that arises when trying to talk to <code>rild</code> directly, since <code>rild</code> can only be communicated with from within the <code>radio</code> group.</dd>
- <dt><code>b2g</code></dt>
- <dd>This process, also known as the <strong>chrome process</strong>, implements Gecko. The portions of it that relate to the Radio Interface Layer are <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">dom/system/gonk/ril_worker.js</a> (which implements a worker thread that talks to <code>rild</code> through <code>rilproxy</code> and implements the radio state machine; and the <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> interface, which is the main thread's <a href="/en-US/docs/XPCOM" title="/en-US/docs/XPCOM">XPCOM</a> service that acts primarily as a message exchange between the <code>ril_worker.js</code> thread and various other Gecko components, including the Gecko content process.</dd>
- <dt>Gecko's content process</dt>
- <dd>Within Gecko's content process, the <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRILContentHelper" title="">nsIRILContentHelper</a></code> interface provides an XPCOM service that lets code implementing parts of the DOM, such as the <a href="/en-US/docs/API/WebTelephony" title="/en-US/docs/API/WebTelephony">Telephony</a> and <a href="/en-US/docs/API/WebSMS" title="/en-US/docs/API/WebSMS">SMS</a> APIs talk to the radio interface, which is in the chrome process.</dd>
-</dl>
-
-<h3 id="Example_Communicating_from_rild_to_the_DOM">Example: Communicating from rild to the DOM</h3>
-
-<p>Let's take a look at an example of how the lower level parts of the system communicate with DOM code. When the modem receives an incoming call, it notifies <code>rild</code> using a proprietary mechanism. <code>rild</code> then prepares a message for its client according to the "open" protocol, which is described in <a href="https://github.com/mozilla-b2g/android-hardware-ril/blob/master/include/telephony/ril.h" title="https://github.com/mozilla-b2g/android-hardware-ril/blob/master/include/telephony/ril.h"><code>ril.h</code></a>. In the case of an incoming call, a <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code> message is generated and sent by <code>rild</code> to <code>rilproxy</code>.</p>
-
-<p><code>rilproxy</code>, implemented in <a href="https://github.com/mozilla-b2g/rilproxy/blob/master/src/rilproxy.c" title="https://github.com/mozilla-b2g/rilproxy/blob/master/src/rilproxy.c"><code>rilproxy.c</code></a>, receives this message in its main loop, which polls its connection to <code>rild</code> using code like this:</p>
-
-<pre class="brush:cpp;">ret = read(rilproxy_rw, data, 1024);
-
-if(ret &gt; 0) {
- writeToSocket(rild_rw, data, ret);
-}</pre>
-
-<p>Once the message is received from <code>rild</code>, it's then forwarded along to Gecko on the socket that connects <code>rilproxy</code> to Gecko. Gecko receives the forwarded message on its <a href="https://dxr.mozilla.org/mozilla-central/source/ipc/ril/Ril.cpp" rel="custom">IPC thread</a>:</p>
-
-<pre class="brush:cpp;">int ret = read(fd, mIncoming-&gt;Data, 1024);
-// ... handle errors ...
-mIncoming-&gt;mSize = ret;
-sConsumer-&gt;MessageReceived(mIncoming.forget());
-</pre>
-
-<p>The consumer of these messages is <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/SystemWorkerManager.cpp" rel="custom">SystemWorkerManager</a>, which repackages the messages and dispatches them to the <code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">ril_worker.js</a></code> thread that implements the RIL state machine; this is done in the <code>RILReceiver::MessageReceived()</code> method:</p>
-
-<pre class="brush:cpp;">virtual void MessageReceived(RilRawData *aMessage) {
- nsRefPtr&lt;DispatchRILEvent&gt; dre(new DispatchRILEvent(aMessage));
- mDispatcher-&gt;PostTask(dre);
-}</pre>
-
-<p>The task posted to that thread in turn calls the <code>onRILMessage()</code> function, which is implemented in JavaScript. This is done using the JavaScript API function <code><a href="/en-US/docs/SpiderMonkey/JSAPI_Reference/JS_CallFunctionName" title="/en-US/docs/SpiderMonkey/JSAPI_Reference/JS_CallFunctionName">JS_CallFunctionName</a>()</code>:</p>
-
-<pre>return JS_CallFunctionName(aCx, obj, "onRILMessage", NS_ARRAY_LENGTH(argv),
- argv, argv);</pre>
-
-<p><code>onRILMessage()</code> is implemented in <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">dom/system/gonk/ril_worker.js</a>, which processes the message bytes and chops them into parcels. Each complete parcel is then dispatched to individual handler methods as appropriate:</p>
-
-<pre class="brush:js;">handleParcel: function handleParcel(request_type, length) {
- let method = this[request_type];
- if (typeof method == "function") {
- if (DEBUG) debug("Handling parcel as " + method.name);
- method.call(this, length);
- }
-}
-</pre>
-
-<p>This code works by getting the request type from the object, making sure it's defined as a function in the JavaScript code, then calling the method. Since ril_worker.js implements each request type in a method given the same name as the request type, this is very simple.</p>
-
-<p>In our example, <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code>, the following handler is called:</p>
-
-<pre class="brush:js;">RIL[UNSOLICITED_RESPONSE_CALL_STATE_CHANGED] = function UNSOLICITED_RESPONSE_CALL_STATE_CHANGED() {
- this.getCurrentCalls();
-};</pre>
-
-<p>As you see in the code above, when notification is received that the call state has changed, the state machine simply fetches the current call state by calling the <code>getCurrentCall()</code> method:</p>
-
-<pre class="brush:js;">getCurrentCalls: function getCurrentCalls() {
- Buf.simpleRequest(REQUEST_GET_CURRENT_CALLS);
-}</pre>
-
-<p>This sends a request back to <code>rild</code> to request the state of all currently active calls. The request flows back along a similar path the <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code> message followed, but in the opposite direction (that is, from <code>ril_worker.js</code> to <code>SystemWorkerManager</code> to <code>Ril.cpp</code>, then <code>rilproxy</code> and finally to the <code>rild</code> socket). <code>rild</code> then responds in kind, back along the same path, eventually arriving in <code>ril_worker.js</code>'s handler for the <code>REQUEST_GET_CURRENT_CALLS</code> message. And thus bidirectional communication occurs.</p>
-
-<p>The call state is then processed and compared to the previous state; if there's a change of state, ril_worker.js notifies the <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> service on the main thread:</p>
-
-<pre class="brush:js;">_handleChangedCallState: function _handleChangedCallState(changedCall) {
- let message = {type: "callStateChange",
- call: changedCall};
- this.sendDOMMessage(message);
-}</pre>
-
-<p><code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> is implemented in <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/RadioInterfaceLayer.js" rel="custom">dom/system/gonk/RadioInterfaceLayer.js</a>; the message is received by its <code>onmessage()</code> method:</p>
-
-<pre class="brush:js;"> onmessage: function onmessage(event) {
- let message = event.data;
- debug("Received message from worker: " + JSON.stringify(message));
- switch (message.type) {
- case "callStateChange":
- // This one will handle its own notifications.
- this.handleCallStateChange(message.call);
- break;
- ...
-</pre>
-
-<p>All this really does is dispatch the message to the content process using the Parent Process Message Manager (PPMM):</p>
-
-<pre class="brush:js;">handleCallStateChange: function handleCallStateChange(call) {
- [some internal state updating]
- ppmm.sendAsyncMessage("RIL:CallStateChanged", call);
-}</pre>
-
-<p>In the content process, the message is received by <code>receiveMessage()</code> method in the <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRILContentHelper" title="">nsIRILContentHelper</a></code> service, from the Child Process Message Manager (CPMM):</p>
-
-<pre class="brush:js;">receiveMessage: function receiveMessage(msg) {
- let request;
- debug("Received message '" + msg.name + "': " + JSON.stringify(msg.json));
- switch (msg.name) {
- case "RIL:CallStateChanged":
- this._deliverTelephonyCallback("callStateChanged",
- [msg.json.callIndex, msg.json.state,
- msg.json.number, msg.json.isActive]);
- break;</pre>
-
-<p>This, in turn, calls the <code><a href="https://developer.mozilla.org/ko/docs/XPCOM_Interface_Reference/nsIRILTelephonyCallback#callStateChanged()">nsIRILTelephonyCallback.callStateChanged()</a></code> methods on every registered telephony callback object. Every web application that accesses the <a href="/ko/docs/Web/API/Window/navigator/mozTelephony" title="The documentation about this has not yet been written; please consider contributing!"><code>window.navigator.mozTelephony</code></a> API has registered one such callback object that dispatches events to the JavaScript code in the web application, either as a state change of an existing call object or a new <code>incoming</code> call event.</p>
-
-<pre class="brush:cpp;">NS_IMETHODIMP Telephony::CallStateChanged(PRUint32 aCallIndex, PRUint16 aCallState,
- const nsAString&amp; aNumber, bool aIsActive) {
- [...]
-
- if (modifiedCall) {
- // Change state.
- modifiedCall-&gt;ChangeState(aCallState);
-
- // See if this should replace our current active call.
- if (aIsActive) {
- mActiveCall = modifiedCall;
- }
-
- return NS_OK;
- }
-
- nsRefPtr&lt;TelephonyCall&gt; call =
- TelephonyCall::Create(this, aNumber, aCallState, aCallIndex);
- nsRefPtr&lt;CallEvent&gt; event = CallEvent::Create(call);
- nsresult rv = event-&gt;Dispatch(ToIDOMEventTarget(), NS_LITERAL_STRING("incoming"));
- NS_ENSURE_SUCCESS(rv, rv);
- return NS_OK;
-}</pre>
-
-<p>Applications can receive these events and update their user interface and so forth:</p>
-
-<pre class="brush:js;">handleEvent: function fm_handleEvent(evt) {
- switch (evt.call.state) {
- case 'connected':
- this.connected();
- break;
- case 'disconnected':
- this.disconnected();
- break;
- default:
- break;
- }
-}</pre>
-
-<p>Take a look at the implementation of <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/dialer.js" title="https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/dialer.js"><code>handleEvent()</code> in the Dialer application</a> as an extended example.</p>
-
-<h3 id="3G_data">3G data</h3>
-
-<p>There is a RIL message that initiates a "data call" to the cellular service; this enables data transfer mode in the modem. This data call ends up creating and activating a <a href="https://ko.wikipedia.org/wiki/Point-to-Point Protocol" title="Point-to-Point Protocol">Point-to-Point Protocol</a> (PPP) interface device in the Linux kernel that can be configured using the usual interfaces.</p>
-
-<div class="note">
-<p><strong>Note:</strong> This section needs to be written.</p>
-</div>
-
-<h3 id="Related_DOM_APIs">Related DOM APIs</h3>
-
-<p>This section lists DOM APIs that are related to RIL communications.</p>
-
-<ul>
- <li><a href="/en-US/docs/API/WebTelephony/Introduction_to_WebTelephony" title="/en-US/docs/API/WebTelephony/Introduction_to_WebTelephony">Telephony API</a></li>
- <li><a href="/en-US/docs/API/WebSMS/Introduction_to_WebSMS" title="/en-US/docs/API/WebSMS/Introduction_to_WebSMS">SMS API</a></li>
- <li>Mobile Connection API</li>
-</ul>
-
-<h2 id="WiFi">WiFi</h2>
-
-<p>The WiFi backend for Firefox OS simply uses <code>wpa_supplicant</code> to do most of the work. That means that the backend's primary job is to simply manage the supplicant, and to do some auxiliary tasks such as loading the WiFi driver and enabling or disabling the network interface. In essence, this means that the backend is a state machine, with the states following the state of the supplicant.</p>
-
-<div class="note">
-<p><strong>Note:</strong> Much of the interesting stuff that happens in WiFi depends deeply on possible state changes in the <code>wpa_supplicant</code> process.</p>
-</div>
-
-<p>The implementation of the WiFi component is broken up into two files:</p>
-
-<dl>
- <dt><a href="https://dxr.mozilla.org/mozilla-central/source/dom/wifi/DOMWifiManager.js" rel="custom">dom/wifi/DOMWifiManager.js</a></dt>
- <dd>Implements the API that's exposed to web content, as defined in <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWifi.idl" title="">nsIWifi.idl</a></code>.</dd>
- <dt><a href="https://dxr.mozilla.org/mozilla-central/source/dom/wifi/WifiWorker.js" rel="custom">dom/wifi/WifiWorker.js</a></dt>
- <dd>Implements the state machine and the code that drives the supplicant.</dd>
-</dl>
-
-<p>These two files communicate with one another using the <a href="/en-US/docs/The_message_manager" title="/en-US/docs/The_message_manager">message manager</a>. The backend listens for messages requesting certain actions, such as "associate", and responds with a message when the requested action has been completed.</p>
-
-<p>The DOM side listens for the response methods as well as several event messages that indicate state changes and information updates.</p>
-
-<div class="note">
-<p><strong>Note:</strong> Any synchromous DOM APIs are implemented by caching data on that side of the pipe. Synchronous messages are avoided whenever possible.</p>
-</div>
-
-<h3 id="WifiWorker.js">WifiWorker.js</h3>
-
-<p>This file implements the main logic behind the WiFi interface. It runs in the chrome process (in multi-process builds) and is instantiated by the SystemWorkerManager. The file is generally broken into two sections: a giant anonymous function and <code>WifiWorker</code> (and its prototype). The anonymous function ends up being the <code>WifiManager</code> by providing a local API, including notifications for events such as connection to the supplicant and scan results being available. In general, it contains little logic and lets its sole consumer control its actions while it simply responds with the requested information and controls the details of the connection with the supplicant.</p>
-
-<p>The <code>WifiWorker</code> object sits between the <code>WifiManager</code> and the DOM. It reacts to events and forwards them to the DOM; in turn, it receives requests from the DOM and performs the appropriate actions on the supplicant. It also maintains state information about the supplicant and what it needs to do next.</p>
-
-<h3 id="DOMWifiManager.js">DOMWifiManager.js</h3>
-
-<p>This implements the DOM API, transmitting messages back and forth between callers and the actual WiFi worker. There's very little logic involved.</p>
-
-<div class="note">
-<p><strong>Note:</strong> In order to avoid synchronous messages to the chrome process, the WiFi Manager does need to cache the state based on the received event.</p>
-</div>
-
-<p>There's a single synchronous message, which is sent at the time the DOM API is instantiated, in order to get the current state of the supplicant.</p>
-
-<h3 id="DHCP">DHCP</h3>
-
-<p>DHCP and DNS are handled by <code>dhcpcd</code>, the standard Linux DHCP client. However, it's not able to react when the network connection is lost. Because of this, Firefox OS kills and restarts <code>dhcpcd</code> each time it connects to a given wireless network.</p>
-
-<p><code>dhcpcd</code> is also responsible for setting the default route; we call into the network manager to tell the kernel about DNS servers.</p>
-
-<h2 id="Network_Manager">Network Manager</h2>
-
-<p>The Network Manager configures network interfaces opened by the 3G data and WiFi components.</p>
-
-<div class="note">
-<p><strong>Note:</strong> This needs to be written.</p>
-</div>
-
-<p> </p>
diff --git a/files/ko/archive/b2g_os/platform/gonk/index.html b/files/ko/archive/b2g_os/platform/gonk/index.html
deleted file mode 100644
index 6482db30f1..0000000000
--- a/files/ko/archive/b2g_os/platform/gonk/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: Gonk
-slug: Archive/B2G_OS/Platform/Gonk
-translation_of: Archive/B2G_OS/Platform/Gonk
----
-<div class="summary">
-<p>Gonk는 <a href="/ko/docs/Mozilla/Firefox_OS">Firefox OS</a> 플랫폼의 하위 레벨 운영체제이며, <a href="http://source.android.com/">안드로이드 오픈 소스 프로젝트</a>(Android Open Source Project, AOSP) 기반의 리눅스 커널과 사용자영역 하드웨어 추상 계층(userspace hardware abstraction layer, HAL)으로 이루어져 있습니다. 이 문서는 Gonk가 무엇으로 구성되어 있는지 설명하는 것을 목적으로 합니다. 전체적인 Firefox OS의 구조와 그 구조에 Gonk가 어떻게 맞추어져 있는지에 대한 내용은 <a href="/ko/docs/Mozilla/Firefox_OS/Architecture">Firefox OS architecture</a>를 참고하시기 바랍니다.</p>
-</div>
-
-<h2 id="Gonk_개요">Gonk 개요</h2>
-
-<p>Gonk는 Firefox OS에서 Gecko와 하드웨어 사이의 인터페이스를 제공하는 커널 레벨의 컴포넌트입니다. Gonk는 하드웨어를 제어하고, 하드웨어의 기능을 Gecko에 구현된 Web API로 노출시킵니다. Gonk는 모바일 기기를 제어하는 동작 뒤에서 하드웨어 수준의 요청을 통해 온갖 복잡하고 세밀한 작업을 하는 "블랙박스"로 볼 수 있습니다.</p>
-
-<p>Gonk는 안드로이드로부터 가져온 (GPS와 카메라 같은) 컴포넌트들을 포함하고 있는 간단한 리눅스 배포판입니다. 그리고 Firefox OS 구조의 모든 계층과 통합하기 위해 libusb, bluez 등의 일반적인 오픈 소스 프로젝트들을 포함하도록 모질라에 의해 확장되었습니다. 이러한 설계는 Firefox OS 스마트폰의 배포를 위해 OEM이 안드로이드의 소프트웨어 컴포넌트들(디바이스 드라이버, 펌웨어, 서비스-레벨 데몬 등)을 포팅하는 것을 더 쉽게 만들어 줍니다.</p>
-
-<p>Gonk는 디바이스 포팅 계층(device porting layer)입니다: 즉 하드웨어와 Gecko 사이의 어댑터입니다. Gonk는 Gecko의 포팅 계층들과 짝을 이루는 Gecko 포트로 생각할 수 있는 비교적 간단한 리눅스 배포판입니다. - 그래서 Gonk는 <a href="/ko/docs/Gecko">Gecko</a>의 포팅 대상이 됩니다. OS X, Windows, Android에 대한 Gecko의 포트가 있는 것처럼.</p>
-
-<div class="note">
-<p><strong>Note</strong>: 모바일 기기들은 다양한 칩셋과 하드웨어 사양을 갖기 때문에 여러 가지의 Gonk 배포판을 가질 수 있습니다.</p>
-</div>
-
-<p>Firefox OS 프로젝트는 Gonk를 통해 완전한 제어가 가능하기 때문에 다른 OS에서는 노출될 수 없는 인터페이스를 Gecko에 노출시킬 수 있습니다. 예를 들어 Gecko가 Gonk 상에서 전화(telephony)와 디스플레이 프레임 버퍼(display frame buffer)에 직접적인 접근을 할 수 있습니다.</p>
-
-<h2 id="Gonk_구조">Gonk 구조</h2>
-
-<p>각 모바일 폰은 기기를 동작시키는데 필요한 시스템 라이브러리, 디바이스 드라이버, 펌웨어에 기반한 Gonk 컴포넌트들의 특별한 조합을 가집니다. 이러한 컴포넌트들은 OEM이 칩셋 제조사와 ODM과의 협력을 통해 결정합니다. 다음 그림은 Gonk 구현의 한 예를 보여줍니다:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/9489/gonk-architecture.png" style="display: block; height: 329px; margin: 0px auto; width: 987px;"></p>
-
-<p>이 예는 (Gonk 구현에서 가능한 여러 구성요소들의 부분집합인) 다음의 주요 구성요소들을 보여줍니다:</p>
-
-<ul>
- <li><strong>리눅스 커널</strong>: 안드로이드로의 라이브러리들(GPS, 카메라 등)과 그 외 오픈소스 프로젝트들(리눅스, libusb, bluez 등)을 사용합니다.</li>
- <li><strong>라디오 인터페이스 레이어 (Radio Interface Layer, RIL):</strong> 폰의 모뎀 하드웨어(전화)와 동작합니다. 다음 두 개의 컴포넌트로 구성됩니다:
- <ul>
- <li><strong>rild daemon</strong>: 모뎀의 펌웨어와 통신합니다.</li>
- <li><strong>rilProxy</strong>: rild와 b2g 프로세스 사이에서 메시지를 대행합니다.</li>
- </ul>
- </li>
- <li><strong>미디어서버 프로세스(mediaserver process):</strong> 오디오 및 비디오 플레이백을 제어합니다. Gecko는 안드로이드의 RPC 방식을 통해 미디어 서버와 통신합니다.</li>
- <li><strong>netd 프로세스</strong>: 하드웨어의 네트워크 인터페이스(Wi-fi)와 직접 동작하는 네트워크 데몬입니다</li>
- <li><strong>블루투스 등:</strong> 블루투스와 다른 서비스-레벨 데몬들은 하드웨어 기능에 대한 접근을 제공합니다.</li>
-</ul>
-
-<p>Gonk는 또한 Firefox OS의 Gecko 계층인 b2g 프로세스를 시작하고 관리하고 종료합니다. b2g 프로세스는 Gonk안에서 서비스-레벨 데몬들의 클라이언트로 동작합니다. 서비스-레벨 데몬들은 하드웨어와 직접 동작하며 폰에 있는 하드웨어 기능을 Gecko에 노출시킵니다. Gecko는 이러한 데몬들과 프로세스간 통신(interprocess communication)을 통해 대화합니다. 이 컴포넌트들은 요청에 대한 명령과 프로토콜을 서로 주고받고, 서비스를 제공합니다.</p>
-
-<div class="note">
-<p><strong>Note</strong>: Gonk 구조에 대한 보다 상세한 설명은 <a href="/ko/docs/Mozilla/Firefox_OS/Architecture">Firefox OS architecture guide</a>를 참고하시기 바랍니다.</p>
-</div>
-
-<h2 id="Gonk_포팅하기">Gonk 포팅하기</h2>
-
-<p>Firefox OS가 안드로이드 커널 기반이기 때문에, 기존의 디바이스 드라이버, 펌웨어, 서비스 데몬들과 기타 컴포넌트들은 최소한의 작업으로 Firefox OS와 동작하도록 포팅될 수 있습니다. 만일 커스텀 컴포넌트(예, 커스텀 RIL 또는 새로운 데몬)가 필요하거나 ODM의 레퍼런스 디자인에 수정이 생겼다면 추가적인 통합과 테스팅 작업이 필요할 수는 있습니다.</p>
-
-<p>b2g에서 클라이언트는 프로세스간 통신(inter-process communication, IPC)을 통해 서비스-레벨 데몬들과 통신합니다. 클라이언트는 서비스 레벨 데몬에 소켓 연결을 시작하고, 그 연결 상에서 (서버의 요청 프로토콜을 사용하여) 요청을 제출하며, 응답을 받고, 연결을 종료합니다. OEM은 클라이언트와 서버 사이의 이러한 프로세스간 통신의 디자인과 구현을 담당합니다.</p>
-
-<div class="note">
-<p><strong>Note</strong>: 포팅 작업에 대한 보다 상세한 정보는 <a href="/ko/docs/Mozilla/Firefox_OS/Porting">Porting Firefox OS</a>를 참고하시기 바랍니다.</p>
-</div>
-
-<h3 id="모질라가_OEM_및_폰_제조사와_Gonk_포팅_작업을_하는_방식">모질라가 OEM 및 폰 제조사와 Gonk 포팅 작업을 하는 방식</h3>
-
-<p>모든 Gonk 구현은 모질라, OEM 및 관련 제조사(ODM, 칩셋 제조사)들 사이의 협력의 결과입니다.</p>
-
-<p>모질라는 소스 저장소(source repositories)를 제공하고 해당하는 Firefox OS 배포판의 Gonk를 위한 파일들을 지원합니다. 소스 저장소는 (조금 수정된) 기본적인 리눅스 커널과 Gecko 에 대한 연결(hooks into Gecko)을 포함하고 있습니다.</p>
-
-<p>OEM은 해당 디바이스 모델에 대한 Firefox OS 시스템 이미지의 빌드, 컴파일, 테스팅, 인증 및 배포를 담당합니다. 시스템 이미지의 Gonk 부분에 대해 OEM은 Web API 호출과 폰 하드웨어 기능들 사이의 일관적인 통합을 확보하기 위한 대부분의 작업을 담당합니다. 요구되는 작업의 형태와 범위는 폰에 사용되는 특정 칩셋과 기타 하드웨어 컴포넌트들에 많이 의존하게 됩니다.</p>
-
-<h3 id="디바이스_컴포넌트_(Device_components)">디바이스 컴포넌트 (Device components)</h3>
-
-<p>OEM은 칩셋 제조사 및 ODM과 함께 모바일 디바이스를 구동하기 위해 필요한 모든 디바이스 컴포넌트들을 제공하기 위해 협력합니다. 예를 들어, Wi-Fi 컴포넌트 제조사는 칩셋과 함께 관련 소프트웨어를 제공합니다. 컴포넌트들은 다음을 포함합니다:</p>
-
-<ul>
- <li>드라이버(Drivers) — 모뎀(데이타 및 음성), Wi-FI, 블루투스, 디스플레이, 카메라, 오디오 등 지원되는 폰의 기능들을 위해</li>
- <li>펌웨어(Firmware) — 몇몇 하드웨어(예, 네트워크 인터페이스 카드)는 플래시 드라이브에서 펌웨어를 로드할 수도 있습니다.</li>
- <li>서비스-레벨 데몬들(Service-level daemons) — 다양한 하드웨어 컴포넌트들의 동작을 실행하고 관리하기 위해. 지원 라이브러리(support libraries)와 스타트업 스크립트(startup scripts)를 포함할 수 있습니다.</li>
-</ul>
-
-<h3 id="Gonk와_Gecko의_통합">Gonk와 Gecko의 통합</h3>
-
-<p>OEM은 모바일 기기의 하드웨어 기능들이 Gecko에 구현된 Web API에 올바르고 온전하게 노출되도록 보장해야 합니다. 이것은 다음을 포함합니다.</p>
-
-<ul>
- <li>(Gonk에서) 관련 드라이버 또는 펌웨어와 함께, 하드웨어 기능을 관리하기 위한 서비스-레벨 데몬들의 빌드와 적용</li>
- <li>(b2g에서) 서비스-레벨 데몬들과 통신하는데 필요한 모든 방법들의 셋업</li>
-</ul>
-
-<h2 id="Gonk_소스코드">Gonk 소스코드</h2>
-
-<p><a href="https://github.com/mozilla-b2g/B2G">Github의 메인 B2G 저장소</a>는 Gonk의 저장소로 여겨질 수 있도록 다양한 기기들에 대해 공식적으로 지원되는 Gonk 포트(ports)를 포함하고 있습니다. 지원 기기들에 대한 목록은 B2G/config.sh에 있습니다.</p>
-
-<p>Gonk에 정의된 b2g 프로세스는 <a href="https://github.com/mozilla-b2g/gonk-misc">mozilla-b2g/gonk-misc</a>에서 찾을 수 있습니다. b2g 소스코드에 대한 수정은 여기서 이루어집니다.</p>
-
-<div class="note">
-<p><strong>Note</strong>: <a href="https://github.com/mozilla/gecko-dev">Gecko 소스</a>안에 Gecko의 Gonk 포트를 포함하는 b2g/ 폴더가 있습니다: 이 폴더는 리눅스 커널, HAL, 기타 OEM 라이브러리들로 구성됩니다.</p>
-</div>
-
-<p>매일 수행되는 Gonk 작업의 대부분은 시스템을 다른 보드에 포팅하고, 다양한 기기에서 Gecko가 잘 동작하는지 확인하는 것을 포함합니다.</p>
-
-<dl>
-</dl>
-
-<p> </p>
diff --git a/files/ko/archive/b2g_os/platform/index.html b/files/ko/archive/b2g_os/platform/index.html
deleted file mode 100644
index ae5425436e..0000000000
--- a/files/ko/archive/b2g_os/platform/index.html
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: The Firefox OS platform
-slug: Archive/B2G_OS/Platform
-tags:
- - B2G
- - Firefox OS
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/B2G_OS/Platform
----
-<p>The Firefox OS platform consists of many components. While you don't need to understand its architecture in order to build applications that run on Firefox OS, if you're working on developing or porting the platform—or are simply curious—the following documentation may be of interest to you.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Documentation" name="Documentation">Documentation about the Firefox OS platform</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Introduction" title="en-US/docs/Mozilla/Firefox_OS/Introduction">Introduction to Firefox OS</a></dt>
- <dd>
- Introductory information about what Firefox OS is and how it works.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="en-US/docs/Mozilla/Firefox_OS/Building and installing Boot to Gecko">Building and installing Firefox OS</a></dt>
- <dd>
- A guide to building Firefox OS and installing it on your compatible device. This guide also covers building the Firefox OS emulator, for running Firefox OS on a computer.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a></dt>
- <dd>
- Documentation about Gaia, the user interface application for Firefox OS devices; this is a Web application running atop the Firefox OS software stack.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gonk" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Gonk">Gonk</a></dt>
- <dd>
- Documentation about Gonk, the operating system layer underneath Gaia. This consists of a Linux kernel and a hardware abstraction layer to which Gecko communicates.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Gecko" title="/en-US/docs/Mozilla/Gecko">Gecko</a></dt>
- <dd>
- Gecko is the layer of Firefox OS that provides the same open web standards implementation used by Firefox and Thunderbird, as well as many other applications.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart">Feature support chart</a></dt>
- <dd>
- A chart of which features are available in which types of Firefox OS builds.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Architecture" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Architecture">Firefox OS architecture overview</a></dt>
- <dd>
- An overview of how Firefox OS is structured internally; this is primarily of interest to platform developers and people doing porting work.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Apps_architecture" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Apps_architecture">Firefox OS apps architecture</a></dt>
- <dd>
- An overview of the application model on Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing">Testing Firefox OS</a></dt>
- <dd>
- A guide to testing Firefox OS, including information about creating automated tests.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Porting" title="/en-US/docs/Mozilla/Firefox_OS/Porting">Porting Firefox OS</a></dt>
- <dd>
- Information about how to port Firefox OS to new devices.</dd>
- <dt>
- <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a></dt>
- <dd>
- How to customize the build and execution of Firefox OS by changing the <code>.userconfig</code> file.</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="/en-US/docs/tag/B2G">View All...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Community" name="Community">Getting help from the community</h2>
- <p>If you're working with Firefox OS, or developing applications you'd like to run on Firefox OS devices, there are community resources to help you!</p>
- <ul>
- <li>Consult the Boot to Gecko project forum: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> 웹 Feed</a></li>
-</ul></li>
- </ul>
- <ul>
- <li>Ask your question on Mozilla's Boot to Gecko IRC channel: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Don't forget about the <em>netiquette</em>...</a></span></p>
- <br>
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Related topics</h2>
- <ul>
- <li><a href="/en-US/docs/Mobile" title="en-US/docs/Mobile">Mobile</a></li>
- <li><a href="/en-US/docs/HTML" title="en-US/docs/HTML">HTML</a></li>
- <li><a href="/en-US/docs/CSS" title="en-US/docs/CSS">CSS</a></li>
- <li><a href="/en-US/docs/JavaScript" title="en-US/docs/JavaScript">JavaScript</a></li>
- </ul>
- <h2 class="Tools" id="Resources">Resources</h2>
- <ul>
- <li><a class="link-https" href="https://wiki.mozilla.org/B2G/FAQ" title="B2G/FAQ">Mozilla wiki FAQ</a></li>
- <li><a class="link-https" href="https://wiki.mozilla.org/B2G/Schedule_Roadmap" title="https://wiki.mozilla.org/B2G/Schedule_Roadmap">Roadmap</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Feature_support_chart" title="/en-US/docs/Mozilla/Firefox_OS/Feature_support_chart">Feature support chart</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/archive/b2g_os/porting/index.html b/files/ko/archive/b2g_os/porting/index.html
deleted file mode 100644
index e850181405..0000000000
--- a/files/ko/archive/b2g_os/porting/index.html
+++ /dev/null
@@ -1,121 +0,0 @@
----
-title: Boot to Gecko를 Porting하는 방법
-slug: Archive/B2G_OS/Porting
-translation_of: Archive/B2G_OS/Porting_B2G_OS/basics
----
-<p>Boot to Gecko (Firefox OS)는 <a href="http://www.android.com/" title="http://www.android.com/">Android</a>로부터 파생된 커널을 사용하고, 그 위애 Gecko 기반의 UI가 올라갑니다. 이 페이지는 새로운 타겟에 운영 체제를 어떻게 porting하는지에 대한 기본적인 guide를 제공합니다.</p>
-<p>이 guide는 이미 Android가 수행되는 새로운 타겟에 porting하는 것을 가정하고 있습니다. 만약 Android 이외에 또 다른 타겟에 porting하려고 하면, 또 다른 업무들이 추가되어야 합니다.</p>
-<h2 id="Set_up_your_build_system">Set up your build system</h2>
-<p>The first step is to configure your build system; you can follow the guide in <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>.</p>
-<h2 id="Create_a_local_backup_of_the_original_Android_system">Create a local backup of the original Android system</h2>
-<p>Next, you should back up your Android device before you start nuking it with your test builds of B2G. In addition, some of these bits will be needed by the build and install process.</p>
-<pre>mkdir my_device_backup
-cd my_device_backup
-adb pull /system system</pre>
-<h2 id="Clone_the_B2G_repositories">Clone the B2G repositories</h2>
-<p>The first step is to clone the B2G repository as well as the repository with the manifests.</p>
-<pre>git clone https://github.com/mozilla-b2g/B2G.git
-git clone https://github.com/mozilla-b2g/b2g-manifest.git</pre>
-<h2 id="Add_a_new_device_to_config.sh">Add a new device to config.sh</h2>
-<p>The next step is to add a new device to <a href="https://github.com/mozilla-b2g/B2G/blob/master/config.sh" title="https://github.com/mozilla-b2g/B2G/blob/master/config.sh"><code>config.sh</code></a> in the B2G repository;  you can use the existing ones as a template. This basically involves providing the instructions for fetching the correct files to do the build.</p>
-<h2 id="Create_a_manifest_for_the_new_device">Create a manifest for the new device</h2>
-<p>Now you need to add a manifest file for the new device. Refer to one of the existing manifests for a template. You can use the <a href="https://github.com/mozilla-b2g/b2g-manifest/blob/master/hamachi.xml" title="https://github.com/mozilla-b2g/b2g-manifest/blob/master/hamachi.xml">hamachi</a> manifest a reference. Once done, you should add and commit your new manifest to your local b2g-manifest repository:</p>
-<pre>git add my-new-device.xml
-git commit
-</pre>
-<p>Next, you will want the <a href="https://github.com/mozilla-b2g/B2G/blob/master/config.sh" title="https://github.com/mozilla-b2g/B2G/blob/master/config.sh"><code>config.sh</code></a> file to use your local b2g-manifest repository instead of the official one. To achieve this, change the values of the GITREPO and BRANCH variables in the <a href="https://github.com/mozilla-b2g/B2G/blob/master/config.sh" title="https://github.com/mozilla-b2g/B2G/blob/master/config.sh"><code>config.sh</code></a> file to the location of your local repository and desired branch, for example:</p>
-<pre><span class="nv">GITREPO</span><span class="o">=</span><span class="k">${</span><span class="nv">GITREPO</span><span class="k">:-</span><span class="s2">"file:///home/yourname/b2g-manifest"</span><span class="k">}</span>
-<span class="nv">BRANCH</span><span class="o">=</span><span class="k">${</span><span class="nv">BRANCH</span><span class="k">:-master</span><span class="k">}</span></pre>
-<h2 id="Create_a_configuration_tree_for_the_new_device">Create a configuration tree for the new device</h2>
-<p>Create a new configuration tree for the new device. This should be at <code>device/<em>&lt;manufacturer&gt;</em>/<em>&lt;device_id&gt;</em></code>. This tree should include, at least:</p>
-<ul>
- <li><code>AndroidBoard.mk</code></li>
- <li><code>AndroidProducts.mk</code></li>
- <li><code>BoardConfig.mk</code></li>
- <li><code>extract-files.sh</code></li>
- <li><code>full_&lt;device_id&gt;.mk</code></li>
- <li>idc files for touchscreen</li>
- <li>init files (<code>init.rc</code>, <code>init.&lt;target&gt;.rc</code>, <code>uevent.rc</code>, ...)</li>
-</ul>
-<p>The content here may differ a great deal from one device to another. In particular, BoardConfig.mk and extract-files.sh may differ significantly. This part requires a lot of hacking, testing, and debugging to figure out which binary blobs should be extracted. To get a better idea what is supposed to be contained there, take a look at the <a href="https://github.com/mozilla-b2g/android-device-hamachi" title="https://github.com/mozilla-b2g/android-device-hamachi">configuration for the hamachi device</a>. Remember to correctly reference your own configuration tree from the manifest you created for your new device.</p>
-<div class="note">
- <p><strong>Note:</strong> If you can find an existing reference on <a href="http://www.cyanogenmod.com/" title="http://www.cyanogenmod.com/">CyanogenMod</a> for your device, this information will speed up the porting process. the <a href="http://forum.xda-developers.com/" title="http://forum.xda-developers.com/">XDA Forum</a> is another good place to discuss and check for resources.</p>
-</div>
-<h2 id="Rebuilt_boot.img">Rebuilt boot.img</h2>
-<p>Once you have all that done, you need to rebuild the boot image. This isn't usually needed for the kernel itself, but to pick up the changes to <code>init.rc</code>.</p>
-<h3 id="Changes_to_init.rc">Changes to init.rc</h3>
-<p>The init.rc you use is <strong>not</strong> the one provided by B2G; instead, you need to pull it from the device.</p>
-<p>The main things you'll need to modify are:</p>
-<h4 id="Import_init.b2g.rc">Import init.b2g.rc</h4>
-<p>Add the following lines to import <code>init.b2g.rc</code>:</p>
-<pre>on early-init
- start ueventd
- import /init.b2g.rc</pre>
-<h4 id="Fix_permissions">Fix permissions</h4>
-<p>Correct the permissions on the files <code>/system/b2g/b2g</code>, <code>/system/b2g/updater</code>, <code>/system/b2g/plugin-container</code>; this should be done after the lines that mount the filesystem read/write:</p>
-<pre>chmod 0755 /system/b2g/b2g
-chmod 0755 /system/b2g/updater
-chmod 0755 /system/b2g/plugin-container</pre>
-<p>You might want to start by modifying the <code>init.rc</code> from the new device instead of using the <code>init.rc</code> provided by the build system; if so, you need to remember to set <code>TARGET_PROVIDES_INIT_RC</code> in <code>BoardConfig.mk</code>.</p>
-<h3 id="Prebuilt_kernel_vs._building_the_kernel_from_source">Prebuilt kernel vs. building the kernel from source</h3>
-<p>You can use a prebuilt kernel, or you may build the kernel from source. To build the kernel from source, add AndroidKernel.mk and the kernel config to the device configuration tree.</p>
-<p>The <a href="https://github.com/andreasgal/B2G/tree/master/glue/gonk/device/toro/maguro" title="https://github.com/andreasgal/B2G/tree/master/glue/gonk/device/toro/maguro">maguro</a> on the old build system is an example that builds the kernel from source.</p>
-<h3 id="Extracting_and_modifying_an_existing_boot_image">Extracting and modifying an existing boot image</h3>
-<p>It is possible to recover the boot image of a phone by dumping the contents of the <code>/dev/mtd/mtd1</code> or <code>/dev/mtd/mtd2</code> devices, the resulting image file can then be easily recovered:</p>
-<pre>adb shell 'cat /dev/mtd/mtd1 &gt; /sdcard/boot.img'
-adb pull /sdcard/boot.img
-</pre>
-<p>Once the boot image file has been obtained it can be unpacked via a helper tool such as <a href="http://whiteboard.ping.se/Android/Unmkbootimg" title="Unmkbootimg">unmkbootimg</a>. The tool will extract both the kernel image (zImage) and the ramdisk (initramfs.cpio.gz) as well as printing out a command to rebuild the image with the same parameters of the original one, for example:</p>
-<pre>$ unmkbootimg boot.img
-Kernel size 3872576
-Kernel address 0x208000
-Ramdisk size 265102
-Ramdisk address 0x1500000
-Secondary size 0
-Secondary address 0x1100000
-Kernel tags address 0x200100
-Flash page size 2048
-Board name is ""
-Command line "androidboot.hardware=aphone"
-Extracting kernel to file zImage ...
-Extracting root filesystem to file initramfs.cpio.gz ...
-All done.
----------------
-To recompile this image, use:
- mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x200000 --cmdline 'androidboot.hardware=aphone' -o new_boot.img
----------------
-</pre>
-<p>To modify the ramdisk file create an output directory and extract it there:</p>
-<pre>mkdir initramfs_dir
-cd initramfs_dir
-gunzip -c ../initramfs.cpio.gz | cpio -i
-</pre>
-<p>Make all the required changes (such as modifying init.rc) and repack the ramdisk using <code>mkbootfs</code>, be sure to use the version that has been built with the B2G host tools:</p>
-<pre>/path/to/your/B2G/out/host/linux-x86/bin/mkbootfs . | gzip &gt; ../newinitramfs.cpio.gz
-</pre>
-<p>Finally go back to the top-level directory and re-pack the boot image using the <code>mkbootimg</code>, also make sure you're using the version built with the other B2G host tools:</p>
-<pre>/path/to/your/B2G/out/host/linux-x86/bin/mkbootimg --kernel zImage --ramdisk newinitramfs.cpio.gz --base 0x200000 --cmdline 'androidboot.hardware=aphone' -o newboot.img
-</pre>
-<p>If you now copy the new boot image under <code>out/target/product/$DEVICE/boot.img</code> (where $DEVICE is your device name) it will be automatically flashed when invoking <code>flash.sh</code>. Alternatively you can flash it by hand with the following commands:</p>
-<pre>adb reboot bootloader
-fastboot flash boot newboot.img
-fastboot reboot
-</pre>
-<h2 id="Add_the_new_device_to_flash.sh">Add the new device to flash.sh</h2>
-<p>Add the new device to <code>flash.sh</code>; the specifics of how to do this will depend on what tools need to be used to flash the new device.</p>
-<h2 id="Configure_build_and_flash_the_new_device">Configure, build, and flash the new device</h2>
-<p>Now you can try building for and flashing to your new device:</p>
-<pre>ANDROIDFS_DIR=my_device_backup ./config.sh &lt;device_id&gt; '../b2g-manifest/default.xml'
-./build.sh
-./flash.sh</pre>
-<h2 id="Test_and_debug">Test and debug</h2>
-<p>We need some details added here; indeed, this entire article could use some help.</p>
-<h2 id="FAQ">FAQ</h2>
-<p>Forthcoming</p>
-<h2 id="See_also">See also</h2>
-<ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS" title="en-US/docs/Mozilla/Firefox_OS">Firefox OS</a></li>
- <li><a href="https://github.com/mozilla-b2g/B2G" title="https://github.com/mozilla-b2g/B2G">B2G source code on Github</a></li>
- <li><a href="http://www.android.com/" title="http://www.android.com/">Android web site</a></li>
- <li><a href="https://autonome.wordpress.com/2013/01/15/firefox-os-devices-and-dark-matter/" title="https://autonome.wordpress.com/2013/01/15/firefox-os-devices-and-dark-matter/">A list of existing projects on Dietrich Ayala's blog</a> to port Firefox OS on some devices</li>
-</ul>
diff --git a/files/ko/archive/b2g_os/preparing_for_your_first_b2g_build/index.html b/files/ko/archive/b2g_os/preparing_for_your_first_b2g_build/index.html
deleted file mode 100644
index 30286822a1..0000000000
--- a/files/ko/archive/b2g_os/preparing_for_your_first_b2g_build/index.html
+++ /dev/null
@@ -1,148 +0,0 @@
----
-title: 처음 B2G 빌드를 위한 준비
-slug: Archive/B2G_OS/Preparing_for_your_first_B2G_build
-translation_of: Archive/B2G_OS/Preparing_for_your_first_B2G_build
----
-<p></p>
-
-<div class="warning"><strong>중요</strong>: 번역은 제가 필요한 부분 및 확인 가능한 부분만 진행 하였으며 변역된 날자는(2013/02/25)이며 문서 변경이 잦아 오늘 이후는 원문과 번역이 다를 수 있습니다. 참고하세요. 미 번역/변경된 부분은 추가로 다른 분이 해 주실 것으로 믿습니다.</div>
-
-<p>여기서는 B2G 빌드를 하기 전에 수행 해야 하는 repository를 가져오고 빌드 환경을 설정에 대해 알아 봅니다.</p>
-
-<h2 id="B2G_repository_가져_오기">B2G repository 가져 오기</h2>
-
-<p>첫번째로, 빌드를 처음으로 시작하기에 앞서, B2G repository를 가져 와야 합니다. 이 단계가 모든 것을 다 가져 오는 것은 아니고, B2G build system을 가져 오고 빌드에 필요한 각종 툴들을 가져 옵니다. 대부분의 B2G code는 아직 main Mozilla <a href="/en-US/docs/Mercurial" title="Mercurial">Mercurial</a> repository에 존재 합니다.</p>
-
-<p>Repository를 가져 오기 위해 "git"을 사용합니다.</p>
-
-<pre>git clone git://github.com/mozilla-b2g/B2G.git</pre>
-
-<p>몇분간의 git작업 진행 후 새로 생긴 "B2G"폴더로 이동하세요.</p>
-
-<pre>cd B2G
-</pre>
-
-<h2 id="작업중이던_B2G_tree를_새로_구성한_빌드_환경으로_복사하기(작업_중일_경우만_진행_그외는_다음_단계로)">작업중이던 B2G tree를 새로 구성한 빌드 환경으로 복사하기(작업 중일 경우만 진행, 그외는 다음 단계로)</h2>
-
-<p>If you've gotten a new computer (lucky you!), you'll find your life will be much easier if you simply migrate your entire B2G tree from one computer to another.</p>
-
-<p>To do that, mount your old computer'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">
-<p>Note: 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.</p>
-</div>
-
-<p>If you do this, you can skip all of the rest of this article and move right on to <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko" title="Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko">building</a>.</p>
-
-<h2 id="단말기용_B2G_환경_설정">단말기용 B2G 환경 설정</h2>
-
-<div class="warning"><strong>중요</strong>: 단말기는 <strong>안드로이드 4</strong> (즉 <strong>아이스크림 샌드위치(ICS)</strong>) 가 설치 되어 있어야 합니다. 단말기에 구동중인 안드로이드 버전을 확인하시고, 그렇지 않으면 대부분 이단계 부터 실패를 할 것입니다. 또한 USB에 연결된 단말기로 다운로드를 할 경우 만약 USB허브로 연결 되어 있을 경우는 문제를 발생할 수 있으므로, 허브가 아닌 직접 PC에 연결된 USB와 연결 하시기 바랍니다.</div>
-
-<p>Core B2G build system을 다 받고 나면, 설치하고자 하는 단말기에 맞는 환경을 설정 해야 합니다. 지원되는 단말기의 종류를 보려면 아래와 같이 실행 하세요.</p>
-
-<pre>./config.sh
-</pre>
-
-<p>리스트는 아래와 같이 보일 것입니다.</p>
-
-<pre>Usage: ./config.sh [-cdflnq] (device name)
-Flags are passed through to |./repo sync|.
-
-Valid devices to configure are:
-- galaxy-s2
-- galaxy-nexus
-- nexus-4
-- nexus-4-kk
-- nexus-5
-- nexus-5-l
-- nexus-s
-- nexus-s-4g
-- flo (Nexus 7 2013)
-- otoro
-- unagi
-- inari
-- keon
-- peak
-- hamachi
-- helix
-- tarako
-- dolphin
-- dolphin-512
-- pandaboard
-- vixen
-- flatfish
-- flame
-- flame-kk
-- flame-l
-- rpi (Revision B)
-- emulator
-- emulator-jb
-- emulator-kk
-- emulator-l
-- emulator-x86
-- emulator-x86-jb
-- emulator-x86-kk
-- emulator-x86-l
-&gt; Sony Xperia devices
-- aries (Z3 Compact KK)
-- aries-l (Z3 Compact L)
-- leo-kk (Z3 KK)
-- leo-l (Z3 L)
-- scorpion-l (Z3 Tablet Compact L)
-- sirius-l (Z2 L)
-- tianchi-l (T2U L)
-- flamingo-l (E3 L)</pre>
-
-<p>만약 해당 단말기가 리스트에 없다면, 바로 모든 과정을 중단하고 B2G 포팅 도움을 요청하거나 누군가 해당 단말기용 작업을 완료 하기를 기다리세요. Mozilla에서는 당신의 도움을 환영합니다!</p>
-
-<div class="note"><strong>Note:</strong> 특정 버전의 Gecko와 상관 없이 빌드를 하고자 한다면, 진행 하기 전에<a href="#Building_against_a_custom_Gecko">Building against a custom Gecko</a> 를 참고 하세요.</div>
-
-<h3 id="모바일_단말기_환경_설정">모바일 단말기 환경 설정</h3>
-
-<p>우선, 환경설정시 단말기와 통신을 하게 되므로, 설정 하고자 하는 단말기를 연결하세요.</p>
-
-<p>원하는 단말기의 종류가 위에 나와 있다면, 아래와 같이 config.sh + 단말기 이름을 입력 하세요. Samsung Google Nexus S를 예로 들면 아래와 같습니다.</p>
-
-<pre>./config.sh nexus-s
-</pre>
-
-<p>설정 시작하고 바로 아마도 색상 환경 설정을 입력 해야 할 것입니다. 색상 선택이 완료되면 환경 설정은 계속 진행 됩니다. 지금부터는 Boot to Gecko빌드에 필요한 모든 코드를 복하게될 것이며, 이는 상당한 시간이 소요 될 것이니 잠깐 쉬는 시간을 가지도록 하세요.(2시간 이상 소요 예상됨)</p>
-
-<p>If your phone no longer has Android on and your B2G tree doesn't have the binary blobs in it, and you wisely made a backup of the <code>/system</code> partition like an earlier page told you to, you can use it like this:</p>
-
-<pre>ANDROIDFS_DIR=&lt;absolute path to parent dir of system dir&gt; ./config.sh &lt;target&gt;
-</pre>
-
-<h3 id="에뮬레이터_빌드_환경_설정">에뮬레이터 빌드 환경 설정</h3>
-
-<p>ARM 에뮬레이터는 "emulator", x86 에뮬레이터는 "emulator-x86"로 아래와 같이 수행 하시면 에뮬레이터용 환경 설정도 가능합니다. x86 에뮬레이터가 ARM용 에뮬레이터보다 수행 속도는 빠르지만 실제 단말기와 다르게 동작 할 수도 있습니다.</p>
-
-<p>아래는 ARM용 에뮬레이터 환경 설정입니다.</p>
-
-<pre>./config.sh emulator
-</pre>
-
-<div class="note">
-<p>주의: ./config.sh수행은 시간이 많이 걸리므로 Ctrl-C로 중단이 가능하며 이후 다시 진행도 가능합니다. 만약 일부 진행이 문제가 있어 보인다면 './repo sync'를 실행 하시면 문제가 수정될지 모릅니다.</p>
-</div>
-
-<h2 id="Building_against_a_custom_Gecko">Building against a custom 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> before you pull the repository (before the <code>config.sh</code> step above). For example, if you want to build against mozilla-central:</p>
-
-<pre>GECKO_PATH=/path/to/mozilla-central
-GECKO_OBJDIR=/path/to/mozilla-central/objdir-gonk
-</pre>
-
-<div class="note">
-<p><strong>Note</strong>: if building against a custom Gecko in Mac OS X, the mozilla-central directory must be in a case sensitive file system.</p>
-</div>
-
-<p>See <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file" title="Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a> for additional customizations you can do.</p>
-
-<p>다음은, <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko" title="Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko">빌드 시작 하기</a>.</p>
diff --git a/files/ko/archive/b2g_os/quickstart/index.html b/files/ko/archive/b2g_os/quickstart/index.html
deleted file mode 100644
index ebe1f7c220..0000000000
--- a/files/ko/archive/b2g_os/quickstart/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: Build
-slug: Archive/B2G_OS/Quickstart
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/B2G_OS/Quickstart
----
-<div class="summary">
- <p>Quickstart information on coding open web apps.</p>
-</div>
-<dl>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_open_web_apps">Introduction to open web apps</a></dt>
- <dd>
- What are open web apps? How they differ from regular web pages? Why is this significant? This article aims to answer these questions and more.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Your_first_app">Your first app</a></dt>
- <dd>
- This article takes you through the basic steps and additional knowledge on top of regular web development required to create installable open web apps.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_Firefox_OS">Introduction to Firefox OS</a></dt>
- <dd>
- An introduction to Firefox OS, Mozilla's new open web app-based mobile platform.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_manifests">Introduction to manifests</a></dt>
- <dd>
- An FAQ designed to answer any questions you may have about manifests, hosting apps, origins, and other such topics.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/For_Web_developers">App development for web developers</a></dt>
- <dd>
- If you're a web developer, how do open web apps differ from what you're used to? This article explains all.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/For_mobile_developers">App development for mobile developers</a></dt>
- <dd>
- If you're a native mobile application developer, what advantages can open web apps bring to you, and how do they differ from what you are used to? Here are some ideas.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Developing_app_functionality">Developing app functionality</a></dt>
- <dd>
- This page talks about the kinds of different functionality that you might want to build into your apps, with links to further information.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Payments">Payments</a></dt>
- <dd>
- How do you build functionality to make people pay for installing your open web apps? Here is the lowdown.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/App_tools">App tools</a></dt>
- <dd>
- Last for this section, we provide some links to more information on the tools available to help you develop great open web apps.</dd>
-</dl>
diff --git a/files/ko/archive/b2g_os/quickstart/intro_to_firefox_os/index.html b/files/ko/archive/b2g_os/quickstart/intro_to_firefox_os/index.html
deleted file mode 100644
index 437b48c562..0000000000
--- a/files/ko/archive/b2g_os/quickstart/intro_to_firefox_os/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Firefox OS에 대하여.
-slug: Archive/B2G_OS/Quickstart/Intro_to_Firefox_OS
-translation_of: Archive/B2G_OS/Quickstart/Intro_to_Firefox_OS
----
-<div class="summary">
- <p>Firefox OS 는 모질라의 Boot to Gecko (B2G) 프로젝트에 의해 개발된 새로운 모바일 운영체제 입니다. 리눅스 커널을 사용하고 Gecko-based runtime 엔진을 통해 구동됩니다. 이로서 사용자들은 <a href="//developer.mozilla.org/docs/JavaScript">JavaScript</a>와 <a href="//developer.mozilla.org/docs/HTML">HTML</a>, 그리고 다른 오픈소스 웹 어플리케이션 API를 사용하여 만든 앱들을 사용할 수 있게 되었습니다.</p>
-</div>
-<p><strong>Firefox OS </strong>("Boot to Gecko" 또는 "B2G"라는 코드명으로도 불립니다) 는 모질라의 오픈소스 모바일 운영체제입니다. 리눅스 커널에 기반했으며, <a href="//developer.mozilla.org/docs/HTML">HTML</a>, <a href="/en-US/docs/Web/CSS">CSS</a>, <a href="//developer.mozilla.org/docs/JavaScript">JavaScript</a>, 그리고 오픈소스 웹 어플리케이션 API를 구동하는 Gecko-based runtime 엔진으로 구동됩니다. Firefox OS는 또한 독점 기술로부터 자유로운 모바일 운영체제이기도 합니다. 즉, 앱 개발자들에게 그들이 원하는 끝내주는 것들을 만들게 해 주는 기회를 제공하는 강력한 플랫폼이기도 합니다. 게다가, 이것은 최종적으로 사용자에게 행복을 줄 수 있을 만큼 유연하고 포용력 있는 운영체제이기도 합니다.</p>
-<p style="width: 480px; margin: 0 auto;"><iframe frameborder="0" height="270" src="https://www.youtube.com/embed/-9vktI70iHc/?feature=player_detailpage" width="480"></iframe></p>
-<p>Firefox OS는 <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a>라는 기본 설치 앱과 함께 제공됩니다. <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a>는 핸드폰의 기본적인 기능들인 설정, 통화, SMS, 사진촬영 및 편집, 그리고 그 외의 것들을 관리합니다.</p>
-<p>웹 개발자들에게 이해시켜야 할 가장 중요한 부분은, '모든 사용자 인터페이스(UI)가 웹을 기반한 어플리케이션이라는 것입니다. 다른 웹 기반 어플리케이션을 구동하고, 화면에 표시하는 것이 가능한 웹 어플리케이션이라는 것이죠. 당신이 사용자 인터페이스에 적용하는 모든 수정과, 당신이 Firefox OS에서 구동시키기 위해 만드는 모든 앱들은, 모바일 기기와 서비스에 대한 향상된 접근에도 불구하고. 웹페이지입니다.</p>
-<p>Firefox OS는 현재 엄청난 개발단계중에 있습니다. 우리는 당신에게 Gaia와 앱 개발을 더 쉽게 만들어주기 위해 끊임없이 노력중입니다.</p>
-<p>Firefox OS에 대한 더 많은 정보를 원하신다면 <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS content zone</a>으로 와 주십시오.</p>
diff --git a/files/ko/archive/b2g_os/quickstart/intro_to_open_web_apps/index.html b/files/ko/archive/b2g_os/quickstart/intro_to_open_web_apps/index.html
deleted file mode 100644
index 50f550e7c3..0000000000
--- a/files/ko/archive/b2g_os/quickstart/intro_to_open_web_apps/index.html
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title: 개방형 웹 앱 소개
-slug: Archive/B2G_OS/Quickstart/Intro_to_open_web_apps
-translation_of: Archive/B2G_OS/Quickstart/Intro_to_open_web_apps
----
-<p><img alt="Multi devices" src="/files/4523/multidevices.png" style="width: 640px; height: 225px;"></p>
-<div class="summary">
- <p><span style="font-size: 14px; font-family: 'Lucida Grande';">이 글은 개발자, 프로젝트 매니저, 또는 앱 개발과 배포에 관련이 있는 사람 등 개방형 웹 앱을 배우고자 하는 모든이들에게 좋은 출발점이 되고자 합니다. 이 글에서는 개방형 웹 앱에 대해 대략적인 개요를 가볍게 설명하고 개방형 웹 앱의 철학에 대해 소개합니다.</span></p>
-</div>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">개방형 웹 앱은 기본적으로 일반적인 웹 사이트나 웹 페이지와 다르지 않습니다. 개방형 웹 앱은 HTML, CSS, JavaScript 등 개방된 표준 웹 기술을 사용하고 웹 브라우저를 통해 접근할 수 있습니다. 가장 큰 차이는 디바이스에 설치될 수 있는지, 오프라인일 때 작동할 수 있는지, 그리고 카메라, 주소록과 같은 디바이스 기능과 인터렉션할 수 있는 더 발전된 API 에 접근할 수 있는지 등 그 기능들에 있습니다. 또한 개방형 웹 앱은 공개된 기술을 최대한 이용해 만들어집니다. 플랫폼들 사이에 아직 구현되지 않은 기술들이 있을 수 있기 때문에 피쳐 디텍션(feature detection)과 여러 플랫폼에서 작동하는 코드, 그리고 우아한 성능저하(graceful degradation)를 통해 웹 브라우저와 디바이스 모두를 지원하는 노력이 필요합니다.</span></p>
-<h2 id="개방형_웹_앱의_장점">개방형 웹 앱의 장점</h2>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">개방형 웹 앱의 장점에 대해 조금 더 자세히 알아봅시다:</span></p>
-<ul style="margin: 0px 0px 1.286em; padding: 0px 0px 0px 20px;">
- <li><strong><span style="line-height: normal; font-family: 'Lucida Grande';">디바이스에 직접 설치와 오프라인 저장소</span></strong>: <span style="line-height: normal; font-family: 'Lucida Grande';">개방형 웹 앱은 디바이스에 설치될 수 있고, 로컬스토리지, Indexed DB 등의 API 를 최대한 활용해 로컬 데이터 저장 기능을 제공합니다. 게다가 범용적인 웹 기술들은 네이티브 앱들에 비해 아주 적은 공간을 차지하는 경우가 많고, 업데이트 할 때마다 완전히 새로운 패키지를 설치하기 보다는 변경된 부분만 업데이트할 수 있습니다. 따라서 이런 앱들은 항상 온라인이어야 하는 웹에 비해 네트워크에 독립적이고, 네트워크가 좋지 않은 상황에 더 강합니다.</span></li>
- <li><strong><span style="line-height: normal; font-family: 'Lucida Grande';">하드웨어 접근</span></strong>: <span style="line-height: normal; font-family: 'Lucida Grande';">개방형 웹 앱과 함께 제공되는 메타데이터는 애플리케이션에 특별한 권한이 필요한 API 들에 접근할 수 있는 권한을 제공할 수 있고, 그럼으로써 웹 플랫폼에서는 이전에는 누릴 수 없었던 디바이스의 하드웨어 기능을 활용할 수 있도록 합니다.</span></li>
- <li><strong><span style="line-height: normal; font-family: 'Lucida Grande';">담장을 두른 정원을 부수기:</span></strong> <span style="line-height: normal; font-family: 'Lucida Grande';">모바일 플랫폼을 위한 표준은 벤더 전용의 기술들로 담장을 두른 정원과 비슷합니다. 따라서 앱들은 그들의 플랫폼 안에 묶이게됩니다. 또 스마트폰은 비싼 경우가 많고 앱 결재를 위해 신용카드를 요구하는 경우도 많습니다. 개방형 웹 앱은 더 저렴한 하드웨어에서 동작이 가능한 경우가 많고 특히 Firefox OS 디바이스는 말그대로 경량화된 리눅스 커널 위에서 동작하는 Firefox 그 자체를 가지게 됩니다. 그리고 개방형 웹 앱은 가장 많이 배포된 플랫폼인 범용적인 웹 기술로 작성되어 있습니다. 또한 Firefox OS 기기들은 결제 시스템을 탑재하고 있어서 앱 구매시 선불 결제나 전화 요금에 통합과금되는 형태의 결제를 사용할 수 있습니다.</span></li>
- <li><strong><span style="line-height: normal; font-family: 'Lucida Grande';">개방형 웹 앱 스토어: </span></strong><span style="line-height: normal; font-family: 'Lucida Grande';">위에 언급된 바에 따라 여러분은 자신의 앱을 이미 존재하고 있는 마켓플레이스(<a class="external" href="https://marketplace.firefox.com/" style="padding-right: 16px; background-color: transparent; line-height: 21px;" title="https://marketplace.firefox.com/">Firefox Marketplace</a>와 같은)를 통해 제공할 수도 있고 전혀 다른 곳에서 제공할 수도 있습니다. 이것은 여러분의 선택에 달려있습니다. Mozilla는 개발자들에게 쉬운 개발에서부터 직접적인 고객관계관리(CRM)를 제공하는데  이르기까지 모든 방면의 앱 경험에 대한 권한을 돌려주려고합니다. 그리고 이 앱들은 다른 웹 기반의 앱에서 경험한 바와 같이 검색엔진을 통해 검색될 수 있습니다.</span></li>
-</ul>
-<p>아래 동영상도 개방형 웹 앱의 일반적인 장점과 Firefox OS 플랫폼에서의 개발에 대해 다루고 있습니다.</p>
-<p style="text-align: center;"><iframe frameborder="0" height="270" src="https://www.youtube.com/embed/RJJkFshnnVc/?feature=player_detailpage" width="480"></iframe></p>
-<h2 id="웹이_바로_플랫폼_입니다.">웹이 바로 플랫폼 입니다.</h2>
-<p><span style="font-family: 'Lucida Grande'; font-size: 14px; line-height: inherit;">개방형 웹 앱은 그 자체로서 Firefox OS 와 같은 플랫폼에 설치된 상태로 존재합니다. 브라우저의 즐겨찾기가 아니라 정당한 시스템의 한 부분으로 존재합니다. 개방형 웹 앱의 미래는 무척 밝습니다. 개방형 웹 앱은 우리가 잡아야하는 기회이지만 놓치게 된다면 웹은 다시 한번 쪼개지게 될 것입니다. 이런 관점에서 보면 개방형 웹 앱(줄여서 OWA)이 표준화되어 “웹”의 일부가 되는 것을 지향하고 있다는 것이 명확해집니다. 만약 성공한다면 OWA 는 향후 모든 브라우저, 운영체제, 디바이스에서 작동하게 될 것입니다</span>.</p>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">Mozilla 에서 우리는 개방된 웹이 전적으로 지원하는 앱 플랫폼을 만들기 위해 열심히 노력하고 있습니다. “Mozilla 플랫폼” 이라던지 “Firefox 플랫폼”이 되는 것을 원하는 것이 아닙니다. <b>웹이 바로 플랫폼 입니다.</b> 우리는 공개 API 들을 만들고, 어떻게 포터블 앱이 벤더에 종속적이지 않고도 존재할 수 있는지 보여주는 구현물을 만듭니다. Facebook 이나 Google Chrome 등 다른 그룹들도 웹 앱을 만들고 있습니다. Facebook 앱은 Facebook 서비스에 장착할 수 있도록 하는 고리를 뜻하고, Chrome 앱은 Chrome OS 디바이스와 Google 서버를 위해 설계되었습니다. Chrome 앱은 개방형 웹 앱과 굉장히 비슷합니다. 우리는 Google Chrome 팀과 앱 표준의 발전을 위해 지속적으로 협력합니다. 또한 우리는 매우 많은 비전을 공유합니다. 모든 웹 기반 앱 플랫폼들은 통합 가능성이 매우 크므로 우리는 우리가 올바른 개방형 웹 앱 API 를 만들 수 있게 도와줄 모든 벤더들을 환영합니다.</span></p>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">비록 현재로서는 개방형 웹 앱은 Mozilla Firefox 기반의 엔진(“Web 런타임”)에서만 구동되지만, 이것이 절대적인 것은 아닙니다. 개방형 웹 앱 프로젝트의 많은 부분들은 아직도 작업 중이고 한번에 모든 브라우저에서 모든 것을 구현하는 것은 불가능합니다. 개방형 웹 앱의 많은 부분은 이미 표준화 되었지만 다른 많은 부분은 아직 유동적입니다. 우리는 개방형 웹 앱이 모든 주요 브라우저에서 사용가능한 표준이 되는 것을 지향하고 바랍니다.</span></p>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">따라서 개방형 웹 앱에 대해 다룬 MDN 페이지를 읽을 때에는, 지금으로선 많은 정보들이 Firefox 에 특화된 정보일지라도, 미래에는 모든 브라우저에서 동작하는 개방형 웹 앱의 개발 정보가 될 수 있음을 명심하시기 바랍니다.</span></p>
-<h2 id="웹_표준">웹 표준</h2>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">OWA 기술은 단일 기술로 이루어진 것이 아닙니다. OWA 기술은 많은 기술들의 집단들을 포괄하고 있으며 그 중 일부는 초기 기술들입니다. 지금으로서는 OWA 의 일부가 표준화되어 있습니다(HTML5, CSS, JavaScript, IndexedDb 등등). 그 외 부분들은 아직 표준화되지 않았기 때문에 Mozilla 의 구현은 Firefox 전용 구현이거나 다른 Mozilla 기술에서만 동작하는 구현일 수 있습니다. 모두에게 공유하고 권한을 주자는 Mozilla 의 사명처럼 이 상황은 일시적인 것 입니다. 따라서 우리는 OWA 문서들에 아직 표준화 되지 않은 OWA 기술들을 명확히 알 수 있게 하려고 합니다.</span></p>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">Mozilla 에서 사용하고 있지 않은 OWA 관련 제안들과 잠재적인 표준들도 있을 수 있습니다.</span></p>
-<p><span style="font-family: Georgia, Times, 'Times New Roman', serif; font-size: 1.428em; line-height: inherit;">향후 표준이 되는 기술</span></p>
-<p><span style="font-family: 'Lucida Grande'; font-size: 14px; line-height: inherit;">여기에는 현재 다른 웹 플랫폼에서 아직 표준화되지 않아 Firefox 에서만 동작하는 기술들의 모음입니다:</span></p>
-<ul>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">응용 프로그램을 정의하는 </span><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(101, 153, 204);"><a href="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest">OWA 매니패스트</a></span></li>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">앱과 연계된 </span><a href="https://developer.mozilla.org/en-US/docs/Web/Apps/JavaScript_API">OWA API 전체</a></li>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">전화, 위치 정보 등의 기능에 액세스 하는 <a href="https://wiki.mozilla.org/WebAPI">Web APIs</a>. </span><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">이슈처리 현황을 확인하려면 <a href="http://arewemobileyet.com/">arewemobileyet.com</a> </span><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">를 참조하십시오.</span></li>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">사용자 데이터와 연계하는 <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Persona">개인 인증 시스템 (Persona)</a></span></li>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">어플리케이션 내 과금 및 각 마켓 플레이스에서 앱의 구매를 쉽게하는  </span><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(101, 153, 204);"><a href="https://wiki.mozilla.org/WebAPI/WebPayment">WebPayment API</a></span></li>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">모든 터미널에서 유료 앱을 검증하고 각 마켓 플레이스에서 앱을 판매 할 수 있도록 하는 <a href="https://wiki.mozilla.org/Apps/WebApplicationReceipt">OWA Receipts</a></span></li>
-</ul>
-<h3 id="Marketplace">Marketplace</h3>
-<h4 id="한번_구매하면_모든_곳에서_사용할_수_있습니다.">한번 구매하면 모든 곳에서 사용할 수 있습니다.</h4>
-<p>Mozilla 는 개발 초기부터 사용자가 한번 구입하면 사용자가 가진 모든 HTML5 지원 디바이스에서 실행할 수 있는 앱 시스템을 개발해왔습니다. Mozilla 는 곧 <a href="http://bits.blogs.nytimes.com/2012/09/07/a-firefox-smartphone-for-the-poor/">최초의 Firefox OS 폰을 발매</a> 할 예정이고 이 폰에서 구매한 앱들은 다른  디바이스에서도 실행할 수 있게 됩니다. <a href="https://marketplace.firefox.com/">Firefox Marketplace</a> 를 통해 앱을 구매하면 앱 시스템이 디바이스에 영수증을 설치합니다. <a href="https://wiki.mozilla.org/Apps/WebApplicationReceipt">영수증</a>은 JSON Web Token 으로 Marketplace 의 공개키와 영수증을 검증하는 서비스 URL 으로 연결하는 메타데이터가 담겨있습니다. 앱이 실행되면서 이 영수증을 검증할 수는 있지만 디바이스 내의 이 영수증이 Firefox Marketplace 에 묶이는 것은 아닙니다. 이 영수증은 구매 증명서가 암호화된 것 뿐입니다. 이 영수증 규격을 따르면 누구나 개방형 웹 앱을 판매할 수 있습니다. <strong>여러분이 앱을 구매하는 것은 곧 개방형 웹 앱 시스템을 지원하는 어느 디바이스에서든지 사용할 수 있게됨을 의미합니다.</strong></p>
-<p>Mozilla는 개방형 웹 앱을 모든 HTML5 지원 디바이스에서 구동시킬 수 있게 하는 인프라를 구축하고 있습니다. <a href="http://www.mozilla.org/en-US/firefox/mobile/features/">Android용 Firefox</a>에서는 앱을 설치하고 실행할 수 있습니다. (<a href="http://nightly.mozilla.org/">nightly</a> 빌드에서 지금 확인할 수 있습니다). 설치한 앱의 아이콘은 일반 Android 앱과 마찬가지로 홈 화면에 추가됩니다. 이미 Windows, Mac, or Linux 데스크탑 홤경에서 Firefox 를 사용해 웹앱을 설치하고 실행할 수 있습니다. (현재 <a href="http://nightly.mozilla.org/">nightly</a> 빌드에서 작동하고 있습니다). 지금은 몇몇 Firefox 버전에서만 지원하고 있지만, 나중에는 모든 주요 브라우저들이 일련의 표준으로서 개방형 웹 앱 시스템을 지원하도록 만들고자 합니다. Mozilla 는 초기부터 HTML5를 지원하는 모든 주요 브라우저에서 이런 생각을 구현하는 방법에 대해 고려해왔습니다. 이와 관련해 Firefox 외의 브라우저에서 앱 플랫폼을 지원하는 방법을 구상한 이 자바스크립트 <a href="https://apps.persona.org/include.js" style="font-size: 14px; line-height: inherit;">shim</a><span style="font-size: 14px; line-height: inherit;"> 을 참고하시기 바랍니다.</span></p>
-<p>향후 개방형 웹 시스템에는 설치된 앱을 여러 디바이스로 <a href="http://docs.services.mozilla.com/aitc/">동기화하는 기능</a>이 추가될 것입니다. 영수증은 디바이스끼리 이동시킬 수 있으므로 원한다면 직접 동기화할 수도 있습니다. 단정할 수는 없지만 개방형 웹 앱은 기존의 웹사이트들과 다르지 않기 때문에 무료로 제공되는 개방형 웹 앱은 어느 브라우저에서나 실행할 수 있을 것입니다. 그러나 일부 플랫폼에서만 구현된 새로운 <a href="https://wiki.mozilla.org/WebAPI/">모바일 전용 웹 API</a>를 사용했을 수도 있습니다.</p>
-<p>아래 동영상에서 개방형 마켓플레이스의 장점과 개방된  웹이 앱 검색과 가까워지는 과정에 대해 간단히 살펴볼 수 있습니다.</p>
-<p style="text-align: center;"><iframe frameborder="0" height="270" src="https://www.youtube.com/embed/QCH_ncCrZfE/?feature=player_detailpage" width="480"></iframe></p>
-<h3 id="WebPayment_API">WebPayment API</h3>
-<h4 id="앱_상거래">앱 상거래</h4>
-<p>iOS와 Android 등의 모바일 앱 플랫폼이 성공한 배경 중 하나는 이들이 모바일 결제를 통해 아주 쉽게 새로운 비즈니스 모델들을 창출할 수 있게 했기 때문입니다. 이런 비즈니스 모델들은 아직 발전단계임에도 이미 모바일에서의 상거래가 데스크탑 웹에서보다 더 자연스럽습니다. 특히 어쨌든 이미 휴대폰에서 접근중이라면 휴대전화 요금에 포함시켜 과금하는 것이 매우 편리합니다. 개방형 웹 앱 생태계는 Firefox OS 출시와 함께 <a href="https://wiki.mozilla.org/WebAPI/WebPayment" style="font-size: 14px; line-height: inherit;">WebPayment API</a>를 통해 <span style="font-size: 14px; line-height: inherit;">유료 앱 결제와 앱 내 결제를 지원할 것입니다. 상거래를 지원하는 것은 앱 플랫폼의 성장에 필수적입니다. <strong>제시된 결제 API를 사용할지는 완전한 <em>선택사항</em>입니다.</strong> Mozilla 는 모든 앱의 독자적인 앱 내 결제를 허용할 것입니다.</span></p>
-<h2 id="더_보기">더 보기</h2>
-<ul>
- <li><a href="https://blog.mozilla.org/webdev/2012/09/14/apps-the-web-is-the-platform/">Apps: The Web Is The Platform</a>, by Kumar McMillan (the blog post from which lots of the content of this article is borrowed)</li>
- <li><a href="https://plus.google.com/113127438179392830442/posts/fR3iiuN4kEF">See the Web platform succeed for applications</a>, by Paul Irish</li>
-</ul>
diff --git a/files/ko/archive/b2g_os/security/index.html b/files/ko/archive/b2g_os/security/index.html
deleted file mode 100644
index 3441a62463..0000000000
--- a/files/ko/archive/b2g_os/security/index.html
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: 보안
-slug: Archive/B2G_OS/Security
-translation_of: Archive/B2G_OS/Security
----
-<p>이 문서는 Firefox OS의 보안과 관련된 내용입니다. 이 내용은 어플리케이션 보안 뿐만 아닌 전반적인 보안에 대한 내용과 설치 과정이 어떻게 안전하게 유지되는지를 포함하고 있습니다.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Documentation" name="Documentation">Firefox OS  보안 관련 문서들</h2>
- <dl>
- <dt>
- <a href="/Mozilla/Firefox_OS/Security/보안_모델">Firefox OS 보안 모델</a></dt>
- <dd>
- Firefox OS의 보안 모델에 관한 개요</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security" title="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security">Application security in Firefox OS</a></dt>
- <dd>
- An overview of how applications are made secure on Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Installing_and_updating_applications" title="/en-US/docs/Mozilla/Firefox_OS/Security/Installing_and_updating_applications">Securely installing and updating applications</a></dt>
- <dd>
- How Firefox OS securely installs and updates applications.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Software_permissions" title="/en-US/docs/Mozilla/Firefox_OS/Security/Software_permissions">Software permissions in Firefox OS</a></dt>
- <dd>
- A guide to what types of software have permission to perform various tasks on Firefox OS.</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="/en-US/docs/tag/B2G">View All...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Community" name="Community">커뮤니티로부터 도움 받기</h2>
- <p>If you're working with Firefox OS, or developing applications you'd like to run on Firefox OS devices, there are community resources to help you!</p>
- <ul>
- <li>Boot to Gecko 프로젝트 포럼과 상담하세요: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> 웹 Feed</a></li>
-</ul></li>
- </ul>
- <ul>
- <li>Ask your question on Mozilla's Boot to Gecko IRC channel: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Don't forget about the <em>netiquette</em>...</a></span></p>
- <br>
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">관련된 주제들</h2>
- <ul>
- <li><a href="/en-US/docs/Mobile" title="en-US/docs/Mobile">Mobile</a></li>
- <li><a href="/en-US/docs/Security" title="/en-US/docs/Security">Security</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/archive/b2g_os/security/보안_모델/index.html b/files/ko/archive/b2g_os/security/보안_모델/index.html
deleted file mode 100644
index 75b129cd6f..0000000000
--- a/files/ko/archive/b2g_os/security/보안_모델/index.html
+++ /dev/null
@@ -1,253 +0,0 @@
----
-title: Firefox OS 보안 모델
-slug: Archive/B2G_OS/Security/보안_모델
-tags:
- - B2G
- - Firefox OS
- - IPC
- - IPDL
- - Korean
- - 가이드
- - 모바일
- - 보안
-translation_of: Archive/B2G_OS/Security/Security_model
----
-<p>이 문서는 모바일 기기의 폴렛폼, 앱이나 데이터들을 지켜주는 Firefox OS 보안 프레임워크의 개요입니다. Mozilla는 Firefox OS에 여러가지 보안 문제들에 관한 최선의 보호를 제공해주는 매우 자세한, 일체화된, 다중 레이어의 보안 모델을 적용하였습니다.</p>
-<h1 id="폴렛폼_보안">폴렛폼 보안</h1>
-<p>Firefox OS 폴렛폼은 모든 단계에서 취약점들을 완화시켜주도록 디자인된 다중 레이어 보안 모델을 사용합니다. Front-line 대응조치들은 위협으로부터 세밀한 보호를 제공하는 심층 방어 전략과 같이 합쳐집니다.</p>
-<h2 id="보안_아키텍처">보안 아키텍처</h2>
-<p>Firefox OS는 웹 기반 어플리케이션들과 그 아래 존재하는 하드웨어를 연결시켜 줍니다. Firefox OS는 아래 나와있는 여러 단계들로 구성된 일체화된 기술적 스택입니다.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5023/platform.png" style="width: 678px; height: 478px;"></p>
-<p>Mobile device는 FirefoxOS를 돌리고 있는 모바일 기기를 뜻합니다. Gonk는 리눅스 커널, 시스템 라이브러리들, 펌웨어 그리고 디바이스 드라이버들로 이루어저 있습니다. Gecko는 앱 실행을 위한 프레임워크를 제공하며 모바일 기기들이 사용하는 Web API들을 내재하고 있는 어플케이션 런타임 레이어입니다. Gaia는 사용자들의 경험을 제공하는 웹 앱들의 모임체입니다(앱들은 HTML5, CSS, JavaScript, images, media 등등으로 이루워저 있습니다).</p>
-<p>Gecko is the gatekeeper that enforces security policies designed to protect the mobile device from misuse. The Gecko layer acts as the intermediary between web apps (at the Gaia layer) and the phone. Gonk delivers features of the underlying mobile phone hardware directly to the Gecko layer. Web apps access mobile phone functionality only through the Web APIs, and only if Gecko allows the access request – there is no direct access, no “back door” into the phone. Gecko enforces permissions and prevents access to unauthorized requests.</p>
-<h2 id="안전한_시스템_개발">안전한 시스템 개발</h2>
-<p>Firefox OS comes installed on the smart phone. The original system image is created by a known, trusted source – usually the device OEM – that is responsible for assembling, building, testing, and digitally signing the distribution package.</p>
-<p>Security measures are used throughout the technology stack. File system privileges are enforced by Linux's access control lists (ACLs). System apps are installed on a volume that is read-only (except during updates, when it is temporarily read-write). Only areas containing user content may be read-write. Various components within the device hardware have built-in protections that are implemented by default as standard industry practice. Chipset manufacturers, for example, employ hardening techniques to reduce vulnerabilities. The core platform (Gecko and Gonk) is hardened to strengthen its defense against potential threats, and hardening features of the compiler are used where applicable. For further details see <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Runtime_security" title="/en-US/docs/Mozilla/Firefox_OS/Security/Runtime_security">Runtime security</a>.</p>
-<h2 id="안전한_시스템_업데이트">안전한 시스템 업데이트</h2>
-<p>Subsequent upgrades and patches to the Firefox OS platform are deployed using a secure Mozilla process that ensures the ongoing integrity of the system image on the mobile phone. The update is created by a known, trusted source – usually the device OEM – that is responsible for assembling, building, testing, and digitally signing the update package.</p>
-<p>System updates can involve all or a portion of the Firefox OS stack. If changes to Gonk are included in the update, then FOTA (Firmware Over the Air) is the install process used. FOTA updates can also include any other part of the Firefox OS stack, including device management (FOTA, firmware / drivers), settings management (Firefox OS settings), security updates, Gaia, Gecko, and other patches.</p>
-<p>Updates that do not involve Gonk can be done using the Mozilla System Update Utility. Firefox OS uses the same update framework, processes, and Mozilla ARchive (MAR) format (used for update packages) as the Firefox Desktop product. For more information, see <a href="https://wiki.mozilla.org/Software_Update">https://wiki.mozilla.org/Software_Update</a>.</p>
-<p>A built-in update service – which may be provided by the OEM – on the mobile phone periodically checks for system updates. Once a system package becomes available and is detected by the update service, the user is prompted to confirm installation. Before updates are installed on the mobile device, the device storage is checked for sufficient space to apply the update, and the distribution is verified for:</p>
-<ul>
- <li>update origin (verify the source location protocol:domain:port of the system update and manifest)</li>
- <li>file integrity (SHA-256 hash check)</li>
- <li>code signature (certificate check against a trusted root)</li>
-</ul>
-<p>The following security measures are used during the update process:</p>
-<ul>
- <li>Mozilla recommends and expects that updates are fetched over an SSL connection.</li>
- <li>Strong cryptographic verification is required before installing a firmware package.</li>
- <li>The complete update must be downloaded in a specific and secure location before the update process begins.</li>
- <li>The system must be in a secure state when the update process starts, with no Web apps running.</li>
- <li>The keys must be stored in a secure location on the device.</li>
-</ul>
-<p>Rigorous checks are in place to ensure that the update is applied properly to the mobile phone.</p>
-<h1 id="앱_보안">앱 보안</h1>
-<p>Firefox OS uses a defense-in-depth security strategy to protect the mobile phone from intrusive or malicious applications. This strategy employs a variety of mechanisms, including implicit permission levels based on an app trust model, sandboxed execution at run time, API-only access to the underlying mobile phone hardware, a robust permissions model, and secure installation and update processes. For technical details, refer to: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Application_security" title="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security">Application security.</a></p>
-<p>In Firefox OS, all applications are web apps – programs written using HTML5, JavaScript, CSS, media, and other open Web technologies (pages running within the browser are not referred to as Web apps in this context). Because there are no binary ("native") applications installed by the user, all system access is mediated strictly through the Web APIs. Even access to the file system is only through Web APIs and a back-end SQLite database – there is no direct access from apps to files stored on the SD card.</p>
-<p>Firefox OS limits and enforces the scope of resources that can be accessed or used by an app, while also supporting a wide range of apps with varying permission levels. Mozilla implemented tight controls over what type of applications can access which APIs. For example, only certified apps (shipped with the phone) can have access to the Telephony API. The Dialer app has privileges to access the Telephony API in order to make phone calls, but not all certified apps can access this API. This prevents a scenario, for example, in which an arbitrary third-party app gets installed, dials a pay-per-use phone number (900 and 910), and racks up a large cell phone bill. However, other OEM apps might be selectively given access to the Telephony API. For example, an Operator might provide a systems management application that allows a customer to manage their account, including the ability to phone the Operator’s billing or support office directly.</p>
-<h2 id="신뢰되는_앱과_안되는_앱들">신뢰되는 앱과 안되는 앱들</h2>
-<p>Firefox OS는 앱들을 다음과 같은 종류들로 나눕니다.</p>
-<table>
- <thead>
- <tr>
- <th style="width: 82px;">종류</th>
- <th style="width: 102px;">
- <p>신뢰 레벨</p>
- </th>
- <th style="width: 447px;">설명</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="width: 82px;">인증됨(Certified)</td>
- <td style="width: 102px;">매우 신뢰</td>
- <td style="width: 447px;">
- <p>System apps that have been approved by the Operator or OEM (due to risk of device corruption or risk to critical functionality). System apps and services only; not intended for third-party applications.<br>
- This designation is reserved for just a small number of critical applications. Examples: SMS, Bluetooth, camera, system clock, telephony, and the default dialer (to ensure that emergency services are always accessible).</p>
- </td>
- </tr>
- <tr>
- <td style="width: 82px;">
- <p>권한 받음(Privileged)</p>
- </td>
- <td style="width: 102px;">신뢰</td>
- <td style="width: 447px;">
- <p>Third-party apps that have been reviewed, approved, and digitally signed by an authorized Marketplace.</p>
- </td>
- </tr>
- <tr>
- <td style="width: 82px;">
- <p>웹 (나머지 전부)</p>
- </td>
- <td style="width: 102px;">
- <p>신뢰 안됨</p>
- </td>
- <td style="width: 447px;">
- <p>Regular web content. Includes both installed apps (stored the mobile phone) and hosted apps (stored remotely, with only an app manifest stored on the mobile phone). The manifest for hosted apps can be obtained through a Marketplace.</p>
- </td>
- </tr>
- </tbody>
-</table>
-<p>An application’s trust level determines, in part, its ability to access mobile phone functionality.</p>
-<ul>
- <li>Certified apps have permissions to most Web API operations.</li>
- <li>Privileged apps have permissions to a subset of the Web API operations accessible to Certified apps.</li>
- <li>Untrusted apps have permissions to a subset of the Web API operations accessible to Privileged apps. These are only those Web APIs that contain sufficient security mitigations to be exposed to untrusted web content.</li>
-</ul>
-<p>Some operations, such as network access, are assumed to be an implicit permission for all apps. In general, the more sensitive the operation (for example, dialing a phone number or accessing the Contacts list), the higher the app trust level required to execute it.</p>
-<h3 id="권한_최소화_원칙">권한 최소화 원칙</h3>
-<p>For web apps, the Firefox OS security framework follows the <em>principle of least permissions</em>: start with the absolute minimum permissions, then selectively grant additional privileges only when required and reasonable. By default, an app starts with very low permissions, which is comparable to untrusted web content. If the app makes Web API calls that require additional permissions, it must enumerate these additional permissions in its <em>manifest</em> (described later in this document). Gecko will consider granting Web API access to an application only if the applicable privileges are explicitly requested in its manifest. Gecko will grant the requested permission only if the <em>type </em>of the Web App (certified, trusted, or web) is sufficiently qualified for access.</p>
-<h3 id="권한_받은(Privileged)_앱들의_Marketplace_리뷰_과정">권한 받은(Privileged) 앱들의 Marketplace 리뷰 과정</h3>
-<p>In order for an app to become privileged, the app provider must submit it for consideration to an authorized Marketplace. The Marketplace subjects the app to a rigorous code review process: verifying its authenticity and integrity, ensuring that requested permissions are used for the purposes stated (in the permission rationale), verifying that the use of implicit permissions is appropriate, and validating that any interfaces between privileged app content and unprivileged external content have the appropriate mitigations to prevent elevation of privilege attacks. The Marketplace has the responsibility to ensure that the web app will not behave maliciously with the permissions that it is granted.</p>
-<p>After an app passes this review, it is approved for use, its app manifest is digitally signed by the Marketplace, and it is made available for mobile users to download. The signature ensures that, if the web store were somehow hacked, the hacker could not get away with installing arbitrary content or malicious code on users’ phones. Due to this vetting process, Firefox OS gives privileged apps obtained from a Marketplace a higher degree of trust than everyday (untrusted) web content.</p>
-<h2 id="패키지화된_앱들과_웹에_호스팅된_앱들">패키지화된 앱들과 웹에 호스팅된 앱들</h2>
-<p>Apps for Firefox OS can be either <em>packaged</em> (stored on the mobile phone) or <em>hosted</em> (stored on a remote web server, with just a manifest stored on the mobile phone). There are some differences in the way in which security is managed for each. Nonetheless, packaged and hosted apps are both subject to application sandboxing, which is described later in this document.</p>
-<h3 id="패키지화된_앱들(Packaged_Apps)">패키지화된 앱들(Packaged Apps)</h3>
-<p>A packaged app consists of a ZIP file containing application resources (HTML5, CSS, JavaScript, images, media), as well as a manifest that provides an explicit list of assets and their corresponding hashes. Certified and privileged apps must be packaged apps because the app manifest needs to be digitally signed. When a user obtains a packaged app, the ZIP file is downloaded onto the mobile phone, and the manifest is read from a known location inside the ZIP file. During the install process, app assets are verified and remain stored locally in the package. All explicit permissions are requested at runtime, showing the user the app's data usage intentions, and persisted by default.</p>
-<p>To refer to app resources in a packaged app, the URL begins with app: using the following format:</p>
-<p><code>app://<em>identifier</em>/<em>path_within_zipfile</em>/file.html</code></p>
-<p>where app:// represents the mount point for the ZIP file, and <em>identifier</em> is a UUID that is generated when the app is installed on the mobile phone. This mechanism ensures that resources referred to with an app: URL are contained in the ZIP file. The path within an app: is relative, so relative links to resources in the ZIP file are allowed.</p>
-<p>While packaged apps are primarily intended to be used for Certified or Privileged apps, regular web apps can also be packaged. However, they do not gain any increase in trust or permissions access simply because they are packaged.</p>
-<h3 id="웹에_호스트된_앱들(Hosted_Apps)">웹에 호스트된 앱들(Hosted Apps)</h3>
-<p>Hosted apps are located on a web server and loaded via HTTP. Only the app manifest is stored on the mobile phone. Everything else is stored remotely. Certain APIs are available only to privileged and certified apps, which requires the app to be packaged due to signing requirements. Therefore, a hosted app will not have access to any of the Web API operations that require privileged or certified app status.</p>
-<p>From a security point of view, hosted apps work very much like normal websites. A hosted app is loaded by invoking a hard-coded, fully-qualified URL that points to the startup page in the root directory of the app on that web server. Once a hosted app is loaded, the mobile phone links to pages using the same URLs that are used when browsing the web site.</p>
-<h2 id="앱_Manifest(App_Manifest)">앱 Manifest(App Manifest)</h2>
-<p>An Open Web App manifest contains information that a Web browser needs in order to interact with an app. A manifest is a JSON file with (at a minimum) a name and description for the app. For further details, refer to <a href="https://developer.mozilla.org/en-US/docs/Apps/FAQs/About_app_manifests" title="/en-US/docs/Apps/FAQs/About_app_manifests">FAQs about app manifests</a>.</p>
-<h3 id="Manifest_예제">Manifest 예제</h3>
-<p>다음의 예제는 간단한 설정이 되어있는 앱 Manifest(App Manifest)를 보여줍니다.</p>
-<pre class="brush:text">{
- "name": "My App",
- "description": "My elevator pitch goes here",
- "launch_path": "/",
- "icons": {
- "128": "/img/icon-128.png"
- },
- "developer": {
- "name": "Your name or organization",
- "url": "http://your-homepage-here.org"
- },
- "default_locale": "en"
-}</pre>
-<h3 id="App_Manifest에서의_보안_설정">App Manifest에서의 보안 설정</h3>
-<p>아래 보안 항목들처럼 App Manifest는 여러가지 다른 항목을 포함할수 있습니다:</p>
-<table>
- <thead>
- <tr>
- <th style="width: 152px;">
- <p>항목</p>
- </th>
- <th style="width: 479px;">
- <p>설명</p>
- </th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="width: 152px;">
- <p>permissions</p>
- </td>
- <td style="width: 479px;">
- <p>Permissions required by the app. An app must list every Web API it intends to use that requires user permission. Most permissions make sense for privileged apps or certified apps, but not for hosted apps. Properties per API:</p>
- <ul>
- <li><strong>description</strong> - A string specifying the intent behind requesting use of this API. Required.</li>
- <li><strong>access</strong> - A string specifying the type of access required for the permission. Implicit permissions are granted at install time. Required for only a few APIs. Accepted values: <strong>read</strong>, <strong>readwrite</strong>, <strong>readcreate</strong>, and <strong>createonly</strong>.</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td style="width: 152px;">
- <p>installs_allowed_from</p>
- </td>
- <td style="width: 479px;">
- <p>Origin of the app. Array of origins (scheme+unique hostname) that are allowed to trigger installation of this app. Allows app providers to restrict installs from only an authorized Marketplace (such as <a href="https://marketplace.firefox.com/">https://marketplace.firefox.com/</a>).</p>
- </td>
- </tr>
- <tr>
- <td style="width: 152px;">
- <p>csp</p>
- </td>
- <td style="width: 479px;">
- <p>Content Security Policy (CSP). Applied to all pages loaded in the app. Used to harden the app against bugs that would allow an attacker to inject code into the app. If unspecified, privileged and certified apps have system-defined defaults. Syntax:<br>
- <a href="https://developer.mozilla.org/en-US/docs/Apps/Manifest#csp">https://developer.mozilla.org/en-US/docs/Apps/Manifest#csp</a></p>
- <p><em>Note that this directive can only increase the CSP applied. You cannot use it, for example, to reduce the CSP applied to a privileged App.</em></p>
- </td>
- </tr>
- <tr>
- <td style="width: 152px;">
- <p>type</p>
- </td>
- <td style="width: 479px;">
- <p>애플리케이션의 종류 (web, privileged, or certified).</p>
- </td>
- </tr>
- </tbody>
-</table>
-<p>Firefox OS requires that the manifest be served with a specific mime-type ("application/x-web-app-manifest+json") and from the same fully-qualified host name (origin) from which the app is served. This restriction is relaxed when the manifest app (and thus the app manifest) is same-origin with the page that requested the app to be installed. This mechanism is used to ensure that it's not possible to trick a website into hosting an application manifest.</p>
-<h2 id="샌드박스화된_실행">샌드박스화된 실행</h2>
-<p>이 항목은 샌드박스화된 응용프로그램과 실행에 관해서 설명합니다.</p>
-<h3 id="응용프로그램_샌드박스">응용프로그램 샌드박스</h3>
-<p>The Firefox OS security framework uses sandboxing as a defense-in-depth strategy to mitigate risks and protect the mobile phone, platform, and data. Sandboxing is a way of putting boundaries and restrictions around an app during run-time execution. Each app runs in its own worker space and it has access only to the Web APIs and the data it is permitted to access, as well as the resources associated with that worker space (IndexedDB databases, cookies, offline storage, and so on). For details, see <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Security_model">https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Security_model</a>.</p>
-<p>The following figure provides an overview of this security model.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5025/sandbox.png"></p>
-<p>By isolating each app, its impact is contained within its own worker space. It cannot interfere with anything (such as other apps or their data) outside of that worker space.</p>
-<h3 id="실행_샌드박스">실행 샌드박스</h3>
-<p>B2G (Gecko) runs in a highly-privileged system process that has access to hardware features in the mobile phone. At runtime, each app runs inside an execution environment that is a child process of the B2G system process. Each child process has a restricted set of OS privileges – for example, a child process cannot directly read or write arbitrary files on the file system. Privileged access is provided through Web APIs, which are mediated by the parent B2G process. The parent ensures that, when a child process requests a privileged API, it has the necessary permission to perform this action.</p>
-<p>Apps communicate only with the B2G core process, not with other processes or apps. Apps do not run independently of B2G, nor can apps open each other. The only “communication” between apps is indirect (for example, when a listener process detects an event generated by some other process), and is mediated through the B2G process.</p>
-<h3 id="하드웨어_접근을_Web_API만으로_통할수_있게_제약">하드웨어 접근을 Web API만으로 통할수 있게 제약</h3>
-<p>Web apps have only one entry point to access mobile phone functionality: the Firefox OS Web APIs, which are implemented in Gecko. Gecko provides the sole gateway to the mobile device and underlying services. The only way to access device hardware functionality is to make a Web API call. There is no “native” API and there are no other routes (no “back doors”) to bypass this mechanism and interact directly with the hardware or penetrate into low-level software layer.</p>
-<h1 id="보안_인프라">보안 인프라</h1>
-<p>The following figure shows the components of this security framework:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5027/securityframework.png" style="width: 979px; height: 591px;"></p>
-<ul>
- <li><strong>Permission Manager</strong>: Gateway to accessing functionality in the Web API, which is the only access to the underlying hardware.</li>
- <li><strong>Access Control List</strong>: Matrix of roles and permissions required to access Web API functionality.</li>
- <li><strong>Credential Validation</strong>: Authentication of apps/users.</li>
- <li><strong>Permissions Store</strong>: Set of privileges required to access Web API functionality.</li>
-</ul>
-<h2 id="관리(Management)와_시행(Enforcement)를_위한_퍼미션">관리(Management)와 시행(Enforcement)를 위한 퍼미션</h2>
-<p>Firefox OS security is designed to verify and enforce the permissions granted to web apps.<br>
- The system grants a particular permission to an app only if the content requests it, and only if it has the appropriate permissions requested in the app’s manifest. Some permissions require further authorization from the user, who is prompted to grant permission (as in the case of an app requesting access to the user’s current location). This app-centric framework provides more granular control over permissions than traditional role-centric approaches (in which individual roles are each assigned a set of permissions).</p>
-<p>A given Web API has a set of actions and listeners. Each Web API has a required level of permission. Every time a Web API is called, Gecko checks permission requirements (role lookup) based on:</p>
-<ul>
- <li>permissions associated with calling app (as specified in the manifest and based on the app type)</li>
- <li>permissions required to execute the requested operation (Web API call)</li>
-</ul>
-<p>If the request does not meet the permission criteria, then Gecko rejects the request. For example, untrusted apps cannot execute any Web APIs that are reserved for trusted apps.</p>
-<h2 id="유저에게_권한에_대해서_물어보기">유저에게 권한에 대해서 물어보기</h2>
-<p>In addition to permissions that are implicitly associated with the web apps, certain operations require explicit permission from the user before they can be executed. For these operations, web apps are required to specify, in their manifest, their justification for requiring this permission. This <em>data usage intention</em> informs users about what the web app intends to do with this data if permission is granted, as well as any risk involved. This allows users to make informed decisions and maintain control over their data.</p>
-<h2 id="보안_앱_업데이트_과정">보안 앱 업데이트 과정</h2>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5029/updateprocess.png" style="width: 979px; height: 102px;"></p>
-<p>For app upgrades and patches to a <em>privileged</em> app, app providers submit the updated package to an authorized Marketplace, where it is reviewed and, if approved, signed and made available to users. On Firefox OS devices, an App Update Utility periodically checks for app updates. If an update is available, then the user is asked whether they want to install it. Before a update is installed on the mobile device, the package is verified for:</p>
-<ul>
- <li>update origin (verify the source location protocol:domain:port of the update and manifest)</li>
- <li>file integrity (SHA-256 hash check)</li>
- <li>code signature (certificate check against a trusted root)</li>
-</ul>
-<p>Rigorous checks are in place to ensure that the update is applied properly to the mobile phone.<br>
- The complete update package must be downloaded in a specific and secure location before the update process begins. Installation does not overwrite any user data.</p>
-<h1 id="기기_보안(하드웨어)">기기 보안(하드웨어)</h1>
-<p>Security mechanisms for the mobile device hardware are typically handled by the OEM. For example, an OEM might offer SIM (Subscriber Identity Module) card locks, along with PUK (PIN Unlock Key) codes to unlock SIM cards that have become locked following incorrect PIN entries. Contact the OEM for details. Firefox OS does allow users to configure passcodes and timeout screens, which are described in the next section.</p>
-<h1 id="데이터_보안">데이터 보안</h1>
-<p>Users can store personal data on their phone that they want to keep private, including contacts, financial information (bank &amp; credit card details), passwords, calendars, and so on. Firefox OS is designed to protect against malicious apps that could steal, exploit, or destroy sensitive data.</p>
-<h2 id="비밀번호와_자동으로_꺼지는_화면">비밀번호와 자동으로 꺼지는 화면</h2>
-<p>Firefox OS allows users to set a passcode to their mobile phone so only those who supply the passcode can use the phone. Firefox OS also provides a timeout screen that is displayed after a configurable period of phone inactivity, requiring passcode authentication before resuming use of the phone.</p>
-<h2 id="샌드박스화된_데이터">샌드박스화된 데이터</h2>
-<p>As described earlier, apps are sandboxed at runtime. This prevents apps from accessing data that belongs to other apps <em>unless</em> that data is explicitly shared, and the app has sufficient permissions to access it.</p>
-<h2 id="시리얼화된_데이터">시리얼화된 데이터</h2>
-<p>Web apps do not have direct read and write access to the file system. Instead, all access to storage occurs only through Web APIs. Web APIs read from, and write to, storage via an intermediary SQLite database. There is no direct I/O access. Each app has its own data store, which is serialized to disk by the database.</p>
-<h2 id="데이터_파기">데이터 파기</h2>
-<p>When a user uninstalls an app, all of the data (cookies, localStorage, Indexeddb, and so on) associated with that application is deleted.</p>
-<h2 id="프라이버시">프라이버시</h2>
-<p>Mozilla is committed to protecting user privacy and user data according to its privacy principles (<a href="https://www.mozilla.org/privacy/">https://www.mozilla.org/privacy/</a>), which stem from the Mozilla Manifesto (<a href="https://www.mozilla.org/about/manifesto.html">https://www.mozilla.org/about/manifesto.html</a>). The Mozilla Firefox Privacy Policy describes how Mozilla collects and uses information about users of the Mozilla Firefox web browser, including what Firefox sends to websites, what Mozilla does to secure data, Mozilla data practices, and so on. For more information, see:</p>
-<ul>
- <li><a href="http://www.mozilla.org/en-US/legal/privacy/firefox.html">http://www.mozilla.org/en-US/legal/privacy/firefox.html</a></li>
- <li><a href="https://blog.mozilla.org/privacy/">https://blog.mozilla.org/privacy/</a></li>
- <li><a href="http://support.mozilla.org/en-US/kb/privacy-and-security-settings-firefox-os-phones">http://support.mozilla.org/en-US/kb/privacy-and-security-settings-firefox-os-phones</a></li>
-</ul>
-<p>Firefox OS는 이런 원칙들을 어디에 자신의 개인 정보가 갈지 결정하는 유저들에게 제어권을 줌으로서 적용합니다. Firefox OS는 다음과 같은 기능들을 제공합니다:</p>
-<ul>
- <li>Do Not Track 옵션</li>
- <li>Firefox Browser의 cooking 옵션을 끌수있는 옵션</li>
- <li>Firefox의 웹 브라우징 기록들을 지울수 있는 옵션</li>
-</ul>
diff --git a/files/ko/archive/b2g_os/simulator/index.html b/files/ko/archive/b2g_os/simulator/index.html
deleted file mode 100644
index 0250696f04..0000000000
--- a/files/ko/archive/b2g_os/simulator/index.html
+++ /dev/null
@@ -1,280 +0,0 @@
----
-title: Firefox OS 시뮬레이터
-slug: Archive/B2G_OS/Simulator
-translation_of: Archive/B2G_OS/Simulator
----
-<div class="note">
- <p><span id="result_box" lang="ko"><span class="hps atn">Firefox OS 시뮬레이터는</span> <span class="hps">아직</span> <span class="hps atn">개발 초기 단계</span><span>입니다. </span><span class="hps atn">저희가 원하는</span><span class="atn">만큼</span><span>의 안정성과</span> <span class="hps atn">완성도</span><span>가</span> <span class="hps">없습니다.</span></span></p>
- <p>버그를 발견하셨다면 <a href="https://github.com/mozilla/r2d2b2g/issues?state=open">GitHub에 보고</a> 해주세요. 만약에 물어보실게 있으시다면 <a href="https://lists.mozilla.org/listinfo/dev-developer-tools">개발자 도구 메일링 리스트</a>나<a href="irc://irc.mozilla.org/#devtools"> irc.mozilla.org의 #devtools</a>에서 질문해 주세요.</p>
- <p>도움 받기 항목의 Verbose logging을 활성화 하는 방법과 최신 빌드를 받는 법을 읽어 주세요.</p>
-</div>
-<p><span id="result_box" lang="ko"><span class="hps">Firefox OS 시뮬레이터</span> <span class="hps atn">부가 기능</span><span>을 이용해</span> <span class="hps">데스크톱</span> <span class="hps atn">환경</span><span>에서</span> <span class="hps">Firefox OS</span> <span class="hps atn">응용 프로그램</span><span>을 테스트하고 디버깅</span> <span class="hps">할 수</span> <span class="hps">있습니다.</span> <span>시뮬레이터에서는</span> <span class="hps atn">실제 장치</span><span>를</span> <span class="hps">사용하는 것보다도</span> <span class="hps atn">Code</span><span class="atn">-</span><span class="atn">Test</span><span class="atn">-</span><span class="atn">Debug </span><span>주기가</span> <span class="hps atn">빨라집니다</span><span>.</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>
-<p><span class="short_text" id="result_box" lang="ko"><span class="hps">근본적으로,</span> <span class="hps">시뮬레이터 부가 </span><span class="hps atn">기능</span><span>을</span> <span class="hps">구성하는 것은</span> <span class="hps">다음과 같습니다</span> <span class="hps">:</span></span></p>
-<ul>
- <li><strong>시뮬레이터</strong>:<span id="result_box" lang="ko"><span class="hps">여기에는</span> <span class="hps">Firefox OS</span> <span class="hps atn">데스크톱 클라이언트</span><span>가</span> <span class="hps">포함되어</span> <span class="hps">있습니다.</span> <span class="hps">이것은</span> <span class="hps atn">데스크탑 환경</span><span>에서 실행되는</span> <span class="hps">Firefox OS</span> <span class="hps">고수준</span> <span class="hps">계층</span> <span class="hps">버전입니다.</span> 시뮬레이터<span>에는</span> <span class="hps">표준</span> <span class="hps">Firefox OS</span> <span class="hps atn">데스크톱 빌드</span><span class="atn">에는</span><span> 없는</span> <span class="hps">추가적인</span> <span class="hps">에뮬레이션</span> <span class="hps">기능도</span> <span class="hps">포함되어</span> <span class="hps">있습니다.</span></span></li>
- <li><strong>대시보드</strong>: <span id="result_box" lang="ko"><span class="hps atn">시뮬레이터</span><span>의</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 class="hps atn">Firefox 브라우저</span><span>에서</span> <span class="hps">제공하는</span> <span class="hps">도구입니다.</span> <span class="hps">또한</span> <span class="hps">Dashboard</span> <span class="hps atn">앱</span><span>을</span> <span class="hps">실제 디바이스에</span> <span class="hps atn">푸시</span><span>하거나</span> <span class="hps atn">앱 매니페스트</span><span>에 대한</span> <span class="hps">일반적인</span> <span class="hps">문제를 확인</span> <span class="hps">할</span> <span class="hps">수 있습니다.</span></span></li>
-</ul>
-<p><span class="short_text" id="result_box" lang="ko"><span class="hps">아래 스크린</span> <span class="hps atn">샷</span><span>은</span> 시뮬레이터를 <span class="hps">사용한</span> <span class="hps">디버깅 세션을</span> <span class="hps atn">보여줍니다</span><span>.</span></span></p>
-<p><span id="result_box" lang="ko"><span class="hps">Dashboard</span>는 오른쪽 상단의 Firefox 탭 안에서 돌아가고 있습니다<span class="hps">.</span> <span class="hps">여기에</span> <span class="hps atn">"</span><span class="atn">Where am I</span><span class="atn">?</span><span class="atn">"</span><span>라는 이름의 패키지</span><span class="hps">형</span> <span class="hps atn">애플리케이션</span><span>을</span> <span class="hps atn">추가</span><span>했습니다.</span> <span>상좌단의 앱은 시뮬레이터를 돌리고 있습니다.</span> <span class="hps">또한</span> 아래쪽의 패널에서 보시다시피 <span class="hps">디버깅</span> <span class="hps">도구와</span> <span class="hps atn">연결</span><span>하고 있습니다. </span><span class="hps">콘솔</span> <span class="hps">창에</span> <span class="hps">앱에 대한</span> <span class="hps">메시지가</span> <span class="hps atn">표시</span><span>되는</span> <span class="hps atn">것을</span><span>보실 수</span> <span class="hps">있습니다.</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5513/Simulator-overview-4.0.png"></p>
-<p>이 가이드는 다음과 같은 주제를 다룹니다:</p>
-<ul>
- <li><a href="#시뮬레이터 설치하기" title="#Installing">시뮬레이터 부가 기능을 설치하기</a></li>
- <li><a href="#Adding-updating-removing" title="#Adding-updating-removing">앱을 추가하고-제거하고-새로고침하기</a></li>
- <li><a href="#Manifest-validation" title="#Manifest-validation">manifest validation</a></li>
- <li><a href="#Running-the-Simulator" title="#Running-the-Simulator">how to run the Simulator</a></li>
- <li><a href="#Attaching-developer-tools" title="#Attaching-developer-tools">how to connect developer tools such as the JS debugger to apps running in the Simulator</a></li>
- <li><a href="#Simulator-receipts" title="#Simulator-receipts">how to get test receipts for a paid app</a></li>
- <li><a href="#Push-to-device" title="#Push-to-device">how to push apps to a connected device</a></li>
- <li><a href="#Limitations" title="#Limitations">the limitations of the Simulator compared with a real Firefox OS device</a></li>
-</ul>
-<div class="note">
- <span id="result_box" lang="ko"><span class="hps">실제</span> <span class="hps">Web</span> <span class="hps atn">응용 프로그램</span><span>을 디버깅하는데 </span> <span class="hps">Simulator를</span> <span class="hps">사용하는 방법을</span> <span class="hps">보여주는</span> <span class="hps">실질적인</span> <span class="hps">자세한</span> <span class="hps">설명은</span> <span class="hps">Simulator Walkthrough</span> <span class="hps atn">페이지</span><span>를 참조하십시오.</span></span></div>
-<h2 id="Installing_the_Simulator_add-on" name="Installing_the_Simulator_add-on"><a name="시뮬레이터 설치하기">시뮬레이터 설치하기</a></h2>
-<p><span id="result_box" lang="ko"><span title="Simulator は、Firefox のアドオンとしてパッケージ化および頒布しています。">시뮬레이터 는 Firefox 부가 기능 에서 배포 하고 있습니다 . </span><span title="インストール方法は以下のとおりです:">설치 방법은 다음과 같습니다 :</span></span><br>
-  </p>
-<ol>
- <li><span title="Firefox で addons.mozilla.org 内の Simulator のページを訪れてください。">Firefox에서 addons.mozilla.org 에서 시뮬레이터 페이지 를 방문 하십시오.</span></li>
- <li><span lang="ko"><span title='"Firefox に追加" をクリックしてください。'>"Firefox 에 추가" 를 클릭 하십시오.</span></span></li>
- <li><span lang="ko"><span title='"Firefox に追加" をクリックしてください。'> </span><span title='アドオンをダウンロードすると確認のメッセージが表示されますので、"今すぐインストール" をクリックしてください。'>기능을 다운로드 한뒤 확인 메시지가 표시 되면 " 지금 설치 " 를 클릭 하십시오.</span></span></li>
-</ol>
-<p><br>
- <span lang="ko"><span title='アドオンのサイズの都合上、インストール中に Firefox が数秒間フリーズしたり、"警告: 応答のないスクリプト" というタイトルのダイアログが表示される場合があります。'>부가 기능의 크기가 큰 관계로 설치 중에 Firefox가 몇 초 동안 정지되거나 "경고 : 응답하지 않는 스크립트" 라는 제목의 대화 상자가 표시 될 수 있습니다. </span><span title='ダイアログが表示された場合は、インストールが完了するまで待つために "処理を続行" をクリックしてください。'>대화 상자가 표시 되면 설치가 완료 될 때까지 기다리기 위하여 " 처리 를 계속 " 을 클릭 하십시오.</span><span title="この問題は bug 814505 で追跡しています。"> 이 문제는 Firefox 27부터 발생하지 않습니다.</span><br>
- <br>
- <span title="Simulator アドオンのインストールが完了すると、Firefox は定期的に新しいバージョンを確認して最新の状態を維持します。">시뮬레이터 부가 기능 의 설치 가 완료되면 Firefox는 정기적으로 새로운 버전을 확인 하여 최신 상태 를 유지 합니다.</span><br>
- <br>
- <span title='Simulator をインストールすると Dashboard が自動的に開きますが、"Firefox" メニュー (または OS X や Linux では "ツール" メニュー) の "Web 開発" で "Firefox OS Simulator" を選択することで、いつでも Dashboard を開く'>시뮬레이터를 설치 하면 대시보드가 자동으로 열리지 만 "Firefox" 메뉴 (OS X 및 Linux에서는 "도구" 메뉴 ) 의 "웹 개발 도구" 에서 " Firefox OS 시뮬레이터 " 를 선택하여 언제든지 대시보드를 열 </span><span title="ことができます:">수 있습니다 :</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5141/simulator-open-on-windows-7.png" style="margin-right: auto; margin-left: auto; display: block;"><br>
- <span id="result_box" lang="ko"><span class="hps atn">아래 보여지는 대시보드는</span> <span class="hps">애플리케이션</span> 시뮬레이터에<span class="atn"> 추가</span><span class="atn">하고 실행</span><span class="atn">하는 데 사용</span><span>하는 도구입니다:</span></span><img alt="" src="https://mdn.mozillademos.org/files/5491/dashboard-4.0.png"></p>
-<h2 id="앱을_추가하고_제거하고_새로고침하기"><a name="추가하고-제거하고-새로고침하기">앱을 추가하고, 제거하고, 새로고침하기</a></h2>
-<h3 id="앱_추가하기">앱 추가하기</h3>
-<p><span id="result_box" lang="ko"><span title='パッケージ型アプリを Simulator に追加するには、Dashboard を開いて "Add Directory" をクリックします。'><a href="https://developer.mozilla.org/ko/docs/Apps/Packaged_apps">패키지 형 응용 프로그램</a>을 시뮬레이터 에 추가 하려면 대시보드를 열고 " Add Directory " 를 클릭합니다. </span><span title="そして、アプリのマニフェストファイルを選択してください。">그리고 앱의 <a href="https://developer.mozilla.org/ko/docs/Web/Apps/Developing/Manifest/Manifest">매니페스트 파일</a>을 선택 하십시오.</span><br>
- <br>
- <span title='ホスト型アプリを追加するには、"URL for page or manifest.webapp" と表示されているテキストボックスに URL を入力して "Add URL" をクリックしてください。'>호스트 형 응용 프로그램을 추가 하려면 " URL for page or manifest.webapp "라고 표시 되는 텍스트 상자에 URL 을 입력 하고 " Add URL " 을 클릭 하십시오. </span><span title="URL がマニフェストを指している場合は、そのマニフェストが使用されます。">URL이 매니페스트를 가리키는 경우 해당 매니페스트가 사용 됩니다. </span><span title="そうでない場合は、Dashboard が当該 URL 向けのマニフェストを生成します: よって、URL を入力するだけで任意の Web サイトをアプリとして追加できます。">그렇지 않은 경우 는 Dashboard 가 해당 URL 위한 매니페스트를 생성 합니다 : 따라서, URL을 입력 하는 것만으로 모든 Web 사이트를 앱 으로 추가 할 수 있습니다 .</span><br>
- <br>
- <span title="アプリを追加すると、Dashboard がマニフェストファイルに対して一連のテストを行って、一般的な問題のチェックを行います。">앱 을 추가 하면 대시보드가 매니페스트 파일 에 대해 일련 의 테스트 를 수행하여 일반적인 문제를 확인 합니다. </span><span title="どのようなテストを行うかについて詳しくは、マニフェストの検証の章をご覧ください。">어떤 테스트 를 실시할지 에 대한 자세한 내용 은 매니페스트 검증 섹션을 참조하십시오.</span><br>
- <br>
- <span title="マニフェストの検証でアプリにエラーが発見されなければ、Dashboard は自動的に Simulator でアプリを実行します。">매니페스트 유효성 검사 응용 프로그램 오류가 발견 되지 않으면 대시보드는 자동으로 시뮬레이터에서 응용 프로그램을 실행 합니다.</span></span></p>
-<h3 id="앱_관리하기">앱 관리하기</h3>
-<p><span class="short_text" id="result_box" lang="ko"><span class="hps atn">앱</span><span>을</span> <span class="hps atn">추가</span><span>하면</span> <span class="hps atn">매니저</span><span>에서</span> <span class="hps">설치된</span> <span class="hps atn">응용 프로그램 목록</span><span class="atn">에 표시</span><span>됩니다</span> <span class="hps">:</span></span><br>
- <img alt="" src="https://mdn.mozillademos.org/files/5493/dashboard-list-apps-4.0.png"><br>
- <span class="short_text" id="result_box" lang="ko"><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>
-<ul>
- <li>매니페스트 내에 써 있는 앱의 이름</li>
- <li>앱의 타입(패키지형, 호스팅형, 생성형)</li>
- <li>매니페스트 파일로의 링크</li>
- <li>매니페스트 검증의  결과</li>
-</ul>
-<p>또 다음과 같은 네개의 명령을 제공합니다.</p>
-<ul>
- <li><strong>"Refresh":</strong> <span id="result_box" lang="ko"><span class="hps atn">앱</span><span class="atn">에 대한 변경</span><span>을 한</span> <span class="hps">후</span> 시뮬레이터 <span class="hps">응용 프로그램을</span> <span class="hps">업데이트</span> <span class="hps">및</span> <span class="hps atn">다시 로드</span><span>합니다.</span> <span class="hps">또한</span> 대시보드에서 <span class="hps">매니페스트</span> 검증을 <span class="hps atn">다시 실행</span><span>합니다.</span> <span>앱에 어떤 수정을 가해도 바로 변경 사항이 적용되지 않습니다</span> <span class="hps">:</span> <span class="hps atn">변경 사항</span><span>을</span> <span class="hps atn">적용</span><span>하기 위해</span> <span class="hps atn">응용 프로그램</span><span>의</span> <span class="hps atn">업데이트</span><span>가 필요합니다.</span></span></li>
- <li><strong>"Connect":<span id="result_box" lang="ko"><span class="hps"> </span></span></strong><span lang="ko"><span class="hps">선택한</span> <span class="hps">애플리케이션</span>의<span class="hps"> 개발</span> <span class="hps atn">도구</span><span>에</span> <span class="hps">연결합니다.</span> <span class="hps atn">앱</span><span>을</span> <span class="hps atn">실행</span><span>하지 않는</span> <span class="hps">경우</span> <span class="hps atn">대시보드가</span> 시뮬레이터 <span class="hps">및</span> <span class="hps atn">응용 프로그램을 자동으로 시작</span><span>합니다.</span></span></li>
- <li><strong>"Remove" ("X"):</strong> <span id="result_box" lang="ko"><span class="hps">애플리케이션</span>을 시뮬레이터 <span class="hps">및</span> 대시보드에서 <span class="hps">삭제합니다.</span> 대시보드를<span class="atn"> 열고</span><span class="atn">있는 동안</span><span class="atn">에는 작업</span><span>을</span> <span class="hps">실행취소 할 수</span> <span class="hps">있습니다.</span></span></li>
- <li><strong>"Receipt":</strong> 유료 앱의<span id="result_box" lang="ko"> <span class="hps">영수증</span> <span class="hps">검증</span> <span class="hps atn">테스트</span><span>를</span> <span class="hps">수행합니다.</span> <span class="hps">테스트하려는</span> <span class="hps atn">영수증</span><span>의</span> <span class="hps atn">종류</span><span>를</span> <span class="hps atn">선택</span><span>하면</span> <span class="hps">테스트</span> <span class="hps atn">영수증</span><span>과 함께</span> <span class="hps">응용 프로그램을 다시</span> <span class="hps atn">설치</span><span>합니다.</span></span></li>
-</ul>
-<div class="note">
- <p><span id="result_box" lang="ko"><strong><span class="hps">시뮬레이터</span> <span class="hps">창에서</span> <span class="hps">애플리케이션</span> </strong><span class="hps"><strong>업데이트</strong> :</span> <span class="hps atn">애플리케이션</span><span>을</span> <span class="hps">실행하는</span> <span class="hps">경우 메뉴</span> <span class="hps atn">바</span><span>에서</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 class="hps">창에서</span> <span class="hps atn">직접 응용 프로그램</span><span>을</span> <span class="hps">업데이트</span> <span class="hps">및</span> <span class="hps">다시로드</span> <span class="hps">할 수 있습니다.</span></span></p>
-</div>
-<h3 id="매니페스트_검증"><a name="매니페스트 인증">매니페스트 검증</a></h3>
-<p><span id="result_box" lang="ko"><span title="マニフェストを与えると、Manager はマニフェストの検証テストをいくらか実行します。">매니페스트를 제출하면 매니저는 매니페스트 여러개의 검증 테스트를 실행 합니다. 검증 테스트는</span><span title="これは、3 つのカテゴリについて問題を報告します:"> 세 가지 범주 에 대해 문제를 보고합니다 :</span></span><br>
-  </p>
-<ul>
- <li><span title="manifest errors: アプリのインストールや実行ができなくなる問題です。">manifest errors : 응용 프로그램을 설치 및 실행을 할 수가 없게되는 문제입니다.</span></li>
- <li><span lang="ko"><span title="manifest warnings: アプリの正常な動作を妨げる問題です。">manifest warnings : 응용 프로그램 의 정상적인 작동을 방해</span></span>하는 문제입니다.</li>
- <li><span lang="ko"><span title="simulator-specific warnings: アプリが使用している機能で、Simulator が未サポートであるものです。">simulator - specific warnings : 응용 프로그램이 사용하는 기능중에 시뮬레이터가 제공하지 않는 기능이 있는 경우입니다.</span></span></li>
-</ul>
-<p>이것은 앱 의 항목에 발생한 문제의 간략적인 정보를 제공합니다 : 요약된 항목을 클릭 하면 세부 정보가 표시 됩니다.</p>
-<h4 id="매니페스트_에러">매니페스트 에러</h4>
-<p>대시보드 는 다음과 같은 상황을 오류로 보고 합니다. 이 문제를 해결 하지 않으면 해당 응용 프로그램은 시뮬레이터에서 실행되지 않을 것입니다:</p>
-<ul>
- <li>매니페스트 필수 필드 " name " 이 없다.</li>
- <li>매니페스트가 올바른 JSON가 아니다.</li>
- <li>응용 프로그램은 호스트형 애플리케이션 이지만, 매니페스트의 type 필드를 패키지형에만 사용할수 있는 " privileged " 또는 " certified " 이다.</li>
- <li>일반적인 appCache 오류 (패키지 형 응용 프로그램은 appCache 를 사용할수 없습니다. 매니페스트 파일을 요청하면 HTTP 리디렉션 또는 HTTP 오류 상태를 반환할 것입니다.)</li>
-</ul>
-<p>다음은 매니페스트 필수 필드 "name"이 없는 매니페스트를 추가하려고 할 때의 예시입니다.<br>
- <img alt="" src="https://mdn.mozillademos.org/files/5495/dashboard-missing-name-4.0.png"></p>
-<h4 id="매니페스트_경고">매니페스트 경고</h4>
-<p>대시보드는 다음과 같은 매니페스트 이슈들의 대한 경고를 보고할 것입니다:</p>
-<ul>
- <li>아이콘이 없음</li>
- <li>아이콘이 128픽셀보다 작음: Marketplace에 올려지는 모든 앱들은 최소 128픽셀의 1개의 아이콘을 가져야 합니다.</li>
- <li> <a href="/en-US/docs/Apps/Manifest#type" title="/en-US/docs/Apps/Manifest#type">type</a>필드가 인식되지 않습니다.</li>
- <li>매니페스트가 알려지지 않은 <a href="/en-US/docs/Apps/Manifest#permissions" title="/en-US/docs/Apps/Manifest#permissions">permission</a>(권한)을 요구한다.</li>
- <li>매니페스트가 거부될 <a href="/en-US/docs/Apps/Manifest#permissions" title="/en-US/docs/Apps/Manifest#permissions">permission</a>(권한)을 요구한다.</li>
- <li>접근할수 있는지 규정할수 없는 <a href="/en-US/docs/Apps/Manifest#permissions" title="/en-US/docs/Apps/Manifest#permissions">permission</a>(권한)을 요구한다.</li>
-</ul>
-<h4 id="시뮬레이터_한정_경고들">시뮬레이터 한정 경고들</h4>
-<p>마지막으로, 매니저는 앱이 사용하는 Firefox OS 기능중 시뮬레이터에서 완벽하게 지원되지 않는 기능들에 관해서 경고를 할 것입니다:</p>
-<ul>
- <li><a href="/en-US/docs/Apps/Manifest#type" title="/en-US/docs/Apps/Manifest#type">type</a> 필드가 인증됨(certified)일 경우, 인증된 앱들은 시뮬레이터에서 완벽하게 지원하지 않습니다.</li>
- <li>앱이 요구하는 API로의 permission(권한)중 시뮬레이터가 아직 지원하지 않는 API가 있을때</li>
-</ul>
-<h2 id="시뮬레이터_돌리기"><a name="시뮬레이터 돌리기">시뮬레이터 돌리기</a></h2>
-<p>시뮬레이터를 실행시키는 방법엔 다음과 같은 두가지 방법이 있습니다:</p>
-<ul>
- <li>만약에 앱을 추가하셨거나 앱 추가 옆에 있는  "Refresh"나 "Connect" 버튼을 다음에 클릭하셨으면, 대시보드는 자동으로 추가하신 앱이 띄워저 있는 시뮬레이터를 실행할 것입니다.</li>
- <li>만약에 대시보드의 좌측에 있는 "Stopped"를 클릭하신다면, 시뮬레이터는 홈 스크린으로 시작할 것이며, 여러분은 수동적으로 여러분의 앱을 실행시켜야 합니다.</li>
-</ul>
-<p>어떤 방법을 쓰던지와 상관 없이 시뮬레이터가 작동하기 시작되면, "Stopped"라고 써 있던 버튼이 초록색으로 된 "Running"라고 써 있는 버튼이 됩니다. 시뮬레이터를 정지하실려면 이 버튼을 한번 더 클릭해 주세요.<br>
-  </p>
-<p>시뮬레이터는 320x480 픽셀의 시뮬레이션된 화면과 하단에 툴바와 상단에 메뉴바를 가지는 분리된 새로운 창으로 나타납니다:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5505/simulator-bars.png" style="margin-right: auto; margin-left: auto; display: block;"></p>
-<p>터치 이벤트를 시뮬레이션 하기 위해서는 마우스 버튼 클릭을 유지하면서 드래그 해 주세요. 홈스크린에서 오른쪽으로부터 왼쪽으로 클릭하시고 드래그 하시는걸 통해서 여러분은 여러분이 추가한 앱들과 내장된 앱들을 보실수 있습니다:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5517/simulator-homescreen.png"></p>
-<h3 id="시뮬레이터_툴바"><a name="시뮬레이터 툴바">시뮬레이터 툴바</a></h3>
-<p>하단 툴바에는 왼쪽에서부터 오른쪽으로 <strong>홈 버튼</strong>, <strong>스크린 회전 버튼</strong>, 그리고<strong> Geolocation 버튼</strong>이 있습니다.</p>
-<ul>
- <li><strong>홈 버튼</strong>은 여러분을 홈 스크린으로 데리고 갑니다(혹은 길게 몇초간 누르시면 최근 태스크 리스트로 데리고 갑니다)</li>
- <li><strong>스크린 회전 버튼</strong>은 시뮬레이터 화면의 방향을 가로나 세로로 변경합니다. 이 버튼은 <a href="https://developer.mozilla.org/en-US/docs/WebAPI/Managing_screen_orientation#Listening_orientation_change" title="/en-US/docs/WebAPI/Detecting_device_orientation">orientationchange</a> 이벤트를 일으킬 것입니다.</li>
- <li><strong>Geolocation 버튼</strong>은 여러분의 위치나 따로 지정한 위치를 물어보게 합니다: 이 위치는 <a href="/en-US/docs/WebAPI/Using_geolocation" title="/en-US/docs/WebAPI/Using_geolocation">Geolocation API</a>을 이용해 여러분의 앱에서 설정할수 있습니다.</li>
-</ul>
-<p><a href="https://mdn.mozillademos.org/files/5511/simulator-geolocation.png"><img alt="" src="https://mdn.mozillademos.org/files/5511/simulator-geolocation.png" style="width: 520px; height: 309px;"></a><a href="https://mdn.mozillademos.org/files/5519/simulator-screen-orientation.png"><img alt="" src="https://mdn.mozillademos.org/files/5519/simulator-screen-orientation.png" style="width: 500px; height: 297px;"></a></p>
-<h3 id="시뮬레이터_메뉴바"><a name="시뮬레이터 메뉴바"></a>시뮬레이터 메뉴바</h3>
-<p>상단 메뉴바에서는 여러분은 개발을 더 효율적으로 만들수 있게 해주는 여러 명령들을 쓰실수 있습니다.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5525/simulator-menubar.png"></p>
-<ul>
- <li><strong>File -&gt; Quit</strong> (<em>Ctrl/Cmd - Q</em>): 시뮬레이터를 종료합니다.</li>
- <li><strong>App -&gt; Refresh</strong> (<em>Ctrl/Cmd - R</em>): 시뮬레이터를 새로고침합니다.</li>
-</ul>
-<p>"<strong>App Refresh</strong>"를 실행하는 키보드 단축키는 앱을 웹 페이지처럼 반복적으로 개발하는걸 가능하게 합니다:</p>
-<ul>
- <li>코드에 대한 변경을 만듬 (그리고 필요하다면 빌드 툴을 다시 동작함, e.g. volo / yeoman / grunt)</li>
- <li>키보드 단축키를 입력하셔서 시뮬레이터에서 실행중인 앱을 새로 고침한다.</li>
-</ul>
-<div class="note">
- <p><strong>"앱을 새로 고침하고 데이터를 제거하기" 숨겨진 지름길:</strong> 가끔씩 시뮬레이터가 앱을 위해서 저장한 데이터를 초기화 시키는게 도움이 될 때도 있습니다, 그래서 시뮬레이터는 이와 관련된 숨겨진 단축키를 가지고 있습니다. <em>Shift - Ctrl/Cmd - R를 이용하면 시뮬레이터는 다음과 같은 여러 데이터를 초기화한뒤 앱을 새로 고침할 것입니다:</em></p>
- <ul>
- <li>
- <p>로컬 스토리지 / 세션 스토리지</p>
- </li>
- <li>
- <p>쿠키</p>
- </li>
- <li>
- <p>인덱스된 DB</p>
- </li>
- <li>
- <p>앱 캐시</p>
- </li>
- </ul>
-</div>
-<h2 id="개발자_도구들과_연결하기"><a name="개발자 도구들과 연결하기">개발자 도구들과 연결하기</a></h2>
-<p>여러분의 앱의 디버깅에 도움을 주기 위해 여러가지 개발자 도구들을 시뮬레이터 연결하실수 있습니다. 지금부로는 오직 <a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">JavaScript Debugger</a>, <a href="/en-US/docs/Tools/Web_Console" title="/en-US/docs/Tools/Web_Console">Web Console</a>, <a href="/en-US/docs/Tools/Style_Editor" title="/en-US/docs/Tools/Style_Editor">Style Editor</a>, <a href="/en-US/docs/Tools/Profiler" title="/en-US/docs/Tools/Profiler">Profiler</a> 그리고 <a href="/en-US/docs/Tools/Network_Monitor" title="/en-US/docs/Tools/Network_Monitor">Network Monitor</a>만 연결할수 있지만, 저희는 더 많은 <a href="https://developer.mozilla.org/en-US/docs/Tools/DevTools_Window" title="https://developer.mozilla.org/en-US/docs/Tools/DevTools_Window">developer tools</a>을 연결할수 있도록 노력중입니다.</p>
-<div class="geckoVersionNote">
- <p>이 중에 몇몇 툴은 파이어폭스의 베타, Aurora 혹은 Nightly builds 버전에서만 이용하실수 있습니다.</p>
-</div>
-<p>개발자 도구들을 시뮬레이터와 연결하실려면, <strong>"Connect" </strong>버튼을 클릭해 주세요:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5497/connect-to-app-button.png" style="margin-right: auto; margin-left: auto; display: block;"></p>
-<p>대시보드는 대시보드 하단에 개발자 도구 창을 열고 앱과 연결합니다:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5501/simulator-devtools-connected.png" style="margin-right: auto; margin-left: auto; display: block;"></p>
-<h3 id="웹_콘솔">웹 콘솔</h3>
-<p>앱은 <a href="/en-US/docs/DOM/console" title="/en-US/docs/DOM/console">console</a> object(콘솔 객체)를 이용해 log를 남길수 있습니다. 웹 콘솔은 다음과 같은 앱이 작성한 메세지를 표시합니다: 네트워크 요구, CSS 그리고 J S 경고/오류, 보안 오류들. (<a href="/en-US/docs/Tools/Web_Console" title="/en-US/docs/Tools/Web_Console">Learn more about the Web Console.</a>)</p>
-<h3 id="디버거">디버거</h3>
-<p>문제를 더 빨리 발견하고 해결하기 위해 디버거를 사용하면 여러분은 손쉽게 연결된 앱의 자바스크립트의 단계별 실행 , 분기점 관리, 식 보기 등을 할수가 있습니다. (<a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Web_Console">Learn more about the Debugger.</a>)</p>
-<h3 id="스타일_편집기">스타일 편집기</h3>
-<p><span id="result_box" lang="ko"><span class="hps">스타일</span> <span class="hps">편집기를</span> <span class="hps atn">연결</span><span>하면</span> <span class="hps atn">앱</span><span>에서</span> <span class="hps">참조하는</span> <span class="hps atn">CSS 파일</span><span>의 열람이나</span> <span class="hps atn">편집</span><span class="atn">이 가능</span><span>합니다.</span> <span class="hps">변경 한</span> <span class="hps">부분은</span> <span class="hps atn">앱</span><span>을</span> <span class="hps">업데이트</span> <span class="hps">할</span> <span class="hps">필요없이</span> <span class="hps">실시간으로</span> <span class="hps atn">앱</span><span>에</span> <span class="hps atn">반영</span><span>됩니다.</span></span> (<a href="/en-US/docs/Tools/Style_Editor" title="/en-US/docs/Tools/Web_Console">Learn more about the Style Editor.</a>)</p>
-<h3 id="프로파일러">프로파일러</h3>
-<p><span id="result_box" lang="ko"><span class="hps atn">앱</span><span>에 연결된 </span><span class="hps">프로파일러</span> <span class="hps">도구를</span> <span class="hps">사용하여</span> <span class="hps atn">JavaScript 코드</span><span>에서</span> <span class="hps atn">시간이 너무 많이 소요하는 구간을 찾을수 있습니다</span><span class="hps">.</span> <span class="hps">프로파일러는</span> <span class="hps">JavaScript</span> <span class="hps atn">최근 호출 스택을 샘플하고</span> <span class="hps">컴파일</span> <span class="hps">상태를</span> <span class="hps">주기적으로</span> <span class="hps atn">샘플링</span><span>합니다.</span></span> (<a href="/en-US/docs/Tools/Profiler" title="/en-US/docs/Tools/Web_Console">Learn more about the Profiler.</a>)</p>
-<h3 id="네트워크_모니터">네트워크 모니터</h3>
-<p><span id="result_box" lang="ko"><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 class="hps">네트워크</span> <span class="hps">요청 상태</span> <span class="hps atn">헤더</span><span>, 콘텐츠</span> <span class="hps atn">타이밍</span><span>을</span> <span class="hps">사용자</span> <span class="hps">친화적인 인터페이스를</span> 통해 <span class="hps">분석</span> <span class="hps">할 수 있습니다.</span></span>(<a href="https://hacks.mozilla.org/2013/06/network-monitor-now-in-firefox-beta/" title="https://hacks.mozilla.org/2013/06/network-monitor-now-in-firefox-beta/">Learn more about the Network Monitor.</a>)</p>
-<h2 id="영수증"><a name="Simulator-receipts"></a>영수증</h2>
-<p>만약에 여러분이 유료 앱을 개발중이시라면 여러분은 여러분의 앱의 유효한 (cryptographically signed) 영수증(valid receipt)을 가진 영수증 인증 코드 (receipt validation code, 코드는 유저가 이미 앱을 구매했거나 환불을 요구했음을 보여주고 유저에게 앱의 기능을 제한하거나 허락함을 알립니다)를 테스트 하셔야 합니다.</p>
-<p><span id="result_box" lang="ko">시뮬레이터의 대시보드의 <span class="hps">각</span> <span class="hps atn">앱</span><span>의</span> <span class="hps atn">항목에있는 "</span><strong><span class="atn">Receipts</span></strong><span class="atn">"</span><span>메뉴를 이용해 각 앱을</span> <span class="hps atn">"</span><strong><span class="atn">Valid</span></strong><span class="atn">, "</span><strong><span class="atn">Invalid</span></strong><span class="atn">", "</span><strong><span class="atn">Refunded</span></strong><span class="atn">"</span><span> 테스트</span> <span class="hps atn">영수증</span><span>과 </span>함께 설치할수 있습니다. <span class="hps">테스트하려는</span> <span class="hps atn">영수증</span><span>의</span> <span class="hps atn">종류</span><span>를</span> <span class="hps">선택하면</span> <span class="hps atn">대시보드가</span> <span class="hps atn">Marketplace</span><span>의</span> <span class="hps">영수증</span> <span class="hps atn">서비스</span><span>에서</span> <span class="hps">그</span> <span class="hps atn">종류</span><span>의</span> <span class="hps">테스트</span> <span class="hps">영수증을</span> <span class="hps">가져오고</span> 시뮬레이터에서 <span class="hps">테스트</span> <span class="hps atn">영수증</span><span>과 함께</span> <span class="hps">응용 프로그램을 다시</span> <span class="hps atn">설치</span><span>합니다</span> <span class="hps">:</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5523/simulator-receipts-selector-4.0.png"></p>
-<h2 id="기기로의_전송"><a name="기기로의 전송">기기로의 전송</a></h2>
-<p>만약에 여러분이 별도의 Firefox OS 기기들이 있으시다면, 여러분을 그 기기들을 시뮬레이터에 연결할수 있고, 추가하신 앱들을 대시보드에서 기기들로 바로 전송할수 있습니다.</p>
-<h3 id="기기에_연결하기">기기에 연결하기</h3>
-<p>기기를 연결하시려면 <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop">connecting a Firefox OS device to the desktop</a>에 있는 가이드를 따르십시오.시뮬레이터가 ADB를 미리 포함하고 있기 때문에 따로 설치를 하실 필요가 없다는걸 염두해 두세요.</p>
-<h3 id="앱을_디바이스로_전송하기">앱을 디바이스로 전송하기</h3>
-<p>일단 데스크탑과 기기를 준비하시고 기기를 데스크탑에 USB로 연결하셨다면, 대시보드에서 디바이스가 연결되었음을 알리는 "Device connected"가 뜨는걸 보실수 있습니다. 그리고 "Push"라고 되어 있는 새로운 명령 버튼이 나타납니다:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5521/simulator-push2device.png"></p>
-<p> <strong>"Push"</strong>버튼을 클릭하시면 선택하신 앱은 자동적으로 Firefox OS 기기에 전송되었을 것입니다.</p>
-<div class="note">
- <p><strong>수동적 방법:</strong></p>
- <ul>
- <li>
- <p><span id="result_box" lang="ko"><span class="hps">응용 프로그램을</span> <span class="hps atn">장치</span><span>에</span> <span class="hps atn">푸시한뒤</span> <span class="hps">업데이트 된</span> <span class="hps atn">콘텐츠</span><span>를</span> <span class="hps">얻기 위해선</span> <span class="hps">수동으로</span> <span class="hps">응용 프로그램을</span> <span class="hps atn">닫고 다시 시작</span><span class="atn">해야</span><span>합니다.</span></span></p>
- </li>
- <li>
- <p>매니페스트에 어떤 변경(예를 들어서 앱 이름, 화면 방향, 타입, 권한)을 한 경우에는 운영체제를 재부팅 해야지 효과를 적용할수 있습니다.</p>
- </li>
- </ul>
-</div>
-<h3 id="Firefox_OS_기기_연결_확인">Firefox OS 기기 연결 확인</h3>
-<p>어느 기기에서 재부팅 할때나 첫번째 "<strong>Push"(전송) </strong>요구는 디바이스에서 확인되어야 합니다:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5527/device-push-confirmation.png" style="width: 320px; height: 480px;"></p>
-<h3 id="Linux에서_문제해결">Linux에서 문제해결</h3>
-<p>udev rules를 생성하신뒤에 기기에 연결이 안 된다면 이 <a href="https://github.com/mozilla/r2d2b2g/issues/515" title="https://github.com/mozilla/r2d2b2g/issues/515">bug</a>를 참조하세요.</p>
-<h2 id="시뮬레이터의_제약"><a name="제약">시뮬레이터의 제약</a></h2>
-<p>Firefox OS 시뮬레이터가 완벽한 시뮬레이션을 제공하지 않음을 염두해 두세요.</p>
-<h3 id="하드웨어_제약">하드웨어 제약</h3>
-<p>스크린 사이즈를 제외하고도, Firefox OS 시뮬레이터는 Firefox OS 기기들의 CPU 속도나 메모리같은 하드웨어 제약을 시뮬레이트하지 않습니다.</p>
-<h3 id="오디오비디오_코덱">오디오/비디오 코덱</h3>
-<p>다음과 같은 코덱들은 하드웨어 가속에 의존하므로 아직 지원되지 않습니다:</p>
-<ul>
- <li>MP3</li>
- <li>AAC</li>
- <li>H.264 (MP4)</li>
- <li>WebM</li>
-</ul>
-<p>이것은 위에 리스트 되어있는 코덱을 사용하는 앱이나 유튜브같은 웹사이트들은 작동하는것이 불가능하다는걸 의미합니다.</p>
-<h3 id="지원되지_않는_API들"><a name="지원되지 않는 API들">지원되지 않는 API들</a></h3>
-<p>데스크탑 하드웨어의 제약 때문에, 몇가지의 API들은 시뮬레이터에서 작동을 하지 않습니다. 저희는 geolocation과 같은 몇몇 API들을 위한 시뮬레이션을 넣었습니다. 하지만, 지금으로서는 다음 리스트에 있는 API들은 작동하지 않습니다. 다음과 같은 API를 사용하면 에러가 뜨거나 맞지 않은 결과를 가져다 줄 것입니다:</p>
-<ul>
- <li><a href="/en-US/WebAPI/WebTelephony" title="/en-US/WebAPI/WebTelephony">Telephony</a></li>
- <li><a href="/en-US/docs/WebAPI/WebSMS" title="/en-US/docs/WebAPI/WebSMS">WebSMS</a></li>
- <li><a href="/en-US/docs/WebAPI/WebBluetooth" title="/en-US/docs/WebAPI/WebBluetooth">WebBluetooth</a></li>
- <li><a href="/en-US/docs/WebAPI/Using_Light_Events" title="/en-US/docs/WebAPI/Using_Light_Events">Ambient Light</a></li>
- <li><a href="/en-US/docs/WebAPI/Proximity" title="/en-US/docs/WebAPI/Proximity">Proximity</a></li>
- <li><a href="/en-US/docs/WebAPI/Network_Information" title="/en-US/docs/WebAPI/Network_Information">Network Information</a></li>
- <li><a href="/en-US/docs/Online_and_offline_events" title="/en-US/docs/Online_and_offline_events">navigator.onLine and offline events</a></li>
- <li><a href="/en-US/docs/WebAPI/Vibration" title="/en-US/docs/WebAPI/Vibration">Vibration</a></li>
-</ul>
-<h2 id="도움_받기"><a name="Simulator-help"></a>도움 받기</h2>
-<p><span id="result_box" lang="ko"><span class="hps atn">Firefox OS 시뮬레이터는</span> <span class="hps">아직</span> <span class="hps atn">개발 초기 단계</span><span>입니다. </span><span class="hps atn">저희가 원하는</span><span class="atn">만큼</span><span>의 안정성과</span> <span class="hps atn">완성도</span><span>가</span> <span class="hps">없습니다.</span></span></p>
-<p>버그를 발견하셨다면 <a href="https://github.com/mozilla/r2d2b2g/issues?state=open">GitHub에 보고</a> 해주세요. 만약에 물어보실게 있으시다면 <a href="https://lists.mozilla.org/listinfo/dev-developer-tools">개발자 도구 메일링 리스트</a>나<a href="irc://irc.mozilla.org/#devtools"> irc.mozilla.org의 #devtools</a>에서 질문해 주세요.</p>
-<h3 id="verbose_logging을_활성화하는_방법"><a name="Simulator-verbose-logging"></a>verbose logging을 활성화하는 방법</h3>
-<p>설정하기 위해 about:config를 사용해 주세요. <a href="mailto:extensions.r2d2b2g@mozilla.org.sdk.console.logLevel">extensions.r2d2b2g@mozilla.org.sdk.console.logLevel</a>를 정수값 0으로 설정해 주세요, 그리고 부가 기능을 비활성화하고 재활성화를 해주세요. 시뮬레이터 구동에 관련한 추가적 메세지들은 에러 콘솔에서 나타날 것입니다(혹은 최신 버전의 Firefox의 브라우저 콘솔에서)</p>
-<h3 id="어떻게_시뮬레이터의_가장_최신_프리뷰_빌드를_받을수_있을까요"><a name="시뮬레이터 최신 프리뷰 빌드 받기"></a>어떻게 시뮬레이터의 가장 최신 프리뷰 빌드를 받을수 있을까요?</h3>
-<p>이 문서의 한 섹션이 설명하는 대로, 여러분은 최신 Firefox OS 빌드 추가기능을 <a href="https://addons.mozilla.org/en-US/firefox/addon/firefox-os-simulator/">addons.mozilla.org</a>에서 받을수 있습니다.</p>
-<p>가끔 여러분은 아직 공식적으로 릴리즈 되지 않는 기능들을 사용할수도 있을텐데요. 그렇다면, 여러분들은 최신 프리뷰 빌드들을 다음과 같은 URL들에서 받으실수 있습니다.</p>
-<ul>
- <li>Windows: <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-windows.xpi">https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-windows.xpi</a></li>
- <li>Mac: <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-mac.xpi">https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-mac.xpi</a></li>
- <li>Linux: <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-linux.xpi">https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-linux.xpi</a></li>
-</ul>
-<p>프리뷰 빌드들은 릴리즈된 빌드들보다 덜 안정적이고 테스트 되어야 함을 염두해 두세요.</p>
-<h2 id="Subnav">Subnav</h2>
-<ol>
- <li><a href="/en-US/docs/Tools/Toolbox">Toolbox</a>
- <ol>
- <li><a href="/en-US/docs/Tools/Page_Inspector" title="Tools/Page_Inspector">Page Inspector</a></li>
- <li><a href="/en-US/docs/Tools/Web_Console" title="Web Console">Web Console</a></li>
- <li><a href="/en-US/docs/Tools/Style_Editor" title="Style Editor">Style Editor</a></li>
- <li><a href="/en-US/docs/Tools/Debugger" title="Debugger">Debugger</a></li>
- <li><a href="/en-US/docs/Tools/Profiler" title="Profiler">Profiler</a></li>
- <li><a href="/en-US/docs/Tools/Network_Monitor" title="Network Monitor">Network Monitor</a></li>
- <li><a href="/en-US/docs/Tools/Shader_Editor">Shader Editor</a></li>
- </ol>
- </li>
- <li><a href="#">Mobile</a>
- <ol>
- <li><a href="/en-US/docs/Tools/Remote_Debugging" title="Remote Debugging">Remote Debugging</a></li>
- <li><a href="https://developer.mozilla.org/ko/docs/%EB%8F%84%EA%B5%AC%EB%93%A4/Firefox_OS_Simulator">Firefox OS 시뮬레이터</a></li>
- <li><a href="/en-US/docs/Tools/Responsive_Design_View" title="Responsive Design View">Responsive Design View</a></li>
- </ol>
- </li>
- <li><a href="#">Standalone tools</a>
- <ol>
- <li><a href="/en-US/docs/Tools/Scratchpad" title="Scratchpad">Scratchpad</a></li>
- <li><a href="/en-US/docs/Tools/Browser_Console" title="Browser Console">Browser Console</a></li>
- <li><a href="/en-US/docs/Tools/GCLI" title="GCLI">Developer Toolbar</a></li>
- <li><a href="/en-US/docs/Tools/3D_View" title="3D View">3D View</a></li>
- <li><a href="/en-US/docs/Tools/Paint_Flashing_Tool" title="Paint Flashing Tool">Paint Flashing Tool</a></li>
- <li><a href="/en-US/docs/Tools/Browser_Toolbox" title="Browser Toolbox">Browser Toolbox</a></li>
- </ol>
- </li>
-</ol>
-<p> </p>
-<p> </p>
diff --git a/files/ko/archive/b2g_os/성능/index.html b/files/ko/archive/b2g_os/성능/index.html
deleted file mode 100644
index dd7ccb98ee..0000000000
--- a/files/ko/archive/b2g_os/성능/index.html
+++ /dev/null
@@ -1,146 +0,0 @@
----
-title: 성능
-slug: Archive/B2G_OS/성능
-translation_of: Web/Performance/Fundamentals
----
-<p><span id="result_box" lang="ko"><span class="hps atn">성능</span><span>은</span> <span class="hps atn">광범위한 주제</span><span>입니다.</span> <span class="hps">본</span> <span class="hps">문서는</span> <span class="hps atn">Firefox OS</span><span>가</span> <span class="hps">어떻게</span> <span class="hps">설계</span> <span class="hps atn">및 최적화</span><span>되어</span> <span class="hps atn">있는지</span><span>의 관해</span> <span class="hps">대략적인</span> <span class="hps atn">개요</span><span>를</span> <span class="hps">설명합니다.</span> 그리고 <span class="hps">개발자가</span> <span class="hps atn">자신</span><span>의</span> <span class="hps">코드</span> <span class="hps atn">성능을 향상</span><span>시키는</span> <span class="hps">데 사용할 수있는</span> <span class="hps">도구와</span> <span class="hps">프로세스를</span> <span class="hps atn">소개</span><span>합니다.</span></span></p>
-<h2 id="성능이란_무엇인가요">성능이란 무엇인가요?</h2>
-<p><span id="result_box" lang="ko"><span class="hps atn">성능</span><span>은 전적으로</span> <span class="hps atn">사용자</span><span class="atn">에 의해 인식</span><span>됩니다.</span> <span class="hps">사용자가</span> <span class="hps atn">터치</span><span>, 이동,</span> <span class="hps">대화를 통해</span> <span class="hps atn">시스템</span><span>에</span> <span class="hps">입력</span> <span class="hps atn">정보를 제공</span><span>할때 </span><span class="hps">그</span> <span class="hps">대가로</span> <span class="hps atn">사용자</span><span>는</span> <span class="hps atn">시각적</span><span>,</span> <span class="hps">촉각</span> <span class="hps atn">적</span><span>,</span> <span class="hps">청각 적</span> <span class="hps atn">피드백 방식</span><span>에 의해</span> <span class="hps">출력</span> <span class="hps atn">정보</span><span>를 받습니다.</span> <span class="hps">성능은</span> <span class="hps">그</span> <span class="hps atn">입력</span><span class="atn">에 대한 응답</span><span>의</span> <span class="hps">출력</span> <span class="hps atn">품질</span><span>입니다.</span></span></p>
-<p>유저 인식 성능(이 다음부터는 UPP라 부릅니다) 대신 다른 목적으로 최적화된 코드는 여러가지 타겟을 동등하게 최적화된 코드와 비교해서 떨어질수밖에 없습니다. 사용자는 프로세싱 성능이 떨어져도 응답성이 좋고 부드러운 응용 프로그램들을 선호합니다. 예를 들자면, 사용자들은 응답성이 좋으면서 부드럽지만 초당 1,000개의 데이터베이스 트렌젝션 처리를 하는 앱을 응답성이 좋지 않고 부드럽지 않지만 초당 100,000,000개의 데이터베이스 트렌젝션 처리를 하는 앱보다 선호할 것입니다.</p>
-<p>당연히 데이터베이스 초당 트렌젝션 수같은 성능을 빠르게 처리하는게 의미가 없다는게 아닙니다; 그런건 당연히 의미가 있죠. 저희가 말하려는건 이런 것에 주를 두지 말고, UPP를 개선하는데 주를 둬야 한다는 것입니다.</p>
-<p><span id="result_box" lang="ko"><span class="hps">성능에 관한 주요 </span><span class="hps atn">지표</span><span>는</span> <span class="hps">여러 가지</span>가 있습니다<span class="hps">.</span> <span class="hps">첫번째로</span> <span class="hps atn">"</span><span>응답성</span> <span class="hps atn">(</span><span class="atn">responsiveness</span><span class="atn">)</span><span class="atn">"</span><span>입니다.</span> 응답성은 <span class="hps">단순히</span> <span class="hps atn">사용자</span><span>의</span> <span class="hps atn">입력</span><span>에 대한 </span><span class="hps">시스템</span> <span class="hps">출력</span><span class="hps atn">(복수가</span><span> 될 수도</span> <span class="hps atn">있습니다</span><span class="atn">)의</span> <span class="hps">반환</span> <span class="hps atn">속도</span><span>입니다.</span> <span class="hps">예를 들어</span> <span class="hps">사용자가</span> <span class="hps atn">스크린</span><span>을</span> <span class="hps">누를</span> <span class="hps">때</span> 사용자들은<span class="hps"> </span><span class="hps atn">픽셀</span><span>에 어떤</span> <span class="hps">변화가</span> <span class="hps">일어난다고</span> <span class="hps">생각합니다.</span> <span class="hps atn">이 경우에는 "</span><span class="atn">탭</span><span class="atn">"</span><span class="atn">제스처</span><span>에서</span> <span class="hps atn">픽셀</span><span>이</span> <span class="hps">변경 될 때까지</span> <span class="hps">걸린 시간이</span> <span class="hps atn">응답성의 지표가 됩니다</span><span>.</span></span></p>
-<p><span id="result_box" lang="ko"><span class="hps atn">응답성은</span> 자주 여러 단계의 피드백을  <span class="hps atn">필요로</span><span>합니다.</span> <span class="hps atn">응용 프로그램</span><span>의</span> <span class="hps atn">시작</span><span>은</span> <span class="hps">특히</span> <span class="hps">중요한</span> <span class="hps">사례</span> <span class="hps atn">중 하나이며</span><span>,</span> <span class="hps">이에 대해서는 나중에</span> <span class="hps atn">자세히 설명</span><span>합니다.</span></span></p>
-<p>응답성은 간단히 아무도 무시되는걸 원하지 않는다는 단순한 이유 때문에 중요합니다. 사용자가 입력을 한 후에 시스템이 반응하기까지의 시간은 유저가 무시되는 시간입니다. 무시되는 것은 짜증과 화를 유발합니다.</p>
-<p><span id="result_box" lang="ko"><span class="hps">다음으로 중요한</span> <span class="hps atn">지표</span><span>는</span> <span class="hps atn">"</span><span class="atn">프레임 레이트</span><span class="atn">"</span><span>입니다. 프레임 레이트란 </span><span class="hps atn">시스템</span><span>이</span> <span class="hps atn">사용자에게 표시</span><span class="atn">하는 픽셀</span><span>을</span> <span class="hps">변경</span>하는 속도입니다<span>.</span> <span class="hps">이것은 </span>흔한 컨셉이고<span class="hps"> </span><span class="hps">모두가</span> 좋아합니다<span>. 예를 들어 모든 사람은 </span> <span class="hps">초당 60</span> <span class="hps">프레임 레이트를 보여주는 게임은 </span><span>이유를</span> <span class="hps">설명</span> <span class="hps">할 수 없어도</span> <span class="hps">초당</span> <span class="hps">10</span> <span class="hps atn">프레임</span><span> 레이트를 보여주는</span> <span class="hps atn">게임</span><span>보다</span> </span>더 선호할 것입니다.</p>
-<p>프레임 레이트는 "서비스의 질"의 지표로서 중요합니다. 컴퓨터의 디스플레이는 전자를 움직여서 현실을 모사하여 사용자들의 눈을 속이도록 디자인되어 있습니다. <span id="result_box" lang="ko"><span class="hps">예를 들자면, </span><span class="hps">문서</span> <span class="hps atn">리더</span><span>의</span> <span class="hps atn">디스플레이</span><span>는 실제</span> <span class="hps">종이의</span> <span class="hps">선명한</span> <span class="hps atn">텍스트</span><span>에</span> <span class="hps atn">반사되는 빛</span><span>과</span> <span class="hps">같은 패턴으로</span> <span class="hps atn">사용자</span><span>의</span> <span class="hps atn">망막</span><span>에</span> <span class="hps">닿는</span> <span class="hps">빛을</span> <span class="hps">생성하도록</span> <span class="hps">설계된</span> <span class="hps">디스플레이</span> <span class="hps atn">픽셀</span><span>을</span> <span class="hps atn">만들어 텍스트</span><span>를</span> <span class="hps">표시합니다.</span></span></p>
-<p>현실에서는 동작은 "연속적입니다" (저희 두뇌가 알려주는 바에 따르면요); it's not jerky and discrete, but rather "updates" smoothly. (Strobe lights are fun because they turn that upside down, starving our brains of inputs to create the illusion of discrete reality.) On a computer display, a higher framerate simply allows the display to imitate reality more faithfully.</p>
-<p>(흥미로운 점은 인간은 보통 60Hz 이상의 프레임 레이트를 구분하지 못한다는 것입니다. 그렇기 때문에 대부분의 현대의 전자식 디스플레이들은 60Hz로 디자인 되어 있습니다. 예를 들자면 TV 스크린은 벌새에게는 비자연스럽고 끊기는 것처럼 보일 것입니다.)</p>
-<p>Memory usage is another key metric. Unlike responsiveness and framerate, users don't directly perceive memory usage. However, memory usage is a close approximation to "user state". An ideal system would maintain 100% of user state at all times: all applications in the system would run simultaneously, and all applications would retain the state created by the user the last time the user interacted with the application. (Application state is stored in computer memory, which is why the approximation is close.)</p>
-<p>An important corollary of this is contrary to popular belief: a well-designed system should not be optimized to maximize the amount of <strong>free</strong> memory. Memory is a resource, and free memory is a unused resource. Rather, a well-designed system should be optimized to <strong>use</strong> as much memory as possible in service of maintaining user state, while meeting other UPP goals.</p>
-<p>Optimizing a system to use memory doesn't mean it should <strong>waste</strong> memory. Using more memory than is required to maintain some particular user state is wasting a resource that could be used to retain some other user state.</p>
-<p>In reality, no system can maintain all user state. Intelligently allocating memory to user state is an important concern that's discussed in more detail below.</p>
-<p>The final metric discussed here is power usage. Like memory usage, users don't directly perceive power usage. Users perceive power usage indirectly by their devices being able to maintain all other UPP goals for a longer duration. In service of meeting UPP goals, the system must use only the minimum amount of power required.</p>
-<p>The remainder of this document will discuss performance in terms of these metrics.</p>
-<h2 id="폴랫폼_성능">폴랫폼 성능</h2>
-<p>이 부분은 Firefox OS가 응용 프로그램 아래서 보통 어떻게 성능을 향상시키기 위해 공헌하는지에 대한 간략적 요약입니다. 앱 개발자나 유저의 입장에서 "이 폴랫폼이 저를 위해서 뭘 해줄수 있나요?" 라는 질문에 대한 대답입니다.</p>
-<p>This section assumes the reader is familiar with the basic conceptual design of Firefox OS.</p>
-<p>Firefox OS is optimized for applications built with web technologies, HTML/CSS/JavaScript and so on. Except for a handful of basic system services, all the code that runs in Firefox OS is web applications and the Gecko engine. Even the operating system window manager is written in HTML/CSS/JS.</p>
-<p>Because the core operating system is built with the same web technologies that applications are built with, the performance of those technologies is critical. There's no "escape hatch". This greatly benefits developers because all the optimizations that enable a performant OS window manager, for example, are available to third-party applications as well. There's no "magic performance sauce" available only to preinstalled code.</p>
-<p>The web platform provides many tools, some better suited for particular jobs than others. All application logic is written in JavaScript. For displaying graphics, developers can choose between the high-level declarative languages of HTML/CSS, or use low-level imperative interfaces offered by the canvas element.</p>
-<p>HTML과 CSS는 생산성을 크게 증가시킵니다, pixel-level control over rendering or a few frames per second. Text and images are reflowed automatically, the system theme is applied to UI elements by default, and "built-in" support is provided for some use cases developers may not think about initially, like different-resolution displays or right-to-left languages.</p>
-<p>The canvas element offers a pixel buffer directly to developers to draw on. This gives pixel-level control over rendering and precise control of framerate to developers. But it comes at the expense of extra work needed to deal with multiple resolutions and orientations, right-to-left languages, and so forth. Developers draw to canvases using either a familiar 2D drawing API, or WebGL, a "close to the metal" binding that mostly follows OpenGL ES 2.0.</p>
-<p>(Somewhere "in between" HTML/CSS and canvas is SVG, which is beyond the scope of this document.)</p>
-<p>The Gecko JavaScript engine supports just-in-time (JIT) compilation. This enables application logic to perform comparably to other virtual machines, such as Java virtual machines, and in some cases close to "native code".</p>
-<p>The graphics pipeline in Gecko underlying HTML/CSS and canvas is optimized in several ways. The HTML/CSS layout and graphics code in Gecko minimizes invalidation and repainting for common cases likes scrolling; developers get this support "for free". Pixel buffers painted by both Gecko "automatically" and applications to canvas "manually" minimize copies when being drawn to the display framebuffer. This is done by avoiding intermediate surfaces where they would create overhead (such as per-application "back buffers" in many other operating systems), and by using special memory for graphics buffers that can be directly accessed by the compositor hardware. Complex scenes are rendered using the device's GPU for maximum performance. To improve power usage, simple scenes are rendered using special dedicated composition hardware, while the GPU idles or turns off.</p>
-<p>Fully static content is the exception rather than the rule for rich applications. Rich applications use dynamic content with animations, transitions, and other effects. Transitions and animations are particularly important to applications. Developers can use CSS to declare even complicated transitions and animations with a simple, high-level syntax. In turn, Gecko's graphics pipeline is highly optimized to render common animations efficiently. Common-case animations are "offloaded" to the system compositor, which can render them both performantly and power efficiently.</p>
-<p>The runtime performance of applications is important, but just as important is their startup performance. Firefox OS improves startup experience in several ways.</p>
-<p>Gecko is optimized to load a wide variety of content efficiently: the entire Web! Many years of improvements targeting this content, like parallel HTML parsing, intelligent scheduling of reflows and image decoding, clever layout algorithms, etc, translate just as well to improving web applications on Firefox OS. The content is written using the same technologies.</p>
-<p>Each web application has its own instance of the Gecko rendering engine. Starting up this large, complicated engine is not free, and because of that, Firefox OS keeps around a preallocated copy of the engine in memory. When an app starts up, it takes over this preallocated copy and can immediately begin loading its application resources.</p>
-<p>Applications "start" most quickly when they're already running. To this end, Firefox OS tries to keep as many applications running in the background as possible, while not regressing the user experience in foreground applications. This is implemented by intelligently prioritizing applications, and discarding background applications according to their priorities when memory is low. For example, it's more disruptive to a user if their currently-playing music player is discarded in the background, while their background calculator application keeps running. So, the music player is prioritized above the calculator automatically by Firefox OS and the calculator is discarded first when memory is low.</p>
-<p>Firefox OS prevents applications that are running in the background from impacting the user experience of foreground applications through two mechanisms. First, timers created by background apps are "throttled" to run at a low frequency. Second, background applications are given a low CPU priority, so that foreground applications can get CPU time when they need it.</p>
-<p>In addition to the above, Firefox OS includes several features designed to improve power usage that are common to mobile operating systems. The Firefox OS kernel will eagerly suspend the device for minimal power usage when the device is idle. Relatedly, ICs like the GPU, cellular radio, and Wifi radio are powered down when not being actively used. Firefox OS also takes advantage of hardware support for media decoding.</p>
-<h2 id="응용_프로그램_성능">응용 프로그램 성능</h2>
-<p>This section is intended for developers asking the question: "how can I make my app fast"?</p>
-<h3 id="시작_시간_성능">시작 시간 성능</h3>
-<p>Application startup is punctuated by three user-perceived events, generally speaking. The first is the application "first paint": the point at which sufficient application resources have been loaded to paint an initial frame. Second is when the application becomes interactive; for example, users are able to tap a button and the application responds. The final event is "full load", for example when all the user's albums have been listed in a music player.</p>
-<p>The key to fast startup is to keep two things in mind: UPP is all that matters, and there's a "critical path" to each user-perceived event above. The critical path is exactly and only the code that must run to produce the event.</p>
-<p>For example, to paint an application's first frame that comprises visually some HTML and CSS to style that HTML, (i) the HTML must be parsed; (ii) the DOM for that HTML must be constructed; (iii) resources like images in that part of the DOM have to be loaded and decoded; (iv) the CSS styles must be applied to that DOM; (v) the styled document has to be reflowed. Nowhere in that list is "load the JS file needed for an uncommon menu"; "fetch and decode the image for the High Scores list"; etc. Those work items are not on the critical path to painting the first frame.</p>
-<p>It seems obvious, but to reach a user-perceived startup event more quickly, the main "trick" is to just not run code that's off the critical path. Alternatively, shorten the critical path by simplifying the scene.</p>
-<p>The web platform is highly dynamic. JavaScript is a dynamically-typed language, and the web platform allows loading code, HTML, CSS, images, and other resources dynamically. These features can be used to defer work at startup that's off the critical path, by loading the unnecessary content "lazily" some time after startup.</p>
-<p>Another problem that can delay startup is idle time, caused by waiting on responses to requests like database loads. To avoid this problem, applications can "front load" the work by issuing requests as early as possible in startup. Then when the data is needed later, it's hopefully already been fetched and the application doesn't need to wait.</p>
-<p>Relatedly, it's important to separate network requests for dynamic data from static content that can be cached locally. Locally-cached resources can be loaded much more quickly than they can be fetched over high-latency and lower-bandwidth mobile networks. Network requests should never be on the critical path to early application startup. Caching resources locally is also the only way applications can be used when "offline". Firefox OS allows applications to cache resources by either being "packaged" in a compressed ZIP file or "hosted" through HTML5 appcache. How to choose between these options for a particular type of application is beyond the scope of this document, but in general application packages provide optimal load performance; appcache is slower.</p>
-<p>A few other hints are listed below:</p>
-<ul>
- <li>
- <p>Don't include scripts or stylesheets that don't participate in the critical path in your startup HTML file. Load them when needed.</p>
- </li>
- <li>
- <p>Use the "defer" or "async" attribute on script tags needed at startup. This allows HTML parsers to process documents more efficiently.</p>
- </li>
- <li>
- <p>Don't force the web engine to construct more DOM than is needed. A "hack" to do this simply is to leave your HTML in the document, but commented out.</p>
- <pre>&lt;div id="foo"&gt;&lt;!--
- &lt;div&gt; ...
---&gt;&lt;/div&gt;</pre>
- </li>
- <li>
- <p>When that part of the document needs to be rendered, load the commented HTML.</p>
- <pre>foo.innerHTML = foo.firstChild.nodeValue;</pre>
- </li>
- <li>
- <p>Use Web Worker Threads for background processing. Only the application "main thread" can process user events and render primary UI. But a common use case is to fetch some data, process it, then update the UI. Use Worker Threads for this work and keep the main thread free for interacting with the user.</p>
- </li>
-</ul>
-<h3 id="프레임레이트">프레임레이트</h3>
-<p>The first important consideration for achieving high framerate is to select the right tool for the job. Mostly static content that's scrolled and infrequently animated is usually best implemented with HTML/CSS. Highly dynamic content like games that need tight control over rendering, and don't need theming, is often best implemented with canvas.</p>
-<p>For content drawn using canvas, it's up to the developer to hit framerate targets: they have direct control over what's drawn.</p>
-<p>For HTML/CSS content, the path to high framerate is to use the right primitives. Firefox OS is highly optimized to scroll arbitrary content; this is usually not a concern. But often trading some generality and quality for speed, such as using a static rendering instead of a CSS radial gradient, can push scrolling framerate over a target. CSS media queries allow these compromises to be restricted only to devices that need them.</p>
-<p>Many applications use transitions or animations through "pages", or "panels". For example, the user taps a "Settings" button to transition into an application configuration screen, or a settings menu "pops up". Firefox OS is highly optimized to transition and animate scenes that</p>
-<ul>
- <li>Use pages/panels that are approximately the size of the device screen or smaller</li>
- <li>Transition/animate the CSS transform and opacity properties</li>
-</ul>
-<p>Transitions and animations that adhere to these guidelines can be offloaded to the system compositor and run maximally efficiently.</p>
-<p>To help diagnose low framerates, see the section below.</p>
-<h3 id="메모리와_전원_사용량">메모리와 전원 사용량</h3>
-<p>Improving memory and power usage is a similar problem to speeding up startup: don't do unnecessary work; use efficient data structures; lazily load uncommonly-used UI resources; ensure resources like images are optimized well.</p>
-<p>Modern CPUs can enter a lower-power mode when mostly idle. Applications that constantly fire timers or keep unnecessary animations running prevent CPUs from entering low-power mode. Power-efficient applications don't do that.</p>
-<p>When applications are sent to the background, a visibilitychange event is fired on their documents. This event is a developer's friend; applications should listen for it. As mentioned above, Firefox OS tries to keep as many applications running simultaneously as it can, but does have to discard applications sometimes. Applications that drop as many loaded resources as possible when sent to the background will use less memory and be less likely to be discarded. This in turn means they will "start up" faster (by virtue of already being running) and have better UPP.</p>
-<p>Similarly, applications should prepare for the case when they
- <i>
- are</i>
- discarded. To improve user-perceived memory usage, that is to say, making the user feel that more of their state is being preserved, applications should save the state needed to return the current view if discarded. If the user is editing an entry, for example, the state of the edit should be saved when entering the background.</p>
-<h2 id="성능을_측정하고_문제를_분석하기">성능을 측정하고 문제를 분석하기</h2>
-<p>성능을 측정하고 문제를 분석하기 전에, 이걸 기억하세요:</p>
-<div class="geckoVersionNote">
- <blockquote>
-  </blockquote>
- <blockquote>
- 절대. 기기. 위에서. 테스트. 하세요.</blockquote>
- <blockquote>
-  </blockquote>
-</div>
-<p>A great strength of the web platform is that the same code written for "desktop" web browsers runs on Firefox OS on mobile devices. Developers should use this to improve productivity: develop on "desktops", in comfortable and productive environments, as much as possible.</p>
-<p>But when it comes time to test performance, mobile devices must be used. Modern desktops can be more than 100x more powerful than mobile hardware. The lower-end the mobile hardware tested on, the better.</p>
-<p>With that caveat, the sections below describe tools and processes for measuring and diagnosing performance issues.</p>
-<h3 id="성능을_측정하기">성능을 측정하기</h3>
-<p>Firefox OS comes built-in with some convenient and easy-to-use tools that, when used properly, can be used to quickly measure performance. The first tool is the "framerate monitor". This can be enabled in the Firefox OS Settings application.</p>
-<p>The framerate monitor continuously reports two numbers. The values reported are an average of recent results within a sliding window, meant to be "instantaneous" but fairly accurate. As such, both numbers are "guesses". The left number is the "composition rate": 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.</p>
-<p><img alt="Screenshot of fps counter" src="http://people.mozilla.com/~cjones/mdn/enable-fps-counter.png" style="width: 320px; height: 480px;"></p>
-<p>The rightmost number is the "layer transaction rate", 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.</p>
-<p>Firefox OS also has a tool that can help measure startup time, specifically the "first paint" time described above. This "time-to-load" tool can be enabled using the Settings application. The value shown by the tool is the elapsed time between when the most recent application was launched, and an estimate of the first time that application painted its UI. 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><img alt="Screenshot of enabling ttl" src="http://people.mozilla.com/~cjones/mdn/enable-ttl.png" style="width: 320px; height: 480px;"></p>
-<p>For accurately measuring both startup times and responsiveness, a high-speed camera is indispensable. "High-speed" means that the camera can record 120 frames per second or above. The higher the capture rate, the more accurate the measurements that can be made. This may sound like exotic technology, but consumer models can be purchased for a few hundred US dollars.</p>
-<p><a href="http://people.mozilla.com/~cjones/mdn/hs-example.webm" title="http://people.mozilla.com/~cjones/mdn/hs-example.webm">Link to example video of high-speed capture that I can't upload</a></p>
-<p>The measuring process with these cameras is simple: record the action to be studied, and then play back the capture and count the number of frames that elapse between the input (say, a tap gesture) and the desired output (pixels changing in some way). Divide the number of counted frames by the capture rate, and the resulting number is the measured duration.</p>
-<p>Mozilla built an automated tool called Eideticker which operates on the same principle as described above. The difference is that Eideticker uses synthetic user input events and HDMI capture to measure durations. The code is available and can be used with any device with an HDMI output.</p>
-<p>Measuring power can be more difficult. It's possible to jury-rig measurement apparatus with a soldering iron, but a good approximation of power usage can be gathered by observing CPU load. Simple command-line tools like |top| allow monitoring CPU usage continuously.</p>
-<p>In general, when measuring performance, don't be proud! "Primitive technology" like a stopwatch or logging, when used effectively, can provide eminently usable data.</p>
-<h3 id="성능_문제를_분석하기">성능 문제를 분석하기</h3>
-<p>If performance measurements show an application is below its targets, how can the underlying problem be diagnosed?</p>
-<p>The first step of any performance work is to create a reproducible workload and reproducible measurement steps. Then gather baseline measurements, before any code changes are made. It seems obvious, but this is required to determine whether code changes actually improve performance! The measurement process selected isn't too important; what's important is that the process be (i) reproducible; (ii) realistic, in that it measures what users will perceive as closely as possible; (iii) precise as possible; (iv) accurate as possible. Even stopwatch timings can fit this spec.</p>
-<p>Firefox OS includes two built-in tools for quickly diagnosing some performance issues. The first is a render mode called "paint flashing". 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><img alt="Enable paint flashing" src="http://people.mozilla.com/~cjones/mdn/enable-paint-flashing.png" style="width: 320px; height: 480px;"></p>
-<p><img alt="Paint flashing after scrolling down from previous image" src="http://people.mozilla.com/~cjones/mdn/enable-paint-flashing-scroll-down.png" style="width: 320px; height: 480px;"></p>
-<p>The second tool is called "animation logging", and can also be enabled in Settings. 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.</p>
-<p><img alt="Enable animation logging" src="http://people.mozilla.com/~cjones/mdn/enable-log-animations.png" style="width: 320px; height: 480px;"></p>
-<p><img alt="Start of animation not offloaded" src="http://people.mozilla.com/~cjones/mdn/enable-log-animations-1.png" style="width: 320px; height: 480px;"></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']
-</pre>
-<p><img alt="End of animation not offloaded" src="http://people.mozilla.com/~cjones/mdn/enable-log-animations-2.png" style="width: 320px; height: 480px;"></p>
-<div class="note">
- <p>A common pitfall is to animate left/top/right/bottom properties instead of using CSS transforms to achieve the same effect. For a variety of reasons, the semantics of transforms make them easier to offload, but left/top/right/bottom are much more difficult. Animation logging will report this.</p>
-</div>
-<p>These tools can help quickly assess a performance problem, but they often show only what developers should be "looking for": hints at deeper problems. When more information is required, the Gecko Profiler can be used. A full description of the profiler is beyond the scope of this document; see <a href="/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler" title="/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler">[here]</a>. Briefly, the profiler shows mixed JavaScript/C++ "samples" of what all Firefox OS processes are doing over a rolling time interval. Developers can use these profiles to see what their code and Gecko itself are doing. Warnings are built into the profiler UI for many common pitfalls like excessive garbage collection (caused by creating too many JS objects), and forcing "synchronous reflows". Sync reflows are bad because Gecko is optimized to do expensive work like reflows in big batches, when needed. Forced reflows throw off this "schedule", and can cause more work to be done than necessary.</p>
-<p>Similarly, advanced users may wish to use a whole-system profiler like the linux |perf| tool. This is mostly useful for platform engineers, though.</p>
-<p>As with measuring performance, don't be proud about tools used to diagnose it! A few well-placed Date.now() calls with logging can often provide a quick and accurate answer.</p>
-<p>Finally, the only way to keep improving performance is to not regress it. The only way to not regress performance is to test it, preferably with automated tests. A full discussion of that topic is beyond the scope of this document, though.</p>
-<h2 id="파리_Firefox_OS_성능_최적화_워크샵_3월_4_-_8일_2013">파리 Firefox OS 성능 &amp; 최적화 워크샵, 3월 4 - 8일, 2013</h2>
-<p>To illustrate these concepts here are some videos and slides from the Paris Workshop dedicated to performances and optimizations.</p>
-<p>파트 1: Technical basics and more (Gabriele &amp; Thomas)</p>
-<ul>
- <li>비디오: <a href="https://docs.google.com/file/d/0ByB4v6HDNT-ZdHAtam5IdWpWWkE/edit?usp=sharing" title="https://docs.google.com/file/d/0ByB4v6HDNT-ZdHAtam5IdWpWWkE/edit?usp=sharing">Technical considerations</a></li>
- <li>슬라이드: <a href="https://docs.google.com/file/d/0ByB4v6HDNT-ZNGRxS3A1X21tMjQ/edit?usp=sharing" title="https://docs.google.com/file/d/0ByB4v6HDNT-ZNGRxS3A1X21tMjQ/edit?usp=sharing">Presentation</a></li>
-</ul>
-<p>파트 2: <a href="https://docs.google.com/file/d/0ByB4v6HDNT-ZWFNkRGtyTHd5TUU/edit?usp=sharing" title="https://docs.google.com/file/d/0ByB4v6HDNT-ZWFNkRGtyTHd5TUU/edit?usp=sharing">Performances in a UX point of view</a> (Josh)</p>
-<p>파트 3: <a href="https://docs.google.com/file/d/0ByB4v6HDNT-ZdUVadVBmeDlXaW8/edit?usp=sharing" title="https://docs.google.com/file/d/0ByB4v6HDNT-ZdUVadVBmeDlXaW8/edit?usp=sharing">Performances measurement &amp; automation</a> (Julien &amp; Anthony)</p>
diff --git a/files/ko/archive/b2g_os/앱_관리자_사용하기/index.html b/files/ko/archive/b2g_os/앱_관리자_사용하기/index.html
deleted file mode 100644
index 392a32866e..0000000000
--- a/files/ko/archive/b2g_os/앱_관리자_사용하기/index.html
+++ /dev/null
@@ -1,247 +0,0 @@
----
-title: 앱 관리자 사용하기
-slug: Archive/B2G_OS/앱_관리자_사용하기
-translation_of: Archive/B2G_OS/Using_the_App_Manager
----
-<div class="summary">
-<p>앱 관리자는 Firefox 데스크톱에서 제공하는 새로운 도구로, Firefox OS phone과 Firefox OS 시뮬레이터에서 HTML5 웹앱을 테스트, 배치, 디버그할 수 있도록 돕는 여러 도구들을 브라우저에서 직접 제공합니다.</p>
-</div>
-
-<p style="text-align: center;"></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/z1Bxg1UJVf0?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<p>앱 관리자는 다음과 같이 구성되어 있습니다:</p>
-
-<ul>
- <li><em><a href="#Apps_panel">앱 패널</a></em>:<em> </em>로컬 앱(소스코드가 자신의 컴퓨터에 위치)과 외부에서 호스팅되는 앱을 관리합니다. 이들을 패키징하고 장치나 시뮬레이터에 설치할 수 있으며 툴박스를 사용해 디버그도 할 수 있습니다.</li>
- <li><em><a href="#Device_panel">장치 패널</a></em>: 연결된 장치의 Firefox OS버전, 장치 API 사용에 필요한 퍼미션, 설치된 앱들에 대한 정보를 표시합니다.</li>
- <li><em><a href="/en-US/docs/Tools_Toolbox">툴박스</a>: </em> 앱 패널을 통해 실행중인 앱에 연결하고 디버깅 동작을 수행할 수 있는 개발도구(웹 콘솔, 인스펙터, 디버거 등)들의 세트입니다.</li>
-</ul>
-
-<h2 id="빠른_설정"><a name="Configuring_device">빠른 설정:</a></h2>
-
-<p>이 섹션에서는 가능한한 빠르게 준비하는 법을 다룹니다. 보다 자세한 내용은 <a href="#device_and_system_config">장치 및 시스템 설정</a> 섹션으로 넘어가십시오. 그리고 문제가 있을 경우 <a href="#Troubleshooting">Troubleshooting</a> 섹션을 읽어보세요.</p>
-
-<ol>
- <li>Firefox 데스크톱 26 이상을 설치했는지 확인하세요.</li>
- <li>앱 관리자를 엽니다. (URL바에 <code>about:app-manager</code>을 입력합니다)</li>
- <li>실제 장치가 없는 경우:
- <ol>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/">Firefox OS 시뮬레이터를 설치합니다.</a></li>
- <li>앱 관리자의 아래쪽 툴바에서 <em>시뮬레이터 시작</em>을 클릭하고 뒤이어 표시되는 설치된 시뮬레이터의 이름을 클릭합니다.</li>
- </ol>
- </li>
- <li>실제 장치가 있는 경우:
- <ol>
- <li>장치가 Firefox OS 1.2 이상을 구동중인지 확인하세요.</li>
- <li>Windows의 경우, 폰 제조사에서 제공하는 드라이버의 설치를 확인하세요. </li>
- <li>장치의 설정에서 화면 잠금을 비활성화하고 (<code>Settings &gt; <code>Screen Lock</code></code>) 원격 디버깅을 활성화합니다(<code>Settings &gt; Device information &gt; More information &gt; Developer</code>).</li>
- <li>Firefox Desktop에 <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/">ADB Helper</a> 추가기능을 설치합니다.</li>
- <li>USB케이블로 장치와 컴퓨터를 연결하세요.</li>
- <li>앱 관리자 하단에 장치의 이름이 나타나면 클릭합니다.</li>
- </ol>
- </li>
- <li>하단 바에 "xxx에 연결됨"이 표시됩니다.</li>
- <li>앱 패널을 클릭해 앱을 추가합니다(패키지 또는 hosted).</li>
- <li>The <em>Refresh</em> button validates your app and installs it on the Simulator/Device</li>
- <li>The <em>Debug</em> button connects the developer tools to the running app</li>
- <li><strong>문제가 발생한다면 <a href="#Troubleshooting">Troubleshooting</a>섹션을 참조하세요.</strong></li>
-</ol>
-
-<h2 id="장치_및_시스템_설정"><a name="device_and_system_config"></a>장치 및 시스템 설정</h2>
-
-<p>앱 관리자를 사용할 때 가장 처음 해야할 일은 여러분의 시스템과 폰이 제대로 설정되었는지 확인하는 것입니다. 이 섹션에서 필요한 단계들을 알아보겠습니다.</p>
-
-<h3 id="Firefox_1.2_이상_필요">Firefox 1.2 이상 필요</h3>
-
-<p>장치가 Firefox OS 1.2/Boot2Gecko 1.2 또는 그 이상을 구동중인지 확인하세요. 장치의 Firefox OS 버전을 확인하려면 <code>Settings &gt; Device Information &gt; Software로 이동하십시오.</code></p>
-
-<p>If you don't have a high enough version installed, depending on what phone you have you will need to either install an available nightly build of Firefox 1.2+, or configure and build it yourself from source.</p>
-
-<p>Builds available:</p>
-
-<p><a href="http://downloads.geeksphone.com/">Geeksphone Keon/Peak builds</a> (to find out more about using these, read <a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Updating and Tweaking your Firefox OS Developer Preview phone/Geeksphone</a>)</p>
-
-<p>More to follow</p>
-
-<p>To build your own Firefox OS 1.2+ distribution, follow the instructions located at <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">Building and installing Firefox OS</a>, starting with <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">Firefox OS build prerequisites</a>.</p>
-
-<h3 id="원격_디버깅(Remote_debugging)">원격 디버깅(Remote debugging)</h3>
-
-<p>Next, you need to enable remote debugging in Firefox OS. To do so, go to <code>Settings &gt; Device information &gt; More information &gt; Developer</code> and check the Remote Debugging checkbox.</p>
-
-<h3 id="Adb_Helper_Add-on" name="Adb_Helper_Add-on">ADB or ADB helper</h3>
-
-<p>The process uses the Android Debug Bridge (ADB) to handle the device-computer connection and communication. There are two options for running ADB:</p>
-
-<p>Let Firefox handle ADB (recommended). <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/">Install the ADB Helper add-on</a>, which makes the process easier. With this installed, there's no need to install the ADB, and no need to type the <code>adb forward</code> command: everything is handled by the add-on.</p>
-
-<p><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/" style="margin-bottom: 20px; padding: 10px; text-align: center; border-radius: 4px; display: inline-block; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;" title="https://addons.mozilla.org">ADB Helper 확장기능 다운로드</a></p>
-
-<p>Use ADB manually. You need to have it installed on your computer - download and install <code>adb</code> (see the <a href="http://developer.android.com/sdk/index.html">Get the Android SDK</a>) as part of the Android SDK package. You'll need to enable port forwarding by entering the following command into your terminal:Note that you'll need to do this every time the phone is restarted or unplugged then re-plugged.</p>
-
-<div class="note">
-<p>Note: ADB Helper 확장기능을 설치했다면 이 명령을 실행할 필요가 없습니다.</p>
-</div>
-
-<h2 id="Connecting_your_device_to_the_App_Manager">Connecting your device to the App Manager</h2>
-
-<p>With all your configuration done, it's now time to plug your device into your computer and start the App Manager:</p>
-
-<ol>
- <li>Plug the device into your computer via USB.</li>
- <li>Disable Screen lock on your device by going to <code>Settings &gt; Screen Lock</code> and unchecking the <code>Lock Screen</code> checkbox. This is a good idea because when the screen gets locked, the phone connection gets lost, meaning it is no longer available for debugging.</li>
- <li>Start the App Manager — In Firefox Desktop select the <code>Tools &gt; Web Developer &gt; App Manager</code> menu option, or type <code>about:app-manager</code> in the URL bar.</li>
- <li>At the bottom of the App Manager tab, you will see a connection status bar (see screenshot below). You should be able to connect your device by clicking the "Connect to localhost:6000" button.</li>
- <li>If this works successfully, a prompt should appear on your device: "An incoming request to permit remote debugging connection was detected. Allow connection?". Tap the OK button (You may also have to press the power button on the phone so you can see the prompt.) The connection status bar should update to say "Connected to B2G", with a Disconnect button available to press if you want to cancel the connection.</li>
-</ol>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6263/connection-status.png" style="width: 600px; height: 30px; display: block; margin: 0px auto;"></p>
-
-<div class="note">
-<p>Note that the other controls in the connection status bar allow you to connect a simulator to the App Manager, which we cover in the next section, below, and change the port that the connection happens on. If you change the port, you'll also need to enable port forwarding for this port as well, as instructed in the <a href="#Enable_port_forwarding">Enable port forwarding</a> section, above.</p>
-</div>
-
-<h2 id="Firefox_OS_시뮬레이터_추가기능_사용하기"><a name="Simulator">Firefox OS 시뮬레이터 추가기능 사용하기</a></h2>
-
-<p>If you haven't got a real device available to use with App Manager, you can still try it out using a <a href="/en-US/docs/Tools/Firefox_OS_Simulator">Firefox OS Simulator</a> Add-on. To start off, install the appropriate simulator for your operating system:</p>
-
-<p><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/" style="margin-bottom: 20px; padding: 10px; text-align: center; border-radius: 4px; display: inline-block; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;">시뮬레이터 설치하기</a></p>
-
-<div class="note">
-<p>앞으로 더 많은 것들이 등장하겠지만, 지금은 Firefox OS 1.2 시뮬레이터만 이용할 수 있습니다.</p>
-</div>
-
-<p>Once you've installed the simulator, you need to go to the connection status bar at the bottom of the App Manager tab, and click the "Start simulator" button. Three buttons will appear:</p>
-
-<ul>
- <li>"Firefox OS 1.2" ... etc (or something similar): the leftmost button contains the name of the simulator version you have installed. Click it to start the connection to the simulator.</li>
- <li>"Add": the middle button navigates to the simulator install links in this article, so you can add more Simulators (Firefox OS 1.2, Firefox OS 1.3, ...).</li>
- <li>"Cancel": the right hand button cancels the connection.</li>
-</ul>
-
-<h2 id="앱_패널"><a name="Apps_panel">앱 패널</a></h2>
-
-<p>Now everything is working, let's review the functionality available inside the App Manager, starting with the Apps panel. From here, you can import an existing app to push onto your device and debug:</p>
-
-<ul>
- <li>To install a local app, click on the plus next to the "Add Packaged App" label and use the resulting file chooser dialog to select the directory your app is contained inside.</li>
- <li>To install an externally hosted app, enter the absolute URL of the app's manifest file into the text field inside the "Add Hosted App" box, then press the plus button.</li>
-</ul>
-
-<p>Information about your app should appear on the right hand side of the window, as seen below:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6261/apps-panel.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<h3 id="Manifest_편집기">Manifest 편집기</h3>
-
-<p>From Firefox 28 onwards, the Apps Panel includes an editor for the app manifest:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6613/apps-panel-fx-28.png" style="width: 600px; display: block; margin: 0px auto;"></p>
-
-<h3 id="Debugging">Debugging</h3>
-
-<p>Clicking on <em>"Update"</em> will update (install) the app on the device. Clicking on <em>"debug"</em> will connect a toolbox to the app, allowing you to debug its code directly:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6265/debug.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<div class="note">
-<p>Note: You'll enjoy playing around with the toolbox — try altering the DOM, CSS etc. and you'll see the updates reflected on the device in realtime. Such updates will be saved on the installed app code; you'll see them next time you open the app on the device.</p>
-</div>
-
-<p>Before Firefox 28, the tools are launched in a separate window. From Firefox 28 onwards, the tools are launched in a separate tab in the App Manager itself, alongside the Apps and Device tabs. The tab is given your app's icon so it's easy to find:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6615/toolbox-fx-28.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<h3 id="Errors">Errors</h3>
-
-<p>If an app was not added successfully — for example if the URL was incorrect, or you selected a packaged app folder — an entry will be added to the page for this app, but this will include error information.</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6259/apps-error.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<p>You can also delete an app from this view, by hovering over the App name/description on the left of the window, and pressing the "X" button that appears in each case. This however doesn't remove the app from the device. To do that you need to manually remove the app using the device itself.</p>
-
-<h2 id="Device_panel_2"><a name="Device_panel">Device panel</a></h2>
-
-<p>The <em>Device</em> tab displays information about the connected device. From the <em>"</em>Installed Apps<em>"</em> window, apps on the device can be started and debugged.</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6267/device-tab.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<div class="note">
-<p>Note: Certified Apps are not listed by default. <a href="#Debugging_Certified_Apps">See how to debug certified apps</a>.</p>
-</div>
-
-<p><a name="permissions"></a>The "Permissions" window shows the required priviledges for different <a href="/en-US/docs/WebAPI">Web APIs</a> on the current device:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6269/permissions.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<p>Finally, you can take a screenshot of the current device display by clicking the "Screenshot" button. The screenshot appears in a new tab on Firefox, and from there you can save or discard it as you wish.</p>
-
-<h2 id="Debugging_Certified_Apps_2"><a name="Debugging_Certified_Apps">Debugging Certified Apps</a></h2>
-
-<p>Currently only devices running a development build of Firefox OS 1.2 are capable of debugging certified apps. If you have a development build, you can enable certified app debugging by changing the pref <code>devtools.debugger.forbid-certified-apps</code> to <code>false</code> in your profile. To do this, follow the steps below:</p>
-
-<ol>
- <li>
- <p>On your computer, enter the following command in Terminal/console to enter your device's filesystem via the shell:</p>
-
- <pre class="brush: bash">adb shell</pre>
-
- <p>Your prompt should change to <code>root@android</code>.</p>
- </li>
- <li>
- <p>Next, stop B2G running using the following command:</p>
-
- <pre class="brush: bash">stop b2g</pre>
- </li>
- <li>
- <p>Navigate to the following directory:</p>
-
- <pre>cd /data/b2g/mozilla/*.default/</pre>
- </li>
- <li>
- <p>Here, update the prefs.js file with the following line:</p>
-
- <pre class="brush: js">echo 'user_pref("devtools.debugger.forbid-certified-apps", false);' &gt;&gt; prefs.js</pre>
- </li>
- <li>
- <p>After you've finished editing and saving the file, start B2G again using the following command:</p>
-
- <pre class="brush: bash">start b2g</pre>
- </li>
- <li>
- <p>Exit the android filesystem using the <code>exit</code> command; this will return you to your normal terminal prompt.</p>
- </li>
- <li>
- <p>Next, reconnect to the App Manager and you should see certified apps appear for debugging.</p>
- </li>
-</ol>
-
-<div class="note">
-<p>Note: If you want to add this preference to your Gaia build you can run <code>make DEVICE_DEBUG=1 reset-gaia</code>.</p>
-</div>
-
-<h2 id="Troubleshooting_2"><a name="Troubleshooting">Troubleshooting</a></h2>
-
-<p id="My_device_is_not_recognized">장치가 인식되지 않을 경우:</p>
-
-<ul>
- <li>Read the <a href="#Configuring_device">Device and system configuration</a> section thoroughly, and make sure all the steps are followed:</li>
- <li>장치가 최소 Firefox OS 1.2를 구동중인가요?</li>
- <li>Don't see all the apps? Do you need to enable <a href="#Debugging_Certified_Apps">Certified Apps debugging</a>?</li>
- <li>폰의 settings에서 "원격 디버깅"을 활성화했습니까?</li>
- <li><a href="#Adb_Helper_Add-on">ADB Helper 확장기능</a>을 사용중이라면:
- <ul>
- <li><code>adb forward</code> 명령을 성공적으로 실행했습니까?</li>
- </ul>
- </li>
- <li>If you are using the <a href="#Adb_Helper_Add-on">ADB Helper add-on</a> and your device is not listed in the bottom toolbar:
- <ul>
- <li>If you use Linux, <a href="http://developer.android.com/tools/device.html#setting-up">make sure to setup udev correctly</a></li>
- <li>If you use Windows, <a href="http://developer.android.com/tools/device.html#setting-up">make sure to install the appropriate drivers</a></li>
- </ul>
- </li>
- <li>Linux상의 장치이름 대신 "???????"가 보이나요? 퍼미션에 문제가 있습니다.  <a href="http://developer.android.com/tools/device.html#setting-up">udev 설정을 확인해 보십시오</a>.</li>
- <li>폰의 화면잠금이 해제되었습니까?</li>
-</ul>
-
-<p>Can't connect your device to the App Manager or start the simulator? <a href="https://wiki.mozilla.org/DevTools/GetInvolved#Communication">Let us know</a> or <a href="https://bugzilla.mozilla.org/enter_bug.cgi?alias=&amp;assigned_to=nobody%40mozilla.org&amp;attach_text=&amp;blocked=&amp;bug_file_loc=http%3A%2F%2F&amp;bug_ignored=0&amp;bug_severity=normal&amp;bug_status=NEW&amp;cf_blocking_b2g=---&amp;cf_crash_signature=&amp;cf_status_b2g18=---&amp;cf_status_b2g_1_1_hd=---&amp;cf_status_b2g_1_2=---&amp;cf_status_firefox24=---&amp;cf_status_firefox25=---&amp;cf_status_firefox26=---&amp;cf_status_firefox27=---&amp;cf_status_firefox_esr17=---&amp;cf_status_firefox_esr24=---&amp;cf_tracking_b2g18=---&amp;cf_tracking_firefox24=---&amp;cf_tracking_firefox25=---&amp;cf_tracking_firefox26=---&amp;cf_tracking_firefox27=---&amp;cf_tracking_firefox_esr17=---&amp;cf_tracking_firefox_esr24=---&amp;cf_tracking_firefox_relnote=---&amp;cf_tracking_relnote_b2g=---&amp;comment=&amp;component=Developer%20Tools%3A%20App%20Manager&amp;contenttypeentry=&amp;contenttypemethod=autodetect&amp;contenttypeselection=text%2Fplain&amp;data=&amp;defined_groups=1&amp;dependson=&amp;description=&amp;flag_type-203=X&amp;flag_type-37=X&amp;flag_type-41=X&amp;flag_type-5=X&amp;flag_type-607=X&amp;flag_type-720=X&amp;flag_type-721=X&amp;flag_type-737=X&amp;flag_type-748=X&amp;flag_type-781=X&amp;flag_type-787=X&amp;flag_type-791=X&amp;flag_type-799=X&amp;flag_type-800=X&amp;flag_type-802=X&amp;flag_type-803=X&amp;flag_type-809=X&amp;flag_type-825=X&amp;form_name=enter_bug&amp;keywords=&amp;maketemplate=Remember%20values%20as%20bookmarkable%20template&amp;op_sys=All&amp;priority=--&amp;product=Firefox&amp;qa_contact=developer.tools%40firefox.bugs&amp;rep_platform=x86&amp;requestee_type-203=&amp;requestee_type-41=&amp;requestee_type-5=&amp;requestee_type-607=&amp;requestee_type-748=&amp;requestee_type-781=&amp;requestee_type-787=&amp;requestee_type-791=&amp;requestee_type-800=&amp;short_desc=&amp;status_whiteboard=&amp;target_milestone=---&amp;version=Trunk">file a bug</a>.</p>
diff --git a/files/ko/archive/css3/index.html b/files/ko/archive/css3/index.html
deleted file mode 100644
index b884c02e7c..0000000000
--- a/files/ko/archive/css3/index.html
+++ /dev/null
@@ -1,582 +0,0 @@
----
-title: CSS3
-slug: Archive/CSS3
-translation_of: Archive/CSS3
----
-<p><span class="seoSummary"><strong>CSS3는 </strong><em>Cascading Style Sheets(CSS)</em> 언어의 가장 최신 버전이고 CSS2.1을 상속하는 것을 목표로  합니다.  CSS3는 개발자들이 오랫동안 기다려온 새로운 기능들을 지원하게 되었습니다. 다중열(</span><a href="/en-US/docs/Web/Guide/CSS/Using_multi-column_layouts" style="line-height: 1.5;" title="Using CSS multi-column layouts">multi-columns</a>)<span style="line-height: 1.5;">, 유동적인 상자(flexible box), 격자 배치(grid layouts) 뿐만 아니라 둥그런 모서리(</span><span class="seoSummary" style="line-height: 1.5;">rounded corners), 그림자( shadows) , 부드러운 색의 변이(<a href="/en-US/docs/Web/Guide/CSS/Using_CSS_gradients" title="Using CSS gradients">gradients</a>) , 변이(<a href="/en-US/docs/Web/Guide/CSS/Using_CSS_transitions" title="CSS transitions">transitions</a>), 움직임(<a href="/en-US/docs/Web/Guide/CSS/Using_CSS_animations" title="CSS animations">animations</a>) 등도 지원합니다.</span><span style="line-height: 1.5;"> 실험적인 부분(experimental parts)은 브라우저 공급자(vender)의 구현에 따라 다를 수 있고 미래에 문법이나 의미가 변할 수 있습니다. 따라서 환경에 따라 해당 스펙을 사용하는 것을 피하거나, 사용하더라도 매우 신중히 사용해야합니다.  </span></p>
-
-<h2 id="모듈과_표준화_과정(Modules_and_the_standardization_process)">모듈과 표준화 과정<span style="font-size: 2.14285714285714rem;">(Modules and the standardization process)</span></h2>
-
-<p>2002년 8월부터 2011년 6월까지 CSS Level2가 권장(Recommendation)단계에 이르기 까지 총 9년이 걸렸습니다. 이는 몇몇 부차적인 기능들이 전체 명세(specification)의 진행을 더디게 만들었기 때문입니다. W3C의 <a class="external" href="http://www.w3.org/blog/CSS/" style="line-height: 1.5;" title="http://www.w3.org/blog/CSS/">CSS Working Group</a>은 문제를 일으키는 몇몇 기능을 제외한 나머지 기능들의 표준화 작업을 보다 빠르게 진행하기 위하여 <a class="external" href="http://fantasai.inkedblade.net/weblog/2011/inside-csswg/modules" style="line-height: 1.5;" title="http://fantasai.inkedblade.net/weblog/2011/inside-csswg/modules">Beijing doctrine</a>에 따라 <span style="line-height: 1.5;">CSS를 보다 작은 컴포넌트 단위로 나눴고, 이를 모듈(module)이라 부릅니다. 현재 각각의 모듈은 서로 </span><span style="line-height: 1.5;">독립적으로 표준화 과정을 거치고 있습니다. 이미 몇몇 모듈은 W3C Rocommendations 에 이르렀으나, 나머지는 여진히 Working Drafts 단계에 머물러 있습니다. 또한 새로운 요구사항(needs)이 발생할 때 마다 계속해서 새로운 모듈이 추가되고 있습니다.</span></p>
-
-<p><a href="/@api/deki/files/6120/=CSS_Modules_and_Snapshots.png" title="CSS_Modules_and_Snapshots.png"><img alt="CSS Modules and Snapshots as defined since CSS3" class="internal lwrap" src="/files/3623/CSS_Modules_and_Snapshots.png" style="float: left; width: 550px;"> </a>공식적으로 CSS3 자체 표준은 존재하지 않습니다. 각각의 모듈이 독립적으로 표준화 되고 있고, 표준 CSS는 모듈을 통해 CSS2.1을 수정하여 상속(extends)하는 것으로 구성되어있서 항상 같은 level number를 갖는 것은 아닙니다. 특정 시점의 CSS2.1과 완성된 모듈들로 구성된 CSS표준 스냅샷을 정의할 수 있습니다. W3C는 주기적으로 이런 스냅샷을 발표하고 있습니다. (<a class="external" href="http://www.w3.org/TR/css-beijing/" style="line-height: 1.5;" title="http://www.w3.org/TR/css-beijing/">2007</a><span style="line-height: 1.5;"> / </span><a class="external" href="http://www.w3.org/TR/css-2010/" style="line-height: 1.5;" title="http://www.w3.org/TR/css-2010/">2010</a>)</p>
-
-<p>아직까지 lever 3보다 높은 level을 가진 모듈은 없지만 곧 생길 것입니다. Selector 4나 CSSborder 4, Background 4와 같은 몇몇 모듈은 Working Draft가 공개된적은 없지만 이미 Editor's Draft는 작성되어 있습니다.</p>
-
-<h2 id="sect1" style=""> </h2>
-
-<h2 id="CSS_모듈의_상태(CSS_modules_status)" style="">CSS 모듈의 상태(CSS modules status)</h2>
-
-<h3 id="안정적인_모듈(Stable_modules)">안정적인 모듈(Stable modules)</h3>
-
-<p>몇개의 모듈은 이미 상당히 안정적이고, CSSWG의 recommendation 3단계(Candidate Recommendation, Propesed Recommendation, Recommendation) 중 하나에 도달했습니다. 이 모듈들은 별도의 과정없이도 꽤 안정적으로 사용할 수 있습다. 하지만 몇몇 기능은 여전히 Candidate Recommendation 단계에 머물러 있습니다.</p>
-
-<p>모듈들은 명세(spec)의 핵심이 되는 CSS2.1을 수정, 상속하고 있습니다. 이것을 포함한 모듈들이 CSS3 명세의 스냅샷이 됩니다.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td class="thirdColumn greenBg"><strong>{{ SpecName("CSS3 Colors", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Colors") }} since June 7th, 2011</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>{{ cssxref("opacity") }} 프로퍼티(property)와 {{cssxref("&lt;color&gt;")}} 밸류를 생성하기 위한 the <code>hsl</code><code>()</code>, <code>hsla()</code>, <code>rgba(),</code> <code>rgb()</code> 함수를 추가합니다. 또한 the <code>currentColor</code> keyword로 유효한 색상을 얻을 수 있습니다.</p>
-
- <p><code style="font-style: normal; line-height: 1.5;">alpha channel의 지원으로 </code><span style="font-family: courier new,andale mono,monospace; line-height: 1.5;">rgba(0,0,0,0.0)의 별칭인 </span><code style="font-style: normal; line-height: 1.5;">transparent를 사용할 수 있습니다.</code></p>
-
- <p> 더이상 사용해선 안되는 <a href="http://www.w3.org/TR/CSS2/ui.html#system-colors">system-color </a>키워드를 deprecates 합니다.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Selectors", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Selectors") }} since September 29th, 2011</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>다음이 추가되었습니다.</p>
-
- <ul>
- <li>attribute와 일치하는 부분문자열 selector : <code>E[attribute^="value"]</code> , <code>E[attribute$="value"]</code> , <code>E[attribute*="value"]</code> .</li>
- <li>새로운 pseudo-class : {{ cssxref(":target") }}, {{ cssxref(":enabled") }} and {{ cssxref(":disabled") }}, {{ cssxref(":checked") }}, {{ cssxref(":indeterminate") }}, {{ cssxref(":root") }}, {{ cssxref(":nth-child") }} and {{ cssxref(":nth-last-child") }}, {{ cssxref(":nth-of-type") }} and {{ cssxref(":nth-last-of-type") }}, {{ cssxref(":last-child") }}, {{ cssxref(":first-of-type") }} and {{ cssxref(":last-of-type") }}, {{ cssxref(":only-child") }} and {{ cssxref(":only-of-type") }},{{ cssxref(":empty") }}, and {{ cssxref(":not") }}.</li>
- <li>Pseudo-elements는 콜론을 하나가 아니라 둘을 사용하도록 함 : <code>:after</code> 가  {{ cssxref("::after") }}로, <code>:before</code> 가 {{ cssxref("::before") }}로, <code>:first-letter</code> 가 {{ cssxref("::first-letter") }}로, <code>:first-line</code> 가 {{ cssxref("::first-line") }}로 바뀌었음.</li>
- <li>새로운 <em>general sibling combinator</em> ( <code>h1~pre</code> ).</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>아직 Working Draft로 공개되진 않았지만, <a class="external" href="http://dev.w3.org/csswg/selectors4/" title="http://dev.w3.org/csswg/selectors4/">셀렉터 명세의 다음 버전</a>이 이미 진행중입니다.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Namespaces", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Namespaces") }} since September 29th, 2011</td>
- </tr>
- <tr>
- <td colspan="2">
- <p><em>CSS qualified name</em><span style="line-height: 1.5;">의 개념을 정의하여 </span><span style="line-height: 1.5;">XML Namespaces에 대한 지원이 추가됩니다. </span><span style="line-height: 1.5;"> 이를 위해 ' </span><code style="font-style: normal; line-height: 1.5;">|</code><span style="line-height: 1.5;"> ' 문법을 사용하고 </span><span style="line-height: 1.5;">{{ cssxref("@namespace") }} CSS at-rule을 더합니다.</span></p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Media Queries", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Media Queries") }} since June 19th, 2012</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>이전의 media type ( <code>print</code>, <code>screen</code>, <code>…</code> )을 <span style="font-family: courier new,andale mono,monospace; line-height: 1.5;">only screen and (color)와 같이 </span><a href="/en/CSS/Media_queries" style="line-height: 1.5;" title="en/CSS/Media_queries">디바이스의 media capabilities에 대한 질의</a><span style="line-height: 1.5;">가 가능한 full language로 확장합니다.</span></p>
-
- <p>미디어 쿼리는 CSS 문서에서만 사용되는 것이 아니라 {{ HTMLElement("link") }}의 {{ htmlattrxref("media","link") }}어트리뷰트와 같이 일부 HTML 엘리먼트에서도 사용할 수 있습니다. .</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p><code style="font-style: normal; line-height: 1.5;"><code style="font-style: normal; line-height: 1.5;">사</code><span style="font-family: open sans,sans-serif; line-height: 1.5;">용자 에이전트의 입력 메소드에 대해 잘 맞는 </span>웹사이트를 제작할 수 있게 해줄</code><span style="line-height: 1.5;"> </span><span style="line-height: 1.5;"> </span><a href="http://dev.w3.org/csswg/mediaqueries4" style="line-height: 1.5;" title="http://dev.w3.org/csswg/mediaqueries4">이 명세의 다음 버전이</a><span style="line-height: 1.5;"> 진행중입니다.</span><span style="line-height: 1.5;"> </span><code style="font-style: normal; line-height: 1.5;">hover나</code><span style="line-height: 1.5;"> </span><code style="font-style: normal; line-height: 1.5;">pointerd와 같은 새로운 미디어 기능을 포함하고 있습니다. </code><code style="font-style: normal; line-height: 1.5;">script</code><span style="line-height: 1.5;"> media features를 이용해 EcmaScript에서도 감지할 수 있도록 제안되었습니다.</span></p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Style", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Style") }} since November 7th, 2013</td>
- </tr>
- <tr>
- <td colspan="2">HTML <a href="/en/HTML/Global_attributes#attr-style" title="en/HTML/Global_attributes#attr-style"><code>style</code> </a> 전역 특성(global attribute)의 내용(contents)에 관한 문법을 공식적으로 정의합니다.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Backgrounds", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Backgrounds") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>다음이 추가되었습니다. </p>
-
- <ul>
- <li><code>uri()</code> 를 통해 정의된 이미지 뿐 아니라 모든 종류의 {{cssxref("&lt;image&gt;")}}에 backgrounds를 지원.</li>
- <li>다중 background 이미지를 지원.</li>
- <li>{{ cssxref("background-repeat") }}의 밸류로 <code>space</code> 와 <code>round가 추가.</code></li>
- <li>The {{ cssxref("background-attachment") }} <code>local</code> value.</li>
- <li>The CSS {{ cssxref("background-origin") }}, {{ cssxref("background-size") }},  {{ cssxref("background-clip") }} 프로퍼티</li>
- <li>CSS {{ cssxref("border-radius") }}, {{ cssxref("border-top-left-radius") }}, {{ cssxref("border-top-right-radius") }}, {{ cssxref("border-bottom-left-radius") }},{{ cssxref("border-bottom-right-radius") }} 프로퍼티를 통해 곡선 형태의 테투리를 지원.</li>
- <li> CSS {{ cssxref("border-image") }}, {{ cssxref("border-image-source") }}, {{ cssxref("border-image-slice") }}, {{ cssxref("border-image-width") }}, {{ cssxref("border-image-outset") }}, and {{ cssxref("border-image-repeat") }} 프로퍼티를 이용해 {{cssxref("&lt;image&gt;")}}를 테두리로 사용할 수 있음.</li>
- <li> CSS {{ cssxref("box-shadow") }} 프로퍼티를 이용해 엘리먼트에 그림자 효과 부여 가능.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p> 아직 Working Draft의 초안이 공개되진 않았지만 <a class="external" href="http://dev.w3.org/csswg/css4-background/" title="http://dev.w3.org/csswg/css4-background/">CSS4 Backgrounds 와 Borders 명세의 다음 버전</a>이 이미 진행중입니다. 테두리를 잘라내는 기능(CSS {{ cssxref("border-clip") }}, {{ cssxref("border-clip-top") }}, {{ cssxref("border-clip-right") }}, {{ cssxref("border-clip-bottom") }}와 {{ cssxref("border-clip-left") }} 프로퍼티를 사용)이나 테투리의 모서리 모양을 조절하는 기능 (CSS {{ cssxref("border-corner-shape") }} 프로퍼티를 사용)을 추가할 계획입니다.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Multicol", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Multicol") }}</td>
- </tr>
- <tr>
- <td colspan="2">CSS {{ cssxref("columns") }}, {{ cssxref("column-count") }}, {{ cssxref("column-fill") }}, {{ cssxref("column-gap") }}, {{ cssxref("column-rule") }}, {{ cssxref("column-rule-color") }}, {{ cssxref("column-rule-style") }}, {{ cssxref("column-rule-width") }}, {{ cssxref("column-span") }}, {{ cssxref("column-width") }}, {{ cssxref("break-after") }}, {{ cssxref("break-before") }},  {{ cssxref("break-inside") }}를 이용해 쉽게 다중 열 레이아웃을 만들 수 있습니다.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Speech", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Speech") }}</td>
- </tr>
- <tr>
- <td colspan="2"><code>청각 포맷 모델과 사용자 에이전트의 speech-rendering에 특화된 수많은 프로퍼티를 내용으로 하는 speech</code> 미디어 타입을 정의합니다. </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Images", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Images") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>{{cssxref("&lt;image&gt;")}} 데이터 타입을 정의합니다.</p>
-
- <p>미디어 프래그먼트를 이용해 이미지를 자를 수 있도록 <code style="font-style: normal; line-height: 1.5;">url()</code><span style="line-height: 1.5;"> 을 상속합니다.</span></p>
-
- <p>다음이 추가되었습니다 :</p>
-
- <ul>
- <li>{{cssxref("&lt;resolution&gt;")}} 데이터 타입에 대한 단위인 <code style="font-style: normal;">dppx</code>.</li>
- <li><code><font face="Open Sans, sans-serif">url로 부터 이미지를 정의하는 데 있어 </font></code><code>url()</code> 보다 더 유연한 <code style="font-style: normal;">image()</code> 함수.<br>
- <em><strong>주의</strong>  </em><strong><em>:</em> </strong><em>브라우저의 불충분한 지원으로  <code>image()</code> 함수의 표준화는 이 모듈의 다음 버전으로 연기될 수 있습니다.</em></li>
- <li><code>linear-gradient()</code>, <code>repeating-linear-gradient()</code>, <code>radial-gradient()<font face="Open Sans, sans-serif">, </font></code><code>repeating-radial-gradient()을 지원</code>.</li>
- <li>CSS {{ cssxref("object-fit") }} 프로퍼티를 이용해 교체된 엘리먼트가 어떻게 맞춰져야할지 정의할 수 있음.<br>
- <em><em><strong>주의</strong>  </em><strong><em>:</em> </strong><em>브라우저의 불충분한 지원으로  <em>{{ cssxref("object-fit") }}</em>의 표준화는 이 모듈의 다음 버전으로 연기될 수 있습니다.</em> </em></li>
- <li>CSS {{ cssxref("image-resolution") }} 와 {{ cssxref("image-orientation") }} 프로퍼티를 이용해 외부 이미지의 방향과 해상도를 오버라이드 할수 있음<br>
- <em><em><strong>주의</strong>  </em><strong><em>:</em> </strong><em>브라우저의 불충분한 지원으로  <em> {{ cssxref("image-resolution") }} 와 {{ cssxref("image-orientation") }}</em>의 표준화는 이 모듈의 다음 버전으로 연기될 수 있습니다.</em> </em></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>CSS Image Level 3를 대체할  <a href="#Images_(Level_4)" style="line-height: 1.5;">CSS Image Values 와 Replaced Content Level 4</a><span style="line-height: 1.5;"> 는 현재 개발중에 있고 {{Spec2("CSS4 Images")}} 입니다.</span></p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Values", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Values") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p><code>initial</code> 키워드와 <code>inherit</code> 키워드를 모든 CSS 프로퍼티에 대해 사용할 수 있습니다.</p>
-
- <p><span style="line-height: 1.5;">문법적 토큰과 원문의 정도(Precision)의해 </span><span style="line-height: 1.5;">암묵적으로 </span><span style="line-height: 1.5;">정의했던 CSS2.1의 CSS 데이터 타입을 </span><span style="line-height: 1.5;">공식적으로  </span><span style="line-height: 1.5;">정의합니다. </span></p>
-
- <p>다음이 추가되었습니다 :</p>
-
- <ul>
- <li>폰트에 상대적인 길이 단위에 대한 정의 : <code>rem</code> , <code>ch</code> .</li>
- <li>뷰포트에 상대적인 길이 단위에 대한 정의: <code>vw</code>, <code>vh</code>, <code>vmax</code>, <code>vmin</code> .</li>
- <li>절대 길이 단위의 실제 사이즈에 대한 정도(Precision). 절대 길이는 실제로는 '절대치'가 아니며 <em>reference pixel</em>에 대하여 상대적으로 정의.</li>
- <li>{{ cssxref("&lt;angle&gt;") }}, {{cssxref("&lt;time&gt;")}}, {{cssxref("&lt;frequency&gt;")}}, {{cssxref("&lt;resolution&gt;")}}에 대한 정의.</li>
- <li> {{cssxref("&lt;color&gt;")}}, {{cssxref("&lt;image&gt;")}}, {{ cssxref("&lt;position&gt;") }}의 정의에 대한 규범적인 밸류.</li>
- <li>{{ cssxref("calc", "calc()") }}, {{ cssxref("attr", "attr()")}}에 대한 정의와 <code>toggle()의</code> 표기법<br>
- <em><strong>주의 :</strong><em><em>브라우저의 불충분한 지원으로  <em> </em></em></em><code>calc()</code>, <code>attr()</code>, <code>ooggle()</code> 표기법의 표준화는 이 모듈의 다음 버전으로 연기될 수 있습니다.</em></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p> <code>&lt;ident&gt;</code> ,<code>&lt;custom-ident&gt;같은 몇몇 정의는 </code>CSS Values and Units Module Level 4로 미뤄졌습니다..</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Flexbox", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Flexbox") }}</td>
- </tr>
- <tr>
- <td colspan="2">CSS {{ cssxref("display") }} 프로퍼티에 flexbox layout과 이것을 제어할 몇몇 새 CSS 프로퍼티가 추가되었습니다 : {{ cssxref("flex") }}, {{ cssxref("flex-align") }}, {{ cssxref("flex-direction") }}, {{ cssxref("flex-flow") }}, {{ cssxref("flex-item-align") }}, {{ cssxref("flex-line-pack") }}, {{ cssxref("flex-order") }}, {{ cssxref("flex-pack") }}, and {{ cssxref("flex-wrap") }}.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Conditional", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Conditional") }}</td>
- </tr>
- <tr>
- <td colspan="2">스타일 시트의 몇몇 부분을 특정 조건하에 처리하기 위한 기능이 추가되었습니다. 스타일시트가 적용될 문서나 브라우저의 능력에 따라 작동하게 됩니다{{ cssxref("@media") }}의 하위에 들여쓰기된 앳-룰(at-rule)을 사용할 수 있고, 새로운 CSS 앳-룰인 {{ cssxref("@supports") }}와 새 DOM 메소드인 {{domxref("CSS.supports()")}}가 추가되었습니다.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Text-decoration", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Text-decoration") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Extends:</p>
-
- <ul>
- <li>the CSS {{ cssxref("text-decoration") }} property by making it a shorthand for the CSS {{ cssxref("text-decoration-line") }}, {{ cssxref("text-decoration-color") }}, and {{ cssxref("text-decoration-style") }} properties. And adds the {{ cssxref("text-decoration-skip") }}, and {{ cssxref("text-underline-position") }} properties.</li>
- </ul>
-
- <p>Adds:</p>
-
- <ul>
- <li>Support for East-Asian-script emphasis marks with the CSS {{ cssxref("text-emphasis") }}, {{ cssxref("text-emphasis-style") }}, {{ cssxref("text-emphasis-color") }}, and {{ cssxref("text-emphasis-position") }} properties.</li>
- <li>Support for script shadows with the CSS {{ cssxref("text-shadow") }} property.</li>
- </ul>
-
- <p>Precises:</p>
-
- <ul>
- <li>The paint order of the decorations.</li>
- </ul>
-
- <p><em><strong>At risk:</strong> due to insufficient browser support, standardization of the <code>text-decoration-skip</code>, line positioning rules and the ability to place both emphasis marks and ruby above the same base text may be postponed to </em> <em>the next iteration of this module</em><em>.</em></p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Fonts", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Fonts") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Amends the CSS2.1 Font matching algorithm to be closer to what is really implemented.</p>
-
- <p>Adds:</p>
-
- <ul>
- <li>Support for downloadable fonts via the CSS {{ cssxref("@font-face") }} at-rule.</li>
- <li>The control of the contextual inter-glyph spacing via the CSS {{ cssxref("font-kerning") }} property.</li>
- <li>The choice of language-specific glyphs via the CSS {{ cssxref("font-language-override") }} property.</li>
- <li>The choice of glyphs with specific OpenType features via the CSS {{ cssxref("font-feature-settings") }} property.</li>
- <li>The control of the aspect ratio to use when fallback fonts are selected via the CSS {{ cssxref("font-size-adjust") }} property.</li>
- <li>The choice of alternative font faces using the CSS {{ cssxref("font-stretch") }}, {{ cssxref("font-variant-alternates") }}, {{ cssxref("font-variant-caps") }}, {{ cssxref("font-variant-east-asian") }}, {{ cssxref("font-variant-ligatures") }}, {{ cssxref("font-variant-numeric") }}, and {{ cssxref("font-variant-position") }} properties. It also extends the related CSS {{ cssxref("font-variant") }} shorthand property and introduces the {{ cssxref("@font-features-values") }} at-rule.</li>
- <li>The control of the automatic generation of an oblique or bold face when none are found via the CSS {{ cssxref("font-synthesis") }} property.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Syntax", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Syntax") }}</td>
- </tr>
- <tr>
- <td colspan="2">Precises how charsets are determined; minor changes in parsing and tokenization algorithms.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modules_in_the_refining_phase">Modules in the refining phase</h3>
-
-<p>Specifications that are deemed to be in the <em>refining phase</em> are already fairly stable. Though changes are still expected, they shouldn't create incompatibilities with current implementations; they should mainly define behavior in edge cases.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Basic UI", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Basic UI") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Adds:</p>
-
- <ul>
- <li>The ability to tweak the box model using the CSS {{ cssxref("box-sizing") }} property.<br>
- <strong><em>At risk:</em> </strong> <em> due to insufficient browser support, standardization of the <code>padding</code><code>-box</code> value may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>Allow the styling of forms according their content using the CSS {{ cssxref(":indeterminate") }}, {{ cssxref(":default") }}, {{ cssxref(":valid") }}, {{ cssxref(":invalid") }}, {{ cssxref(":in-range") }}, {{ cssxref(":out-of-range") }}, {{ cssxref(":required") }}, {{ cssxref(":optional") }}, {{ cssxref(":read-only") }}, and {{ cssxref(":read-write") }} pseudo-classes and the {{ cssxref("::value") }}, {{ cssxref("::choices") }}, {{ cssxref("::repeat-item") }}, and {{ cssxref("::repeat-index") }} pseudo-elements.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the pseudo-elements {{ cssxref("::value") }}, {{ cssxref("::choices") }}, {{ cssxref("::repeat-item") }}, and {{ cssxref("::repeat-index") }} may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>Support for icons, defined by the CSS {{ cssxref("icon") }} property simultaneously with the new <code>icon</code> value of the CSS {{ cssxref("content") }} property.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the {{ cssxref("icon") }} property and the <code>icon</code> value may be postponed to CSS4. </em></li>
- <li>Support for the CSS {{ cssxref("outline-offset") }} property giving more control on the position of the outline.</li>
- <li>Support for the CSS {{ cssxref("resize") }} property allowing Web authors to control if and how elements should be resized.</li>
- <li>Support for the CSS {{ cssxref("text-overflow") }} property defining how text overflows, if needed.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, the 2-value syntax of this property as well as the support for {{cssxref("&lt;string&gt;")}} values may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>The ability to define the hotspot of a cursor as well as the new <code>none</code>, <code>context-menu</code>, <code>cell</code>, <code>vertical-text</code>, <code>alias</code>, <code>copy</code>, <code>no-drop</code>, <code>not-allowed</code>, <code>nesw-</code><code>resize</code>, <code>nwse-</code><code>resize</code>, <code>col-resize</code>, <code>row-resize</code>, <code>all-scroll</code>, <code>zoom-in</code>, <code>zoom-out</code>, extending the {{ cssxref("cursor") }} property.</li>
- <li>The ability to specify the sequential navigation order (that is the <em>tabbing order</em> ) using the CSS {{ cssxref("nav-index") }}, {{ cssxref("nav-up") }}, {{ cssxref("nav-right") }}, {{ cssxref("nav-left") }}, {{ cssxref("nav-down") }} properties.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the navigation properties may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>The ability to control the usage of an IME editor, using the CSS {{ cssxref("ime-mode") }} property.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the {{ cssxref("ime-mode") }} property may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>An early list of what could be in the next iteration of the CSS Basic User Interface Module is <a class="external" href="http://wiki.csswg.org/spec/css4-ui" title="http://wiki.csswg.org/spec/css4-ui">available</a>.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Transitions", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Transitions") }}</td>
- </tr>
- <tr>
- <td colspan="2">Allows the definition of transitions effects between two properties values by adding the CSS {{ cssxref("transition") }}, {{ cssxref("transition-delay") }}, {{ cssxref("transition-duration") }}, {{ cssxref("transition-property") }}, and {{ cssxref("transition-timing-function") }} properties.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Animations", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Animations") }}</td>
- </tr>
- <tr>
- <td colspan="2">Allows the definition of animations effects by adding the CSS {{ cssxref("animation") }}, {{ cssxref("animation-delay") }},{{ cssxref("animation-direction") }}, {{ cssxref("animation-duration") }}, {{ cssxref("animation-fill-mode") }}, {{ cssxref("animation-iteration-count") }}, {{ cssxref("animation-name") }}, {{ cssxref("animation-play-state") }}, and {{ cssxref("animation-timing-function") }} properties, as well as the {{ cssxref("@keyframes") }} at-rule.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Transforms", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Transforms") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Adds:</p>
-
- <ul>
- <li>the support of bi-dimensional transforms to be applied to any element using the CSS {{ cssxref("transform") }} and {{ cssxref("transform-origin") }} properties. The supported transforms are: <code>matrix</code><code>()</code>, <code>translate()</code>, <code>translateX()</code>, <code>translateY()</code>, <code>scale()</code>, <code>scaleX()</code>, <code>scaleY()</code>, <code>rotate()</code>, <code>skewX()</code>, and <code>skewY()</code>.</li>
- <li>the support of tri-dimensional transforms to be applied to any element by adding the CSS {{ cssxref("transform-style") }}, {{ cssxref("perspective") }}, {{ cssxref("perspective-origin") }}, and {{ cssxref("backface-visibility") }} properties and extended the {{ cssxref("transform") }} property with the following transforms are: <code>matrix</code> <code>3d()</code>, <code>translate3d()</code>, <code>translateZ()</code>,  <code>scale3d()</code>, <code>scaleZ()</code>, <code>rotate3d()</code>, <code>rotateX</code><code>()</code> ,<code>rotateY</code><code>()</code>, <code>rotateZ()</code>, and <code>perspective()</code>.</li>
- </ul>
-
- <p><em><strong>Note:</strong> this specification is a merge of CSS 2D-Transforms, CSS 3D-Transforms and SVG transforms. </em></p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255, 255, 220);"><strong>{{ SpecName("CSS3 Fragmentation", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Fragmentation") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines how partitions of a Web page should happen, that is page, column breaks, and widows and orphans handling.
- <p>Adds:</p>
-
- <ul>
- <li>Support for defining the behavior of decorations, that is borders and background colors or images, when a box is breaked (at a page, column or line-break) with the CSS {{ cssxref("box-decoration-break") }} property.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Text", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Text") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Extends:</p>
-
- <ul>
- <li>the CSS {{ cssxref("text-transform") }} property with the value <code>full-width</code>.</li>
- <li>the CSS {{ cssxref("text-align") }} property with the value <code>start</code>, <code>end</code>, <code>start end</code>, and <code>match-parent</code> for a better support of documents with multiple directionalities of text.</li>
- <li>the CSS {{ cssxref("text-align") }} property with a {{cssxref("&lt;string&gt;")}} value to align on that character. This is useful to align number on the decimal point.</li>
- <li>the CSS {{ cssxref("word-spacing") }} and {{ cssxref("letter-spacing") }} properties with range constraints to control flexibility in justification.</li>
- </ul>
-
- <p>Adds:</p>
-
- <ul>
- <li>Control on how whitespaces are displayed using the CSS {{ cssxref("text-space-collapse") }} and {{ cssxref("tab-size") }} properties.</li>
- <li>Control on line breaks and word boundaries using the CSS {{ cssxref("line-break") }}, {{ cssxref("word-break") }}, {{ cssxref("hyphens") }}, {{ cssxref("text-wrap") }}, {{ cssxref("overflow-wrap") }}, and {{ cssxref("text-align-last") }} properties.</li>
- <li>Control on how justification is happening, in order to support more type of scripts, using the CSS {{ cssxref("text-justify") }} property.</li>
- <li>Control on edge effect using the CSS {{ cssxref("text-indent") }} and {{ cssxref("hanging-punctuation") }} properties.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>A few features present in early CSS Text Level 3 draft have being <a class="external" href="http://dev.w3.org/csswg/css3-text/#recent-changes" title="http://dev.w3.org/csswg/css3-text/#recent-changes">postponed to the next iteration of this module</a> .</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Variables", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Variables") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines a mechanism allowing to define variables in CSS.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modules_in_the_revising_phase">Modules in the revising phase</h3>
-
-<p>Modules that are in the revising phase are much less stable than those in the refining phase. Often the syntax is still under scrutiny and may evolve a lot, in a non-compatible way. Alternative syntax are tested and often implemented.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,160,100);"><strong>{{ SpecName("CSS3 Writing Modes", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Writing Modes") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines the writing modes of both horizontal and vertical scripts and precises how the CSS {{ cssxref("direction") }} and {{ cssxref("unicode-bidi") }} properties interact with the new CSS {{ cssxref("text-orientation") }} property, and extends them where needed.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modules_in_the_exploring_phase">Modules in the exploring phase</h3>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS4 Images", "", "") }}</strong></td>
- <td>{{ Spec2("CSS4 Images") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Extends:</p>
-
- <ul>
- <li>the <code>image()</code> functional notation to describe the directionality of the image (<code>rtl</code> or <code>ltr</code>), allowing for bidi-sensitive images.</li>
- <li>the {{ cssxref("image-orientation") }} property by adding the keyword <code>from-image</code>, allowing to follow EXIF data stored into images to be considered.</li>
- </ul>
-
- <p>Adds:</p>
-
- <ul>
- <li>the <code>image-set()</code> functional notation to allow the definition to equivalent images at different resolution allowing for resolution-negotiated selection of images.</li>
- <li>the <code>element()</code> functional notation allowing the use of part of the page as image.</li>
- <li>the <code>cross-fade()</code> functional notation allowing to refer to intermediate images when transitioning between two images and defines the interpolation between two images.</li>
- <li>the <code>conic-gradient()</code> and <code>repeating-conic-gradient()</code> functional notation describing a new type of gradient.</li>
- <li>the {{cssxref("image-rendering")}} property that allow to define how resize of the object should be handled.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Device", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Device") }}</td>
- </tr>
- <tr>
- <td colspan="2">Adds a new at-rule, {{ cssxref("@viewport") }}, allowing to specify the size, zoom factor, and orientation of the viewport that is used as the base for the initial containing block.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Grid", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Grid") }}</td>
- </tr>
- <tr>
- <td colspan="2">Add a grid layout to the CSS <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display" title=""><code>display</code></a> property and several new CSS properties to control it: {{cssxref("grid")}}, {{cssxref("grid-area")}}, {{cssxref("grid-auto-columns")}}, {{cssxref("grid-auto-flow")}}, {{cssxref("grid-auto-position")}}, {{cssxref("grid-auto-rows")}}, {{cssxref("grid-column")}}, {{cssxref("grid-column-start")}}, {{cssxref("grid-column-end")}}, {{cssxref("grid-row")}}, {{cssxref("grid-row-start")}}, {{cssxref("grid-row-end")}}, {{cssxref("grid-template")}}, {{cssxref("grid-template-areas")}}, {{cssxref("grid-template-rows")}}, and {{cssxref("grid-template-columns")}}.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 GCPM", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 GCPM") }}</td>
- </tr>
- <tr>
- <td colspan="2">Adds the ability to tailor printed version of a document by allowing to control header, footer but also references tables like indexes or tables of content.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Exclusions and Shapes", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Exclusions and Shapes") }}</td>
- </tr>
- <tr>
- <td colspan="2">Extends the floats mechanism to define exclusion regions in any positioning scheme. Adds the notion of shapes, in which content must flows.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Lists", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Lists") }}</td>
- </tr>
- <tr>
- <td colspan="2">Extends the list counter mechanism so that list markers can be styled and Web developers can define new list counter schemes.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Regions", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Regions") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines a new mechanism allowing content to flow across, eventually non-contiguous, multiple areas called regions.</td>
- </tr>
- </tbody>
-</table>
-
-<p> </p>
diff --git a/files/ko/archive/index.html b/files/ko/archive/index.html
deleted file mode 100644
index b2d6f1116d..0000000000
--- a/files/ko/archive/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: 쓸모 없는 구식 문서들
-slug: Archive
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive
----
-<p>Here at MDN, we try to avoid outright deleting content that might be useful to people targeting legacy platforms, operating systems, and browsers. Perhaps your target audience is people that are using older hardware, for example, and can't upgrade to the latest and greatest browsers. Or for "reasons," your company is required to use very old software and you need to build Web content that runs on that software. Or perhaps you're just curious about the history of an obsolete feature or API, and how it worked.</p>
-
-<p>There are many reasons older documentation can be useful. So, we've established this area into which we can archive older documentation. Material in this Archived content zone should <strong>not</strong> be used for building new Web sites or apps for modern browsers. It's here for historical reference only.</p>
-
-<div class="note">
-<p><strong>Note to writers:</strong> We need to try to keep the subpages here organized instead of all dumped into one large folder. Try to create subtrees for categories of material. Also, only move pages here that are <strong>extremely</strong> obsolete. If anyone might realistically need the information in a living product, it may not be appropriate to move it here. In general, it may be best to discuss it in the <a href="https://chat.mozilla.org/#/room/#mdn:mozilla.org">MDN Web Docs chat room</a> before moving content here.</p>
-</div>
-
-<p>{{SubpagesWithSummaries}}</p>
-
-<h2 id="Subnav">Subnav</h2>
-
-<p>{{ListSubpages("/en-US/docs/Archive", 2, 0, 1)}}</p>
diff --git a/files/ko/archive/mdn/index.html b/files/ko/archive/mdn/index.html
deleted file mode 100644
index 9e550840e3..0000000000
--- a/files/ko/archive/mdn/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: MDN Archive
-slug: Archive/MDN
-tags:
- - Archive
- - MDN
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/MDN
----
-<p>{{MDNSidebar}}</p>
-
-<div class="blockIndicator obsolete">
-<p><strong>Obsolete</strong><br>
- This documentation is obsolete.</p>
-</div>
-
-<p>The documentation listed below is archived, obsolete material about MDN itself.</p>
-
-<p>{{LandingPageListSubpages}}</p>
diff --git a/files/ko/archive/meta_docs/index.html b/files/ko/archive/meta_docs/index.html
deleted file mode 100644
index dcca5c09ac..0000000000
--- a/files/ko/archive/meta_docs/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: MDN "meta-documentation" archive
-slug: Archive/Meta_docs
-tags:
- - Archive
- - MDN
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Meta_docs
----
-<p>Here you'll find archived "meta-documentation"; that is, documentation about how to write documentation on MDN. The articles here are obsolete and should no longer be referenced; we are retaining them here for reference while we migrate some content to new places, but very little of this is useful.</p>
-<p></p><div class="row topicpage-table">
- <div class="section"><dl><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Article_page_layout_guide">Article page layout guide</a></dt><dd class="landingPageList">An <strong>article</strong> is any page that explains or teaches something. These are non-reference pages which are also not landing pages. In general, if a page is primarily prose and/or sample code, it's an article.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Blog_posts_to_integrate_into_documentation">Blog posts to integrate into documentation</a></dt><dd class="landingPageList">Often, Mozilla developers and community members write blog posts. And often, those blog posts are really, really awesome. And, often, those blog posts include information that really ought to be included on MDN. Sometimes, it's the entire blog post that could be adapted into a tutorial on MDN (but please check with the author first, unless they're known to have given blanket permission!), and other times, there are just details about changes to Firefox or web technologies that we need to be sure are reflected in the right places in the docs.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Current_events">Current events</a></dt><dd class="landingPageList"></dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Custom_classes">Custom CSS classes for MDN</a></dt><dd class="landingPageList">The following are the custom CSS classes that we have defined for the Devmo wiki. If, for whatever reason, you need a custom class defined in the CSS for this wiki, feel free to contact the <a href="mailto:eshepherd@mozilla.com?subject=Idea%20for%20a%20new%20custom%20CSS%20class%20for%20MDN&amp;body=I%20was%20looking%20at%20the%20%22Custom%20CSS%20Classes%22%20page%20and%20had%20an%20idea%20for%20a%20class%20we%20need%3A" title="mailto:eshepherd@mozilla.com?subject=Idea%20for%20a%20new%20custom%20CSS%20class%20for%20MDN&amp;body=I%20was%20looking%20at%20the%20%22Custom%20CSS%20Classes%22%20page%20and%20had%20an%20idea%20for%20a%20class%20we%20need%3A">documentation team lead</a>.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/MDC_design_document">Design Document</a></dt><dd class="landingPageList"></dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/DevEdge">DevEdge</a></dt><dd class="landingPageList">This is a temporary Index of the content that has been migrated from DevEdge to this wiki. The original list and mirror are linked below.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Documentation_process">Developer documentation process</a></dt><dd class="landingPageList">In order to improve the quality of our documentation, and our ability to coordinate among the various members of the Mozilla documentation community, we have a process by which documentation is maintained. This article describes how this works and offers useful links to help you ensure that the work you do is as helpful and useful as possible to the community of Web and Mozilla developers.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Disambiguation">Disambiguation</a></dt><dd class="landingPageList"><strong>Disambiguation</strong> in the MDC wiki is the <strong>process</strong> of resolving <em>ambiguity,</em> referring to the conflicts that occur when articles about two or more different topics have the same "natural" title.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Planning">Documentation planning and tracking</a></dt><dd class="landingPageList">We are in the process of trying to use scrumbugs to track documentation from the point at which the bug is filed through prioritization, assignment to a writer, and eventual completion. This page will cover some details of how we use it.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Documentation_wishlist">Documentation Wishlist</a></dt><dd class="landingPageList">Is there a specific <strong>article or piece of documentation</strong> we're missing that you really wish we had? Add it to the <a href="/en-US/docs/Project:Documentation_Wishlist#Wishlist">list</a> below. Unless you're sure there is no documentation on the topic you're interested in, please ask in the relevant newsgroup and/or on the <a href="/en-US/docs/Project:Community">MDC mailing list</a> first. Also, please make your request easy to understand; add a link to a longer description of the request if needed.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Editing_MDN_pages">Editing MDN pages</a></dt><dd class="landingPageList">This page describes some common tasks when editing MDN pages.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Examples">Examples</a></dt><dd class="landingPageList"></dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Existing_Content_DOM_in_Mozilla">Existing Content/DOM in Mozilla</a></dt><dd class="landingPageList">&lt; <a>MDC:Existing Content</a></dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/External_redirects">External Redirects</a></dt><dd class="landingPageList">The MDC wikis have the ability to redirect to external websites. We have done this so we can have links to external pages within the wiki that will be included in the wiki <a href="en-US/docs/tag/All_Categories">category</a> pages.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Finding_the_right_place_to_document_bugs">Finding the right place to document bugs</a></dt><dd class="landingPageList">Bugzilla is big. Really really big. MDN is big too. This page helps to put two big things together. It:</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Getting_started">Getting started as a new MDN contributor</a></dt><dd class="landingPageList">The <strong>Mozilla Developer Network</strong> (MDN) is a wiki, where <strong>anyone</strong> can add and edit content. You don't need to be a programmer or an expert on the latest technology. There is a wide range of tasks that need to be done, ranging from the simple, such as proofreading and correcting typos, to the more complex, like writing API documentation.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Landing_page_layout_guide">Landing page layout guide</a></dt><dd class="landingPageList">A <strong>landing page</strong> serves as a menu, of sorts, for all of its subpages. It opens with a brief summary of the topic, then presents a structured list of links to subpages, and, optionally, additional material that may be of use.</dd></dl></dl></div>
- <div class="section"><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/MDN_content_on_WebPlatform.org">MDN content on WebPlatform.org</a></dt><dd class="landingPageList"><a href="http://www.webplatform.org/" title="http://www.webplatform.org/">Web Platform Docs</a> (WPD) is a site for documentation and education about Web standards, run by <a href="http://www.w3.org/" title="http://www.w3.org/">W3C</a> and supported by Mozilla, among others. Anyone is welcome to contribute content from MDN to WebPlatform.org, under the terms of MDN's <a href="http://creativecommons.org/licenses/by-sa/2.5/" title="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Share-Alike 2.5</a> (CC-BY-SA) license. Content that originates from MDN must be attributed to MDN, with a link to the source article. The Web Platform Docs site provides support for doing this in a systematic way.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/MDN_page_layout_guide">MDN page layout guide</a></dt><dd class="landingPageList">These guides supplement the <a href="/en-US/docs/MDN/Contribute/Content/Style_guide">MDN style guide</a> with specific layouts for the various types of pages on MDN. This helps contributors create new content that's structurally consistent with the rest of MDN.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Subprojects">MDN subproject list</a></dt><dd class="landingPageList">In order to turn the work of building documentation of All Things Open Web (not to mention All Things Mozilla) into something less daunting, sometimes it's helpful to split it up into subprojects. This page offers a list of links to MDN subproject organizational content.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Needs_redirect">Needs Redirect</a></dt><dd class="landingPageList">If you have</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Page_types">Page types</a></dt><dd class="landingPageList">Before working on the MDN style guide (and the redesign that goes hand-in-hand with it), we need to figure out what types of pages we have, then what those pages look like. This is a list of the types of pages and key attributes of those pages.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/RecRoom_plan">RecRoom documentation plan</a></dt><dd class="landingPageList"><strong>RecRoom</strong> is the codename of a new MDN area that will provide resources for beginning <a href="/en-US/docs/Apps">Web app</a> developers, as well as overall best practices guides for app development.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Remove_in-content_iframes">Remove in-content iframes</a></dt><dd class="landingPageList">Each of the documents listed below has at least one in-place use of the <a href="/en-US/docs/Web/HTML/Element/iframe" title="The HTML &lt;iframe> element represents a nested browsing context, effectively embedding another HTML page into the current page. In HTML 4.01, a document may contain a head and a body or a head and a frameset, but not both a body and a frameset. However, an &lt;iframe> can be used within a normal document body. Each browsing context has its own session history and active document. The browsing context that contains the embedded content is called the parent browsing context. The top-level browsing context (which has no parent) is typically the browser window."><code>&lt;iframe&gt;</code></a> element within it. In order to improve performance and allow us to more easily revise and correct layout in the future, we need to quickly update all of these pages to use macros instead.  This is somewhat urgent, as there is work that needs to be done by our development team that cannot begin until all of these are fixed. That's where you come in!</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Team_status_board">Team status board</a></dt><dd class="landingPageList">This table is a list of MDN contributors and what they're currently working on. Feel free to add yourself and what you're up to to this list, but keep in mind that we will purge out-of-date entries regularly, so if you choose to add yourself, do your best to keep your information current (even if all you do is update the "last updated" so we know you're keeping it current, despite your work taking a long time to finish).</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Trello">Trello</a></dt><dd class="landingPageList">The MDN community uses a <a href="https://trello.com/b/HAhl54zz/mdn-content-team-status">Trello board</a> to organize and keep track of the things that need to be done to improve, update, and add to our content. This guide will help you learn what Trello is and how we use it.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Using_the_Mozilla_Developer_Center">Using the Mozilla Developer Center</a></dt><dd class="landingPageList">Welcome to the Mozilla Developer Center! Here you'll find documentation for not only working on the code and other components of the Mozilla project, but also for developing add-ons for Mozilla-based software, creating new software based on Mozilla code, and web development for the open Web.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Welcome">Welcome to the Mozilla Developer Network</a></dt><dd class="landingPageList">The Mozilla Developer Network is the most comprehensive and accurate resource for Web development, as written by you, the developers.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Chrome_code">Writing chrome code documentation plan</a></dt><dd class="landingPageList">We need a good guide to writing chrome JavaScript code. This plan proposes a project to produce that documentation.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Writing_content">Writing content</a></dt><dd class="landingPageList">There are always things that can be added or updated on MDN. Whether it's all-new documentation for a sparkling new API or a revision to an older API that's changed subtly, you'll find lots of opportunities to help.</dd></dl></div>
- </div><p></p>
diff --git a/files/ko/archive/misc_top_level/index.html b/files/ko/archive/misc_top_level/index.html
deleted file mode 100644
index 95bf3b61ab..0000000000
--- a/files/ko/archive/misc_top_level/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Misc top level
-slug: Archive/Misc_top_level
-translation_of: Archive/Misc_top_level
----
-<p>In progress. These pages were moved from the top level of MDN in a spate of furious reorganization.</p>
-
-<p></p>
diff --git a/files/ko/archive/misc_top_level/same-origin_policy_for_file_colon__uris/index.html b/files/ko/archive/misc_top_level/same-origin_policy_for_file_colon__uris/index.html
deleted file mode 100644
index 1dcaa96557..0000000000
--- a/files/ko/archive/misc_top_level/same-origin_policy_for_file_colon__uris/index.html
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: 'file: URI를 위한 동일 출처 정책'
-slug: 'Archive/Misc_top_level/Same-origin_policy_for_file:_URIs'
-translation_of: 'Archive/Misc_top_level/Same-origin_policy_for_file:_URIs'
----
-<p>Gecko 1.8 이전 버전에서, 임의의 두 <code>file:</code> URI들은 같은 출처로 간주됩니다. 즉, 로컬 디스크에 있는 HTML 파일은 로컬 디스크에 있는 다른 파일을 읽을 수 있습니다.</p>
-
-<p>Gecko 1.9 버전부터, 파일은 다른 특정 파일만 읽을 수 있습니다. 특히, 파일은 <em>originating file</em>과 <em>target file</em>의 상위 폴더가 같은 경우에만 다른 파일을 읽을 수 있습니다. 하지만 이 방법으로 폴더를 다운로드할 수는 없습니다.</p>
-
-<p>예를 들어, <code>bar.html</code>에 접근하는 <code>foo.html</code>가 있고 <code>index.html</code>에서 이 파일로 이동한 경우, <code>bar.html</code>가  <code>index.html</code>와 같은 폴더나 하위 폴더에 있어야만 로드가 성공합니다.</p>
-
-<p>이 정책은 <a class="internal" href="/en/DOM/XMLHttpRequest" title="En/XMLHttpRequest"><code>XMLHttpRequest</code></a>, XSLT, XBL을 비롯한 모든 동일 출처를 확인하는데 영향을 줍니다.</p>
-
-<p>다른 window의 DOM에 접근할 경우, 각 파일은 별도의 출처로 처리됩니다. 한 가지 예외적으로 파일을 로드할 수 있는 다른 파일에서 로드된 경우 동일 출처 정책에 따라 동일한 출처로 간주됩니다.  이 로드는 subframe, link, location 설정, <a class="internal" href="/en/DOM/window.open" title="En/DOM/Window.open"><code>window.open()</code></a> 호출 등을 통해 발생할 수 있습니다.</p>
-
-<p>예를 들어, <code>/home/user/foo.html</code>이 frameset이고 <code>/home/user/subdir/bar.html</code>이 frame 중 하나라면, frame과 frameset은 동일한 출처로 간주됩니다.  반대로, <code>/home/user/subdir/foo.html</code>이 frameset이고 <code>/home/user/bar.html</code>가 프레임이라면, frame과 frameset은 다른 출처로 간주됩니다.</p>
-
-<p>기본 값이 <code>true</code>인 새로운 <code>security.fileuri.strict_origin_policy</code> 환경설정은 <code>file:</code> URI에 대해서 출처 정책을 엄격하게 적용하고 싶지 않으면 <code>false</code>로 설정할 수 있습니다.</p>
diff --git a/files/ko/archive/misc_top_level/using_content_preferences/index.html b/files/ko/archive/misc_top_level/using_content_preferences/index.html
deleted file mode 100644
index 247939c43a..0000000000
--- a/files/ko/archive/misc_top_level/using_content_preferences/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: Using content preferences
-slug: Archive/Misc_top_level/Using_content_preferences
-tags:
- - Firefox 3
-translation_of: Archive/Misc_top_level/Using_content_preferences
----
-<p> Firefox 3는 내용 선택 사항(content preferences)이라는 개념을 도입하고 있습니다. 이는 크롬 안에서 실행하는 코드(달리 이야기하면, 웹 사이트가 아닌 확장과 브라우저 자체)가 사이트 별 선택 사항을 지역적으로 저장할 수 있도록 합니다. 이를 이용하면 사용자가 웹 사이트의 외양을 커스터마이즈할 수 있는(예를 들어, 불편할 만큼 작은 글꼴을 사용하는 웹 사이트에) 확장을 작성하는 것이 가능합니다.</p>
-<p>내용 선택 사항 서비스는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentPrefService" title="">nsIContentPrefService</a></code>에 의해 구현되며 특정 사이트에 대한 선택 사항을 지정하고 구하는 기능과 이를 전역 선택 사항 공간에 저장하는 기능을 제공합니다. 전역 선택 사항은 사이트에 특정한 선택 사항을 이용할 수 없을 때 이용합니다.</p>
-<h3 id=".EC.98.88.EC.A0.9C:_.EC.84.A0.ED.83.9D_.EC.82.AC.ED.95.AD.EC.9D.84_.EC.A7.80.EC.A0.95.ED.95.98.EA.B3.A0_.EA.B5.AC.ED.95.98.EA.B8.B0" name=".EC.98.88.EC.A0.9C:_.EC.84.A0.ED.83.9D_.EC.82.AC.ED.95.AD.EC.9D.84_.EC.A7.80.EC.A0.95.ED.95.98.EA.B3.A0_.EA.B5.AC.ED.95.98.EA.B8.B0">예제: 선택 사항을 지정하고 구하기</h3>
-<p>이 예제는 선택 사항을 저장하고 그 값을 구하는 방법을 보여줍니다.</p>
-<pre class="eval">var ioSvc = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(Components.interfaces.nsIIOService);
-var prefService = Components.classes["@mozilla.org/content-pref/service;1"]
- .getService(Components.interfaces.nsIContentPrefService);
-
-// Create a URI object referencing the site to save a preference for
-var uri = ioSvc.newURI("<span class="nowiki">http://developer.mozilla.org/</span>", null, null);
-
-// Set the value of the "devmo.somesetting" preference to "foo".
-
-prefService.setPref(uri, "devmo.somesetting", "foo");
-
-...
-
-// Retrieve the value of the "devmo.somesetting" preference.
-
-var value = prefService.getPref(uri, "devmo.somesetting");
-</pre>
-<h3 id="See_also" name="See_also">See also</h3>
-<p><code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentPrefService" title="">nsIContentPrefService</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentPrefObserver" title="">nsIContentPrefObserver</a></code></p>
-<p> </p>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html b/files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html
deleted file mode 100644
index f2755cc4d3..0000000000
--- a/files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Creating a Skin for SeaMonkey 2.x
-slug: Archive/Mozilla/Creating_a_Skin_for_SeaMonkey_2.x
-tags:
- - NeedsTranslation
- - SeaMonkey
- - TopicStub
-translation_of: Archive/Mozilla/Creating_a_Skin_for_SeaMonkey_2.x
----
-<h2 id="Introduction">Introduction</h2>
-
-
-<p>You're going to make a theme for SeaMonkey 2, but don't know how? I hope this manual will help you.</p>
-
-
-<h2 id="Contents">Contents</h2>
-<ul>
- <li><a href="/en-US/docs/Creating_a_Skin_for_SeaMonkey_2.x/Getting_Started">Getting Started</a></li>
-</ul>
diff --git a/files/ko/archive/mozilla/drag_and_drop/index.html b/files/ko/archive/mozilla/drag_and_drop/index.html
deleted file mode 100644
index adc89768c1..0000000000
--- a/files/ko/archive/mozilla/drag_and_drop/index.html
+++ /dev/null
@@ -1,148 +0,0 @@
----
-title: Drag and Drop
-slug: Archive/Mozilla/Drag_and_drop
-tags:
- - NeedsTranslation
- - TopicStub
- - XUL
-translation_of: Archive/Mozilla/Drag_and_drop
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Drag_and_Drop_JavaScript_Wrapper">다음 »</a></p>
-</div><p></p>
-<p></p><div class="overheadIndicator deprecated deprecatedHeader">
- <p><strong><span title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span> Deprecated Gecko 1.9.1 (Firefox 3.5 / Thunderbird 3.0 / SeaMonkey 2.0)</strong><br>This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. 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><p></p>
-<div class="warning">
- As of Gecko 1.9.1 (Firefox 3.5), these APIs are officially deprecated <a href="/En/DragDrop/Drag_and_Drop" title="en/DragDrop/Drag and Drop">the newer, simpler, portable API</a> should be used in their place.</div>
-<p>This section describes how to implement objects that can be dragged around and dropped onto other objects.</p>
-<h3 id="The_Drag_and_Drop_Interface" name="The_Drag_and_Drop_Interface">The Drag and Drop Interface</h3>
-<p>Many user interfaces allow one to drag particular objects around within the interface. For example, dragging files to other directories, or dragging an icon to another window to open the document it refers to. Mozilla and <a href="/en/XUL" title="en/XUL">XUL</a> provide a number of events that can handle when the user attempts to drag objects around.</p>
-<p>A user can start dragging by holding down the mouse button and moving the mouse. The drag stops when the user releases the mouse. Event handlers are called when the user starts and ends dragging, and at various points in-between.</p>
-<p>Mozilla implements dragging by using a drag session. When a user requests to drag something that can be dragged, a drag session should be started. The drag session handles updating the mouse cursor and where the object should be dropped. If something cannot be dragged, it should not start a drag session. Because the user generally has only one mouse, only one drag session is in use at a time.</p>
-<p>Note that drag sessions can be created from within Mozilla itself or from other applications. Mozilla will translate the data being dragged as needed.</p>
-<p>The list below describes the event handlers that can be called, which may be placed on any element. You only need to put values for the handlers where you need to do something when the event occurs.</p>
-<dl>
- <dt>
- ondrag </dt>
- <dd>
- Called periodically throughout the drag and drop operation.</dd>
- <dt>
- ondraggesture </dt>
- <dd>
- Called when the user starts dragging the element, which normally happens when the user holds down the mouse button and moves the mouse. The script in this handler should set up a drag session.</dd>
- <dt>
- ondragstart  </dt>
- <dd>
- An alias for <code>ondraggesture</code>; this is the HTML 5 spec name for the event and may be used in HTML or XUL; however, for backward compatibility with older versions of Firefox, you may wish to continue using <code>ondraggesture</code> in XUL.</dd>
- <dt>
- ondragover </dt>
- <dd>
- This event handler is called for an element when something is being dragged over top of it. If the object can be dropped on the element, the drag session should be notified.</dd>
- <dt>
- ondragenter </dt>
- <dd>
- Called for an element when the mouse pointer first moves over the element while something is being dragged. This might be used to change the appearance of the element to indicate to the user that the object can be dropped on it.</dd>
- <dt>
- ondragexit </dt>
- <dd>
- Called for an element when the mouse pointer moves out of an element while something is being dragged. The is also called after a drop is complete so that an element has a chance to remove any highlighting or other indication.</dd>
- <dt>
- ondragdrop </dt>
- <dd>
- This event handler is called for an element when something is dropped on the element. At this point, the user has already released the mouse button. The element can simply ignore the event or can handle it some way, such as pasting the dragged object into itself.</dd>
- <dt>
- ondragend  </dt>
- <dd>
- Called when the drag operation is finished.</dd>
-</dl>
-<p>There are two ways that drag and drop events can be handled. This first involves using the drag and drop <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a> interfaces directly. The second is to use a <a href="/en/Drag_and_Drop_JavaScript_Wrapper" title="en/Drag_and_Drop_JavaScript_Wrapper">JavaScript wrapper</a> object that handles some of this for you. The code for this wrapper can be found in a file named <code><a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/content/nsDragAndDrop.js nsDragAndDrop.js" rel="custom">toolkit/content/nsDragAndDrop.js nsDragAndDrop.js</a></code> which is contained in the widget-toolkit (or global) package.</p>
-<h3 id="XPCOM_Drag_and_Drop_interfaces" name="XPCOM_Drag_and_Drop_interfaces">XPCOM Drag and Drop interfaces</h3>
-<p>Two interfaces are used to support drag and drop. The first is a drag service, <a href="/en/XPCOM_Interface_Reference/nsIDragService" title="en/nsIDragService">nsIDragService</a> and the second is the drag session, <a href="/en/XPCOM_Interface_Reference/nsIDragSession" title="en/nsIDragSession">nsIDragSession</a>.</p>
-<p>The <a href="/en/XPCOM_Interface_Reference/nsIDragService" title="en/nsIDragService">nsIDragService</a> is responsible for creating drag sessions when a drag starts, and removing the drag session when the drag is complete. The function <code>invokeDragSession</code> should be called to start a drag inside an <code>ondraggesture</code> event handler. Once this function is called, a drag has started.</p>
-<p>The function invokeDragSession takes four parameters, as described below:</p>
-<pre class="eval">invokeDragSession(element,transferableArray,region,actions)
-</pre>
-<dl>
- <dt>
- element </dt>
- <dd>
- A reference to the element that is being dragged. This can be retrieved by getting the property <code>event.target</code> during the event handler.</dd>
- <dt>
- transferableArray </dt>
- <dd>
- An array of <a href="/en/NsITransferable" title="en/NsITransferable">nsITransferable</a> objects, one for each item being dragged. An array is used because you might want to drag several objects at once, such as a set of files.</dd>
- <dt>
- region </dt>
- <dd>
- A region used for feedback indication. This should usually be set to null.</dd>
- <dt>
- actions </dt>
- <dd>
- The actions that the drag uses. This should be set to one of the following constants, or several added together. The action can be changed during the drag depending on what is being dragged over.</dd>
-</dl>
-<dl>
- <dt>
- nsIDragService.DRAGDROP_ACTION_NONE </dt>
- <dd>
- <dl>
- <dt>
- Used to indicate that no drag is valid.</dt>
- <dt>
- nsIDragService.DRAGDROP_ACTION_COPY </dt>
- <dd>
- The item being dragged should be copied to its dropped location.</dd>
- <dt>
- nsIDragService.DRAGDROP_ACTION_MOVE </dt>
- <dd>
- The item being dragged should be moved to its dropped location.</dd>
- <dt>
- nsIDragService.DRAGDROP_ACTION_LINK </dt>
- <dd>
- A link (or shortcut or alias) to the item being dragged should be created in the dropped location.</dd>
- </dl>
- </dd>
-</dl>
-<p>The interface <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDragService" title="">nsIDragService</a></code> also provides the function <code>getCurrentSession</code> which can be called from within the drag event handlers to get and modify the state of the drag. The function returns an object that implements <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDragSession" title="">nsIDragSession</a></code>.</p>
-<p>The interface <a href="/en/XPCOM_Interface_Reference/nsIDragSession" title="en/nsIDragSession">nsIDragSession</a> is used to get and set properties of the drag that is currently occuring. The following properties and methods are available:</p>
-<dl>
- <dt>
- canDrop </dt>
- <dd>
- Set this property to <code>true</code> if the element the mouse is currently over can accept the object currently being dragged to be dropped on it. Set the value to <code>false</code> if it doesn't make sense to drop the object on it. This should be changed in the <code>ondragover</code> and <code>ondragenter</code> event handlers.</dd>
- <dt>
- dragAction </dt>
- <dd>
- Set to the current action to be performed, which should be one or more of the constants described earlier. This can be used to provide extra feedback to the user.</dd>
- <dt>
- numDropItems </dt>
- <dd>
- The number of items being dragged. For example, this will be set to 5 if five bookmarks are being dragged.</dd>
- <dt>
- getData(transfer,index) </dt>
- <dd>
- Get the data being dragged. The first argument should be an <a href="/en/NsITransferable" title="en/NsITransferable">nsITransferable</a> object to hold the data. The second argument, <code>index</code>, should be the index of the item to return.</dd>
- <dt>
- sourceDocument </dt>
- <dd>
- The document where the drag started.</dd>
- <dt>
- sourceNode </dt>
- <dd>
- The <a href="/en/DOM" title="en/DOM">DOM</a> node where the drag started.</dd>
- <dt>
- isDataFlavorSupported(flavor) </dt>
- <dd>
- Returns <code>true</code> if the data being dragged contains data of the specified flavor.</dd>
-</dl>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Drag_and_Drop_JavaScript_Wrapper">다음 »</a></p>
-</div><p></p>
-<div class="originaldocinfo">
- <h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
- <ul>
- <li>Author(s): <a class="link-mailto" href="mailto:enndeakin@sympatico.ca">Neil Deakin</a></li>
- <li>Original Document:</li>
- <li>Copyright Information: Copyright (C) <a class="link-mailto" href="mailto:enndeakin@sympatico.ca">Neil Deakin</a></li>
- </ul>
-</div>
diff --git a/files/ko/archive/mozilla/firefox/index.html b/files/ko/archive/mozilla/firefox/index.html
deleted file mode 100644
index 9e61c718ff..0000000000
--- a/files/ko/archive/mozilla/firefox/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Firefox
-slug: Archive/Mozilla/Firefox
-translation_of: Archive/Mozilla/Firefox
----
-<p>In progress. Out-of-date information about the Firefox project.</p>
-
-<p></p>
diff --git a/files/ko/archive/mozilla/firefox/using_microformats/index.html b/files/ko/archive/mozilla/firefox/using_microformats/index.html
deleted file mode 100644
index b7fcdf224f..0000000000
--- a/files/ko/archive/mozilla/firefox/using_microformats/index.html
+++ /dev/null
@@ -1,144 +0,0 @@
----
-title: Using microformats
-slug: Archive/Mozilla/Firefox/Using_microformats
-tags:
- - Firefox 3
- - Microformats
-translation_of: Archive/Mozilla/Firefox/Using_microformats
----
-<p>{{ Fx_minversion_header(3) }}
-</p><p>마이크로포맷(Microformats)을 이용하면 문서 자체를 분석하는 방법을 알아야 할 필요없이 페이지의 정보에 대한 요약을 표시할 수 있도록 웹 사이트가 의미 데이터(semantic data)를 브라우저에 제공할 수 있습니다. Firefox 3는 마이크로포맷에 대한 접근을 제공하는 전역 <code>Microformats</code> 개체를 구현합니다. 이 개체와 API를 이용하면 마이크로포맷을 쉽게 찾고 읽을 수 있습니다.
-</p>
-<h2 id=".EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7_API_.EB.A1.9C.EB.93.9C.ED.95.98.EA.B8.B0" name=".EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7_API_.EB.A1.9C.EB.93.9C.ED.95.98.EA.B8.B0">마이크로포맷 API 로드하기</h2>
-<p><code>Microformats</code> 개체는 Firefox 3에 추가된 새로운 자바스크립트 로더를 이용하여 생성합니다. API를 사용하려면 먼저 개체를 로드해야 합니다:
-</p>
-<pre class="eval"><span class="nowiki">Components.utils.import("resource://gre/modules/Microformats.js");</span>
-</pre>
-<p>마이크로포맷 API를 로드하고 나면 아래에 나열한 메소드를 이용하여 마이크로포맷을 다룰 수 있습니다. 마이크로포맷을 파싱하는 방법에 대한 정보는 <a href="ko/Parsing_microformats_in_JavaScript">Parsing microformats in JavaScript</a>를 참고하십시오.
-</p>
-<h2 id=".EB.AF.B8.EB.A6.AC_.EC.A0.95.EC.9D.98.EB.90.9C_.EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7" name=".EB.AF.B8.EB.A6.AC_.EC.A0.95.EC.9D.98.EB.90.9C_.EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7">미리 정의된 마이크로포맷</h2>
-<p>Firefox 3는 몇 가지 일반적인 마이크로포맷을 구현한 정의를 제공합니다.
-</p>
-<dl><dt><code><a href="ko/The_adr_microformat">adr</a></code>
-</dt><dd>주소를 표시합니다.
-</dd><dt><code><a href="ko/The_geo_microformat">geo</a></code>
-</dt><dd>위도와 경도를 이용한 지리적 위치를 표시합니다.
-</dd><dt><code><a href="ko/The_hCard_microformat">hCard</a></code>
-</dt><dd>사람에 대한 연락 정보를 표시합니다.
-</dd><dt><code><a href="ko/The_hCalendar_microformat">hCalendar</a></code>
-</dt><dd>달력의 일정 항목을 표시합니다.
-</dd><dt><code><a href="ko/The_tag_microformat">tag</a></code>
-</dt><dd>다른 마이크로포맷에 태그를 추가하는데 사용합니다.
-</dd></dl>
-<h2 id=".EB.A9.94.EC.86.8C.EB.93.9C" name=".EB.A9.94.EC.86.8C.EB.93.9C">메소드</h2>
-<h3 id="add.28.29" name="add.28.29">add()</h3>
-<p>마이크로포맷 모듈에 새로운 마이크로포맷을 추가합니다.
-</p><p>{{ Note("지정한 이름을 가진 마이크로포맷이 이미 존재하면 새로운 것으로 바뀝니다.") }}
-</p>
-<pre class="eval">add(name, definition);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98">매개변수</h6>
-<dl><dt>&lt;tt&gt;name&lt;/tt&gt;
-</dt><dd>마이크로포맷 모듈에 추가하려는 마이크로포맷의 이름.
-</dd><dt>&lt;tt&gt;definition&lt;/tt&gt;
-</dt><dd>마이크로포맷을 기술하는 자바스크립트 구조. 자세한 사항은 <a href="ko/Describing_microformats_in_JavaScript">Describing microformats in JavaScript</a>를 참고.
-</dd></dl>
-<h3 id="count.28.29" name="count.28.29">count()</h3>
-<p>지정한 조건을 만족하는 문서에 있는 마이크로포맷의 개수를 구합니다.
-</p>
-<pre class="eval">numMicroformats = Microformats.count(name, rootElement, recurseFrames);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_2" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_2">매개변수</h6>
-<dl><dt>&lt;tt&gt;name&lt;/tt&gt;
-</dt><dd>검색하려는 마이크로포맷의 이름
-</dd><dt>&lt;tt&gt;rootElement&lt;/tt&gt;
-</dt><dd>검색을 시작할 DOM 요소. 전체 문서에서 검색하려면 <code>content.document</code>를 명시해야 합니다.
-</dd><dt>&lt;tt&gt;options&lt;/tt&gt;
-</dt><dd>선택사항. 아래 플래그를 포함하는 자바스크립트 개체:
-</dd></dl>
-<blockquote>
-<dl><dt>&lt;tt&gt;recurseExternalFrames&lt;/tt&gt;
-</dt><dd><code>true</code>이면 자식 프레임을 검색에 포함. 기본 값은 <code>true</code>.
-</dd><dt>&lt;tt&gt;showHidden&lt;/tt&gt;
-</dt><dd><code>true</code>이면 숨겨진 마이크로포맷을 추가하고 그렇지 않으면 생략. 기본 값은 <code>false</code>.
-</dd><dt>&lt;tt&gt;debug&lt;/tt&gt;
-</dt><dd>디버그 모드를 사용하려면 <code>true</code>로 지정하고 그렇지 않으면 <code>false</code>로 지정. 기본 값은 <code>false</code>.</dd></dl></blockquote> <h6 id=".EB.B0.98.ED.99.98_.EA.B0.92" name=".EB.B0.98.ED.99.98_.EA.B0.92">반환 값</h6>
-<p>지정한 조건을 만족하는 마이크로포맷 개수를 가리키는 정수 값.
-</p>
-<h3 id="debug.28.29" name="debug.28.29">debug()</h3>
-<p>마이크로포맷 개체를 설명하는 문자열을 반환합니다.
-</p><p>{{ Note("마이크로포맷 개체에 대해 <code>debug()</code>를 호출할 수 있습니다: 이 메소드 대신 <code>microformatObject.debug()</code>를 이용할 수도 있습니다.") }}
-</p>
-<pre class="eval">dumpString = debug(microformatObject)
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_3" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_3">매개변수</h6>
-<dl><dt>&lt;tt&gt;microformatObject&lt;/tt&gt;
-</dt><dd>정보를 표시할 마이크로포맷 개체.
-</dd></dl>
-<h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_2" name=".EB.B0.98.ED.99.98_.EA.B0.92_2">반환 값</h6>
-<p>지정한 마이크로포맷 개체의 내용을 설명하는 문자열.
-</p>
-<h3 id="get.28.29" name="get.28.29">get()</h3>
-<p>지정한 조건에 따라 검색한 마이크로포맷에 해당하는 마이크로포맷 개체의 배열을 반환합니다.
-</p>
-<pre class="eval">microformatsArray = Microformats.get(name, rootElement, options, targetArray);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_4" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_4">매개변수</h6>
-<dl><dt>&lt;tt&gt;name&lt;/tt&gt;
-</dt><dd>검색하려는 마이크로포맷의 이름
-</dd><dt>&lt;tt&gt;rootElement&lt;/tt&gt;
-</dt><dd>검색을 시작할 DOM 요소. 전체 문서에서 검색하려면 <code>content.document</code>를 명시해야 합니다.
-</dd><dt>&lt;tt&gt;options&lt;/tt&gt;
-</dt><dd>선택사항. 아래 플래그를 포함하는 자바스크립트 개체:
-</dd></dl>
-<blockquote>
-<dl><dt>&lt;tt&gt;recurseExternalFrames&lt;/tt&gt;
-</dt><dd><code>true</code>이면 자식 프레임을 검색에 포함. 기본 값은 <code>true</code>.
-</dd><dt>&lt;tt&gt;showHidden&lt;/tt&gt;
-</dt><dd><code>true</code>이면 숨겨진 마이크로포맷을 추가하고 그렇지 않으면 생략. 기본 값은 <code>false</code>.
-</dd><dt>&lt;tt&gt;debug&lt;/tt&gt;
-</dt><dd>디버그 모드를 사용하려면 <code>true</code>로 지정하고 그렇지 않으면 <code>false</code>로 지정. 기본 값은 <code>false</code>.</dd></dl></blockquote> <dl><dt>&lt;tt&gt;targetArray&lt;/tt&gt;
-</dt><dd>선택사항. 검색 결과를 추가할 마이크로포맷 개체의 배열.
-</dd></dl> <h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_3" name=".EB.B0.98.ED.99.98_.EA.B0.92_3">반환 값</h6>
-<p>검색 조건을 만족하는 마이크로포맷 개체의 새로운 배열, 혹은 발견한 마이크로포맷 개체를 추가한 &lt;tt&gt;microformats&lt;/tt&gt;에서 지정한 배열.
-</p>
-<h3 id="getNamesFromNode.28.29" name="getNamesFromNode.28.29">getNamesFromNode()</h3>
-<p>지정한 마이크로포맷 노드에 해당하는 공백으로 구별되는 마이크로포맷 이름의 목록을 반환합니다.
-</p>
-<pre class="eval">nameList = Microformats.getNamesFromNode(node);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_5" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_5">매개변수</h6>
-<dl><dt>&lt;tt&gt;node&lt;/tt&gt;
-</dt><dd>마이크로포맷 이름 목록을 구할 노드
-</dd></dl>
-<h6 id="Return_value" name="Return_value">Return value</h6>
-<p>지정한 노드가 마이크로포맷인 경우 노드에 해당하는 모든 마이크로포맷의 이름을 공백으로 구별하여 나열하는 문자열. 해당 노드가 마이크로포맷이 아닌 경우에는 아무것도 반환하지 않음.
-</p>
-<h3 id="getParent.28.29" name="getParent.28.29">getParent()</h3>
-<p>지정한 마이크로포맷이나 마이크로포맷 자식의 부모 노드를 반환합니다.
-</p>
-<pre class="eval">parentNode = Microformats.getParent(node);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_6" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_6">매개변수</h6>
-<dl><dt>&lt;tt&gt;node&lt;/tt&gt;
-</dt><dd>부모 노드를 구할 노드
-</dd></dl>
-<h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_4" name=".EB.B0.98.ED.99.98_.EA.B0.92_4">반환 값</h6>
-<p>지정한 노드의 부모. 지정한 노드가 마이크로포맷이 아니거나 마이크로포맷의 자식이 아닌 경우에는 아무것도 반환하지 않음.
-</p>
-<h3 id="isMicroformat.28.29" name="isMicroformat.28.29">isMicroformat()</h3>
-<p>지정한 DOM 노드가 마이크로포맷인지 구별합니다.
-</p>
-<pre class="eval">flag = Microformats.isMicroformat(node);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_7" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_7">매개변수</h6>
-<dl><dt>&lt;tt&gt;node&lt;/tt&gt;
-</dt><dd>마이크로포맷 여부를 확인할 DOM 노드.
-</dd></dl>
-<h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_5" name=".EB.B0.98.ED.99.98_.EA.B0.92_5">반환 값</h6>
-<p>노드가 마이크로포맷이면 <code>true</code>, 그렇지 않으면 <code>false</code>.
-</p><p>{{ Note("만약 노드가 마이크로포맷의 자식이면 이 메소드는 <code>true</code>를 반환하지 <i>않습니다</i>.") }}
-</p>
-<div class="noinclude">
-</div>
-{{ languages( { "en": "en/Using_microformats", "fr": "fr/Utilisation_de_microformats", "ja": "ja/Using_microformats", "pl": "pl/Zastosowanie_mikroformat\u00f3w" } ) }}
diff --git a/files/ko/archive/mozilla/index.html b/files/ko/archive/mozilla/index.html
deleted file mode 100644
index c6ccfa68f2..0000000000
--- a/files/ko/archive/mozilla/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: Archived Mozilla and build documentation
-slug: Archive/Mozilla
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Mozilla
----
-<p>These articles are archived, obsolete documents about Mozilla, Gecko, and the process of building Mozilla projects.</p>
-<p></p><dl><dt class="landingPageList"><a href="/ko/docs/Archive/Mozilla/Drag_and_drop">Drag and Drop</a></dt><dd class="landingPageList">This section describes how to implement objects that can be dragged around and dropped onto other objects.</dd><dt class="landingPageList"><a href="/ko/docs/XPInstall">XPInstall</a></dt><dd class="landingPageList"><span class="comment">Categories</span></dd></dl><p></p>
diff --git a/files/ko/archive/mozilla/rdf_datasource_how-to/index.html b/files/ko/archive/mozilla/rdf_datasource_how-to/index.html
deleted file mode 100644
index 96509ff68a..0000000000
--- a/files/ko/archive/mozilla/rdf_datasource_how-to/index.html
+++ /dev/null
@@ -1,224 +0,0 @@
----
-title: RDF Datasource How-To
-slug: Archive/Mozilla/RDF_Datasource_How-To
-tags:
- - RDF
-translation_of: Archive/Mozilla/RDF_Datasource_How-To
----
-<div class="warning">
- <p>이 문서는 최신의 정보를 포함하지 않을 수 있습니다. 가능하면 이 문서가 최신 정보로 유지될 수 있도록 도와주시기 바랍니다. <span class="comment">XPCOM 등록(registration) 부분과 "As of this writing, it is not currently possible to implement JavaScript XPCOM components" 부분이 최신 정보와 다른 것 같습니다. 전체 문서를 다 체크해 보지는 않았습니다.</span></p>
-</div>
-<p>이 문서는 Mozilla 의 <a href="ko/RDF">RDF</a> 구현과 함께 동작하는
- <i>
- 고유한(native), 클라이언트 측 데이터 소스</i>
- 를 생성하는 방법을 설명하는 cookbook 문서입니다. 이 문서는 <a class="link-mailto" href="mailto:rjc@netscape.com">Robert Churchill</a> 이 작성한 <a class="external" href="http://www.mozilla.org/rdf/doc/rdfdatasources.html">원본 문서</a>를 대체하며 많은 부분은 원본 문서에서 가져온 것입니다.</p>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F">데이터 소스란 무엇인가?</h3>
-<p>"RDF의 세계"는 인터넷
- <i>
- 자원</i>
- 들을 설명하는
- <i>
- 문장</i>
- (statement)으로 이루어진다. 예를 들어, "내 홈페이지의 최종 변경일은 4월 2일이다" 라던가 "이 뉴스 기사는 밥(Bob)이 보내온 것이다" 등이 있을 것이다. 가장 추상적인 단계에서 볼 때,
- <i>
- 데이터 소스</i>
- 는 이러한 문장들의 모임(collection)이다.</p>
-<p>더 자세히 살펴보면, 데이터 소스는 어떤 정보를 RDF 문장의 모임으로
- <i>
- 변환</i>
- 하는 역할을 한다. 예를 들어, "파일 시스템 데이터 소스"라면 파일 시스템 정보를 다음과 같은 문장들로 변환할 것이다: "/tmp 는 디렉토리이다", "/tmp/foo 는 /tmp 안에 포함되어 있다". "IMAP 데이터 소스"라면 IMAP 프로토콜을 이용하여 당신의 메일함에 있는 데이터를 다음과 같은 문장으로 변환할 것이다: "126번 메시지의 제목은 '인터넷으로 쉽게 돈벌기'이다", "126번 메시지를 보낸 사람은 <a class="link-mailto" href="mailto:'spammer128@hotmail.com'이다" rel="freelink">'spammer128@hotmail.com'이다</a>". "주소록 데이터 소스"라면 데이터베이스 파일을 다음과 같은 문장으로 변환할 것이다: "<a class="link-mailto" href="mailto:spammer128@hotmail.com의" rel="freelink">spammer128@hotmail.com의</a> 실제 이름은 'Billy Dumple'이다", "<a class="link-mailto" href="mailto:spammer128@hotmail.com은" rel="freelink">spammer128@hotmail.com은</a> '중요한 친구'이다".</p>
-<p>한 데이터 소스 내에 존재하는 문장은
- <i>
- composite datasource</i>
- 를 사용해서 다른 데이터 소스에 있는 문장과 결합(combine)될 수 있다. IMAP 데이터 소스와 주소록 데이터 소스를 결합하면, 위의 예제에서 "126번 메시지"를 보낸 사람은 "중요한 친구"라는 것을 알 수 있다.</p>
-<h3 id=".EC.96.B4.ED.9C.98_.EC.84.A0.ED.83.9D.ED.95.98.EA.B8.B0" name=".EC.96.B4.ED.9C.98_.EC.84.A0.ED.83.9D.ED.95.98.EA.B8.B0">어휘 선택하기</h3>
-<p>
- <i>
- 어휘</i>
- (vocabulary)는 데이터 모델 내에서 원소(자원이나 문자열)들간의 관계를 표현하기 위해 사용하는 속성들의 집합입니다. 제일 먼저 생각해야 할 것은 '기존의 어휘를 사용해야 할지? 아니면 새로운 어휘를 만들어야 할지?'에 대한 것입니다.
- <i>
- 반드시</i>
- 새로운 어휘를 만들어야 필요가 있는 경우가 아니라면 당연히 기존의 어휘를 쓰는 것이 좋습니다. 그러면 당신이 만든 데이터 소스를 손쉽게 다른 데이터 소스와 통합할 수 있게 됩니다.</p>
-<p>이미 만들어진 다음과 같은 여러 종류의 어휘들이 있습니다.</p>
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/PR-rdf-schema/">RDF 스키마(Schema) 명세</a>. 이 어휘는 다른 어휘들을 설명하기 위한 "메타 어휘(meta vocabulary)"입니다.</li>
- <li><a class="external" href="http://purl.oclc.org/dc/">더블린 코어(The Dublin Core)</a>. 이 어휘는 웹 상의 자원(electronic resouces)들을 설명하기 위해 사용되는 어휘입니다. 여기에는 작성자, 주제, 공개일(출판일) 등의 원소가 포함됩니다.</li>
-</ul>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0.EB.A5.BC_.EB.85.B8.EB.93.9C.EC.99.80_.EC.95.84.ED.81.AC.28arc.29.EB.A1.9C_.EB.A7.A4.ED.95.91.ED.95.98.EA.B8.B0" name=".EB.8D.B0.EC.9D.B4.ED.84.B0.EB.A5.BC_.EB.85.B8.EB.93.9C.EC.99.80_.EC.95.84.ED.81.AC.28arc.29.EB.A1.9C_.EB.A7.A4.ED.95.91.ED.95.98.EA.B8.B0">데이터를 노드와 아크(arc)로 매핑하기</h3>
-<p><b>{{ mediawiki.external('write me!') }}</b></p>
-<h3 id="nsIRDFDataSource_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_.EA.B5.AC.ED.98.84.ED.95.98.EA.B8.B0" name="nsIRDFDataSource_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_.EA.B5.AC.ED.98.84.ED.95.98.EA.B8.B0">&lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스 구현하기</h3>
-<p>가장 먼저 해야할 일은 &lt;tt&gt;<a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/base/idl/nsIRDFDataSource.idl">nsIRDFDataSource</a>&lt;/tt&gt; 인터페이스를 구현하는 일입니다. 이를 위한 두 가지 기본적인 방법이 있습니다:</p>
-<ol>
- <li>
- <p>
- <i>
- 내부 프록시(inner proxy)에 위임(delegate)하기</i>
- . 예를 들면, &lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스를 구현한 일반적인 데이터 소스인
- <i>
- 메모리 상의 데이터 소스(in-memory datasource)</i>
- 에 위임할 수 있습니다.</p>
- <p>일반적으로, 해당 저장 장치(즉, 데이터 파일)를 위한 구문 분석기(parser)를 제공해야 합니다. 구문 분석기는 데이터 파일을 메모리 상의 데이터 소스로 구성하기 위한 일련의 &lt;tt&gt;Assert()&lt;/tt&gt; 문으로 변환합니다. &lt;tt&gt;Flush()&lt;/tt&gt; 문이 호출되거나, 데이터 소스에 대한 마지막 참조가 해제되는 경우에는 메모리 상의 데이터 소스를 순환하여 그래프(데이터)를 원래의 파일 형식으로 다시 저장합니다(re-serialize). 아래의 예제를 살펴보기 바랍니다. <a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/base/src/nsRDFXMLDataSource.cpp">RDF/XML 데이터 소스</a> 혹은 <a class="external" href="http://lxr.mozilla.org/seamonkey/source/xpfe/components/bookmarks/src/nsBookmarksService.cpp">북마크 데이터 소스</a>.</p>
- <p>기존의 데이터들을 "래핑"(wrapping)하기 위한 목적이라면 이 구현 방식을 선택하면 됩니다. 이 구현은 기존의 데이터 저장 공간이 다른 에이전트들에 의해 "동적으로"(on-the-fly) 변경되고 있다면 문제를 일으킬 수도 있습니다.</p>
- </li>
- <li>
- <p>
- <i>
- 메모리 상의 데이터 소스를 모으기(aggregate)</i>
- . 이 방법은 위임의 극단적인 경우로서, XPCOM
- <i>
- 모음</i>
- (aggregation)을 이용하여 &lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스를 구현하는 것입니다. 기술적인 자세한 사항은 <a href="ko/Aggregating_the_In-Memory_Datasource">메모리 상의 데이터 소스 모으기</a> 문서를 참고하기 바랍니다.</p>
- <p>이 방법은 선택한다면, &lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스의 메소드들을 선택적으로 구현할 수 없으며, 대신
- <i>
- 모든</i>
- 메소드들은 메모리 상의 데이터 소스로 보내져야 합니다(forwarding). 이것은 당신이 가진 데이터 소스들이 "읽기 전용"인 경우에 유용하며 &lt;tt&gt;Assert()&lt;/tt&gt; 등의 메소드를 이용한 데이터의 변경에 대한 걱정이 필요없게 됩니다.</p>
- </li>
- <li>
- <p>
- <i>
- 직접 인터페이스를 구현하기</i>
- . 이 방법을 선택한다면, &lt;tt&gt;nsIRDFDataStore&lt;/tt&gt; 인터페이스의 모든 메소드들을 "직접" 구현해야 합니다. 비록 이 방법에는 더 많은 작업이 요구되지만, 이것은 다른 외부 에이전트들에 의해 변경될 수 있는 "라이브"(live) 데이터 소스를 생성하기 위한 유일한 방법입니다.</p>
- <p><a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/datasource/src/nsFileSystemDataSource.cpp">파일 시스템 데이터 소스</a>와 <a class="external" href="http://lxr.mozilla.org/seamonkey/source/mailnews/local/src/nsMSGFolderDataSource.cpp">로컬 메일 데이터 소스</a> 는 이 방법을 이용해 구현된 좋은 예제입니다.</p>
- <p>만약 당신의 데이터 소스가 "라이브" 데이터 소스 - 새로운 메일이 도착하는 것과 같이 외부 에이전트에 의해 데이터가 변경될 수 있는 데이터 소스 - 라면 이 방법을 선택해야 합니다. 또한 데이터 소스가 (전체 파일 시스템 구조와 같이) 아주 크고 많은 데이터를 위해 모델링된 경우에도 이 방법을 선택해야 합니다.</p>
- </li>
-</ol>
-<p><b>{{ mediawiki.external('각 방법들에 필요한 더 많은 정보가 제공되어야 함') }}</b></p>
-<h4 id="RDF_.EC.BB.A4.EB.A7.A8.EB.93.9C" name="RDF_.EC.BB.A4.EB.A7.A8.EB.93.9C">RDF 커맨드</h4>
-<p><b>{{ mediawiki.external('커맨드의 종류와 커맨드를 구현한 이유 등을 설명') }}</b></p>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8_.EB.93.B1.EB.A1.9D.ED.95.98.EA.B8.B0" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8_.EB.93.B1.EB.A1.9D.ED.95.98.EA.B8.B0">데이터 소스 컴포넌트 등록하기</h3>
-<p>데이터 소스는 <a href="ko/XPCOM">XPCOM</a> 컴포넌트입니다. 따라서 다음과 같은 특징을 가집니다.</p>
-<ol>
- <li>데이터 소스 구현체를 구분(identify)하기 위한 XPCOM
- <i>
- CLSID</i>
- </li>
- <li>DLL 내에 코드가 존재하는 (CLSID에 대응하는) 구현 클래스. DLL은 XPCOM &lt;tt&gt;components&lt;/tt&gt; 디렉토리 내에 존재해야 함.</li>
- <li>저장소 내에 존재(instantiate)하기 위해 XPCOM
- <i>
- ProgID</i>
- 에
- <i>
- 등록</i>
- 할
- <i>
- 팩토리</i>
- (factory)</li>
-</ol>
-<p>컴포넌트를 위해 DLL을 구성하는 방법에 대한 것은 이 문서의 범위를 넘어가므로 생략합니다. 이에 대한 내용은 <a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/build/nsRDFFactory.cpp">the RDF factory</a>를 참조해 보기 바랍니다.</p>
-<p>RDF 데이터 소스를 등록하는 것은 꽤 간단합니다. DLL의 &lt;tt&gt;NSRegisterSelf()&lt;/tt&gt; 메소드에서
- <i>
- 컴포넌트 관리자</i>
- 의 &lt;tt&gt;RegisterComponent()&lt;/tt&gt; 메소드를 호출하기만 하면 됩니다.</p>
-<pre class="eval">extern "C" PR_IMPLEMENT(nsresult)
-NSRegisterSelf(nsISupports* aServiceManager, const char* aPath)
-{
- nsresult rv;
- ...
- // compMgr 는 컴포넌트 관리자 객체를 참조하고 있다고 가정합니다.
- rv = compMgr-&gt;RegisterComponent(kMyDataSourceCID,
- "My Data Source",
- NS_RDF_DATASOURCE_PROGID_PREFIX "my-datasource",
- aPath, PR_TRUE, PR_TRUE);
- ...
-}
-</pre>
-<p>&lt;tt&gt;kMyDataSourceCID&lt;/tt&gt; 를 당신의 CLSID 로 대체하고 &lt;tt&gt;"My Data Source"&lt;/tt&gt; 부분을 저장소에 표시될 데이터 소스에 대한 설명을 포함하는 문장으로 대체합니다. 마지막으로, &lt;tt&gt;"my-datasource"&lt;/tt&gt; 를 당신의 데이터 소스에 알맞은 값으로 바꿉니. 이 값은 &lt;tt&gt;"rdf:"&lt;/tt&gt; 라는 접두어가 붙은 경우
- <i>
- 데이터 소스 ID</i>
- 가 되고, &lt;tt&gt;<a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/base/idl/nsRDFInterfaces.idl#384">nsIRDFService::GetDataSource()</a>&lt;/tt&gt; 메소드를 이용하여 RDF 서비스로부터 당신의 데이터 소스를 얻어오기 위해 사용됩니다. 예를 들어 위의 데이터 소스는 아래와 같은 방법으로 접근할 수 있습니다.</p>
-<pre class="eval">nsIRDFService* rdf;
-rv = nsServiceManager::GetService(kRDFServiceCID,
- kIRDFServiceIID,
- (nsISupports**) &amp;rdf);
-
-if (NS_SUCCEEDED(rv)) {
- nsIRDFDataSource* myDataSource;
- rv = rdf-&gt;GetDataSource("rdf:my-datasource",
- &amp;myDataSource);
-
- if (NS_SUCCEEDED(rv)) {
- // 이 부분에서 myDataSource 를 이용하여 원하는 작업을 수행합니다...
- NS_RELEASE(myDataSource);
- }
- nsServiceManager::ReleaseService(kRDFServiceCID, rdf);
-}
-</pre>
-<h3 id="RDF.EC.9D.98_.EB.82.B4.EC.9A.A9.EC.9D.84_.ED.91.9C.EC.8B.9C.ED.95.98.EA.B8.B0" name="RDF.EC.9D.98_.EB.82.B4.EC.9A.A9.EC.9D.84_.ED.91.9C.EC.8B.9C.ED.95.98.EA.B8.B0">RDF의 내용을 표시하기</h3>
-<p>지금까지 당신이 가지고 있는 정보를 데이터 소스로 표현하기 위해 험난한 길을 헤져 왔다면, 이제 그 정보를 프로그램 상에
- <i>
- 표시</i>
- 하고 싶을 것입니다. <a class="external" href="http://www.mozilla.org/xpfe/languageSpec.html">XUL</a>을 이용하면, 데이터 소스의 내용을
- <i>
- 트리 컨트롤</i>
- 혹은
- <i>
- 메뉴</i>
- 또는
- <i>
- 툴바</i>
- 에 표시할 수 있습니다. 사실, <a href="ko/XUL/Template_Guide">XUL 템플릿</a>을 이용하면
- <i>
- 어떠한</i>
- 형태의 컨텐트 모델에도 RDF 의 내용을 표시할 수 있습니다.</p>
-<p>다음의 XUL 코드는 데이터 소스가 설명하는 자원(&lt;tt&gt;<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>&lt;/tt&gt;)을 "루트"로 하는 트리 컨트롤을 생성하는 방법을 설명합니다.</p>
-<pre class="eval">&lt;window
- xmlns:html="<a class="external" href="http://www.w3.org/1999/xhtml" rel="freelink">http://www.w3.org/1999/xhtml</a>"
- xmlns:rdf="<a class="external" href="http://www.w3.org/TR/WD-rdf-syntax#" rel="freelink">http://www.w3.org/TR/WD-rdf-syntax#</a>"
- xmlns="<a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"&gt;
-
- &lt;tree <b>datasources="rdf:my-datasource" ref="<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>"</b>&gt;
- <b>&lt;template&gt;</b>
- <b>&lt;treechildren&gt;</b>
- <b>&lt;treeitem uri="..."&gt;</b>
- <b>&lt;treerow&gt;</b>
- <b>&lt;treecell&gt;</b>
- <b>&lt;text value="rdf:<a class="external" href="http://home.netscape.com/NC-rdf#Name" rel="freelink">http://home.netscape.com/NC-rdf#Name</a>" /&gt;</b>
- <b>&lt;/treecell&gt;</b>
- <b>&lt;treecell&gt;</b>
- <b>&lt;text value="rdf:<a class="external" href="http://home.netscape.com/NC-rdf#URL" rel="freelink">http://home.netscape.com/NC-rdf#URL</a>" /&gt;</b>
- <b>&lt;/treecell&gt;</b>
- <b>&lt;/treerow&gt;</b>
- <b>&lt;/treeitem&gt;</b>
- <b>&lt;/treechildren&gt;</b>
- <b>&lt;/template&gt;</b>
-
- &lt;treehead&gt;
- &lt;treeitem&gt;
- &lt;treecell&gt;Name&lt;/treecell&gt;
- &lt;treecell&gt;URL&lt;/treecell&gt;
- &lt;/treeitem&gt;
- &lt;/treehead&gt;
-
- &lt;!-- treechildren은 여기에 빌드되어 있습니다. --&gt;
- &lt;/tree&gt;
-
-&lt;/window&gt;
-</pre>
-<p>위에서 굵은 글씨로 표시된 중요한 "매직 속성"들은 다음과 같습니다:</p>
-<ul>
- <li>
- <p>&lt;tt&gt;datasources="rdf:my-datasource"&lt;/tt&gt;. 이것은 공백 문자로 구분되는 (위에서 설명한) 내부의 XPCOM 데이터 소스 "ID" 와 로컬이나 원격 RDF/XML 문서의 URI 들을 포함합니다. 목록에 포함된 각 데이터 소스는 로드되어 데이터 소스 내에 포함된 어서션(assertion)들이 트리 콘트롤을 구성하여 표시될 것입니다.</p>
- </li>
- <li>
- <p>&lt;tt&gt;ref="<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>"&lt;/tt&gt;. 이것은 당신의 컨텐츠 모델 내의 그래프의 루트가 됩니다. &lt;tt&gt;tree&lt;/tt&gt; 태그는 &lt;tt&gt;<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>&lt;/tt&gt; 라는 값의 &lt;tt&gt;ID&lt;/tt&gt; 속성을 가진 것처럼 처리됩니다.</p>
- </li>
- <li>
- <p>&lt;tt&gt;&lt;template&gt;...&lt;/template&gt;&lt;/tt&gt;. 그래프로 부터 컨텐츠를 구성하는 XUL
- <i>
- 템플릿</i>
- 입니다. &lt;tt&gt;tree&lt;/tt&gt; 원소에 해당하는 자원(여기서는 &lt;tt&gt;<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>&lt;/tt&gt;에 해당합니다)을 지정하는 것으로 시작해서, 그래프를 순회하여 &lt;tt&gt;template&lt;/tt&gt; 태그 내에 지정된 패턴들을 사용해서 컨텐츠를 구성합니다.</p>
- </li>
-</ul>
-<p>RDF에서 어떻게 컨텐츠가 구성되는지에 대한 자세한 설명을 원한다면 <a href="ko/XUL/Template_Guide">XUL 템플릿 가이드</a> 문서를 살펴보기 바랍니다.</p>
-<hr>
-<p><br>
- 연락처: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a> <a class="link-mailto" href="mailto:(waterson@netscape.com)" rel="freelink">(waterson@netscape.com)</a></p>
-<div class="originaldocinfo">
- <h2 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원본 문서 정보</h2>
- <ul>
- <li>저자: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
- <li>최종 변경일: 2000년 6월 19일</li>
- <li>저작권: Copyright (C) <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
- </ul>
-</div>
-<p> </p>
diff --git a/files/ko/archive/mozilla/xbl/index.html b/files/ko/archive/mozilla/xbl/index.html
deleted file mode 100644
index 1dcff4d284..0000000000
--- a/files/ko/archive/mozilla/xbl/index.html
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: XBL
-slug: Archive/Mozilla/XBL
-tags:
- - XBL
-translation_of: Archive/Mozilla/XBL
----
-<p><b>XML Binding Language</b>(<b>XBL</b>, 종종 Extensible Bindings Language로도 불림)는 다른 문서의 요소에 덧붙일 수 있는 바인딩을 기술하는 언어입니다. 바인딩이 덧붙는 요소는 "바운드 요소"라 부르고 바인딩이 지정한 새 behavior를 얻습니다.</p>
-<p>바인딩은 바운드 요소에 등록되는 이벤트 핸들러, 바운드 요소로부터 접근하게 되는 새 메소드와 특성(property)의 구현, 바운드 요소 아래에 끼워 넣는 익명(anonymous) 컨텐트를 포함할 수 있습니다.</p>
-<p>대다수의 <a href="ko/XUL">XUL</a> 위젯이 적어도 일부분은 XBL를 써서 구현됩니다. XBL을 써서 기존 <a href="ko/XUL">XUL</a>, <a href="ko/HTML">HTML</a>, <a href="ko/SVG">SVG</a>, 그 밖의 다른 원시 요소(primitive)에서 재사용 가능한 위젯을 빌드할 수 있습니다.</p>
-<h3 id=".EB.AA.85.EC.84.B8" name=".EB.AA.85.EC.84.B8">명세</h3>
-<p>XBL 1.0은 <a href="ko/XBL/XBL_1.0_Reference">XBL 1.0 레퍼런스</a>에 명기되어 있습니다. 불행하게도, Mozilla의 실제 구현은 명세와 다르며 그 차이를 기술한 문서는 아직 알려지지 않았습니다. 레퍼런스가 이 차이를 기술하도록 갱신되기를 희망합니다.</p>
-<p>XBL 1.0은 Mozilla만의 기술이고 <a class="external" href="http://w3.org/">W3C</a> 표준이 아닙니다. 그러나, 적어도 두 개의 표준(sXBL과 XBL 2.0)이 작업 중에 있습니다.</p>
-<ul>
- <li>W3C <a class="external" href="http://w3.org/TR/sXBL/">sXBL</a>(현재 working draft)은
- <i>
- SVG's XML Binding Language</i>
- 를 뜻합니다. <a href="ko/SVG">SVG</a>에 필요한 XBL 2.0 기능의 부분 집합(subset)을 포함할 예정입니다. Mozilla의 XBL과 비슷한 목적을 가지고 있으나 미묘한(또 그리 미묘하지 않은) 차이가 몇 가지 있습니다. 예를 들면, 요소의 이름이 다릅니다. 또한 sXBL은 바인딩 상속과 바운드 요소에 메소드/속성을 정의하는 것 같이 XBL에 있는 몇몇 기능이 빠져 있습니다.</li>
-</ul>
-<ul>
- <li><a class="external" href="http://www.mozilla.org/projects/xbl/xbl2.html">XBL 2.0</a>(<a class="external" href="http://w3.org/TR/XBL/">W3C working draft</a>)은 XBL 1.0에서 발견한 문제점을 처리하고 더 많은 웹 브라우저를 지원하도록 개발하고 있습니다.</li>
-</ul>
-<p>sXBL과 XBL2 사이의 차이는 <a class="external" href="http://annevankesteren.nl/2005/11/xbl">Anne van Kesteren의 글</a>에 나열되어 있습니다.</p>
-<h3 id=".EB.8D.94_.EB.B3.B4.EA.B8.B0" name=".EB.8D.94_.EB.B3.B4.EA.B8.B0">더 보기</h3>
-<ul>
- <li><a href="ko/XUL_Tutorial/Introduction_to_XBL">Introduction to XBL</a> from the <a href="ko/XUL_Tutorial">XUL Tutorial</a>.</li>
- <li><a class="external" href="http://mb.eschew.org/15.php">XBL chapter</a> of <a class="external" href="http://mb.eschew.org/">"Rapid Application Development with Mozilla"</a></li>
-</ul>
-<ul>
- <li><a>More XBL resources...</a></li>
-</ul>
-<p></p>
diff --git a/files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html b/files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html
deleted file mode 100644
index 9f0eab90c9..0000000000
--- a/files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html
+++ /dev/null
@@ -1,387 +0,0 @@
----
-title: Elements
-slug: Archive/Mozilla/XBL/XBL_1.0_Reference/Elements
-translation_of: Archive/Mozilla/XBL/XBL_1.0_Reference/Elements
----
-<p> </p>
-<h2 id="bindings" name="bindings">bindings</h2>
-<p><span class="comment">This section is tested and adjusted for the current Firefox implementation. Please edit only if an actual behavior differs from the described one. Please do not edit only on the basis of another XBL specification.</span></p>
-<pre>&lt;!ELEMENT bindings ( binding* ) &gt;
-
-Hierarchy: root element
-May contain: &lt;binding&gt;
-</pre>
-<p>The <code>bindings</code> element is the root element of any XBL document. It should usually declare XBL as the default namespace (unless an XBL namespace prefix is used) and it may additionally declare other namespace prefixes used in your binding.</p>
-<p><code>bindings</code> contains zero or more <code><a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a></code> elements as children. Each <code><a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a></code> child element defines a unique binding that can be attached to elements in other documents.</p>
-<p>An element can have only one binding attached (explicitly or inherited) at one moment. From several bindings only the last in the sequence will be used (like with any CSS rule).</p>
-<pre>HelloWorld example:
-
-&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"&gt;
-&lt;html&gt;
-&lt;head&gt;
-&lt;title&gt;Hello world!&lt;/title&gt;
-&lt;style type="text/css"&gt;
-p {
- -moz-binding: url(hello.xml#default);
-}
-#p03 {
- -moz-binding: url(hello.xml#hello2);
-}
-&lt;/style&gt;
-&lt;/head&gt;
-&lt;body
-
- &lt;p&gt;Default content&lt;/p&gt;
- &lt;p&gt;Default content&lt;/p&gt;
- &lt;p id="p03"&gt;Default content&lt;/p&gt;
-
-&lt;/body&gt;
-&lt;/html&gt;
-
-// hello.xml
-
-&lt;?xml version="1.0"?&gt;
-&lt;bindings xmlns="http://www.mozilla.org/xbl"
- xmlns:html="http://www.w3.org/1999/xhtml"&gt;
- &lt;binding id="default"&gt;
- &lt;content&gt;&lt;html:b&gt;Hello world! &lt;/html:b&gt;&lt;children/&gt;&lt;/content&gt;
- &lt;/binding&gt;
- &lt;binding id="hello2"&gt;
- &lt;content&gt;&lt;html:b&gt;Hello from my binding! &lt;/html:b&gt;&lt;children/&gt;&lt;/content&gt;
- &lt;/binding&gt;
-&lt;/bindings&gt;
-</pre>
-<p><a class="external" href="http://www.nskom.com/external/xbl/mdc/HelloWorld.html">View this example</a></p>
-<p>Next: <code>&lt;big&gt;bindings &gt; <a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a>&lt;/big&gt;</code> element.</p>
-<h3 id="Notes" name="Notes">Notes</h3>
-<ul>
- <li>In the current stable releases of Mozilla products (e.g. Firefox 2) it is impossible to attach bindings to table sub-elements (rows, cells etc.) You can attach binding only to the table element itself. This has been fixed for future versions of Mozilla products. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=83830" title="FIXED: Binding TD cells (with XBL) doesn't work, at all">bug 83830</a> for more information and for workarounds.</li>
- <li>Default encoding in XML documents (including XBL files) is UTF-8. An explicit encoding declarations may be present to override the default, for example <code>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;</code></li>
- <li>URI in namespace declarations is an opaque string used to uniquely identify the namespace. It doesn't have to (and often it doesn't) point to some actual schema or a namespace-related resource. <a class="external" href="http://www.w3.org/TR/REC-xml-names/#ns-decl">Namespaces in XML</a></li>
- <li>Besides the default namespace, you can declare any amount of additional namespaces to handle your content. The most useful namespaces could be HTML/XHTML, <a href="ko/XUL">XUL</a> (XML User Interface Language), <a href="ko/SVG">SVG</a> (Scalable Vector Graphics) and <a class="external" href="http://www.w3.org/TR/xlink/">XLink</a>. This way a more-or-less universal namespace declaration in your <code>bindings</code> could be like:</li>
-</ul>
-<pre>&lt;bindings xmlns="http://www.mozilla.org/xbl"
- xmlns:html = "http://www.w3.org/1999/xhtml"
- xmlns:xul = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- xmlns:svg = "http://www.w3.org/2000/svg"
- xmlns:xlink= "http://www.w3.org/1999/xlink"&gt;
-</pre>
-<h2 id=".EB.B0.94.EC.9D.B8.EB.94.A9" name=".EB.B0.94.EC.9D.B8.EB.94.A9">바인딩</h2>
-<pre>&lt;!ENTITY % binding-content "(resources?,content?,implementation?,handlers?)"&gt;
-&lt;!ELEMENT binding %binding-content;&gt;
-&lt;!ATTLIST binding
- id ID #REQUIRED
- extends CDATA #IMPLIED
- display CDATA #IMPLIED
- inheritstyle true #IMPLIED
-&gt;
-</pre>
-<p><code>binding</code> 요소는 단일 XBL 바인딩을 기술합니다. XBL 바인딩은 HTML/XML 요소에
- <i>
- <a href="ko/XBL/XBL_1.0_Reference/Elements#_content">anonymous content</a></i>
- ,
- <i>
- <a href="ko/XBL/XBL_1.0_Reference/Elements#field">fields</a></i>
- ,
- <i>
- <a href="ko/XBL/XBL_1.0_Reference/Elements#property">properties</a></i>
- ,
- <i>
- <a href="ko/XBL/XBL_1.0_Reference/Elements#method">methods</a></i>
- ,
- <i>
- <a href="ko/XBL/XBL_1.0_Reference/Elements#handlers">event handlers</a></i>
- 를 추가할 수 있습니다.</p>
-<p>단일 XBL 바인딩은 스타일 시트나 스크립팅을 사용하여 요소에 붙일 수 있습니다 (&lt;table&gt;에 특정한 사항은 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=83830" title="FIXED: Binding TD cells (with XBL) doesn't work, at all">bug 83830</a>를 참고하십시오).</p>
-<p>CSS:</p>
-<pre>div {
- -moz-binding: url(myBinding.xml#default);
-}
-</pre>
-<p>DOM:</p>
-<pre>elementReference.style.MozBinding = "url(myBinding.xml#default}";
-</pre>
-<p>위의 두 가지 경우 모두는 <code>myBinding.xml</code>에 포함된 <code>id="default"</code>를 가진 바인딩을 사용하고 있습니다.</p>
-<p> Firefox 3부터는 바인딩을 인라인으로 삽입하기 위해 <code>data:</code> URL을 사용할 수 있습니다.</p>
-<pre>div {
- -moz-binding: url(data:text/xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%3Cbindings%20id%3D%22xbltestBindings%22%20xmlns%3D%22http%3A//www.mozilla.org/xbl%22%3E%0A%20%20%3Cbinding%20id%3D%22xbltest%22%3E%3Ccontent%3EPASS%3C/content%3E%3C/binding%3E%0A%3C/bindings%3E%0A);
-}
-</pre>
-<p><code>data:</code> URL은 부분 식별자(fragment identifier)를 지원하지 않기 때문에 대신 삽입된 XML에서 발견한 첫 번째 바인딩을 사용합니다. 바인딩은 참조하지 않더라도 아이디가 있어야 한다는 점을 염두해 두십시오.</p>
-<p>앞선 예제의 삽입된 XML은 다음과 같습니다.</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;bindings id="xbltestBindings" xmlns="http://www.mozilla.org/xbl"&gt;
- &lt;binding id="xbltest"&gt;&lt;content&gt;PASS&lt;/content&gt;&lt;/binding&gt;
-&lt;/bindings&gt;
-</pre>
-<p>CSS 선언만이 바인딩을 임의의 요소 집합에 붙이는 쉬운 방법을 제공합니다. 이는 또한 스크립팅이 비할성화되어 있을 때 바인딩이 부분적으로 동작하게 만듭니다. 이 경우 모든 메소드와 핸들러는 차단되지만 익명의 내용과 스타일은 계속 사용됩니다. 그러므로 실행 중에 개별 요소에 바인딩을 추가할 필요가 없다면 항상 CSS 선언을 사용해야 합니다.</p>
-<p><code>binding</code> 요소는 <a href="ko/XBL/XBL_1.0_Reference/Elements#resources">resources</a> 태그, <a href="ko/XBL/XBL_1.0_Reference/Elements#_content">content</a> 태그, <a href="ko/XBL/XBL_1.0_Reference/Elements#implementation">implementation</a> 태그, <a href="ko/XBL/XBL_1.0_Reference/Elements#handlers">handlers</a> 태그를 포함할 수 있습니다.</p>
-<ul>
- <li><code><b>id</b></code> - <code>id</code> 속성은 문서에서 유일한(document-unique) 식별자입니다. <code>binding</code> 요소에서 이 속성은 바인딩을 붙이는데 사용되므로 꼭 필요합니다.</li>
- <li><code><b>extends</b></code> - <code>extends</code> 속성은 이 바인딩이 물려 받은 바인딩의 URL을 지정하는데 사용합니다 (<a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Inheritance_of_Implementations">Inheritance of Implementations</a> 참고). URL은 특정한 바인딩 문서를 지정합니다. 바인딩 문서 내에서 특정 바인딩 <code>id</code>를 가리키려면 # 표시를 꼭 사용해야 합니다. 내용은 상속할 수 없으며 동작만 상속된다는 점에 주의하십시오.</li>
- <li><code><b>display</b></code> - 이 속성은 태그가 표시되는 방법을 지정합니다. 이 속성을 지정함으로써 기존 요소의 레이아웃과 표시 특성을 가진 요소를 가질 수 있습니다. 예를 들어, 'xul:button' 값을 사용하면 버튼처럼 표시되는 요소를 생성할 수 있습니다. 콜론 이전의 부분은 이름 공간 접두어이므로 XUL 이름 공간도 정의해야 합니다. 다음 XML 표시 형식을 사용할 수 있습니다: browser, button, checkbox, description, editor, grippy, iframe, image, label, menu, menuitem, menubar, progressmeter, radio, resizer, scrollbar, scrollbox, spacer, splitter, titlebar, treechildren, treecol. 또한 다수의 HTML, MathML, SVG 태그를 사용할 수 있습니다. 'display' 속성은 <code>extends</code> 속성이 지정되지 않으면 동작하지 않는데, 이는 버그 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=119389" title="display= doesn't work if extends= is not present">bug 119389</a>를 참고하십시오. 이러한 경우에는 <code>display</code> 속성의 값을 <code>extends</code>에 넣으십시오.</li>
- <li><code><b>inheritstyle</b></code> - <code>inheritstyle</code> 속성은 문서의 스타일 규칙이 XBL 바인딩이 생성한 익명의 내용에 영향을 미칠 것인지 가리킵니다. 속성이 true이면 문서의 스타일은 XBL이 생성한 익명의 내용에도 영향을 미칩니다.</li>
-</ul>
-<p> </p>
-<h2 id="content" name="content">content</h2>
-<pre>&lt;!ELEMENT content ANY&gt;
-&lt;!ATTLIST content
- id ID #IMPLIED
-&gt;
-</pre>
-<p>A binding can specify new content that is placed inside the bound element. Although you can see this content on screen as if it was directly in the file, this content is anonymous and is hidden from the normal <a href="ko/DOM">DOM</a>. To access anonymous nodes on an XBL bound element, you can use the <a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#getAnonymousElementByAttribute">getAnonymousElementByAttribute</a> and <a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#getAnonymousNodes">getAnonymousNodes</a> functions. The only XBL element that can appear inside the content tag is the <a href="ko/XBL/XBL_1.0_Reference/Elements#children">children</a> tag. Attributes on the &lt;content&gt; element in the binding are set on the bound element.</p>
-<ul>
- <li><code><b>id</b></code> - The id attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="children" name="children">children</h2>
-<pre>&lt;!ELEMENT children EMPTY&gt;
-&lt;!ATTLIST children
- id ID #IMPLIED
- includes CDATA #IMPLIED
-&gt;
-</pre>
-<p>Specifies the location where any child elements of the bound element are placed in the generated content.</p>
-<p>Normally, if the element bound to has its own content, the anonymous content is not generated. However, with a <code>children</code> element, you can merge the content from the HTML/XML element and the XBL content.</p>
-<p>If the children tag contains content itself, that content will become the default content. If the element the binding is attached to contains content, the default content will be ignored. If the element does not contain content, the default content will be added.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>includes</b></code> - The <code>includes</code> attribute can be used to indicate that only certain content should be placed at the insertion point specified by the <code>children</code> element. Its value can be a tag name or multiple tag names separated by commas. A child can only be placed within the insertion point if it is matched by the value in the <code>includes</code> attribute. Only immediate children are matched against the selector. For example, an XML fragment <code>&lt;customElement&gt;&lt;foobar&gt;&lt;hoge/&gt;&lt;/foobar&gt;&lt;/customElement&gt;</code> with an binding definition <code>&lt;binding id="customElement"&gt;&lt;content&gt;&lt;xul:box&gt;&lt;children includes="hoge"/&gt;&lt;/xul:box&gt;&lt;/content&gt;&lt;/binding&gt;</code> for the <code>customElement</code> element, <code>&lt;xul:box/&gt;</code> becomes empty because the selector <code>includes="hoge"</code> doesn't match for the immediate child <code>foobar</code> element.</li>
-</ul>
-<h2 id="implementation" name="implementation">implementation</h2>
-<pre>&lt;!ENTITY % implementation-content "(method|property)*"&gt;
-&lt;!ELEMENT implementation %implementation-content;&gt;
-&lt;!ATTLIST implementation
- id ID #IMPLIED
- name CDATA #IMPLIED
- implements CDATA #IMPLIED
-&gt;
-</pre>
-<p>The <code>implementation</code> element describes the set of methods and properties that are attached to the bound element. Once the binding is attached, these methods and properties can be invoked directly from the bound element.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>name</b></code> - The <code>name</code> attribute can be used to provide a specific name for an implementation. This name can then be used to reference the implementation. For example, in JavaScript the value of this attribute represents the name of the corresponding class that is constructed for the implementation. If no name attribute is specified then the binding's document URI and id are used to uniquely reference the binding's implementation.</li>
- <li><code><b>implements</b></code> - The <code>implements</code> attribute can be used to describe the set of interfaces that are implemented by the binding. Its value is a comma-separated list of named interfaces. If supported, in strongly typed languages the bound element can be referenced not only as any of the interfaces that the element might already support (e.g., HTMLElement) but also as any of the interfaces described by this attribute. Support of this capability is optional.</li>
-</ul>
-<h2 id="constructor" name="constructor">constructor</h2>
-<p>The code inside the <code>constructor</code> is called when a <code>binding</code> has just been attached to an element. So full access to anonymous nodes generated by the binding is already possible. The <code>constructor</code> tag must be placed inside the <code>implementation</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<div class="note">
- <b>Note:</b> Prior to Firefox 3, the constructor could be called at a time when reflow of the document layout was locked down, so that attempting to get layout information from within the constructor could return out of date information. In Firefox 3 and later, the constructor is called when reflow can take place, which results in up-to-date information being returned. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=398404" title="FIXED: [FIX]Disallow reflow while processing constructors">bug 398404</a> for details.</div>
-<h2 id="destructor" name="destructor">destructor</h2>
-<p>The code inside the <code>destructor</code> is called when a <code>binding</code> is being removed from an element. You can use this to unload resources to free memory. However the <code>destructor</code> is often not called when it should, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=230086" title="Destructor of XBL element isn't called when I remove this element from DOM">bug 230086</a>. The <code>destructor</code> tag must be placed inside the <code>implementation</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="method" name="method">method</h2>
-<pre>&lt;!ENTITY % method-content "(parameter*,body?)"&gt;
-&lt;!ELEMENT method %method-content;&gt;
-&lt;!ATTLIST method
- id ID #IMPLIED
- name CDATA #REQUIRED
- type CDATA #IMPLIED
-&gt;
-</pre>
-<p>The <code>method</code> element is used to describe a single method of a binding implementation.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>name</b></code> - The <code>name</code> attribute's value is the name given to the method when it is attached to the bound element. The method can be invoked directly from the bound element using this value.</li>
-</ul>
-<p>
- <i>
- Example</i>
-</p>
-<pre>&lt;method name="scrollTo"&gt;
- &lt;parameter name="index"/&gt;
- &lt;body&gt;
- this.setAttribute("scrollpos", index);
- &lt;/body&gt;
-&lt;/method&gt;
-</pre>
-<h2 id="parameter" name="parameter">parameter</h2>
-<pre>&lt;!ELEMENT parameter EMPTY&gt;
-&lt;!ATTLIST parameter
- id ID #IMPLIED
- name CDATA #REQUIRED
-&gt;
-</pre>
-<p>The <code>parameter</code> element is used inside a <code>method</code> element. It represents a single parameter of a method.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>name</b></code> - The value of the <code>name</code> attribute is used by script within a method's <code>body</code> element to reference this parameter.</li>
-</ul>
-<h2 id="body" name="body">body</h2>
-<pre>&lt;!ELEMENT body CDATA&gt;
-&lt;!ATTLIST body
- id ID #IMPLIED
-&gt;
-</pre>
-<p>The <code>body</code> element represents the implementation of its corresponding <code>method</code>. Its contents are the script that is executed when the method is invoked.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="field" name="field">field</h2>
-<pre>&lt;!ELEMENT field EMPTY&gt;
-&lt;!ATTLIST field
- id ID #IMPLIED
- name CDATA #REQUIRED
- readonly (true|false) #IMPLIED
-&gt;
-</pre>
-<p>A field is similar to a <code><a href="ko/XBL/XBL_1.0_Reference/Elements#property">property</a></code>, except that it should not have a getter or setter. It is useful as a simple holder for a value. The field element must have content which is code that determines the initial value of the field. The <code>field</code> tag must be inside the <code>implementation</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>name</b></code> - The name of the field. This is the name used to refer to the field on the bound element.</li>
- <li><code><b>readonly</b></code> - If true, this field is read-only. If this attribute is omitted, the field will be readable and writable.</li>
-</ul>
-<div class="note">
- <b>Note:</b> In Firefox 3, fields are now evaluated the first time they're accessed instead of at binding attachment time. This shouldn't cause any problems in typical use cases, but there are cases in which this will impact the behavior of your code. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=372769" title="FIXED: [FIX]&lt;field> evaluation happens at an unsafe time">bug 372769</a> for details.</div>
-<p>Here are some examples of cases in which the behavior of your code may change due to this change in Firefox 3:</p>
-<ol>
- <li>If you have two fields, one named <code>A</code> and one named <code>B</code>, and field <code>A</code> sets <code>.B</code>, the value of <code>.B</code> will depend on whether or not <code>.A</code> has already been accessed.</li>
- <li>If a proto is inserted into the proto chain after binding instantiation, doing so may affect field values (this wasn't the case in prior versions of Firefox).</li>
- <li>At binding attachment time, <code><span class="nowiki">&lt;field name="parentNode"&gt;this.parentNode&lt;/field&gt;</span></code> is undefined instead of the value of <code>parentNode</code>.</li>
- <li>A field no longer changes the value of a property set on the object itself (rather than a proto) before binding attachment.</li>
-</ol>
-<h2 id="property" name="property">property</h2>
-<pre>&lt;!ENTITY % property-content "(getter?,setter?)"&gt;
-&lt;!ELEMENT property %property-content;&gt;
-&lt;!ATTLIST property
- id ID #IMPLIED
- name CDATA #REQUIRED
- readonly (true|false) #IMPLIED
- onget CDATA #IMPLIED
- onset CDATA #IMPLIED
-&gt;
-</pre>
-<p>The <code>property</code> element represents a single property of an implementation. A property consists of a pair of getter/setter functions that can be defined using <code>onget</code>/<code>onset</code> attributes or <a href="ko/XBL/XBL_1.0_Reference/Elements#getter">getter</a>/<a href="ko/XBL/XBL_1.0_Reference/Elements#setter">setter</a> elements underneath the <code>property</code> element. Like methods, once the binding is attached, the property can be obtained directly from the bound element. The <code>property</code> tag must be inside the <code>implementation</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>name</b></code> - The name of the property. This is the name used to refer to the property on the bound element.</li>
- <li><code><b>readonly</b></code> - The <code>readonly</code> attribute is used to designate a property as read-only. If set to <code>true</code>, the value of the property cannot be altered. If this attribute is omitted, the property will be readable and writable.</li>
- <li><code><b>onget</b></code> - The <code>onget</code> attribute's value is a script that executes when the value of the property is requested. If this attribute is set, any initial value contained underneath the element will be ignored. The return value of the script represents the value of the property that will be returned to the requestor. A property getter can also be specified as a child of the <code>property</code> element using the <code>getter</code> tag.</li>
- <li><code><b>onset</b></code> - The <code>onset</code> attribute's value is a script that executes when the value of the property is being altered. If this attribute is set, any initial value contained underneath the element will be ignored. Within the script, the parameter <code>val</code> represents the new value being assigned. The script should always return the actual value assigned in order to allow for chained assignment operations. A property setter can also be specified as a child of the <code>property</code> element using a <code>setter</code> tag.</li>
-</ul>
-<h2 id="getter" name="getter">getter</h2>
-<pre>&lt;!ELEMENT getter PCDATA&gt;
-&lt;!ATTLIST getter
- id ID #IMPLIED
-&gt;
-</pre>
-<p>The <code>getter</code> element contains script that gets executed when a specific property gets called. The <code>getter</code> tag must be inside the <code>property</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="setter" name="setter">setter</h2>
-<pre>&lt;!ELEMENT setter PCDATA&gt;
-&lt;!ATTLIST setter
- id ID #IMPLIED
-&gt;
-</pre>
-<p>The <code>setter</code> element contains script that gets executed when a specific property is being set. The <code>setter</code> tag must be inside the <code>property</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="handlers" name="handlers">handlers</h2>
-<pre>&lt;!ENTITY % handlers-content "handler*"&gt;
-&lt;!ELEMENT handlers %handlers-content;&gt;
-&lt;!ATTLIST handlers
- id ID #IMPLIED
-&gt;
-</pre>
-<p>The <code>handlers</code> element contains event handlers that can be attached to elements within the bound document. These handlers are installed when the binding is attached and removed when the binding is detached. The <code>handlers</code> tag must be inside the <code>binding</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="handler" name="handler">handler</h2>
-<pre>&lt;!ENTITY % handler-content "PCDATA"&gt;
-&lt;!ELEMENT handler %handler-content;&gt;
-&lt;!ATTLIST handler
- id ID #IMPLIED
- event NMREF #REQUIRED
- action CDATA #IMPLIED
- phase (capturing|bubbling|target) #IMPLIED
- button (1|2|3) #IMPLIED
- modifiers CDATA #IMPLIED
- keycode CDATA #IMPLIED
- key CDATA #IMPLIED
- charcode CDATA #IMPLIED
- clickcount (1|2|3) #IMPLIED
- command ID #IMPLIED
- preventdefault false|true #IMPLIED
-&gt;
-</pre>
-<p>The <code>handler</code> element describes a single event handler. This handler is attached to its target at the time the binding is attached and unhooked when the binding is detached from the bound element. The script inside the <code>handler</code> is executed when the event handler is matched. The <code>handler</code> tag must be inside the <code>handlers</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>event</b></code> - The <code>event</code> attribute describes the specific event that this handler is listening for. Its value can be any legal DOM event name (including custom events created using the DocumentEvent interface of the DOM).</li>
- <li><code><b>action</b></code> - The <code>action</code> attribute contains script that is invoked when the handler fires. The <code>type</code> attribute on the enclosing <code>handlers</code> element determines the language of the script. The handler script can also be specified as a child of the <code>handler</code> element.</li>
- <li><code><b>phase</b></code> - This attribute specifies the phase of the event flow that this handler should monitor. The possible values are <code>capturing</code>, <code>bubbling</code>, and <code>target</code>. If a phase is specified, the handler will only be invoked during that phase of the event handling process. If no phase is specified, a default of <code>bubbling</code> is assumed.</li>
- <li><code><b>button</b></code> - The <code>button</code> attribute imposes a
- <i>
- filter</i>
- on the handler. It is used with mouse handlers to specify a particular button. The event handler will only be matched if the value of the <code>button</code> field in the DOM mouse event object matches the value of the attribute.</li>
- <li><code><b>modifiers</b></code> - The <code>modifiers</code> attribute imposes a filter on key and mouse handlers. Its value is a whitespace- or comma-separated list of modifier keys. If present in the list, then the modifier key must be set in the DOM event object in order for the handler to be matched. If the <code>modifiers</code> is not empty and the modifier is not present in the list, then the modifier key must not be set in the DOM event object in order for the handler to be matched.<br>
- Supported modifiers are:
- <ul>
- <li><code>shift</code></li>
- <li><code>alt</code></li>
- <li><code>control</code></li>
- <li><code>meta</code></li>
- <li><code>accel</code> - the platform's primary accelerator key. It is left up to the user agent to decide which modifier key represents the primary key. (It's the Control key on Windows and Meta on Mac.)</li>
- <li><code>accesskey</code> - the platform's primary shortcut mnemonic key should be used (the Alt key on Windows and Linux, has no effect on Mac).</li>
- </ul>
- </li>
- <li><code><b>keycode</b></code> - The <code>keycode</code> attribute imposes a filter on key handlers. Its value is a key identifier for a specific keycode, e.g., <code>vk_enter</code>.<br>
- <i>
- [Editor's Note: A forthcoming DOM events specification will presumably outline the list of valid keycode strings.]</i>
- <br>
- If this attribute is present, then its value must match the <a href="ko/DOM/event.keyCode">keyCode</a> field of the DOM key event object in order for the handler to fire.</li>
- <li><code><b>charcode</b></code> - The <code>charcode</code> attribute imposes a filter on key handlers. Its value is a single character, e.g., "<code>z</code>". If this attribute is present, then its value must match the <a href="ko/DOM/event.charCode">charCode</a> field of the DOM key event object in order for the handler to fire.<br>
- <i>
- [Editor's note: As DOM Events mature more attributes may be added. For example, mutation events define several new fields such as relatedTarget that could be supported in the filtering syntax.]</i>
- </li>
- <li><code><b>key</b></code> - The <code>key</code> attribute has the same meaning as <code>charcode</code>.</li>
- <li><code><b>clickcount</b></code> - The <code>clickcount</code> attribute imposes a
- <i>
- filter</i>
- on the handler. It is used with mouse handlers to specify how many times a button has been clicked. The event handler will only be matched if the value of the <code>clickcount</code> field in the DOM mouse event object matches the value of the attribute.</li>
- <li><code><b>command</b></code> - The id of a command to invoke when the event occurs. If used in a non-chrome document, the entire handler will be ignored.</li>
- <li><code><b>preventdefault</b></code> - If set to true, the default action of the event is not performed. See also <a href="ko/DOM/event.preventDefault">preventDefault</a> method of the Event object.</li>
-</ul>
-<h2 id="resources" name="resources">resources</h2>
-<pre>&lt;!ENTITY % resources-content "(image?,stylesheet?)"&gt;
-&lt;!ELEMENT resources %resources-content;&gt;
-&lt;!ATTLIST property
- id ID #IMPLIED
-&gt;
-</pre>
-<p>Used for inclusion of <a href="ko/XBL/XBL_1.0_Reference#image">image</a> elements, to cache them for later use, and for inclusion of <a href="ko/XBL/XBL_1.0_Reference#stylesheet">stylesheet</a> elements. The <code>resources</code> tag must be used directly inside the <code>binding</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="stylesheet" name="stylesheet">stylesheet</h2>
-<pre>&lt;!ELEMENT stylesheet EMPTY&gt;
-&lt;!ATTLIST stylesheet
- id ID #IMPLIED
- src URI #REQUIRED
-&gt;
-</pre>
-<p>The <code>stylesheet</code> element declares a style sheet used by the binding. The style rules in the style sheet will only be applied to the binding, not to other elements in the document. The <code>stylesheet</code> tag must be inside the <code>resources</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>src</b></code> - The URL of the style sheet to apply to the binding content.</li>
-</ul>
-<h2 id="image" name="image">image</h2>
-<pre>&lt;!ELEMENT image EMPTY&gt;
-&lt;!ATTLIST image
- id ID #IMPLIED
- src URI #REQUIRED
-&gt;
-</pre>
-<p>Declares an image resource used by the binding. The image is loaded as soon as the binding is used. You can use this to preload a number of images for later use. The <code>image</code> tag must be inside the <code>resources</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>src</b></code> - The URL of the image to load.</li>
-</ul>
diff --git a/files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html b/files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html
deleted file mode 100644
index 044d638e52..0000000000
--- a/files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html
+++ /dev/null
@@ -1,118 +0,0 @@
----
-title: XBL 1.0 Reference
-slug: Archive/Mozilla/XBL/XBL_1.0_Reference
-tags:
- - XBL
-translation_of: Archive/Mozilla/XBL/XBL_1.0_Reference
----
-<h3 id=".EC.B4.88.EB.A1.9D" name=".EC.B4.88.EB.A1.9D">초록</h3>
-<p>This document describes Extensible Binding Language (<a href="ko/XBL">XBL</a>) 1.0 as implemented in <a href="ko/Gecko">Gecko</a> browsers.</p>
-<p>Extensible Binding Language is a <a href="ko/XML">XML</a>-based markup language to implement reusable components (
- <i>
- bindings</i>
- ) that can be bound to elements in other documents. The element with a binding specified, called the
- <i>
- bound element</i>
- , acquires the new behavior specified by the binding. Bindings can be bound to elements using Cascading Style Sheets (<a href="ko/CSS">CSS</a>) or <a href="ko/DOM">DOM</a>. One element can be be bound to several bindings at once.</p>
-<p>Functionally bindings should be correlated with <a class="external" href="http://msdn.microsoft.com/workshop/components/htc/reference/htcref.asp">Behaviors</a> and <a class="external" href="http://msdn.microsoft.com/workshop/author/behaviors/overview/viewlink_ovw.asp">Viewlink</a> but being implemented as one integrated XML solution.</p>
-<p>Bindings can contain event handlers that are registered on the bound element, an implementation of new methods and properties that become accessible from the bound element, and anonymous content that is inserted around the bound element.</p>
-<div class="note">
- <p>There are numerous adjustments in the current implementation in comparison of <a class="external" href="http://www.w3.org/TR/xbl/">earlier XBL proposals</a>, and not all of them are reflected yet in this document. The documentation process is still in progress: please keep it in your mind while using the provided information.</p>
-</div>
-<h3 id="XBL_.EC.9A.94.EC.86.8C" name="XBL_.EC.9A.94.EC.86.8C"><a href="ko/XBL/XBL_1.0_Reference/Elements">XBL 요소</a></h3>
-<ul>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#bindings">bindings</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#_content">content</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#children">children</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#implementation">implementation</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#constructor">constructor</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#destructor">destructor</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#field">field</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#property">property</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#getter">getter</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#setter">setter</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#method">method</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#parameter">parameter</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#body">body</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#handlers">handlers</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#handler">handler</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#resources">resources</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#stylesheet">stylesheet</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#image">image</a></code></li>
-</ul>
-<h3 id="Binding_Attachment_and_Detachment" name="Binding_Attachment_and_Detachment"><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment">Binding Attachment and Detachment</a></h3>
-<ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#Attachment_using_CSS">Attachment using CSS</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#Attachment_using_element.style_property">Attachment using element.style property</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#.3Cconstructor.3E_call">&lt;constructor&gt; call</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#.3Cdestructor.3E_call">&lt;destructor&gt; call</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#Binding_Documents">Binding Documents</a></li>
-</ul>
-<h3 id="DOM_Interfaces" name="DOM_Interfaces"><a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces">DOM Interfaces</a></h3>
-<ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#The_DocumentXBL_Interface">The DocumentXBL Interface</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#The_ElementXBL_Interface">The ElementXBL Interface</a></li>
-</ul>
-<h3 id="Anonymous_Content" name="Anonymous_Content"><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content">Anonymous Content</a></h3>
-<ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Introduction">Introduction</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Scoping_and_Access_Using_the_DOM">Scoping and Access Using the DOM</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Content_Generation">Content Generation</a>
- <ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Rules_for_Generation">Rules for Generation</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#The_contentgenerated_Event">The contentgenerated Event</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#The_contentdestroyed_Event">The contentdestroyed Event</a></li>
- </ul>
- </li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Attribute_Forwarding">Attribute Forwarding</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Insertion_Points">Insertion Points</a>
- <ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#.3Cchildren.3E_and_.3Celement.3E">&lt;children&gt; and &lt;element&gt;</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Handling_DOM_Changes">Handling DOM Changes</a></li>
- </ul>
- </li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Event_Flow_and_Targeting">Event Flow and Targeting</a>
- <ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Flow_and_Targeting_Across_Scopes">Flow and Targeting Across Scopes</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Focus_and_Blur_Events">Focus and Blur Events</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Mouseover_and_Mouseout_Events">Mouseover and Mouseout Events</a></li>
- </ul>
- </li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Anonymous_Content_and_CSS">Anonymous Content and CSS</a>
- <ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Selectors_and_Scopes">Selectors and Scopes</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Binding_Stylesheets">Binding Stylesheets</a></li>
- </ul>
- </li>
-</ul>
-<h3 id="Binding_Implementations" name="Binding_Implementations"><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations">Binding Implementations</a></h3>
-<ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Introduction">Introduction</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Methods">Methods</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Properties">Properties</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Inheritance_of_Implementations">Inheritance of Implementations</a></li>
-</ul>
-<h3 id="Event_Handlers" name="Event_Handlers"><a href="ko/XBL/XBL_1.0_Reference/Event_Handlers">Event Handlers</a></h3>
-<h3 id="Example_-_Sticky_Notes" name="Example_-_Sticky_Notes"><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes">Example - Sticky Notes</a></h3>
-<p>Updated and adjusted for the current Firefox implementation.</p>
-<div class="note">
- <p>This example is targeted to demonstrate the XBL usage rather than to be a practically useful application. For this reason it contains many comments and some blocks could be avoided in a more compact solution yet used here for demonstration purposes.</p>
-</div>
-<ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes#notes.html">notes.html</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes#notes.xml">notes.xml</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes#notes.css">notes.css</a></li>
-</ul>
-<p><a class="external" href="http://www.nskom.com/external/xbl/notes.html">View this example</a></p>
-<p><br>
- <span class="comment"><a class="external" href="http://www.nskom.com/external/xbl/notes.zip" title="http://www.nskom.com/external/xbl/notes.zip">Download all files (.zip archive)</a> need to ask to adjust the server - it gives "Access denied" for zip files (?)</span></p>
-<h3 id="References" name="References">References</h3>
-<p><a class="external" href="http://www.w3.org/TR/xbl/">Initial XBL 1.0 proposal submitted as a Note to W3C</a></p>
-<p><a class="external" href="http://www.mozilla.org/projects/xbl/xbl2.html">XBL 2.0 Project</a></p>
-<div class="originaldocinfo">
- <h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
- <ul>
- <li>Last Updated Date: April 24, 2006</li>
- </ul>
-</div>
diff --git a/files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html b/files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html
deleted file mode 100644
index 33b4f14f44..0000000000
--- a/files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html
+++ /dev/null
@@ -1,121 +0,0 @@
----
-title: Dialogs in XULRunner
-slug: Archive/Mozilla/XULRunner/Dialogs_in_XULRunner
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner/Dialogs_in_XULRunner
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Windows_and_menus_in_XULRunner" style="float: left;">« 이전</a><br></p>
-</div><p></p>
-<p><a href="ko/Windows_and_menus_in_XULRunner">이전 기사에서는</a> 창, 메뉴, 도구바를 만드는데 사용되는 간단한 XUL에 대해 알아봤습니다. 이번에는 사용자 정의 대화상자와 표준 운영체제(공통) 대화상자에 대해 알아보겠습니다. 대화상자는 데스크탑 응용 프로그램를 구성하는 기본 요소들입니다. 어떤 종류의 대화상자는 너무 자주 사용되므로 OS에서 기본적인 구현을 제공하기도 합니다. 파일 열기와 저장 대화상자가 대표적인 예입니다. 가능하면 응용 프로그램간의 사용자가 느끼는 일관된 체험(일관성)을 유지하기 위해 제공되는 "기본(native)" 대화상자를 재활용하는 것이 좋습니다.</p>
-<h2 id=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.A0.95.EC.9D.98_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90" name=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.A0.95.EC.9D.98_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90">사용자 정의 대화상자</h2>
-<p>XUL로 대화상자를 만드는 것은 윈도우를 만드는 것과 아주 유사합니다. 대화상자는 독립된 XUL 파일에 정의됩니다. XUL에서는 대화상자의 컨테이너로 동작하는 <code><a href="/ko/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code> 요소를 제공합니다. 대화상자 XUL 파일은 윈도우와 마찬가지로 DTD, CSS, JavaScript를 포함할 수 있습니다. 아래는 XUL 대화상자의 예제입니다.</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;dialog id="myDialog" title="My Dialog"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- onload="window.sizeToContent();"
- buttons="accept,cancel"
- buttonlabelaccept="Set Favorite"
- buttonaccesskeyaccept="S"
- ondialogaccept="return doSave();"
- buttonlabelcancel="Cancel"
- buttonaccesskeycancel="n"
- ondialogcancel="return doCancel();"&gt;
-
- &lt;script&gt;
- function doSave(){
- //doSomething()
- return true;
- }
-
- function doCancel(){
- return true;
- }
- &lt;/script&gt;
-
- &lt;dialogheader title="My dialog" description="Example dialog"/&gt;
- &lt;groupbox flex="1"&gt;
- &lt;caption label="Select favorite fruit"/&gt;
- &lt;radiogroup&gt;
- &lt;radio id="1" label="Oranges because they are fruity"/&gt;
- &lt;radio id="2" selected="true" label="Strawberries because of color"/&gt;
- &lt;radio id="3" label="Bananna because it pre packaged"/&gt;
- &lt;/radiogroup&gt;
- &lt;/groupbox&gt;
-
-&lt;/dialog&gt;
-</pre>
-<p>XUL window 요소는 대화상자를 여는데(open) 사용되는 <code><a href="ko/DOM/window.openDialog">window.openDialog()</a></code>라는 특별한 메소드를 가지고 있습니다. 다음은 대화상자를 여는데 사용되는 코드입니다.</p>
-<pre class="eval">function openDialog() {
- window.openDialog("<a class="external" rel="freelink">chrome://basicapp/content/dialog.xul</a>", "newdlg", "modal");
-}
-</pre>
-<p>Windows 200에서 위 코드로 열린 대화상자는 다음과 같으며, 다른 운영체제도 비슷한 모양세일 것입니다.</p>
-<p><img alt="Image:XULDialogExample.png"></p>
-<p><code><a href="/ko/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code> 요소에서 나의 눈을 사로잡은 첫번째는 버튼과 관련된 속성입니다. 개발자들이 좀 더 쉽게 접근하고 사용자들에게 일관성을 제공하기 위해 XUL은 핵심적인 대화상자 버튼("확인", "취소", "도움말" 등)들을 자동으로 만들고 배치해주는 메커니즘을 제공하고 있습니다.</p>
-<p>개발자는 필요한 버튼들을 명시하고 각 버튼에 대한 제목과 단축키 그리고 버튼이 눌러졌을 때 호출될 JavaScript 함수를 지정하기만 하면 됩니다. XUL이 대화상자내에서 버튼에 대한 위치와 스타일을 알아서 처리해 줍니다. 이러한 방식은, 운영체제들마다 대화상자 내 버튼의 위치가 고유의 컨벤션을 가지고 있다는 점을 생각해 보면, 크로스 플랫폼(cross-platform) 응용 프로그램을 개발하는데 있어 아주 좋은 환경을 제공해 준다고 할 수 있습니다.</p>
-<p>아래는 <code><a href="/ko/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code>에서 버튼과 관련된 속성들 중 일부 입니다. 도 참조해 보세요.</p>
-<dl>
- <dt>
- <code><a href="ko/XUL/Attribute/buttons">buttons</a></code></dt>
- <dd>
- 대화상자에 표시할 버튼들의 쉼표로 분리된 목록(<code>accept</code>, <code>cancel</code>, <code>help</code>, <code>extra1</code>, and <code>extra2</code>).</dd>
- <dt>
- <code><a href="ko/XUL/Attribute/buttonlabelaccept">buttonlabelaccept</a></code></dt>
- <dd>
- 확인 버튼을 위한 라벨, 다른 버튼에도 비슷한 속성이 존재합니다.</dd>
- <dt>
- <code><a href="ko/XUL/Attribute/buttonaccesskeyaccept">buttonaccesskeyaccept</a></code></dt>
- <dd>
- 확인 버튼에 사용되는 단축키, 다른 버튼에도 비슷한 속성이 존재합니다.</dd>
- <dt>
- <code><a href="ko/XUL/Attribute/ondialogaccept">ondialogaccept</a></code></dt>
- <dd>
- 확인 버튼이 눌러졌을때 실행될 JavaScript, 다른 버튼에도 비슷한 속성이 존재합니다.</dd>
-</dl>
-<p>XUL에는 다양한 종류의 입력 컨트롤들이 존재하며, 대화상자에도 사용할 수 있습니다. 이 후 기사에서는 현재 사용되고 있는, 그리고 앞으로 계획된 XUL 입력 컨트롤에 대해 좀 더 자세히 알아보려고 합니다. 제가 <code><span class="nowiki">&lt;dialogheader&gt;</span></code>를 사용하게 될지 확실하지 않지만, 이 하나의 요소만으로 간단하게 헤더를 만드는데 시간을 줄여줍니다.</p>
-<h2 id=".EA.B3.B5.ED.86.B5_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90" name=".EA.B3.B5.ED.86.B5_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90">공통 대화상자</h2>
-<p>가장 자주 사용되는 공통 대화상자는 파일 열기와 저장하기 입니다. 예를 들어 윈도우즈에서는 예전부터 내장된 파일 열기와 저장하기 대화상자를 제공하고 있고 Mac 또한 마찬가지 있습니다. 이러한 것들은 응용 프로그램 개발자들을 편하게 해 줄 뿐만 아니라 사용자들에게도 일관성 있는 인터페이스를 제공하여 사용하기 쉽게 해 줍니다. XUL에서도 filepicker(Mozilla에서는 파일 열기와 저장하기 대화상자를 이렇게 부릅니다)의 네이티브 구현을 지원하고 있습니다. 향후 릴리즈에서는 사용자가 원한다면 설정을 통해 XUL filepicker로 전환할 수 있는 기능을 제공할 것입니다. XUL filepicker는 <a href="ko/XPCOM">XPCOM</a> 컴포넌트로, 사용 전에 다음과 같이 초기화되어야 합니다.</p>
-<pre>function doFileOpen() {
- /* See: http://developer.mozilla.org/en/docs/XUL_Tutorial:Open_and_Save_Dialogs */
-
- var nsIFilePicker = Components.interfaces.nsIFilePicker;
- var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
-
- fp.init(window, "Open File", nsIFilePicker.modeOpen);
- fp.appendFilters(nsIFilePicker.filterText | nsIFilePicker.filterAll);
-
- var res = fp.show();
- if (res == nsIFilePicker.returnOK) {
- var thefile = fp.file;
- alert(thefile.leafName);
- // --- do something with the file here ---
- }
-}
-</pre>
-<p>XUL에서 현재는 다른 공통 대화상자를 제공하고 있지는 못합니다. 향후 버전에서는 수정될 것입니다. Firefox와 Thunderbird는 모두 페이지 설정과 인쇄 공통 대화상자를 지원하고 있습니다. 또한 XUL에서는 마법사를 만드는 요소를 지원합니다.</p>
-<p>본 시리즈의 향후 기사들에서는 입력 컨트롤, 인쇄, 클립보드, XPCOM에 대해서 알아볼 것입니다.</p>
-<h2 id=".EC.B0.B8.EA.B3.A0_.EB.AC.B8.EC.84.9C" name=".EC.B0.B8.EA.B3.A0_.EB.AC.B8.EC.84.9C">참고 문서</h2>
-<ul>
- <li><a href="ko/XUL/dialog">XUL:dialog</a></li>
- <li><a class="external" href="http://www.xulplanet.com/tutorials/xultu/dialogs.html">Creating dialogs</a></li>
- <li><a href="ko/XUL_Tutorial/Creating_Dialogs">XUL Tutorial:Creating Dialogs</a></li>
- <li><a href="ko/NsIFilePicker">nsIFilePicker</a></li>
- <li><a href="ko/XUL_Tutorial/Open_and_Save_Dialogs">XUL Tutorial:Open and Save Dialogs</a></li>
-</ul>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Windows_and_menus_in_XULRunner" style="float: left;">« 이전</a><br></p>
-</div><p></p>
-<div class="originaldocinfo">
- <h2 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C">원본 문서</h2>
- <ul>
- <li>저자: Mark Finkle</li>
- <li>최종 수정일: October 2, 2006</li>
- </ul>
-</div>
-<div class="noinclude">
-  </div>
diff --git a/files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html b/files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html
deleted file mode 100644
index 2207ae7ae0..0000000000
--- a/files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: Getting started with XULRunner
-slug: Archive/Mozilla/XULRunner/Getting_started_with_XULRunner
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner/Getting_started_with_XULRunner
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Windows_and_menus_in_XULRunner">다음 »</a></p>
-</div><p></p>
-<p>본 기사에서는 <a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a>를 이용하여 기본적인 데스크탑 응용프로그램을 개발해봄으로써 Mozilla 플랫폼에 대해 알아보겠습니다. Firefox, Thunderbird, 기타 다양한 응용프로그램들이 이 플랫폼을 이용하여 작성되었으며, 기본적인 응용 프로그램을 개발하기에 사용될 수 있을 만큼 충분히 안정적입니다.</p>
-<p>여러분이 XUL 기반의 데스크탑 응용 프로그램을 개발려고자 한다면, XULRunner를 설치해야 할 것입니다. 먼저 XULRunner를 설치한 후, 골격만 있는 프로그램을 실행해서 제대로 동작하는지 확인해 보겠습니다.</p>
-<h2 id="1.EB.8B.A8.EA.B3.84:_XULRunner_.EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C" name="1.EB.8B.A8.EA.B3.84:_XULRunner_.EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C">1단계: XULRunner 다운로드</h2>
-<p>여러분은 MDC의 메인 <a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a> 페이지에서 다운로드 링크를 찾을 수 있습니다.</p>
-<p>Windows 버전의 XULRunner는 인스톨러가 아니고 zip 파일로 제공됩니다. 개발자 입장에서는 내 장비에 압축을 해제하기만 하면 된다는 아이디어가 마음에 듭니다. Windwos 시스템을 건드릴 필요가 없을 것 같아서 좋습니다.</p>
-<p>Mac 버전의 경우는 표준 Mac OS X 인스톨러로 배포됩니다.</p>
-<h2 id="2.EB.8B.A8.EA.B3.84:_XULRunner_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0" name="2.EB.8B.A8.EA.B3.84:_XULRunner_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0">2단계: XULRunner 설치하기</h2>
-<p>Windows에서는 적당한 위치에 압축을 해제하세요. 나는 <code>C:\program files\xulrunner</code> 폴더를 새로 만들고 이곳에 압축을 풀었습니다. 지금까지는 꽤 간단합니다. Mac의 경우에는 그냥 인스톨러를 실행하면 <code>/Library/Frameworks</code> 디렉토리에 <code>XUL.Framework</code>로 설치되게 됩니다.</p>
-<p>이제 간단한 뼈대만 있는 간단한 응용 프로그램 껍데기를 만들 시간입니다. 괜찮다면 이 프로그램을 XUL 버전의 "Hello World"라고 하겠습니다. Google 검색을 해보면 <a class="external" href="http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx">괜찮은 자습서</a>를 발견할 수 있습니다. 읽어볼만 합니다. 자습서를 읽고서 나는 간단한 시작 응용 프로그램을 만들었습니다. 아래에 있는 내용들은 모두 Ryans의 자습서과 이곳 MDC에 있는 <a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a>에서도 볼 수 있는 내용들입니다.</p>
-<h2 id="3.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.ED.8F.B4.EB.8D.94_.EA.B5.AC.EC.A1.B0_.EC.83.9D.EC.84.B1" name="3.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.ED.8F.B4.EB.8D.94_.EA.B5.AC.EC.A1.B0_.EC.83.9D.EC.84.B1">3단계: 응용 프로그램 폴더 구조 생성</h2>
-<p>윈도우에서, 내 경우 루트 폴더를 <code>c:\program files\myapp</code>로 생성했지만, 아무곳이나 괜찮습니다. 다음은 하위 폴더 구조입니다.</p>
-<pre>/myapp
- /chrome
- /content
- main.xul
- chrome.manifest
- /defaults
- /preferences
- prefs.js
- application.ini
-</pre>
-<p>위의 폴더 구조에 4개의 파일 - <code>application.ini</code>, <code>chrome.manifest</code>, <code>prefs.js</code>, <code>main.xul</code> - 이 있다는 것을 명심하세요.</p>
-<h2 id="4.EB.8B.A8.EA.B3.84:_application.ini_.EC.84.A4.EC.A0.95" name="4.EB.8B.A8.EA.B3.84:_application.ini_.EC.84.A4.EC.A0.95">4단계: <code>application.ini</code> 설정</h2>
-<p><code><a href="/ko/XUL_Application_Packaging" title="ko/XUL_Application_Packaging">application.ini</a></code> 파일은 여러분이 작성하는 응용 프로그램에 대한 XULRunner의 시작점입니다. 이 파일에서는 여러분이 작성한 응용 프로그램이 XULRunner 플랫폼을 어떤 의도로 사용할 것인가를 제시하며, XULRunner가 응용 프로그램을 실행하는데 필요한 정보들에 대한 설정을 포함합니다. 제가 작성한 것은 다음과 같습니다.</p>
-<pre>[App]
-Vendor=Finkle
-Name=Test App
-Version=1.0
-BuildID=20060101
-Copyright=Copyright (c) 2006 Mark Finkle
-ID=xulapp@starkravingfinkle.org
-
-[Gecko]
-MinVersion=1.8
-MaxVersion=1.8
-</pre>
-<p><span class="comment">not really... You can find more information about the &lt;tt&gt;application.ini&lt;/tt&gt; file in the article <a href="/ko/XULRunner/Deploying_XULRunner_1.8">XULRunner:Deploying XULRunner 1.8</a>.</span></p>
-<p><em>주의:</em> 2007 nightly trunk XULRunner build에서 본 예제 프로그램을 실행시키기려면 MaxVersion을 1.9로 수정하세요.</p>
-<h2 id="5.EB.8B.A8.EA.B3.84:_Chrome_.EC.84.A0.EC.96.B8_.EC.84.A4.EC.A0.95" name="5.EB.8B.A8.EA.B3.84:_Chrome_.EC.84.A0.EC.96.B8_.EC.84.A4.EC.A0.95">5단계: Chrome 선언 설정</h2>
-<p><a href="/ko/Chrome_Registration" title="ko/Chrome_Registration">Chrome 선언</a> 파일은 응용 프로그램에 포함된 자원(resource)의 위치를 나타내기 위해 XULRunner가 사용하는 URI들을 정의합니다. 이는 "chrome://" URI가 사용되는 방법을 보면 잘 알 수 있습니다. 응용 프로그램 chrome은 하나 혹은 몇개의 JAR 파일로 구성되거나 또는 압축되지 않은 폴더와 파일로 구성될 수 있습니다. 여기서는 압축되지 않은 방법을 사용할 것입니다. 내가 작성한 선언 파일은 다음과 같습니다.</p>
-<pre class="eval"> content myapp file:content/
-</pre>
-<div class="note">주의: 응용 프로그램 이름은 소문자이고 3자 이상이어야 합니다.</div>
-<h2 id="6.EB.8B.A8.EA.B3.84:_.ED.99.98.EA.B2.BD_.EC.84.A4.EC.A0.95_.EA.B5.AC.EC.84.B1" name="6.EB.8B.A8.EA.B3.84:_.ED.99.98.EA.B2.BD_.EC.84.A4.EC.A0.95_.EA.B5.AC.EC.84.B1">6단계: 환경 설정 구성</h2>
-<p><code>prefs.js</code> 파일에는 XULRunner가 메인 윈도우로 사용할 XUL 파일명에 대한 정보가 포함되어 있습니다. 내 것은 다음과 같습니다.</p>
-<pre class="eval"> pref("toolkit.defaultChromeURI", "<a class=" external" rel="freelink">chrome://myapp/content/main.xul</a>");
-</pre>
-<p>XULRunner 환경 설정에는 다음과 같은 것들이 포함됩니다.</p>
-<dl> <dt><code><a href="/ko/Toolkit.defaultChromeURI" title="ko/Toolkit.defaultChromeURI">toolkit.defaultChromeURI</a></code></dt> <dd>응용 프로그램이 실행될 때 열릴 기본 윈도우를 지정합니다.</dd> <dt><code><a href="/ko/Toolkit.defaultChromeFeatures" title="ko/Toolkit.defaultChromeFeatures">toolkit.defaultChromeFeatures</a></code></dt> <dd>메인 윈도우가 열릴 때 <code><a href="/ko/Window.open" title="ko/Window.open">window.open()</a></code> 코드에 포함될 기능(feature)들을 지정합니다.</dd> <dt><code><a href="/ko/Toolkit.singletonWindowType" title="ko/Toolkit.singletonWindowType">toolkit.singletonWindowType</a></code></dt> <dd>응용 프로그램이 한번에 하나의 인스터스만을 가지도록 설정합니다.</dd>
-</dl>
-<p>이 내용들은 <a href="/ko/XULRunner/Specifying_Startup_Chrome_Window" title="ko/XULRunner/Specifying_Startup_Chrome_Window">XULRunner:Specifying Startup Chrome Window</a>에 좀 더 자세히 설명되어 있습니다.</p>
-<h2 id="7.EB.8B.A8.EA.B3.84:_XUL_.EB.A7.8C.EB.93.A4.EA.B8.B0" name="7.EB.8B.A8.EA.B3.84:_XUL_.EB.A7.8C.EB.93.A4.EA.B8.B0">7단계: XUL 만들기</h2>
-<p>마지막으로 간단한 XUL 윈도우를 만들어야 하는데, 이는 <code>main.xul</code> 파일에 잘 나와 있습니다. 여기 있는 내용은 특별한 건 없고 창을 만들기 위해 필요한 최소한의 것들만 포함되어 있습니다.</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;window id="main" title="My App" width="300" height="300"
-xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
- &lt;caption label="Hello World"/&gt;
-&lt;/window&gt;
-</pre>
-<div class="note">주의: XML/XUL 파일의 맨 처음에 공백이 있으면 안됩니다.</div>
-<h2 id="8.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0" name="8.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0">8단계: 응용 프로그램 실행하기</h2>
-<p>결정적 순간입니다. 응용 프로그램을 실행하기 위해 XULRunner가 필요합니다. Windows의 명령창을 열고 <code>C:\program files\myapp</code> 폴더로 이동한 후 다음의 명령어를 실행하세요.</p>
-<pre class="eval"> xulrunner.exe application.ini
-</pre>
-<p>물론, xulrunner.exe는 <code>PATH</code>에 포함되어 있어야 합니다. xulrunner.exe가 경로에 포함되어 있지 않다면 다음과 같이 실행할 수 있습니다.</p>
-<pre class="eval"> ..\xulrunner\xulrunner.exe application.ini
-</pre>
-<p>Mac에서는 터미널 창을 열고 <code>myapp</code> 디렉토리로 이동한 후 다음과 같이 입력하시면 됩니다.</p>
-<pre class="eval"> /Library/Frameworks/XUL.framework/xulrunner-bin application.ini
-</pre>
-<p>여러분은 다음과 같이 생긴 창을 볼 수 있을 것입니다. 다음 화면은 Ubuntu에서의 화면입니다.</p>
-<p><img alt="Image:XULSampleMyapp.png" class=" internal" src="/@api/deki/files/2089/=XULSampleMyapp.png"></p>
-<h3 id=".EB.8B.A4.EB.A5.B8_.EB.B0.A9.EB.B2.95:_Firefox3_-app.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.B4_XUL_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.84_.EC.8B.A4.ED.96.89.EC.8B.9C.ED.82.A4.EA.B8.B0" name=".EB.8B.A4.EB.A5.B8_.EB.B0.A9.EB.B2.95:_Firefox3_-app.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.B4_XUL_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.84_.EC.8B.A4.ED.96.89.EC.8B.9C.ED.82.A4.EA.B8.B0">다른 방법: Firefox3 -app를 이용해 XUL 응용 프로그램을 실행시키기</h3>
-<p>Firefox 3에서는 커맨드 라인을 통해 브라우저 대신 XUL 응용 프로그램이 실행되도록 할 수 있습니다. 이는 XULRunner를 이용하여 XUL 응용 프로그램을 실행하는 것과 비슷합니다. <a href="/ko/XULRunner_tips#Using_Firefox_3_to_run_XULRunner_applications" title="ko/XULRunner_tips#Using_Firefox_3_to_run_XULRunner_applications">Firefox 3를 이용한 XULRunner 응용 프로그램 실행하기</a>를 참조하세요.</p>
-<p><a class="external" href="http://developer.mozilla.org/samples/xulrunner/myapp.zip">예제 프로젝트</a> 다운받기.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Windows_and_menus_in_XULRunner">다음 »</a></p>
-</div><p></p>
-<div class="originaldocinfo">
-<h2 id=".EC.9B.90.EB.B3.B8_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EC.A0.95.EB.B3.B4">원본 정보</h2>
-<ul> <li>저자: Mark Finkle</li> <li>최종 수정일: 2006년 10월 2일</li>
-</ul>
-</div>
-
-<p> </p>
diff --git a/files/ko/archive/mozilla/xulrunner/index.html b/files/ko/archive/mozilla/xulrunner/index.html
deleted file mode 100644
index 8e736dc6f8..0000000000
--- a/files/ko/archive/mozilla/xulrunner/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: XULRunner
-slug: Archive/Mozilla/XULRunner
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner
----
-<p> </p>
-<div class="callout-box"><strong><a href="/ko/Getting_started_with_XULRunner" title="ko/Getting_started_with_XULRunner"> XULRunner 입문서</a></strong><br>
-XULRunner에 대한 간단한 소개.</div>
-<div>
-<p><strong>XULRunner</strong>는 Mozilla 실행시 동작하는(runtime) 패키지로서 Firefox와 Thunderbird의 기능을 풍부하게 하는 XUL과 XPCOM을 불러오게(bootstrap)할 수 있습니다. XULRunner는 XUL 혹은 XPCOM 프로그램을 설치, 업그레이드 그리고 삭제할 수 있는 기능을 제공합니다. XULRunner는 또한 libxul을 지원하는데 이는 다른 프로젝트 혹은 프로그램에 Mozilla를 내장시킬 수 있게 하는 것입니다.</p>
-</div>
-<table class="topicpage-table"> <tbody> <tr> <td> <h4 id=".EC.A0.9C.ED.92.88_.EC.86.8C.EA.B0.9C" name=".EC.A0.9C.ED.92.88_.EC.86.8C.EA.B0.9C">제품 소개</h4> <div class="note"> <p>XULRunner trunk (XULRunner 1.9)의 nightly builds는 <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/">Mozilla FTP 사이트</a>에서 다운로드 받을 수 있습니다. 설치, 제거, 그 외 정보들은 <a href="/ko/XULRunner_1.8.0.4_Release_Notes" title="ko/XULRunner_1.8.0.4_Release_Notes">1.8 제품 소개서</a>를 읽어보세요.</p> <p>Firefox 3 beta에는 전용 XULRunner 패키지가 포함되어 있으며, 이를 이용해 다른 XULRunner 응용 프로그램을 실행할 수 있습니다.</p> <p><a href="/ko/XULRunner//Old_Releases" title="ko/XULRunner//Old_Releases">이전 빌드</a>들도 사용 가능합니다.</p> </div> <h4 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94">개요</h4> <ul> <li><a class="wikimo" href="https://wiki.mozilla.org/XULRunner:Roadmap" title="개발 로드맵">개발 로드맵</a></li> <li><a href="/ko/XULRunner/What_XULRunner_Provides" title="ko/XULRunner/What_XULRunner_Provides">XULRunner가 제공하는 기능</a></li> <li><a href="/ko/XULRunner_FAQ" title="ko/XULRunner_FAQ">자주 하는 질문</a></li> <li>Nightly builds: <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/">unstable-trunk</a></li> </ul> <h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"><a href="/Special:Tags?tag=XULRunner&amp;language=ko" title="Special:Tags?tag=XULRunner&amp;language=ko">문서</a></h4> <dl> <dt><a href="/Special:Tags?tag=XULRunner&amp;language=ko" title="Special:Tags?tag=XULRunner&amp;language=ko">모두 보기...</a></dt> </dl> <dl> <dt><a href="/ko/Getting_started_with_XULRunner" title="ko/Getting_started_with_XULRunner"> XULRunner 입문서</a></dt> <dd><small>XULRunner로 데스크탑 응용프로그램을 개발하는 간단한 자습서.</small></dd> </dl> <dl> <dt><a class="external" href="http://zenit.senecac.on.ca/wiki/index.php/XULRunner_Guide">XULRunner 가이드</a></dt> <dd><small>A fairly complete introduction and tutorial for XULRunner which collates much of the documentation found here.</small></dd> </dl> <dl> <dt><a class="external" href="http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx">XULRunner 배우기</a></dt> <dd><small>XULRunner에 관한 간단한 소개.</small></dd> </dl> <dl> <dt><a href="/ko/XULRunner_tips" title="ko/XULRunner_tips">XULRunner tips</a></dt> <dd><small>XULRunner를 사용하는 데 있어서의 팁 모음</small></dd> </dl> <dl> <dt><a href="/ko/XULRunner/Deploying_XULRunner_1.8" title="ko/XULRunner/Deploying_XULRunner_1.8">XULRunner 1.8 배포하기</a></dt> <dd><small>XULRunner 1.8는 현재 stable developer preview release 입니다. 이 문서는 단일형식(standalone)의 XUL 응용프로그램을 개발환경에서 배포하는데 XULRunner가 어떻게 사용되는가에 관한 내용입니다. </small></dd> </dl> <dl> <dt><a href="/ko/XULRunner_Hall_of_Fame" title="ko/XULRunner_Hall_of_Fame">XULRunner 명예의 전당</a></dt> <dd><small>XULRunner을 기반으로한 모든 응용프로그램들을 찾아보실 수 있습니다.</small></dd> </dl> <dl> <dt><a href="/ko/Build_Documentation" title="ko/Build_Documentation">Build Documentation</a></dt> <dd><small>소스를 가져와서 빌드하는 방법을 배울 수 있습니다.</small></dd> </dl> <dl> <dt><a href="/ko/Debugging_a_XULRunner_Application" title="ko/Debugging_a_XULRunner_Application">Debug Documentation</a></dt> <dd><small>여러분의 응용 프로그램을 디버그하기 위해 Venkman을 설정하는 방법</small></dd> </dl> </td> <td> <h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0">커뮤니티</h4> <ul> <li>Mozilla 포럼 보기...</li> </ul> <p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-platform"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.platform"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.platform/feeds"> 웹 Feed</a></li>
-</ul><p></p> <ul> <li><a class="link-irc" href="irc://irc.mozilla.org/#xulrunner">#xulrunner on irc.mozilla.org</a></li> <li><a href="/ko/XULRunner/Community" title="ko/XULRunner/Community">Other community links...</a></li> </ul> <h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C">관련 주제</h4> <dl> <dd><a href="/ko/XUL" title="ko/XUL">XUL</a></dd> </dl> </td> </tr> </tbody>
-</table>
-<p><span class="comment">Categories</span></p>
-<p><span class="comment">Interwiki Language Links</span></p>
-<p> </p>
-<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html b/files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html
deleted file mode 100644
index c4b6c5ed6f..0000000000
--- a/files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: What XULRunner Provides
-slug: Archive/Mozilla/XULRunner/What_XULRunner_Provides
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner/What_XULRunner_Provides
----
-<p> </p>
-<p><a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a>의 목적은 XUL 어플리케이션(주요하게 파이어폭스와 썬더버드)을 구축하기 위한 방안 뿐만 아니라 내장 기법을 제공하는 것입니다. 다음 특징이 이미 구현되어 있거나 계획되어 있습니다.</p>
-<p> </p>
-<h3 id="Gecko_Features" name="Gecko_Features">Gecko Features</h3>
-<ul>
- <li><a href="/ko/XPCOM" title="ko/XPCOM">XPCOM</a></li>
- <li>네트워킹</li>
- <li>Gecko 렌더링 엔진</li>
- <li>DOM 편집과 트랜잭션 지원 (no UI)</li>
- <li>암호화</li>
- <li><a href="/ko/XBL" title="ko/XBL">XBL</a> (XBL2 계획됨)</li>
- <li><a href="/ko/XUL" title="ko/XUL">XUL</a></li>
- <li><a href="/ko/SVG" title="ko/SVG">SVG</a></li>
- <li><a href="/ko/XSLT" title="ko/XSLT">XSLT</a></li>
- <li>XML Extras (<code><a href="/ko/XMLHttpRequest" title="ko/XMLHttpRequest">XMLHttpRequest</a></code>, <code><a href="/ko/DOMParser" title="ko/DOMParser">DOMParser</a></code>, etc.)</li>
- <li>웹서비스 (SOAP)</li>
- <li>자동 업데이트 지원 <em>(아직 완성 안됨)</em></li>
- <li>Type ahead find toolbar</li>
- <li>히스토리 구현 (the places implementation in the 1.9 cycle)</li>
- <li>Accessibility 지원</li>
- <li>gecko 기반 어플리케이션 간의 IPC 서비스 <em>(아직 완성 안됨)</em></li>
- <li><a href="/ko/Storage" title="ko/Storage">Storage</a>/sqlite interfaces <em>(기본으로 활성화되지 않음)</em></li>
-</ul>
-<h3 id=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_Features" name=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_Features">사용자 인터페이스 Features</h3>
-<p>XULRunner는 다음과 같은 사용자 인터페이스를 제공하며, 특정 조건하에 XULRunner기반 어플리케이션에서 사용하게 됩니다.</p>
-<ul>
- <li>XUL 어플리케이션을 설치 및 제거하고 업그레이드하는데 필요한 API와 사용자 인터페이스를 제공합니다. 더 많은 정보는 <a class="wikimo" href="https://wiki.mozilla.org/XUL:Installation_Story" title="wikimo:XUL:Installation Story">wikimo:XUL:Installation Story</a>를 보세요.</li>
- <li>Extension Manager</li>
- <li>File picker (uses native OS filepicker as appropriate)</li>
- <li>Find toolbar</li>
- <li>Helper app dialog/UI</li>
- <li>Security UI (maintenance of SSL keychains, etc)</li>
-</ul>
-<h3 id="Embedding_APIs" name="Embedding_APIs">Embedding APIs</h3>
-<p>XULRunner는 다음과 같은 임베딩 API를 제공합니다.</p>
-<ul>
- <li>크로스 플랫폼 임베딩(Cross-platform embedding) (XRE_InitEmbedding)</li>
- <li><a href="/ko/JavaXPCOM" title="ko/JavaXPCOM">JavaXPCOM</a> 임베딩</li>
- <li>gtkmozembed (리눅스 only)</li>
- <li>ActiveX 콘트롤 (윈도즈 only) <em>(아직 완성 안됨)</em></li>
- <li>NSView 기반 위젯 (Mac OS X only) <em>(아직 완성 안됨)</em></li>
-</ul>
-<h3 id="The_.22Maybe.22_List" name="The_.22Maybe.22_List">The "Maybe" List</h3>
-<p>다음 기능은 이미 논의되어왔고 향후 추가될 예정입니다.</p>
-<ul>
- <li>LDAP 지원</li>
- <li>Spellchecking 지원 (사전 제공 또는 제공없이) <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=285977">bug 285977</a>참고</li>
- <li>프로파일 로밍을 위한 코어 지원(with application-specific extensibility)</li>
- <li><a href="/ko/PyXPCOM" title="ko/PyXPCOM">PyXPCOM</a> 임베딩 <em>(아직 완성 안됨)</em></li>
-</ul>
-<h3 id="What.27s_out" name="What.27s_out">What's out</h3>
-<p>다음과 같은 기능은 제공하지 않습니다.</p>
-<ul>
- <li>북마크 또는 히스토리 UI (애플리케이션에 의해 관리되어야함)</li>
- <li>XForms (XForms은 확장으로 제공됨)</li>
-</ul>
diff --git a/files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html b/files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html
deleted file mode 100644
index 498bee239e..0000000000
--- a/files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html
+++ /dev/null
@@ -1,107 +0,0 @@
----
-title: XUL Application Packaging
-slug: Archive/Mozilla/XULRunner/XUL_Application_Packaging
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner/XUL_Application_Packaging
----
-<p><a href="ko/XULRunner">XULRunner</a> 응용프로그램 꾸러미(package)는 (Firefox 확장 기능처럼) 표준 <a href="ko/Bundles">toolkit 묶음</a>인데, 응용프로그램 기술을 돕는 추가 manifest 파일(&lt;tt&gt;application.ini&lt;/tt&gt;)을 하나 갖습니다. XUL 응용프로그램 꾸러미는 대체로 ZIP으로 압축되며 확장자는 .xulapp나 .xpi입니다. XULRunner 명령줄 flag "-install-app"로 설치할 수 있습니다(<a href="ko/XULRunner_1.8.0.4_Release_Notes">XULRunner 1.8.0.4 출시 노트</a> 참조).</p>
-<h3 id="application.ini" name="application.ini">application.ini</h3>
-<p>&lt;tt&gt;application.ini&lt;/tt&gt; manifest는 확장기능의 루트에 위치하고 XULRunner가 바르게 응용프로그램을 띄우게 하는 메타데이터(metadata)를 제공합니다. 파일은 &lt;tt&gt;[Headings]&lt;/tt&gt;와 &lt;tt&gt;Key=Value&lt;/tt&gt; 쌍을 갖는 Windows 방식 INI 파일로 분석됩니다. &lt;tt&gt;;&lt;/tt&gt;이나 &lt;tt&gt;#&lt;/tt&gt;으로 시작하는 줄은 주석으로 여깁니다.</p>
-<p>본보기 application.ini 파일은 <a href="https://dxr.mozilla.org/mozilla-central/source/xulrunner/examples/simple/application.ini" rel="custom">mozilla source tree</a>에 있습니다.</p>
-<h4 id=".5BApp.5D_.EC.A0.88" name=".5BApp.5D_.EC.A0.88">[App] 절</h4>
-<p>&lt;tt&gt;App&lt;/tt&gt; 절(section)은 응용프로그램에 관한 메타데이터를 지정합니다.</p>
-<p> </p>
-<dl>
- <dt>
- Name</dt>
- <dd>
- 응용프로그램 이름을 지정합니다.<br>
- 필수.<br>
- 보기: &lt;tt&gt;Name=TestApplication&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- Version</dt>
- <dd>
- 응용프로그램 판 번호를 지정합니다.<br>
- 필수.<br>
- 판 번호 매김 세부 사항은 <a href="ko/Toolkit_version_format">Toolkit 판 구성</a> 참조.<br>
- 보기: &lt;tt&gt;Version=0.1&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- BuildID</dt>
- <dd>
- 유일한 build 식별자(identifier)를 지정합니다. 이는 대체로 날짜 식별자이고 매 응용프로그램 출시 때마다 달라야 합니다.<br>
- 필수.<br>
- 보기: &lt;tt&gt;BuildID=20060201&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- ID</dt>
- <dd>
- 유일한 응용프로그램 ID를 지정합니다.<br>
- 필수.<br>
- 응용프로그램 ID는, <a href="ko/Install_Manifests#id">확장 기능 ID</a>와 같이, email &lt;tt&gt;<a class="link-mailto" href="mailto:ApplicationName@vendor.tld" rel="freelink">ApplicationName@vendor.tld</a>&lt;/tt&gt;이나 UUID &lt;tt&gt;{12345678-1234-1234-1234-123456789abc}&lt;/tt&gt; 형식 중 하나처럼 구성할 수 있습니다. 새로 개발된 응용프로그램은 email 형식을 권장합니다.<br>
- 보기: &lt;tt&gt;<a class="link-mailto" href="mailto:ID=TestApplication@example.tld" rel="freelink">ID=TestApplication@example.tld</a>&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- Vendor</dt>
- <dd>
- 응용프로그램 vendor를 지정합니다.<br>
- 선택.<br>
- 보기: &lt;tt&gt;Vendor=Grinch Productions&lt;/tt&gt;
- <p> </p>
- </dd>
-</dl>
-<h4 id=".5BGecko.5D_.EC.A0.88" name=".5BGecko.5D_.EC.A0.88">[Gecko] 절</h4>
-<p>&lt;tt&gt;Gecko&lt;/tt&gt; 절은 응용프로그램에 필요한 XULRunner 판을 지정합니다.</p>
-<p> </p>
-<p> </p>
-<dl>
- <dt>
- MinVersion</dt>
- <dd>
- 이 응용프로그램에 필요한 XULRunner 최소판을 지정합니다.<br>
- 필수.<br>
- 보기: &lt;tt&gt;MinVersion=1.8&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- MaxVersion</dt>
- <dd>
- 이 응용프로그램에 필요한 XULRunner 최대판을 지정합니다.<br>
- 선택 - 기본값은 XULRunner 2판보다 작은 판입니다.<br>
- 보기: &lt;tt&gt;MaxVersion=1.8.0.*&lt;/tt&gt;
- <p> </p>
- </dd>
-</dl>
-<h4 id=".5BXRE.5D_.EC.A0.88" name=".5BXRE.5D_.EC.A0.88">[XRE] 절</h4>
-<p>&lt;tt&gt;XRE&lt;/tt&gt; 절은 사용할 수 있는 다양한 XULRunner 시동 기능들을 지정합니다.</p>
-<p> </p>
-<p> </p>
-<dl>
- <dt id="em">
- EnableExtensionManager</dt>
- <dd>
- 확장 기능과 확장 기능 관리를 사용 여부를 지정합니다. 맞는 값은 1과 0입니다.<br>
- 선택 - 기본값은 0입니다.<br>
- 주의: 이 옵션은 확장 기능/테마 관리자를 UI에서 이용할 수 있게 하는 메뉴 항목을 추가하지 않습니다; 그 일은 응용프로그램 제작자 몫입니다.<br>
- 보기: &lt;tt&gt;EnableExtensionManager=1&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- EnableProfileMigrator&lt;/dt&gt;</dt>
- <dd>
- 응용프로그램을 처음으로 띄우고 프로파일이 없을 때, nsIProfileMigrator 인터페이스를 통해 프로파일 이전 코드 사용 여부를 지정합니다. 맞는 값은 1과 0입니다.<br>
- 선택 - 기본값은 0입니다.<br>
- 주의: 응용프로그램 제작자에게 <a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/profile/public/nsIProfileMigrator.idl" rel="custom">nsIProfileMigrator 인터페이스</a>를 구현할 책임이 있습니다; 만약 구현이 없으면 이전이 수행되지 않습니다.<br>
- 보기: &lt;tt&gt;EnableProfileMigrator=1&lt;/tt&gt;
- <p> </p>
- </dd>
-</dl>
-<p><span class="comment">Interwiki Language Links</span></p>
-<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html b/files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html
deleted file mode 100644
index 35b81ee4da..0000000000
--- a/files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: XULRunner FAQ (자주 하는 질문)
-slug: Archive/Mozilla/XULRunner/XULRunner_FAQ
-tags:
- - FAQ
- - XUL
- - XULRunner
- - 도움말
- - 주요문의
- - 질문과 답변
-translation_of: Archive/Mozilla/XULRunner/FAQ
----
-<p> </p>
-<p>이 페이지는 <a href="/en-US/docs/XULRunner" style="line-height: inherit;" title="/en-US/docs/XULRunner">XULRunner</a>에 관한 많은 분들의 질문들에 대한 답변과 공통적으로 오해하는 내용들을 바로잡기 위해 작성되었습니다.</p>
-<p> </p>
-<dl>
- <dt>
- XULRunner는 브라우저인가요?</dt>
- <dd>
- 아니오. 브라우저<span style="line-height: inherit;">(</span><a class="external" href="http://benjamin.smedbergs.us/xulrunner/" style="line-height: inherit;">제가 만든 브라우저 예제</a><span style="line-height: inherit;"> 또는  Firefox)를 만들기 위해 XULRunner를 사용하실 수는 있습니다. 하지만 </span><span style="line-height: inherit;">"XULRunner browser" 같은 건 없습니다.</span></dd>
- <dt>
- XULRunner는 개발 도구인가요?</dt>
- <dd>
- 딱히 그렇다고 볼 순 없습니다. XULRunner는 인터넷 기술 실행도구(Runtime)입니다. XULRunner는 (예를 들면 <a class="external" href="http://www.alphaworks.ibm.com/tech/ajaxtk" style="line-height: inherit;">AJAX Toolkit Framework</a><span style="line-height: inherit;"> 같은) </span><span style="line-height: inherit;">개발 도구의 제작에 활용될 수 있습니다.</span><span style="line-height: inherit;"> 훗날에는 다양한 개발 도구들을 포함하는 XULRunner 개발 키트(Developer Kit)가 나올 수도 있겠지요.</span></dd>
- <dt>
- XULRunner를 Java, .NET(또는 Python) 등의 다른 실행도구(Runtime)들과 비교하면 어떻게 다른가요?</dt>
- <dd>
- XULRunner의 목적은 인터넷 응용프로그램의 개발과 배포를 더욱 빠르게 해주기 위한 것입니다. 그렇기 때문에 모든 기능을 포함하는 실행도구가 될 필요가 없는 것이지요. 이러한 이유로 다른 여타의 방대한 기능을 제공하는 실행도구들에 비해, XULRunner는 아주 약간의 변화와 더욱 간소화된 배포 전략을 취할 수 있었습니다.</dd>
- <dt>
- XULRunner를 사용한다면 저의 응용 프로그램을 XUL로 작성해야만 하나요?</dt>
- <dd>
- 아닙니다! 여러분은 Mozilla 웹 플랫폼<span style="line-height: inherit;">(HTML, XHTML, SVG 또는 XUL이 포함됨)</span><span style="line-height: inherit;">에 의해 지원되는 어떠한 언어로도 응용 프로그램을 만드실 수 있습니다.</span></dd>
- <dt>
- 그렇다면 왜 XULRunner이라고 불러야 하죠? HTMLRunner나 다른 이름으로도 불러도 될텐데?</dt>
- <dd>
- XUL은 mozilla의 응용 프로그램의 UI에 항상 선택되어 왔던 기본 언어였습니다. 그리고  메인 라이브러리의 명칭이 libXUL이였습니다. 이런 이유들로 불리워진 이름이 고착화 되어서 지금에 이르게 된 것이지요.</dd>
- <dt>
- 언제쯤이면 Firefox가 XULRunner 기반으로 제작될 예정이지요?</dt>
- <dd>
- FireFox의 공식 배포 버전을 그렇게 변경하지는 않을 것입니다. 이미 XULRunner 기반으로 FireFox를 실행하는 것은 지금도 가능하고, 일부 Linux 배포판에서도 이미 이런 식으로 구동이 되고 있습니다.</dd>
- <dt>
- XULRunner의 설치는 왜 그리 어려운가요? 쉽고 편리한 설치 도구는 없나요?</dt>
- <dd>
- 왜나하면 아직 아무도 그런 코드를 만들지 않아서입니다! 다음은 개발자 프리뷰 배포 내용입니다.</dd>
- <dd>
- XULRunner 및 XULRunner 기반 응용 프로그램의 설치와 배포를 위한 추가 기능들은 차후의 릴리즈에 반영될 것입니다.</dd>
- <dt>
- XUL 응용 프로그램을 제작 중인데요, 저의 사용자들에게 어떻게 응용 프로그램을 배포할 수 있나요?</dt>
- <dd>
- 지금 현재로써 Mozilla는 각각의 응용 프로그램별로 XULRunner를 따로 포함시켜 배포하시기를 권해 드립니다. 더 자세한 정보는 <a href="https://developer.mozilla.org/en/XULRunner/Deploying_XULRunner_1.8" style="line-height: inherit;" title="en/XULRunner/Deploying_XULRunner_1.8">XULRunner 1.8 배포하기</a><span style="line-height: inherit;">를 확인하세요.</span></dd>
- <dt>
- 소스 코드는 어디에서 찾을 수 있나요?</dt>
- <dd>
- <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/source/xulrunner-1.8.0.4-source.tar.bz2" style="padding-right: 16px; background-color: transparent;">여기에서 확인하세요.</a></dd>
- <dt>
- 제가 버그를 발견한 것 같은데요, 어떻게 알려드릴 수 있나요?</dt>
- <dd>
- <a class="external link-https" href="https://bugzilla.mozilla.org/" style="padding-right: 16px; background-color: transparent;">bugzilla.mozilla.org</a> 사이트는 모든 Mozilla 제품들의 버그를 추적하기 위해 이용됩니다. 미리 검색을 해서 여러분의 버그가 아직 보고되지 않은 것임을 확인해 주세요.</dd>
- <dt>
- 어떻게 도움을 줄 수 있나요?</dt>
- <dd>
- XULRunner에 도움을 주고 싶지만 어디에서부터 시작해야 할지를 모르신다면, <a href="https://developer.mozilla.org/en/XULRunner/Community" title="en/XULRunner/Community">XULRunner:커뮤니티</a> 페이지를 방문해서 뉴스그룹이나 IRC 채널에서 질문해 보세요.</dd>
-</dl>
-<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html b/files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html
deleted file mode 100644
index ed5384c6b1..0000000000
--- a/files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html
+++ /dev/null
@@ -1,178 +0,0 @@
----
-title: XULRunner Hall of Fame
-slug: Archive/Mozilla/XULRunner/XULRunner_Hall_of_Fame
-tags:
- - XUL
- - XULRunner
- - enterprise
-translation_of: Archive/Mozilla/XULRunner/Hall_of_Fame
----
-<p> </p>
-<h3 id="XULRunner_.EA.B8.B0.EB.B0.98_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8" name="XULRunner_.EA.B8.B0.EB.B0.98_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8">XULRunner 기반 프로그램</h3>
-<ul>
- <li><a class="external" href="http://chatzilla.rdmsoft.com/xulrunner/">ChatZilla</a>
- <ul>
- <li>ChatZilla IRC client 독립 프로그램.</li>
- </ul>
- </li>
- <li><a class="external" href="http://ffsearchplugins.free.fr/clines/index.php#xulrunner">Clines</a>
- <ul>
- <li>Color Lines 게임 프로그램</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.psyc.us">CocoaPSYC.app</a>
- <ul>
- <li>A <a class="external" href="http://about.psyc.eu">PSYC</a> IM/Chat client for Mac OS X (Also available as a Firefox extension)</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.twinsoft.com/intl/en/cariocaweb/convertigo-ems-enterprise-mashup-server.htm">Convertigo Enterprise Mashup Server</a>
- <ul>
- <li>기업형 매쉬업 서비스를 만들기 위한 프로그램</li>
- </ul>
- </li>
- <li><a class="external" href="http://daim.project.free.fr/">DAIM (fr)</a> / <a class="external" href="http://daim.project.free.fr/index_en.html">DAIM (English)</a>)
- <ul>
- <li>superb tool for image analysis build on top of a professional imagelib</li>
- </ul>
- </li>
- <li><a class="external" href="http://developer.emusic.com/">eMusic Remote</a>
- <ul>
- <li>The eMusic Remote makes downloading from eMusic a snap.</li>
- </ul>
- </li>
- <li><a class="external" href="http://open-ils.org/">Evergreen - Staff Client</a>
- <ul>
- <li>Evergreen is an open source library system.</li>
- </ul>
- </li>
- <li><a class="external" href="http://mathijs.jurresip.nl/findthatfont/">FindThatFont!</a>
- <ul>
- <li>Font managing tool for Windows and Linux, that helps you find the font you're looking for.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.jakinbidea.com/?page_id=39">GencatRss</a>
- <ul>
- <li>An RSS feeds manager.</li>
- </ul>
- </li>
- <li><a class="external" href="http://services.google.com/adwordseditor/index.html">Google AdWords Editor</a>
- <ul>
- <li>AdWords Editor is Google's free, downloadable account management application for your computer.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.birgin.de/produkte/ida/index_EN.php">IDA</a>
- <ul>
- <li>E-Learning authoring system to easily create web based learning applications</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.joost.com/">Joost</a> (previously codenamed <a class="external" href="http://www.theveniceproject.com">The Venice Project</a>)
- <ul>
- <li>"All the things you love about TV, fused with the interactive power of the internet"</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.kirix.com/">Kirix Strata</a>
- <ul>
- <li>A new specialty browser for accessing and manipulating data from the web</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.mangoproject.org/">Mango</a>
- <ul>
- <li>A Jabber client.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.getmiro.com/">Miro Media Player</a> (formerly known as Democracy Player)
- <ul>
- <li>"the free and open source internet TV platform"</li>
- </ul>
- </li>
- <li><a class="external" href="http://davidkellogg.com/wiki/Main_Page">Plain Old Webserver</a>
- <ul>
- <li>A fully-functioning webserver that runs server-side Javascript.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.songbirdnest.com/">Songbird</a>
- <ul>
- <li>"Songbird™ is a desktop Web player, a digital jukebox and Web browser mash-up"</li>
- </ul>
- </li>
- <li><a class="external" href="http://telekast.sourceforge.net/">TeleKast</a>
- <ul>
- <li>An open source teleprompter and script editor</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.tomtom.com">TomTom HOME 2</a>
- <ul>
- <li>PC application to manage TomTom GPS devices</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.openwengo.org">WengoPhone</a>
- <ul>
- <li>A SIP/XMPP-based IM/VoIP client.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www-03.ibm.com/developerworks/blogs/page/CompApps?entry=how_to_run_xul_applications">Lotus Notes / Sametime</a>
- <ul>
- <li>The latest version of IBM Lotus Notes and Sametime can embed xul application.</li>
- </ul>
- </li>
- <li><a class="external" href="http://developer.mozilla.org/en/docs/Category:Mozilla_Webclient">Embed XULRunner in Java</a></li>
-</ul>
-<h3 id=".EC.9C.A0.ED.8B.B8.EB.A6.AC.ED.8B.B0.2F.ED.94.84.EB.A1.9C.ED.86.A0.ED.83.80.EC.9E.85" name=".EC.9C.A0.ED.8B.B8.EB.A6.AC.ED.8B.B0.2F.ED.94.84.EB.A1.9C.ED.86.A0.ED.83.80.EC.9E.85">유틸리티/프로토타입</h3>
-<ul>
- <li><a class="external" href="http://www.eclipse.org/atf/">AJAX Toolkit Framework (ATF)</a>
- <ul>
- <li>A part of the Eclipse Web Tools Platform (WTP)</li>
- </ul>
- </li>
- <li>Benjamin's <a class="external" href="http://benjamin.smedbergs.us/xulrunner/">XULRunner examples</a>
- <ul>
- <li>"mybrowser is a very simple example browser", xulmine</li>
- </ul>
- </li>
- <li><a class="external" href="http://exch.mozdev.org/">Exch</a>
- <ul>
- <li>A currency conversion tool using updated data from <a class="external" href="http://finance.yahoo.com/currency" rel="freelink">http://finance.yahoo.com/currency</a>. You can use the Firefox extension or the stand-alone XUL application.</li>
- </ul>
- </li>
- <li><a class="external" href="http://opendocumentfellowship.org/odfviewer">OpenDocument Viewer</a>
- <ul>
- <li>Cross-platform viewer for OpenDocument files.</li>
- </ul>
- </li>
- <li><a class="external" href="http://blogs.acceleration.net/ryan/articles/2018.aspx">TaskPool</a>
- <ul>
- <li>TaskPool is a little application to help keep track of time. You can add tasks to a pool, turn them on and off, and it will tick off seconds.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.treebuilder.de/default.asp?file=257091.xml">SVGclock</a>
- <ul>
- <li>An SVG-based clock.</li>
- </ul>
- </li>
- <li><a class="external" href="http://simile.mit.edu/crowbar/">Crowbar</a>
- <ul>
- <li>A web scraping environment based on the use of a server-side headless mozilla-based browser.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.jinsync.com/?q=node/9">30b</a>
- <ul>
- <li>A XULRunner-based wrapper for 30boxes.com</li>
- </ul>
- </li>
- <li><a class="external" href="http://starkravingfinkle.org/blog/xul-explorer/">XUL Explorer</a>
- <ul>
- <li>"a lightweight XUL IDE... an easy way to experiment with XUL"</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.smellman.homelinux.org/mozilla/xulapp.html#foxkehclock">Foxkeh Clock</a> (for Japanese page)
- <ul>
- <li>A clock application based charactor <a class="external" href="http://www.foxkeh.com/">Foxkeh</a>.</li>
- </ul>
- </li>
- <li><a class="external" href="http://starkravingfinkle.org/blog/2007/07/webrunner-05-now-with-more-power/">WebRunner</a>
- <ul>
- <li>A simple, minimal web browser shell or "Single site browser." Useful for running web applications such as gmail in a separate browser process.</li>
- </ul>
- </li>
-</ul>
-<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html b/files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html
deleted file mode 100644
index 44d681cd22..0000000000
--- a/files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html
+++ /dev/null
@@ -1,168 +0,0 @@
----
-title: XULRunner tips
-slug: Archive/Mozilla/XULRunner/XULRunner_tips
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner/Tips
----
-<p>XULRunner Frequently Asked Questions. Work in progress.</p>
-<h2 id="Extension_Manager" name="Extension_Manager">Extension Manager</h2>
-<p>To be able to install any extensions, you first need to enable the Extension Manager in <a href="ko/XUL_Application_Packaging#em">application.ini</a>. XULRunner 1.8.0 does not load extensions from the application directory; only the XULRunner directory and the user profile directory are checked. The following prefs must also be set to make the XPInstall dialog, extension manager, and theme manager work:</p>
-<pre class="eval">pref("xpinstall.dialog.confirm", "<a class="external" rel="freelink">chrome://mozapps/content/xpinstall/x...allConfirm.xul</a>");
-pref("xpinstall.dialog.progress.skin", "<a class="external" rel="freelink">chrome://mozapps/content/extensions/...ul?type=themes</a>");
-pref("xpinstall.dialog.progress.chrome", "<a class="external" rel="freelink">chrome://mozapps/content/extensions/...ype=extensions</a>");
-pref("xpinstall.dialog.progress.type.skin", "Extension:Manager-themes");
-pref("xpinstall.dialog.progress.type.chrome", "Extension:Manager-extensions");
-pref("extensions.update.enabled", true);
-pref("extensions.update.interval", 86400);
-pref("extensions.dss.enabled", false);
-pref("extensions.dss.switchPending", false);
-pref("extensions.ignoreMTimeChanges", false);
-pref("extensions.logging.enabled", false);
-pref("general.skins.selectedSkin", "classic/1.0");
-// NB these point at AMO
-pref("extensions.update.url", "<a class="external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
-pref("extensions.getMoreExtensionsURL", "<a class="external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
-pref("extensions.getMoreThemesURL", "<a class="external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
-</pre>
-<h2 id="Useful_Chrome_URLs" name="Useful_Chrome_URLs">Useful Chrome URLs</h2>
-<p>Most of these require <a href="#Branding"> branding</a>.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>Window</th>
- <th>URL</th>
- <th>Window Type</th>
- </tr>
- <tr>
- <td>Extension Manager</td>
- <td><a class="external" rel="freelink">chrome://mozapps/content/extensions/...ype=extensions</a></td>
- <td>Extension:Manager-extensions</td>
- </tr>
- <tr>
- <td>Theme Manager</td>
- <td><a class="external" rel="freelink">chrome://mozapps/content/extensions/...ul?type=themes</a></td>
- <td>Extension:Manager-themes</td>
- </tr>
- <tr>
- <td>JavaScript Console</td>
- <td><a class="external" rel="freelink">chrome://global/content/console.xul</a></td>
- <td>global:console</td>
- </tr>
- <tr>
- <td>about:config</td>
- <td><a class="external" rel="freelink">chrome://global/content/config.xul</a></td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-<h2 id="Developer_Extensions" name="Developer_Extensions">Developer Extensions</h2>
-<p>--<a>Tlaurenzo</a> 17:34, 17 March 2006 (PST)There is another way to go about this. See my <a class="external" href="http://tjlaurenzo.blogspot.com/2006/03/getting-dev-tools-working-with.html">blog post</a> for a working method to get Venkman and the Extension Developer's Extension working in XULRunner apps.</p>
-<h3 id="Venkman" name="Venkman"><a href="ko/Venkman">Venkman</a></h3>
-<ul>
- <li>Need a custom build or a compatible extension</li>
- <li>Need to edit compatibility in
- <i>
- install.rdf</i>
- to match the id and versions in application.ini</li>
- <li>Needs a method to start venkman (usually by overlaying the main XUL file, similar to existing code for Firefox, Suite, etc.)</li>
- <li>The function toOpenWindowByType() needs to be defined. I found a working stub on <a class="external" href="http://tjlaurenzo.blogspot.com/2006/03/getting-dev-tools-working-with.html">this blog</a>. Any better suggestion?</li>
- <li>Venkman uses "<a class="external" rel="freelink">chrome://communicator/skin/</a>" as an alias for "<a class="external" rel="freelink">chrome://global/skin/</a>" and this alias was maintained in the XULRunner toolkit until XULRunner 1.9 was released. When using XULRunner 1.9 or greater, you can create your own alias"</li>
-</ul>
-<pre>in your chrome manifest add a "skin" line:
-
-skin communicator classic/1.0 skin/communicator/
-
-add a skin folder named "communicator" and add a single CSS file named "communicator.css" with this content:
-
-@import url("chrome://global/skin/");
-</pre>
-<h3 id="DOM_Inspector" name="DOM_Inspector"><a href="ko/DOM_Inspector">DOM Inspector</a></h3>
-<p>Same as venkman</p>
-<h3 id="Component_Viewer" name="Component_Viewer">Component Viewer</h3>
-<p>Need custom build, first of all. What else?</p>
-<h3 id="Extension_Developer.27s_Extension" name="Extension_Developer.27s_Extension">Extension Developer's Extension</h3>
-<p><a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">Extension Developer's Extension</a> is a useful tool, featuring Live XUL Editor and JavaScript Shell.</p>
-<p>To install the extension into your application you'll need to hack its install.rdf (see above). You'll probably also want to create menuitems that let you open the JS Shell and other tools provided by the extension.</p>
-<h2 id="Branding" name="Branding">Branding</h2>
-<p>Branding is a <a href="ko/Chrome_Registration">chrome package</a> containing product-specific information (e.g. the product name, vendor, and logo).</p>
-<p>Some XULRunner components (in particular, the <a href="#Extension_Manager"> Extension Manager</a>) depend on branding, in the sense that they expect to find certain strings in &lt;tt&gt;<a class="external" rel="freelink">chrome://branding/locale/brand.dtd</a>&lt;/tt&gt; and &lt;tt&gt;<a class="external" rel="freelink">chrome://branding/locale/brand.properties</a>&lt;/tt&gt;.</p>
-<p>In order to satisfy these dependencies, you can save Firefox's &lt;tt&gt;brand.dtd&lt;/tt&gt;/&lt;tt&gt;brand.properties&lt;/tt&gt; to &lt;tt&gt;chrome/locale/branding&lt;/tt&gt; folder, modify them appropriately, and <a href="ko/Chrome_Registration#locale">register a locale provider</a> for &lt;tt&gt;branding&lt;/tt&gt; by adding the following line to your chrome manifest:</p>
-<pre class="eval">locale branding en-US chrome/locale/branding/
-</pre>
-<p>The location you put the branding files in doesn't matter, as long as you register it appropriately in the manifest.</p>
-<p>In addition, a branding content package <a href="ko/Chrome_Registration#content">must be registered</a> to include the application logo:</p>
-<pre class="eval">content branding chrome/branding
-</pre>
-<p>2 icon files must provided in this folder :
- <i>
- icon48.png</i>
- and
- <i>
- icon64.png</i>
- . See <a class="external" href="http://mxr.mozilla.org/mozilla/source/other-licenses/branding/firefox/content/">Firefox</a> for example.</p>
-<p><span class="comment">In ''~.mozconfig'': ac_add_options --enable-branding=« branding location »</span></p>
-<h3 id="Making_Windows_display_correct_application_name_and_icon_when_buttons_are_grouped" name="Making_Windows_display_correct_application_name_and_icon_when_buttons_are_grouped">Making Windows display correct application name and icon when buttons are grouped</h3>
-<p>By default, the task bar on Windows might group windows belonging to the same process into one button to save space. This button is usually called "xulrunner.exe" and has XULRunner's icon. There are two approaches to display the branding of your application instead:</p>
-<ul>
- <li>When compiling XULRunner yourself: create a file module.ver in the directory mozilla/xulrunner/app with the contents:
- <pre>WIN32_MODULE_DESCRIPTION=MyApplication</pre>
- <p>MyApplication should be replaced by whatever you want to see as title of the button. You can also replace xulrunner.ico in the same directory to change XULRunner's icon to the icon of your application.</p>
- </li>
- <li>With a precompiled XULRunner: use xulrunner-stub.exe to start your application but rename it into MyApplication.exe. With XULRunner 1.9 this will make the desired name appear in the task bar (not with XULRunner 1.8 however). Your application's icon can also be added to this executable with a tool like <a class="external" href="http://www.angusj.com/resourcehacker/">Resource Hacker</a>.</li>
-</ul>
-<h2 id="Reading_command_line_arguments" name="Reading_command_line_arguments">Reading command line arguments</h2>
-<p>See <a href="ko/Chrome/Command_Line">Chrome: Command Line</a>. Command line arguments are handled via nsICommandLineHandler as usual.</p>
-<p><span class="comment">= Can i have JavaScript errors / warnings directed to stdout instead of the jsconsole? = See <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=306263" title="https://bugzilla.mozilla.org/show_bug.cgi?id=306263">#306263</a> This doesn't do anything (1.8.0.1): xulrunner -app application.ini -console This neither (1.8.0.1) in ''defaults/preferences/«application name».js'': pref("javascript.options.strict", true); pref("javascript.options.showInConsole", true); pref("browser.dom.window.dump.enabled", true);</span></p>
-<p> </p>
-<h2 id="Preferences_needed_for_file_download_dialogs" name="Preferences_needed_for_file_download_dialogs">Preferences needed for file download dialogs</h2>
-<p>To use the unknown-content-type and file-downloads dialogs from a &lt;browser&gt; element, you need to add the following prefs:</p>
-<pre class="eval">pref("browser.download.useDownloadDir", true);
-pref("browser.download.folderList", 0);
-pref("browser.download.manager.showAlertOnComplete", true);
-pref("browser.download.manager.showAlertInterval", 2000);
-pref("browser.download.manager.retention", 2);
-pref("browser.download.manager.showWhenStarting", true);
-pref("browser.download.manager.useWindow", true);
-pref("browser.download.manager.closeWhenDone", true);
-pref("browser.download.manager.openDelay", 0);
-pref("browser.download.manager.focusWhenStarting", false);
-pref("browser.download.manager.flashCount", 2);
-//
-pref("alerts.slideIncrement", 1);
-pref("alerts.slideIncrementTime", 10);
-pref("alerts.totalOpenTime", 4000);
-pref("alerts.height", 50);
-</pre>
-<p>If you are missing preferences that a dialog requires, you will get the following errors:</p>
-<pre class="eval">Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getBoolPref]
-
-Error: dialog has no properties
-Source File: <a class="external" rel="freelink">chrome://mozapps/content/downloads/u...ontentType.xul</a>
-Line: 1
-</pre>
-<p> </p>
-<h2 id="Enabling_Password_Manager" name="Enabling_Password_Manager">Enabling Password Manager</h2>
-<p>These preferences seem to be the default in Firefox, however, they are missing in XULRunner. Without these settings Password Manager will not store login details.</p>
-<pre class="eval">pref("signon.rememberSignons", true);
-pref("signon.expireMasterPassword", false);
-pref("signon.SignonFileName", "signons.txt");
-</pre>
-<p>You also need to get an instance of the login manager service, which internally initializes the system:</p>
-<pre class="eval">Components.classes["@mozilla.org/login-manager;1"].getService(Components.interfaces.nsILoginManager);
-</pre>
-<h2 id="Firefox_3.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.9C_XULRunner_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0" name="Firefox_3.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.9C_XULRunner_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0">Firefox 3를 이용한 XULRunner 응용 프로그램 실행하기</h2>
-<p>Firefox 3에는 XULRunner 런타임(runtime)이 포함되어 있습니다. 브라우저 대신 XUL 응용 프로그램을 실행하려면 명령창에서 &lt;tt&gt;-app&lt;/tt&gt; 옵션으로 실행하면 됩니다. 예를 들어 Windows에서는 다음과 같습니다.</p>
-<pre class="eval"> firefox.exe -app<i>path\to\</i>application.ini
-</pre>
-<p>Mac에서는 다음과 같습니다.</p>
-<pre class="eval"> /Applications/Firefox.app/Contents/MacOS/firefox-bin -app<i>/path/to/</i>application.ini
-</pre>
-<p>Mac의 경우에는 전체 경로(full path)를 모두 입력해야 한다는 점에 주의하세요. 상대 경로를 사용하면 동작하지 않는거 같습니다.</p>
-<h2 id="Troubleshooting" name="Troubleshooting">Troubleshooting</h2>
-<h3 id="Window_title_missing" name="Window_title_missing">Window title missing</h3>
-<p>If the title of your XUL <code>&lt;<a href="ko/XUL/window">window</a>&gt;</code> is blank, even though you specified a title attribute, make sure the extension on your XUL file is &lt;tt&gt;.xul&lt;/tt&gt; rather than &lt;tt&gt;.xml&lt;/tt&gt;.</p>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/archive/rss/getting_started/index.html b/files/ko/archive/rss/getting_started/index.html
deleted file mode 100644
index a446858ece..0000000000
--- a/files/ko/archive/rss/getting_started/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: Getting Started
-slug: Archive/RSS/Getting_Started
-tags:
- - MDC Project
- - NeedsEditorialReview
- - RSS
- - 'RSS:Getting_Started'
-translation_of: Archive/RSS/Getting_Started
----
-<h3 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94">개요</h3>
-<p>이 입문서는 <b>Really Simple Syndication</b> (<b>RSS</b>)에 대한 것입니다.</p>
-<p>여기서는 단계별로 RSS의 기본을 따라가면서 실제로 동작하는 예를 보여줄 것입니다. 그리고
- <i>
- 무언가를 배우는 가장 좋은 방법은 직접 해보는 것이다</i>
- 라는 경구를 따라, 당신 스스로 RSS 파일을 직접 만들게 될 것입니다.</p>
-<p> </p>
-<h4 id=".EB.88.84.EA.B0.80_.EC.9D.BD.EC.96.B4.EC.95.BC_.ED.95.98.EB.8A.94.EA.B0.80.3F" name=".EB.88.84.EA.B0.80_.EC.9D.BD.EC.96.B4.EC.95.BC_.ED.95.98.EB.8A.94.EA.B0.80.3F">누가 읽어야 하는가?</h4>
-<p>이 입문서는 주로 RSS 초보자, 즉 거의 혹은 전혀 RSS를 경험해보지 못한 사람들을 대상으로 하고 있습니다. 하지만, RSS에 경험이 있는 사람에게도 모르고 있던 정보를 알게 되거나 알고 있던 것을 새롭게 환기하는 용도로 사용될 수 있습니다.</p>
-<p>이 입문서는 독자가 <a href="ko/HTML">HTML</a> (혹은 <a href="ko/XML">XML</a>)에 어느 정도 경험이 있으며, 기본적인
- <i>
- 마크업</i>
- 을 다룰 수 있다고 가정합니다. 다시 말해, 이런 코드를 어렵지 않게 읽을 수 있어야 합니다.</p>
-<pre class="eval"> 이 마크업은 &lt;b&gt;굵은 글자를&lt;/b&gt; 표시합니다.
-</pre>
-<p>이 정도라면 RSS를 배우는데 지장이 없습니다.</p>
-<div class="note">
- <p><b>NOTE</b>: 웹 개발자나 웹 개발자가 되려고 하지 않는 사람에게는 이 입문서가 해당되지 않습니다. 입문서를 잘 사용하려면
- <i>
- 마크업</i>
- 을 쓸 주 있어야 합니다.</p>
-</div>
-<h4 id=".EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0_.EC.A0.84.EC.97.90_.ED.95.84.EC.9A.94.ED.95.9C_.EA.B2.83" name=".EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0_.EC.A0.84.EC.97.90_.ED.95.84.EC.9A.94.ED.95.9C_.EA.B2.83">시작하기 전에 필요한 것</h4>
-<p>이 입문서를 잘 활용하기 위해서는, 텍스트 편집기와 RSS 리더가 필요합니다. 그리고 그 편집기와 RSS 리더의 사용법을 알고 있어야 합니다.</p>
-<div class="note">
- <p><b>NOTE</b>: 워드 프로세서는 텍스트 편집기가 아닙니다. 워드 프로세서를 사용하는 경우, RSS 파일을 저장할 때 반드시 단순한 text 형식으로 저장해야 합니다.</p>
-</div>
-<p>이 입문서의 RSS 파일들을 반드시 만들어야 하는 것은 아니고 그냥 읽기만 해도 되지만, 그것은 배우는 데 있어 좋은 방법은 아닙니다. RSS 파일을 스스로 만들 때 더 많은 것을 잘 배우게 될 것입니다.</p>
-<h4 id=".EC.9D.B4_.EC.9E.85.EB.AC.B8.EC.84.9C.EC.9D.98_.EC.82.AC.EC.9A.A9.EB.B2.95" name=".EC.9D.B4_.EC.9E.85.EB.AC.B8.EC.84.9C.EC.9D.98_.EC.82.AC.EC.9A.A9.EB.B2.95">이 입문서의 사용법</h4>
-<p>입문서의 각 장은 그것만으로도
- <i>
- 독자적인</i>
- 입문선가 될 수 있도록 쓰여졌지만, 각 장은 이전 장의 내용을 독자가 모두 알고 있다고 가정하고 있습니다. 원하는 장부터 시작해도 되지만, RSS 초보자는 순서대로 읽기를 권합니다.</p>
-<h3 id="Tutorial" name="Tutorial">Tutorial</h3>
-<ol>
- <li><b><a href="ko/RSS/Getting_Started/What_is_RSS">What is RSS</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/Why_use_RSS">Why use RSS</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/How_RSS_Works">How RSS Works</a></b></li>
- <li><b>Hello World</b> (article not yet written) <span class="comment">link removed because too many people put their hello world there</span></li>
- <li><b><a href="ko/RSS/Getting_Started/Syndicating">Syndicating</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/Blogs">Blogs</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/Broadcatching">Broadcatching</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/Microformats">Microformats</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/Advanced_Broadcatching">Advanced Broadcatching</a></b></li>
-</ol>
-<p></p>
diff --git a/files/ko/archive/rss/getting_started/what_is_rss/index.html b/files/ko/archive/rss/getting_started/what_is_rss/index.html
deleted file mode 100644
index 0ec7281c2a..0000000000
--- a/files/ko/archive/rss/getting_started/what_is_rss/index.html
+++ /dev/null
@@ -1,230 +0,0 @@
----
-title: What is RSS
-slug: Archive/RSS/Getting_Started/What_is_RSS
-tags:
- - 'RSS:Getting_Started'
-translation_of: Archive/RSS/Getting_Started/What_is_RSS
----
-<p>이 문서는 RSS가 무엇인지 설명하기 위해 만들어졌습니다. 여러분은 아직 RSS를 만들어 본 적이 없으실 겁니다. 그렇지만 RSS를 어떻게 사용하는 지 아시기도 하고, 간단한 샘플 파일을 보신적이 있으실 겁니다. RSS가 무엇이고 어떻게 만들어진 것인지 한번 알아보겠습니다.</p>
-<h3 id="RSS.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F" name="RSS.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F">RSS란 무엇인가?</h3>
-<p>가장 많이 이용하는 <a href="ko/RSS/Version">RSS 2.0 버전</a>은 데이터 연결을 위해 사용하는 <a href="ko/XML">XML</a>기반 마크업 언어 입니다. -based markup languages used for syndication. (<a href="ko/RDF">RDF</a>를 기반하는 RSS 형식도 존재합니다. 이미 사라진 <a href="ko/RSS/Version/0.90">RSS 0.90</a>과 <a href="ko/RSS/Version/1.0">RSS 1.0</a> 처럼 말이죠.) RSS를 주로 사용하는 곳은 웹 사이트 최신 소식이나 블로그, 인터넷 라디오나 TV 등의 뉴스를 전달하는 역할을 합니다.</p>
-<p>이 문서는 <a href="ko/RSS/Version/2.0">RSS 2.0</a>을 다룹니다. 물론 다른 <a href="ko/RSS/Version">RSS 버전</a>에 대한 주의 사항도 함께 다루게 됩니다..</p>
-<p>RSS는 손으로 만들지는 않습니다. 거의 서버쪽 프로그램에 의해 자동으로 만들어 집니다(PHP나 Java, C# 및 Python 같은 언어로 만들어진 것이죠.) 그러나 RSS를 배우려면 손으로 한번 RSS 스크립트를 만들 필요가 있습니다.</p>
-<h3 id="RSS.EC.97.90_.EB.8C.80.ED.95.9C_.EA.B0.84.EB.8B.A8.ED.95.9C_.EC.97.AD.EC.82.AC" name="RSS.EC.97.90_.EB.8C.80.ED.95.9C_.EA.B0.84.EB.8B.A8.ED.95.9C_.EC.97.AD.EC.82.AC">RSS에 대한 간단한 역사</h3>
-<p>In March of 1999 Netscape released <a href="ko/RSS/Version/0.90">RSS 0.90</a>. It was much much different than today's RSS. It wasn't really a format for syndication, but was a format for providing a summary of a website. In fact, back then, RSS did not stand for <b>Really Simple Syndication</b> but stood for <b>Rich Site Summary</b>.</p>
-<p>In July of 1999 <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a> was released. Like <a href="ko/RSS/Version/0.90">RSS 0.90</a>, Netscape's RSS 0.91 was also a format for providing a summary of a website, and not really a syndication format (as it is today). Netscape's RSS 0.91 was created to simplify things. RSS 0.90 was <a href="ko/RDF">RDF</a>-based. (Which many found to be overly complex.) Netscape's RSS 0.91 was only <a href="ko/XML">XML</a>-based and added a <a href="ko/DTD">DTD</a> to allow several entities (commonly found in <a href="ko/HTML">HTML</a>).</p>
-<p>So at this point Netscape deprecated the <a href="ko/RDF">RDF</a>-based <a href="ko/RSS/Version/0.90">RSS 0.90</a> and told everyone to use <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a>, which was <a href="ko/XML">XML</a>-based.</p>
-<p>In June of 2000 <a href="ko/RSS/Version/0.91/Userland">Userland's RSS 0.91</a> was released. (And yes, that means that there are 2 different version of <a href="ko/RSS/Version/0.91">RSS 0.91</a>.) The difference between the 2 different versions of <a href="ko/RSS/Version/0.91">RSS 0.91</a> -- <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a> and <a href="ko/RSS/Version/0.91/Userland">Userland's RSS 0.91</a> -- is that Userland's RSS 0.91 does not have the <a href="ko/DTD">DTD</a> that Netscape's RSS 0.91 has; and thus doesn't have the extra entities that Netscape's RSS 0.91 has (commonly found in <a href="ko/HTML">HTML</a>). Other than that though, they are the same. Technically speaking, Userland's RSS 0.91 is a subset of Netscape's RSS 0.91.</p>
-<p>In December of 2000 the RSS-DEV working group released <a href="ko/RSS/Version/1.0">RSS 1.0</a>. This version of RSS was no longer purely <a href="ko/XML">XML</a>-based, but was <a href="ko/RDF">RDF</a>-based (like the original and now deprecated <a href="ko/RSS/Version/0.90">RSS 0.90</a>). The RSS-DEV working group changed what RSS stood for, and made it stand for <b>RDF Site Summary</b>. (At least, this is what it stood for in their version of RSS.)</p>
-<p>So at this point we had <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a>, <a href="ko/RSS/Version/0.91/Userland">Userland's RSS 0.91</a>, and the RSS-DEV working group's <a href="ko/RSS/Version/1.0">RSS 1.0</a>.</p>
-<p>Later that same December Userland released <a href="ko/RSS/Version/0.92">RSS 0.92</a>. RSS 0.92 was meant to replace <a href="ko/RSS/Version/0.91/Userland">Userland's RSS 0.91</a>. (If you notice though, the RSS versioning number got all messed up at this point. RSS 0.92 is newer than <a href="ko/RSS/Version/1.0">RSS 1.0</a>.)</p>
-<p>So at this point we had <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a>, the RSS-DEV working group's <a href="ko/RSS/Version/1.0">RSS 1.0</a>, and Userland's <a href="ko/RSS/Version/0.92">RSS 0.92</a>.</p>
-<p>In April 2001 Userland released a draft for <a href="ko/RSS/Version/0.93">RSS 0.93</a>. This version of RSS was never made "final" and was only ever a draft, and never became a replacement for Userland's <a href="ko/RSS/Version/0.92">RSS 0.92</a>.</p>
-<p>In August 2002 Userland released a draft for <a href="ko/RSS/Version/0.94">RSS 0.94</a>. Like <a href="ko/RSS/Version/0.93">RSS 0.93</a>, this version of RSS was never made "final" and was only ever a draft, and never became a replacement for Userland's <a href="ko/RSS/Version/0.92">RSS 0.92</a>.</p>
-<p>So at this point we <em>still</em> had <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a>, the RSS-DEV working group's <a href="ko/RSS/Version/1.0">RSS 1.0</a>, and Userland's <a href="ko/RSS/Version/0.92">RSS 0.92</a>. (Although some were using <a href="ko/RSS/Version/0.93">RSS 0.93</a> and <a href="ko/RSS/Version/0.94">RSS 0.94</a> even though they weren't suppose to.)</p>
-<p>In September 2002 Userland released <a href="ko/RSS/Version/2.0">RSS 2.0</a>. RSS 2.0 was meant to be a replacement for <a href="ko/RSS/Version/0.92">RSS 0.92</a> (and the <a href="ko/RSS/Version/0.93">RSS 0.93</a> and <a href="ko/RSS/Version/0.94">RSS 0.94</a> drafts that no one was suppose to use). Userland bumped up the version number all the way up to <b>2.0</b> because the RSS-DEV working group already used <b>1.0</b> with their <a href="ko/RDF">RDF</a>-based <a href="ko/RSS/Version/1.0">RSS 1.0</a>.</p>
-<p>So at this point we had <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a>, the RSS-DEV working group's <a href="ko/RSS/Version/1.0">RSS 1.0</a>, and Userland's <a href="ko/RSS/Version/2.0">RSS 2.0</a>.</p>
-<p>Now, the story does not quite end there. Once in November 2002 and another time in January 2003, <a href="ko/RSS/Version/2.0">RSS 2.0</a> was changed from its original specification, by Userland. And although these are each are different, they all label themselves as RSS 2.0 on the <a href="ko/RSS/Element/rss">&lt;rss&gt;</a> element.</p>
-<p>So now, at this point, we still have <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a> (since Netscape never deprecated it) although most people don't use it anymore. Most people use either the <a href="ko/RDF">RDF</a>-based <a href="ko/RSS/Version/1.0">RSS 1.0</a> or the <a href="ko/XML">XML</a>-based <a href="ko/RSS/Version/2.0">RSS 2.0</a>. With the XML-based RSS 2.0 seeming to be the most popular. (This tutorial uses <a href="ko/RSS/Version/2.0">RSS 2.0</a>.)</p>
-<h3 id="How_RSS_is_Used_Today" name="How_RSS_is_Used_Today">How RSS is Used Today</h3>
-<p>Today, RSS is mostly used for syndication. Syndication is the process of telling others that you have content for them to consume. In other words, when you syndicate, you are telling everyone something like: "Hey everyone, I've got articles that I want everyone to come and read. Just subscribe to my RSS feed and you will be able to get the latest ones all the time.".</p>
-<div class="note">
- <p><b>NOTE</b>: If you provide a non-password-protected RSS feed, you are implicitly giving everyone permission to use the contents in you RSS feed in almost any way they see fit. They can read it. The can make local copies of it. They can share that local copy. They can put it on their web site. They can even re-syndicated it. And more.</p>
- <p>If you don't want any of that done, then don't put it in a non-password-protected RSS feed. (And don't make the password public of course.)</p>
-</div>
-<p>News web sites use RSS to provide everyone with a list of their newest articles. For example:</p>
-<pre class="eval"> <span class="nowiki">
- &lt;?xml version="1.0"?&gt;
-
- &lt;rss version="2.0"&gt;
-
- &lt;channel&gt;
- &lt;title&gt;Example News Site&lt;/title&gt;
- &lt;description&gt;This is an Example News Site.&lt;/description&gt;
- &lt;lastBuildDate&gt;Wed, 27 Jul 2005 00:30:30 -0700&lt;/lastBuildDate&gt;
- &lt;link&gt;http://news.example.com/&lt;/link&gt;
-
- &lt;item&gt;
- &lt;title&gt;News Flash: I Like Bread&lt;/title&gt;
- &lt;guid isPermaLink="false"&gt;4d4a0a12-f188-4c97-908b-eea27213c2fe&lt;/guid&gt;
- &lt;pubDate&gt;Wed, 27 Jul 2005 00:30:30 -0700&lt;/pubDate&gt;
- &lt;link&gt;http://news.example.com/artcle/554&lt;/link&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Big News Today: Birds Fly&lt;/title&gt;
- &lt;guid isPermaLink="false"&gt;c4a63f09-b45b-466b-8773-6ff264001ab7&lt;/guid&gt;
- &lt;pubDate&gt;Tue, 19 Jul 2005 04:32:51 -0700&lt;/pubDate&gt;
- &lt;link&gt;http://news.example.com/artcle/553&lt;/link&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Fire is Hot&lt;/title&gt;
- &lt;guid isPermaLink="false"&gt;c1795324-d5ea-44fa-95b1-b5ce2090d4f1&lt;/guid&gt;
- &lt;pubDate&gt;Sun, 15 May 2005 13:02:08 -0700&lt;/pubDate&gt;
- &lt;link&gt;http://news.example.com/artcle/552&lt;/link&gt;
- &lt;/item&gt;
- &lt;/channel&gt;
-
- &lt;/rss&gt;
- </span>
-</pre>
-<p>Bloggers use RSS to provide everyone with a list of their newest blog posts. For example:</p>
-<pre class="eval"> <span class="nowiki">
- &lt;?xml version="1.0"?&gt;
-
- &lt;rss version="2.0"&gt;
-
- &lt;channel&gt;
- &lt;title&gt;Joe Blow's Blog&lt;/title&gt;
- &lt;description&gt;This is the Weblog of Joe Blow&lt;/description&gt;
- &lt;lastBuildDate&gt;Sun, 15 May 2005 13:02:08 -0500&lt;/lastBuildDate&gt;
- &lt;link&gt;http://joe-blow.example.net/&lt;/link&gt;
-
- &lt;item&gt;
- &lt;title&gt;I Be Blogging...&lt;/title&gt;
- &lt;guid&gt;http://joe-blow.example.net/log/21&lt;/guid&gt;
- &lt;pubDate&gt;Sun, 15 May 2005 13:02:08 -0500&lt;/pubDate&gt;
- &lt;link&gt;http://joe-blow.example.net/log/21&lt;/link&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;I am so SMRT&lt;/title&gt;
- &lt;guid&gt;http://joe-blow.example.net/log/20&lt;/guid&gt;
- &lt;pubDate&gt;Sat, 14 May 2005 22:19:18 -0500&lt;/pubDate&gt;
- &lt;link&gt;http://joe-blow.example.net/log/20&lt;/link&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Huh?&lt;/title&gt;
- &lt;guid&gt;http://joe-blow.example.net/log/19&lt;/guid&gt;
- &lt;pubDate&gt;Sat, 14 May 2005 09:55:59 -0500&lt;/pubDate&gt;
- &lt;link&gt;http://joe-blow.example.net/log/19&lt;/link&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Black Cat Spotted&lt;/title&gt;
- &lt;guid&gt;http://joe-blow.example.net/log/18&lt;/guid&gt;
- &lt;pubDate&gt;Fri, 13 May 2005 13:13:13 -0500&lt;/pubDate&gt;
- &lt;link&gt;http://joe-blow.example.net/log/18&lt;/link&gt;
- &lt;/item&gt;
- &lt;/channel&gt;
-
- &lt;/rss&gt;
- </span>
-</pre>
-<p>Those who create Internet Radio use RSS to allow users to broadcatch their shows. For example:</p>
-<pre class="eval"> <span class="nowiki">
- &lt;?xml version="1.0"?&gt;
-
- &lt;rss version="2.0"&gt;
-
- &lt;channel&gt;
- &lt;title&gt;Joe's IPradio Show&lt;/title&gt;
- &lt;description&gt;The best IPradio Show on the Internet, staring Joe!&lt;/description&gt;
- &lt;lastBuildDate&gt;Mon, 15 Aug 2005 16:12:37 -0400&lt;/lastBuildDate&gt;
- &lt;link&gt;http://joe.ipradio.example.net/&lt;/link&gt;
-
- &lt;item&gt;
- &lt;title&gt;I C UR Tan Line&lt;/title&gt;
- &lt;guid&gt;http://joe.ipradio.example.net/show/55&lt;/guid&gt;
- &lt;pubDate&gt;Mon, 15 Aug 2005 16:11:57 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://joe.ipradio.example.net/show/55"
- length="4487216"
- type="application/ogg"
- /&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Car Care for Car Fanatics&lt;/title&gt;
- &lt;guid&gt;http://joe.ipradio.example.net/show/54&lt;/guid&gt;
- &lt;pubDate&gt;Mon, 8 Aug 2005 13:12:12 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://joe.ipradio.example.net/show/54"
- length="4892178"
- type="audio/x-mp3"
- /&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Best Beaches in BC&lt;/title&gt;
- &lt;guid&gt;http://joe.ipradio.example.net/show/53&lt;/guid&gt;
- &lt;pubDate&gt;Mon, 1 Aug 2005 18:22:14 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://joe.ipradio.example.net/show/53"
- length="3984215"
- type="application/ogg"
- /&gt;
- &lt;/item&gt;
- &lt;/channel&gt;
-
- &lt;/rss&gt;
- </span>
-</pre>
-<div class="note">
- <p><b>NOTE</b>: Broadcatching of Internet Radio is sometimes call <em>Podcasting</em>, <em>IPradio</em>, and <em>Audio Blogging</em>.</p>
-</div>
-<p>Those who create Internet Television use RSS to allow users to broadcatch their shows. For example:</p>
-<pre class="eval"> <span class="nowiki">
- &lt;?xml version="1.0"?&gt;
-
- &lt;rss version="2.0"&gt;
-
- &lt;channel&gt;
- &lt;title&gt;Kate's IPTV Show&lt;/title&gt;
- &lt;description&gt;Watch it or else! You know you want to.&lt;/description&gt;
- &lt;lastBuildDate&gt;Tue, 23 Aug 2005 21:02:05 -0800&lt;/lastBuildDate&gt;
- &lt;link&gt;http://katetv.example.com/&lt;/link&gt;
-
- &lt;item&gt;
- &lt;title&gt;This is Fun&lt;/title&gt;
- &lt;guid&gt;http://katetv.example.com/show/4&lt;/guid&gt;
- &lt;pubDate&gt;Tue, 23 Aug 2005 21:02:05 -0800&lt;/pubDate&gt;
- &lt;enclosure url="http://katetv.example.com/show/4"
- length="1911146"
- type="application/ogg"
- /&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Watch This&lt;/title&gt;
- &lt;guid&gt;http://katetv.example.com/show/3&lt;/guid&gt;
- &lt;pubDate&gt;Tue, 16 Aug 2005 16:11:57 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://katetv.example.com/show/3"
- length="1387442"
- type="application/ogg"
- /&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;It is me again&lt;/title&gt;
- &lt;guid&gt;http://katetv.example.com/show/2&lt;/guid&gt;
- &lt;pubDate&gt;Tue, 9 Aug 2005 13:12:12 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://katetv.example.com/show/2"
- length="1894877"
- type="video/mpeg"
- /&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Hello&lt;/title&gt;
- &lt;guid&gt;http://katetv.example.com/show/1&lt;/guid&gt;
- &lt;pubDate&gt;Tue, 2 Aug 2005 18:22:14 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://katetv.example.com/show/1"
- length="17442215"
- type="application/ogg"
- /&gt;
- &lt;/item&gt;
- &lt;/channel&gt;
-
- &lt;/rss&gt;
- </span>
-</pre>
-<p>The observant reader may have noticed that the
- <i>
- news web site</i>
- and
- <i>
- blogger</i>
- examples were the same type of RSS. And also that the
- <i>
- Internet Radio</i>
- and
- <i>
- Internet Television</i>
- examples were the same type of RSS. In fact, the only real difference between the news/blogger RSS and the Internet Radio/Internet Television RSS is that the news/blogger RSS uses the <a href="ko/RSS/Element/link">&lt;link&gt;</a> element and the Internet Radio/Internet Television RSS uses the <a href="ko/RSS/Element/enclosure">&lt;enclosure&gt;</a> element.</p>
-<div class="note">
- <p><b>NOTE</b>: These RSS examples are very very simple. And were designed to give you an idea about what RSS basically looks like. All these RSS examples are very minimal. When you create your own RSS feeds, you will likely want to make them more complex than these and include additional <a href="ko/RSS/Element">RSS elements</a> and make use of the various <a href="ko/RSS/Module">RSS Modules</a>.</p>
-</div>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/RSS:Getting_Started:Why_use_RSS">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/archive/rss/index.html b/files/ko/archive/rss/index.html
deleted file mode 100644
index e5a2a6cd60..0000000000
--- a/files/ko/archive/rss/index.html
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: RSS
-slug: Archive/RSS
-tags:
- - RSS
-translation_of: Archive/RSS
----
-<div class="callout-box"><b><a href="ko/RSS/Getting_Started">시작하기</a></b><br>
-RSS를 시작하는데 도움이 되는 안내 입문서</div>
-<div><b>Really Simple Syndication (RSS)</b>는 <a href="ko/HTML">HTML</a>과 비슷한 <a href="ko/XML">XML</a>에 기반을 둔 발행(syndication)에 쓰는 대중적인 데이터 포맷입니다. RSS는 어두운 역사와 호환성이 없는 수많은 <a href="ko/RSS/Version">RSS 버전</a>이 있습니다. (몇몇은 <a href="ko/RDF">RDF</a>를 기반으로 하고 있지만 대부분은 <a href="ko/XML">XML</a>만 기반으로 하고 있습니다.) 이러함에도 불구하고, RSS는 엄청난 활동성(momentum)으로 뉴스, 블로그 포스트, IP라디오, IPTV 발행하는데(syndicate) 사용되는 매우 대중적인 포맷입니다.</div>
-<table class="topicpage-table">
-<tbody><tr><td>
-<h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"> <a>문서</a> </h4>
-<dl><dt> <a href="ko/RSS/Article/Why_RSS_Slash_is_Popular_-_Counting_Your_Comments">Why RSS Slash is Popular - Counting Your Comments</a>
-</dt><dd> <small>Charles Iliya Krempeaux가 여러 모듈 가운데 왜 인기가 있고 댓글(comment) "count"를 주는데 어떻게 쓰는지 RSS Slash 모듈에 관해 이야기합니다.</small>
-</dd></dl>
-<dl><dt> <a href="ko/RSS/Article/Why_Well-Formed_Web_RSS_Module_is_Popular_-_Syndicating_Your_Comments">Why Well-Formed Web RSS Module is Popular - Syndicating Your Comments</a>
-</dt><dd> <small>Charles Iliya Krempeaux가 여러 모듈 가운데 왜 인기가 있고 댓글에 링크하는데 어떻게 쓰는지 적격(Well-Formed) 웹 RSS 모듈에 관해 이야기합니다.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://diveintomark.org/archives/2004/02/04/incompatible-rss">The Myth of RSS Compatibility</a>
-</dt><dd> <small>Mark Pilgrim이 여러분에게 RSS의 지저분한 역사와 관해 말해주고 각 버전 사이의 비호환성을 자세히 설명합니다.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.tbray.org/ongoing/When/200x/2005/07/27/Atomic-RSS">Atomic RSS</a>
-</dt><dd> <small>Tim Bray가 micro 포맷과 RSS 2.0용 확장 모듈(발행 포맷으로 RSS 2.0 따르지만 선택한 Atom 1.0 요소를 가져오고 쓰는)로서 Atom 1.0 사용에 관해 이야기합니다.</small>
-</dd></dl>
-<p><span class="alllinks"><a>모두 보기...</a></span>
-</p>
-</td>
-<td>
-<h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0"> 커뮤니티 </h4>
-<ul><li> 모질라 XML 포럼 보기...
-</li></ul>
-<p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-xml"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xml"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xml/feeds"> 웹 Feed</a></li>
-</ul>
-<p></p>
-<h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C"> 관련 주제 </h4>
-<dl><dd> <a href="ko/RDF">RDF</a>, <a href="ko/XML">XML</a>
-</dd></dl>
-</td></tr></tbody></table>
-<p><span class="comment">Categories</span>
-</p><p><span class="comment">Interwiki Language Links</span>
-</p><p><br>
-</p>
diff --git a/files/ko/archive/rss/module/index.html b/files/ko/archive/rss/module/index.html
deleted file mode 100644
index bdffb41ec6..0000000000
--- a/files/ko/archive/rss/module/index.html
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title: Module
-slug: Archive/RSS/Module
-tags:
- - RSS
-translation_of: Archive/RSS/Module
----
-<h2 id="RSS_.EB.AA.A8.EB.93.88_.EB.AA.A9.EB.A1.9D" name="RSS_.EB.AA.A8.EB.93.88_.EB.AA.A9.EB.A1.9D">RSS 모듈 목록</h2>
-<p>RSS 모듈은 <a href="ko/XML">XML</a> 이름공간을 써서 RSS 문서에 집어넣는 microformat입니다. 모듈은 RSS를 확장하는 방법입니다. 아래는 인기 있는 RSS 모듈 목록입니다.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>이름</th>
- <th>공통 접두사</th>
- <th>상태</th>
- <th>출시 일</th>
- <th>제작자</th>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/Atom">Atomic RSS</a></td>
- <td>atom</td>
- <td> </td>
- <td>2005년 07월 27일</td>
- <td>Tim Bray</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/blogChannel">blogChannel</a></td>
- <td> </td>
- <td> </td>
- <td>2002년 09월 17일</td>
- <td>Dave Winer</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/Content">Content</a></td>
- <td>content</td>
- <td> </td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/creativeCommons">creativeCommons</a></td>
- <td>cc</td>
- <td> </td>
- <td>2002년 12월 16일</td>
- <td>Dave Winer</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/Dublin_Core">Dublin Core</a></td>
- <td>dc</td>
- <td> </td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/Slash">Slash</a></td>
- <td>slash</td>
- <td> </td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/Well-Formed_Web">Well-Formed Web</a></td>
- <td>wfw</td>
- <td> </td>
- <td> </td>
- <td>Joe Gregorio and Chris Sells</td>
- </tr>
- </tbody>
-</table>
-<p></p>
diff --git a/files/ko/archive/rss/version/index.html b/files/ko/archive/rss/version/index.html
deleted file mode 100644
index 5b6a3c7c87..0000000000
--- a/files/ko/archive/rss/version/index.html
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title: Version
-slug: Archive/RSS/Version
-tags:
- - RSS
-translation_of: Archive/RSS/Version
----
-<h2 id="RSS_Versions" name="RSS_Versions">RSS Versions</h2>
-<p>RSS 는 복잡한 역사가 있습니다. 서로 다른 사람들이 스스로 RSS라고 부르는 명세를 일방적으로 만들어왔기 때문입니다. 어떤 RSS는 <a href="ko/XML">XML</a>형식으로 되어 있습니다. 또 어떤 RSS는 <a href="ko/RDF">RDF</a>형식으로 되어 있습니다.</p>
-<p>아래의 목록은, 발표된 시간 순으로 나열된 이제까지 알려진 RSS 버전들입니다.</p>
-<div class="note">
- <p><b>NOTE</b>: 아래 목록에서, RSS 1.0의 위치가 잘못된 것처럼 보이지만, 사실 시간순으로 맞는 위치에 있습니다.</p>
-</div>
-<div class="note">
- <p><b>NOTE</b>: <a href="ko/RSS/Version/0.91">RSS 0.91</a>에는 세 가지 다른 버전이 있습니다. Netscape의 RSS 0.91 (Revision 1), Netscape의 RSS 0.91 Revision 3 과 Userland의 RSS 0.91이 그것입니다. 엄밀히 말해서, Userland의 RSS 0.91 은 Netscape의 RSS 0.91의 부분집합입니다.</p>
-</div>
-<div class="note">
- <p><b>NOTE</b>: RSS 0.93 과 RSS 0.94 은 "drafts"만 나오고, "final"상태가 되지 못해서 실제로 사용된 적이 없습니다.</p>
-</div>
-<p> </p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>Name</th>
- <th>Status</th>
- <th>Release Date</th>
- <th>Based On</th>
- <th>Author</th>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.90">RSS 0.90</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">March 1999</td>
- <td><a href="ko/RDF">RDF</a></td>
- <td class="small">Netscape</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.91/Netscape/Revision_1">Netscape's RSS 0.91 (Revision 1)</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">?</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Netscape</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.91/Netscape/Revision_3">Netscape's RSS 0.91 Revision 3</a></td>
- <td><span title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span></td>
- <td class="small">July 10, 1999</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Netscape</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.91/Userland">Userland's RSS 0.91</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">June 4, 2000</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/1.0">RSS 1.0</a></td>
- <td>Standard</td>
- <td class="small">December 9, 2000</td>
- <td><a href="ko/RDF">RDF</a></td>
- <td class="small">RSS-DEV Working Group</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.92">RSS 0.92</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">December 25, 2000</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.93">RSS 0.93</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">April 20, 2001</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.94">RSS 0.94</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">August 19, 2002</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/2.0">RSS 2.0</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">September 2002</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/2.0/2002-11-11">RSS 2.0 (post 2002-11-11)</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">November 11, 2002</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/2.0/2003-01-21">RSS 2.0 (post 2003-01-21)</a></td>
- <td>Standard</td>
- <td class="small">January 21, 2003</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- </tbody>
-</table>
-<p></p>
diff --git a/files/ko/archive/security/index.html b/files/ko/archive/security/index.html
deleted file mode 100644
index 74823c8f52..0000000000
--- a/files/ko/archive/security/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Security
-slug: Archive/Security
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Security
----
-<p><strong><span class="seoSummary">Relying on these obsolete security articles is highly discouraged. Doing so may put your systems at risk.</span></strong></p>
-
-<div class="row topicpage-table">
- <div class="section"><dl><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Digital_Signatures">Digital Signatures</a></dt><dd class="landingPageList">Encryption and decryption address the problem of eavesdropping, one of the three Internet security issues mentioned at the beginning of this document. But encryption and decryption, by themselves, do not address another problem: tampering.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Encryption_and_Decryption">Encryption and Decryption</a></dt><dd class="landingPageList">Encryption is the process of transforming information so it is unintelligible to anyone but the intended recipient. Decryption is the process of transforming encrypted information so that it is intelligible again.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Introduction_to_Public-Key_Cryptography">Introduction to Public-Key Cryptography</a></dt><dd class="landingPageList">Public-key cryptography and related standards and techniques underlie the security features of many products such as signed and encrypted email, single sign-on, and Secure Sockets Layer (SSL) communications. This document introduces the basic concepts of public-key cryptography. For an overview of SSL, see "<a href="/en/Introduction_to_SSL" title="en/Introduction_to_SSL">Introduction to SSL</a>." For an overview of encryption and decryption, see "<a href="/en-US/docs/Encryption_and_Decryption">Encryption and Decryption</a>." Information on digital signatures is available from "<a href="/en-US/docs/Digital_Signatures">Digital Signatures</a>."</dd></dl></dl></div>
- <div class="section"><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Introduction_to_SSL">Introduction to SSL</a></dt><dd class="landingPageList">This document introduces the Secure Sockets Layer (SSL) protocol. SSL has been universally accepted on the World Wide Web for authenticated and encrypted communication between clients and servers.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/NSPR_engineering_guide">NSPR Release Engineering Guide</a></dt><dd class="landingPageList">This paper is for engineers performing formal release for the NetScape Portable Runtime (NSPR) across all platforms.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/SSL_and_TLS">SSL and TLS</a></dt><dd class="landingPageList">The Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols are universally accepted standards for authenticated and encrypted communication between clients and servers. Both client and server authentication occur over SSL/TLS.</dd></dl></div>
- </div>
diff --git a/files/ko/archive/security/tcp_ip/index.html b/files/ko/archive/security/tcp_ip/index.html
deleted file mode 100644
index 983b83b308..0000000000
--- a/files/ko/archive/security/tcp_ip/index.html
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title: TCP/IP 보안
-slug: Archive/Security/TCP_IP
-translation_of: Archive/Security/TCP_IP
----
-<p>{{draft}}</p>
-
-<p>TCP/IP 는 네트워크 통신을 위해 전세계적으로 사용되고 있다.  TCP/IP 통신에서는 네 개의 계층이 관여한다. 유저가 네트워크를 통해 데이터를 보내고 싶은 경우, 데이터는 높은 계층에서 중간 계층을 거쳐 하위 계층으로 전달되며, 전달되는 과정에서 추가적인 정보들이 추가된다.  각 계층에서 logical unit은 header와 payload로 구성되어 있다. <em>Payload</em>는 이전의 계층에서 받은 정보들을 담고 있으며, <em>header</em>는 주소와 같이 계층의 상세정보를 담고있다. 응용계층에서 payload는 실제 application 데이터다. 가장 낮은 계층은 축적된 모든 정보를 물리적인 네트워크를 통해 데이터를 전달한다. 전달된 데이터는 다시 하위 계층에서 상위 계층으로 전달되어 목적지에 도달한다. 한 계층에서 캡슐화된 데이터는 하위 계층에 있는 더 큰 컨테이너에 캡슐화된다. 아래는 네 개의 TCP/IP 계층을 높은 계층 순으로 나열한 것이다.</p>
-
-<ul>
- <li><strong>응용 계층(Application Layer).</strong>  이 계층은 Domain Name System (DNS), HyperText Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP)와 같은 특정 어플리케이션들을 위해 데이터를 송수신한다.</li>
- <li><strong>전송 계층(Transport Layer).</strong> 이 계층은 네트워크 간에 응용 계층 서비스들을 위한 연결 지향적(connection-oriented), 비연결 지향적(connectionless) 서비스들을 제공한다. 전송 계층은 선택적으로 통신의 신뢰성을 보장할 수 있다.Transmission Control Protocol (TCP) 와 User Datagram Protocol (UDP)는 흔하게 사용하는 전송 계층 프로토콜이다.</li>
- <li><strong>네트워크 계층(Network Layer)</strong><strong>.</strong> 이 계층은 패킷(packet)을 네트워크 상에서 이동시키는 역할을 한다. Internet Protocol (IP)는 TCP/IP를 위한 가장 기초적인 네트워크 계층 프로토콜이다. 네트워크 계층에서 사용되는 또 다른 프로토콜은 Internet Control Message Protocol (ICMP) 와 Internet Group Management Protocol (IGMP)가 있다.</li>
- <li><strong>링크 계층(Link Layer)</strong><strong>.</strong> 이 계층은 물리적인 네트워크 구성 요소에서 사이에서 일어나는 통신을 담당한다. 가장 잘 알려진 링크 계층 프로토콜로는 이더넷(Ethernet)이 있다.</li>
-</ul>
-
-<dl>
- <dt>TCP/IP 모델에서 각 계층마다 네트워크 통신을 위한 보안 제어(security control)가 존재한다. 이전에 언급되었듯이, 데이터를 상위계층에서 하위계층으로 전달되며, 각 계층을 통과할 때마다 정보가 추가된다. 이러한 이유로, 상위 계층에서의 보안 제어(security control)는 하위 계층의 보안을 제공할 수 없다. 또한, 하위 계층에서는 상위 계층이 모르게 작동하는 부분들을 상위 계층이 커버해줄 수 없다. 각 계층에서 담당하는 보안 제어 방법들:</dt>
-</dl>
-
-<ul style="list-style-type: square;">
- <li><strong>응용계층</strong><strong>.</strong> 각 어플리케이션마다 제어 방법을 따로 수립해야한다. 예를 들어, 만약 어플리케이션이 네트워크를 통해 민감한 정보를 보내려 할 때 이 정보를 보호하고 싶다면, 어플리케이션에서의 설정을 변경하여 정보보호를 제공해 줄 수 있을것이다. 이러한 방식은 어플리케이션에 높은 수준의 보안과 유연함을 제공해주지만, 제어방법들을 추가하고 설정하는데에 많은 양의 자원과 투자가 요구된다. 암호학적으로 안전한 응용 프로토콜을 디자인하는 것은 매우 어려운 작업이며, 이를 올바르게 사용하는 것은 더욱 어렵다. 그러므로, 새로운 응용 계층 보안 프로토콜을 만드는 것은 취약점을 만들기 마련이다. 그에 더해, 특히 상용 소프트웨어들은 안전하지 않을 수 있다. 응용 계층 프로토콜들은 응용 계층의 정보를 보호할 수 있지만, 하위 계층에 존재하는 IP주소와 같은 TCP/IP 정보들은 보호하지 못한다. 가급적이면 네트워크 통신을 보호하기 위한 응용 계층의 제어 방식들은 어느 정도의 기간동안 사용되어온 표준 기반 해결책들이어야 한다. 한 가지 예로 이메일을 암호화하기 위해 쓰이는 Secure Multipurpose Internet Mail Extensions (S/MIME)가 있다.</li>
- <li><strong>전송계층</strong><strong>.</strong>  이 계층에서의 제어는 두 호스트 간에 단일 통신 세션 안에서의 데이터를 보호할 수 있다. IP주소는 네트워크 계층에서 추가되기 때문에, 전송 계층에서는 이를 보호할 방법이 없다. 전송 계층 프로토콜에서 가장 대표적으로 사용되는 것은 TLS로, HTTP 트래픽을 보호하는데에 사용된다. (TLS는 SSL 버전 3의 표준 기반 버전이다. TLS에 관한 추가 정보는 RFC 4346, <em>The TLS Protocol Version 1.1</em>, <a href="https://www.ietf.org/rfc/rfc4346.txt">https://www.ietf.org/rfc/rfc4346.txt</a>에서 찾아볼 수 있다.  또 다른 좋은 자료: NIST SP 800-52,<em> Guidelines on the Selection and Use of Transport Layer Security</em>, 에서 확인 가능<a href="https://csrc.nist.gov/publications/nistpubs/">https://csrc.nist.gov/publications/nistpubs/</a>.) TLS는 어플리케이션이 TLS를 지원해야만 사용가능하다, 그러나 응용 계층 제어와 달리, 전송 계층에서의 TLS와 같은 제어는 응용 계층에서의 작업을 이해 못하기 때문에 침입에 덜 취약하다. TLS를 사용하므로써 어플리케이션에 변동이 필요하겠지만, TLS은 많이 사용되고 있으며 많은 어플리케이션에 적용된, 잘 테스트된 프로토콜이다. 그러므로 응용 계층에 보호를 더하는 것보다 TLS를 선택하는 것이 비교적 안전한 선택이다. 관습적으로, TLS는 HTTP기반의 통신들을 보호하기 위해 사용되어 왔으며 SSL 포털 VPN을 통해 사용될 수 있다.</li>
- <li><strong>네트워크 계층</strong><strong>.</strong>  이 계층에서의 제어는 모든 어플리케이션에 적용될 수 있으나, 어플리케이션에 특화된 것은 아니다. For example, all network communications between two hosts or networks can be protected at this layer without modifying any applications on the clients or the servers.  In some environments, network layer controls such as Internet Protocol Security (IPsec) provide a much better solution than transport or application layer controls because of the difficulties in adding controls to individual applications.  Network layer controls also provide a way for network administrators to enforce certain security policies.  Another advantage of network layer controls is that since IP information (e.g., IP addresses) is added at this layer, the controls can protect both the data within the packets and the IP information for each packet.  However, network layer controls provide less control and flexibility for protecting specific applications than transport and application layer controls.  SSL tunnel VPNs provide the ability to secure both TCP and UDP communications including client/server and other network traffic, and therefore act as network layer VPNs.</li>
- <li><strong>링크 계층</strong><strong>.</strong>  Data link layer controls are applied to all communications on a specific physical link, such as a dedicated circuit between two buildings or a dial-up modem connection to an Internet Service Provider (ISP).  Data link layer controls for dedicated circuits are most often provided by specialized hardware devices known as<em> data link encryptors</em>; data link layer controls for other types of connections, such as dial-up modem communications, are usually provided through software.  Because the data link layer is below the network layer, controls at this layer can protect both data and IP information.  Compared to controls at the other layers, data link layer controls are relatively simple, which makes them easier to implement; also, they support other network layer protocols besides IP.  Because data link layer controls are specific to a particular physical link, they cannot protect connections with multiple links, such as establishing a VPN over the Internet.  An Internet-based connection is typically composed of several physical links chained together; protecting such a connection with data link layer controls would require deploying a separate control to each link, which is not feasible.  Data link layer protocols have been used for many years primarily to provide additional protection for specific physical links that should not be trusted.</li>
-</ul>
-
-<p>Because they can provide protection for many applications at once without modifying them, network layer security controls have been used frequently for securing communications, particularly over shared networks such as the Internet.  Network layer security controls provide a single solution for protecting data from all applications, as well as protecting IP information.  Nevertheless, in many cases, controls at another layer are better suited to providing protection than network layer controls.  For example, if only one or two applications need protection, a network layer control may be excessive.  Transport layer protocols such as SSL are most commonly used to provide security for communications with individual HTTP-based applications, although they are also used to provide protection for communication sessions of other types of applications such as SMTP, Point of Presence (POP), Internet Message Access Protocol (IMAP), and File Transfer Protocol (FTP).  Because all major Web browsers include support for TLS, users who wish to use Web-based applications that are protected by TLS normally do not need to install any client software or reconfigure their systems.  Newer applications of transport layer security protocols protect both HTTP and non-HTTP application communications, including client/server applications and other network traffic.  Controls at each layer offer advantages and features that controls at other layers do not.</p>
-
-<p>SSL is the most commonly used transport layer security control.  Depending on how SSL is implemented and configured, it can provide any combination of the following types of protection:</p>
-
-<ul style="list-style-type: square;">
- <li><strong>Confidentiality</strong><strong>.</strong>  SSL can ensure that data cannot be read by unauthorized parties.  This is accomplished by encrypting data using a cryptographic algorithm and a secret key—a value known only to the two parties exchanging data.  The data can only be decrypted by someone who has the secret key.</li>
- <li><strong>Integrity</strong><strong>.</strong>  SSL can determine if data has been changed (intentionally or unintentionally) during transit.  The integrity of data can be assured by generating a message authentication code (MAC) value, which is a keyed cryptographic checksum of the data.  If the data is altered and the MAC is recalculated, the old and new MACs will differ.</li>
- <li><strong>Peer Authentication</strong><strong>.</strong>  Each SSL endpoint can confirm the identity of the other SSL endpoint with which it wishes to communicate, ensuring that the network traffic and data is being sent from the expected host.  SSL authentication is typically performed one-way, authenticating the server to the client, but it can be performed mutually.</li>
- <li><strong>Replay Protection</strong><strong>.  </strong>The same data is not delivered multiple times, and data is not delivered grossly out of order.</li>
-</ul>
-
-<div class="originaldocinfo">
-<h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
-
-<ul>
- <li>Author(s): Sheila Frankel, Paul Hoffman, Angela Orebaugh, and Richard Park</li>
- <li>Title: National Institute of Standards and Technology (NIST) Special Publication 800-113, Guide to SSL VPNs</li>
- <li>Last Updated Date: July 2008</li>
- <li>Copyright Information: This document is not subject to copyright.</li>
-</ul>
-</div>
-
-<p>{{QuickLinksWithSubpages("/en-US/docs/Web/Security")}}</p>
diff --git a/files/ko/archive/web/index.html b/files/ko/archive/web/index.html
deleted file mode 100644
index fe223d9b2a..0000000000
--- a/files/ko/archive/web/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Archived open Web documentation
-slug: Archive/Web
-tags:
- - Archived
- - NeedsTranslation
- - TopicStub
- - Web
-translation_of: Archive/Web
----
-<p>The documentation listed below is archived, obsolete material about open Web topics.</p>
-<p></p><dl><dt class="landingPageList"><a href="/ko/docs/E4X">E4X</a></dt><dd class="landingPageList"><b>ECMAScript for XML</b> (<b>E4X</b>)는 <a href="ko/JavaScript">JavaScript</a>에 native <a href="ko/XML">XML</a> 지원을 더하는 프로그래밍 언어 확장기능입니다. E4X는 ECMAScript 프로그래머에게 자연스러운 형식으로 XML 문서 접근 방법을 제공하여 이를 수행합니다. 목표는 <a href="ko/DOM">DOM</a> 인터페이스를 통하기보다는 XML 문서에 접근하기 더 간단한 대체 구문 제공입니다.</dd><dt class="landingPageList"><a href="/ko/docs/XForms">XForms</a></dt><dd class="landingPageList"><span class="comment">Categories</span></dd></dl><p></p>
diff --git a/files/ko/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html b/files/ko/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html
deleted file mode 100644
index da862c184a..0000000000
--- a/files/ko/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: ECMAScript Next support in Mozilla
-slug: Archive/Web/JavaScript/ECMAScript_7_support_in_Mozilla
-translation_of: Archive/Web/JavaScript/ECMAScript_Next_support_in_Mozilla
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>ECMAScript 2016 는 (흔히 <a href="/en-US/docs/Web/JavaScript">JavaScript</a>로 알려져 있는) ECMA-262 표준의 차세대 버전 입니다. ECMAScript 2015이 2015년 6월 17일에 확정되었음에도 불구하고 새로운 특징들이 이미 제안되고 있습니다. 기능 제안에 대한 최신 후보들은 <a href="https://github.com/tc39/ecma262">tc39/ecma262</a> GitHub 저장소에서 보실 수 있습니다.</p>
-
-<p>현재 규격 개발에 관한 사항들은 각 기능들에 대한 <em>stages</em>와 <em>champions</em>를 안내하면서 해결할 예정입니다. 또한, 2년마다 표준을 배포하는 것이 제안되어 있습니다. post-ES2015 규격 처리방안에 대해 더 알고싶으시다면, <a href="http://slides.com/rafaelweinstein/tc39-process">Rafael Weinstein의 발표자료</a>를 참고하세요.</p>
-
-<p>ECMAScript 표준에 대한 피드백을 위한 채널은 <a href="https://mail.mozilla.org/listinfo/es-discuss">es-discuss</a> 입니다.</p>
-
-<h2 id="ECMAScript_2016">ECMAScript 2016</h2>
-
-<p> </p>
-
-<p>다음 ES2016기능들이 구현되었습니다.</p>
-
-<ul>
- <li>{{jsxref("Array.prototype.includes()")}} (Firefox 43)</li>
- <li>{{jsxref("TypedArray.prototype.includes()")}} (Firefox 43)</li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*">Generators</a> and <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Method_definitions">generator methods</a> are no longer constructable (Firefox 43)</li>
- <li>Proxy <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/enumerate">enumerate</a> handler removed (Firefox 47)</li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Exponentiation">Exponentiation operator</a> (Firefox 52)</li>
- <li>{{jsxref("Functions/rest_parameters", "Rest parameter destructuring", "#Destructuring_rest_parameters", 1)}} (Firefox 52)</li>
-</ul>
-
-<h2 id="ECMAScript_2017">ECMAScript 2017</h2>
-
-<p>다음 ES2017기능들이 구현되었습니다.</p>
-
-<p> </p>
-
-<ul>
- <li>{{jsxref("Object.values()")}} and {{jsxref("Object.entries()")}} (Firefox 47)</li>
- <li>{{jsxref("String.prototype.padEnd()")}} (Firefox 48)</li>
- <li>{{jsxref("String.prototype.padStart()")}} (Firefox 48)</li>
- <li>{{jsxref("Object.getOwnPropertyDescriptors()")}} (Firefox 50)</li>
- <li>Async Functions
- <ul>
- <li>{{jsxref("Statements/async_function", "async function")}} (Firefox 52)</li>
- <li>{{jsxref("Operators/async_function", "async function expression")}} (Firefox 52)</li>
- <li>{{jsxref("AsyncFunction")}} (Firefox 52)</li>
- <li>{{jsxref("Operators/await", "await")}} (Firefox 52)</li>
- </ul>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas">Trailing commas in function parameter lists</a> (Firefox 52)</li>
-</ul>
-
-<p> </p>
-
-<p> </p>
-
-<h2 id="실험_단계(특성)">실험 단계(특성)</h2>
-
-<p>다음 기능은 이미 구현되어 있지만,  <a href="http://nightly.mozilla.org/">Firefox Nightly channel</a>에서만 이용 가능합니다.:</p>
-
-<h3 id="Additions_to_the_ArrayBuffer_object">Additions to the <code>ArrayBuffer</code> object</h3>
-
-<ul>
- <li>{{jsxref("ArrayBuffer.transfer()")}} (<a href="https://gist.github.com/lukewagner/2735af7eea411e18cf20">spec</a>)</li>
-</ul>
-
-<h3 id="New_TypedObject_objects">New TypedObject objects</h3>
-
-<ul>
- <li>Based on <a href="https://github.com/dslomov-chromium/typed-objects-es7">Typed Objects draft</a>, and exposed via a global <code>TypedObject</code> object, e.g. <code>TypedObject.StructType</code> &amp; <code>TypedObject.ArrayType</code>. This feature is non-standard and not documented.</li>
-</ul>
-
-<div class="hidden">
-<p>See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1336740">https://bugzilla.mozilla.org/show_bug.cgi?id=1336740</a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=578700">https://bugzilla.mozilla.org/show_bug.cgi?id=578700</a>.</p>
-</div>
-
-<h3 id="New_SIMD_objects">New SIMD objects</h3>
-
-<ul>
- <li><a href="https://github.com/johnmccutchan/ecmascript_simd">SIMD specification draft and polyfill</a></li>
-</ul>
-
-<p> </p>
-
-<h3 id="New_Shared_Memory_objects">New Shared Memory objects</h3>
-
-<ul>
- <li>{{jsxref("SharedArrayBuffer")}}</li>
- <li>{{jsxref("Atomics")}}</li>
-</ul>
-
-<p> </p>
-
-<h2 id="참조">참조</h2>
-
-<ul>
- <li><a href="http://www.ecmascript.org/">ECMAScript web site</a></li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1021376">Mozilla ES2016 tracking bug</a></li>
- <li><a href="http://kangax.github.io/compat-table/es7/" title="http://kangax.github.io/es5-compat-table">ECMAScript 2016 support across browsers</a></li>
-</ul>
diff --git a/files/ko/archive/web/javascript/index.html b/files/ko/archive/web/javascript/index.html
deleted file mode 100644
index 4687b7bf23..0000000000
--- a/files/ko/archive/web/javascript/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: JavaScript
-slug: Archive/Web/JavaScript
-translation_of: Archive/Web/JavaScript
----
-<div class="hidden">{{JSRef}}</div>
-
-<p>{{Obsolete_Header}}</p>
-
-<p class="summary">Obsolete JavaScript features and unmaintained docs</p>
-
-<p>{{SubpagesWithSummaries}}</p>
diff --git a/files/ko/archive/web/javascript/legacy_generator_function/index.html b/files/ko/archive/web/javascript/legacy_generator_function/index.html
deleted file mode 100644
index 2d532f7cd9..0000000000
--- a/files/ko/archive/web/javascript/legacy_generator_function/index.html
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: 구형 생성기 함수 표현식
-slug: Archive/Web/JavaScript/Legacy_generator_function
-tags:
- - JavaScript
- - Non-standard
- - Obsolete
- - Operator
- - Reference
-translation_of: Archive/Web/JavaScript/Legacy_generator_function
----
-<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko58")}}
-<div class="warning">The legacy generator function expression was a SpiderMonkey-specific feature, which is removed in Firefox 58+. For future-facing usages, consider using the {{JSxRef("Operators/function*", "function* expression")}}.</div>
-</div>
-
-<p>The <strong><code>function</code></strong> keyword can be used to define a legacy generator function inside an expression. To make the function a legacy generator, the function body should contain at least one {{JSxRef("Operators/yield", "yield")}} expression.</p>
-
-<h2 id="Syntax">Syntax</h2>
-
-<pre class="syntaxbox">function [<em>name</em>]([<em>param1</em>[, <em>param2[</em>, ..., <em>paramN</em>]]]) {
- <em>statements</em>
-}</pre>
-
-<h3 id="Parameters">Parameters</h3>
-
-<dl>
- <dt><code>name</code></dt>
- <dd>The function name. Can be omitted, in which case the function is <em>anonymous</em>. The name is only local to the function body.</dd>
- <dt><code>paramN</code></dt>
- <dd>The name of an argument to be passed to the function. A function can have up to 255 arguments.</dd>
- <dt><code>statements</code></dt>
- <dd>The statements which comprise the body of the function. This should contain at least one {{JSxRef("Operators/yield", "yield")}} expression.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>An overview of the usage is available on the <a href="/en-US/docs/JavaScript/Guide/Iterators_and_Generators">Iterators and Generators</a> page.</p>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<p>Supported nowhere.</p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{JSxRef("Generator")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/Legacy_generator_function">The legacy generator function</a></li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/The_legacy_Iterator_protocol">The legacy Iterator protocol</a></li>
- <li>{{JSxRef("Operators/yield", "yield")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope">Functions and function scope</a></li>
- <li>{{JSxRef("Statements/function", "function")}}</li>
- <li>{{JSxRef("Operators/function", "function expression")}}</li>
- <li>{{JSxRef("Function")}}</li>
- <li>{{JSxRef("Statements/function*", "function*")}}</li>
- <li>{{JSxRef("Operators/function*", "function* expression")}}</li>
- <li>{{JSxRef("GeneratorFunction")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol">The Iterator protocol</a></li>
-</ul>
diff --git a/files/ko/archive/web/javascript/legacy_generator_function_statement/index.html b/files/ko/archive/web/javascript/legacy_generator_function_statement/index.html
deleted file mode 100644
index d4eeadb0f0..0000000000
--- a/files/ko/archive/web/javascript/legacy_generator_function_statement/index.html
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title: Legacy generator function
-slug: Archive/Web/JavaScript/Legacy_generator_function_statement
-translation_of: Archive/Web/JavaScript/Legacy_generator_function_statement
----
-<div class="warning">The legacy generator function was a SpiderMonkey-specific feature, which is removed in Firefox 58+. For future-facing usages, consider using {{jsxref("Statements/function*", "function*")}}.</div>
-
-<div>{{jsSidebar("Statements")}}</div>
-
-<p>레거시 생성 함수(<strong>legacy generator function statement)는</strong> 레거시 생성 함수를 지정된 매개 변수로 선언한다.</p>
-
-<p><code>functionBody</code> 와 함께 {{jsxref("Operators/yield", "yield")}}나 {{jsxref("Operators/Legacy_generator_function", "레거시 생성 함수 식", "", 1)}} 중 적어도 하나의  표현식을 사용하여 {{jsxref("Function")}} 생성자를 사용하여 함수를 정의할 수도 있다. </p>
-
-<h2 id="Syntax">Syntax</h2>
-
-<pre class="syntaxbox">function <em>name</em>([<em>param</em>,[, <em>param</em>,[..., <em>param</em>]]]) {
- [<em>statements</em>]
-}
-</pre>
-
-<dl>
- <dt><code>name</code></dt>
- <dd>함수의 이름.</dd>
-</dl>
-
-<dl>
- <dt><code>param</code></dt>
- <dd>함수에 전달할 인수의 이름. 함수는 최대 255개의 인수를 가질 수 있다.</dd>
-</dl>
-
-<dl>
- <dt><code>statements</code></dt>
- <dd>함수의 본문을 구성하는 문장. 적어도 하나의 {{jsxref("Operators/yield", "yield")}} 표현식을 포함해야 한다.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>사용법에 대한 개요는  <a href="/en-US/docs/JavaScript/Guide/Iterators_and_Generators">반복기 및 생성기(Iterators and Generators</a>) 페이지에서 볼 수 있다.</p>
-
-<h2 id="Browser_compatibility브라우저_호환성">Browser compatibility(브라우저 호환성)</h2>
-
-<p>Supported nowhere.</p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{jsxref("Generator")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Legacy_generator_function">The legacy generator function expression</a></li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/The_legacy_Iterator_protocol">The legacy Iterator protocol</a></li>
- <li>{{jsxref("Operators/yield", "yield")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope">Functions and function scope</a></li>
- <li>{{jsxref("Statements/function", "function")}}</li>
- <li>{{jsxref("Operators/function", "function expression")}}</li>
- <li>{{jsxref("Function")}}</li>
- <li>{{jsxref("Statements/function*", "function*")}}</li>
- <li>{{jsxref("Operators/function*", "function* expression")}}</li>
- <li>{{jsxref("GeneratorFunction")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol">The Iterator protocol</a></li>
-</ul>
diff --git a/files/ko/archive/web_standards/index.html b/files/ko/archive/web_standards/index.html
deleted file mode 100644
index 1ef58a9097..0000000000
--- a/files/ko/archive/web_standards/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: Web Standards
-slug: Archive/Web_Standards
-tags:
- - Web Standards
-translation_of: Archive/Web_Standards
----
-<div><b>웹 표준</b>은 웹 상에 출판된 어떤 문서의 수명(viability)을 장시간 보장하는 동시에 웹 사용자 최대 다수에게 최대 이익을 전달하도록 주의해서 설계되었습니다. 이 표준으로 설계하고 제작함은 더 많은 사람과 더 많은 종류의 인터넷 장치에 접근 가능한 사이트를 만드는 동시에 생산을 쉽게 하고 생산 비용을 줄이게 됩니다. 이 지침에 따라 개발한 사이트는 기존 데스크탑 브라우저가 진화하고 새 인터넷 장치가 시장에 나오더라도 계속 정확히 작동할 것입니다. <sup><a href="https://developer.mozilla.org/ko/docs/Archive/Web_Standards#endnote_1">[1]</a></sup></div>
-<table class="topicpage-table">
-<tbody><tr><td>
-<h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"> <a>문서</a> </h4>
-<dl><dt> <a href="ko/Migrate_apps_from_Internet_Explorer_to_Mozilla">Migrate apps from Internet Explorer to Mozilla</a><br>
-</dt><dd> <small>IE에 종속된 웹 응용프로그램을 Mozilla로 작업하기 위해 어려움을 겪은 적이 있으세요? 이 글에서는 웹 응용프로그램을 오픈 소스 Mozilla에 기반을 둔 브라우저로의 이관(Migration)과 관련 있는 공통 쟁점을 다룹니다.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.mozilla.org/docs/web-developer/upgrade_2.html">Using Web Standards in your Web Pages</a>
-</dt><dd> <small>이 페이지에서는 W3C 웹 표준을 따르는 웹 페이지의 컨텐츠를 업그레이드하는 과정의 개요를 제공합니다.</small>
-</dd></dl>
-<dl><dt> <a href="ko/Choosing_Standards_Compliance_Over_Proprietary_Practices">Choosing Standards Compliance Over Proprietary Practices</a>
-</dt><dd> <small>개발하다 보면, 어플리케이션을 다양한 개발 그룹에 걸쳐 설계하기 때문에 표준이 필요합니다.</small>
-</dd></dl>
-<dl><dt> <a href="ko/The_Business_Benefits_of_Web_Standards">The Business Benefits of Web Standards</a>
-</dt><dd> <small>이 기사는 웹 표준에 충실하고 회사의 사업 목표에 기여할 수 있는 독점(proprietary) 마크업과 기술을 뒤에 남기는 법에 관해 의견을 나눕니다.</small>
-</dd></dl>
-<p><span class="alllinks"><a>모두 보기...</a></span>
-</p>
-</td>
-<td>
-<h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0"> 커뮤니티 </h4>
-<h5 id=".EA.B5.AD.EB.82.B4" name=".EA.B5.AD.EB.82.B4"> 국내 </h5>
-<ul><li> <a class="external" href="http://www.webstandard.or.kr/">웹 표준화 프로젝트</a>
-</li><li> <a class="external" href="http://www.standardmag.org/">Standard Magazine</a>
-</li></ul>
-<h5 id=".EA.B5.AD.EC.99.B8" name=".EA.B5.AD.EC.99.B8"> 국외 </h5>
-<ul><li> Mozilla 포럼 보기...
-</li></ul>
-<p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-web-development"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.web-development"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.web-development/feeds"> 웹 Feed</a></li>
-</ul>
-<p></p>
-<ul><li> <a class="external" href="http://webstandards.org/">The Web Standards Project</a>
-</li><li> <a class="external" href="http://webdevfeedhouse.com/">WebDev FeedHouse</a>
-</li><li> <a href="ko/Web_Standards/Community">Other community links...</a>
-</li></ul>
-<h4 id=".EA.B0.9C.EB.B0.9C_.EB.8F.84.EA.B5.AC" name=".EA.B0.9C.EB.B0.9C_.EB.8F.84.EA.B5.AC"> 개발 도구 </h4>
-<ul><li> <a class="link-https" href="https://addons.mozilla.org/extensions/moreinfo.php?id=60&amp;application=firefox">Web Developer extension</a>
-</li><li> <a class="external" href="http://validator.w3.org/">Markup validation service (W3C)</a>
-</li><li> <a class="external" href="http://jigsaw.w3.org/css-validator/">CSS validation service (W3C)</a>
-</li></ul>
-<p><span class="alllinks"><a>모두 보기...</a></span>
-</p>
-<h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C"> 관련 주제 </h4>
-<dl><dd> <a href="ko/CSS">CSS</a>, <a href="ko/DHTML">DHTML</a>, <a href="ko/HTML">HTML</a>, <a href="ko/Web_Development">Web Development</a>, <a href="ko/XHTML">XHTML</a>, <a href="ko/XML">XML</a>
-</dd></dl>
-</td></tr></tbody></table>
-<hr>
-<p><small></small></p><div class="note"><small><strong>주의:</strong> 1</small></div><small> - <a class="external" href="http://webstandards.org/">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>
-</p>
diff --git a/files/ko/archive/web_standards/issues_arising_from_arbitrary-element_hover/index.html b/files/ko/archive/web_standards/issues_arising_from_arbitrary-element_hover/index.html
deleted file mode 100644
index 3d08aa525e..0000000000
--- a/files/ko/archive/web_standards/issues_arising_from_arbitrary-element_hover/index.html
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: Issues Arising From Arbitrary-Element hover
-slug: Archive/Web_Standards/Issues_Arising_From_Arbitrary-Element_hover
-tags:
- - CSS
-translation_of: Archive/Web_Standards/Issues_Arising_From_Arbitrary-Element_hover
----
-<p><span class="comment">Summary: Thanks to long-standing limitations, we're used to thinking of hover styles as applying only to hyperlinks, which has led to some sloppy authoring practices that are now causing problems for some Web sites. This technote explains the source of the problems and how to avoid encountering them.</span></p>
-<p>많은 저자들이 링크의 스타일을 위해서 CSS 슈도(pseudo)-클래스 <code>:hover</code>를 사용하고 있습니다. 처음 마이크로소프트 인터넷 익스플로러로 소개되고, 이후 CSS규약으로 받아들여진 이 혁신적인 클래스는 텍스트 링크를 스타일화 하는데, 특히, 자바스크립트로 구현되는 "롤오버(rollovers)"같은 모습과 작동을 하도록 하는 곳에 인기있게 사용되고 있습니다. 그러나 브라우저들에서 CSS지원의 이러한 향상은 몇몇 페이지에서 예기치않게 심한 호버링 현상(또는, 호버링시 반응, hovering behavior)을 야기해 왔습니다.</p>
-<h3 id="Hover_.EA.B7.B8.EB.A6.AC.EA.B3.A0_.EB.B9.84-.EB.A7.81.ED.81.AC_.EC.97.98.EB.A6.AC.EB.A8.BC.ED.8A.B8.EB.93.A4" name="Hover_.EA.B7.B8.EB.A6.AC.EA.B3.A0_.EB.B9.84-.EB.A7.81.ED.81.AC_.EC.97.98.EB.A6.AC.EB.A8.BC.ED.8A.B8.EB.93.A4">Hover 그리고 비-링크 엘리먼트들</h3>
-<p><a class="external" href="http://www.w3.org/TR/CSS2/selector.html#x36">Section 5.11.3 of CSS2</a>는 세개의 동적 슈도-클래스들(<code>:hover</code>, <code>:active</code>, 그리고 <code>:focus</code>)을 정의하고 다음과 같이 언급하고 있습니다:</p>
-<blockquote>
- CSS 는 어떤 엘리먼트들에게 위의 상태들(states)이 허용될 수 있을 지 또 어떻게 각 상태에 진입하고 빠져나갈 수 있는지 정의하지 않는다. 스크립팅으로 엘리먼트들이 사용자 이벤트들에 반응할지, 안 할지를 변경할 수 있으며, 각각의 장치와 UA들은 각기 다른 방식으로 엘리먼트들을 가리키거나 또는 작동시킬 수 있다.</blockquote>
-<p>따라서, 저자들이 보통 이들 상태들이 배타적으로 하이퍼링크에만 적용되는 것으로 생각하지만, CSS2는 그렇게 한정지어 놓고 있지 않습니다. 어떤 엘리먼트도, 이론상, 위의 3 상태중의 하나가 될 수 있으며, 따라서 이 상태들에 근거해거 스타일 지워질 수 있습니다. 과거에는 이렇지 않았습니다.</p>
-<h3 id=".EC.88.9C.28bare.29_.EC.8A.88.EB.8F.84.28Pseudo.29-.ED.81.B4.EB.9E.98.EC.8A.A4" name=".EC.88.9C.28bare.29_.EC.8A.88.EB.8F.84.28Pseudo.29-.ED.81.B4.EB.9E.98.EC.8A.A4">순(bare) 슈도(Pseudo)-클래스</h3>
-<p>두번째 문제는 선별자내의 "순" 슈도-클래스의 효과를 고려할 때 생기게 됩니다. 예를 들면:</p>
-<pre>:hover {color: red;}</pre>
-<p>이것은 다음의 CSS2 규칙과 동등합니다:</p>
-<pre>*:hover {color: red;}</pre>
-<p>..이들은 "위에 마우스 포인터가 놓이게 되는(being hovered) 어떤 엘리먼트든 표면색(foreground color)으로 붉은색을 가져야만 한다"라고 옮길 수 있습니다. 따라서 문서내의 단락, 표, 표제어 그리고 다른 어떤 엘리먼트위로 (포인터가) 떠 있게 되면 텍스트가 붉은색이 되게 할 것입니다.</p>
-<p>흔한 변형예는 순 클래스와 hover 슈도-클래스를 다음과 같이 함께 사용하는 것입니다.</p>
-<pre>.nav:hover {color: red;}</pre>
-<p><code>class</code>값 <code>nav</code>의 인스턴스만이 하이퍼링크들에 적용되는 상황에선 아무 문제가 없을 것입니다. 그러나, 이 유형의 규칙들은 보통 아래와 같은 마크업(markup)과 결부되어 나타납니다.</p>
-<pre>&lt;td class="nav"&gt;
-&lt;a href="one.html" class="nav"&gt;one&lt;/a&gt; |
-&lt;a href="two.html" class="nav"&gt;two&lt;/a&gt; |
-&lt;a href="thr.html" class="nav"&gt;three&lt;/a&gt; |
-&lt;a href="fou.html" class="nav"&gt;four&lt;/a&gt;
-&lt;/td&gt;</pre>
-<p>둘러싸고 있는 표의 셀이 <code>nave</code> <code>class</code>를 가지고 있기때문에 사용자가 마우스 포인터를 표의 셀안의 어느 곳으로든 움직이게 되면 수직-바 문자들은 붉은 색이 될것이며, 링크들도 그들 위로 (포인터가) 떠다니게 되면 붉은 색으로 바뀔 것입니다.</p>
-<h3 id="Gecko_.EC.9E.91.EB.8F.99.EB.B0.A9.EC.8B.9D" name="Gecko_.EC.9E.91.EB.8F.99.EB.B0.A9.EC.8B.9D">Gecko 작동방식</h3>
-<p>20020410 이후의 넷스케이프 Gecko 빌드(넷스케이프 6.1+)에 기반을 둔 브라우저들에선, <code>:hover</code> 스타일이 문서안의 어느 엘리먼트에든 적용될 수 있습니다. 따라서, 순 슈도-클래스들을, 또는 순 클래스와 슈도-클래스의 조합을 사용해온 저자들은 hover 스타일이 링크들 이상으로 적용되어 보여질 위험이 있습니다. 가장 믿을 만한 수정안은 다음과 같이 선별자들에 앵커 엘리먼트를 더하는 것입니다.</p>
-<pre>a:hover {color: red;}
-a.nav:hover {color: red;}</pre>
-<p>레거시(legacy) 문서들에의 문제야기를 피하기 위해서, 모질라 1.0 과 그 이후 버전(넷스케이프 7+)에 기반한 브라우저들은 문서를 "특별(quirks)"모드로 렌더링할 경우 순 슈도-클래스들이 링크에만 한정되도록 하는 코드를 포함하고 있습니다. 모질라 1.3b와 그 이후 버전에서 발견되는 엔진에 기반을 둔 브라우저들에선, 이 특별 모드를 확장해서 순 클래스 선별자와 <code>:hover</code> 슈도-클래스를 조합하는 선별자들을 커버하도록 하고 있습니다.</p>
-<h3 id=".EC.9D.B4.EB.A6.84.EC.9D.B4_.EC.A3.BC.EC.96.B4.EC.A7.84_.EC.95.B5.EC.BB.A4_.EB.AC.B8.EC.A0.9C.EB.93.A4" name=".EC.9D.B4.EB.A6.84.EC.9D.B4_.EC.A3.BC.EC.96.B4.EC.A7.84_.EC.95.B5.EC.BB.A4_.EB.AC.B8.EC.A0.9C.EB.93.A4">이름이 주어진 앵커 문제들</h3>
-<p>위에 기술한 효과들에 더해서, 저자들이 예상치 못할 수 있는 두개의 다른 상대적으로 흔한 현상들이 있습니다. 하나는 validation으로 쉽게 고칠 수 있으나, 다른 문제는 좀더 까다롭습니다.</p>
-<p>첫번째로, 이름이 주어진 앵커를 열고서는 닫지 않는 저자로부터 문제가 생깁니다. 예를 들면:</p>
-<pre>&lt;a name="pagetop"&gt;
-&lt;h2&gt;My Page&lt;/h2&gt;</pre>
-<p><code>&lt;/a&gt;</code>없이 이 이름은 문서의 나머지 부분들 모두에 영향을 끼칠 것입니다. 더 일반적으로 말하자면, 문서의 나머지 부분들이 hover 스타일을 가지게 될 것이라는 것입니다. 다음 규칙의 효과를 생각해 보세요:</p>
-<pre>a:hover {color: red;}</pre>
-<p>닫히지 않은 이름이 주어진 앵커가 있는 문서에서, 앵커의 열린 택이후에 나오는 모든 텍스트는 (다른 CSS 규칙이 끼워들지 않는 한) 붉은 색이 될것입니다.</p>
-<p>이는 두번째 흔한 문제를 불러오는 데, 그것은 이름이 주어진 앵커들이 hover스타일을 허용할 수 있다는 것입니다. 비록 저자가 선별자 <code>a:hover</code>가 하이퍼링크에만 적용되도록 의도한다 해도,선별자는 이름이 주어진 앵커에도 적용될 것입니다. 왜냐하면 선별자가 단순히 hover 상태에 있는 모든 <code>a</code> 엘리먼트들을 스타일화 할 것을 선언하고 있기 때문입니다. 이 문제를 피하기 위해서, CSS2가 기술하고 있는 조합된 슈도-클래스 문법(the combined pseudo-class syntax)을 사용해야 합니다:</p>
-<pre>a:link:hover {color: red;}
-a:visited:hover {color: maroon;}</pre>
-<p>이 구문에서 링크들에 마우스가 놓여졌을 때 방문된 그리고 아직 방문하지 않은 링크들이 다르게 스타일화 될 수 있다는 점을 볼 수가 있습니다. 이것은 단순한 <code>a:hover</code>로는 불가능 했습니다. 물론, 선별자 <code>a:link:hover</code>는 오직 아직 방문하지 않은 링크에만 적용될 것입니다. 따라서, 같은 hover스타일이 방문된 그리고 아직 방문하지 않은 링크 모두에 적용되기를 원한다면, 두 선별자를 하나의 규칙으로 그룹지어 놓아야 합니다.</p>
-<h3 id=".EA.B6.8C.EA.B3.A0_.EC.82.AC.ED.95.AD" name=".EA.B6.8C.EA.B3.A0_.EC.82.AC.ED.95.AD">권고 사항</h3>
-<p>예상치 못한 문제들을 피하기 위해서 하이퍼링크에 적용될 동적-상태(dynamic-state) 슈도-클래스(pseudo-class) 내에 엘리먼트 이름을 포함시킬 것을
- <i>
- 강력하게</i>
- 권합니다. 더나아가, 슈도-클래스들을 조합하는 것은 호버(hover) 스타일이 비-하이퍼링크 앵커에 적용되는 것을 막아줍니다. 따라서, 단지 <code>:hover</code> 대신 항상 <code>a:hover</code>이 사용되어야 하며, <code>a:link:hover</code> (그리고 <code>a:visited:hover</code>)이 보다 단순한 a:hover보다 선호됩니다.</p>
-<h3 id=".EA.B4.80.EB.A0.A8_.EB.A7.81.ED.81.AC.EB.93.A4" name=".EA.B4.80.EB.A0.A8_.EB.A7.81.ED.81.AC.EB.93.A4">관련 링크들</h3>
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/CSS2/selector.html#x36">The dynamic pseudo-classes: :hover, :active, and :focus</a></li>
-</ul>
-<div class="originaldocinfo">
- <h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
- <ul>
- <li>Author(s): Eric A. Meyer, Netscape Communications</li>
- <li>Last Updated Date: Published 07 Mar 2003; Revised 21 Mar 2003</li>
- <li>Copyright Information: Copyright © 2001-2003 Netscape. All rights reserved.</li>
- <li>Note: This reprinted article was originally part of the DevEdge site.</li>
- </ul>
-</div>
-<p> </p>
diff --git a/files/ko/archive/web_standards/mozilla_s_doctype_sniffing/index.html b/files/ko/archive/web_standards/mozilla_s_doctype_sniffing/index.html
deleted file mode 100644
index a4d28b14ad..0000000000
--- a/files/ko/archive/web_standards/mozilla_s_doctype_sniffing/index.html
+++ /dev/null
@@ -1,141 +0,0 @@
----
-title: Mozilla's DOCTYPE sniffing
-slug: Archive/Web_Standards/Mozilla_s_DOCTYPE_sniffing
-tags:
- - Web Development
-translation_of: Archive/Web_Standards/Mozilla_s_DOCTYPE_sniffing
----
-<p>이 문서는 Mozilla가 strict 모드 대 <a href="ko/Mozilla's_Quirks_Mode">호환(quirks) 모드</a>를 결정하기 위해 DOCTYPE 선언을 쓰는 법을 기술합니다. 이를 결정하는 코드는 현재 <a href="https://dxr.mozilla.org/mozilla-central/source/parser/htmlparser/src/nsParser.cpp#833" rel="custom">nsParser.cpp의 DetermineParseMode()</a>에 있습니다. 모드 결정의 역사 일부는 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1312" title='FIXED: "Standard" compatibility mode needs to be hooked to DOCTYPE'>bug 1312</a>와 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=55264" title="FIXED: [DOCTYPE] Documents with unknown DOCTYPE should be displayed in strict mode">bug 55264</a>를 참조하세요. Mozilla 1.0 쯤에 새로 생긴 거의 표준(Almost-Standards) 모드는 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=153032" title="FIXED: Implement almost-standards rendering mode">bug 153032</a>를 참조하세요. 다음이 이 행동(behavior)을 고르게 했던 목적들입니다:</p>
-<ul>
- <li>바르게 표시되도록 호환 모드일 필요가 있는 현재 웹 상의 거의 모든 <code>text/html</code> 페이지는 호환 모드를 써서 표시되어야 합니다. (전부는 아니고
- <i>
- 거의</i>
- 모두가 다음 목적 역시 고려해야 함.)</li>
- <li>현재 표준에 따라 웹 페이지를 작성하는 제작자는 strict 모드를 일으킬 수 있어야 합니다.</li>
- <li>장차 생길 DOCTYPE 선언에 공용 식별자를 써서 작성된 페이지는 strict 모드를 써서 표시되어야 합니다.</li>
-</ul>
-<p>바꿔 말하면, 이 알고리즘이 Mozilla가 웹에서 알려진 중요 사용자 에이전트가 된 뒤로 작성되었던 페이지를 결정하는 경우에 우리가 찾을 수 있는 가장 좋은 접근법입니다.</p>
-<h3 id=".EC.99.84.EC.A0.84_.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C" name=".EC.99.84.EC.A0.84_.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C">완전 표준 모드</h3>
-<p>다음이 완전 표준(full standards) 모드를 일으킵니다:</p>
-<ul>
- <li><code>text/xml</code>, <code>application/xml</code>, 또는 <code>application/xhtml+xml</code>과 같은 XML MIME type으로 보낸 문서 (sniffing이 text/html로 보낸 문서에만 발생하기 때문에).</li>
- <li>"DOCTYPE HTML PUBLIC"이 아닌 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+SYSTEM+%22http%3A%2F%2Fwww.w3.org%2FTR%2FREC-html40%2Fstrict.dtd%22%3E">"DOCTYPE HTML SYSTEM"</a>으로, 아래 언급된 IBM doctype은 뺌</li>
- <li>DTD 없는 DOCTYPE 선언, 즉, <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML%3E">&lt;!DOCTYPE HTML&gt;</a>.</li>
- <li><a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+%5B+%3C%21ELEMENT+TEST+-+-+%28P%29+%3E+%5D%3E+">internal subset</a> 있는 DOCTYPE 선언.</li>
- <li>어떤 알려지지 않은 doctype으로 다음 (기술적으로 알려진) doctype을 포함합니다:
- <ul>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.01%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.01//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+XHTML+1.0+Strict%2F%2FEN%22%3E">"-//W3C//DTD XHTML 1.0 Strict//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22ISO%2FIEC+15445:2000%2F%2FDTD+HyperText+Markup+Language%2F%2FEN%22%3E">"ISO/IEC 15445:2000//DTD HyperText Markup Language//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22ISO%2FIEC+15445:2000%2F%2FDTD+HTML%2F%2FEN%22%3E">"ISO/IEC 15445:2000//DTD HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+i18n%2F%2FEN%22%3E">"-//IETF//DTD HTML i18n//EN"</a>.</li>
- </ul>
- </li>
-</ul>
-<h3 id=".EA.B1.B0.EC.9D.98_.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C" name=".EA.B1.B0.EC.9D.98_.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C">거의 표준 모드</h3>
-<p>다음은 거의 표준 모드를 일으킵니다. <a href="ko/Gecko's_%22Almost_Standards%22_Mode">거의 표준 모드</a>는 1.0과 1.1 알파 뒤지만, 1.0.1과 1.1 베타 앞에 만들었습니다. 거의 표준 모드가 생기기 전에 이 doctype은 완전 표준 모드를 일으켰습니다.</p>
-<ul>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+XHTML+1.0+Transitional%2F%2FEN%22%3E">"-//W3C//DTD XHTML 1.0 Transitional//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+XHTML+1.0+Frameset%2F%2FEN%22%3E">"-//W3C//DTD XHTML 1.0 Frameset//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.01+Transitional%2F%2FEN%22+%22http%3A%2F%2Fwww.w3.org%2FTR%2Fhtml4%2Floose.dtd%22%3E">"-//W3C//DTD HTML 4.01 Transitional//EN"</a>으로, 시스템 식별자 있음.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.01+Frameset%2F%2FEN%22+%22http%3A%2F%2Fwww.w3.org%2FTR%2Fhtml4%2Fframeset.dtd%22%3E">"-//W3C//DTD HTML 4.01 Frameset//EN"</a>으로, 시스템 식별자 있음.</li>
-</ul>
-<h3 id=".ED.98.B8.ED.99.98_.EB.AA.A8.EB.93.9C" name=".ED.98.B8.ED.99.98_.EB.AA.A8.EB.93.9C">호환 모드</h3>
-<p>다음은 호환 모드를 일으킵니다 (이 목록은 웹 상에 이미 존재하는 페이지가 호환 모드를 일으키게 하도록 포괄할 필요가 있습니다):</p>
-<p>이 목록 준비에 다음 사이트가 유용했습니다: <a class="external" href="http://validator.w3.org/sgml-lib/catalog">W3C HTML Validator</a>, <a class="external" href="http://www.htmlhelp.com/tools/validator/lib/catalog">HTMLHelp HTML Validator</a>.</p>
-<ul>
- <li><a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=">DOCTYPE 없음</a>.</li>
- <li><a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%3Fxml+version%3D%221.0%22%3F%3E">doctype 없는 XML 선언 (pseudo-PI)</a> (바꿔 말하면, XML 선언을 무시하고 DOCTYPE 사용). 1.0과 1.1 알파 이전에는 (하지만 1.0.1이나 1.1 베타에선 아님), XML 선언이 있으면 완전 표준 모드를 일으켰습니다.</li>
- <li><a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+NOT+UNDERSTOOD%3E">이해할 수 없는</a> DOCTYPE 선언 (예, 일치하지 않는 따옴표).</li>
- <li>시스템 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+html+SYSTEM+%22http%3A%2F%2Fwww.ibm.com%2Fdata%2Fdtd%2Fv11%2Fibmxhtml1-transitional.dtd%22%3E">"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"</a> (1.5b와 1.4.2 이전에, 이는 거의 표준 모드를 일으켰습니다).</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.01+Transitional%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.01 Transitional//EN"</a>으로, 시스템 식별자 없음.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.01+Frameset%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.01 Frameset//EN"</a>으로, 시스템 식별자 없음.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0+Transitional%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.0 Transitional//EN"</a> (<a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0+Transitional%2F%2FEN%22+%22http%3A%2F%2Fwww.w3.org%2FTR%2FREC-html40%2Floose.dtd%22%3E">test with 시스템 식별자</a> 같이 보기).</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0+Frameset%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.0 Frameset//EN"</a> (<a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0+Frameset%2F%2FEN%22+%22http%3A%2F%2Fwww.w3.org%2FTR%2FREC-html40%2Fframeset.dtd%22%3E">test with 시스템 식별자</a> 같이 보기).</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSoftQuad+Software%2F%2FDTD+HoTMetaL+PRO+6.0::19990601::extensions+to+HTML+4.0%2F%2FEN%22%3E">"-//SoftQuad Software//DTD HoTMetaL PRO 6.0::19990601::extensions to HTML 4.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSoftQuad%2F%2FDTD+HoTMetaL+PRO+4.0::19971010::extensions+to+HTML+4.0%2F%2FEN%22%3E">"-//SoftQuad//DTD HoTMetaL PRO 4.0::19971010::extensions to HTML 4.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML%2F%2FEN%2F%2F3.0%22%3E">"-//IETF//DTD HTML//EN//3.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3O%2F%2FDTD+W3+HTML+3.0%2F%2FEN%2F%2F%22%3E">"-//W3O//DTD W3 HTML 3.0//EN//"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3O%2F%2FDTD+W3+HTML+3.0%2F%2FEN%22%3E">"-//W3O//DTD W3 HTML 3.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/$ompat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+3+1995-03-24%2F%2FEN%22%3E">"-//W3C//DTD HTML 3 1995-03-24//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+3.0%2F%2FEN%22%3E">"-//IETF//DTD HTML 3.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+3.0%2F%2FEN%2F%2F%22%3E">"-//IETF//DTD HTML 3.0//EN//"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+3%2F%2FEN%22%3E">"-//IETF//DTD HTML 3//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+3%2F%2FEN%22%3E">"-//IETF//DTD HTML Level 3//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+3%2F%2FEN%2F%2F3.0%22%3E">"-//IETF//DTD HTML Level 3//EN//3.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+3.2%2F%2FEN%22%3E">"-//IETF//DTD HTML 3.2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FAdvaSoft+Ltd%2F%2FDTD+HTML+3.0+asWedit+%2B+extensions%2F%2FEN%22%3E">"-//AS//DTD HTML 3.0 asWedit + extensions//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FAdvaSoft+Ltd%2F%2FDTD+HTML+3.0+asWedit+%2B+extensions%2F%2FEN%22%3E">"-//AdvaSoft Ltd//DTD HTML 3.0 asWedit + extensions//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict%2F%2FEN%2F%2F3.0%22%3E">"-//IETF//DTD HTML Strict//EN//3.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3O%2F%2FDTD+W3+HTML+Strict+3.0%2F%2FEN%2F%2F%22%3E">"-//W3O//DTD W3 HTML Strict 3.0//EN//"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+3%2F%2FEN%22%3E">"-//IETF//DTD HTML Strict Level 3//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+3%2F%2FEN%2F%2F3.0%22%3E">"-//IETF//DTD HTML Strict Level 3//EN//3.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22HTML%22%3E">"HTML"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML%2F%2FEN%22%3E">"-//IETF//DTD HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+2%2F%2FEN%22%3E">"-//IETF//DTD HTML Level 2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+2%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Level 2//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0+Level+2%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0 Level 2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+1%2F%2FEN%22%3E">"-//IETF//DTD HTML Level 1//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+1%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Level 1//EN//2.0$</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0+Level+1%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0 Level 1//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+0%2F%2FEN%22%3E">"-//IETF//DTD HTML Level 0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+0%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Level 0//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict%2F%2FEN%22%3E">"-//IETF//DTD HTML Strict//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Strict//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+2%2F%2FEN%22%3E">"-//IETF//DTD HTML Strict Level 2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+2%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Strict Level 2//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0+Strict%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0 Strict//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0+Strict+Level+2%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0 Strict Level 2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+1%2F%2FEN%22%3E">"-//IETF//DTD HTML Strict Level 1//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+1%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Strict Level 1//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0+Strict+Level+1%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0 Strict Level 1//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+0%2F%2FEN%22%3E">"-//IETF//DTD HTML Strict Level 0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+0%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Strict Level 0//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FWebTechs%2F%2FDTD+Mozilla+HTML%2F%2FEN%22%3E">"-//WebTechs//DTD Mozilla HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FWebTechs%2F%2FDTD+Mozilla+HTML+2.0%2F%2FEN%22%3E">"-//WebTechs//DTD Mozilla HTML 2.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FNetscape+Comm.+Corp.%2F%2FDTD+HTML%2F%2FEN%22%3E">"-//Netscape Comm. Corp.//DTD HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FNetscape+Comm.+Corp.%2F%2FDTD+HTML%2F%2FEN%22%3E">"-//Netscape Comm. Corp.//DTD HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FNetscape+Comm.+Corp.%2F%2FDTD+Strict+HTML%2F%2FEN%22%3E">"-//Netscape Comm. Corp.//DTD Strict HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+2.0+HTML%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 2.0 HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%2$DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+2.0+HTML+Strict%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 2.0 HTML Strict//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+2.0+Tables%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 2.0 Tables//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+3.0+HTML%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 3.0 HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+3.0+HTML+Strict%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 3.0 HTML Strict//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+3.0+Tables%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 3.0 Tables//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSun+Microsystems+Corp.%2F%2FDTD+HotJava+HTML%2F%2FEN%22%3E">"-//Sun Microsystems Corp.//DTD HotJava HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSun+Microsystems+Corp.%2F%2FDTD+HotJava+Strict+HTML%2F%2FEN%22%3E">"-//Sun Microsystems Corp.//DTD HotJava Strict HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.1E%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.1E//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FO%27Reilly+and+Associates%2F%2FDTD+HTML+Extended+1.0%2F%2FEN%22%3E">"-//O'Reilly and Associates//DTD HTML Extended 1.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FO%27Reilly+and+Associates%2F%2FDTD+HTML+Extended+Relaxed+1.0%2F%2FEN%22%3E">"-//O'Reilly and Associates//DTD HTML Extended Relaxed 1.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FO%27Reilly+and+Associates%2F%2FDTD+HTML+2.0%2F%2FEN%22%3E">"-//O'Reilly and Associates//DTD HTML 2.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSQ%2F%2FDTD+HTML+2.0+HoTMetaL+%2B+extensions%2F%2FEN%22%3E">"-//SQ//DTD HTML 2.0 HoTMetaL + extensions//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSpyglass%2F%2FDTD+HTML+2.0+Extended%2F%2FEN%22%3E">"-//Spyglass//DTD HTML 2.0 Extended//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22%2B%2F%2FSilmaril%2F%2FDTD+HTML+Pro+v0r11+19970101%2F%2FEN%22%3E">"+//Silmaril//DTD HTML Pro v0r11 19970101//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+Experimental+19960712%2F%2FEN%22%3E">"-//W3C//DTD HTML Experimental 19960712//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+3.2%2F%2FEN%22%3E">"-//W3C//DTD HTML 3.2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+3.2+Final%2F%2FEN%22%3E">"-//W3C//DTD HTML 3.2 Final//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+3.2+Draft%2F%2FEN%22%3E">"-//W3C//DTD HTML 3.2 Draft//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+Experimental+970421%2F%2FEN%22%3E">"-//W3C//DTD HTML Experimental 970421//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBL$C+%22-%2F%2FW3C%2F%2FDTD+HTML+3.2S+Draft%2F%2FEN%22%3E">"-//W3C//DTD HTML 3.2S Draft//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+W3+HTML%2F%2FEN%22%3E">"-//W3C//DTD W3 HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?pubid=-%2F%2FMetrius%2F%2FDTD+Metrius+Presentational%2F%2FEN">"-//Metrius//DTD Metrius Presentational//EN"</a>.</li>
-</ul>
-<p>부정확한 대/소문자로 공용 식별자를 쓰는 상당수 페이지 때문에 모든 공용 식별자 비교는 대/소문자를 구별하지 않음을 주의하세요. (이는 엄밀히 말하면 틀린데, 문자열이 대/소문자를 구별하기 때문입니다.)</p>
-<h3 id=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0" name=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0">같이 보기</h3>
-<ul>
- <li><a href="ko/Web_Development">Web Development</a></li>
- <li><a href="ko/Mozilla's_Quirks_Mode">Mozilla's Quirks Mode</a></li>
- <li><a href="ko/Mozilla_Quirks_Mode_Behavior">Mozilla Quirks Mode Behavior</a></li>
-</ul>
-<div class="originaldocinfo">
- <h3 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원본 문서 정보</h3>
- <ul>
- <li>제작자: <a class="external" href="http://dbaron.org/">David Baron</a></li>
- <li>최근 업데이트 날짜: August 2, 2005</li>
- <li>저작권 정보: Copyright (C) <a class="external" href="http://dbaron.org/">David Baron</a></li>
- </ul>
-</div>
-<p> </p>
diff --git a/files/ko/archive/web_standards/rdf_in_fifty_words_or_less/index.html b/files/ko/archive/web_standards/rdf_in_fifty_words_or_less/index.html
deleted file mode 100644
index e0f739e688..0000000000
--- a/files/ko/archive/web_standards/rdf_in_fifty_words_or_less/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
----
-title: RDF in Fifty Words or Less
-slug: Archive/Web_Standards/RDF_in_Fifty_Words_or_Less
-tags:
- - RDF
-translation_of: Archive/Web_Standards/RDF_in_Fifty_Words_or_Less
----
-<p>어쩌면 이 문서는 50 단어 이상이 될 수도 있겠습니다, 하지만 핵심 사항들은 꽤 간단합니다 (핵심적인 것들만 빨리 익히고 싶어하는 관리자들을 위해 이러한 것들은 <b>굵은 글씨체</b>로 표기하였습니다). <a href="ko/RDF"><i>Resource Description Framework</i></a>, 혹은 "RDF" 라고 하는 것은 실제로는 2 가지를 말합니다.
-</p>
-<blockquote>
-<b>첫째로, RDF 는 (웹 페이지나 email 주소와 같은) 인터넷 상의 <i>자원</i>들을 설명하고 이들이 어떻게 서로 연관되어 있는지를 나타내는 그래프 기반의 모델입니다.</b>
-</blockquote>
-<p>하지만 <i>실제로는</i> 이라는 말이 어떤 의미일까요?
-Mozilla 개발자에게는 RDF 데이터 모델(그래프)이 인터넷 자원들을 통합하고 구조화하기 위한 메카니즘으로 사용될 수 있다는 것을 말합니다.
-</p><p>예제를 하나 보겠습니다: <i>북마크 (bookmark)</i>. 지금 대부분의 브라우저들은 당신이 북마크를 체계적으로 관리하도록 <i>폴더</i> 를 지정하고 있습니다. 각 북마크는 <b>URI</b> (<b>U</b>niform <b>R</b>esource <b>I</b>dentifier) 라고 하는 웹페이지를 가리키는 <i>포인터</i> 입니다.
-</p><p>하지만 웹 페이지는 단지 인터넷 자원 중의 하나일 뿐 입니다.
-이 밖에도 다른 많은 자원들 - 몇가지 예를 들자면 이메일 메시지, 유즈넷 뉴스 기사 (혹은 전체 유즈넷 뉴스 그룹), 당신이 잘 사용하는 웹 검색 엔진의 검색 결과 - 이 있습니다.
-그리고 기본적으로 이들을 "북마크"로 다루거나 이들을 그룹지어 원하는 폴더 안에 저장하지 못할 이유가 없으며,
-심지어는 당신이 특정 폴더를 열 때 마다 미리 정의된 검색을 수행하여 동적으로 컨텐츠를 생성해내는 "스마트" 폴더를 생성하는 것도 가능합니다.
-</p><p>그리고 "북마크"는 실제로 임의의 특성(arbitrary properties associated with it)을 가지고 있습니다:
-당신은 북마크를 분류하기 위한 (매킨토시의 "hot", "warm", "cool" 컬러 코딩 방식처럼) 당신만의 기준을 만들고 싶을 수도 있을 것입니다. 또는 한 북마크를 다른 북마크와 연관시키거나 한 북마크를 여러 폴더에 같이 저장시키고 싶을 수도 있습니다.
-</p><p>RDF 그래프는 위의 예제에서 언급한 "유니버설" 북마크 서비스를 구성할 수 있는 완전한 데이터 모델을 제공합니다:
-그래프는 임의의 자원을 지정할 수 있는 포인터를 포함하며, 당신이 생각할 수 있는 어떠한 방식으로도 그들을 그룹으로 묶을 수 있습니다.
-</p><p>하지만 그전에..
-</p>
-<blockquote>
-<b>
-둘째로, RDF 는 직렬화 문법(serialization syntax)입니다. 이 문법은 "에이전트" 간에 통신할 수 있는 그래프 방식의 모델을 제공합니다.</b>
-</blockquote>
-<p>이게 무슨 소리일까요? 기본적으로 RDF 데이터 모델의 일부분은 네트워크 간에
-통신할 수 있으며 그래프의 내용은 원격지의 서비스에서 도착한 정보로 동적으로 변경될 수 있다는 것을 의미합니다.
-</p><p>위의 예제를 다시 보기로 합시다. 당신의 북마크 "폴더" 중의 하나는 실제로 당신의 메일함의 받은 편지함을 가리키는 포인터라고 합시다: 당신이 그 폴더를 열었다면, 자! 밤 사이 받았던 모든 메시지들을 볼 수 있습니다.
-</p><p>하지만 어떻게 이런 일이 가능할까요?
-그 "폴더"는 사실 그래프를 확장한 RDF 를 저장하고 있는 인터넷 자원을 가리키는 포인터 였습니다.
-"인터넷 자원"은 CGI 스크립트를 가리키는 URI 였습니다.
-(즉, &lt;tt&gt;<a class=" external" href="http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&amp;folder=inbox" rel="freelink">http://www.mozilla.org/smart-mail/ge...n&amp;folder=inbox</a>&lt;/tt&gt;).
-이 CGI 스크립트가 실제 <i>직렬화된(serialized) RDF</i> 를 생성합니다. 이것은 기본적으로 <a href="ko/XML">XML</a> 을 이용한 그래프의 표현 방식입니다:
-</p>
-<pre class="eval">&lt;rdf:RDF
- xmlns:rdf="<a class=" external" href="http://www.w3.org/TR/WD-rdf-syntax#" rel="freelink">http://www.w3.org/TR/WD-rdf-syntax#</a>"
- xmlns:sm="<a class=" external" href="http://www.mozilla.org/smart-mail/schema#" rel="freelink">http://www.mozilla.org/smart-mail/schema#</a>"&gt;
- &lt;rdf:Description
- about="<a class=" external" href="http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&amp;folder=inbox" rel="freelink">http://www.mozilla.org/smart-mail/ge...n&amp;folder=inbox</a>"&gt;
- &lt;sm:message id="4025293"&gt;
- &lt;sm:recipient&gt;
- Chris Waterson "<a class=" link-mailto" href="mailto:waterson@netscape.com" rel="freelink">waterson@netscape.com</a>"
- &lt;/sm:recipient&gt;
- &lt;sm:sender&gt;
- Aunt Helga "<a class=" link-mailto" href="mailto:helga@netcenter.net" rel="freelink">helga@netcenter.net</a>"
- &lt;/sm:sender&gt;
- &lt;sm:received-by&gt;x-wing.mcom.com&lt;/sm:received-by&gt;
- &lt;sm:subject&gt;Great recipe for Yam Soup!&lt;/sm:subject&gt;
- &lt;sm:body&gt;
- <a class=" external" href="http://www.mozilla.org/smart-mail/get-body.cgi?id=4025293" rel="freelink">http://www.mozilla.org/smart-mail/ge...cgi?id=4025293</a>
- &lt;/sm:body&gt;
- &lt;/sm:message&gt;
- &lt;sm:message id="4025294"&gt;
- &lt;sm:recipient&gt;
- Chris Waterson "<a class=" link-mailto" href="mailto:waterson@netscape.com" rel="freelink">waterson@netscape.com</a>"
- &lt;/sm:recipient&gt;
- &lt;sm:sender&gt;
- Sarah Waterson "<a class=" link-mailto" href="mailto:waterson.2@postbox.acs.ohio-state.edu" rel="freelink">waterson.2@postbox.acs.ohio-state.edu</a>"
- &lt;/sm:sender&gt;
- &lt;sm:received-by&gt;x-wing.mcom.com&lt;/sm:received-by&gt;
- &lt;sm:subject&gt;We won our ultimate game&lt;/sm:subject&gt;
- &lt;sm:body&gt;
- <a class=" external" href="http://www.mozilla.org/smart-mail/get-body.cgi?id=4025294" rel="freelink">http://www.mozilla.org/smart-mail/ge...cgi?id=4025294</a>
- &lt;/sm:body&gt;
- &lt;/sm:message&gt;
- &lt;/rdf:Description&gt;
-&lt;/rdf:RDF&gt;
-</pre>
-<p>위와 같은 복잡한 데이터(monstrosity)를 받으면, RDF 엔진은 RDF 데이터를 그래프 상의 적절한 위치에 배치(fold)하며
-실제로 북마크 UI 를 구현하는 트리 컨트롤에 통지하여 (Aunt Helga 에게서 받은 Yam Soup 에 대한) 최근의 메시지에 대해 특정 아이콘을 표시하도록 합니다.
-</p><p>이것은 <a class="external" href="http://www.mozilla.org/mailnews/">SmartMail</a>이 동작하는 원리와 <i>정확히</i> 동일합니다.
-</p><p>연락처:
-<a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a> <a class=" link-mailto" href="mailto:(waterson@netscape.com)" rel="freelink">(waterson@netscape.com)</a>
-</p>
-<div class="originaldocinfo">
-<h2 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원본 문서 정보</h2>
-<ul><li> 저자: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a>
-</li><li> 최근 변경일: 1998-11-19
-</li><li> 저작권 정보: Copyright (C) <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a>
-</li></ul>
-</div>
-<p><span class="comment">Interwiki Language Links</span>
-</p>
diff --git a/files/ko/archive/web_standards/rdf_in_mozilla_faq/index.html b/files/ko/archive/web_standards/rdf_in_mozilla_faq/index.html
deleted file mode 100644
index f59bcb7e2d..0000000000
--- a/files/ko/archive/web_standards/rdf_in_mozilla_faq/index.html
+++ /dev/null
@@ -1,292 +0,0 @@
----
-title: RDF in Mozilla FAQ
-slug: Archive/Web_Standards/RDF_in_Mozilla_FAQ
-tags:
- - RDF
-translation_of: Archive/Web_Standards/RDF_in_Mozilla_FAQ
----
-<h2 id=".EC.9D.BC.EB.B0.98" name=".EC.9D.BC.EB.B0.98">일반</h2>
-<h3 id=".EC.96.B4.EB.94.94.EC.97.90.EC.84.9C.EB.B6.80.ED.84.B0_.EC.8B.9C.EC.9E.91.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F" name=".EC.96.B4.EB.94.94.EC.97.90.EC.84.9C.EB.B6.80.ED.84.B0_.EC.8B.9C.EC.9E.91.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F">어디에서부터 시작해야 하나요?</h3>
-<p><a href="ko/RDF">RDF</a> 는 Mozilla 에서 크게 두가지 기능을 제공합니다. 첫번째가, 단순히 작은 데이터 저장 공간을 위한 크로스 플랫폼의 데이터베이스 (cross-platform database for small data stores) 역할이며 두번째가 더 중요한데 RDF 모델이 <a href="ko/XUL/Template_Guide">XUL 템플릿</a>과 함께 사용되어 정보 표현을 위한 추상적인 "API" 를 제공하는 것입니다. <a href="ko/RDF_in_Fifty_Words_or_Less">RDF in Fifty Words or Less</a> 문서는 Mozilla 에서 RDF 가 어떤 작업을 수행하는지를 손쉽게, 고 수준에서 살펴볼 수 있게 해 줍니다. <a href="ko/RDF_Back-end_Architecture_(external)">RDF 백엔드 구조</a> 문서는 Mozilla 의 RDF 구현이 동작하는 방식을 더욱 자세히 설명하며, 거기에 포함된 인터페이스들에 대한 간략한 개요를 살펴볼 수 있습니다.</p>
-<h3 id="Open_Directory_.28.22dmoz.22.29_.EC.83.81.EC.9D.98_.EC.96.B4.EB.94.94.EC.97.90.EC.84.9C_.EC.A0.95.EB.B3.B4.EB.A5.BC_.EC.B0.BE.EC.95.84.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F" name="Open_Directory_.28.22dmoz.22.29_.EC.83.81.EC.9D.98_.EC.96.B4.EB.94.94.EC.97.90.EC.84.9C_.EC.A0.95.EB.B3.B4.EB.A5.BC_.EC.B0.BE.EC.95.84.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F">Open Directory ("dmoz") 상의 어디에서 정보를 찾아야 하나요?</h3>
-<p>불행히도, <em>여기는 아닙니다</em>! 음, 여기는 그저.. Open Directory 에 대한 정보는 <a class="external" href="http://www.dmoz.org/" rel="freelink">http://www.dmoz.org/</a> 를 방문해 보기 바랍니다. Open Directory 의 데이터 셋은 (거대한) RDF/XML 덤프로 이용 가능합니다. 이것은 수천개의 웹 사이트를 <a class="external" href="http://www.dublincore.org/">더블린 코어</a>(Dublin Core)의 메타데이터 어휘와 DMoz 분류법을 혼합하여 분류해 놓은 것 입니다. 더 자세한 정보는 <a class="external" href="http://dmoz.org/rdf.html">DMoz 의 RDF 페이지</a>를 살펴보시고, 거기에 사용된 데이터 형식에 관련된 업데이트 사항은 <a class="external" href="http://groups.yahoo.com/group/odp-rdf-announce/">odp-rdf-announce</a> 페이지를 살펴보기 바랍니다. <a class="external" href="http://chefmoz.org/">ChefMoz</a> 사이트(공동(collaborative) 음식점 가이드) 도 역시 <a class="external" href="http://chefmoz.org/rdf.html">RDF 페이지</a>를 제공합니다.</p>
-<p>만약 DMoz 나 ChefMoz 데이터와 관련된 문제점이 발생한다면 해당 프로젝트에 직접 연락하는 것이 좋습니다. 하지만 당신이 그 컨텐츠를 사용하여 어떤 작업을 하고 있다면 (즉, 원격 사이트에서 XUL UI 로 해당 컨텐츠를 로드하는 것처럼) <a class="link-mailto" href="mailto:mozilla-rdf@mozilla.org">mozilla-rdf</a> 와 <a class="link-mailto" href="mailto:www-rdf-interest@w3.org">RDF Interest Group</a> 메일링 리스트에 알리는 것을 잊지 마십시오. 이들은 DMoz 데이터를 삭제하고 재처리하고 저장하는 툴에 대해서도 관심을 가지고 있을 것 입니다. ODP RDF 덤프를 사용하는 사이트에 대한 정보는<a class="external" href="http://dmoz.org/Computers/Internet/Searching/Directories/Open_Directory_Project/Use_of_ODP_Data/">ODP 데이터를 사용하는 사이트들</a> 페이지를 보십시오.</p>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.28datasource.29.EA.B0.80_.EB.AD.90.EC.A3.A0.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.28datasource.29.EA.B0.80_.EB.AD.90.EC.A3.A0.3F">데이터 소스(datasource)가 뭐죠?</h3>
-<p>RDF 는 일반적으로 2가지 관점으로 볼 수 있습니다: 하나는 노드와 호(arc)로 이루어진 그래프로 보는 관점이며 다른 하나는 논리적인 구문들(logical statements)로 이루어진 "수프"(soup) 로 보는 관점이다. 데이터 소스는 특정한 기준으로 그룹지어진 하위 그래프(subgraph) (혹은 다른 관점에서 본다면 구문들의 집합) 입니다. 예를 들면, "브라우저 북마크", "브라우저 전역 방문 기록 (global history)", "IMAP 메일 계정", "NNTP 뉴스 서버", "RDF/XML 파일" 등이 있습니다.</p>
-<p>Mozilla 에서는 데이터 소스들은 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFCompositeDataSource.idl">복합 (composite) 데이터 소스</a> 기능을 사용하여 <em>통합</em>(compose) 될 수 있습니다. 이것은 그래프를 오버레이(overlay) 시키는 것이나 구문의 집합들을 병합(merge)하는 것("microtheories")과 비슷합니다. 동일한 RDF <em>자원</em>에 대한 구문은 혼용(intermingle)될 수 있습니다: 예를 들어 특정 웹사이트의 "최근 방문 시간"은 "브라우저 전역 방문 기록" 데이터 소스에서 얻을 수 있고, 해당 웹사이트로 가기 위한 "단축 키워드(shortcut keyword)"는 "브라우저 북마크" 데이터 소스에서 얻을 수 있습니다. 두 데이터 소스는 URL 을 통해 "웹사이트" 를 가리킵니다: 이것이 데이터 소스들이 효율적으로 "병합"될 수 있는 "핵심"(key)이 됩니다.</p>
-<p>데이터 소스를 <em>작성</em>하는 방법에 대한 자세한 사항은 <a href="ko/RDF_Datasource_How-To">RDF 데이터 소스 How-To</a> 문서를 참조하기 바랍니다.</p>
-<h3 id="Mozilla_.EB.8A.94_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EA.B4.80.EB.A6.AC.ED.95.98.EB.82.98.EC.9A.94.3F" name="Mozilla_.EB.8A.94_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EA.B4.80.EB.A6.AC.ED.95.98.EB.82.98.EC.9A.94.3F">Mozilla 는 어떻게 데이터 소스를 관리하나요?</h3>
-<p><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl">RDF 서비스</a>는 로드된 모든 데이터 소스의 테이블을 관리합니다. 이 테이블은 데이터 소스의 "URI" -RDF/XML 파일의 URL 이거나 내장된 데이터 소스를 가리키는 <code>rdf:</code> 로 시작하는 "특별한" URI - 를 키로 사용합니다.</p>
-<p>데이터 소스는 RDF 서비스의 <code>GetDataSource()</code> 메소드를 통해 로드됩니다. URI 인수(argument)가 XML/RDF 파일의 URL 을 가리키는 경우에는 RDF 서비스는 <em>RDF/XML 데이터 소스</em> 를 생성하고 비동기적으로 이를 구문 분석(parse)합니다. 이 데이터 소스는 자신을 가리키는 마지막 참조가 해제(release)될 때까지 메모리 상에 "캐시"(cache) 됩니다.</p>
-<p>만약 URI 인수가 내장 데이터 소스를 가리키는 경우에는, RDF 서비스는 XPCOM <em>컴포넌트 관리자</em> 를 사용하여 "특별한" URI 와 잘 알려진(well-known) 접두어 @mozilla.org/rdf/datasource;1?name=&lt;/code&gt; 를 이용해 <em>ContractID</em> 를 생성한 컴포넌트를 로드합니다.</p>
-<p>예를 들어,</p>
-<pre class="eval">rdf:foo
-</pre>
-<p>인 경우에는 아래와 같은 컴포넌트가 로드됩니다:</p>
-<pre class="eval">@mozilla.org/rdf/datasource;1?name=foo
-</pre>
-<p>RDF/XML 데이터 소스와 마찬가지로 이러한 방식으로 생성된 데이터 소스도 RDF 서비스에 의해 마지막 참조가 해제될 때까지 메모리 상에 "캐시" 됩니다.</p>
-<h3 id="RDF.2FXML_.ED.8C.8C.EC.9D.BC.EC.97.90.EC.84.9C_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.83.9D.EC.84.B1.ED.95.98.EB.82.98.EC.9A.94.3F" name="RDF.2FXML_.ED.8C.8C.EC.9D.BC.EC.97.90.EC.84.9C_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.83.9D.EC.84.B1.ED.95.98.EB.82.98.EC.9A.94.3F">RDF/XML 파일에서 어떻게 데이터 소스를 생성하나요?</h3>
-<p><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl">RDF 서비스</a>의 <code>GetDataSource()</code> 메소드를 사용하여 RDF/XML 데이터 소스를 생성할 수 있습니다:</p>
-<pre class="eval"><span class="highlightblue">// RDF 서비스를 얻습니다.</span>
-var RDF =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-<span class="highlightblue">// ...그리고 여기에서 데이터 소스를 얻습니다. 당신의 웹 브라우저가
-// 이 데이터 소스를 <b>text/xml</b> (추천) 혹은 <b>text/rdf</b>로 다루는지 확인하십시오!</span>
-var ds = RDF.GetDataSource("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// <b>ds</b> 는 비동기적으로 로드되므로, 여기에 바로 assert 를 실행한다면
-// 올바르게 동작하지 않을 것 입니다.</span>
-</pre>
-<p>또다른 방법으로는, 아래와 같이 XPCOM 컴포넌트 관리자를 사용하여 직접 생성하는 방법이 있습니다:</p>
-<pre class="eval"><span class="highlightblue">// XPCOM 컴포넌트 관리자를 사용하여 RDF/XML 데이터 소스 생성하기</span>
-var ds =
- Components
- .classes["@mozilla.org/rdf/datasource;1?name=xml-datasource"]
- .createInstance(Components.interfaces.nsIRDFDataSource);
-<span class="highlightblue">// <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFRemoteDataSource.idl">nsIRDFRemoteDataSource</a> 인터페이스는 데이터 소스를 설정하기 위한 인터페이스들을 가지고 있습니다.</span>
-var remote =
- ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
-<span class="highlightblue">// 당신의 웹 서버가 이것을 <b>text/xml</b> (추천) 혹은 <b>text/rdf</b>로 전송하는지 확인하십시오!</span>
-remote.Init("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// 로드합니다! 이것은 비동기적으로 실행된다는 것을 명심하십시오.
-// <b>aBlocking</b> 인수를 true 로 설정하면, 동기적으로 실행되게 설정할 수 있습니다.
-// 하지만 이렇게 되면 UI 가 멈춰버리기 때문에 일반적으로는 좋지 않은 아이디어입니다!</span>
-remote.Refresh(false);
-<span class="highlightblue">// <b>ds</b> 는 비동기적으로 로드되므로, 여기에 바로 assert 를 실행한다면
-// 올바르게 동작하지 않을 것 입니다.</span>
-</pre>
-<p>만약 당신이 RDF/XML 파일을 강제로 동기적으로 로드하고 싶다면 "직접"(manually) 생성할 필요가 있습니다.</p>
-<h3 id="RDF.2FXML_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EA.B0.B1.EC.8B.A0.28reload.29.ED.95.98.EB.82.98.EC.9A.94.3F" name="RDF.2FXML_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EA.B0.B1.EC.8B.A0.28reload.29.ED.95.98.EB.82.98.EC.9A.94.3F">RDF/XML 데이터 소스를 어떻게 갱신(reload)하나요?</h3>
-<p>RDF/XML 데이터 소스 (혹은 <a class="external" href="http://lxr.mozilla.org/mozilla/source/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> 를 지원하는 어떠한 데이터 소스일지라도) 는 <code>nsIRDFRemoteDataSource</code> 의 <code>Refresh()</code> 메소드를 사용하여 강제로 갱신할 수 있습니다. <code>Refresh()</code> 메소드는 수행이 동기적("blocking)으로 이루어질지 비동기적("non-blocking")으로 이루어 질지를 나타내는 하나의 인수를 가집니다. 당신은 <em>정말로</em> 그렇게 해야만 할 필요가 없다면 <em>절대</em> 동기적인 수행을 선택하지 않아야 합니다: 동기적으로 수행하도록 한다면 로드가 끝날때까지 모든 UI 가 동작하지 않을 것입니다!</p>
-<h3 id="RDF.2FXML_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EA.B0.80_.EB.A1.9C.EB.93.9C.EB.90.98.EC.97.88.EB.8A.94.EC.A7.80_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.95.8C_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F" name="RDF.2FXML_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EA.B0.80_.EB.A1.9C.EB.93.9C.EB.90.98.EC.97.88.EB.8A.94.EC.A7.80_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.95.8C_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F">RDF/XML 데이터 소스가 로드되었는지 어떻게 알 수 있나요?</h3>
-<p><a class="external" href="http://lxr.mozilla.org/mozilla/source/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> 인터페이스를 사용하면, <code>loaded</code> 속성의 값으로 데이터 소스가 로드되었는지 즉시 알아볼 수 있습니다:</p>
-<pre class="eval"><span class="highlightblue">// RDF 서비스를 얻습니다</span>
-var RDF =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-<span class="highlightblue">// 데이터 소스를 얻습니다..</span>
-var ds = RDF.GetDataSource("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// 이제 로드되었는지 살펴봅니다..</span>
-var remote =
- ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
-
-if (remote.loaded) {
- alert("the datasource was already loaded!");
-}
-else {
- alert("the datasource wasn't loaded, but it's loading now!");
-}
-</pre>
-<p>만약 아직 데이터 소스가 로드되지 <em>않았다고</em> 가정합시다. (비동기적으로 로드됩니다). 위의 API 와 자바스크립트의 <code>setTimeout()</code> 함수를 사용하면, 주기적으로 <code>loaded</code> 속성을 체크하는 <em>폴링 루프</em> 를 만들 수 있을 것입니다. 하지만 여기는 문제가 있으며, 더 큰 문제는 로드가 <em>실패</em> 하는 경우를 인식하지 못한다는 것입니다! 예를 들어, 해당 URL 에 아무 데이터도 없는 경우에는 문제가 생길 것 입니다.</p>
-<p>이를 위해 데이터 소스의 상태를 감시하기 위한 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFXMLSink.idl">감시자(observer) 인터페이스</a> 라는 것이 있습니다. 아래의 코드는 감시자 인터페이스의 사용법을 보여줍니다:</p>
-<pre class="eval"><span class="highlightblue">// RDF/XML 데이터 소스의 로드 과정을 감시할 객체입니다.</span>
-var Observer = {
- onBeginLoad: function(aSink)
- {},
-
- onInterrupt: function(aSink)
- {},
-
- onResume: function(aSink)
- {},
-
- onEndLoad: function(aSink)
- { alert("done!"); },
-
- onError: function(aSink, aStatus, aErrorMsg)
- { alert("error! " + aErrorMsg); }
-};
-<span class="highlightblue">// RDF 서비스를 얻습니다.</span>
-var RDF =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-<span class="highlightblue">// 데이터 소스를 얻습니다.</span>
-var ds = RDF.GetDataSource("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// 이제 로드되었는지 살펴봅니다..</span>
-var remote =
- ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
-
-if (remote.loaded) {
- alert("the datasource was already loaded!");
-}
-else {
- alert("the datasource wasn't loaded, but it's loading now!");
- <span class="highlightblue">// RDF/XML 데이터 소스는 모두 <b>nsIRDFXMLSink</b> 입니다 (Is-a).</span>
- var sink =
- ds.QueryInterface(Components.interfaces.nsIRDFXMLSink);
- <span class="highlightblue">// 데이터 소스(= 싱크)에 감시자 인터페이스를 지정합니다.</span>
- sink.addXMLSinkObserver(Observer);
- <span class="highlightblue">// 이제 데이터 소스의 로드 상태에 따라
- // <b>감시자</b>의 메소드들이 호출(call-back)됩니다.</span>
-}
-</pre>
-<p>감시자 객체는 <code>removeXMLSinkObserver</code> 메소드가 호출되기 전까지는 계속 RDF/XML 데이터 소스와 연결(attach)되어 있을 것입니다.</p>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EB.82.B4.EC.9D.98_.EC.A0.95.EB.B3.B4.EB.8A.94_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.A0.91.EA.B7.BC.ED.95.A0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EB.82.B4.EC.9D.98_.EC.A0.95.EB.B3.B4.EB.8A.94_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.A0.91.EA.B7.BC.ED.95.A0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F">데이터 소스 내의 정보는 어떻게 접근할 수 있나요?</h3>
-<p><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl"><code>nsIRDFDataSource</code></a> 인터페이스는 데이터 소스 내의 정보에 접근하거나 검사할 수 있는 방법을 제공합니다.</p>
-<ul>
- <li><code>boolean HasAssertion(aSource, aProperty, aTarget, aTruthValue)</code>.<br>
- 이 메소드는 데이터 소스 내에 명시된 튜플이 존재하는지 검사합니다.</li>
- <li><code>nsIRDFNode GetTarget(aSource, aProperty, aTruthValue)</code>.</li>
- <li><code>nsISimpleEnumerator GetTargets(aSource, aProperty, aTruthValue)</code>.</li>
- <li><code>nsIRDFResource GetSource(aProperty, aTarget, aTruthValue)</code>.</li>
- <li><code>nsISimpleEnumerator GetSoruces(aProperty, aTarget, aTruthValue)</code>.</li>
- <li><code>nsISimpleEnumerator ArcLabelsIn(aTarget)</code>.</li>
- <li><code>nsISimpleEnumerator ArcLabelsOut(aSource)</code>.</li>
-</ul>
-<p>RDF <em>컨테이너</em> 내에 포함된 정보에 접근하기 위해서는 <a href="#How_do_I_manipulate_RDF_.22containers.22.3F">RDF 컨테이너</a> 인터페이스를 사용할 수 있습니다.</p>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EB.82.B4.EC.9D.98_.EC.A0.95.EB.B3.B4.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.B3.80.EA.B2.BD.ED.95.98.EB.82.98.EC.9A.94.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EB.82.B4.EC.9D.98_.EC.A0.95.EB.B3.B4.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.B3.80.EA.B2.BD.ED.95.98.EB.82.98.EC.9A.94.3F">데이터 소스 내의 정보를 어떻게 변경하나요?</h3>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EC.9D.98_.EB.B3.80.EA.B2.BD_.EC.82.AC.ED.95.AD.EC.9D.84_RDF.2FXML_.EC.9E.90.EC.9B.90.EC.97.90_.EB.8B.A4.EC.8B.9C_.EC.A0.80.EC.9E.A5.ED.95.98.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.98.EC.A3.A0.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EC.9D.98_.EB.B3.80.EA.B2.BD_.EC.82.AC.ED.95.AD.EC.9D.84_RDF.2FXML_.EC.9E.90.EC.9B.90.EC.97.90_.EB.8B.A4.EC.8B.9C_.EC.A0.80.EC.9E.A5.ED.95.98.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.98.EC.A3.A0.3F">데이터 소스의 변경 사항을 RDF/XML 자원에 다시 저장하려면 어떻게 하죠?</h3>
-<p>RDF/XML 데이터 소스는 <code>QueryInterface()</code> 메소드를 통해 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> 인터페이스를 얻을 수 있습니다. 이 인터페이스는 <code>Flush()</code> 메소드를 가지고 있는데, 이 메소드는 데이터 소스가 로드될 때 사용된 URL 이 가리키는 데이터 소스에 변경 사항을 다시 기록하려고 시도할 것입니다. 이것은 사용된 프로토콜에 따라 각기 다른 메커니즘을 사용합니다. (즉, <code>file:</code> 로 시작하는 URL 이라면 그저 파일에 기록하고, <code>http:</code> 로 시작하는 URL 이라면 HTTP-POST 요청을 보낼 것입니다.) <code>Flush()</code> 메소드는 오직 데이터 소스의 내용이 변경된 경우에만 기록합니다.</p>
-<h3 id=".EC.97.AC.EB.9F.AC_.EA.B0.9C.EC.9D.98_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.ED.95.98.EB.82.98.EB.A1.9C_.ED.95.A9.EC.B3.90.EC.84.9C_.EB.B3.B4.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F" name=".EC.97.AC.EB.9F.AC_.EA.B0.9C.EC.9D.98_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.ED.95.98.EB.82.98.EB.A1.9C_.ED.95.A9.EC.B3.90.EC.84.9C_.EB.B3.B4.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F">여러 개의 데이터 소스를 하나로 합쳐서 보려면 어떻게 해야 하나요?</h3>
-<h3 id=".EB.82.B4.EC.9E.A5.28built-in.29_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EC.97.90_.EC.A0.91.EA.B7.BC.ED.95.98.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.98.EB.82.98.EC.9A.94.3F" name=".EB.82.B4.EC.9E.A5.28built-in.29_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EC.97.90_.EC.A0.91.EA.B7.BC.ED.95.98.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.98.EB.82.98.EC.9A.94.3F">내장(built-in) 데이터 소스에 접근하려면 어떻게 하나요?</h3>
-<p><em>내장 데이터 소스</em> 은 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl">nsIRDFDataSource</a> 인터페이스를 구현한 로컬에 인스톨 된 컴포넌트를 말합니다. 예를 들면 <a class="external" href="http://lxr.mozilla.org/mozilla/source/xpfe/components/bookmarks/src/nsBookmarksService.cpp">북마크 서비스</a>와 같은 것이 있습니다. 먼저, <a href="#What_is_the_security_model_for_RDF.2FXML_in_XUL.3F">여기</a>를 보고 당신이 내장 데이터 소스에 접근하도록 <em>허용</em> 되었는지를 체크해 보십시오. "인증되지 않은"(untrusted) XUL 와 JS 로 부터 내장 데이터 소스에 접근에 접근하는 것을 차단하는 여러가지 보안 사항이 있습니다.</p>
-<p>내장 데이터 소스는 단지 XPCOM 컴포넌트 이기 때문에, 당신은 XPConnect 컴포넌트 관리자를 사용하여 직접 객체를 생성(instantiate)할 수 있습니다.</p>
-<pre class="eval">// 북마크 서비스를 얻기 위해 컴포넌트 관리자를 사용합니다.
-<span class="highlightgreen">var bookmarks =
- Components.
- classes["@mozilla.org/rdf/datasource;1?name=bookmarks"].
- getService(Components.interfaces.nsIRDFDataSource);</span>
-
-// 이제 관련된 작업을 수행합니다..
-if (bookmarks.HasAssertion(
- RDF.GetResource("<a class="external" href="http://home.netscape.com/NC-rdf#BookmarksRoot" rel="freelink">http://home.netscape.com/NC-rdf#BookmarksRoot</a>"),
- RDF.GetResource("<a class="external" href="http://home.netscape.com/NC-rdf#child" rel="freelink">http://home.netscape.com/NC-rdf#child</a>"),
- RDF.GetResource("<a class="external" href="http://home.netscape.com/NC-rdf#PersonalToolbarFolder" rel="freelink">http://home.netscape.com/NC-rdf#PersonalToolbarFolder</a>"),
- true) {
- // ...
-}
-</pre>
-<p>또다른 방법으로는, 특정 데이터 소스는 "특별한" RDF 와 관련된 ContractID 를 가지므로 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl"><code>nsIRDFSerivce</code></a> 의 <code>GetDataSource()</code> 메소드를 이용하거나 XUL 템플릿의 <code>datasources</code> 속성을 이용하여 손쉽게 데이터 소스 객체를 생성할 수 있습니다. 이러한 ContractID 는 다음과 같은 형식으로 표현됩니다:</p>
-<pre class="eval">@mozilla.org/rdf/datasource;1?name=<i>name</i>
-</pre>
-<p>ContractID 는 <code>GetDataSource()</code> 메소드나 <code>rdf:<i>name</i></code> 형식의 약어를 사용하여 <code>datasources</code> 속성에 접근할 수 있습니다. 예를 들어, 다음의 XUL 코드는 XUL 템플릿에 북마크 서비스를 데이터 소스로 추가하는 방법을 보여 줍니다.</p>
-<pre class="eval">&lt;tree datasources="rdf:bookmarks"&gt;
- ...
-&lt;/tree&gt;
-</pre>
-<h3 id="RDF_.22.EC.BB.A8.ED.85.8C.EC.9D.B4.EB.84.88.22.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.82.AC.EC.9A.A9.ED.95.98.EB.82.98.EC.9A.94.3F" name="RDF_.22.EC.BB.A8.ED.85.8C.EC.9D.B4.EB.84.88.22.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.82.AC.EC.9A.A9.ED.95.98.EB.82.98.EC.9A.94.3F">RDF "컨테이너"를 어떻게 사용하나요?</h3>
-<p>RDF "컨테이너"(예를 들어, <code>&lt;rdf:Seq&gt;</code>)를 사용하기 위해서는 아래의 ContractID 를 이용하여 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFContainerUtils.idl"><code>nsIRDFContainerUtils</code></a> 객체를 서비스로 생성해야 합니다:</p>
-<pre class="eval">@mozilla.org/rdf/container-utils;1
-</pre>
-<p>이 서비스를 이용하면, <code>IsSeq()</code>, <code>IsBag()</code>, <code>IsAlt()</code> 등의 메소드를 사용하여 특정 객체가 RDF 컨테이너인지 검사할 수 있습니다. 특정 자원이 RDF 컨테이너가 아니라면 <code>MakeSeq()</code>, <code>MakeBag()</code>, <code>MakeAlt()</code> 등의 메소드를 사용하여 해당 자원을 RDF 컨테이너로 만들 수 있습니다. 이 메소드들은 이미 작성된 컨테이너용 연산들을 가지고 있는 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFContainer.idl"><code>nsIRDFContainer</code></a> 객체를 반환합니다.</p>
-<p>또다른 방법으로는, 당신이 사용하는 데이터 소스가 이미 RDF 컨테이너 객체를 가지고 있는 경우, 다음의 ContractID 를 통해 <code>nsIRDFContainer</code> 객체를 생성할 수 있습니다:</p>
-<pre class="eval">@mozilla.org/rdf/container;1
-</pre>
-<p>그리고 데이터 소스를 인수로 <code>Init()</code> 메소드를 호출해야 합니다. 이 메소드는 해당 자원이 컨테이너 객체가 아닌 경우에는 실패할 수 있다는 것을 주의하십시오.</p>
-<h2 id="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF" name="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF">XUL 템플릿</h2>
-<p>XUL 문서의 원소(element) 상에 <code>datsources</code> 속성을 지정함으로써 XUL 템플릿을 생성할 수 있습니다.</p>
-<p>XUL 템플릿은 두가지 형식("form")으로 작성할 수 있습니다. 첫번째는 단순 형식("simple form")으로 현재 Mozilla 코드베이스 상에서 가장 일반적으로 쓰이는 형식입니다. 또 하나는 확장 형식("extended form")으로 RDF 그래프에 대해 복잡한 패턴 매칭을 수행할 수 있습니다. <a href="ko/XUL/Template_Guide">XUL:템플릿 가이드</a> 문서를 참조하십시오. (이 문서는 <em>궁극적으로</em> 확장 형식의 템플릿을 설명하려는 목적으로 작성되었기 때문에 매우 복잡하게 구성되어 있습니다. -- 따라서 많은 정보를 표현하기 위해 복잡하게 보일지라도 개념적으로는 더 이해하기 쉬운 방법으로 구성하였습니다 -- 그리고 단순 형식은 확장 형식을 단축해서 사용하는 형태로 설명합니다.)</p>
-<h3 id="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.9D.84_.EC.82.AC.EC.9A.A9.ED.95.B4.EC.84.9C_.EB.AC.B4.EC.97.87.EC.9D.84_.EB.B9.8C.EB.93.9C.ED.95.A0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F" name="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.9D.84_.EC.82.AC.EC.9A.A9.ED.95.B4.EC.84.9C_.EB.AC.B4.EC.97.87.EC.9D.84_.EB.B9.8C.EB.93.9C.ED.95.A0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F">XUL 템플릿을 사용해서 무엇을 빌드할 수 있나요?</h3>
-<p>당신은 XUL 템플릿을 사용해서 <em>어떠한</em> 종류의 컨텐츠도 빌드할 수 있습니다. 이를 위해 <code>&lt;rule&gt;</code> 내의 <code>&lt;action&gt;</code> 에 속한 태그(HTML 태그나 임의의 XML 태그도 가능)들을 사용할 수 있습니다.</p>
-<h3 id=".EC.96.B8.EC.A0.9C_XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.9D.84_.EC.82.AC.EC.9A.A9.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F" name=".EC.96.B8.EC.A0.9C_XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.9D.84_.EC.82.AC.EC.9A.A9.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F">언제 XUL 템플릿을 사용해야 하나요?</h3>
-<p>RDF 와 XUL 템플릿을 사용하는 또다른 방법으로는 <a class="external" href="http://www.w3.org/TR/REC-DOM-Level-1/">W3C DOM API</a> 를 이용하여 XUL (혹은 HTML) 컨텐츠 모델을 구성하고 조작하는 방법이 있습니다. 하지만 그렇게 하는 것은 불편할 때가 많습니다:</p>
-<ol>
- <li><em>데이터에 대한 "뷰"가 여러 개인 경우</em>. 예를 들면, Mozilla mail/news 는 툴바나, 여러 메뉴 내의 "폴더 팬(pane)", 혹은 몇몇 다이얼로그 창에서 폴더 구조를 표시합니다. 이 경우 이러한 <code>&lt;메뉴 버튼&gt;</code>, <code>&lt;메뉴&gt;</code>, <code>&lt;트리&gt;</code> 컨텐츠 모델을 위한 DOM 트리를 JS (혹은 C++) 로 작성하는 것 보다, 각 컨텐츠 모델을 위한 (세가지의) 간략한 룰셋으로 작성할 수 있습니다.</li>
- <li><em>데이터가 변화하는 경우</em>. 예를 들어 메일이나 뉴스의 사용자는 IMAP 폴더를 추가하거나 삭제할 수 있습니다. (이로 인해 컨텐츠 모델을 작성하는 작업은 매우 복잡해 집니다!) XUL 템플릿 빌더는 룰을 사용하여 사용자에 의한 <em>모든</em> 컨텐츠 모델들의 변화를 자동적으로 유지합니다.</li>
-</ol>
-<p>이 기능을 사용하기 위해서는 당신이 필요로 하는 모든 정보는 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl">RDF 데이터 소스 API</a> 를 이용하여 표현되거나, 내장 <em>메모리 데이터 소스</em>를 사용하거나, RDF/XML 을 사용하여 저장하거나, <code>nsIRDFDataSource</code> 를 (아마도 JavaScript 를 이용하여) 직접 구현하여야 합니다.</p>
-<h3 id=".22datasources.3D.22_.EC.9D.B4.EB.9D.BC.EA.B3.A0_.EB.AA.85.EC.8B.9C.ED.95.9C_.EA.B2.BD.EC.9A.B0.EC.97.90.EB.8A.94_.EB.AC.B4.EC.97.87.EC.9D.B4_.EB.A1.9C.EB.93.9C.EB.90.98.EB.82.98.EC.9A.94.3F" name=".22datasources.3D.22_.EC.9D.B4.EB.9D.BC.EA.B3.A0_.EB.AA.85.EC.8B.9C.ED.95.9C_.EA.B2.BD.EC.9A.B0.EC.97.90.EB.8A.94_.EB.AC.B4.EC.97.87.EC.9D.B4_.EB.A1.9C.EB.93.9C.EB.90.98.EB.82.98.EC.9A.94.3F">"datasources=" 이라고 명시한 경우에는 무엇이 로드되나요?</h3>
-<p>템플릿의 "루트" 원소의 <code>datasources</code> 속성은 로드할 (공백 문자로 구분된) <em>데이터 소스 URI</em> 들의 목록을 나타냅니다. 여기서 "데이터 소스 URI" 라는 것은 다음의 둘 중 하나가 됩니다:</p>
-<ul>
- <li>로컬에 설치된 컴포넌트를 가리키는 축약형 ContractID. 단지<code>rdf:<i>name</i></code> 라고 명시한다면, 템플릿 로더는 <code>@mozilla.org/rdf/datasource;1?name=<i>name</i></code> 라는 ContractID 를 이용하여 XPCOM 컴포넌트를 로드하게 됩니다.</li>
- <li>RDF/XML 파일의 URL. 예를 들면 아래와 같은 것들이 있습니다.
- <pre>file:///tmp/foo.rdf
-chrome://mycomponent/content/component-data.rdf
-http://www.mysite.com/generate-rdf.cgi
-ftp://ftp.somewhere.org/toc.rdf
-</pre>
- <p>로드 작업은 <em>비동기적으로</em> 수행되며, 템플릿 빌더는 RDF/XML 파일을 받는 즉시 컨텐츠를 생성합니다.</p>
- </li>
-</ul>
-<p>두 경우 모두, 데이터 소스는 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl"><code>nsIRDFService</code></a> 의 <code>GetDataSource()</code> 메소드를 사용하여 로드되며, 이들은 같은 방법으로 로드된 다른 데이터 소스와 마찬가지로 <a href="#How_does_Mozilla_manage_datasources.3F">관리</a>됩니다.</p>
-<h3 id="XUL.EC.9D.98_RDF.2FXML.EC.9D.84_.EC.9C.84.ED.95.9C_.EB.B3.B4.EC.95.88_.EB.AA.A8.EB.8D.B8.EC.9D.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.EC.9A.94.3F" name="XUL.EC.9D.98_RDF.2FXML.EC.9D.84_.EC.9C.84.ED.95.9C_.EB.B3.B4.EC.95.88_.EB.AA.A8.EB.8D.B8.EC.9D.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.EC.9A.94.3F">XUL의 RDF/XML을 위한 보안 모델은 무엇인가요?</h3>
-<p>"인증된" URL(현재는 <code>chrome:</code>로 시작하는 모든 URL)로 부터 로드된 XUL은 XUL 템플릿의 <code>datasources</code> 속성에 지정된 <em>어떠한</em> 데이터 소스 URI라도 지정할 수 있습니다.</p>
-<p>"인증되지 않은" URL로 부터 로드된 XUL은 XUL 문서가 있던 동일한 (Java에서 말하는 의미의) <em>코드베이스</em> 에 있는 RDF/XML 문서만을 지정할 수 있습니다. 인증되지 않은 XUL에서 "특별한" (즉, <code>rdf:</code> 로 시작하는) 데이터 소스를 로드할 수는 없습니다.</p>
-<h3 id="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.97.90_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.B6.94.EA.B0.80.ED.95.98.EB.82.98.EC.9A.94.3F" name="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.97.90_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.B6.94.EA.B0.80.ED.95.98.EB.82.98.EC.9A.94.3F">XUL 템플릿에 어떻게 데이터 소스를 추가하나요?</h3>
-<p>XUL 템플릿을 생성할 때 <code>datasources</code> 속성을 통해 "암시적으로" 데이터 소스를 명시하는 방법이 가능하지만, XUL이 로드될 때 <em>까지</em> 어떤 데이터 소스를 로드해야 할지 결정할 수 없는 경우도 있을 것입니다. 예를 들어, 당신의 XUL이 <code>onload</code> 핸들러에서 표시할 데이터 소스를 결정하는 경우나 특정한 사용자의 액션에 반응하여 데이터 소스를 추가해야 하는 경우 등이 있습니다.</p>
-<p>다음은 이러한 동작을 하는 간단한 예제입니다. 아래와 같은 XUL이 있다고 해 봅시다.</p>
-<pre class="eval">&lt;window xmlns="<a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"&gt;
- ...
- <span class="highlightgreen">&lt;tree id="my-tree" datasources="rdf:null"&gt;
- ...
- &lt;/tree&gt;</span>
- ...
-&lt;/window&gt;
-</pre>
-<p>이제 어떤 식으로든 (즉, <a href="#How_do_I_create_a_datasource_from_an_RDF.2FXML_file.3F">이러한</a> 방식 중의 하나로) 데이터 소스를 얻었다고 가정할 때, 다음의 코드는 이 데이터 소스를 템플릿에 <em>추가</em> 하는 방법을 보여줍니다. 템플릿은 새로 추가된 데이터 소스의 컨텐츠를 기반으로 자신을 재생성(rebuild)해야 합니다.</p>
-<pre class="eval">var ds = <span class="highlightblue">/* 어떤 식으로든 얻었다고 가정합니다! */</span>;
-<span class="highlightblue">// 'my-tree'에 대한 DOM 원소를 얻습니다.</span>
-var tree = document.getElementById('my-tree');
-<span class="highlightblue">// 거기에 데이터 소스를 추가합니다.</span>
-tree.database.AddDataSource(ds);
-<span class="highlightblue">// 강제 재생성하도록 직접 rebuild() 메소드를 호출합니다.</span>
-tree.builder.rebuild();
-</pre>
-<p><code>datasources</code> 속성을 가진 XUL 원소는 자동으로 <code>database</code> 속성과 <code>builder</code> 속성을 가지게 됩니다. <code>database</code> 속성은 템플릿에서 생성된 데이터 소스를 포함하는 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFCompositeDataSource.idl"><code>nsIRDFCompositeDataSource</code></a> 객체를 참조합니다.</p>
-<p><code>builder</code> 속성은 템플릿 컨텐츠의 상태를 유지하는 "builder" 인 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIXULTemplateBuilder.idl"><code>nsIXULTemplateBuilder</code></a> 객체를 참조합니다.</p>
-<p><b>참고!</b> <code>rdf:null</code> 데이터 소스: 이것은 특별한 데이터 소스로서 아직은 데이터 소스가 없지만 나중에 추가할 것임을 알려주는 역할을 합니다. 이 데이터 소스를 지정하면 <code>database</code> 속성과 <code>builder</code> 속성이 생기게 되지만 <code>database</code> 속성은 아무 것도 없는 채로 남아있습니다.</p>
-<h3 id="DOM_API.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.98.EC.97.AC_XUL_.ED.85.9C.ED.94.8C.EB.A6.BF_.EB.AC.B8.EC.84.9C.EB.A5.BC_.EB.8B.A4.EB.A3.B0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F" name="DOM_API.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.98.EC.97.AC_XUL_.ED.85.9C.ED.94.8C.EB.A6.BF_.EB.AC.B8.EC.84.9C.EB.A5.BC_.EB.8B.A4.EB.A3.B0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F">DOM API를 이용하여 XUL 템플릿 문서를 다룰 수 있나요?</h3>
-<p>네, 가능합니다. 당신은 룰을 추가 및 삭제하거나 룰의 컨디션이나 컨텐츠를 변경할 수 있습니다. 사실, <a class="external" href="http://www.w3.org/TR/REC-DOM-Level-1/">W3C DOM API</a>를 이용하여 템플릿에 대한 <em>모든</em> 것들을 변경할 수 있습니다.</p>
-<p>한가지 주의할 사항은, 이렇게 변경한 내용이 적용되도록 (XUL 템플릿에 <a href="#How_do_I_add_a_datasource_to_a_XUL_template.3F">데이터 소스를 추가</a>할 때와 마찬가지로) <code>rebuild()</code> 메소드를 반드시 호출해야 한다는 것입니다.</p>
-<h3 id=".ED.85.9C.ED.94.8C.EB.A6.BF.EC.97.90_.EC.9D.BC.EB.B0.98_.ED.85.8D.EC.8A.A4.ED.8A.B8.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.82.BD.EC.9E.85.ED.95.98.EB.82.98.EC.9A.94.3F" name=".ED.85.9C.ED.94.8C.EB.A6.BF.EC.97.90_.EC.9D.BC.EB.B0.98_.ED.85.8D.EC.8A.A4.ED.8A.B8.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.82.BD.EC.9E.85.ED.95.98.EB.82.98.EC.9A.94.3F">템플릿에 일반 텍스트를 어떻게 삽입하나요?</h3>
-<p>템플릿 내에 일반 텍스트(plaintext)를 삽입하기 위해서는 <code>&lt;text&gt;</code> 원소를 이용합니다.</p>
-<pre class="eval">&lt;template&gt;
- &lt;rule&gt;
- &lt;conditions&gt;...&lt;/condition&gt;
- &lt;bindings&gt;...&lt;/bindings&gt;
- &lt;action&gt;
- <span class="highlightgreen">&lt;text value="?some-variable" /&gt;</span>
- &lt;/action&gt;
- &lt;/rule&gt;
-&lt;/template&gt;
-</pre>
-<p>위의 템플릿은 여러 개의 텍스트 노드를 가지는(runs?) 컨텐츠 모델을 생성할 것 입니다.</p>
-<h2 id=".ED.8A.B8.EB.9F.AC.EB.B8.94.EC.8A.88.ED.8C.85" name=".ED.8A.B8.EB.9F.AC.EB.B8.94.EC.8A.88.ED.8C.85">트러블슈팅</h2>
-<p>필드에서 얻은 트릭과 팁들을 소개합니다.</p>
-<h3 id="RDF.2FXML_.ED.8C.8C.EC.9D.BC.EC.9D.B4_.EB.A1.9C.EB.93.9C.EB.90.98.EC.A7.80_.EC.95.8A.EC.95.84.EC.9A.94" name="RDF.2FXML_.ED.8C.8C.EC.9D.BC.EC.9D.B4_.EB.A1.9C.EB.93.9C.EB.90.98.EC.A7.80_.EC.95.8A.EC.95.84.EC.9A.94">RDF/XML 파일이 로드되지 않아요</h3>
-<p>웹 서버로부터 RDF/XML 파일이 로드되지 않는 대부분의 이유는 MIME 타입이 잘못 설정되어 있는 경우입니다. 당신이 사용하는 서버가 RDF/XML 파일을 <code>text/xml</code>(추천) 이나 <code>text/rdf</code>(bogus) 형식으로 전달하는지 확인하십시오.</p>
-<p>W3C의 RDF 코어 워킹 그룹은 application/rdf+xml 형식을 등록하였지만 아직 Mozilla 코드는 이를 인식하지 못한다는 것을 명심하십시오. (이에 대한 버그가 보고되어 있나요? -- <a class="link-mailto" href="mailto:danbri-mozilla@rdfweb.org">danbri</a>)</p>
-<p>원격지에서 로드되는 XUL과 RDF에 대한 또다른 잠재적인 문제점은 Mozilla의 보안 규칙을 변경해야 한다는 것입니다(아래의 예제를 참조하세요). 만약 MIME 타입이 정확한데도, XUL이 RDF를 로드하지 않는다면 이 문제를 고려해 보아야 합니다.</p>
-<p>RDF/XML 파일이 올바른지 검사하기 위해 <code>rdfcat</code>와 <code>rdfpoll</code> 유틸리티를 사용할 수 있습니다. 이 프로그램들은 Windows에서는 기본으로 설치되어 있으며, Linux에서는 <code>configure --enable-tests</code> 옵션을 주어 설치할 수 있습니다.</p>
-<ul>
- <li><code><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/tests/rdfcat/rdfcat.cpp">rdfcat</a> <i>url</i></code><br>
- 파라미터로 주어진 URL을 통해 RDF/XML 파일을 읽은 후, 콘솔 상에 "cat" 합니다. 이를 이용하여 당신이 작성한 RDF/XML이 Mozilla에서 올바르게 해석되는지 검사할 수 있습니다.</li>
- <li><code><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/tests/rdfpoll/rdfpoll.cpp">rdfpoll</a> <i>url</i> [<i>interval</i>]</code><br>
- RDF/XML 파일을 가리키는 URL을 파라미터로 취합니다. 그리고 선택적인(optional) <em>poll interval</em> 파라미터는 URL을 갱신(re-load)할 시간을 지정합니다. 각각의 로드 시 마다 RDF/XML 파일의 현재 내용과 이전의 내용과의 <em>차이점</em>을 나타내는 출력을 생성해 냅니다. 이것은 시간마다 새로 생성되는 RDF/XML 파일의 디버깅에 유용하게 사용됩니다.</li>
-</ul>
-<p>이 두 프로그램은 로드와 실행 과정이 느립니다(하지만 <em>결국은</em> 실행됩니다). 이 프로그램들은 Mozilla 와 동일하게 XPCOM을 초기화하고 URL을 로드하고 처리하도록 Necko를 실행시킵니다.</p>
-<h3 id="AddDataSource_.EB.A9.94.EC.86.8C.EB.93.9C.EB.A5.BC_.ED.98.B8.EC.B6.9C.ED.95.B4.EB.8F.84_.EC.95.84.EB.AC.B4_.EA.B2.83.EB.8F.84_.EB.B0.94.EB.80.8C.EC.A7.80_.EC.95.8A.EC.95.84.EC.9A.94." name="AddDataSource_.EB.A9.94.EC.86.8C.EB.93.9C.EB.A5.BC_.ED.98.B8.EC.B6.9C.ED.95.B4.EB.8F.84_.EC.95.84.EB.AC.B4_.EA.B2.83.EB.8F.84_.EB.B0.94.EB.80.8C.EC.A7.80_.EC.95.8A.EC.95.84.EC.9A.94.">AddDataSource 메소드를 호출해도 아무 것도 바뀌지 않아요.</h3>
-<p>템플릿 빌더는 자신의 <code>database</code> 속성에 대해 <code>AddDataSource</code> 혹은 <code>RemoveDataSource</code> 메소드를 호출해도 자동적으로 내용을 갱신하지 <em>않습니다</em>. 템플릿의 내용을 갱신하기 위해서는 반드시 <code><i>elt.</i>builder.rebuild()</code> 메소드를 직접 호출해야 합니다.</p>
-<p>그 이유는, <code>database</code> 내에 여러 개의 데이터 소스가 추가되는 경우 매번 갱신이 일어나지 않도록 하기 위함입니다.</p>
-<h2 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h2>
-<h3 id=".28.EC.8B.A4.EC.A0.9C.EB.A1.9C_.EB.8F.99.EC.9E.91.ED.95.98.EB.8A.94.29_.EC.98.88.EC.A0.9C.EB.A5.BC_.EC.96.B4.EB.94.94.EC.84.9C_.EC.B0.BE.EC.9D.84_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F" name=".28.EC.8B.A4.EC.A0.9C.EB.A1.9C_.EB.8F.99.EC.9E.91.ED.95.98.EB.8A.94.29_.EC.98.88.EC.A0.9C.EB.A5.BC_.EC.96.B4.EB.94.94.EC.84.9C_.EC.B0.BE.EC.9D.84_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F">(실제로 동작하는) 예제를 어디서 찾을 수 있나요?</h3>
-<p><a class="external" href="http://www.mozilla.org/rdf/doc/examples.html">여기</a>에서 몇가지 예제들을 찾아볼 수 있습니다. 이 중 몇가지는 사인된(signed) 스크립트를 포함하고 있고 HTTP에서 직접 실행시킬 수 있습니다.</p>
-<p>(Mozilla의 라이브 RDF 피드(feed) 를 담당하는)<a class="link-https" href="https://bugzilla.mozilla.org/data/duplicates.rdf"><code>duplicates.rdf</code></a> 와 <a class="link-https" href="https://bugzilla.mozilla.org/duplicates.xul"><code>duplicates.xul</code></a> 도 살펴보기 바랍니다. 이것들을 실행시키기 위해서는 Mozilla의 <a href="ko/Bypassing_Security_Restrictions_and_Signing_Code">보안 모델</a>을 완화시켜야 합니다. 이를 위해 당신의 환경 설정(preference) 파일에 다음의 줄을 추가하십시오. (먼저 Mozilla를 종료시켜야 합니다. 그렇지 않으면 Mozilla가 종료될 때 당신의 환경 설정 파일을 덮어쓰게 될 것입니다.)</p>
-<pre class="eval">user_pref("signed.applets.codebase_principal_support", true);
-</pre>
-<p>Mozilla는 <code>duplicates.xul</code> 내의 스크립트에 XPConnect에 접근할 권한을 줄 것인지 물어볼 것입니다. '예'를 선택하십시오.</p>
-<p>현재, Mozilla는 권한없이 RDF 인터페이스와 서비스에 접근하는 것을 허용하지 않습니다. 자세한 내용은 <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=122846">122846</a>번 버그를 참조하십시오.</p>
-<p>더 추가하고 싶은 예제가 있다면 그 링크를 <a class="external" href="http://rdfweb.org/people/danbri/">danbri</a>, mozilla-rdf 혹은 waterson에게 이메일로 보내기 바랍니다!</p>
-<h2 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0">참고</h2>
-<ol>
- <li>RDF 와 그에 관련된 기술들에 대해서는 <a class="external" href="http://www.w3.org/RDF/">W3C RDF</a> 페이지와 <a class="external" href="http://www.w3.org/2001/sw/">Semantic Web</a> 페이지를 살펴보기 바랍니다.</li>
-</ol>
-<h2 id=".EA.B3.B5.ED.97.8C" name=".EA.B3.B5.ED.97.8C">공헌</h2>
-<ul>
- <li>2006-09-07 에 <a>김남형</a>이 번역함</li>
- <li>2002-07-02 에 <a class="external" href="http://rdfweb.org/people/danbri/">danbri</a>가 예제 부분을 추가함</li>
- <li>원격 XUL / 보안 정책에 대해 Myk Melez가 조언을 해 줌</li>
-</ul>
-<p>저자: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></p>
-<div class="originaldocinfo">
- <h2 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원본 문서 정보</h2>
- <ul>
- <li>저자: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
- <li>최종 변경일: 2004-12-22</li>
- <li>저작권 정보: Copyright (C) <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
- </ul>
-</div>
diff --git a/files/ko/archive/web_standards/using_the_right_markup_to_invoke_plugins/index.html b/files/ko/archive/web_standards/using_the_right_markup_to_invoke_plugins/index.html
deleted file mode 100644
index d7539a262f..0000000000
--- a/files/ko/archive/web_standards/using_the_right_markup_to_invoke_plugins/index.html
+++ /dev/null
@@ -1,263 +0,0 @@
----
-title: Using the Right Markup to Invoke Plugins
-slug: Archive/Web_Standards/Using_the_Right_Markup_to_Invoke_Plugins
-tags:
- - HTML
- - Plugins
-translation_of: Archive/Web_Standards/Using_the_Right_Markup_to_Invoke_Plugins
----
-<p>이 글은 올바른 HTML을 사용하여 플러그인을 불러오는 방법에 대한 글입니다. 여기서 object 요소(element)와 embed 요소에 대해 살펴볼 것이고, 웹 페이지에서 Java를 불러오는 가장 적당한 HTML 사용법에 대해서도 자세히 다룰 것입니다.</p>
-
-<h3 id="object_.EC.9A.94.EC.86.8C:_W3C_.ED.91.9C.EC.A4.80.EA.B3.BC_.ED.81.AC.EB.A1.9C.EC.8A.A4_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.9D.B4.EC.8A.88" name="object_.EC.9A.94.EC.86.8C:_W3C_.ED.91.9C.EC.A4.80.EA.B3.BC_.ED.81.AC.EB.A1.9C.EC.8A.A4_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.9D.B4.EC.8A.88">object 요소: W3C 표준과 크로스 브라우저 이슈</h3>
-
-<p>object 요소는 HTML 4.01 스펙의 일부이며 플러그인을 불러오는 방법으로 권장되는 방식입니다. object 요소의 사용법은 이 절에서 간단히 이야기할 경고 몇 가지에 영향을 받습니다.</p>
-
-<p>전통적으로 object 요소는 Microsoft Internet Explorer와 Netscape 7 같은 Mozilla 기반 브라우저에서 서로 다르게 사용되었습니다. IE에서는 ActiveX 기술로 만든 플러그인을 불러오는데 object 요소를 사용했습니다. 여기 그러한 예제가 있습니다.</p>
-
-<pre>&lt;!-- IE ONLY CODE --&gt;
-&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
-codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
-width="366" height="142" id="myFlash"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
-&lt;/object&gt;
-</pre>
-
-<p>위의 예제에서 object 요소의 <code>classid</code> 속성은 "clsid:"라는 URN을 지정하고 있는데, 이것은 ActiveX 컨트롤의 유일한 식별자("D27..."로 시작하는 문자열)입니다. 사실 이 식별자는 Macromedia Flash 플러그인의 식별자입니다. 이런 방식으로 플러그인을 불러오려면 사용하려는 플러그인의 식별자를 알아야 합니다. <code>codebase</code> 속성은 ActiveX 컨트롤을 포함하는 CAB 파일을 얻을 수 있는 위치를 가리킵니다. codebase 속성은 <strong>획득 메커니즘</strong> 즉, 컨트롤이 존재하지 않을 경우 이를 얻을 수 있는 방법을 알려주기 위해 사용되었습니다. Flash ActiveX 컨트롤이 설치되지 않았다면 IE는 codebase 속성에 지정된 URL로 가서 ActiveX 컨트롤을 받을 것입니다. object 요소의 자식으로 추가된 <code>param</code> 요소들은 Flash 플러그인의 설정 매개변수를 지정하고 있습니다. 예를 들어, the <code>param name="movie"</code>는 Flash 플러그인이 재생할 SWF 파일의 위치를 지정합니다.</p>
-
-<p>Netscape 7.1은 Microsoft® Windows Media Player의 경우 object 요소로 ActiveX를 불러오는 이런 방식을 지원합니다. Netscape 7.1에서 지원하는 유일한 ActiveX 컨트롤이 Windows Media Player입니다. 자세한 내용은 <a href="ko/Windows_Media_in_Netscape">다른 글</a>에서 다루고 있습니다.</p>
-
-<p>Netscape 7같은 브라우저는 위와 같은 방법으로 마크업을 사용해서는 Flash 플러그인을 불러올 수 없습니다. Netscape7은 ActiveX과 ActiveX 기반 컴포넌트 호출을 지원하지 않기 때문입니다. Netscape 7.1이 예외적으로 Windows Media Player를 지원하는 것입니다. Mozilla 기반 브라우저는 Netscape 플러그인 아키텍처를 지원합니다. 이 아키텍처는 ActiveX 같은 COM 기반이 아니므로 유일한 식별자를 이용해서 불러내는 것이 아니라 MIME 형식을 기반으로 플러그인을 불러옵니다. Mozilla 기반 브라우저는 MIME 형식을 이용한 object 요소를 지원합니다. Macromedia Flash 플러그인을 불러오는 예제가 아래에 있습니다.</p>
-
-<pre>&lt;object type="application/x-shockwave-flash" data="javascript-to-flash.swf"
-width="366" height="142" id="myFlash"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
- &lt;p&gt;You need Flash -- get the latest version from
- &lt;a href= "http://www.macromedia.com/downloads/"&gt;here.&lt;/a&gt;&lt;/p&gt;
-&lt;/object&gt;
-</pre>
-
-<p>위 예제에서 <code>application/x-shockwave-flash</code>는 Flash의 MIME 형식입니다. 이것은 Mozilla 기반 브라우저에서 Netscape의 Flash 아키텍처를 불러옵니다. data 속성은 재생할 SWF 파일을 지정하고 있습니다. 설정 매개변수(<code>param</code> 요소들)는 IE와 Mozilla 기반 브라우저에서 동일하게 사용됩니다. 사실 위의 사용 방법은 IE에서도 잘 동작합니다. IE는 ActiveX 스타일의 <code>classid</code> 호출 뿐만 아니라 Flash 같은 특정 MIME 형식을 이용한 호출도 이해하기 때문입니다.</p>
-
-<p>MIME 형식을 이용해서 Flash 플러그인을 불러오는 방식은 IE와 Netscape 7에서 모두 잘 동작하기 때문에 위의 방법을 두 브라우저에서 동일하게 사용해도 됩니다. 그러나 <code>object</code> 요소를 Mozilla 기반 브라우저와 IE에서 사용할 때 우리가 반드시 명심해야할 몇 가지 주의 사항들이 있습니다.</p>
-
-<h4 id=".EC.A3.BC.EC.9D.98_.EC.82.AC.ED.95.AD" name=".EC.A3.BC.EC.9D.98_.EC.82.AC.ED.95.AD">주의 사항</h4>
-
-<ul>
- <li>위 예제에서 살펴본 방식을 이용하여 object 요소를 양쪽 브라우저에서 사용할 경우, <strong>양쪽 브라우저에 동일한 "획득 메커니즘"을 제공하지는 못합니다</strong>. ActiveX 컴포넌트를 포함하는 서명된 CAB 파일을 지정하기 위해서 <code>codebase</code> 속성을 사용할 수 없습니다. Netscape 7같은 Mozilla 기반 브라우저에서는 그 방법이 동작하지 않기 때문입니다. 게다가 IE에서 <code>codebase</code>를 획득 메커니즘으로 사용하는 방식은 HTML 4.01 스펙에 완벽히 부합하는 것이 아닙니다. HTML 4.01에서 <code>codebase</code> 속성은 <code>data</code>, <code>archive</code>, <code>classid</code> 속성에 지정된 URN을 한정(qualify)하는데 사용되어야 한다고 말하고 있습니다. Mozilla 소스 코드에 기반한 새로운 Netscape 브라우저에서는 존재하지 않는 플러그인을 얻을 수 있는 위치를 지정하는 특별한 <code>param</code> 요소를 지원할 계획이지만 Netscape 7에는 그런 기능이 없습니다. 그 기능은 Mozilla <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=167601" title='FIXED: [object] Support &amp;amp;lt;param name="PLUGINURL" ...>'>bug 167601</a>에서 논의중입니다.</li>
-</ul>
-
-<ul>
- <li><strong>IE는 HTML 4.01 스펙을 따르는 중첩된</strong> <code>object</code> <strong>요소를 제대로 표시하지 않습니다</strong>. 스펙에 따르면 우리는 object 요소를 중첩시킬 수 있고, 브라우저는 가장 바깥쪽 요소를 표시할 수 있으면 진행을 멈추고, 그렇지 않으면 표시할 수 있는 요소를 찾을 때까지 계속해서 안쪽 요소를 찾아야 합니다. IE는 중첩된 object 요소들을 연속으로 나열된 object 요소처럼 표시합니다. 그러므로 아래의 예제는 IE가 똑같은 Flash 애니메이션을 두 번 표시하게 만듭니다.</li>
-</ul>
-
-<pre>&lt;!-- 의도한 대로 동작하지 않는 사용법입니다 --&gt;
-&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
-codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
-width="366" height="142" id="myFlash"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
-
- &lt;object type="application/x-shockwave-flash" data="javascript-to-flash.swf"
- width="366" height="142" id="myFlashNSCP"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
- &lt;p&gt;You need Flash -- get the latest version from
- &lt;a href="http://www.macromedia.com/downloads/"&gt;
- here.&lt;/a&gt;&lt;/p&gt;
- &lt;/object&gt;
-
-&lt;/object&gt;
-</pre>
-
-<ul>
- <li><strong>웹 페이지를 만드는 사람들은 Mozilla 기반 브라우저에서<em>획득 메커니즘</em>을 지정해야 합니다. <code>codebase</code> 속성을 사용해서 플러그인을 받을 수 있는 위치를 지정하지 않는다면 브라우저가 자동으로 플러그인을 받아오는 일은 없을 것입니다.</strong> <code>codebase</code>를 지정하지 않았는데 플러그인이 설치되어 있지 않다면 브라우저는 대체 텍스트만 표시할 것입니다. Netscape 플러그인 검색 서비스를 이용해서 플러그인을 받아오거나 하지 않을 것이라는 말입니다. 이런 동작이 HTML 4.01 스펙에 어긋나는 것은 아니지만, 웹 페이지를 만들 때 힘들게<em>획득 메커니즘</em>을 지정해야만 합니다. 최소한 없는 플러그인을 사용자들이 어디에서 받을 수 있는지 알려주는 대체 텍스트를 object 요소에 넣어야만 합니다. 자동으로 플러그인을 받는 편리한 기능을 추가하는 일은 Mozilla 오픈 소스 코드의 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180411" title="Plugin Finder Service is not invoked for OBJECT element">bug 180411</a>의 주제 입니다.</li>
-</ul>
-
-<ul>
- <li><strong>몇몇 플러그인은 Mozilla 기반 브라우저에서 이해하지 못하는 <code>param</code> 요소가 있습니다</strong>. 한 예로 Macromedia Flash Player 플러그인 버전 6r.47까지는 Flash 플러그인이 재생해야 할 애니메이션 위치를 지정하는 <code>&lt;param name="movie" value="animation.swf"&gt;</code> param 요소를 이해하지 못했습니다. 이 문제를 피하려면 다음과 같이 object 요소의 data 속성을 사용해야 합니다. <code>&lt;object type="application/x-shockwave-flash" data="animation.swf"..../&gt;</code>. Flash 플러그인이 이 <code>param</code> 요소를 이해하지 못하는 문제는 Macromedia Flash Player의 버그이며 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180378" title='macromedia.com - Flash ought to support &amp;amp;lt;param name="movie..."> in addition to data attribute'>bug 180378</a>.</li>
-</ul>
-
-<h4 id=".EA.B6.8C.EC.9E.A5_.EC.82.AC.ED.95.AD" name=".EA.B6.8C.EC.9E.A5_.EC.82.AC.ED.95.AD">권장 사항</h4>
-
-<p>우리가 IE에서는 object 요소를 중첩해서 쓰지 못한다는 단점과 모든 브라우저에서 문제없이 동작하도록 하는 단순한 <code>object</code> 요소의 사용법은 없다는 단점을 극복하기 위한 가장 좋은 방법은 아키텍처에 따라 동적으로 <code>object</code> 요소를 동적으로 생성하도록 하는 것입니다. 예를 들어, IE 같이 ActiveX를 지원하는 브라우저에서는 classid 속성을 이용해서 <code>object</code> 요소를 만들고, Netscape 플러그인 아키텍처를 지원하는 브라우저에서는 MIME 형식을 사용하는 것입니다. 여기에 예제 JavaScript가 있습니다.</p>
-
-<pre>if (window.ActiveXObject)
-{
-
-// ActiveX를 지원하는 브라우저
-// IE용 OCX 다운로드 URL을 포함한
-// object 요소를 만듬
-
-document.write('&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
-document.write(' codebase="http://download.macromedia.com');
-document.write('/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"');
-document.write(' width="366" height="142" id="myFlash"&gt;');
-document.write(' &lt;param name="movie" value="javascript-to-flash.swf" /&gt;');
-document.write(' &lt;param name="quality" value="high" /&gt;');
-document.write(' &lt;param name="swliveconnect" value="true" /&gt;');
-document.write('&lt;\/object&gt;');
-
-}
-
-else
-{
-
-// Netscape 플러그인 API를 지원하는 브라우저
-
-document.write('&lt;object id="myFlash" data="javascript-to-flash.swf"');
-document.write(' type="application/x-shockwave-flash"');
-document.write(' width="366" height="142"&gt;');
-document.write('&lt;param name="movie" value="javascript-to-flash.swf" /&gt;');
-document.write('&lt;param name="quality" value="high" /&gt;');
-document.write('&lt;param name="swliveconnect" value="true" /&gt;');
-document.write('&lt;p&gt;You need Flash for this.');
-document.write(' Get the latest version from');
-document.write(' &lt;a href="http://www.macromedia.com/downloads"&gt;here&lt;\/a&gt;.');
-document.write('&lt;\/p&gt;');
-document.write('&lt;\/object&gt;');
-
-}
-</pre>
-
-<p><a class="external" href="http://www.alistapart.com/articles/flashsatay/">Flash Satay</a>도 살펴 보시기 바랍니다.</p>
-
-<h4 id="object_.EC.9A.94.EC.86.8C.EC.99.80_Java" name="object_.EC.9A.94.EC.86.8C.EC.99.80_Java">object 요소와 Java</h4>
-
-<p>Netscape 6.x, Netscape 7, CompuServe 7 같은 Mozilla 기반 브라우저는 <a class="external" href="http://java.sun.com/j2se/downloads.html">Sun에서 제공하는 Java 플러그인</a>을 포함하고 있습니다. Netscape 6.x이나 Netscape 7을 설치하는 사용자는 Java를 설치할지 말지 선택할 수 있습니다. Netscape Communicator 4.x와는 달리 Netscape 6.x와 7은 기본 Java 가상 머신을 가지고 있지 않으며 Sun의 플러그인에 의존합니다. Netscape Communicator 4.x가 사용되던 시절에는 Netscape Communications가 Java 1.5.0과 그 하위 버전을 지원하는 Java 가상 머신을 개발했습니다. 이제 Netscape 6과 7에서 Java 가상 머신은 Sun의 플러그인입니다. Netscape는 Netscape Java 가상 머신을 더이상 개발하지 않으며, 브라우저와 함께 제공하지도 않습니다.</p>
-
-<p>Sun의 Java 플러그인은 다른 플러그인들처럼 <code>object</code> 요소로 불러올 수 있습니다. 다시 한 번 말하자면, IE에서는 일반적으로 <code>object</code> 요소에 ActiveX의 유일한 식별자를 지정하는 <code>classid</code> 속성을 같이 씁니다. 플러그인의 각 메이저 버전은 유일한 식별자를 갖고 있습니다. 예를 들어, 다음 예제는 JRE 1.4.1의 유일한 식별자를 가지고 IE에서 JRE 1.4.1을 불러오는 마크업입니다.</p>
-
-<pre>&lt;!-- IE ONLY CODE --&gt;
-&lt;object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
- width="460" height="160"
-codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4_1-windows-i586.cab#version=1,4,1"&gt;
- &lt;param...&gt;
- &lt;param...&gt;
-&lt;/object&gt;
-</pre>
-
-<p>위 예제는 이전에 설명했던 것과 같은 이유로 Netscape 7 같은 Mozilla 기반 브라우저에서는 동작하지 않을 것입니다. 즉, ActiveX 아키텍처를 참조하는 유일한 식별자와 함께 쓰인 <code>classid</code>를 Mozilla 코드에서는 지원하지 않기 때문입니다. Netscape 7과 그외 Mozilla 기반 브라우저에서는 적절한 MIME 형식으로 Java 플러그인을 호출할 수 있습니다.</p>
-
-<pre>&lt;object type="application/x-java-applet;jpi-version=1.4.1_01"
-width="460" height="160"&gt;
- &lt;param name="code" value="Animator.class" /&gt;
- &lt;param name="imagesource" value="images/Beans" /&gt;
- &lt;param name="backgroundcolor" value="0xc0c0c0" /&gt;
- &lt;param name="endimage" value="10" /&gt;
- &lt;param name="soundsource" value="audio"&gt;
- &lt;param name="soundtrack" value="spacemusic.au" /&gt;
- &lt;param name="sounds" value="1.au|2.au|3.au|4.au|5.au|6.au|7.au|8.au|9.au|0.au" /&gt;
- &lt;param name="pause" value="200" /&gt;
- &lt;p&gt;Java 플러그인이 필요합니다.
- &lt;a href="http://java.sun.com/products/plugin/index.html"&gt;이곳에서&lt;/a&gt; 플러그인을 받으십시오.&lt;/p&gt;
-&lt;/object&gt;
-</pre>
-
-<p>위의 코드는 특정 버전을 가리키는 MIME 형식을 사용합니다. Mozilla 기반 브라우저에 JRE 1.4.1_01이 설치되어있지 않다면 대체 텍스트가 표시됩니다. MIME 형식에 항상 버전을 명시해야 하는 것은 아닙니다. 특정 버전에만 포함된 기능을 사용할 필요가 없다면 <code>application/x-java-vm</code>이라고 좀 더 일반적인 MIME 형식을 지정해도 잘 동작할 것입니다. 초기 진입 지점(initial entry point, "code" <code>param</code> 요소로 지정된 Animator.class)을 포함하여 애플릿을 위한 설정 매개변수들은 여러 개의 <code>param</code> 요소를 이용해 설정되었습니다.</p>
-
-<p>Netscape 7같은 Mozilla 기반 브라우저는 또한 특별한 classid 속성을 지원합니다. 그것은 "java:" classid 입니다. 이 방법을 사용하여 Java를 불러오는 예제를 보십시오.</p>
-
-<pre>&lt;object classid="java:NervousText.class" width="534" height="50"&gt;
- &lt;param name="text" value="Java 2 SDK, Standard Edition v1.4" /&gt;
- &lt;p&gt;Java 플러그인이 필요합니다.
- &lt;a href="http://java.sun.com/products/plugin/index.html"&gt;이곳에서
- &lt;/a&gt;
- 플러그인을 받으십시오.
- &lt;/p&gt;
-&lt;/object&gt;
-</pre>
-
-<p>"java:" <code>classid</code>를 이용하면 주요(primary) 진입 지점을 지정할 수 있습니다. 나머지 설정 매개변수들은 <code>param</code> 요소를 통해서 지정합니다.</p>
-
-<h4 id="apple_--_.EB.8C.80.EC.A4.91.EC.A0.81.EC.9D.B8_.EC.84.A0.ED.83.9D" name="apple_--_.EB.8C.80.EC.A4.91.EC.A0.81.EC.9D.B8_.EC.84.A0.ED.83.9D">apple -- 대중적인 선택</h4>
-
-<p><code>applet</code> 요소는 Java 애플릿을 호출하는데 있어 여전히 많은 지원을 받고 있고 가장 인기있는 방법입니다. Netscape 7과 CompuServer 7에서, <code>applet</code> 요소는 직접적으로 Java 플러그인을 호출합니다. 예제를 보십시오.</p>
-
-<pre>&lt;applet code="NervousText.class" width="534" height="50"&gt;
- &lt;param name="text" value="Java(TM) 2 SDK, Standard Edition v1.4" /&gt;
-&lt;/applet&gt;
-</pre>
-
-<p><code>applet</code> 요소는 HTML 4.01 스펙에서 권장되지 않는 요소가 되었습니다. 그러나 Netscape 7 같은 Mozilla 기반 브라우저에서 그 요소를 사용한다면 플러그인이 존재하지 않을 때 자동으로 받는 기능을 사용할 수 있다는 장점이 있습니다. 브라우저가 Netscape 플러그인 검색 서비스를 이용해서 Java 플러그인을 내려받을 것입니다. <a href="#참고자료">참고자료</a>절에 applet 요소를 사용하는데 대한 관련 자료가 있습니다.</p>
-
-<h4 id="embed_.EC.9A.94.EC.86.8C" name="embed_.EC.9A.94.EC.86.8C">embed 요소</h4>
-
-<p><code>embed</code> 요소는 Netscape 브라우저 초창기부터 플러그인을 불러오기 위한 방법으로 사용되었습니다. 일반적으로 <code>embed</code> 요소는 <code>object</code> 요소 안에 중첩되는 식으로 사용됩니다. 바깥쪽 <code>object</code> 요소는 IE를 위한 ActiveX 컨트롤을 호출하고, 안쪽의 <code>embed</code> 요소는 Netscape 플러그인을 호출하는 것입니다. 예제를 보십시오.</p>
-
-<pre>&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
-codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
-width=366 height=142 id="myFlash"&gt;
- &lt;param name="movie" value="javascript_to_flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
- &lt;embed src="javascript_to_flash.swf" quality="high" width="366" height="142"
- type="application/x-shockwave-flash"
- pluginspage="http://www.macromedia.com/downloads/"
- name="myFlash" swliveconnect="true"&gt;
- &lt;/embed&gt;
-&lt;/object&gt;
-</pre>
-
-<p><a href="#참고자료">참고자료</a>절에서 <code>embed</code> 요소를 사용하는 방법에 대한 링크를 찾을 수 있을 것입니다. Netscape 브라우저에서 플러그인을 불러오기 위해서 가장 널리 쓰이고 있는 것이 <code>embed</code> 요소입니다. 그러나 <code>embed</code> 요소는 HTML 4.01 스펙에 포함되지 않았고, 따라서 W3C 표준이 아니라는 것을 알아둘 필요가 있습니다. <code>embed</code> 요소를 사용할 때 몇 가지 주의 사항이 있습니다.</p>
-
-<ul>
- <li><code>name</code> 속성을 <code>object</code> 요소에 사용하지 마십시오. 특히 <code>embed</code> 요소의 name 요소에 사용한 것과 같은 이름을 사용해서는 안됩니다. 그렇게 하는 것은 HTML 4.01 표준을 어기는 것이지만 몇몇 코드 생성기는 <code>object</code> 요소에 <code>name</code> 속성을 추가합니다. Mozilla 기반의 브라우저에서는 같은 <code>name</code> 속성을 가진 <code>object</code> 요소가 있을 경우 JavaScript DOM 0 메소드를 이용하여 같은 name 속성을 가진 <code>embed</code> 요소에 접근할 수 없습니다. <code>object</code> 요소에는 <code>id</code> 속성을 사용하십시오. <code>object</code> 요소의 <code>id</code> 속성은 <code>embed</code> 요소의 <code>name</code> 속성과 같은 값을 가져도 상관없습니다.</li>
- <li><code>embed</code> 요소는 설정 매개변수를 <code>swliveconnect="true"</code> 같은 식으로 커스텀 속성을 통해 전달할 수 있습니다. 이것은 <code>object</code>의 <code>param</code> 속성과 비슷합니다. 다른 플러그인 제조사는 서로 다른 설정 매개변수를 <code>embed</code> 요소에 전달할 것을 요구할 것입니다. 그 내용을 배울 것을 권합니다.</li>
-</ul>
-
-<p><code>embed</code> 요소의 <strong>획득 메커니즘</strong> -- 설치되지 않은 플러그인을 받아오는 방법 -- 은 <code>pluginspage</code> 속성을 통해 동작한다는 것을 알아두십시오. 이 속성은 브라우저가 인식하지 못한 플러그인을 받을 수 있는 페이지를 가리킵니다. <code>pluginurl</code> 속성을 사용할 수도 있는데, 이 속성은 좀더 능률적인 다운로드를 위해서 <a href="ko/XPInstall">XPInstall</a> 파일을 직접 가리키는데 사용하 수 있습니다. <code>embed</code> 요소의 이 속성들에 대해서, Netscape 7과 Mozilla에서는 플러그인 검색 서비스 설정에서 설정할 수 있습니다. 편집(Edit) | 설정(Preference) | Navigator | Help Applications 에서 Netscape 플러그인 검색 서비스에 대한 설정을 할 수 있습니다. 사용자가<em>플러그인을 받을 때 항상 Netscape 플러그인 검색 서비스를 사용함</em>(Always Use the Netscape Plugin Finder Service to get Plugins) 옵션을 체크해두면, 앞의 두 속성을 지정하거나 하지 않거나 차이가 없습니다. 브라우저는<em>항상</em> 플러그인 검색 서비스를 사용하여 MIME 형식에 맞는 플러그인을 찾을 것입니다. 사용자가 옵션을 체크해두지 않았다면, 웹 페이지 작성자가<em>속성을 지정하지 않았을 때</em>에만 플러그인 검색 서비스를 사용핫 것입니다.</p>
-
-<h3 id=".EC.9B.90.EB.AC.B8_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.AC.B8_.EC.A0.95.EB.B3.B4">원문 정보</h3>
-
-<ul>
- <li>저자: Arun K. Ranganathan, Netscape Communications</li>
- <li>마지막 갱신: 14. Nov 2002</li>
- <li>저작권 정보: Copyright © 2001-2003 Netscape. All rights reserved.</li>
- <li>원문 링크: <a class="external" href="http://devedge-temp.mozilla.org/viewsource/2002/markup-and-plugins/index_en.html" rel="freelink">http://devedge-temp.mozilla.org/view.../index_en.html</a></li>
-</ul>
-
-<h4 id=".EC.B0.B8.EA.B3.A0.EC.9E.90.EB.A3.8C" name=".EC.B0.B8.EA.B3.A0.EC.9E.90.EB.A3.8C">참고자료</h4>
-
-<h5 id=".EC.9D.BC.EB.B0.98.EC.A0.81_--_.EC.8A.A4.ED.8E.99.EB.93.A4" name=".EC.9D.BC.EB.B0.98.EC.A0.81_--_.EC.8A.A4.ED.8E.99.EB.93.A4">일반적 -- 스펙들</h5>
-
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/REC-html40">HTML 4.01 스펙</a></li>
- <li><a class="external" href="http://www.w3.org/TR/xhtml1/">XHTML 1.0 스펙</a></li>
-</ul>
-
-<h5 id="object_.EC.9A.94.EC.86.8C" name="object_.EC.9A.94.EC.86.8C">object 요소</h5>
-
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/REC-html40/struct/objects.html#edef-OBJECT">object 요소에 대한 HTML 4.01 스펙</a></li>
-</ul>
-
-<h5 id="embed_.EC.9A.94.EC.86.8C_2" name="embed_.EC.9A.94.EC.86.8C_2">embed 요소</h5>
-
-<ul>
- <li><a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics">EMBED 요소에 대한 플러그인 API 참고자료</a> <a class="external" href="http://devedge-temp.mozilla.org/library/manuals/2002/plugin/1.0/intro.html#1002612">on devedge-temp</a></li>
-</ul>
-
-<h5 id="Java" name="Java">Java</h5>
-
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/REC-html40/struct/objects.html#edef-APPLET">HTML 4.01 Applet Definition (Deprecated)</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/index.html">Java Plugin Homepage</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/versions.html">OBJECT, EMBED, APPLET과 여러 플러그인 버전에 대한 Sun의 문서</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/1.4.1/demos/applets.html">applet 요소를 사용하는 웹 페이지에 대한 Sun의 예제</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/1.4.1/demos/plugin/applets.html">OBJECT/EMBED 요소를 사용하는 웹 페이지에 대한 Sun의 예제</a></li>
-</ul>
-
-<h5 id="Netscape.EC.99.80_Mozilla.EC.9D.98_.EB.B2.84.EA.B7.B8.EC.99.80_.EC.95.9E.EC.9C.BC.EB.A1.9C.EC.9D.98_.EB.B0.A9.ED.96.A5" name="Netscape.EC.99.80_Mozilla.EC.9D.98_.EB.B2.84.EA.B7.B8.EC.99.80_.EC.95.9E.EC.9C.BC.EB.A1.9C.EC.9D.98_.EB.B0.A9.ED.96.A5">Netscape와 Mozilla의 버그와 앞으로의 방향</h5>
-
-<ul>
- <li><a href="ko/Windows_Media_in_Netscape">Windows Media in Netscape</a> Netscape 7.1과 Windows Media ActiveX 컨트롤</li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180378" title='macromedia.com - Flash ought to support &amp;amp;lt;param name="movie..."> in addition to data attribute'>bug 180378</a></li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=167601" title='FIXED: [object] Support &amp;amp;lt;param name="PLUGINURL" ...>'>bug 167601</a></li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180411" title="Plugin Finder Service is not invoked for OBJECT element">bug 180411</a></li>
-</ul>