aboutsummaryrefslogtreecommitdiff
path: root/files
diff options
context:
space:
mode:
authoralattalatta <urty5656@gmail.com>2021-05-11 21:53:24 +0900
committerGitHub <noreply@github.com>2021-05-11 08:53:24 -0400
commit54b414ca9944ad601e9d76172fb1a9f2d4ad9344 (patch)
tree4f6fd24ec790e29fe5182aa47f8a5d7e2eaee1ca /files
parent9ab74972a776a4403ca8c482c658177843ff0b2f (diff)
downloadtranslated-content-54b414ca9944ad601e9d76172fb1a9f2d4ad9344.tar.gz
translated-content-54b414ca9944ad601e9d76172fb1a9f2d4ad9344.tar.bz2
translated-content-54b414ca9944ad601e9d76172fb1a9f2d4ad9344.zip
Delete obsolete pages under ko/orphaned (#782)
* Delete orphaned, obsolete pages * Further remove obsolete pages from redirects
Diffstat (limited to 'files')
-rw-r--r--files/ko/_redirects.txt31
-rw-r--r--files/ko/orphaned/how_to_build_an_xpcom_component_in_javascript/index.html193
-rw-r--r--files/ko/orphaned/javascript_c_engine_embedder's_guide/index.html435
-rw-r--r--files/ko/orphaned/mdn/about/mdn_services/index.html16
-rw-r--r--files/ko/orphaned/mdn/editor/index.html20
-rw-r--r--files/ko/orphaned/mdn/editor/links/index.html182
-rw-r--r--files/ko/orphaned/mdn/tools/page_regeneration/index.html35
-rw-r--r--files/ko/orphaned/places/custom_containers/index.html22
-rw-r--r--files/ko/orphaned/places/instantiating_views/index.html71
-rw-r--r--files/ko/orphaned/places/query_system/index.html174
-rw-r--r--files/ko/orphaned/places/views/index.html44
-rw-r--r--files/ko/orphaned/theme_packaging/index.html99
-rw-r--r--files/ko/orphaned/tools/add-ons/dom_inspector/index.html17
-rw-r--r--files/ko/orphaned/tools/add-ons/index.html18
-rw-r--r--files/ko/orphaned/tools/debugger/keyboard_shortcuts/index.html11
-rw-r--r--files/ko/orphaned/using_mozilla_in_testing_and_debugging_web_sites/index.html14
-rw-r--r--files/ko/orphaned/windows_and_menus_in_xulrunner/index.html128
-rw-r--r--files/ko/orphaned/지역의_코드를_씁니다/index.html6
-rw-r--r--files/ko/orphaned/확장기능_개발_환경_구축/index.html89
19 files changed, 0 insertions, 1605 deletions
diff --git a/files/ko/_redirects.txt b/files/ko/_redirects.txt
index d90aa271eb..0b2c42da88 100644
--- a/files/ko/_redirects.txt
+++ b/files/ko/_redirects.txt
@@ -274,7 +274,6 @@
/ko/docs/DOM:table.width /ko/docs/Web/API/HTMLTableElement/width
/ko/docs/DOM:window /ko/docs/Web/API/Window
/ko/docs/DOM:window.navigator.registerProtocolHandler /ko/docs/Web/API/Navigator/registerProtocolHandler
-/ko/docs/DOM_Inspector /ko/docs/orphaned/Tools/Add-ons/DOM_Inspector
/ko/docs/DOM_improvements_in_Firefox_3 /ko/docs/Mozilla/Firefox/Releases/3/DOM_improvements
/ko/docs/Determining_the_dimensions_of_elements /ko/docs/Web/API/CSS_Object_Model/Determining_the_dimensions_of_elements
/ko/docs/Drawing_Graphics_with_Canvas /ko/docs/Web/API/Canvas_API/Tutorial
@@ -328,7 +327,6 @@
/ko/docs/HTML:Element /ko/docs/Web/HTML/Element
/ko/docs/HTML:Element:a /ko/docs/Web/HTML/Element/a
/ko/docs/HTML:Inline_elements /ko/docs/Web/HTML/Inline_elements
-/ko/docs/How_to_Build_an_XPCOM_Component_in_Javascript /ko/docs/orphaned/How_to_Build_an_XPCOM_Component_in_Javascript
/ko/docs/IndexedDB /ko/docs/Web/API/IndexedDB_API
/ko/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB /ko/docs/Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB
/ko/docs/IndexedDB/Using_IndexedDB /ko/docs/Web/API/IndexedDB_API/Using_IndexedDB
@@ -407,7 +405,6 @@
/ko/docs/JavaScript/Reference/Statements/for...in /ko/docs/Web/JavaScript/Reference/Statements/for...in
/ko/docs/JavaScript/시작하기 /ko/docs/conflicting/Learn/Getting_started_with_the_web/JavaScript_basics
/ko/docs/JavaScript/언어_리소스 /ko/docs/Web/JavaScript/Language_Resources
-/ko/docs/JavaScript_C_Engine_Embedder's_Guide /ko/docs/orphaned/JavaScript_C_Engine_Embedder's_Guide
/ko/docs/JavaScript_modules /ko/docs/Web/JavaScript/Guide/Modules
/ko/docs/JavaScript_technologies_overview /ko/docs/Web/JavaScript/JavaScript_technologies_overview
/ko/docs/JavaScript_technologies_overview-redirect-1 /ko/docs/Web/JavaScript/JavaScript_technologies_overview
@@ -471,7 +468,6 @@
/ko/docs/Learn/접근성/What_is_accessibility /ko/docs/Learn/Accessibility/What_is_accessibility
/ko/docs/Learn/접근성/모바일 /ko/docs/Learn/Accessibility/Mobile
/ko/docs/Localization /ko/docs/Glossary/Localization
-/ko/docs/MDN/About/MDN_services /ko/docs/orphaned/MDN/About/MDN_services
/ko/docs/MDN/Community /ko/docs/orphaned/MDN/Community
/ko/docs/MDN/Community/Conversations /ko/docs/orphaned/MDN/Community/Conversations
/ko/docs/MDN/Community/Working_in_community /ko/docs/orphaned/MDN/Community/Working_in_community
@@ -480,8 +476,6 @@
/ko/docs/MDN/Contribute/Content/Style_guide /ko/docs/MDN/Guidelines/Writing_style_guide
/ko/docs/MDN/Contribute/Creating_and_editing_pages /ko/docs/MDN/Contribute/Howto/Create_and_edit_pages
/ko/docs/MDN/Contribute/Does_this_belong /ko/docs/MDN/Guidelines/Does_this_belong_on_MDN
-/ko/docs/MDN/Contribute/Editor /ko/docs/orphaned/MDN/Editor
-/ko/docs/MDN/Contribute/Editor/Links /ko/docs/orphaned/MDN/Editor/Links
/ko/docs/MDN/Contribute/Guidelines/Code_guidelines /ko/docs/MDN/Guidelines/Code_guidelines
/ko/docs/MDN/Contribute/Guidelines/Code_guidelines/CSS /ko/docs/MDN/Guidelines/Code_guidelines/CSS
/ko/docs/MDN/Contribute/Guidelines/Code_guidelines/Code_guidelines /ko/docs/MDN/Guidelines/Code_guidelines/General
@@ -501,9 +495,6 @@
/ko/docs/MDN/Contribute/Tools /ko/docs/MDN/Tools
/ko/docs/MDN/Contribute/Tools/KumaScript /ko/docs/MDN/Tools/KumaScript
/ko/docs/MDN/Contribute/Tools/KumaScript/Troubleshooting /ko/docs/MDN/Tools/KumaScript/Troubleshooting
-/ko/docs/MDN/Contribute/Tools/페이지_재생성 /ko/docs/orphaned/MDN/Tools/Page_regeneration
-/ko/docs/MDN/Editor /ko/docs/orphaned/MDN/Editor
-/ko/docs/MDN/Editor/Links /ko/docs/orphaned/MDN/Editor/Links
/ko/docs/MDN/Getting_started /ko/docs/MDN/Contribute/Getting_started
/ko/docs/MDN/Guidelines/Best_practices /ko/docs/MDN/Guidelines/Conventions_definitions
/ko/docs/MDN/Guidelines/Code_guidelines/Code_guidelines /ko/docs/MDN/Guidelines/Code_guidelines/General
@@ -511,7 +502,6 @@
/ko/docs/MDN/Kuma /ko/docs/MDN/Yari
/ko/docs/MDN/Structures/API_references /ko/docs/orphaned/MDN/Structures/API_references
/ko/docs/MDN/Structures/API_references/API_reference_sidebars /ko/docs/MDN/Contribute/Howto/Write_an_API_reference/Sidebars
-/ko/docs/MDN/Tools/페이지_재생성 /ko/docs/orphaned/MDN/Tools/Page_regeneration
/ko/docs/MDN/User_guide /ko/docs/conflicting/MDN/Tools
/ko/docs/MDN/커뮤니티 /ko/docs/orphaned/MDN/Community
/ko/docs/MDN/커뮤니티/Conversations /ko/docs/orphaned/MDN/Community/Conversations
@@ -571,15 +561,6 @@
/ko/docs/Node_server_without_framework /ko/docs/Learn/Server-side/Node_server_without_framework
/ko/docs/Notable_bugs_fixed_in_Firefox_3 /ko/docs/Mozilla/Firefox/Releases/3/Notable_bugs_fixed
/ko/docs/Online_and_offline_events /ko/docs/Web/API/NavigatorOnLine/Online_and_offline_events
-/ko/docs/Places/Custom_Containers /ko/docs/orphaned/Places/Custom_Containers
-/ko/docs/Places/Instantiating_Views /ko/docs/orphaned/Places/Instantiating_Views
-/ko/docs/Places/Query_System /ko/docs/orphaned/Places/Query_System
-/ko/docs/Places/Views /ko/docs/orphaned/Places/Views
-/ko/docs/Places:Accessing_Bookmarks /ko/docs/Places/Accessing_Bookmarks
-/ko/docs/Places:Custom_Containers /ko/docs/orphaned/Places/Custom_Containers
-/ko/docs/Places:Instantiating_Views /ko/docs/orphaned/Places/Instantiating_Views
-/ko/docs/Places:Query_System /ko/docs/orphaned/Places/Query_System
-/ko/docs/Places:Views /ko/docs/orphaned/Places/Views
/ko/docs/SVG /ko/docs/Web/SVG
/ko/docs/SVG/Tutorial /ko/docs/Web/SVG/Tutorial
/ko/docs/SVG:Tutorial /ko/docs/Web/SVG/Tutorial
@@ -596,12 +577,7 @@
/ko/docs/The_XSLT_JavaScript_Interface_in_Gecko/Setting_Parameters /ko/docs/Web/XSLT/XSLT_JS_interface_in_Gecko/Setting_Parameters
/ko/docs/The_XSLT_JavaScript_Interface_in_Gecko:Introduction /ko/docs/Web/XSLT/XSLT_JS_interface_in_Gecko/Introduction
/ko/docs/The_XSLT_JavaScript_Interface_in_Gecko:Setting_Parameters /ko/docs/Web/XSLT/XSLT_JS_interface_in_Gecko/Setting_Parameters
-/ko/docs/Theme_Packaging /ko/docs/orphaned/Theme_Packaging
/ko/docs/Tips_for_Authoring_Fast-loading_HTML_Pages /ko/docs/Learn/HTML/Howto/Author_fast-loading_HTML_pages
-/ko/docs/Tools/Add-ons /ko/docs/orphaned/Tools/Add-ons
-/ko/docs/Tools/Add-ons/DOM_Inspector /ko/docs/orphaned/Tools/Add-ons/DOM_Inspector
-/ko/docs/Tools/Debugger/Keyboard_shortcuts /ko/docs/orphaned/Tools/Debugger/Keyboard_shortcuts
-/ko/docs/Tools/Debugger/단축키 /ko/docs/orphaned/Tools/Debugger/Keyboard_shortcuts
/ko/docs/Tools/How_to /ko/docs/Tools/Debugger/How_to
/ko/docs/Tools/How_to/Open_the_debugger /ko/docs/Tools/Debugger/How_to/Open_the_debugger
/ko/docs/Tools/How_to/Search /ko/docs/Tools/Debugger/How_to/Search
@@ -613,7 +589,6 @@
/ko/docs/Updating_extensions_for_Firefox_3 /ko/docs/Mozilla/Firefox/Releases/3/Updating_extensions
/ko/docs/Updating_web_applications_for_Firefox_3 /ko/docs/Mozilla/Firefox/Releases/3/Updating_web_applications
/ko/docs/Using_JSON_in_Firefox /ko/docs/Web/JavaScript/Reference/Global_Objects/JSON
-/ko/docs/Using_Mozilla_in_Testing_and_Debugging_Web_Sites /ko/docs/orphaned/Using_Mozilla_in_Testing_and_Debugging_Web_Sites
/ko/docs/Using_URL_values_for_the_cursor_property /ko/docs/Web/CSS/CSS_Basic_User_Interface/Using_URL_values_for_the_cursor_property
/ko/docs/Using_URL_values_for_the_cursor_property-redirect-1 /ko/docs/Web/CSS/CSS_Basic_User_Interface/Using_URL_values_for_the_cursor_property
/ko/docs/Using_XPath /ko/docs/conflicting/Web/XPath/Introduction_to_using_XPath_in_JavaScript
@@ -1048,7 +1023,6 @@
/ko/docs/WebSockets/Writing_WebSocket_client_applications /ko/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications
/ko/docs/WebSockets/Writing_WebSocket_servers /ko/docs/Web/API/WebSockets_API/Writing_WebSocket_servers
/ko/docs/Web_Development /ko/docs/conflicting/Web/Guide
-/ko/docs/Windows_and_menus_in_XULRunner /ko/docs/orphaned/Windows_and_menus_in_XULRunner
/ko/docs/XHTML /ko/docs/Glossary/XHTML
/ko/docs/XMLHttpRequest /ko/docs/Web/API/XMLHttpRequest
/ko/docs/XMLHttpRequest/Synchronous_and_Asynchronous_Requests /ko/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests
@@ -1249,11 +1223,8 @@
/ko/docs/개발자를_위한_Firefox_3.6 /ko/docs/Mozilla/Firefox/Releases/3.6
/ko/docs/대문 /ko/docs/Web
/ko/docs/도구들 /ko/docs/Tools
-/ko/docs/도구들/Add-ons /ko/docs/orphaned/Tools/Add-ons
-/ko/docs/도구들/Add-ons/DOM_Inspector /ko/docs/orphaned/Tools/Add-ons/DOM_Inspector
/ko/docs/도구들/Debugger /ko/docs/Tools/Debugger
/ko/docs/도구들/Debugger/UI_Tour /ko/docs/Tools/Debugger/UI_Tour
-/ko/docs/도구들/Debugger/단축키 /ko/docs/orphaned/Tools/Debugger/Keyboard_shortcuts
/ko/docs/도구들/How_to /ko/docs/Tools/Debugger/How_to
/ko/docs/도구들/How_to/Open_the_debugger /ko/docs/Tools/Debugger/How_to/Open_the_debugger
/ko/docs/도구들/How_to/Search /ko/docs/Tools/Debugger/How_to/Search
@@ -1269,6 +1240,4 @@
/ko/docs/도구들/WebIDE /ko/docs/Tools/WebIDE
/ko/docs/도구들/WebIDE/문제해결 /ko/docs/Tools/WebIDE/문제해결
/ko/docs/도구들/Web_Console /ko/docs/Tools/Web_Console
-/ko/docs/지역의_코드를_씁니다. /ko/docs/orphaned/지역의_코드를_씁니다.
/ko/docs/호환_모드와_표준_모드 /ko/docs/Web/HTML/Quirks_Mode_and_Standards_Mode
-/ko/docs/확장기능_개발_환경_구축 /ko/docs/orphaned/확장기능_개발_환경_구축
diff --git a/files/ko/orphaned/how_to_build_an_xpcom_component_in_javascript/index.html b/files/ko/orphaned/how_to_build_an_xpcom_component_in_javascript/index.html
deleted file mode 100644
index 522b51b69f..0000000000
--- a/files/ko/orphaned/how_to_build_an_xpcom_component_in_javascript/index.html
+++ /dev/null
@@ -1,193 +0,0 @@
----
-title: How to Build an XPCOM Component in Javascript
-slug: orphaned/How_to_Build_an_XPCOM_Component_in_Javascript
-tags:
- - Add-ons
- - Extensions
- - XPCOM
-original_slug: How_to_Build_an_XPCOM_Component_in_Javascript
----
-<p>
-</p><p>본 문서는 자바스크립트에서 XPCOM 컴포넌트를 만드는 방법을 소개합니다. 이 문서에서는 XPCOM이 어떻게 움직이는지 혹은 그에 대한 코드는 다루지 않습니다. 자세한 사항은 <a href="ko/XPCOM">XPCOM</a>에서 아실 수 있습니다. 여기서는 실제로 이를 어떻게 <i>움직이게</i>하는 가에 달려 있습니다.
-</p><p><br>
-</p>
-<h2 id=".EA.B5.AC.ED.98.84_.EB.B0.A9.EB.B2.95" name=".EA.B5.AC.ED.98.84_.EB.B0.A9.EB.B2.95"> 구현 방법 </h2>
-<p>아래 예제는 "Hello World!"라는 메시지를 표시하는 간단한 방법입니다.
-This example component will expose a single method, which returns the string "Hello World!".
-</p>
-<h3 id=".EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_.EC.9E.AC.EC.A0.95.EC.9D.98" name=".EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_.EC.9E.AC.EC.A0.95.EC.9D.98"> 인터페이스 재정의 </h3>
-<p>If you want to use your component from JavaScript, or in other XPCOM components, you must define the interfaces that you want exposed (if you want to use your component <i>only</i> from JavaScript, you can use the <code><a href="ko/WrappedJSObject">wrappedJSObject</a></code> trick so that you don't need to generate an interface as described here).
-</p><p>There are many interfaces already defined in Mozilla applications, so you may not need to define a new one. You can browse existing XPCOM interfaces at various locations in the Mozilla source code, or using <a class="external" href="http://xpcomviewer.mozdev.org/">XPCOMViewer</a>, a GUI for browsing registered interfaces and components. You can download an old version of XPCOMViewer that works with Firefox 1.5 from <a class="external" href="http://downloads.mozdev.org/xpcomviewer/">mozdev mirrors</a>.
-</p><p>If an interface exists that meets your needs, then you do not need to write an IDL, or compile a typelib, and may skip to the <a href="#Creating_the_Component">next section</a>.
-</p><p>If you don't find a suitable pre-existing interface, then you must define your own. XPCOM uses a dialect of IDL to define interfaces, called <a href="ko/XPIDL">XPIDL</a>. Here's the XPIDL definition for our HelloWorld component:
-</p><p>HelloWorld.idl
-</p>
-<pre>#include "nsISupports.idl"
-
-[scriptable, uuid(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)]
-interface nsIHelloWorld : nsISupports
-{
- string hello();
-};
-</pre>
-<p>Note that you must generate a new UUID for each XPCOM component that you create. See <a href="ko/Generating_GUIDs">Generating GUIDs</a> for more information.
-</p>
-<h3 id="Compiling_the_Typelib" name="Compiling_the_Typelib"> Compiling the Typelib </h3>
-<p>Your interface definition must be compiled into a binary format (XPT) in order to be registered and used within Mozilla applications. The compilation can be done using the Gecko SDK. You can learn how to get Mac, Linux, and Windows versions of the Gecko SDK by reading the article <a href="ko/Gecko_SDK">Gecko SDK</a>.
-</p>
-<div class="note"><b>Note:</b> On Windows if you download the Gecko SDK without the whole build tree, you will be missing some required DLLs for xpidl.exe and it will run with no errors but not do anything. To fix this download the <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/source/wintools.zip">Mozilla build tools for Windows</a> and copy the DLLs from &lt;tt&gt;windows\bin\x86&lt;/tt&gt; within the zip into the &lt;tt&gt;bin&lt;/tt&gt; directory of the Gecko SDK.</div>
-<div class="note"><b>Note:</b> The Mac version of the SDK provided for download is PowerPC-only. If you need an Intel version, you'll need to compile it yourself as described on that page.</div>
-<p>Execute this command to compile the typelib. Here, &lt;tt&gt;{sdk_dir}&lt;/tt&gt; is the directory in which you unpacked the Gecko SDK.
-</p>
-<pre class="eval">{sdk_dir}/bin/xpidl -m typelib -w -v -I {sdk_dir}/idl -e HelloWorld.xpt HelloWorld.idl
-</pre>
-<p><br>
-</p>
-<div class="note"><b>Note:</b> On Windows you must use forward slashes for the include path.</div>
-<p>(The -I flag is an uppercase i, not a lowercase L.) This will create the typelib file HelloWorld.xpt in the current working directory.
-</p>
-<h3 id="Creating_the_Component" name="Creating_the_Component"> Creating the Component </h3>
-<p>HelloWorld.js
-</p>
-<pre>/***********************************************************
-constants
-***********************************************************/
-
-// reference to the interface defined in nsIHelloWorld.idl
-const nsIHelloWorld = Components.interfaces.nsIHelloWorld;
-
-// reference to the required base interface that all components must support
-const nsISupports = Components.interfaces.nsISupports;
-
-// UUID uniquely identifying our component
-// You can get from: http://kruithof.xs4all.nl/uuid/uuidgen here
-const CLASS_ID = Components.ID("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx}");
-
-// description
-const CLASS_NAME = "My Hello World Javascript XPCOM Component";
-
-// textual unique identifier
-const CONTRACT_ID = "@dietrich.ganx4.com/helloworld;1";
-
-/***********************************************************
-class definition
-***********************************************************/
-
-//class constructor
-function HelloWorld() {
-};
-
-// class definition
-HelloWorld.prototype = {
-
- // define the function we want to expose in our interface
- hello: function() {
- return "Hello World!";
- },
-
- QueryInterface: function(aIID)
- {
- if (!aIID.equals(nsIHelloWorld) &amp;&amp;
-  !aIID.equals(nsISupports))
- throw Components.results.NS_ERROR_NO_INTERFACE;
- return this;
- }
-};
-
-/***********************************************************
-class factory
-
-This object is a member of the global-scope Components.classes.
-It is keyed off of the contract ID. Eg:
-
-myHelloWorld = Components.classes["@dietrich.ganx4.com/helloworld;1"].
- createInstance(Components.interfaces.nsIHelloWorld);
-
-***********************************************************/
-var HelloWorldFactory = {
- createInstance: function (aOuter, aIID)
- {
- if (aOuter != null)
- throw Components.results.NS_ERROR_NO_AGGREGATION;
- return (new HelloWorld()).QueryInterface(aIID);
- }
-};
-
-/***********************************************************
-module definition (xpcom registration)
-***********************************************************/
-var HelloWorldModule = {
- registerSelf: function(aCompMgr, aFileSpec, aLocation, aType)
- {
- aCompMgr = aCompMgr.
- QueryInterface(Components.interfaces.nsIComponentRegistrar);
- aCompMgr.registerFactoryLocation(CLASS_ID, CLASS_NAME,
- CONTRACT_ID, aFileSpec, aLocation, aType);
- },
-
- unregisterSelf: function(aCompMgr, aLocation, aType)
- {
- aCompMgr = aCompMgr.
- QueryInterface(Components.interfaces.nsIComponentRegistrar);
- aCompMgr.unregisterFactoryLocation(CLASS_ID, aLocation);
- },
-
- getClassObject: function(aCompMgr, aCID, aIID)
- {
- if (!aIID.equals(Components.interfaces.nsIFactory))
- throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
-
- if (aCID.equals(CLASS_ID))
- return HelloWorldFactory;
-
- throw Components.results.NS_ERROR_NO_INTERFACE;
- },
-
- canUnload: function(aCompMgr) { return true; }
-};
-
-/***********************************************************
-module initialization
-
-When the application registers the component, this function
-is called.
-***********************************************************/
-function NSGetModule(aCompMgr, aFileSpec) { return HelloWorldModule; }
-
-</pre>
-<h2 id="Installation" name="Installation"> Installation </h2>
-<h3 id="For_extensions:" name="For_extensions:"> For extensions: </h3>
-<ol><li> Copy HelloWorld.js and HelloWorld.xpt to {extensiondir}/components/
-</li><li> Delete compreg.dat and xpti.dat from your profile directory.
-</li><li> Restart application
-</li></ol>
-<h3 id="For_Firefox" name="For_Firefox"> For Firefox </h3>
-<ol><li> Copy HelloWorld.js and HelloWorld.xpt to the {objdir}/dist/bin/components directory, if running from the source.
-</li><li> Delete compreg.dat and xpti.dat from the components directory.
-</li><li> Delete compreg.dat and xpti.dat from your profile directory.
-</li><li> Restart application
-</li></ol>
-<h2 id="Using_Your_Component" name="Using_Your_Component"> Using Your Component </h2>
-<pre>try {
- // this is needed to generally allow usage of components in javascript
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-
- var myComponent = Components.classes['@dietrich.ganx4.com/helloworld;1']
- .createInstance(Components.interfaces.nsIHelloWorld);
-
- alert(myComponent.hello());
-} catch (anError) {
- dump("ERROR: " + anError);
-}
-</pre>
-<h2 id="Other_resources" name="Other_resources"> Other resources </h2>
-<ul><li> Two mozillazine forums threads about implementing XPCOM components in JS with some explanations, example code, and troubleshooting tips:
-<ul><li> <a class=" external" href="http://forums.mozillazine.org/viewtopic.php?t=308369" rel="freelink">http://forums.mozillazine.org/viewtopic.php?t=308369</a>
-</li><li> <a class=" external" href="http://forums.mozillazine.org/viewtopic.php?t=367298" rel="freelink">http://forums.mozillazine.org/viewtopic.php?t=367298</a>
-</li></ul>
-</li><li> <a class="external" href="http://kb.mozillazine.org/Implementing_XPCOM_components_in_JavaScript">Implementing XPCOM components in JavaScript</a> at kb.mozillazine.org
-</li><li> <a class="external" href="http://www.mozilla.org/scriptable/avoiding-leaks.html">Using XPCOM in JavaScript without leaking</a> - A must-read.
-</li><li> <a class="external" href="http://lxr.mozilla.org/seamonkey/source/xpcom/sample/nsSample.js">An example component</a>
-</li><li> <a class="external" href="http://www.mozilla.org/scriptable/js-components-status.html">Older JS+XPCOM notes</a> - includes some wrappedJSObject information.
-</li></ul>
-{{ languages( { "en": "en/How_to_Build_an_XPCOM_Component_in_Javascript", "ja": "ja/How_to_Build_an_XPCOM_Component_in_Javascript" } ) }}
diff --git a/files/ko/orphaned/javascript_c_engine_embedder's_guide/index.html b/files/ko/orphaned/javascript_c_engine_embedder's_guide/index.html
deleted file mode 100644
index e01a0c9830..0000000000
--- a/files/ko/orphaned/javascript_c_engine_embedder's_guide/index.html
+++ /dev/null
@@ -1,435 +0,0 @@
----
-title: JavaScript C Engine Embedder's Guide
-slug: orphaned/JavaScript_C_Engine_Embedder's_Guide
-tags:
- - SpiderMonkey
-original_slug: JavaScript_C_Engine_Embedder's_Guide
----
-<p>이 문서는 C로 구현된 <a href="ko/JavaScript">JavaScript</a> 엔진인 <a href="ko/SpiderMonkey">SpiderMonkey</a>를 전반적으로 소개하며, 애플리케이션이 JavaScript를 인식하도록 하기 위해 어떻게 엔진을 내장하는지에 대해 설명합니다. JavaScript엔진을 여러분의 애플리케이션에 내장하는데는 두가지 큰 이유가 있을 것입니다. 먼저, 스크립트를 사용하여 애플리케이션을 자동화하는 것이 있고, JavaScript엔진과 스크립트를 사용하여 특정 플랫폼에 의존적인 애플케이션 솔루션이 되지 않도록 크로스 플랫폼을 지원하는 것입니다.</p>
-<h3 id=".EC.A7.80.EC.9B.90.EB.90.98.EB.8A.94_.EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EB.B2.84.EC.A0.84" name=".EC.A7.80.EC.9B.90.EB.90.98.EB.8A.94_.EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EB.B2.84.EC.A0.84">지원되는 자바스크립트 버전</h3>
-<p>모질라 JS 엔진은 JS1.8, JS 1.3을 통해 JS1.0을 지원하고 ECMAScript-262 규약을 충족합니다. 간단하게 보면, JS 엔진은 JS 문장과 함수를 포함하는 스크립트를 파싱하여 컴파일하고 실행합니다. 해당 엔진은 스크립트 실행에 필요한 JS 개체의 메모리 할당을 관리하고 더 이상 필요하지 않을 경우, 가비지 컬렉션을 통해 개체를 지웁니다.</p>
-<h3 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.97.94.EC.A7.84.EC.9D.84_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.82.AC.EC.9A.A9.ED.95.98.EB.82.98.3F" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.97.94.EC.A7.84.EC.9D.84_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.82.AC.EC.9A.A9.ED.95.98.EB.82.98.3F">자바스크립트 엔진을 어떻게 사용하나?</h3>
-<p>일반적으로 JS엔진은 공유 리소스로 빌드합니다. 예를 들어, 윈도와 윈도NT에서는 DLL이고 유닉스에서는 공유 라이브러리가 됩니다. 사용방법은 간단합니다. 우선 애플리케이션에 JS엔진을 링크하고 나서 JS엔진 API를 애플리케이션에 임베딩합니다. 이렇게 하면 JS엔진 API는 다음 종류에 해당하는 기능을 제공하게 됩니다.</p>
-<ul>
- <li>Data Type Manipulation</li>
- <li>Run Time Control</li>
- <li>Class and Object Creation and Maintenance</li>
- <li>Function and Script Execution</li>
- <li>String Handling</li>
- <li>Error Handling</li>
- <li>Security Control</li>
- <li>Debugging Support</li>
-</ul>
-<p>애플리케이션이 자바스크립트 호출을 지원하려면 런타임 제어(runtime control)와 데이터 타입 조정(datatype manipulation)등과 같은 종류의 기능을 사용합니다. 예를 들어, 어떤 자바스크립트를 호출하기전에 <code><a class="external" href="http://developer.mozilla.org/en/docs/JS_NewRuntime">JS_NewRuntime</a></code>함수를 호출해서 JS엔진을 생성하고 초기화해야 하며, 보안 제어(security control)와 같은 기능은 필요에 따라 선택적으로 사용할 수 있습니다.</p>
-<h3 id="How_Does_the_Engine_Relate_to_Applications.3F" name="How_Does_the_Engine_Relate_to_Applications.3F">How Does the Engine Relate to Applications?</h3>
-<p>개념적으로 JS엔진은 시스템에 존재하는 공유 리소스라고 볼 수 있습니다. API call을 애플리케이션에 임베딩하여, JS엔진에 요청을 넘길 수 있습니다. 요청을 처리한 엔진은 값이나 상태정보를 애플리케이션에 되돌려줍니다. 그림1.1은 이러한 일반적인 관계를 보여주고 있습니다.</p>
-<p><b><small>그림 1.1</small></b></p>
-<p><img alt="Image:Over1.gif"></p>
-<p>예를 들어 여러분이 자바스크립트를 사용하여 애플리케이션을 자동화하기 위해 JS엔진을 사용한다고 가정합시다. 그리고 해당 애플리케이션에서 실행하는 스크립트에 사용자를 인증하고 애플리케이션에 사용자 접근 권한을 설정한다고 합시다. 우선, 애플리케이션은 사용자에게 이름, 아이디, 접근권한을 위한 입력과 사용자에게 허락되어 애플리케이션에서 사용 가능한 기능 리스트를 보여줄 수 있는 JS 오브젝트를 생성할 수도 있습니다.</p>
-<p>이러한 경우, 애플리케이션이 처음으로 JS엔진에 요청하는 것은 <code><a href="ko/JS_NewObject">JS_NewObject</a></code>를 호출하여 사용자 정의 개체를 생성하는 것입니다. JS엔진이 개체를 생성할 때, 애플리케이션에 해당 포인터를 반환합니다. 이때 부터 애플리케이션은 해당 개체를 사용하여 스크립트를 실행하기 위해 다시 JS엔진을 호출할 수 있습니다. 예를 들어, 사용자 개체를 생성한 이후, 애플리케이션은 스크립트를 즉시 컴파일하고 실행하기 위해 바로 <code><a href="ko/JS_EvaluateScript">JS_EvaluateScript</a></code>에 전달할 것입니다. 그 결과, 좀 전의 스크립트는 사용자 정보를 얻어 확인해주고 애플리케이션이 가진 다른 기능을 사용할 수 있도록 접근 권한을 허락하게 됩니다.</p>
-<p>In truth, the actual relationship between your application and the JS engine is somewhat more complex than shown in Figure 1.1. For example, it assumes that you have already built the JS engine for your platform. It assumes that your application code includes <code>jsapi.h</code>, and it assumes that the first call your application makes to the engine initializes the JS run time.</p>
-<p>When the JS engine receives an initialization request, it allocates memory for the JS run time. Figure 1.2 illustrates this process:</p>
-<p><b><small>Figure 1.2</small></b></p>
-<p><img alt="Image:Over2.gif"></p>
-<p>The run time is the space in which the variables, objects, and contexts used by your application are maintained. A context is the script execution state for a thread used by the JS engine. Each simultaneously existent script or thread must have its own context. A single JS run time may contain many contexts, objects, and variables.</p>
-<p>Almost all JS engine calls require a context argument, so one of the first things your application must do after creating the run time is call <code><a href="ko/JS_NewContext">JS_NewContext</a></code> at least once to create a context. The actual number of contexts you need depends on the number of scripts you expect to use at the same time in your application. You need one context for each simultaneously existing script in your application. On the other hand, if only one script at a time is compiled and executed by your application, then you need only create a single context that you can then reuse for each script.</p>
-<p>After you create contexts, you will usually want to initialize the built-in JS objects in the engine by calling <code><a href="ko/JS_InitStandardClasses">JS_InitStandardClasses</a></code>. The built-in objects include the <code>Array</code>, <code>Boolean</code>, <code>Date</code>, <code>Math</code>, <code>Number</code>, and <code>String</code> objects used in most scripts.</p>
-<p>Most applications will also use custom JS objects. These objects are specific to the needs of your applications. They usually represent data structures and methods used to automate parts of your application. To create a custom object, you populate a JS class for the object, call <code><a href="ko/JS_InitClass">JS_InitClass</a></code> to set up the class in the run time, and then call <code><a href="ko/JS_NewObject">JS_NewObject</a></code> to create an instance of your custom object in the engine. Finally, if your object has properties, you may need to set the default values for them by calling <code><a href="ko/JS_SetProperty">JS_SetProperty</a></code> for each property.</p>
-<p>Even though you pass a specific context to the JS engine when you create an object, an object then exists in the run time independent of the context. Any script can be associated with any context to access any object. Figure 1.3 illustrates the relationship of scripts to the run time, contexts, and objects.</p>
-<p><b><small>Figure 1.3</small></b></p>
-<p><img alt="Image:Over3.gif"></p>
-<p>As Figure 1.3 also illustrates, scripts and contexts exist completely independent from one another even though they can access the same objects. Within a given run time, an application can always use any unassigned context to access any object. There may be times when you want to ensure that certain contexts and objects are reserved for exclusive use. In these cases, create separate run times for your application: one for shared contexts and objects, and one (or more, depending on your application's needs) for private contexts and objects.</p>
-<p><b>NOTE</b>: Only one thread at a time should be given access to a specific context.</p>
-<h3 id="Building_the_Engine" name="Building_the_Engine">Building the Engine</h3>
-<p>Before you can use JS in your applications, you must build the JS engine as a shareable library. In most cases, the engine code ships with make files to automate the build process.</p>
-<p>For example, under Unix, the js source directory contains a base gnu make file called <code>Makefile.ref</code>, and a <code>config</code> directory. The <code>config</code> directory contains platform-specific <code>.mk</code> files to use with <code>Makefile.ref</code> for your environment. Under Windows NT the nmake file is <code>js.mak</code>.</p>
-<p>Always check the source directory for any <code>readme</code> files that may contain late-breaking or updated compilation instructions or information.</p>
-<h3 id="What_Are_the_Requirements_for_Engine_Embedding.3F" name="What_Are_the_Requirements_for_Engine_Embedding.3F">What Are the Requirements for Engine Embedding?</h3>
-<p>To make your application JS-aware, embed the appropriate engine calls in your application code. There are at least five steps to embedding:</p>
-<ol>
- <li>Add <code>#include "jsapi.h"</code> to your C modules to ensure that the compiler knows about possible engine calls. Specialized JS engine work may rarely require you to include additional header files from the JS source code. For example, to include JS debugger calls in your application, code you will need to include <code>jsdbgapi.h</code> in the appropriate modules. Most other header files in the JS source code should
- <i>
- not</i>
- be included. To do so might introduce dependencies based on internal engine implementations that might change from release to release.</li>
- <li>Provide support structures and variable declarations in your application. For example, if you plan on passing a script to the JS engine, provide a string variable to hold the text version of the script in your application.Declare structures and variables using the JS data types defined in <code>jsapi.h</code>.</li>
- <li>Script application-specific objects using JavaScript. Often these objects will correspond to structures and methods that operate on those structures in your C programs, particularly if you are using the JS engine to automate your application.</li>
- <li>Embed the appropriate JS engine API calls and variable references in your application code, including calls to initialize the built-in JS objects, and to create and populate any custom objects your application uses.</li>
- <li>Most JS engine calls return a value. If this value is zero or <code>NULL</code>, it usually indicates an error condition. If the value is nonzero, it usually indicates success; in these cases, the return value is often a pointer that your application needs to use or store for future reference. At the very least, your applications should always check the return values from JS engine calls.</li>
-</ol>
-<p>The following code fragment illustrates most of these embedding steps, except for the creation of JS scripts, which lies outside the scope of the introductory text. For more information about creating scripts and objects using the JavaScript language itself, see the
- <i>
- Client-Side JavaScript Guide</i>
- . For further information about scripting server-side objects, see the
- <i>
- Server-Side JavaScript Guide</i>
- .</p>
-<pre>.
-.
-.
-#include &lt;stdio.h&gt;
-#include &lt;stdlib.h&gt;
-#include &lt;string.h&gt;
-
-/* include the JS engine API header */
-#include "jsapi.h"
-.
-.
-.
-
-/* main function sets up global JS variables, including run time,
- * a context, and a global object, then initializes the JS run time,
- * and creates a context. */
-
-int main(int argc, char **argv)
-{
- int c, i;
- /*set up global JS variables, including global and custom objects */
-
- JSVersion version;
- JSRuntime *rt;
- JSContext *cx;
- JSObject *glob, *it;
- JSBool builtins;
-
- /* initialize the JS run time, and return result in rt */
- rt = JS_NewRuntime(8L * 1024L * 1024L);
-
- /* if rt does not have a value, end the program here */
- if (!rt)
- return 1;
-
- /* create a context and associate it with the JS run time */
- cx = JS_NewContext(rt, 8192);
-
- /* if cx does not have a value, end the program here */
- if (cx == NULL)
- return 1;
-
- /* create the global object here */
- glob = JS_NewObject(cx, clasp, NULL, NULL);
-
- /* initialize the built-in JS objects and the global object */
- builtins = JS_InitStandardClasses(cx, glob);
-
- .
- .
- .
-
- return 0;
-
-}
-</pre>
-<p>This example code is simplified to illustrate the key elements necessary to embed JS engine calls in your applications. For a more complete example -- from which these snippets were adapted -- see <code>js.c</code>, the sample application source code that is included with the JS engine source code.</p>
-<h3 id="Understanding_Key_Embedding_Concepts" name="Understanding_Key_Embedding_Concepts">Understanding Key Embedding Concepts</h3>
-<p>For most of the JavaScript aware applications you create, you will want to follow some standard JS API embedding practices. The following sections describe the types of API calls you need to embed in all your applications.</p>
-<p>In many cases, the order in which you embed certain API calls is important to successful embedding. For example, you must initialize a JS run time before you can make other JS calls. Similarly, you should free the JS run time before you close your application. Therefore, your application's <b>main</b> function typically sandwiches API calls for initializing and freeing the JS run time around whatever other functionality you provide:</p>
-<pre>int main(int argc, char **argv)
-{
- int c, i;
-
- /*set up global JS variables, including global and custom objects */
- JSVersion version;
- JSRuntime *rt;
- JSContext *cx;
- JSObject *glob, *it;
-
- .
- .
- .
-
- /* initialize the JS run time, and return result in rt */
- rt = JS_NewRuntime(8L * 1024L * 1024L);
-
- /* if rt does not have a value, end the program here */
- if (!rt)
- return 1;
-
- .
- .
- .
-
- /* establish a context */
- cx = JS_NewContext(rt, 8192);
-
- /* if cx does not have a value, end the program here */
- if (cx == NULL)
- return 1;
-
- /* initialize the built-in JS objects and the global object */
- builtins = JS_InitStandardClasses(cx, glob);
-
- .
- .
- .
-
- /* include your application code here, including JS API calls
- * that may include creating your own custom JS objects. The JS
- * object model starts here. */
-
- .
- .
- .
-
- /* Before exiting the application, free the JS run time */
- JS_DestroyRuntime(rt);
-</pre>
-<p>As this example illustrates, applications that embed calls to the JS engine are responsible for setting up the JS run time as one of its first acts, and they are responsible for freeing the run time before they exit. In general, the best place to ensure that the run time is initialized and freed is by embedding the necessary calls in whatever module you use as the central JS dispatcher in your application.</p>
-<p>After you initialize the run time, you can establish your application's JS object model. The object model determines how your JS objects relate to one another. JS objects are hierarchical in nature. All JS objects are related to the global object by default. They are descendants of the global object. You automatically get a global object when you initialize the standard JS classes:</p>
-<pre class="eval">builtins = JS_InitStandardClasses(cx, glob);
-</pre>
-<p>The global object sets up some basic properties and methods that are inherited by all other objects. When you create your own custom objects, they automatically use the properties and methods defined on the global object. You can override these default properties and methods by defining them again on your custom object, or you can accept the default assignments.</p>
-<p>You can also create custom objects that are based on other built-in JS objects, or that are based on other custom objects. In each case, the object you create inherits all of the properties and methods of its predecessors in the hierarchical chain, all the way up to the global object. For more information about global and custom objects, see <a href="#Initializing_Built-in_and_Global_JS_Objects">Initializing Built-in and Global JS Objects</a> and <a href="#Creating_and_Initializing_Custom_Objects">Creating and Initializing Custom Objects</a>.</p>
-<h3 id="Managing_a_Run_Time" name="Managing_a_Run_Time">Managing a Run Time</h3>
-<p>The JS run time is the memory space the JS engine uses to manage the contexts, objects, and variables associated with JS functions and scripts. Before you can execute any JS functions or scripts you must first initialize a run time. The API call that initializes the run time is <code><a href="ko/JS_NewRuntime">JS_NewRuntime</a></code>. <code><a href="ko/JS_NewRuntime">JS_NewRuntime</a></code> takes a single argument, an unsigned integer that specifies the maximum number of bytes of memory to allocate to the run time before garbage collection occurs. For example:</p>
-<pre class="eval"> rt = JS_NewRuntime(8L * 1024L * 1024L);
-</pre>
-<p>As this example illustrates, <code><a href="ko/JS_NewRuntime">JS_NewRuntime</a></code> also returns a single value, a pointer to the run time it creates. A non-NULL return value indicates successful creation of the run time.</p>
-<p>Normally, you only need one run time for an application. It is possible, however, to create multiple run times by calling <code><a href="ko/JS_NewRuntime">JS_NewRuntime</a></code> as necessary and storing the return value in a different pointer.</p>
-<p>When the JS run time is no longer needed, it should be destroyed to free its memory resources for other application uses. Depending on the scope of JS use in your application, you may choose to destroy the run time immediately after its use, or, more likely, you may choose to keep the run time available until your application is ready to terminate. In either case, use the <code><a href="ko/JS_DestroyRuntime">JS_DestroyRuntime</a></code> to free the run time when it is no longer needed. This function takes a single argument, the pointer to the run time to destroy:</p>
-<pre class="eval"> JS_DestroyRuntime(rt);
-</pre>
-<p>If you use multiple run times, be sure to free each of them before ending your application.</p>
-<h3 id="Managing_Contexts" name="Managing_Contexts">Managing Contexts</h3>
-<p>Almost all JS API calls require you to pass a context as an argument. A context identifies a script in the JavaScript engine. The engine passes context information to the thread that runs the script. Each simultaneously-executing script must be assigned a unique context. When a script completes execution, its context is no longer in use, so the context can be reassigned to a new script, or it can be freed.</p>
-<p>To create a new context for a script, use <code><a href="ko/JS_NewContext">JS_NewContext</a></code>. This function takes two arguments: a pointer to the run time with which to associate this context, and the number of bytes of stack space to allocate for the context. If successful, the function returns a pointer to the newly established context. For example:</p>
-<pre class="eval"> JSContext *cx;
- .
- .
- .
- cx = JS_NewContext(rt, 8192);
-</pre>
-<p>The run time must already exist. The stack size you specify for the context should be large enough to accommodate any variables or objects created by the script that uses the context. Note that because there is a certain amount of overhead associated with allocating and maintaining contexts you will want to:</p>
-<ol>
- <li>Create only as many contexts as you need at one time in your application.</li>
- <li>Keep contexts for as long as they may be needed in your application rather than destroying and recreating them as needed.</li>
-</ol>
-<p>When a context is no longer needed, it should be destroyed to free its memory resources for other application uses. Depending on the scope of JS use in your application, you may choose to destroy the context immediately after its use, or, more likely, you may choose to keep the context available for reuse until your application is ready to terminate. In either case, use the <code><a href="ko/JS_DestroyContext">JS_DestroyContext</a></code> to free the context when it is no longer needed. This function takes a single argument, the pointer to the context to destroy:</p>
-<pre class="eval"> JS_DestroyContext(cx);
-</pre>
-<p>If your application creates multiple run times, the application may need to know which run time a context is associated with. In this case, call <code><a href="ko/JS_GetRuntime">JS_GetRuntime</a></code>, and pass the context as an argument. <code><a href="ko/JS_GetRuntime">JS_GetRuntime</a></code> returns a pointer to the appropriate run time if there is one:</p>
-<pre class="eval"> rt = JS_GetRuntime(cx);
-</pre>
-<p>When you create a context, you assign it stack space for the variables and objects that get created by scripts that use the context. You can also store large amounts of data for use with a given context, yet minimize the amount of stack space you need. Call <code><a href="ko/JS_SetContextPrivate">JS_SetContextPrivate</a></code> to establish a pointer to private data for use with the context, and call <code><a href="ko/JS_GetContextPrivate">JS_GetContextPrivate</a></code> to retrieve the pointer so that you can access the data. Your application is responsible for creating and managing this optional private data.</p>
-<p>To create private data and associate it with a context:</p>
-<ol>
- <li>Establish the private data as you would a normal C void pointer variable.</li>
- <li>Call <code><a href="ko/JS_SetContextPrivate">JS_SetContextPrivate</a></code>, and specify the context for which to establish private data, and specify the pointer to the data.</li>
-</ol>
-<p>For example:</p>
-<pre class="eval"> JS_SetContextPrivate(cx, pdata);
-</pre>
-<p>To retrieve the data at a later time, call <code><a href="ko/JS_GetContextPrivate">JS_GetContextPrivate</a></code>, and pass the context as an argument. This function returns the pointer to the private data:</p>
-<pre class="eval"> pdata = JS_GetContextPrivate(cx);
-</pre>
-<h3 id="Initializing_Built-in_and_Global_JS_Objects" name="Initializing_Built-in_and_Global_JS_Objects">Initializing Built-in and Global JS Objects</h3>
-<p>The JavaScript engine provides several built-in objects that simplify some of your development tasks. For example, the built-in <code>Array</code> object makes it easy for you to create and manipulate array structures in the JS engine. Similarly, the Date object provides a uniform mechanism for working with and handling dates. For a complete list of built-in objects supported in the engine, see the reference entry for <code><a href="ko/JS_InitStandardClasses">JS_InitStandardClasses</a></code>.</p>
-<p>The JS engine always uses function and global objects. In general, the global object resides behind the scenes, providing a default scope for all other JS objects and global variables you create and use in your applications. Before you can create your own objects, you will want to initialize the global object. The function object enables objects to have and call constructors.</p>
-<p>A single API call, <code><a href="ko/JS_InitStandardClasses">JS_InitStandardClasses</a></code>, initializes the global and function objects and the built-in engine objects so that your application can use them:</p>
-<pre class="eval"> JSBool builtins;
- .
- .
- .
- builtins = JS_InitStandardClasses(cx, glob);
-</pre>
-<p><code><a href="ko/JS_InitStandardClasses">JS_InitStandardClasses</a></code> returns a JS boolean value that indicates the success or failure of the initialization.</p>
-<p>You can specify a different global object for your application. For example, the Netscape Navigator uses its own global object, window. To change the global object for you application, call <code><a href="ko/JS_SetGlobalObject">JS_SetGlobalObject</a></code>. For more information, see the reference entry for <code><a href="ko/JS_SetGlobalObject">JS_SetGlobalObject</a></code>.</p>
-<h3 id="Creating_and_Initializing_Custom_Objects" name="Creating_and_Initializing_Custom_Objects">Creating and Initializing Custom Objects</h3>
-<p>In addition to using the engine's built-in objects, you will create, initialize, and use your own JS objects. This is especially true if you are using the JS engine with scripts to automate your application. Custom JS objects can provide direct program services, or they can serve as interfaces to your program's services. For example, a custom JS object that provides direct service might be one that handles all of an application's network access, or might serve as an intermediary broker of database services. Or a JS object that mirrors data and functions that already exist in the application may provide an object-oriented interface to C code that is not otherwise, strictly-speaking, object-oriented itself. Such a custom object acts as an interface to the application itself, passing values from the application to the user, and receiving and processing user input before returning it to the application. Such an object might also be used to provide access control to the underlying functions of the application.</p>
-<p>There are two ways to create custom objects that the JS engine can use:</p>
-<ul>
- <li>Write a JS script that creates an object, its properties, methods, and constructor, and then pass the script to the JS engine at run time.</li>
- <li>Embed code in your application that defines the object's properties and methods, call the engine to initialize a new object, and then set the object's properties through additional engine calls. An advantage of this method is that your application can contain native methods that directly manipulate the object embedding.</li>
-</ul>
-<p>In either case, if you create an object and then want it to persist in the run time where it can be used by other scripts, you must root the object by calling <code><a href="ko/JS_AddRoot">JS_AddRoot</a></code> or <code><a href="ko/JS_AddNamedRoot">JS_AddNamedRoot</a></code>. Using these functions ensures that the JS engine will keep track of the objects and clean them up during garbage collection, if appropriate.</p>
-<h3 id="Creating_an_Object_From_a_Script" name="Creating_an_Object_From_a_Script">Creating an Object From a Script</h3>
-<p>One reason to create a custom JS object from a script is when you only need an object to exist as long as the script that uses it is executing. To create objects that persist across script calls, you can embed the object code in your application instead of using a script.</p>
-<p><b>NOTE</b>: You can also use scripts to create persistent objects, too.</p>
-<p>To create a custom object using a script:</p>
-<ol>
- <li>Define and spec the object. What is it intended to do? What are its data members (properties)? What are its methods (functions)? Does it require a run time constructor function?</li>
- <li>Code the JS script that defines and creates the object. For example: function myfun(){ var x = newObject(); . . . } <b>NOTE</b>: Object scripting using JavaScript occurs outside the context of embedding the JS engine in your applications. For more information about object scripting, see the
- <i>
- Client-Side JavaScript Guide</i>
- and the
- <i>
- Server-Side JavaScript Guide</i>
- . Embed the appropriate JS engine call(s) in your application to compile and execute the script. You have two choices: 1.) compile and execute a script with a single call to <code><a href="ko/JS_EvaluateScript">JS_EvaluateScript</a></code>, <code><a href="ko/JS_EvaluateUCScript">JS_EvaluateUCScript</a></code> or 2.) compile the script once with a call to <code><a href="ko/JS_CompileScript">JS_CompileScript</a></code> or <code><a href="ko/JS_CompileUCScript">JS_CompileUCScript</a></code>, and then execute it repeatedly with individual calls to <code><a href="ko/JS_ExecuteScript">JS_ExecuteScript</a></code>. The "UC" versions of these calls provide support for Unicode-encoded scripts.</li>
-</ol>
-<p>An object you create using a script only can be made available only during the lifetime of the script, or can be created to persist after the script completes execution. Ordinarily, once script execution is complete, its objects are destroyed. In many cases, this behavior is just what your application needs. In other cases, however, you will want object persistence across scripts, or for the lifetime of your application. In these cases you need to embed object creation code directly in your application, or you need to tie the object directly to the global object so that it persists as long as the global object itself persists.</p>
-<h3 id="Embedding_a_Custom_Object_in_an_Application" name="Embedding_a_Custom_Object_in_an_Application">Embedding a Custom Object in an Application</h3>
-<p>Embedding a custom JS object in an application is useful when object persistence is required or when you know that you want an object to be available to several scripts. For example, a custom object that represents a user's ID and access rights may be needed during the entire lifetime of the application. It saves overhead and time to create and populate this object once, instead of recreating it over and over again with a script each time the user's ID or permissions need to be checked.</p>
-<p>One way to embed a custom object in an application is to:</p>
-<ol>
- <li>Create a <code><a href="ko/JSPropertySpec">JSPropertySpec</a></code> data type, and populate it with the property information for your object, including the name of the property's get and set methods.</li>
- <li>Create a <code><a href="ko/JSFunctionSpec">JSFunctionSpec</a></code> data type, and populate it with information about the methods used by your object.</li>
- <li>Create the actual C functions that are executed in response to your object's method calls.</li>
- <li>Call to <code><a href="ko/JS_NewObject">JS_NewObject</a></code> or <code><a href="ko/JS_ConstructObject">JS_ConstructObject</a></code> to instantiate the object.</li>
- <li>Call <code><a href="ko/JS_DefineFunctions">JS_DefineFunctions</a></code> to create the object's methods.</li>
- <li>Call <code><a href="ko/JS_DefineProperties">JS_DefineProperties</a></code> to create the object's properties.</li>
-</ol>
-<p>The code that describes persistent, custom JS objects should be placed near the start of application execution, before any code that relies upon the prior existence of the object. Embedded engine calls that instantiate and populate the custom object should also appear before any code that relies on the prior existence of the object.</p>
-<p><b>NOTE</b>: An alternate, and in many cases, easier way to create a custom object in application code is to call <code><a href="ko/JS_DefineObject">JS_DefineObject</a></code> to create the object, and then make repeated calls to <code><a href="ko/JS_SetProperty">JS_SetProperty</a></code> to set the object's properties. For more information about defining an object, see <code><a href="ko/JS_DefineObject">JS_DefineObject</a></code> . For more information about setting an object's properties, see <code><a href="ko/JS_SetProperty">JS_SetProperty</a></code>.</p>
-<h3 id="Providing_Private_Data_for_Objects" name="Providing_Private_Data_for_Objects">Providing Private Data for Objects</h3>
-<p>Like contexts, you can associate large quantities of data with an object without having to store the data in the object itself. Call <code><a href="ko/JS_SetPrivate">JS_SetPrivate</a></code> to establish a pointer to private data for the object, and call <code><a href="ko/JS_GetPrivate">JS_GetPrivate</a></code> to retrieve the pointer so that you can access the data. Your application is responsible for creating and managing this optional private data.</p>
-<p>To create private data and associate it with an object:</p>
-<ol>
- <li>Establish the private data as you would a normal C void pointer variable.</li>
- <li>Call <code><a href="ko/JS_SetPrivate">JS_SetPrivate</a></code>, specify the object for which to establish private data, and specify the pointer to the data.</li>
-</ol>
-<p>For example:</p>
-<pre class="eval"> JS_SetPrivate(cx, obj, pdata);
-</pre>
-<p>To retrieve the data at a later time, call <code><a href="ko/JS_GetPrivate">JS_GetPrivate</a></code>, and pass the object as an argument. This function returns the pointer to an object's private data:</p>
-<pre class="eval"> pdata = JS_GetPrivate(cx, obj);
-</pre>
-<h3 id="Handling_Unicode" name="Handling_Unicode">Handling Unicode</h3>
-<p>The JS engine now provides Unicode-enabled versions of many API functions that handle scripts, including JS functions. These functions permit you to pass Unicode-encoded scripts directly to the engine for compilation and execution. The following table lists standard engine functions and their Unicode equivalents:</p>
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th>Standard Function</th>
- <th>Unicode-enabled Function</th>
- </tr>
- <tr>
- <td><a href="ko/JS_DefineProperty">JS_DefineProperty</a></td>
- <td><a href="ko/JS_DefineUCProperty">JS_DefineUCProperty</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_DefinePropertyWithTinyId">JS_DefinePropertyWithTinyId</a></td>
- <td><a href="ko/JS_DefineUCPropertyWithTinyId">JS_DefineUCPropertyWithTinyId</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_LookupProperty">JS_LookupProperty</a></td>
- <td><a href="ko/JS_LookupUCProperty">JS_LookupUCProperty</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_GetProperty">JS_GetProperty</a></td>
- <td><a href="ko/JS_GetUCProperty">JS_GetUCProperty</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_SetProperty">JS_SetProperty</a></td>
- <td><a href="ko/JS_SetUCProperty">JS_SetUCProperty</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_DeleteProperty2">JS_DeleteProperty2</a></td>
- <td><a href="ko/JS_DeleteUCProperty2">JS_DeleteUCProperty2</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_CompileScript">JS_CompileScript</a></td>
- <td><a href="ko/JS_CompileUCScript">JS_CompileUCScript</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_CompileScriptForPrincipals">JS_CompileScriptForPrincipals</a></td>
- <td><a href="ko/JS_CompileUCScriptForPrincipals">JS_CompileUCScriptForPrincipals</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_CompileFunction">JS_CompileFunction</a></td>
- <td><a href="ko/JS_CompileUCFunction">JS_CompileUCFunction</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_CompileFunctionForPrincipals">JS_CompileFunctionForPrincipals</a></td>
- <td><a href="ko/JS_CompileUCFunctionForPrincipals">JS_CompileUCFunctionForPrincipals</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_EvaluateScript">JS_EvaluateScript</a></td>
- <td><a href="ko/JS_EvaluateUCScript">JS_EvaluateUCScript</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_EvaluateScriptForPrincipals">JS_EvaluateScriptForPrincipals</a></td>
- <td><a href="ko/JS_EvaluateUCScriptForPrincipals">JS_EvaluateUCScriptForPrincipals</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_NewString">JS_NewString</a></td>
- <td><a href="ko/JS_NewUCString">JS_NewUCString</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_NewStringCopyN">JS_NewStringCopyN</a></td>
- <td><a href="ko/JS_NewUCStringCopyN">JS_NewUCStringCopyN</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_NewStringCopyZ">JS_NewStringCopyZ</a></td>
- <td><a href="ko/JS_NewUCStringCopyZ">JS_NewUCStringCopyZ</a></td>
- </tr>
- <tr>
- <td><a href="ko/JS_InternString">JS_InternString</a></td>
- <td><a href="ko/JS_InternUCString">JS_InternUCString</a></td>
- </tr>
- <tr>
- <td>--</td>
- <td><a href="ko/JS_InternUCStringN">JS_InternUCStringN</a></td>
- </tr>
- </tbody>
-</table>
-<p>Unicode-enabled functions work exactly like their traditional namesakes, except that where traditional functions take a <code>char *</code> argument, the Unicode versions take a <code>jschar *</code> argument.</p>
-<h3 id="Working_with_JS_Data_Types" name="Working_with_JS_Data_Types">Working with JS Data Types</h3>
-<p>JavaScript defines its own data types. Some of these data types correspond directly to their C counterparts. Others, such as <code><a href="ko/JSObject">JSObject</a></code>, <code><a href="ko/Jsdouble">jsdouble</a></code>, and <code><a href="ko/JSString">JSString</a></code>, are specific to JavaScript.</p>
-<p>Generally, you declare and use JS data types in your application just as you do standard C data types. The JS engine, however, keeps separate track of JS data type variables that require more than a word of storage: <code><a href="ko/JSObject">JSObject</a></code>, <code><a href="ko/Jsdouble">jsdouble</a></code>, and <code><a href="ko/JSString">JSString</a></code>. Periodically, the engine examines these variables to see if they are still in use, and if they are not, it garbage collects them, freeing the storage space for reuse.</p>
-<p>Garbage collection makes effective reuse of the heap, but overly frequent garbage collection may be a performance issue. You can control the approximate frequency of garbage collection based on the size of the JS run time you allocate for your application in relation to the number of JS variables and objects your application uses. If your application creates and uses many JS objects and variables, you may want to allocate a sufficiently large run time to reduce the likelihood of frequent garbage collection.</p>
-<p><b>NOTE</b>: Your application can also call <code><a href="ko/JS_GC">JS_GC</a></code> or <code><a href="ko/JS_MaybeGC">JS_MaybeGC</a></code> to force garbage collection at any time. <code><a href="ko/JS_GC">JS_GC</a></code> forces garbage collection. <code><a href="ko/JS_MaybeGC">JS_MaybeGC</a></code> performs conditional garbage collection only if a certain percentage of space initially allocated to the run time is in use at the time you invoke the function.</p>
-<h3 id="Working_with_JS_Values" name="Working_with_JS_Values">Working with JS Values</h3>
-<p>In addition to JS data types, the JS engine also uses JS values, called <code><a href="ko/Jsval">jsval</a></code>s. A <code><a href="ko/Jsval">jsval</a></code> is essentially a pointer to any JS data type except integers. For integers, a <code><a href="ko/Jsval">jsval</a></code> contains the integer value itself. In other cases, the pointer is encoded to contain additional information about the type of data to which it points. Using <code><a href="ko/Jsval">jsval</a></code>s improves engine efficiency, and permits many API functions to handle a variety of underlying data types.</p>
-<p>The engine API contains a group of macros that test the JS data type of a <code><a href="ko/Jsval">jsval</a></code>. These are:</p>
-<ul>
- <li><code><a href="ko/JSVAL_IS_OBJECT">JSVAL_IS_OBJECT</a></code></li>
- <li><code><a href="ko/JSVAL_IS_NUMBER">JSVAL_IS_NUMBER</a></code></li>
- <li><code><a href="ko/JSVAL_IS_INT">JSVAL_IS_INT</a></code></li>
- <li><code><a href="ko/JSVAL_IS_DOUBLE">JSVAL_IS_DOUBLE</a></code></li>
- <li><code><a href="ko/JSVAL_IS_STRING">JSVAL_IS_STRING</a></code></li>
- <li><code><a href="ko/JSVAL_IS_BOOLEAN">JSVAL_IS_BOOLEAN</a></code></li>
-</ul>
-<p>Besides testing a <code><a href="ko/Jsval">jsval</a></code> for its underlying data type, you can test it to determine if it is a primitive JS data type (<code><a href="ko/JSVAL_IS_PRIMITIVE">JSVAL_IS_PRIMITIVE</a></code>). Primitives are values that are undefined, null, boolean, numeric, or string types.</p>
-<p>You can also test the value pointed to by a <code><a href="ko/Jsval">jsval</a></code> to see if it is <code>NULL</code> (<code><a href="ko/JSVAL_IS_NULL">JSVAL_IS_NULL</a></code>) or void (<code><a href="ko/JSVAL_IS_VOID">JSVAL_IS_VOID</a></code>).</p>
-<p>If a jsval points to a JS data type of <code><a href="ko/JSObject">JSObject</a></code>, <code><a href="ko/Jsdouble">jsdouble</a></code>, or <code><a href="ko/Jsstr">jsstr</a></code>, you can cast the <code><a href="ko/Jsval">jsval</a></code> to its underlying data type using <code><a href="ko/JSVAL_TO_OBJECT">JSVAL_TO_OBJECT</a></code>, <code><a href="ko/JSVAL_TO_DOUBLE">JSVAL_TO_DOUBLE</a></code>, and <code><a href="ko/JSVAL_TO_STRING">JSVAL_TO_STRING</a></code>, respectively. This is useful in some cases where your application or a JS engine call requires a variable or argument of a specific data type, rather than a <code><a href="ko/Jsval">jsval</a></code>. Similarly, you can convert a <code><a href="ko/JSObject">JSObject</a></code>, <code><a href="ko/Jsdouble">jsdouble</a></code>, and <code><a href="ko/Jsstr">jsstr</a></code> to a <code><a href="ko/Jsval">jsval</a></code> using <code><a href="ko/OBJECT_TO_JSVAL">OBJECT_TO_JSVAL</a></code>, <code><a href="ko/DOUBLE_TO_JSVAL">DOUBLE_TO_JSVAL</a></code>, and <code><a href="ko/STRING_TO_JSVAL">STRING_TO_JSVAL</a></code>, respectively.</p>
-<h3 id="Unicode_String_Support" name="Unicode_String_Support">Unicode String Support</h3>
-<p>As with other API calls, the names of Unicode-enabled API string functions correspond one-for-one with the standard engine API string function names as follows: if a standard function name is <code><a href="ko/JS_NewStringCopyN">JS_NewStringCopyN</a></code>, the corresponding Unicode version of the function is <code><a href="ko/JS_NewUCStringCopyN">JS_NewUCStringCopyN</a></code>. Unicode-enabled API string functions are also available for interned string.</p>
-<h3 id="Interned_String_Support" name="Interned_String_Support">Interned String Support</h3>
-<p>To save storage space, the JS engine provides support for sharing a single instance of a string among separate invocations. Such shared strings are called "interned strings". Use interned strings when you know that a particular, string of text will be created and used more than once in an application.</p>
-<p>The engine API offers several calls for working with interned strings:</p>
-<ul>
- <li><code><a href="ko/JS_InternString">JS_InternString</a></code>, for creating or reusing a <code><a href="ko/JSString">JSString</a></code>.</li>
- <li><code><a href="ko/JS_InternUCString">JS_InternUCString</a></code>, for creating or reusing a Unicode <code><a href="ko/JSString">JSString</a></code>.</li>
- <li><code><a href="ko/JS_InternUCStringN">JS_InternUCStringN</a></code>, for creating or reusing Unicode <code><a href="ko/JSString">JSString</a></code> of fixed length.</li>
-</ul>
-<h3 id="Managing_Security" name="Managing_Security">Managing Security</h3>
-<p>With JavaScript 1.3, the JS engine added security-enhanced API functions for compiling and evaluating scripts and functions passed to the engine. The JS security model is based on the Java principals security model. This model provides a common security interface, but the actual security implementation is up to you.</p>
-<p>One common way that security is used in a JavaScript-enabled application is to compare script origins and perhaps limit script interactions. For example, you might compare the codebase of two or more scripts in an application and only allow scripts from the same codebase to modify properties of scripts that share codebases.</p>
-<p>To implement secure JS, follow these steps:</p>
-<ol>
- <li>Declare one or more structs of type <code><a href="ko/JSPrincipals">JSPrincipals</a></code> in your application code.</li>
- <li>Implement the functions that will provide security information to the array. These include functions that provide an array of principals for your application, and mechanisms for incrementing and decrementing a reference count on the number of JS objects using a given set of principles.</li>
- <li>Populate the <code><a href="ko/JSPrincipals">JSPrincipals</a></code> struct with your security information. This information can include common codebase information.</li>
- <li>At run time, compile and evaluate all scripts and functions for which you intend to apply security using the JS API calls that require you to pass in a <code><a href="ko/JSPrincipals">JSPrincipals</a></code> struct. The following table lists these API functions and their purposes:</li>
-</ol>
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th>Function</th>
- <th>Purpose</th>
- </tr>
- <tr>
- <td><code><a href="ko/JS_CompileScriptForPrincipals">JS_CompileScriptForPrincipals</a></code></td>
- <td>Compiles, but does not execute, a security-enabled script.</td>
- </tr>
- <tr>
- <td><code><a href="ko/JS_CompileUCScriptForPrincipals">JS_CompileUCScriptForPrincipals</a></code></td>
- <td>Compiles, but does not execute, a security-enabled, Unicode-encoded script.</td>
- </tr>
- <tr>
- <td><code><a href="ko/JS_CompileFunctionForPrincipals">JS_CompileFunctionForPrincipals</a></code></td>
- <td>Creates a security-enabled JS function from a text string.</td>
- </tr>
- <tr>
- <td><code><a href="ko/JS_CompileUCFunctionForPrincipals">JS_CompileUCFunctionForPrincipals</a></code></td>
- <td>Creates a JS function with security information from a Unicode-encoded character string.</td>
- </tr>
- <tr>
- <td><code><a href="ko/JS_EvaluateScriptForPrincipals">JS_EvaluateScriptForPrincipals</a></code></td>
- <td>Compiles and executes a security-enabled script.</td>
- </tr>
- <tr>
- <td><code><a href="ko/JS_EvaluateUCScriptForPrincipals">JS_EvaluateUCScriptForPrincipals</a></code></td>
- <td>Compiles and executes a security-enabled, Unicode-encoded character script.</td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/orphaned/mdn/about/mdn_services/index.html b/files/ko/orphaned/mdn/about/mdn_services/index.html
deleted file mode 100644
index ec7021b9c1..0000000000
--- a/files/ko/orphaned/mdn/about/mdn_services/index.html
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: MDN Services
-slug: orphaned/MDN/About/MDN_services
-tags:
- - Landing
- - MDN Meta
-translation_of: MDN/About/MDN_services
-original_slug: MDN/About/MDN_services
----
-<div>{{MDNSidebar}}</div>
-
-<p class="summary">MDN 서비스는 기존 워크플로우에 적합하고 개발자가 웹 코드를 개선할 수 있도록 설계된 웹 개개발자를 위한 실험적 유틸리티입니다. 모든 MDN 서비스는 개발 초기 알파 단계에 있으므로, 아직 코드 품질 보장에 의존하지 않는 것이 좋습니다. 만약 프로토타입으로 실험하고 싶다면, 아래의 서비스들은 실험할 준비가 되어있으며, 우리는 그것에 대해 당신의 피드백을 받고 싶습니다.</p>
-
-<h2 id="웹_호환성_서비스_Discord">웹 호환성 서비스 ("Discord")</h2>
-
-<p><a href="http://mdn-discord.herokuapp.com/">Discord</a>는 당신의 코드에서 호환성 문제를 포착하기 위한 <a href="https://help.github.com/articles/about-webhooks/">GitHub webhook</a> 입니다. 현재 CSS 코드를 <a href="https://github.com/anandthakker/doiuse.com">doiuse</a>로 스캔하고 GitHub의 코드 커밋에 주석을 추가합니다.</p>
diff --git a/files/ko/orphaned/mdn/editor/index.html b/files/ko/orphaned/mdn/editor/index.html
deleted file mode 100644
index 48abb52ed3..0000000000
--- a/files/ko/orphaned/mdn/editor/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: MDN 에디터 UI 가이드
-slug: orphaned/MDN/Editor
-tags:
- - Landing
- - MDN
-translation_of: MDN/Editor
-original_slug: MDN/Editor
----
-<div>{{MDNSidebar}}</div>
-
-<div>{{IncludeSubnav("ko/docs/MDN")}}</div>
-
-<p><span class="seoSummary">MDN 위키가 제공하는 위지윅(WYSIWYG) 에디터를 통해 새로운 컨텐츠에 쉽게 기여할 수 있습니다. 이 글은 에디터의 사용법과 작업 생산성을 향상시킬 수 있는 기능들에 대해 상세히 설명하고 있습니다. 새로운 페이지를 생성하거나 편집하기 전에 <a href="/ko/about/legal/terms/mozilla/">모질라의 법적고지</a>를 읽고 여기에 따라주십시오.</span></p>
-
-<p><a href="/ko/docs/MDN/Contribute/Content/Style_guide" title="/en-US/docs/Project:MDN/Style_guide">MDN 스타일 지침</a>을 통해 MDN이 지향하는 형식, 스타일, 선호하는 문법과 스펠링 규칙에 대해 자세히 알 수 있습니다.</p>
-
-<p>{{LandingPageListSubpages}}</p>
-
-<p>{{EditorGuideQuicklinks}}</p>
diff --git a/files/ko/orphaned/mdn/editor/links/index.html b/files/ko/orphaned/mdn/editor/links/index.html
deleted file mode 100644
index ae7d0d7cc1..0000000000
--- a/files/ko/orphaned/mdn/editor/links/index.html
+++ /dev/null
@@ -1,182 +0,0 @@
----
-title: Links
-slug: orphaned/MDN/Editor/Links
-tags:
- - MDN
- - 가이드
- - 문서화
- - 에디터
-translation_of: MDN/Editor/Links
-original_slug: MDN/Editor/Links
----
-<div>{{MDNSidebar}}</div>
-
-<p id="Creating_and_editing_links"><span class="seoSummary">링크는 어떤 위키에서나 가장 중요한 요소입니다. 그 중요성은 많은 문서간에서 뿐만 아니라, 단일 문서에서도 동일합니다. MDN 또한 링크에 크게 의존하고 있습니다. 다행스럽게도, 링크는 만들 수있는 방법이 많으면서도, 매우 만들기 쉽습니다!</span></p>
-
-<div class="note">
-<p><strong>주목할 점:</strong> 특별히 <a href="/ko/docs/MDN/Contribute/Guidelines/Writing_style_guide#링크">링크시에 선호되는 작성방법</a>이 있습니다;  <a href="/ko/docs/MDN/Contribute/Guidelines/Writing_style_guide">MDN  작성 스타일 가이드</a>에 설명되어 있습니다.</p>
-</div>
-
-<h2 id="툴바_사용하기">툴바 사용하기</h2>
-
-<p>링크를 만드는 가장 확실한 방법은 툴바의  "link" 버튼을 클릭하거나, <kbd>Ctl</kbd>+<kbd>K</kbd> (맥에서는 <kbd>Command</kbd>-<kbd>K</kbd> )를 누르는 것입니다. 링크 버튼은 이렇게 생겼습니다: <img alt="The link button (as of 2015-12-04)" src="https://mdn.mozillademos.org/files/12003/link-button.png" style="height: 16px; width: 16px;">. 문자열 선택없이 링크 작성시에, 혹은 기존에 있는 문자열을 선택하여 링크 작성시에 이 기능을 이용할 수 있습니다.</p>
-
-<h3 id="문자열_선택없이_링크_작성하기">문자열 선택없이 링크 작성하기</h3>
-
-<p>일단 링크 버튼을 클릭하면, 아래에 보이는 링크 에디터 다이얼로그로 진입합니다:</p>
-
-<p><img alt="Screenshot of the Link dialog box, showing the Link Info tab" src="https://mdn.mozillademos.org/files/15289/link-info.png" style="border-style: solid; border-width: 1px; height: 320px; width: 335px;"></p>
-
-<p>여기서 새로운 링크를 구성할 수 있습니다. 이 다이얼로그의 콘트롤은 다음과 같습니다:</p>
-
-<dl>
- <dt>링크 종류</dt>
- <dd>생성중인 링크의 종류입니다. URL의 기본값은, MDN이든 오프사이트이든, 웹상 어딘가에 있는 URL입니다. 텍스트내의 앵커 (anchor)또는 "이메일"을 선택할 수도 있습니다. 앵커 링크 옵션은 툴바의 <strong>Anchor</strong> 버튼 으로 이전에 삽입된 anchor로의 링크를, 목록에서 골라서 생성할 수 있도록 합니다. 이메일 옵션은 받는사람의 이메일 주소와 제목 기본 메시지 콘텐츠를 입력하여 <code>mailto:</code> URL 이 구성되도록 합니다. 대부분의 경우 URL optin을 사용하게 될 겁니다.</dd>
- <dt>문서 제목 찾기 / 링크 텍스트</dt>
- <dd>이 필드는 두가지 목적을 수행합니다: 첫째는, 링크 대상으로 사용할 텍스트를 지정할 수 있습니다 (또는 대화 상자를 열기 전에 텍스트를 선택한 경우, 해당 텍스트가 이곳에 링크 대상으로 표시됩니다). 두번째로, 이 곳에 입력된 텍스트를 MDN내 등록된 문서와 대조하여 가능한 목적지 페이지를 찾아내는데 사용됩니다. 예를 들어, 이 박스안에 "Array"라고 타이핑하면, 아래와 같은 상황을 볼 수 있습니다:<br>
- <img alt='Screenshot of the Link dialog box, showing a lookup menu for the text "Array"' src="https://mdn.mozillademos.org/files/15291/link%20dialog%20with%20lookup%20menu.png" style="border-style: solid; border-width: 1px; height: 388px; width: 496px;"></dd>
-</dl>
-
-<dl>
- <dd>Here, you can see a list of all the pages on MDN whose titles include the text you've typed. You can then scroll through the list and select one of those pages, or keep typing to narrow down the list. Note that the items in the list display their locale ("[en-US]" in this case). That text is not used in the link target text; it is there to help you ensure that you are linking to an article in the same locale as the one you are editing.</dd>
- <dt>Attachments</dt>
- <dd>Alternatively, you may make the link be a link to one of the files attached to the current page by selecting the attachment from this list. This is a great way to offer links to download code samples and the like.</dd>
- <dt>URL</dt>
- <dd>Finally, the URL field lets you actually directly enter the URL; it also shows the URL of whatever you've selected in either the <strong>Article Title Lookup</strong> or <strong>Attachments</strong> menus, if you've used those. A common practice is to paste URLs to pages you're working on elsewhere on MDN. If you link to another article on MDN, remove the domain name ("https://developer.mozilla.org") from the beginning of the URL, since that's implied.</dd>
-</dl>
-
-<p>Once the link is configured, click the <strong>OK</strong> button to insert it.</p>
-
-<div class="note">
-<p>If you're paying attention, you'll see that there's a second tab—<strong>Advanced</strong>—in the link editor dialog. There are no options there that we advise you to use on a regular basis, at least at this time. It's possible that in the future there will be alternate styles for links, but we will likely add new toolbar widgets to use those features when they're available.</p>
-</div>
-
-<h3 id="기존_텍스트에_링크_생성하기">기존 텍스트에 링크 생성하기</h3>
-
-<p>If you have existing text that you'd like to turn into a link, you can simplify the process somewhat. Highlight the text you'd like to turn into a link before opening the link editor; this will pre-populate the <strong>Article Title/Lookup Text</strong> field with the selected text. For example, let's say we have the following text:</p>
-
-<blockquote>
-<p>You may find it useful to use JavaScript arrays when working on this project.</p>
-</blockquote>
-
-<p>We'd like to turn "arrays" into a link to the appropriate content. Just highlight that word and invoke the link editor; you'll get a pre-populated dialog similar to the previous case. By "hovering" your mouse over a suggested article, you can see its relative slug (its URL relative to <code>developer.mozilla.org</code>), which can give you a better idea of where it is located and what type of article it is.</p>
-
-<p><img alt="Screenshot of the Link dialog box, showing a lookup menu and a URL tooltip" src="https://mdn.mozillademos.org/files/15293/Rollover%20of%20lookup%20menu.png" style="border-style: solid; border-width: 1px; height: 387px; width: 493px;"></p>
-
-<p>Here, of the articles suggested as possible matches. "Arrays" looks like a good choice, so we can choose that. This automatically fills in the URL field, so you can just click <strong>OK</strong> and the text gets turned into a link, like this:</p>
-
-<blockquote>
-<p>You may find it useful to use JavaScript <a href="/en-US/docs/Learn/JavaScript/First_steps/Arrays">arrays</a> when working on this project.</p>
-</blockquote>
-
-<h2 id="링크_매크로_사용하기">링크 매크로 사용하기</h2>
-
-<p>MDN은, 선택된 용어에 적절한 콘텐츠로의 링크가 자동적으로 생성되는 동시에 스타일 가이드에 맞게 링크가 생성되도록 하는 작업을 <a href="/ko/docs/Project:MDN/Contributing/Editor_guide#Using_macros">매크로</a>에 크게 의존합니다. 이 예를 보세요: 우리의 스타일 가이드는 API 용어 이름, HTML 요소와 속성, CSS 속성, 함수 이름등이 {{HTMLElement("code")}} 형식을 권장한다( 사실상 그대로 되어야 합니다)라고 되어있습니다. 그것들은 또한 MDN상의 적절한 페이지로 링크가 연결되어있어야 합니다.</p>
-
-<p>매크로를 이용하여 이런 링크들을 만드는 것은 익숙해지기에 약간 시간이 걸리지만 많은 장점이 있습니다:</p>
-
-<ul>
- <li>당신이 의도한 알맞은 스타일이 적용됩니다.</li>
- <li>링크는 당신을 위해 생성되며 - 미래에 MDN 구성이 변경되더라도 미래 환경에 적응됩니다.</li>
- <li>역시 당신에게 알맞은 툴팁이 생성될 수 있습니다.</li>
-</ul>
-
-<p>이런 종류의 매크로가 많이 있으며, 여기서 모든 매크로를 다 보지는 않을 겁니다. 대신, 가장 일반적인  몇가지 특별한 예를 살펴볼 것입니다. 더 완벽한 목록은  <a href="/en-US/docs/Project:MDN/Contributing/Custom_macros">MDN 커스텀 매크로 </a>가이드의 "<a href="/en-US/docs/Project:MDN/Contributing/Custom_macros#Creating_hyperlinks">하이퍼링크 생성하기</a>" 섹션을 보세요. 모든 매크로에 대해서 <a href="/ko/docs/Project:Introduction_to_KumaScript">KumaScript</a> 소스 코드를 확인할 수 있다는 점은 주목할만 합니다. 대부분의 경우 소스코드 상단에 작동 방식과 다양한 매개변수가 무엏인지 설명하는 주석이 있습니다.</p>
-
-<h3 id="API_문서에_링크걸기">API 문서에 링크걸기</h3>
-
-<p>We have a number of extremely helpful macros for creating styled links to APIs. Here are a few of the most useful ones; in each case, there may be added parameters available to give you more control over the output (such as suppressing the automatic addition of the <code>&lt;code&gt;</code> styling). Each macro name below can be clicked upon to read the macro code itself; they all have comments at the top explaining what they do and all of their parameters.</p>
-
-<dl>
- <dt>{{TemplateLink("HTMLElement")}}</dt>
- <dd>Inserts an HTML element's name, properly styled and linked. For example: <code>\{{HTMLElement("table")}}</code> yields {{HTMLElement("table")}}.</dd>
- <dt>{{TemplateLink("cssxref")}}</dt>
- <dd>Inserts a CSS property, at-rule, or selector's documentation in the CSS reference. For example: <code>\{{cssxref("background-color")}}</code> results in {{cssxref("background-color")}}.</dd>
- <dt>{{TemplateLink("domxref")}}</dt>
- <dd>Inserts a link into the Web API Reference for a given API term. For example: <code>\{{domxref("window")}}</code> yields {{domxref("window")}} and <code>\{{domxref("window.scrollBy()")}}</code> inserts {{domxref("window.scrollBy()")}}. You can also supply an additional parameter to override the text: <code>\{{domxref("window.scrollBy", "scrollBy()")}}</code> results in {{domxref("window.scrollBy", "scrollBy()")}}.</dd>
- <dt>{{TemplateLink("SVGElement")}}</dt>
- <dd>Inserts an SVG element's name, properly styled and linked. For example: <code>\{{SVGElement("circle")}}</code> yields {{SVGElement("circle")}}.</dd>
-</dl>
-
-<h3 id="동일_문서내_섹션에_링크걸기">동일 문서내 섹션에 링크걸기</h3>
-
-<p>To link to a section within the same article, you can use the {{TemplateLink("anch")}} macro. The syntax is straightforward: <code>\{{anch("Name of destination section")}}</code>. By default, the displayed link text is the title of that section, but you can add a second, optional, parameter indicating alternate text to use instead. Some examples:</p>
-
-<ul>
- <li><code>\{{anch("Using the toolbar")}}</code> looks like this: {{anch("Using the toolbar")}}</li>
- <li><code>\{{anch("Using the toolbar", "earlier in this article")}}</code> looks like this: {{anch("Using the toolbar", "earlier in this article")}}</li>
-</ul>
-
-<h3 id="버그에_링크걸기">버그에 링크걸기</h3>
-
-<p>You can link to a bug in Mozilla's Bugzilla database with the {{TemplateLink("bug")}} macro. This macro accepts a single parameter: the bug number to link to. For example, <code>\{{bug(765642)}}</code> looks like this: {{bug(765642)}}.</p>
-
-<p>Similarly, you can create links to bugs in other browsers and Web engines:</p>
-
-<dl>
- <dt>WebKit (Safari, etc.)</dt>
- <dd>{{TemplateLink("WebkitBug")}}: <code>\{{webkitbug(31277)}}</code> yields {{webkitbug(31277)}}.</dd>
-</dl>
-
-<h3 id="RFCs_에_링크걸기">RFCs 에 링크걸기</h3>
-
-<p>Much of the way the Internet works at a core level is documented in RFCs. You can easily reference RFCs using the {{TemplateLink("RFC")}} macro. For example, \{{RFC(2616)}} becomes {{RFC(2616)}}. You can, optionally, also provide alternate link text to use instead of a selected piece of text from the article or and/or the section number within the specification to which to link.</p>
-
-<h3 id="XPCOM_인터페이스_정보에_링크걸기">XPCOM 인터페이스 정보에 링크걸기 </h3>
-
-<div class="note">
-<p>The MDN staff no longer actively maintains the XPCOM documentation, but volunteer contributions are welcomel</p>
-</div>
-
-<p>If you're documenting Mozilla internals, being able to easily create links to XPCOM interface documentation is helpful. There are a few macros used for this.</p>
-
-<p>The syntax for linking to the documentation for an XPCOM interface as a whole is just: <code>\{{interface("interfacename")}}</code>. For example, you might write:</p>
-
-<blockquote>
-<p>When you need to parse or create URIs, the \{{interface("nsIIOService")}} interface can help.</p>
-</blockquote>
-
-<p>The result looks like this:</p>
-
-<blockquote>
-<p>When you need to parse or create URIs, the {{interface("nsIIOService")}} interface can help.</p>
-</blockquote>
-
-<p>If you need to link to information about a specific method or attribute on an XPCOM interface, the {{TemplateLink("ifmethod")}} and {{TemplateLink("ifattribute")}} macros are for you. These accept as parameters the name of the interface and the name of the method or attribute to which you wish to reference. The {{TemplateLink("ifmethod")}} macro is particularly interesting, since it does some special formatting by adding the style guide-mandated parentheses after the method's name. For example, <code>\{{ifmethod("nsIIOService", "newURI")}}</code> results in {{ifmethod("nsIIOService", "newURI")}}. That's a case where you're being protected against possible changes in the style guide in the future!</p>
-
-<h3 id="Mozilla_설정_문서에_링크걸기">Mozilla 설정 문서에 링크걸기</h3>
-
-<p>To insert the name of a Mozilla preference and make it link to the corresponding page in the <a href="/en-US/docs/Mozilla/Preferences/Preference_reference">Preference reference</a>, use the {{TemplateLink("pref")}} macro. This accepts one parameter: the full name of the preference you wish to link to. For example, you can use <code>\{{pref("javascript.options.showInConsole")}}</code> to create this: {{pref("javascript.options.showInConsole")}}.</p>
-
-<h3 id="Mozilla_소스_파일에_링크걸기">Mozilla 소스 파일에 링크걸기</h3>
-
-<p>You can link to files in Mozilla's source tree (although you probably won't do this often) using the {{TemplateLink("source")}} macro. Instead of specifying the full URL of the file, you can simply specify the path relative to the <code>/source/</code> directory. For example: \{{source("browser/Makefile.in")}} creates this link: {{source("browser/Makefile.in")}}.</p>
-
-<p>You may also, optionally, specify alternative text to use for the link. For example, you can use \{{source("browser/Makefile.in", "the browser's makefile")}} to get the result: {{source("browser/Makefile.in", "the browser's makefile")}}.</p>
-
-<div class="note">
-<p>Please look at the {{anch("Using macros")}} documentation if you're interested in learning more about using macros, and check out our <a href="/en-US/docs/Project:MDN/Kuma/KumaScript_guide">KumaScript</a> documentation to learn more about the macro system itself.</p>
-</div>
-
-<h2 id="추천_콘텐츠에_링크걸기">추천 콘텐츠에 링크걸기</h2>
-
-<p>If you wish to create a list of related pages, or other recommended reading material, you should do so by creating a quicklinks box in the sidebar; this mechanism is replacing our old "See also" headings at the end of articles. For details on how to create quicklinks boxes, see <a href="/en-US/docs/MDN/Contribute/Structures/Quicklinks">Quicklinks</a>.</p>
-
-<h2 id="URL_정책">URL 정책</h2>
-
-<p>For security reasons, you should only create links that use the following schemes:</p>
-
-<ul>
- <li><code>http://</code></li>
- <li><code>https://</code></li>
- <li><code>ftp://</code></li>
- <li><code>mailto:</code></li>
-</ul>
-
-<p>Others may or may not work, but are not supported and will probably be removed by editorial staff.</p>
-
-<div class="note">
-<p>Special URL schemes such as <code>about:</code> and <code>chrome:</code> are used by Firefox, Google Chrome, and some other browsers to provide access to special content such as preferences, debugging information, and so forth. These links do not work from article content, so please do not try to create links using these schemes within MDN articles. The same applies to the <code>javascript:</code> and <code>jar:</code> schemes, which are blocked by most modern browsers as a security precaution.</p>
-</div>
-
-<p>{{EditorGuideQuicklinks}}</p>
diff --git a/files/ko/orphaned/mdn/tools/page_regeneration/index.html b/files/ko/orphaned/mdn/tools/page_regeneration/index.html
deleted file mode 100644
index b6d26e63be..0000000000
--- a/files/ko/orphaned/mdn/tools/page_regeneration/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: 페이지 재생성
-slug: orphaned/MDN/Tools/Page_regeneration
-tags:
- - Guide
- - MDN Meta
- - Page-level
- - Tools
-translation_of: MDN/Tools/Page_regeneration
-original_slug: MDN/Tools/페이지_재생성
----
-<div>{{MDNSidebar}}</div><p>MDN 사이트는 성능상의 이유로 페이지를 캐시합니다. 그 결과, 당신이 페이지에 저장한 변경 사항이 다음 번 페이지 새로 고침할 때 나타나지 않을 수 있습니다. 자주, 항상은 아니지만, 배너가 페이지 업데이트가 진행 중임을 알리는 페이지에 나타납니다. 당신은 서버에서 페이지를 새로 고침하기 위해 브라우저에 "강제 새로 고침"을 할 수 있지만, 이는 서버의 업데이트가 끝나지 않았다면 효과가 없을 지도 모릅니다.</p>
-
-<p>일부 페이지(특히 첫방문landing 페이지)는 자동으로 생성하고 콘텐츠를 업데이트하기 위해 매크로를 사용합니다. 첫방문 페이지의 경우, 매크로는 글쓴이가 손수 추가할 필요 없이 새 글이 자동으로 페이지에 나열되게 합니다. 이는 오랜 공헌자에게는 편리하고, 새로 온 이들은 사이트 계층구조에 자신의 글을 링크하는 법을 모르기에 그들의 작업을 셔플에서 잃는 것을 막는 데 도움이 됩니다.</p>
-
-<p>이는 (예를 들어, {{TemplateLink("Page")}} 매크로를 써서) 한 페이지의 콘텐츠를 다른 페이지로 삽입(transcluding)할 때도 사용할 수 있습니다.</p>
-
-<p><span class="seoSummary">MDN은 성능상의 이유로 렌더링된 콘텐츠를 캐시하기 때문에, (매크로 출력이나 삽입transcluded 페이지 같은) 원 저작물(source material)에 더해진 변경 사항은 자동으로 페이지에 반영되지 않습니다. 그러한 원 저작물에 자주 변경이 예상되는 경우, 자동 페이지 재생성 활성화를 고려할 수 있습니다.</span></p>
-
-<p>자동 재생성을 활성화하기 위해서:</p>
-
-<ol>
- <li>편집 모드 진입을 위해 페이지 상의 <strong>편집</strong> 버튼 클릭.</li>
- <li>페이지 제목 아래, 페이지 제목 근처에 위치한 <strong>페이지 제목과 속성 편집</strong> 클릭. 페이지 메타데이터 필드가 나타남.</li>
- <li><strong>렌더링 최대 수명</strong>값을 설정. 이 값은 캐시된 페이지의 매크로 재실행을 포함하여, 재빌드되는 일정을 결정합니다. 보통, 우리는 여기에 4내지 8시간을 사용합니다. 기술의 문서화가 빠르게 바뀌는 경우, 더 작은 수를 선택할 수 있습니다.</li>
- <li>페이지에 변경 사항을 저장. 리비전 코멘트에 "렌더링 최대 수명을 4시간으로 설정"과 같이, 당신이 작업한 내용을 설명하는 것은 좋은 습관입니다. </li>
-</ol>
-
-<p>페이지는 당신이 지정한 일정대로 자동으로 재성성됩니다.</p>
-
-<div class="note">
-<p><strong>주의:</strong> "페이지 제목과 속성 편집" 옵션은 새 페이지를 만들 때는 이용할 수 없습니다. 첫 번째 저장 이후로 편집기를 다시 열어야 합니다.</p>
-</div>
-
-<p> </p>
diff --git a/files/ko/orphaned/places/custom_containers/index.html b/files/ko/orphaned/places/custom_containers/index.html
deleted file mode 100644
index 695f57aea1..0000000000
--- a/files/ko/orphaned/places/custom_containers/index.html
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Custom Containers
-slug: orphaned/Places/Custom_Containers
-tags:
- - Places
-original_slug: Places/Custom_Containers
----
-<p>사용자 정의 콘테이너는 확장이나 기타 서비스가 플레이스 폴더의 결과를 동적으로 제공하는 것을 가능하게 합니다. 이 문서를 읽기 전에 질의와 결과의 작동 방법에 대한 <a href="ko/Places/Query_System">플레이스 질의 시스템</a>을 숙지하는 것이 좋습니다.</p>
-
-<h3 id="원격_콘테이너">원격 콘테이너</h3>
-
-<p>원격 콘테이너는 확장 작성자 등이 플레이스 질의 결과에 콘테이너의 내용을 제공하는 방법입니다. 먼저 <a href="ko/NsIRemoteContainer">nsIRemoteContainer</a>를 구현하는 콤포넌트를 생성해야 합니다. 그리고 나서, <code>nsINavBookmarksService.createContainer</code>를 사용하여 여러분의 콤포넌트와 연관된 북마크 폴더를 생성합니다. <code>type</code> 매개 변수는 콤포넌트의 contract ID를 포함한 문자열입니다. 북마크 서비스와 기타 콤포넌트는 여러분의 <code>nsIRemoteContainer</code> 구현을 얻기 위하여 이 contract ID를 사용하여 <code>CreateService</code>를 호출합니다.</p>
-
-<p>여러분의 서비스가 폴더와 관련을 맺으면, 폴더가 이동하거나 삭제될 때 알림을 받게 됩니다. 이러한 동작에 대응하여 여러분의 서비스는 폴더와 관련한 관리 정보를 갱신해야 합니다.<em>(여러분의 콘테이너를 나타내는 콘테이너 결과 노드를 결과 사용자가 열거나 닫을 때 발생하는 알림은 테스트 부족으로 주석 처리되어 있습니다.)</em> 또한, 여러분의 서비스는 콘테이너가 읽기 전용 자식을 가지고 있는지 또는 보통의 북마크와 마찬가지로 수정이 가능한지를 선언할 수 있습니다.</p>
-
-<h3 id="모드">모드</h3>
-
-<p>원격 콘테이너 구현이 사용할 수 있는 작동 모드에는 두 가지가 있습니다. 첫 번째 모드는 북마크 제공자처럼 동작하여 일반 북마크 폴더 안에 실제 북마크를 생성합니다. 이러한 예가 <a class="external" href="http://developer.mozilla.org/en/docs/Places:Livemark_Service">라이브마크 서비스</a>입니다. 라이브마크 서비스는 피드를 읽고 해당 스트림 안의 항목에 해당하는 폴더에 북마크를 생성합니다. 이 북마크는 북마크 서비스가 관리하므로 라이브마크 서비스는 콘테이너가 언제 열리고 닫히는지 상관하지 않습니다. (폴더의 피드와 관련한 정보를 갱신하기 위하여) 폴더가 이동하거나 삭제되는 경우를 처리하는 것과 라이브마크가 읽기 전용이라고 선언하는 것만 필요합니다.</p>
-
-<p>두 번째 작동 모드는 더 적극적입니다.<em>현재 이 모드는 지원하지 않습니다. 함수 호출은 테스트 지연으로 주석 처리되어 있습니다.</em> 서비스는 콘테이너 열기 및 닫기 동작에 대응하여 실행 중에 결과를 채울 수 있습니다. 그러므로 표시되는 순간에 더 동적인 내용을 생성할 수 있습니다. 콘테이너 형식을 가진 폴더가 열리면 서비스는 알림을 받고 콘테이너 결과 노드가 주어집니다. 그러면 서비스는 <code>appendURINode</code>, <code>appendFolderNode</code> 등을 이용하여 해당 콘테이너에 자식을 생성할 수 있습니다. <code>appendContainerNode</code>를 특히 주목하십시오. 이는 다른 원격 콘테이너를 생성하는데 사용할 수 있습니다. 이러한 원격 콘테이너는 어떠한 북마크 폴더와도 관련이 없습니다(관련을 맺으려면 <code>appendFolderNode</code>를 사용하십시오). 예를 들어, 하위 폴더와 관련한 콘테이너를 동적으로 생성할 수 있는 파일 브라우저를 생성할 수 있습니다. 각 콘테이너는 속성 백(property bag)을 가지고 있어서 경로와 같은 임의의 정보를 노드에 연결하는데 사용할 수 있다는 점을 기억하십시오.</p>
-
-<div class="noinclude"></div>
diff --git a/files/ko/orphaned/places/instantiating_views/index.html b/files/ko/orphaned/places/instantiating_views/index.html
deleted file mode 100644
index 2d7c0e0923..0000000000
--- a/files/ko/orphaned/places/instantiating_views/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Instantiating Views
-slug: orphaned/Places/Instantiating_Views
-tags:
- - Places
-original_slug: Places/Instantiating_Views
----
-<p>여러분의 확장이나 애플리케이션에서 북마크나 히스토리의 내용을 보여주려면 내장 플레이스 뷰를 사용할 수 있습니다. 이는 포괄적이며, 기본 기능을 작성하는 시간을 많이 아껴주므로 여러분은 애플리케이션을 작성하는데 집중할 수 있습니다.</p>
-
-<p>다른 콘트롤 형식을 위해서 또는 더욱 사용자 정의된 뷰를 얻기 위해서 여러분 자신의 뷰를 구현할 수도 있습니다. <a href="ko/Places/Views">Places:Views</a>는 이 주제에 대해서 다룹니다.</p>
-
-<h3 id="보기">보기</h3>
-
-<p>플레이스에서는 다음과 같은 내장 뷰를 이용할 수 있습니다.</p>
-
-<ul>
- <li>트리</li>
- <li>메뉴</li>
- <li>도구 막대 - 포함된 폴더는 메뉴 뷰를 사용</li>
-</ul>
-
-<h3 id="XUL에서_생성하기">XUL에서 생성하기</h3>
-
-<pre> &lt;!-- include the places stylesheet to get the XBL bindings --&gt;
- &lt;?xml-stylesheet href="chrome://browser/content/places/places.css"?&gt;
-
- &lt;!-- include the required .js files --&gt;
- &lt;script type="application/x-javascript"
- src="chrome://global/content/globalOverlay.js"/&gt;
- &lt;script type="application/x-javascript"
- src="chrome://browser/content/places/utils.js"/&gt;
- &lt;script type="application/x-javascript"
- src="chrome://browser/content/places/controller.js"/&gt;
- &lt;script type="application/x-javascript"
- src="chrome://browser/content/places/treeView.js"/&gt;
-
- &lt;!-- Tree View --&gt;
- &lt;tree type="places" id="your_tree" place="place:..." ...&gt;
- &lt;treecols&gt;
- &lt;treecol id="title" flex="1" primary="true" .../&gt;
- ...
- &lt;/treecols&gt;
- &lt;treechildren flex="1"/&gt;
- &lt;/tree&gt;
-
- &lt;!-- Menu View --&gt;
- &lt;menu label="Your Menu"&gt;
- &lt;menupopup type="places" place="place:..."/&gt;
- &lt;/menu&gt;
-
- &lt;!-- Toolbar View --&gt;
- &lt;toolbaritem type="places" id="your_item" place="place:..."
- .../&gt;
-</pre>
-
-<p>스크립트에서 DOM 개체를 생성할 수도 있습니다.</p>
-
-<h3 id="스크립트_가로채기Hookup">스크립트 가로채기(Hookup)</h3>
-
-<pre>var view = document.getElementById("your_view");
-view.init(null);
-view.appendController(PlacesController);
-</pre>
-
-<p>뷰는 null로 초기화되고(기본 뷰 구성입니다. ViewConfig 개체를 사용하여 뷰의 기능을 수정하는 것에 대한 자세한 정보는 <a href="ko/Places/View_Configurations">Places:View Configurations</a>를 참고하십시오.) 콘트롤러가 붙습니다. 뷰는 이제 사용할 준비가 되었습니다.</p>
-
-<h3 id="플레이스뷰_인터페이스">플레이스뷰 인터페이스</h3>
-
-<p>플레이스뷰 인터페이스를 통하여 뷰와 상호작용하는 것에 대한 정보는 <a href="ko/Places/PlacesView_Interface">Places:PlacesView Interface</a>를 참고하시기 바랍니다.</p>
-
-<div class="noinclude"></div>
diff --git a/files/ko/orphaned/places/query_system/index.html b/files/ko/orphaned/places/query_system/index.html
deleted file mode 100644
index 9caeb1fe7f..0000000000
--- a/files/ko/orphaned/places/query_system/index.html
+++ /dev/null
@@ -1,174 +0,0 @@
----
-title: Query System
-slug: orphaned/Places/Query_System
-tags:
- - Firefox 3
- - Places
-original_slug: Places/Query_System
----
-<p></p>
-<p>Firefox의 히스토리와 북마크 데이터는 "<a href="ko/Places">플레이스</a>" 질의 API를 이용하여 접근할 수 있습니다. 이 API는 히스토리, 북마크, 그리고 두 가지 모두에 대하여 복잡한 질의를 실행할 수 있는 기능을 제공합니다. 질의의 결과는 조건에 맞는 데이터의 단순 목록이나 트리 구조를 포함한 개체입니다. 질의 API와 결과 데이터의 구조에 대한 정의는 <code><a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/components/places/public/nsINavHistoryService.idl" rel="custom">toolkit/components/places/public/nsINavHistoryService.idl</a></code>에 있습니다. 이 페이지는 일반적인 작업에 대한 소개와 핵심 API 사용법에 대한 예제를 제공합니다.</p>
-<h3 id=".EC.A7.88.EC.9D.98_.EC.8B.A4.ED.96.89" name=".EC.A7.88.EC.9D.98_.EC.8B.A4.ED.96.89">질의 실행</h3>
-<p>플레이스 질의는 몇 가지 기본 요소을 가지고 있습니다.</p>
-<ul>
- <li>질의 개체: 검색 매개 변수를 가지고 있는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryQuery" title="">nsINavHistoryQuery</a></code></li>
- <li>질의 옵션: 검색 결과의 구성을 가능하게 하는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryQueryOptions" title="">nsINavHistoryQueryOptions</a></code></li>
- <li>히스토리 서비스: 질의를 실행하는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryService" title="">nsINavHistoryService</a></code></li>
-</ul>
-<p>첫 번째 단계는 질의와 옵션을 생성하고 원하는 매개 변수를 채우는 것입니다. 빈 개체를 얻으려면 <code>nsINavHistoryService.getNewQuery()</code>와 <code>nsINavHistoryService.getNewQueryOptions()</code>를 사용합니다. 이 개체의 기본 값은 모든 브라우저 히스토리를 단순 목록으로 반환하는 질의를 낳습니다.</p>
-<pre>var historyService = Components.classes["@mozilla.org/browser/nav-history-service;1"]
- .getService(Components.interfaces.nsINavHistoryService);
-
-// no query parameters will get all history
-// XXX default sorting is... ?
-var options = historyService.getNewQueryOptions();
-
-// no query parameters will return everything
-var query = historyService.getNewQuery();
-
-// execute the query
-var result = historyService.executeQuery(query, options);
-
-</pre>
-<h4 id=".EA.B2.B0.EA.B3.BC_.ED.98.95.EC.8B.9D" name=".EA.B2.B0.EA.B3.BC_.ED.98.95.EC.8B.9D">결과 형식</h4>
-<p><code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryQueryOptions" title="">nsINavHistoryQueryOptions</a></code>는 <code>resultType</code> 속성을 가지고 있는데 이는 결과로 반환되는 그룹화와 세부사항 수준의 구성을 가능하게 합니다. 이 속성의 여러 가지 값은 아래에 나와 있습니다. 이 값은 <code>nsINavHistoryQueryOptions</code>의 속성이기도 한데, <code>Components.interfaces.nsINavHistoryQueryOptions.RESULTS_AS_VISIT</code>와 같이 접근할 수 있습니다.</p>
-<ul>
- <li><b>RESULTS_AS_URI</b>: 기본 값이며 질의에 부합하는 각 URI에 대하여 <code>RESULT_TYPE_URI</code> 형식의 하나의 결과 노드를 반환합니다.</li>
- <li><b>RESULTS_AS_VISIT</b>: 이 옵션은 방문했던 페이지가 주어진 질의에 부합할 때마다 하나의 항목을 반환합니다. 결과는 다른 날짜를 가진 중복된 URL 항목을 포함할 수 있습니다. 노드는 <code>RESULT_TYPE_VISIT</code> 형식이며 각 방문에 대한 세션 ID를 제공합니다. 이 세션 ID는 링크를 클릭해서 방문한 모든 페이지에 대해 동일합니다. 사용자가 새로운 URL을 입력하거나 북마크를 따라가면 새로운 세션이 시작합니다.</li>
- <li><b>RESULTS_AS_FULL_VISIT</b>: 이는 <code>RESULT_TYPE_VISIT</code>의 확장된 버전입니다. 결과는 <code>RESULT_TYPE_FULL_VISIT</code> 형식으로서 방문에 대한 추가 정보와 이동 방식(입력, 리디렉트, 링크 등)에 대한 정보를 가지고 있습니다.</li>
-</ul>
-<h4 id=".EA.B8.B0.EB.B3.B8_.EC.A7.88.EC.9D.98_.EA.B2.80.EC.83.89_.EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98" name=".EA.B8.B0.EB.B3.B8_.EC.A7.88.EC.9D.98_.EA.B2.80.EC.83.89_.EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98">기본 질의 검색 매개 변수</h4>
-<p><span class="comment">const unsigned long TIME_RELATIVE_EPOCH = 0 const unsigned long TIME_RELATIVE_TODAY = 1 const unsigned long TIME_RELATIVE_NOW = 2 attribute PRTime beginTime attribute unsigned long beginTimeReference readonly attribute boolean hasBeginTime readonly attribute PRTime absoluteBeginTime attribute PRTime endTime attribute unsigned long endTimeReference readonly attribute boolean hasEndTime readonly attribute PRTime absoluteEndTime attribute AString searchTerms readonly attribute boolean hasSearchTerms attribute long minVisits attribute long maxVisits attribute boolean onlyBookmarked attribute boolean domainIsHost attribute AUTF8String domain readonly attribute boolean hasDomain attribute boolean uriIsPrefix attribute nsIURI uri readonly attribute boolean hasUri attribute boolean annotationIsNot attribute AUTF8String annotation readonly attribute boolean hasAnnotation readonly attribute unsigned long folderCount</span></p>
-<h4 id=".EA.B8.B0.EB.B3.B8_.EC.A7.88.EC.9D.98_.EA.B5.AC.EC.84.B1_.EC.98.B5.EC.85.98" name=".EA.B8.B0.EB.B3.B8_.EC.A7.88.EC.9D.98_.EA.B5.AC.EC.84.B1_.EC.98.B5.EC.85.98">기본 질의 구성 옵션</h4>
-<p><span class="comment">const unsigned short GROUP_BY_DAY = 0 const unsigned short GROUP_BY_HOST = 1 const unsigned short GROUP_BY_DOMAIN = 2 const unsigned short GROUP_BY_FOLDER = 3 const unsigned short SORT_BY_NONE = 0 const unsigned short SORT_BY_TITLE_ASCENDING = 1 const unsigned short SORT_BY_TITLE_DESCENDING = 2 const unsigned short SORT_BY_DATE_ASCENDING = 3 const unsigned short SORT_BY_DATE_DESCENDING = 4 const unsigned short SORT_BY_URI_ASCENDING = 5 const unsigned short SORT_BY_URI_DESCENDING = 6 const unsigned short SORT_BY_VISITCOUNT_ASCENDING = 7 const unsigned short SORT_BY_VISITCOUNT_DESCENDING = 8 const unsigned short SORT_BY_KEYWORD_ASCENDING = 9 const unsigned short SORT_BY_KEYWORD_DESCENDING = 10 const unsigned short SORT_BY_DATEADDED_ASCENDING = 11 const unsigned short SORT_BY_DATEADDED_DESCENDING = 12 const unsigned short SORT_BY_LASTMODIFIED_ASCENDING = 13 const unsigned short SORT_BY_LASTMODIFIED_DESCENDING = 14 const unsigned short SORT_BY_ANNOTATION_ASCENDING = 15 const unsigned short SORT_BY_ANNOTATION_DESCENDING = 16 const unsigned short RESULTS_AS_URI = 0 const unsigned short RESULTS_AS_VISIT = 1 const unsigned short RESULTS_AS_FULL_VISIT = 2 attribute unsigned short sortingMode attribute AUTF8String sortingAnnotation attribute unsigned short resultType attribute boolean excludeItems attribute boolean excludeQueries attribute boolean excludeReadOnlyFolders attribute boolean expandQueries attribute boolean includeHidden attribute boolean showSessions attribute unsigned long maxResults const unsigned short QUERY_TYPE_HISTORY = 0 const unsigned short QUERY_TYPE_BOOKMARKS = 1 const unsigned short QUERY_TYPE_UNIFIED = 2 attribute unsigned short queryType</span></p>
-<h4 id=".EB.B3.B5.ED.95.A9_.EC.A7.88.EC.9D.98" name=".EB.B3.B5.ED.95.A9_.EC.A7.88.EC.9D.98">복합 질의</h4>
-<p>하나 이상의 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryQuery" title="">nsINavHistoryQuery</a></code> 개체를 <code>executeQueries()</code>로 전달할 수 있습니다. 하나의 질의 개체 안에서 모든 매개 변수는
- <i>
- AND</i>
- 로 연결됩니다. 그리고 서로 다른 질의 개체의 조건들은
- <i>
- OR</i>
- 로 연결됩니다. 이는 여전히 표현력이 있으면서도 중첩된 절을 가진 완전한 논리 연산보다 더 간단한 구현과 인터페이스를 가능하게 합니다.</p>
-<p>다음은 방문한 모든 페이지 중 제목이나 URL에 "firefox"라는 단어를 포함한 페이지나 오늘 mozilla.org에서 방문한 페이지를 질의하는 예제입니다.</p>
-<pre>// first query object searches for "firefox" in title/URL
-var query1 = historyService.getNewQuery();
-query1.searchTerms = "firefox";
-
-// second query object searches for visited in past 24 hours AND from mozilla.org
-var query2 = historyService.getNewQuery();
-query2.beginTimeReference = query2.TIME_RELATIVE_NOW;
-query2.beginTime = -24 * 60 * 60 * 1000000; // 24 hours ago in microseconds
-query2.endTimeReference = query2.TIME_RELATIVE_NOW;
-query2.endTime = 0; // now
-query2.domain = "mozilla.org";
-
-var result = historyService.executeQueries([query1, query2], 2, options);
-</pre>
-<div class="note">
- <b>참고</b>: 키워드 검색은
- <i>
- OR</i>
- 질의를 가로질러 올바르게 동작하지 않습니다. 현재 작동 방식은 보통의 질의를 실행하고 나서 첫 번째 질의의 키워드를 선택하여 모든 결과를 거릅니다. (달리 이야기하면, 첫 번째 질의의 키워드는 모든 질의와
- <i>
- AND</i>
- 로 연결됩니다.) 뒤따르는 질의 개체의 키워드는 무시합니다. 이는 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=320332" title="Fix query filtering and keyword searching - does not work for multiple OR'ed queries">bug 320332</a>입니다.</div>
-<h4 id=".EB.B6.81.EB.A7.88.ED.81.AC_.EC.A7.88.EC.9D.98" name=".EB.B6.81.EB.A7.88.ED.81.AC_.EC.A7.88.EC.9D.98">북마크 질의</h4>
-<p>간단한 북마크 질의를 실행하기 위한 빠른 시작 설명이 <a href="ko/Places/Accessing_Bookmarks">Accessing Bookmarks</a>에 있습니다.</p>
-<p>북마크 폴더의 내용은 질의 개체에 "folders" 멤버를 설정하는 것으로 구할 수 있습니다. 이 항목은 북마크 서비스에서 온 폴더 ID의 배열입니다. 일반적으로 이 목록에는 해당 폴더의 내용을 알려줄 하나의 폴더 ID가 있습니다. 여러 개의 폴더를 지정할 수 있으며 결과는 모든 폴더의 교집합이 됩니다.</p>
-<div class="warning">
- <b>주의</b>: 북마크 질의에 영향을 줄 목적으로 GROUP_BY_FOLDER 옵션이 있습니다. 이는 구현되지 않았는데 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=331487" title="Fix GROUP_BY_FOLDER in query system">bug 331487</a>를 참고하십시오. 북마크 계층 구조를 원한다면 항상 이 옵션을 사용해야 합니다. 이 옵션이 빠지면 질의가 반환하는 모든 폴더의 모든 북마크 항목을 단순한 목록으로 반환하도록 바뀝니다.</div>
-<p>정렬에 대해서는 보통 (기본 값인) <code>SORT_BY_NONE</code>를 사용하는데 이는 사용자가 북마크 관리자에서 지정한 "자연스러운" 순서로 항목을 반환하기 때문입니다. 그러나 다른 정렬도 작동합니다.</p>
-<p>북마크 질의에 대해서는 보통 요청한 폴더의 모든 항목을 구하기 위하여 질의 매개 변수가 없습니다. 정확하게 하나의 폴더 및 <code>GROUP_BY_FOLDER</code>를 지정하고 매개 변수가 없으면 이는 정확하게 하나의 폴더에 대응하므로 시스템은 훨씬 효율적인 질의를 수행하고 최신 결과를 유지하게 됩니다.</p>
-<pre>var bookmarkService = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"]
- .getService(Components.interfaces.nsINavBookmarksService);
-// |query| and |options| are objects created in the previous section
-query.setFolders([bookmarkService.toolbarFolder], 1);
-options.setGroupingMode([options.GROUP_BY_FOLDER], 1);
-var result = historyService.executeQuery(query, options);
-</pre>
-<h3 id=".EC.A7.88.EC.9D.98_.EC.A7.81.EB.A0.AC.ED.99.94" name=".EC.A7.88.EC.9D.98_.EC.A7.81.EB.A0.AC.ED.99.94">질의 직렬화</h3>
-<p>질의와 옵션 개체는 <code>queriesToQueryString</code>를 사용하여 "place:"로 시작하는 문자열로 직렬화할 수 있습니다. 결과 문자열은 저장하거나 북마크할 수 있습니다. "place:" URI를 북마크하면 사용자가 그것을 열 때 질의의 결과로 확장됩니다. 원본 개체는 <code>queryStringToQueries</code>를 사용하여 문자열로부터 직렬화를 해제할 수 있습니다.</p>
-<p>주의할 점은 문자열이 비어 있으면 <code>queryStringToQueries</code>는 어떠한 질의 개체도 반환하지 않는다는 것입니다. 코드는 이를 처리해야 합니다. 반환되는 옵션 구조는 항상 있습니다. 옵션을 지정하지 않으면 기본 값을 갖게 됩니다. 질의 매개 변수가 없는데 입력 문자열이 빈 것이 아니면(옵션이 있었습니다) 기본 질의 값을 포함하는 하나의 질의 개체를 얻게 됩니다.</p>
-<p>다음은 두 개의 질의와 하나의 옵션 개체를 직렬화하고 해제하는 예제입니다.</p>
-<pre>var queryString = historyService.queriesToQueryString([query1, query2], 2, options);
-
-var queriesRef = { };
-var queryCountRef = { };
-var optionsRef = { };
-historyService.queryStringToQueries(queryString, queriesRef, queryCountRef, optionsRef);
-// now use queriesRef.value, optionsRef.value
-</pre>
-<p>"place:" URI에서 이용 가능한 용어에 대한 참조는 <a href="ko/Places/PlaceURIs">Places:PlaceURIs</a>를 참고하십시오.</p>
-<h3 id=".EA.B2.B0.EA.B3.BC_.EC.82.AC.EC.9A.A9" name=".EA.B2.B0.EA.B3.BC_.EC.82.AC.EC.9A.A9">결과 사용</h3>
-<p>결과를 사용하는 가장 일반적인 방법은 뷰를 구현하는 것입니다. 결과를 트리 콘트롤에 넣는 내장 뷰가 있으며 여러분 자신의 뷰를 구현할 수도 있습니다. 자세한 사항은 <a href="ko/Places/Views">Places:Views</a>를 참고하시기 바랍니다. 이 섹션은 결과를 직접 접근하는 방법에 대해서 다룹니다. 예를 들어, 여러분 자신의 뷰를 생성하거나 결과를 표시하는 대신 처리하는 경우입니다.</p>
-<p>
- <i>
- 참고: 노드를 접근할 대는 참조를 유지하지 않도록 주의하십시오. 정렬과 같은 프로그래머가 실행하는 명령어 뿐만 아니라 히스토리와 북마크 시스템에서 결과로 보내는 알림은 구조가 변경되거나 노드가 삽입, 삭제, 대체되도록 합니다.</i>
-</p>
-<p><code>executeQuery()</code>/<code>executeQueries()</code>가 반환하는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryResult" title="">nsINavHistoryResult</a></code> 개체는 주어진 히스토리나 북마크 질의에 부합하는 목록을 포함합니다. 이 결과는 노드로 구성된 트리 구조에 포함됩니다. 노드 형식은 <code>type</code> 속성을 이용해서 구할 수 있습니다. 이 형식은 더 자세한 정보를 얻기 위해서 어떤 인테페이스를 <code>QueryInterface</code> 할 수 있는지 알려줍니다.</p>
-<ul>
- <li><b>nsINavHistoryResultNode</b>: 모든 노드의 기본 클래스입니다. URI, 제목, 기타 일반적인 정보를 담고 있습니다.</li>
- <li><b>nsINavHistoryVisitResultNode</b>: <code>nsINavHistoryResultNode</code>에서 파생되고, 세션 정보를 담고 있습니다.</li>
- <li><b>nsINavHistoryFullVisitResultNode</b>: <code>nsINavHistoryVisitResultNode</code>에서 파생되고, 사용자가 이 페이지를 탐색한 방법에 대한 정보를 담고 있습니다.
- <i>
- 참고: 현재 구현되지 않은 상태입니다. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=320831" title="Expose visit ID in result nodes.">bug 320831</a>를 참고하십시오.</i>
- </li>
- <li><b>nsINavHistoryContainerResultNode</b>: 자식으로 접근할 수 있도록 하는 일반 콘테이너 노드입니다. <code>nsINavHistoryResultNode</code>에서 파생됩니다. 북마크 폴더는 이 형식입니다.</li>
- <li><b>nsINavHistoryQueryResultNode</b>: 히스토리 시스템의 질의를 나타내는 콘테이너 형식입니다. 질의 옵션과 매개 변수를 구할 수 있도록 해줍니다.</li>
-</ul>
-<p>다음은 노드의 형식을 구하는 예제입니다.</p>
-<pre>var Ci = Components.interfaces;
-switch(node.type) {
- case node.RESULT_TYPE_URI:
- dump("URI result " + node.uri + "\n");
- break;
- case node.RESULT_TYPE_VISIT:
- var visit = node.QueryInterface(Ci.nsINavHistoryVisitResultNode);
- dump("Visit result " + node.uri + " session = " + visit.sessionId + "\n");
- break;
- case node.RESULT_TYPE_FULL_VISIT:
- var fullVisit = node.QueryInterface(Ci.nsINavHistoryFullVisitResultNode);
- dump("Full visit result " + node.uri + " session = " + fullVisit.sessionId + " transitionType = " +
- fullVisit.transitionType + "\n");
- break;
- case node.RESULT_TYPE_HOST:
- var container = node.QueryInterface(Ci.nsINavHistoryContainerResultNode);
- dump("Host " + container.title + "\n");
- break;
- case node.RESULT_TYPE_REMOTE_CONTAINER:
- var container = node.QueryInterface(Ci.nsINavHistoryContainerResultNode);
- dump("Remote container " + container.title + " type = " + container.remoteContainerType + "\n");
- break;
- case node.RESULT_TYPE_QUERY:
- var query = node.QueryInterface(Ci.nsINavHistoryQueryResultNode);
- dump("Query, place URI = " + query.uri + "\n");
- break;
- case node.RESULT_TYPE_FOLDER:
- // Note that folder nodes are of type nsINavHistoryContainerResultNode by default, but
- // can be QI'd to nsINavHistoryQueryResultNode to access the query and options that
- // created it.
- dump("Folder " + node.title + " id = " + node.itemId + "\n");
- break;
- case node.RESULT_TYPE_SEPARATOR:
- dump("-----------\n");
- break;
-}
-</pre>
-<h4 id=".EC.BD.98.ED.85.8C.EC.9D.B4.EB.84.88" name=".EC.BD.98.ED.85.8C.EC.9D.B4.EB.84.88">콘테이너</h4>
-<p>콘테이너는 다른 콘테이너 목록과 결과 노드를 포함합니다. 각 결과는 질의의 루트를 나타내는 콘테이너를 가지고 있습니다. 이는 결과의 <code>root</code> 속성을 이용하여 구할 수 있습니다. 일반적인 질의에 대해서 이 루트 콘테이너는 원본 질의에서 여러분이 제공한 질의 매개 변수와 옵션을 포함한 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryQueryResultNode" title="">nsINavHistoryQueryResultNode</a></code>입니다. 하나의 북마크 폴더로 대응하는 질의에 대해서 이는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryContainerResultNode" title="">nsINavHistoryContainerResultNode</a></code>이 됩니다.</p>
-<p>콘테이너는 열리거나 닫힐 수 있습니다. 이는 트리 뷰의 열린 상태나 닫힌 상태에 해당하며 메뉴를 보이거나 감추는 것에 대응할 수 있습니다. 콘테이너의 내용을 얻으려면 먼저 콘테이너를 열어야 합니다. 대부분의 콘테이너 형식은 자신을 지연된 방식으로(lazily) 채우기 때문에 콘테이너를 여는 것은 실제 주어진 질의를 실행하는 것에 해당합니다. 콘테이너가 열린 동안에는 히스토리와 북마크 시스템의 알림을 듣고 내용을 수정하여 최신 상태로 유지합니다. 이러한 이유로 작업을 마치자 마자 콘테이너를 닫는 것이 최선인데, 이는 더 나은 성능을 제공하기 때문입니다. 콘테이너를 닫고 히스토리나 북마크 변경 알림이 도착하기 전에 다시 열면 보통 결과는 여전히 존재하고 작업은 빠르게 됩니다.</p>
-<p>다음은 콘테이너를 탐색하는 예제입니다.</p>
-<pre>var cont = result.root;
-cont.containerOpen = true;
-for (var i = 0; i &lt; cont.childCount; i ++) {
- var node = cont.getChild(i);
- dump(node.title + "\n");
-}
-cont.containerOpen = false;
-</pre>
-<h4 id=".EA.B2.B0.EA.B3.BC_.EB.B7.B0_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4" name=".EA.B2.B0.EA.B3.BC_.EB.B7.B0_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4">결과 뷰 인터페이스</h4>
-<p>결과를 UI에 대응하려면 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryResultViewer" title="">nsINavHistoryResultViewer</a></code> 인터페이스를 구현하고 그것을 <code>nsINavHistoryResult.viewer</code> 속성과 함께 결과에 붙입니다. 사용자 동작의 결과로서 또는 북마크와 히스토리 시스템의 알림의 결과로서 결과 트리가 바뀌면 이 뷰어가 호출됩니다. 그러면 여러분의 구현은 이러한 변경을 UI에 반영하게 됩니다.</p>
-<p><code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsITreeBoxObject" title="">nsITreeBoxObject</a></code>에 대한 미리 준비된 뷰 인터페이스가 제공되는데 이는 트리의 복잡한 뷰 요구사항을 관리합니다. 이 개체의 인터페이스는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryResultTreeViewer" title="">nsINavHistoryResultTreeViewer</a></code> (<code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryResultViewer" title="">nsINavHistoryResultViewer</a></code>의 파생 인터페이스)입니다. 더 자세한 정보와 예제는 <a href="ko/Places/Views">Places:Views</a>를 참고하시기 바랍니다.</p>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/orphaned/places/views/index.html b/files/ko/orphaned/places/views/index.html
deleted file mode 100644
index 6678035a7b..0000000000
--- a/files/ko/orphaned/places/views/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: Views
-slug: orphaned/Places/Views
-tags:
- - Places
-original_slug: Places/Views
----
-<p>뷰는 nsINavHistoryResult 개체를 사용자에게 표시하는 방법입니다. 뷰는 <a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/components/places/public/nsINavHistoryService.idl" rel="custom">nsINavHistoryService.idl</a>에 정의된 nsINavHistoryResultViewer 인터페이스를 구현합니다.</p>
-
-<p>대부분의 애플리케이션에서 내장 뷰를 포함한 플레이스 콘트롤 중의 하나를 사용하면 충분하고 자신의 뷰를 사용하는 복잡함을 피할 수 있습니다. 더 자세한 사항은 <a href="ko/Places/Instantiating_Views">Instantiating Views</a>를 참고하시기 바랍니다.</p>
-
-<h3 id=".EB.B7.B0_.EB.93.B1.EB.A1.9D.ED.95.98.EA.B8.B0" name=".EB.B7.B0_.EB.93.B1.EB.A1.9D.ED.95.98.EA.B8.B0">뷰 등록하기</h3>
-
-<p>nsINavHistoryResult에 <code>viewer</code> 속성을 지정하여 뷰를 등록합니다. 이 때, 결과는 주어진 뷰의 <code>result</code> 속성을 지정하게 됩니다.<em>뷰의 결과 속성을 명시적으로 지정하면 안됩니다.</em> 뷰를 초기화하려면 <code>viewer</code> 속성을 <code>null</code>로 지정합니다. 이는 뷰의 결과 속성 또한 <code>null</code>로 지정하게 합니다.</p>
-
-<p>참조 고리에 대해 주의하십시오. 뷰와 결과는 모두 서로에 대한 참조를 가지고 있습니다. 이 개체들을 삭제하려면 <code>result.viewer</code>를 <code>null</code>로 지정하여 이 고리를 없애야 합니다. 내장 트리 뷰(아래를 참고하십시오)는 이를 자동으로 처리합니다. 트리가 소멸되거나 다른 nsITreeView가 트리와 결합하면 트리는 <code>nsITreeView.tree = null</code>를 호출합니다. 뷰어는 이 경우를 감지하고 자신을 결과에서 분리합니다.</p>
-
-<h5 id=".EB.82.B4.EC.9E.A5_.ED.8A.B8.EB.A6.AC_.EB.B7.B0" name=".EB.82.B4.EC.9E.A5_.ED.8A.B8.EB.A6.AC_.EB.B7.B0">내장 트리 뷰</h5>
-
-<p>가장 흔한 형식의 뷰는 트리 콘트롤이지만 이는 구현하기가 상대적으로 어려운 콘트롤이기도 합니다. 그러므로, 플레이스는 여러분이 결과를 트리 뷰에 표시하기를 원하는 경우를 위하여 내장 뷰 개체를 제공합니다. 이는 <code><a href="https://dxr.mozilla.org/mozilla-central/source/browser/components/places/content/treeView.js" rel="custom">browser/components/places/content/treeView.js</a></code>에 구현되어 있습니다.</p>
-
-<p>이 개체는 nsINavHistoryResultViewer와 <a href="https://dxr.mozilla.org/mozilla-central/source//layout/xul/base/src/tree/public/nsITreeView.idl" rel="custom">nsITreeView</a>를 모두 구현합니다. 그러므로 이 개체를 사용하면 결과(<a href="ko/Places/Query_System">플레이스 질의 시스템</a> 참고)와 트리 사이를 중개할 수 있습니다.</p>
-
-<pre>var result = historyService.executeQuery(...); // your places query result
-var tree = document.getElementById("mytree"); // your tree control
-
-var showRootNodeInTree = true;
-var treeviewer = new PlacesTreeView(showRootNodeInTree);
-
-result.viewer = treeviewer;
-tree.view = treeviewer.QueryInterface(Components.interfaces.nsITreeView);
-</pre>
-
-<p>내장 트리 뷰는 (<a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/components/places/public/nsINavHistoryService.idl" rel="custom">nsINavHistoryService.idl</a>에 선언된) nsINavHistoryResultViewObserver를 구현한 관찰자(observer) 인터페이스를 붙일 수도 있습니다. 이 관찰자 인터페이스를 이용하면 외부 콤포넌트는 어떤 일이 발생하는지 확인하고 적절한 동작을 취할 수 있습니다. 예를 들어, 플레이스 트리에서는 콘트롤러가 붙어서 무엇인가 트리에 드래그 앤 드롭되는지 알아차릴 수 있습니다. 그리고 나서 적절한 동작을 취합니다.</p>
-
-<h3 id=".EB.B7.B0_.EA.B5.AC.ED.98.84.ED.95.98.EA.B8.B0" name=".EB.B7.B0_.EA.B5.AC.ED.98.84.ED.95.98.EA.B8.B0">뷰 구현하기</h3>
-
-<p>사용자 정의 트리 뷰가 필요할 때는 여러분 자신의 클래스 안에 nsINavHistoryResultTreeViewer를 둘러싸는 것이 가장 쉽습니다. 예를 들어, 특별한 첫 번째 행을 구현하려면 여러분의 개체는 첫 번째 행에 대한 nsITreeView 응답을 제공하고 다른 모든 메시지는 하나 이동한 색인과 함께 내장 트리 뷰에 전달하면 됩니다.</p>
-
-<p><code>nsINavHistoryResultNode.viewIndex</code> 속성은 뷰에 사용하기 위하여 명시적으로 제공됩니다. 이 값은 각 노드가 생성될 때 -1로 초기화됩니다. 이 값을 사용하여 보이는 노드는 추적할 수 있습니다. 내장 트리 뷰어는 노드가 켜진 행의 색인을 보관하기 위하여 이 속성을 사용합니다.</p>
-
-<p>nsINavHistoryResultViewer 또한 관찰자 인터페이스를 가지고 있어서 nsINavHistoryResultViewObserver가 변화를 관찰할 수 있도록 합니다. 그러나 이 관찰자 인터페이스는 트리만을 위한 것입니다. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=337638" title="Make nsINavHistoryResultViewObserver only for nsINavHistoryResultTreeViewer">bug 337638</a>는 이를 nsINavHistoryResultTreeViewer 개체로 옮기기 위한 것입니다. nsINavHistoryResultViewer의 다른 구현은 자신의 관찰자를 이용해야 합니다.</p>
-
-<div class="noinclude"></div>
diff --git a/files/ko/orphaned/theme_packaging/index.html b/files/ko/orphaned/theme_packaging/index.html
deleted file mode 100644
index 0e911afff3..0000000000
--- a/files/ko/orphaned/theme_packaging/index.html
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: Theme Packaging
-slug: orphaned/Theme_Packaging
-tags:
- - Add-ons
- - Themes
- - Toolkit API
-original_slug: Theme_Packaging
----
-<p>이 문서는 파이어폭스나 썬더버드에서 <a href="ko/Themes">테마</a>를 포장하는 방법에 대해서 기술하고 있습니다.</p>
-<h3 id=".EC.A4.80.EB.B9.84.EC.82.AC.ED.95.AD" name=".EC.A4.80.EB.B9.84.EC.82.AC.ED.95.AD">준비사항</h3>
-<p>파이어폭스나 썬더버드의 테마를 만들 때에는 Cascading Stylesheets(<a href="ko/CSS">CSS</a>) 에 대한 지식이 필수적이며, <a href="ko/XBL">XBL</a>에 대한 지식도 필요할 수 있습니다. 또한, 그래픽 디자인 및 미적 감각(...은 아닐지도)도 필요합니다. 하지만, 이 문서에서는 파이어폭스의 테마 창에서 보여질 수 있도록 테마를 포장하는 방법에 대해서만 기술할 것입니다.</p>
-<h3 id=".ED.85.8C.EB.A7.88_.ED.8C.8C.EC.9D.BC.EC.9D.98_.EA.B5.AC.EC.A1.B0" name=".ED.85.8C.EB.A7.88_.ED.8C.8C.EC.9D.BC.EC.9D.98_.EA.B5.AC.EC.A1.B0">테마 파일의 구조</h3>
-<p>파이어폭스/썬더버드의 테마는 다음과 같은 구조의 JAR 파일로 포장됩니다.</p>
-<pre class="eval">theme.jar:
- install.rdf
- contents.rdf
- preview.png
- icon.png
- browser/<i>files</i>
- global/<i>files</i>
- mozapps/<i>files</i>
- communicator/<i>files</i>
- ...
-</pre>
-<ul>
- <li>테마에 사용되는 크롬을 등록하기 위하여 <a href="ko/Chrome.manifest">chrome.manifest</a> (Firefox/Thunderbird 1.5 의 경우) 나 contents.rdf 파일을 디렉토리 최상위단에 만들어 주어야 합니다. 또한 테마 윈도우에 나타낼 메타데이터를 정의하기 위한 <a href="ko/Install.rdf">install.rdf</a> manifest 파일도 함께 만들어 주어야 합니다.</li>
- <li>preview.png 는 테마 윈도우의 스크롤 가능한 미리보기 영역에 보여질 이미지입니다. 이미지의 사이즈는 어떤 크기로도 가능합니다.</li>
- <li>icon.png 는 32x32 크기의 PNG (알파 투명도 값을 가질 수 있는)파일입니다. 이는 테마 윈도우의 테마 목록에서 보여집니다.</li>
-</ul>
-<h3 id="install.rdf" name="install.rdf">install.rdf</h3>
-<p><a href="ko/Install.rdf">install.rdf</a> manifest 는 다음과 같이 만들 수 있습니다:</p>
-<pre class="eval">&lt;?xml version="1.0"?&gt;
-
-&lt;RDF xmlns="<a class="external" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rel="freelink">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>"
- xmlns:em="<a class="external" href="http://www.mozilla.org/2004/em-rdf#" rel="freelink">http://www.mozilla.org/2004/em-rdf#</a>"&gt;
-
- &lt;Description about="urn:mozilla:install-manifest"&gt;
- &lt;em:type&gt;4&lt;/em:type&gt;<i>more properties</i>
- &lt;/Description&gt;
-&lt;/RDF&gt;
-</pre>
-<h4 id="install.rdf_.EC.97.90_.EB.B3.B8.EC.A0.81.EC.9C.BC.EB.A1.9C_.EB.93.A4.EC.96.B4.EA.B0.80.EC.95.BC_.ED.95.98.EB.8A.94_.EC.86.8D.EC.84.B1.EB.93.A4" name="install.rdf_.EC.97.90_.EB.B3.B8.EC.A0.81.EC.9C.BC.EB.A1.9C_.EB.93.A4.EC.96.B4.EA.B0.80.EC.95.BC_.ED.95.98.EB.8A.94_.EC.86.8D.EC.84.B1.EB.93.A4">install.rdf 에 본적으로 들어가야 하는 속성들</h4>
-<p>install.rdf 파일에는 다음과 같은 속성들이 들어가야 합니다. 상세한 정보는 <a href="ko/Install.rdf">install.rdf Reference</a> 에서 얻을 수 있습니다.</p>
-<ul>
- <li>em:id</li>
- <li>em:version</li>
- <li>em:type</li>
- <li>em:targetApplication</li>
- <li>em:name</li>
- <li>em:internalName</li>
-</ul>
-<h4 id="install.rdf_.EC.97.90_.EC.84.A0.ED.83.9D.EC.A0.81.EC.9C.BC.EB.A1.9C_.EB.93.A4.EC.96.B4.EA.B0.88_.EC.88.98_.EC.9E.88.EB.8A.94_.EC.86.8D.EC.84.B1.EB.93.A4" name="install.rdf_.EC.97.90_.EC.84.A0.ED.83.9D.EC.A0.81.EC.9C.BC.EB.A1.9C_.EB.93.A4.EC.96.B4.EA.B0.88_.EC.88.98_.EC.9E.88.EB.8A.94_.EC.86.8D.EC.84.B1.EB.93.A4">install.rdf 에 선택적으로 들어갈 수 있는 속성들</h4>
-<ul>
- <li>em:description</li>
- <li>em:creator</li>
- <li>em:contributor</li>
- <li>em:homepageURL</li>
- <li>em:updateURL</li>
-</ul>
-<p>만약 여러분의 테마가 <a class="external" href="http://addons.mozilla.org" rel="freelink">http://addons.mozilla.org</a> 웹사이트에 게시된다면 updateURL 속성은 포함시키면 안 됩니다.</p>
-<h4 id=".EC.83.98.ED.94.8C_install.rdf_.ED.8C.8C.EC.9D.BC" name=".EC.83.98.ED.94.8C_install.rdf_.ED.8C.8C.EC.9D.BC">샘플 install.rdf 파일</h4>
-<pre class="eval">&lt;?xml version="1.0"?&gt;
-
-&lt;RDF xmlns="<a class="external" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rel="freelink">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>"
- xmlns:em="<a class="external" href="http://www.mozilla.org/2004/em-rdf#" rel="freelink">http://www.mozilla.org/2004/em-rdf#</a>"&gt;
-
- &lt;Description about="urn:mozilla:install-manifest"&gt;
- &lt;em:id&gt;{18b64b56-d42f-428d-a88c-baa413bc413f}&lt;/em:id&gt;
- &lt;em:version&gt;1.0&lt;/em:version&gt;
- &lt;em:type&gt;4&lt;/em:type&gt;
-
- &lt;!-- Target Application this extension can install into,
- with minimum and maximum supported versions. --&gt;
- &lt;em:targetApplication&gt;
- &lt;Description&gt;
- &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
- &lt;em:minVersion&gt;0.8&lt;/em:minVersion&gt;
- &lt;em:maxVersion&gt;0.9&lt;/em:maxVersion&gt;
- &lt;/Description&gt;
- &lt;/em:targetApplication&gt;
-
- &lt;!-- Front End MetaData --&gt;
- &lt;em:name&gt;New Theme 1&lt;/em:name&gt;
- &lt;em:description&gt;A test theme for Firefox&lt;/em:description&gt;
- &lt;em:creator&gt;Ben Goodger&lt;/em:creator&gt;
- &lt;em:contributor&gt;John Doe&lt;/em:contributor&gt;
- &lt;em:homepageURL&gt;<a class="external" href="http://www.bengoodger.com/" rel="freelink">http://www.bengoodger.com/</a>&lt;/em:homepageURL&gt;
-
- &lt;!-- Front End Integration Hooks (used by Theme Manager)--&gt;
- &lt;em:internalName&gt;newtheme1&lt;/em:internalName&gt;
- &lt;/Description&gt;
-&lt;/RDF&gt;
-</pre>
-<p>아래의 것은 통상적인 타겟 어플리케이션의 GUID 입니다. 여러분은 이 GUID 를 여러분의 targetApplication 속성에 정의할 수 있습니다:</p>
-<pre class="eval">Firefox {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
-Thunderbird {3550f703-e582-4d05-9a08-453d09bdfdc6}
-Sunbird {718e30fb-e89b-41dd-9da7-e25a45638b28}
-</pre>
diff --git a/files/ko/orphaned/tools/add-ons/dom_inspector/index.html b/files/ko/orphaned/tools/add-ons/dom_inspector/index.html
deleted file mode 100644
index bb57c113ea..0000000000
--- a/files/ko/orphaned/tools/add-ons/dom_inspector/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: DOM Inspector
-slug: orphaned/Tools/Add-ons/DOM_Inspector
-tags:
- - DOM:Tools
- - Extensions:Tools
- - Themes:Tools
- - Web Development:Tools
- - XUL:Tools
-translation_of: Tools/Add-ons/DOM_Inspector
-original_slug: Tools/Add-ons/DOM_Inspector
----
-<div>{{ToolsSidebar}}</div><p><strong>DOMi</strong>로도 알려진 <strong><a class="external" href="http://www.mozilla.org/projects/inspector/">DOM Inspector</a></strong>는 문서 - 보통 웹 페이지 또는 <a href="ko/XUL">XUL</a> windows - 의 <a href="ko/DOM">Document Object Model</a>을 검증, 검색, 편집하는데 사용되는 Mozilla 도구입니다.</p>
-
-<p>DOMi에 대한 더 많은 정보를 위해서는 <a class="external" href="http://kb.mozillazine.org/DOM_Inspector">DOM Inspector page at MozillaZine</a>를 보십시오.</p>
-
-<p>{{ languages( { "en": "en/DOM_Inspector" } ) }}</p>
diff --git a/files/ko/orphaned/tools/add-ons/index.html b/files/ko/orphaned/tools/add-ons/index.html
deleted file mode 100644
index 05b25237f5..0000000000
--- a/files/ko/orphaned/tools/add-ons/index.html
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: Add-ons
-slug: orphaned/Tools/Add-ons
-tags:
- - NeedsTranslation
- - TopicStub
- - Web Development
- - Web Development:Tools
-translation_of: Tools/Add-ons
-original_slug: Tools/Add-ons
----
-<div>{{ToolsSidebar}}</div><p>Developer tools that are not built into Firefox, but ship as separate add-ons.</p>
-
-<dl>
- <dt><a href="https://addons.mozilla.org/en-US/firefox/addon/websocket-monitor/">WebSocket Monitor</a></dt>
- <dd>Examine the data exchanged in a WebSocket connection.</dd>
- <dd> </dd>
-</dl>
diff --git a/files/ko/orphaned/tools/debugger/keyboard_shortcuts/index.html b/files/ko/orphaned/tools/debugger/keyboard_shortcuts/index.html
deleted file mode 100644
index cfbba311ec..0000000000
--- a/files/ko/orphaned/tools/debugger/keyboard_shortcuts/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: 디버거 단축키
-slug: orphaned/Tools/Debugger/Keyboard_shortcuts
-translation_of: Tools/Debugger/Keyboard_shortcuts
-original_slug: Tools/Debugger/Keyboard_shortcuts
----
-<div>{{ToolsSidebar}}</div><p>{{ Page ("ko/docs/tools/Keyboard_shortcuts", "debugger") }}</p>
-
-<h2 id="공통_단축키">공통 단축키</h2>
-
-<p>{{ Page ("ko/docs/tools/Keyboard_shortcuts", "all-toolbox-tools") }}</p>
diff --git a/files/ko/orphaned/using_mozilla_in_testing_and_debugging_web_sites/index.html b/files/ko/orphaned/using_mozilla_in_testing_and_debugging_web_sites/index.html
deleted file mode 100644
index e315ea43dd..0000000000
--- a/files/ko/orphaned/using_mozilla_in_testing_and_debugging_web_sites/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Using Mozilla in Testing and Debugging Web Sites
-slug: orphaned/Using_Mozilla_in_Testing_and_Debugging_Web_Sites
-translation_of: Using_Mozilla_in_Testing_and_Debugging_Web_Sites
-original_slug: Using_Mozilla_in_Testing_and_Debugging_Web_Sites
----
-<div class="originaldocinfo">
-<h3 id="Original_Document_Information" name="Original_Document_Information"> Original Document Information </h3>
-<ul><li> Author(s): <a class="external" href="http://gemal.dk/">Henrik Gemal</a>
-</li><li> Last Updated Date: Published 11 Apr 2003
-</li><li> Copyright Information: © Copyright 2003 Henrik Gemal. <a class="external" href="http://gemal.dk/mozilla/mozdev.html">Reprinted</a> with permission.
-</li><li> Note: This reprinted article was originally part of the DevEdge site.
-</li></ul>
-</div>
diff --git a/files/ko/orphaned/windows_and_menus_in_xulrunner/index.html b/files/ko/orphaned/windows_and_menus_in_xulrunner/index.html
deleted file mode 100644
index 81613a499d..0000000000
--- a/files/ko/orphaned/windows_and_menus_in_xulrunner/index.html
+++ /dev/null
@@ -1,128 +0,0 @@
----
-title: Windows and menus in XULRunner
-slug: orphaned/Windows_and_menus_in_XULRunner
-tags:
- - XUL
- - XULRunner
-original_slug: Windows_and_menus_in_XULRunner
----
-<p>
-{{ PreviousNext("Getting started with XULRunner", "Dialogs in XULRunner") }}
-</p><p><a href="ko/XULRunner">XULRunner</a>을 이용하여 간단한 데스크톱 애플리케이션을 만드는 방법을 알아보겠습니다. <a href="ko/Getting_started_with_XULRunner">앞 장</a>에서 우리는 XULRunner를 설치하고 기본적인 테스트 프로그램을 만들어 보았습니다. 이번에는 사용자 인터페이스를 갖는 프로그램을 만들어 보겠습니다.
-</p>
-<ul><li> 윈도우와 대화창
-</li><li> 메뉴와 툴바
-</li><li> 운영체제 기본 대화창
-</li><li> 콘트롤 및 위젯
-</li></ul>
-<h2 id=".EC.9C.88.EB.8F.84.EC.9A.B0">윈도우</h2>
-<p>각 윈도우나 대화창은 각 XUL 파일로 만듭니다. XUL 파일 상위에는 우리가 사용할 CSS와 DTD를 선언하게 됩니다. <code><span>&lt;window&gt;</span></code>는 기본 창을 만드는 요소 입니다. 콘트롤에 대한 제목과 캡션, 창의 가로 및 세로폭을 정하는 속성을 가지고 있습니다. 아마 대부분은 아시겠지만 XUL 파일 하나 당 하나의 <code><span>&lt;window&gt;</span></code> 요소를 가집니다. 예를 들어,
-</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://basicapp/skin/main.css" type="text/css"?&gt;
-
-&lt;!DOCTYPE window SYSTEM "chrome://basicapp/locale/main.dtd"&gt;
-
-&lt;window id="main"
- title="&amp;title;"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
- &lt;script src="main.js"/&gt;
-...
-&lt;/window&gt;
-</pre>
-<p>이제 CSS와 DTD에 대해 알아보겠습니다. CSS는 HTML에서 사용하는 방법과 같이 각 요소에 대한 디자인 및 형식을 지정해 줍니다. DTD는 XUL파일에서 언어별 지역화를 위해 바로 저장할 수 없는 제목이나 라벨 같은 문자열을 참조하는 방식으로 사용합니다. 메시지를 변경하거나 지역화 작업에 용이 합니다. 예제에서 창 title을 표시하는 방법을 참고하세요. 또한, <code><span>&lt;script&gt;</span></code> 요소를 이용하여 XUL 파일내의 동작을 제어해 줍니다. CSS, DTD, 자바스크립트를 XUL 파일에 기본적으로 삽입하는 것은 가장 기본적인 코드입니다.
-</p><p>XUL 애플리케이션을 실행하려면 XULRunner가 윈도우 기본 아이콘을 제공 합니다만 원하는 아이콘으로 바꾸려면 <a href="ko/Window_icons">윈도우 아이콘</a>을 참고해서 바꿀 수 있습니다.
-</p>
-<h2 id=".EB.A9.94.EB.89.B4.EC.99.80_.ED.88.B4.EB.B0.94">메뉴와 툴바</h2>
-<p>대부분 데스크톱 애플리케이션은 자체 폼 도구를 가지고 있어서 메뉴나 툴바 구조를 추가하고 변경하는 데 매우 어렵습니다. 하지만 XUL에서는 쉽게 요소만 추가하면 만들어 낼 수 있습니다.
-</p><p>아래는 XUL 메뉴와 툴바를 만드는 아주 간단한 예제 코드입니다.
-</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://basicapp/skin/main.css" type="text/css"?&gt;
-
-&lt;!DOCTYPE window SYSTEM "chrome://basicapp/locale/main.dtd"&gt;
-
-&lt;window id="main"
- title="&amp;title;"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
- &lt;script src="main.js"/&gt;
- &lt;toolbox&gt;
- &lt;menubar id="menubar"&gt;
- &lt;menu id="file-menu" label="&amp;file;"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menuitem label="&amp;file.new'" oncommand="doFileNew();"/&gt;
- &lt;menuitem label="&amp;file.open;" oncommand="doFileOpen();"/&gt;
- &lt;menuitem label="&amp;file.save;" oncommand="doFileSave();"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="&amp;file.exit;" oncommand="doFileExit();"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menu id="edit-menu" label="&amp;edit;"&gt;
- &lt;menupopup id="edit-popup"&gt;
- &lt;menuitem label="&amp;edit.undo;" oncommand="doEditUndo();"/&gt;
- &lt;menuitem label="&amp;edit.redo;" oncommand="doEditRedo();"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
- &lt;toolbar id="main-toolbar"&gt;
- &lt;toolbarbutton id="open" label="&amp;file.open;" oncommand="doFileOpen();"/&gt;
- &lt;toolbarbutton id="save" label="&amp;file.save;" oncommand="doFileSave();"/&gt;
- &lt;/toolbar&gt;
- &lt;/toolbox&gt;
-...
-&lt;/window&gt;
-</pre>
-<p>각 메뉴와 툴바의 라벨을 표시하기 위해 엔티티-참조를 사용했고, <code>oncommand</code> 이벤트는 HTML에서 <code>onclick</code>를 쓰는 것 처럼 자바 스크립트를 참조합니다. XUL에서는 &lt;var&gt;open&lt;/var&gt;나 &lt;var&gt;save&lt;/var&gt; 같은 메뉴와 툴바의 이벤트 핸들러와 명령 수행을 위한 방식을 가지고 있습니다.
-</p>
-<pre>&lt;commandset&gt;
- &lt;command id="cmd_open" label="&amp;file.open;" oncommand="doFileOpen();"/&gt;
- &lt;command id="cmd_save" label="&amp;file.save;" oncommand="doFileSave();"/&gt;
-&lt;/commandset&gt;
-...
-&lt;menuitem command="cmd_open"/&gt;
-&lt;menuitem command="cmd_save"/&gt;
-...
-&lt;toolbarbutton id="open" command="cmd_open"/&gt;
-&lt;toolbarbutton id="save" command="cmd_save"/&gt;
-...
-</pre>
-<p>또한, CSS 파일로 툴바 버튼에 그림을 추가할 수 있습니다. XUL 파일내에 아이콘 파일이 있으면 CSS로 다음과 같이 표시할 수 있습니다.
-</p><p><br>
-</p>
-<pre>/* global skin --------------------------------------------------- */
-@import url(chrome://global/skin/);
-
-/* toolbar ------------------------------------------------------- */
-#open {
- list-style-image: url(chrome://basicapp/skin/open.png);
- -moz-box-orient: vertical;
-}
-
-#save {
- list-style-image: url(chrome://basicapp/skin/save.png);
- -moz-box-orient: vertical;
-}
-</pre>
-<p>물론 PNG 파일을 애플리케이션에 포함해서 배포해야 합니다.
-</p><p>지금까지 아주 간단한 XUL 사용자 인터페이스를 살펴 보았습니다. 다음 장에서는 XUL Runner에서 UI를 생성하는 과정을 계속 살펴 보겠습니다.
-</p>
-<h2 id=".EC.B0.B8.EA.B3.A0_.EB.AC.B8.EC.84.9C">참고 문서</h2>
-<ul><li> <a class="external" href="http://wiki.mozilla.org/XUL:Windows">XUL:Windows</a>
-</li><li> <a href="ko/XUL_Tutorial/Creating_a_Window">XUL Tutorial:Creating a Window</a>
-</li><li> <a href="ko/XUL/commandset">XUL:commandset</a>
-</li><li> <a href="ko/XUL/command">XUL:command</a>
-</li><li> <a href="ko/XUL_Tutorial/Commands">XUL Tutorial:Commands</a>
-</li><li> <a href="ko/XUL_Tutorial/Simple_Menu_Bars">XUL Tutorial:Simple Menu Bars</a>
-</li><li> <a href="ko/XUL_Tutorial/Toolbars">XUL Tutorial:Toolbars</a>
-</li></ul>
-<p>{{ PreviousNext("Getting started with XULRunner", "Dialogs in XULRunner") }}
-</p>
-<div class="originaldocinfo">
-<h2 id=".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>
-{{ languages( { "ja": "ja/Windows_and_menus_in_XULRunner" } ) }}
diff --git a/files/ko/orphaned/지역의_코드를_씁니다/index.html b/files/ko/orphaned/지역의_코드를_씁니다/index.html
deleted file mode 100644
index c7dfcac1f8..0000000000
--- a/files/ko/orphaned/지역의_코드를_씁니다/index.html
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: 지역의 코드를 씁니다.
-slug: orphaned/지역의_코드를_씁니다.
-original_slug: 지역의_코드를_씁니다.
----
-<p>이 페이지는 연결되어 있지 않습니다.. 풍부한 MDC에 기여합니다.</p>
diff --git a/files/ko/orphaned/확장기능_개발_환경_구축/index.html b/files/ko/orphaned/확장기능_개발_환경_구축/index.html
deleted file mode 100644
index e8a231a81b..0000000000
--- a/files/ko/orphaned/확장기능_개발_환경_구축/index.html
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: 확장기능 개발 환경 구축
-slug: orphaned/확장기능_개발_환경_구축
-original_slug: 확장기능_개발_환경_구축
----
-<p>이 글에는 확장기능 개발을 위한 Mozilla 응용프로그램 설정 방법을 제공합니다. 특별한 지정하지 않는 한 이 방법들은 Firefox와 Thunderbird 뿐만 아니라 SeaMonkey 버전 2.0 이상에서도 적용가능합니다.</p>
-<h3 id="개요">개요</h3>
-<ul>
- <li>Firefox의 개발세션을 실행하기 위한 개발용 <strong>사용자 프로필</strong>을 생성합니다. 그리고 <code>about:config</code> 에서 특정한 개발용 환경설정을 합니다.</li>
- <li>개발용 프로필에 몇가지 Firefox <strong>개발용 확장기능</strong>을 설치합니다.</li>
- <li>당신의 프로필의 extensions 폴더안의 파일들을 수정하고 개발용 프로필과 응용프로그램을 재시작합니다.</li>
-</ul>
-<h3 id="Development_profile" name="Development_profile">개발용 프로필</h3>
-<p>개발 단계에서 성능저하를 방지하려면 환경 설정 및 확장과 관련된 개인 데이터의 손실을 피하기 위해 개발 작업을 위한 별도의 프로필을 사용 할 수 있습니다.</p>
-<p>별도의 프로필과 <code>-no-remote</code> 매개 변수와 함께 응용 프로그램을 구동하여 같은 시간에 Thunderbird 또는 Firefox 의 두 개의 인스턴스를 실행 할 수 있습니다.</p>
-<p>우분투:</p>
-<pre>/usr/bin/firefox -no-remote -P dev</pre>
-<p>다른 리눅스 배포판:</p>
-<pre>/usr/local/bin/firefox -no-remote -P dev
-</pre>
-<p>맥킨토시:</p>
-<pre class="eval">/Applications/Firefox.app/Contents/MacOS/firefox-bin -no-remote -P dev &amp;
-</pre>
-<p>윈도우즈:</p>
-<pre class="eval">시작 -&gt; 실행 "%ProgramFiles%\Mozilla Firefox\firefox.exe" -no-remote -P dev
-</pre>
-<p>Firefox 대신에 Thunderbird 또는 SeaMonkey를 시작 하려면 , 위의 예제에서 "firefox" 대신 "thunderbird" 또는 "seamonkey" 으로 대체합니다.</p>
-<p>프로필 지정이 존재 하지 않는 경우 (또는 프로필을 지정 안하는 경우), Thunderbird 또는 Firefox 프로필 관리자가 표시됩니다. 기본 프로필로 실행 하기위해 프로필을 "default"로 지정합니다. (또는 "-P 를 생략합니다.).</p>
-<p>(There is a thread in the <a class="external" href="http://forums.mozillazine.org/" title="http://forums.mozillazine.org/">Mozillazine forums</a> that explains how to use both stable and development versions of Firefox to check extension compatibility. See <a class="external" href="http://forums.mozillazine.org/viewtopic.php?t=613873">Installing Firefox 3 or Minefield while keeping Firefox 2</a>.)</p>
-<h3 id="Development_preferences" name="Development_preferences">개발용 설정</h3>
-<p>There is a set of development preferences that, when enabled, allows you to view more information about application activity, thus making debugging easier. However,  these preferences can degrade performance, so you may want to use a separate development profile when you enable these preferences. For more information about Mozilla preferences, refer to the mozillaZine article on "<a class="external" href="http://kb.mozillazine.org/About:config" title="http://kb.mozillazine.org/About:config">about:config</a>".</p>
-<p>Not all preferences are defined by default, and are therefore not listed in <code>about:config</code> by default. You will have to create new (boolean) entries for them.</p>
-<ul>
- <li><strong>javascript.options.showInConsole</strong> = <strong>true</strong>. Logs errors in chrome files to the <a href="/en/Error_Console" title="en/Error_Console">Error Console</a>.</li>
- <li><strong>nglayout.debug.disable_xul_cache</strong> = <strong>true</strong>. Disables the XUL cache so that changes to windows and dialogs do not require a restart. This assumes you're <a href="#Using_directories_rather_than_JARs">using directories rather than JARs</a>. Changes to XUL overlays will still require reloading of the document overlaid.</li>
- <li><strong>browser.dom.window.dump.enabled</strong> = <strong>true</strong>. Enables the use of the <span style="font-family: Courier New;">dump()</span> statement to print to the standard console. See <span style="font-family: Courier New;">{{ Domxref("window.dump") }}</span> for more info. You can also use <span style="font-family: Courier New;">{{ Interface("nsIConsoleService") }}</span> from a privileged script.</li>
- <li><strong>javascript.options.strict</strong> = <strong>true</strong>. Enables strict JavaScript warnings in the Error Console. Note that since many people have this setting turned off when developing, you will see lots of warnings for problems with their code in addition to warnings for your own extension. You can filter those with <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/1815">Console<sup>2</sup></a>.</li>
- <li><strong>extensions.logging.enabled</strong> = <strong>true</strong>. This will send more detailed information about installation and update problems to the <a href="/en/Error_Console" title="en/Error Console">Error Console</a>. (Note that the extension manager automatically restarts the application at startup sometimes, which may mean you won't have time to see the messages logged before the automatic restart happens. To see them, prevent the automatic restart by setting the environment NO_EM_RESTART to 1 before starting the application.)</li>
- <li>You might also want to set <strong>dom.report_all_js_exceptions = true</strong>. See <a class="internal" href="/en/Exception_logging_in_JavaScript" title="en/Exception logging in JavaScript">Exception logging in JavaScript</a> for details.</li>
-</ul>
-<h4 id="Accessing_Firefox_development_preferences">Accessing Firefox development preferences</h4>
-<p>To change preference settings in Firefox or SeaMonkey, type <code>about:config </code>in the Location Bar. Alternatively, use the <a class="external" href="http://addons.mozilla.org/en-US/firefox/addon/7434/" title="http://addons.mozilla.org/en-US/firefox/addon/7434/">Extension Developer's Extension</a>, which provides a menu interface for Firefox settings.</p>
-<h4 id="Accessing_Thunderbird_development_preferences">Accessing Thunderbird development preferences</h4>
-<p>To change preference settings in Thunderbird, open the "Preferences" (Unix) or "Options" (Windows) interface. On the "Advanced" page, select the "General" tab then click the "Config Editor" button.</p>
-<h3 id="Development_extensions" name="Development_extensions">개발에 도움되는 확장 기능</h3>
-<p>이 확장 기능들이 당신이 개발을 할때 도움을 줄 수 있습니다.</p>
-<ul>
- <li><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/6622" title="https://addons.mozilla.org/en-US/firefox/addon/6622">DOM Inspector</a>,  웹 문서 또는 XUL 응용 프로그램의 live DOM을 점검하고 편집하는 곳에 사용 (Firefox 와 Thunderbird)</li>
- <li><a class="external" href="http://www.hacksrus.com/~ginda/venkman/" title="http://www.hacksrus.com/~ginda/venkman/">Venkman</a>, JavaScript 디버거 (<a class="external" href="http://addons.mozilla.org/en-US/firefox/addon/216" title="http://addons.mozilla.org/en-US/firefox/addon/216">Firefox 버전</a>, <a class="external" href="http://addons.mozilla.org/en-US/thunderbird/addon/216" title="http://addons.mozilla.org/en-US/thunderbird/addon/216">Thunderbird 버전</a>)</li>
- <li><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/7434/">Extension Developer's Extension</a> 확장 기능 개발을 위한 툴 제품군 (Firefox)</li>
- <li><a class="external" href="http://console2.mozdev.org/" title="http://console2.mozdev.org/">Console<sup>2</sup></a> 향상된 JavaScript 콘솔 (<a class="external" href="http://addons.mozilla.org/en-US/firefox/addon/1815" title="http://addons.mozilla.org/en-US/firefox/addon/1815">Firefox 버전</a>, <a class="external" href="http://addons.mozilla.org/en-US/thunderbird/addon/1815" title="http://addons.mozilla.org/en-US/thunderbird/addon/1815">Thunderbird 버전</a>)</li>
- <li><a class="link-https" href="https://addons.mozilla.org/firefox/addon/5058" title="https://addons.mozilla.org/firefox/addon/5058">Javascript Command</a> Firefox windows 에서 javascript를 작성 및 테스트 하는 곳에 사용</li>
- <li><a class="external" href="http://www.gijsk.com/" title="http://www.gijsk.com/">Chrome List</a> chrome:// 안에서 파일을 탐색하고 보는 곳에 사용 (<a class="external" href="http://addons.mozilla.org/en-US/firefox/addon/4453" title="http://addons.mozilla.org/en-US/firefox/addon/4453">Firefox 버전</a>, <a class="external" href="http://addons.mozilla.org/en-US/thunderbird/addon/4453" title="http://addons.mozilla.org/en-US/thunderbird/addon/4453">Thunderbird 버전</a>)</li>
- <li><a class="external" href="http://webdesigns.ms11.net/chromeditp.html" title="http://webdesigns.ms11.net/chromeditp.html">Chrome Edit Plus </a> 사용자 파일 에디터 (Firefox 와 Thunderbird)</li>
- <li><a class="external" href="http://ted.mielczarek.org/code/mozilla/extensionwiz/" title="http://ted.mielczarek.org/code/mozilla/extensionwiz/">Extension Wizard</a> 확장 기능의 골격을 생성하는 <span class="short_text" id="result_box"><span style="background-color: rgb(255, 255, 255);" title="a web-based application that generates an
- extension skeleton">웹 기반 응용 프로그램 </span></span>(Firefox 와 Thunderbird)</li>
- <li><a class="link-https" href="https://addons.mozilla.org/firefox/addon/1843">Firebug</a> 다양한 개발 도구 (Firefox)</li>
- <li><a class="external" href="http://getfirebug.com/releases" title="http://getfirebug.com/releases">Chromebug</a> JavaScript 디버거와 DOM의 결합 요소 (Firefox, "kinda works for Thunderbird")</li>
- <li><a class="external" href="http://hyperstruct.net/projects/mozrepl" title="http://hyperstruct.net/projects/mozrepl">MozRepl  </a>Firefox 와 다른 Mozilla 응용 프로그램이 실행 되는 동안 탐색 과 편집 (Firefox 와 Thunderbird)</li>
- <li><a class="external" href="http://www.mouseless.de/index.php?/content/view/18/31/" title="http://www.mouseless.de/index.php?/content/view/18/31/">ExecuteJS</a> 향상된 JavaScript 콘솔 (<a class="link-https" href="https://addons.mozilla.org/firefox/addon/1729" title="https://addons.mozilla.org/firefox/addon/1729">Firefox 버전</a>, <a class="external" href="http://xsidebar.mozdev.org/modifiedmisc.html#executejs" title="http://xsidebar.mozdev.org/modifiedmisc.html#executejs">Thunderbird 버전</a>)</li>
- <li><a class="external" href="http://xpcomviewer.mozdev.org">XPCOMViewer</a> XPCOM 검사기 (Firefox 와 Thunderbird)</li>
- <li><a class="internal" href="/en/JavaScript_shells" title="En/JavaScript
- shells">JavaScript shells</a> JavaScript 의 미리보기 테스트  (Firefox 와 Thunderbird)</li>
- <li><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/5817" title="https://addons.mozilla.org/en-US/firefox/addon/5817">SQLite Manager</a> SQLite 데이터베이스를 관리 (Firefox 와 Thunderbird)</li>
- <li><a class="external" href="http://www.rumblingedge.com/viewabout/" title="http://www.rumblingedge.com/viewabout/">ViewAbout</a> enables access to various about: dialogs from the View menu (<a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/9695" title="https://addons.mozilla.org/en-US/firefox/addon/9695">Firefox 버전</a>, <a class="link-https" href="https://addons.mozilla.org/en-US/thunderbird/addon/9695" title="https://addons.mozilla.org/en-US/thunderbird/addon/9695">Thunderbird 버전</a>)</li>
- <li><span class="content"><span class="title"><a class="external" href="http://code.google.com/p/crashme/" title="http://code.google.com/p/crashme/">Crash Me Now!</a> </span></span><span class="short_text" id="result_box"><span style="background-color: rgb(255, 255, 255);" title="useful for testing
- debug symbols and the
- crash reporting system">디버그 기호 및 충돌 보고 시스템</span></span> (Firefox 와 Thunderbird)</li>
-</ul>
-<p> </p>
-<h3 id="Custom_code_location" name="Custom_code_location">Firefox extension proxy file</h3>
-<p>Extension files are normally installed in the user profile. However, it is usually easier to place extension files in a temporary location, which also  protects source files from accidental deletion. This section explains how to create a proxy file that points to an extension that is installed in a location other than the user profile.</p>
-<ol>
- <li>Get the extension ID from the extension's install.rdf file.</li>
- <li>Create a file in the "extensions" directory under your profile directory with the extension's ID as the file name (for example "your_profile_directory/extensions/{46D1B3C0-DB7A-4b1a-863A-6EE6F77ECB58}"). (<a class="external" href="http://kb.mozillazine.org/Profile_folder">How to find your profile directory</a>) Alternatively, rather than using a GUID, create a unique ID using the format "name@youremail" (for example <span style="font-family: Courier New;"><a class="link-mailto" href="mailto:chromebug@mydomain.com" rel="freelink">chromebug@mydomain.com</a>).</span></li>
- <li>The contents of this file should be the path to the directory that contains your install.rdf file. (eg. "<span style="font-family: Courier New;">/full/path/to/yourExtension/</span>". Windows users should use the drive name (CAPS) and backslashes instead of frontslashes (for example "<span style="font-family: Courier New;">C:\full\path\to\yourExtension\</span>" or "<span style="font-family: Courier New;">C:\sam\workspace\toolbar\helloWorldtoolbar\</span>").Remember to include the closing slash and remove any trailing whitespace.
- <ul>
- <li>In Firefox 3, if you already installed the extension via XPI, you might need to install one or all of the extensions.* files in the profile folder. Backup first, but these files will be regenerated. (I don't know what the original author had in mind here, but the files <span style="font-family: Courier New;">extensions.cache, extensions.ini, extensions.rdf, compreg.dat, <span style="font-family: Verdana;">and</span> xpti.dat</span> are all regenerated by Firefox if deleted. You need to delete them if you mess with 'components', no harm done. Firefox will disconnect from its parent process when it regens these files, so you may have to exit once and restart if you use the OS console.)</li>
- </ul>
- </li>
- <li>Place the file in the extensions folder of your profile and restart the application.</li>
-</ol>
-<h3 id="Using_directories_rather_than_JARs" name="Using_directories_rather_than_JARs">Using directories rather than JARs</h3>
-<p>Regardless of whether you choose to eventually package your extension's chrome in a JAR or in directories, developing in directories is simpler. If you choose a JARed structure for releasing, you can still develop with a directory structure by editing your chrome.manifest. For example, rather than having</p>
-<pre class="eval">content myExtension jar:chrome/myExtension.jar!/content/
-</pre>
-<p>use</p>
-<pre class="eval">content myExtension chrome/content/
-</pre>