aboutsummaryrefslogtreecommitdiff
path: root/files/ko
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
commita065e04d529da1d847b5062a12c46d916408bf32 (patch)
treefe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/ko
parent218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff)
downloadtranslated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/ko')
-rw-r--r--files/ko/_wikihistory.json18712
-rw-r--r--files/ko/aggregating_the_in-memory_datasource/index.html125
-rw-r--r--files/ko/animated_png_graphics/index.html430
-rw-r--r--files/ko/archive/add-ons/code_snippets/cookies/index.html15
-rw-r--r--files/ko/archive/add-ons/code_snippets/index.html55
-rw-r--r--files/ko/archive/add-ons/code_snippets/page_loading/index.html26
-rw-r--r--files/ko/archive/add-ons/code_snippets/running_applications/index.html51
-rw-r--r--files/ko/archive/add-ons/code_snippets/windows/index.html25
-rw-r--r--files/ko/archive/add-ons/code_snippets/xml/index.html22
-rw-r--r--files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html193
-rw-r--r--files/ko/archive/add-ons/index.html8
-rw-r--r--files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html114
-rw-r--r--files/ko/archive/api/index.html13
-rw-r--r--files/ko/archive/api/navigator/index.html8
-rw-r--r--files/ko/archive/apps/design/planning/index.html23
-rw-r--r--files/ko/archive/apps/index.html14
-rw-r--r--files/ko/archive/b2g_os/api/camera_api/index.html38
-rw-r--r--files/ko/archive/b2g_os/api/camera_api/introduction/index.html247
-rw-r--r--files/ko/archive/b2g_os/api/index.html120
-rw-r--r--files/ko/archive/b2g_os/api/tcpsocket/index.html102
-rw-r--r--files/ko/archive/b2g_os/application_development/index.html12
-rw-r--r--files/ko/archive/b2g_os/apps/index.html57
-rw-r--r--files/ko/archive/b2g_os/apps/writing_a_web_app_for_firefox_os/index.html25
-rw-r--r--files/ko/archive/b2g_os/automated_testing/index.html84
-rw-r--r--files/ko/archive/b2g_os/building/index.html125
-rw-r--r--files/ko/archive/b2g_os/building_and_installing_firefox_os/index.html49
-rw-r--r--files/ko/archive/b2g_os/debugging/debugging_b2g_using_gdb/index.html153
-rw-r--r--files/ko/archive/b2g_os/debugging/index.html84
-rw-r--r--files/ko/archive/b2g_os/dual_boot_of_b2g_and_android_on_sgs2/index.html79
-rw-r--r--files/ko/archive/b2g_os/firefox_os_apps/index.html85
-rw-r--r--files/ko/archive/b2g_os/firefox_os_apps/localization/index.html92
-rw-r--r--files/ko/archive/b2g_os/firefox_os_build_prerequisites/index.html267
-rw-r--r--files/ko/archive/b2g_os/firefox_os_faq/index.html39
-rw-r--r--files/ko/archive/b2g_os/index.html181
-rw-r--r--files/ko/archive/b2g_os/installing_on_a_mobile_device/index.html61
-rw-r--r--files/ko/archive/b2g_os/introduction/index.html83
-rw-r--r--files/ko/archive/b2g_os/pandaboard/index.html36
-rw-r--r--files/ko/archive/b2g_os/phone_guide/index.html6
-rw-r--r--files/ko/archive/b2g_os/platform/architecture/index.html532
-rw-r--r--files/ko/archive/b2g_os/platform/gonk/index.html103
-rw-r--r--files/ko/archive/b2g_os/platform/index.html99
-rw-r--r--files/ko/archive/b2g_os/porting/index.html121
-rw-r--r--files/ko/archive/b2g_os/preparing_for_your_first_b2g_build/index.html148
-rw-r--r--files/ko/archive/b2g_os/quickstart/index.html49
-rw-r--r--files/ko/archive/b2g_os/quickstart/intro_to_firefox_os/index.html14
-rw-r--r--files/ko/archive/b2g_os/quickstart/intro_to_open_web_apps/index.html53
-rw-r--r--files/ko/archive/b2g_os/security/index.html58
-rw-r--r--files/ko/archive/b2g_os/security/보안_모델/index.html253
-rw-r--r--files/ko/archive/b2g_os/simulator/index.html280
-rw-r--r--files/ko/archive/b2g_os/성능/index.html146
-rw-r--r--files/ko/archive/b2g_os/앱_관리자_사용하기/index.html247
-rw-r--r--files/ko/archive/css3/index.html582
-rw-r--r--files/ko/archive/index.html21
-rw-r--r--files/ko/archive/mdn/index.html20
-rw-r--r--files/ko/archive/meta_docs/index.html15
-rw-r--r--files/ko/archive/misc_top_level/index.html8
-rw-r--r--files/ko/archive/misc_top_level/same-origin_policy_for_file_colon__uris/index.html18
-rw-r--r--files/ko/archive/misc_top_level/using_content_preferences/index.html35
-rw-r--r--files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html19
-rw-r--r--files/ko/archive/mozilla/drag_and_drop/index.html148
-rw-r--r--files/ko/archive/mozilla/firefox/index.html8
-rw-r--r--files/ko/archive/mozilla/firefox/using_microformats/index.html144
-rw-r--r--files/ko/archive/mozilla/index.html10
-rw-r--r--files/ko/archive/mozilla/rdf_datasource_how-to/index.html224
-rw-r--r--files/ko/archive/mozilla/xbl/index.html32
-rw-r--r--files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html387
-rw-r--r--files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html118
-rw-r--r--files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html121
-rw-r--r--files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html98
-rw-r--r--files/ko/archive/mozilla/xulrunner/index.html26
-rw-r--r--files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html64
-rw-r--r--files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html107
-rw-r--r--files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html64
-rw-r--r--files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html178
-rw-r--r--files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html168
-rw-r--r--files/ko/archive/rss/getting_started/index.html56
-rw-r--r--files/ko/archive/rss/getting_started/what_is_rss/index.html230
-rw-r--r--files/ko/archive/rss/index.html48
-rw-r--r--files/ko/archive/rss/module/index.html70
-rw-r--r--files/ko/archive/rss/version/index.html109
-rw-r--r--files/ko/archive/security/index.html14
-rw-r--r--files/ko/archive/security/tcp_ip/index.html50
-rw-r--r--files/ko/archive/web/index.html12
-rw-r--r--files/ko/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html98
-rw-r--r--files/ko/archive/web/javascript/index.html12
-rw-r--r--files/ko/archive/web/javascript/legacy_generator_function/index.html58
-rw-r--r--files/ko/archive/web/javascript/legacy_generator_function_statement/index.html59
-rw-r--r--files/ko/archive/web_standards/index.html64
-rw-r--r--files/ko/archive/web_standards/issues_arising_from_arbitrary-element_hover/index.html66
-rw-r--r--files/ko/archive/web_standards/mozilla_s_doctype_sniffing/index.html141
-rw-r--r--files/ko/archive/web_standards/rdf_in_fifty_words_or_less/index.html87
-rw-r--r--files/ko/archive/web_standards/rdf_in_mozilla_faq/index.html292
-rw-r--r--files/ko/archive/web_standards/using_the_right_markup_to_invoke_plugins/index.html263
-rw-r--r--files/ko/bundles/index.html67
-rw-r--r--files/ko/creating_a_microsummary/index.html169
-rw-r--r--files/ko/creating_mozsearch_plugins/index.html169
-rw-r--r--files/ko/creating_xpcom_components/an_overview_of_xpcom/index.html531
-rw-r--r--files/ko/creating_xpcom_components/index.html355
-rw-r--r--files/ko/creating_xpcom_components/preface/index.html78
-rw-r--r--files/ko/css_improvements_in_firefox_3/index.html35
-rw-r--r--files/ko/download_manager_improvements_in_firefox_3/index.html39
-rw-r--r--files/ko/drag_and_drop_events/index.html34
-rw-r--r--files/ko/dynamically_modifying_xul-based_user_interface/index.html82
-rw-r--r--files/ko/e4x/index.html28
-rw-r--r--files/ko/embedding_mozilla/index.html57
-rw-r--r--files/ko/embedding_the_editor/index.html26
-rw-r--r--files/ko/extensions/community/index.html18
-rw-r--r--files/ko/extensions/index.html72
-rw-r--r--files/ko/extensions/thunderbird/building_a_thunderbird_extension_4_colon__chrome_manifest/index.html28
-rw-r--r--files/ko/extensions/thunderbird/index.html112
-rw-r--r--files/ko/fuel/index.html31
-rw-r--r--files/ko/gecko/index.html73
-rw-r--r--files/ko/gecko_1.9_changes_affecting_websites/index.html73
-rw-r--r--files/ko/gecko_embedding_basics/index.html401
-rw-r--r--files/ko/gecko_plugin_api_reference/index.html213
-rw-r--r--files/ko/gre/index.html35
-rw-r--r--files/ko/hacking_firefox/index.html30
-rw-r--r--files/ko/install.rdf/index.html40
-rw-r--r--files/ko/interfacing_with_the_xpcom_cycle_collector/index.html57
-rw-r--r--files/ko/international_characters_in_xul_javascript/index.html27
-rw-r--r--files/ko/introduction_to_the_javascript_shell/index.html438
-rw-r--r--files/ko/javascript_code_modules/using_javascript_code_modules/index.html144
-rw-r--r--files/ko/jsapi_reference/index.html268
-rw-r--r--files/ko/jsapi_reference/jsclass.flags/index.html177
-rw-r--r--files/ko/localizing_extension_descriptions/index.html90
-rw-r--r--files/ko/mercurial_faq/index.html646
-rw-r--r--files/ko/migrate_apps_from_internet_explorer_to_mozilla/index.html1058
-rw-r--r--files/ko/mozilla's_quirks_mode/index.html22
-rw-r--r--files/ko/mozilla/add-ons/amo/index.html15
-rw-r--r--files/ko/mozilla/add-ons/amo/policy/index.html29
-rw-r--r--files/ko/mozilla/add-ons/bootstrapped_extensions/index.html349
-rw-r--r--files/ko/mozilla/add-ons/extension_frequently_asked_questions/index.html59
-rw-r--r--files/ko/mozilla/add-ons/extension_packaging/index.html34
-rw-r--r--files/ko/mozilla/add-ons/plugins/index.html43
-rw-r--r--files/ko/mozilla/add-ons/plugins/macromedia_flash/index.html150
-rw-r--r--files/ko/mozilla/add-ons/plugins/reference/index.html16
-rw-r--r--files/ko/mozilla/add-ons/plugins/reference/np_getmimedescription/index.html38
-rw-r--r--files/ko/mozilla/add-ons/plugins/reference/npn_posturlnotify/index.html76
-rw-r--r--files/ko/mozilla/add-ons/setting_up_extension_development_environment/index.html89
-rw-r--r--files/ko/mozilla/add-ons/themes/index.html64
-rw-r--r--files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/contents.rdf/index.html44
-rw-r--r--files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/getting_started/index.html108
-rw-r--r--files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/index.html27
-rw-r--r--files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/install.rdf/index.html44
-rw-r--r--files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/uuid/index.html10
-rw-r--r--files/ko/mozilla/add-ons/themes/obsolete/index.html10
-rw-r--r--files/ko/mozilla/firefox/developer_edition/index.html56
-rw-r--r--files/ko/mozilla/firefox/headless_mode/index.html204
-rw-r--r--files/ko/mozilla/firefox/multiple_profiles/index.html242
-rw-r--r--files/ko/mozilla/http_cache/index.html483
-rw-r--r--files/ko/mozilla/implementing_pontoon_in_a_mozilla_website/index.html73
-rw-r--r--files/ko/mozilla/javascript_code_modules/index.html97
-rw-r--r--files/ko/mozilla/js-ctypes/index.html53
-rw-r--r--files/ko/mozilla/marketplace/publishing/소개/index.html84
-rw-r--r--files/ko/mozilla/marketplace/submission/index.html9
-rw-r--r--files/ko/mozilla/marketplace_kr/index.html137
-rw-r--r--files/ko/mozilla/mobile/index.html30
-rw-r--r--files/ko/mozilla/mobile/viewport_meta_tag/index.html99
-rw-r--r--files/ko/mozilla/participating_in_the_mozilla_project/index.html98
-rw-r--r--files/ko/mozilla/persona/bootstrapping_persona/index.html29
-rw-r--r--files/ko/mozilla/persona/browser_compatibility/index.html86
-rw-r--r--files/ko/mozilla/persona/index.html137
-rw-r--r--files/ko/mozilla/persona/quick_setup/index.html248
-rw-r--r--files/ko/mozilla/persona/user_interface_guidelines/index.html113
-rw-r--r--files/ko/mozilla/persona/why_persona/index.html31
-rw-r--r--files/ko/mozilla/projects/emscripten/index.html37
-rw-r--r--files/ko/mozilla/projects/index.html14
-rw-r--r--files/ko/mozilla/projects/l20n/index.html126
-rw-r--r--files/ko/mozilla/projects/psm/index.html15
-rw-r--r--files/ko/mozilla/qa/bug_writing_guidelines/index.html177
-rw-r--r--files/ko/mozilla/qa/index.html65
-rw-r--r--files/ko/mozilla/tech/index.html13
-rw-r--r--files/ko/mozilla/tech/xpcom/guide/index.html16
-rw-r--r--files/ko/mozilla/tech/xpcom/language_bindings/index.html25
-rw-r--r--files/ko/mozilla/tech/xpcom/reference/index.html30
-rw-r--r--files/ko/mozilla/tech/xpcom/reference/interface/about_scriptable_interfaces/index.html26
-rw-r--r--files/ko/mozilla/tech/xpcom/reference/interface/nsiloginmanager/index.html372
-rw-r--r--files/ko/mozilla/tech/xul/attribute/accesskey/index.html44
-rw-r--r--files/ko/mozilla/tech/xul/attribute/currentset/index.html25
-rw-r--r--files/ko/mozilla/tech/xul/attribute/image.onload/index.html12
-rw-r--r--files/ko/mozilla/tech/xul/attribute/index.html270
-rw-r--r--files/ko/mozilla/tech/xul/index.html25
-rw-r--r--files/ko/mozilla/tech/xul/menu/index.html338
-rw-r--r--files/ko/mozilla/tech/xul/property/index.html219
-rw-r--r--files/ko/mozilla/tech/xul/splitter/index.html79
-rw-r--r--files/ko/mozilla/tech/xul/template_guide/index.html52
-rw-r--r--files/ko/mozilla/tech/xul/toolbar/index.html218
-rw-r--r--files/ko/mozilla/tech/xul/toolbarbutton/index.html477
-rw-r--r--files/ko/mozilla/tech/xul/toolbarpalette/index.html98
-rw-r--r--files/ko/mozilla/tech/xul/xul_controls/index.html548
-rw-r--r--files/ko/mozilla/tech/xul/xul_reference/index.html148
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/adding_buttons/index.html102
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/adding_event_handlers/index.html137
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/adding_html_elements/index.html114
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/adding_labels_and_images/index.html65
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/adding_more_elements/index.html87
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/box_model_details/index.html99
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/content_panels/index.html55
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/creating_a_window/index.html113
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/cross_package_overlays/index.html79
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/element_positioning/index.html259
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/focus_and_selection/index.html132
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/grids/index.html156
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/groupboxes/index.html74
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/index.html132
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/input_controls/index.html110
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/introduction/index.html38
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/introduction_to_rdf/index.html74
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/introduction_to_xbl/index.html82
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/keyboard_shortcuts/index.html384
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/list_controls/index.html133
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/localization/index.html279
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/manifest_files/index.html118
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/more_button_features/index.html69
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/more_event_handlers/index.html140
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/more_menu_features/index.html109
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/popup_menus/index.html190
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/progress_meters/index.html59
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/property_files/index.html64
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/scroll_bars/index.html71
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/scrolling_menus/index.html46
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/simple_menu_bars/index.html160
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/splitters/index.html139
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/stack_positioning/index.html35
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/stacks_and_decks/index.html61
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/tabboxes/index.html159
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/templates/index.html126
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/the_box_model/index.html118
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/the_chrome_url/index.html45
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/toolbars/index.html107
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/trees/index.html166
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/using_spacers/index.html112
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/xpcom_examples/index.html132
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/xpcom_interfaces/index.html187
-rw-r--r--files/ko/mozilla/tech/xul/xul_tutorial/xul_structure/index.html166
-rw-r--r--files/ko/mozilla/개발자_프로그램/index.html124
-rw-r--r--files/ko/mozilla/안드로이드용_파이어폭스/index.html47
-rw-r--r--files/ko/mozilla/지역화/index.html26
-rw-r--r--files/ko/mozilla/지역화/localizing_with_verbatim/index.html125
-rw-r--r--files/ko/mozilla/지역화/pontoon_지역화/index.html135
-rw-r--r--files/ko/msx_emulator_(jsmsx)/index.html28
-rw-r--r--files/ko/new_compatibility_tables_beta/index.html24
-rw-r--r--files/ko/nsicryptohash/index.html271
-rw-r--r--files/ko/nsiidleservice/index.html134
-rw-r--r--files/ko/nss/index.html64
-rw-r--r--files/ko/nss/new_nss_samples/index.html37
-rw-r--r--files/ko/places/accessing_bookmarks/index.html81
-rw-r--r--files/ko/places/index.html70
-rw-r--r--files/ko/preferences_system/examples/index.html32
-rw-r--r--files/ko/preferences_system/index.html49
-rw-r--r--files/ko/pyxpcom/index.html62
-rw-r--r--files/ko/rdf/index.html56
-rw-r--r--files/ko/rhino/index.html18
-rw-r--r--files/ko/sandbox/index.html14
-rw-r--r--files/ko/spidermonkey/index.html67
-rw-r--r--files/ko/storage/index.html396
-rw-r--r--files/ko/the_basics_of_web_services/index.html35
-rw-r--r--files/ko/toolkit_api/index.html33
-rw-r--r--files/ko/tools/scratchpad/index.html90
-rw-r--r--files/ko/tools/webide/index.html42
-rw-r--r--files/ko/tools/webide/문제해결/index.html115
-rw-r--r--files/ko/using_nsiloginmanager/index.html141
-rw-r--r--files/ko/using_xpinstall_to_install_plugins/index.html218
-rw-r--r--files/ko/web/api/audio_channels_api/using_the_audiochannels_api/index.html248
-rw-r--r--files/ko/web/api/audiochannelmanager/index.html74
-rw-r--r--files/ko/web/api/audiochannels_api/index.html121
-rw-r--r--files/ko/web/api/mozmmsevent/index.html82
-rw-r--r--files/ko/web/api/mozmmsmessage/index.html83
-rw-r--r--files/ko/web/api/mozmobilemessagemanager/index.html101
-rw-r--r--files/ko/web/api/mozmobilemessagethread/index.html40
-rw-r--r--files/ko/web/api/mozsmsevent/index.html109
-rw-r--r--files/ko/web/api/mozsmsfilter/index.html108
-rw-r--r--files/ko/web/api/mozsmsmanager/index.html95
-rw-r--r--files/ko/web/api/mozsmsmessage/index.html56
-rw-r--r--files/ko/web/api/mozsmssegmentinfo/index.html36
-rw-r--r--files/ko/web/api/navigator/mozmobilemessage/index.html58
-rw-r--r--files/ko/web/api/navigator/moznotification/index.html63
-rw-r--r--files/ko/web/api/navigator/mozsms/index.html67
-rw-r--r--files/ko/web/apps/design/index.html35
-rw-r--r--files/ko/web/apps/publishing/marketplace_review_criteria/index.html77
-rw-r--r--files/ko/web/css/getting_started/xbl_bindings/index.html198
-rw-r--r--files/ko/web/css/getting_started/xml_data/index.html186
-rw-r--r--files/ko/web/css/getting_started/xul_user_interfaces/index.html315
-rw-r--r--files/ko/web/events/chargingchange/index.html66
-rw-r--r--files/ko/web/events/domsubtreemodified/index.html17
-rw-r--r--files/ko/web/javascript/new_in_javascript/1.5/index.html37
-rw-r--r--files/ko/web/javascript/new_in_javascript/1.6/index.html85
-rw-r--r--files/ko/web/javascript/new_in_javascript/1.8.1/index.html26
-rw-r--r--files/ko/web/javascript/new_in_javascript/1.8.5/index.html126
-rw-r--r--files/ko/web/javascript/new_in_javascript/1.8/index.html138
-rw-r--r--files/ko/web/javascript/new_in_javascript/ecmascript_5_support_in_mozilla/index.html45
-rw-r--r--files/ko/web/javascript/new_in_javascript/ecmascript_6_support_in_mozilla/index.html285
-rw-r--r--files/ko/web/javascript/new_in_javascript/index.html71
-rw-r--r--files/ko/web/javascript/reference/functions/arguments/caller/index.html93
-rw-r--r--files/ko/web/javascript/reference/global_objects/array/observe/index.html87
-rw-r--r--files/ko/web/javascript/reference/global_objects/object/observe/index.html193
-rw-r--r--files/ko/web/javascript/reference/liveconnect/index.html17
-rw-r--r--files/ko/web/javascript/reference/operators/expression_closures/index.html79
-rw-r--r--files/ko/web/javascript/reference/operators/generator_comprehensions/index.html174
-rw-r--r--files/ko/web/javascript/reference/operators/배열/index.html200
-rw-r--r--files/ko/web/javascript/reference/statements/for_each...in/index.html85
-rw-r--r--files/ko/web/security/정보_보안_기본/취약점/index.html99
-rw-r--r--files/ko/webapi/alarm/index.html181
-rw-r--r--files/ko/webapi/contacts/index.html210
-rw-r--r--files/ko/webapi/idle/index.html66
-rw-r--r--files/ko/webapi/power_management/index.html102
-rw-r--r--files/ko/webapi/simple_push/index.html92
-rw-r--r--files/ko/webapi/time_and_clock/index.html29
-rw-r--r--files/ko/webapi/webfm_api/index.html132
-rw-r--r--files/ko/webapi/websms/index.html85
-rw-r--r--files/ko/webapi/websms/introduction_to_mobile_message_api/introduction_to_websms/index.html23
-rw-r--r--files/ko/xforms/index.html86
-rw-r--r--files/ko/xml_web_services/index.html47
-rw-r--r--files/ko/xmlhttprequest_changes_for_gecko1.8/index.html19
-rw-r--r--files/ko/xpcom/index.html92
-rw-r--r--files/ko/xpcom/setting_http_request_headers/index.html209
-rw-r--r--files/ko/xpcom/the_thread_manager/index.html44
-rw-r--r--files/ko/xpcom_interface_reference/index.html14
-rw-r--r--files/ko/xpconnect/index.html57
-rw-r--r--files/ko/xpconnect/using_components/index.html17
-rw-r--r--files/ko/xpi/index.html17
-rw-r--r--files/ko/xpinstall/index.html65
-rw-r--r--files/ko/xpinstall_api_reference/index.html261
-rw-r--r--files/ko/xpinstall_api_reference/install_object/index.html35
-rw-r--r--files/ko/xpinstall_api_reference/install_object/properties/index.html32
-rw-r--r--files/ko/xpinstall_api_reference/return_codes/index.html268
-rw-r--r--files/ko/xtech_2005_presentations/directions_of_the_mozilla_rdf_engine/index.html17
-rw-r--r--files/ko/xtech_2005_presentations/index.html6
-rw-r--r--files/ko/xul_changes_for_firefox_1.5/index.html44
-rw-r--r--files/ko/xul_improvements_in_firefox_3/index.html76
-rw-r--r--files/ko/zones/index.html70
331 files changed, 0 insertions, 55300 deletions
diff --git a/files/ko/_wikihistory.json b/files/ko/_wikihistory.json
deleted file mode 100644
index 5587d8f681..0000000000
--- a/files/ko/_wikihistory.json
+++ /dev/null
@@ -1,18712 +0,0 @@
-{
- "A_Basic_RayCaster": {
- "modified": "2019-05-26T05:55:24.371Z",
- "contributors": [
- "alattalatta",
- "taggon"
- ]
- },
- "A_re-introduction_to_JavaScript": {
- "modified": "2020-11-30T14:43:16.912Z",
- "contributors": [
- "woochul2",
- "honggaruy",
- "jaeminche",
- "eunjungleecub",
- "Teperi",
- "Violet-Bora-Lee",
- "jjuun",
- "JaeyiHong",
- "juddammu",
- "limkukhyun",
- "hyunggoo",
- "ChalkPE",
- "loslch",
- "Kimchoky",
- "pineoc",
- "fureweb",
- "zeallat",
- "gnujoow",
- "softage",
- "oox",
- "Jsfumato",
- "stephenjang",
- "cafrii",
- "teoli",
- "zziuni",
- "JaehaAhn",
- "Joonwon",
- "Dyhan81"
- ]
- },
- "Adapting_XUL_Applications_for_Firefox_1.5": {
- "modified": "2019-03-23T23:42:04.353Z",
- "contributors": [
- "teoli",
- "Netaras"
- ]
- },
- "Building_an_Extension": {
- "modified": "2019-03-24T00:04:35.955Z",
- "contributors": [
- "teoli",
- "ethertank",
- "Gilchris",
- "fscholz",
- "Matthew,Lee",
- "Amujung",
- "Idodream",
- "Jeongsw",
- "Netaras"
- ]
- },
- "CSS3_Columns": {
- "modified": "2019-10-11T18:26:42.559Z",
- "contributors": [
- "escattone",
- "Netaras",
- "Sebuls",
- "Ioseph"
- ]
- },
- "Consistent_List_Indentation": {
- "modified": "2019-03-18T21:13:02.657Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "Ioseph"
- ]
- },
- "DHTML": {
- "modified": "2019-03-23T23:41:48.331Z",
- "contributors": [
- "Sebuls"
- ]
- },
- "DOM_improvements_in_Firefox_3": {
- "modified": "2019-03-23T23:52:57.206Z",
- "contributors": [
- "teoli",
- "Suguni"
- ]
- },
- "Determining_the_dimensions_of_elements": {
- "modified": "2019-03-18T20:58:47.001Z",
- "contributors": [
- "SphinxKnight",
- "teoli",
- "taggon"
- ]
- },
- "Drawing_text_using_a_canvas": {
- "modified": "2019-03-23T23:51:09.281Z",
- "contributors": [
- "kbsbroad",
- "peacekimjapan",
- "tnRaro",
- "teoli",
- "Wladimir_Palant",
- "Suguni"
- ]
- },
- "Firefox_1.5_for_developers": {
- "modified": "2019-03-23T23:42:08.585Z",
- "contributors": [
- "teoli",
- "Sebuls",
- "Netaras"
- ]
- },
- "Firefox_2_for_developers": {
- "modified": "2019-01-16T16:12:14.974Z",
- "contributors": [
- "CN",
- "Netaras",
- "Yh",
- "C0d3h4ck",
- "Ranio710",
- "Channy"
- ]
- },
- "Firefox_3.5_for_developers": {
- "modified": "2019-03-24T00:00:11.117Z",
- "contributors": [
- "teoli",
- "Gilchris"
- ]
- },
- "Full_page_zoom": {
- "modified": "2019-03-23T23:51:11.591Z",
- "contributors": [
- "teoli",
- "Wladimir_Palant",
- "Jeongkyu"
- ]
- },
- "Games": {
- "modified": "2019-09-09T15:33:04.549Z",
- "contributors": [
- "SphinxKnight",
- "yongbin_kim",
- "meow1230",
- "wbamberg",
- "moolow",
- "daesD",
- "ehfgk78",
- "hoony",
- "kom2727"
- ]
- },
- "Games/Index": {
- "modified": "2020-12-05T03:39:50.081Z",
- "contributors": [
- "movegun1027"
- ]
- },
- "Games/Introduction": {
- "modified": "2019-06-03T20:16:02.213Z",
- "contributors": [
- "sujilee91",
- "wbamberg",
- "daesD",
- "yuyuny",
- "talkinglove",
- "kom2727"
- ]
- },
- "Games/Tutorials": {
- "modified": "2019-03-23T22:32:02.489Z",
- "contributors": [
- "wbamberg",
- "hoony",
- "chrisdavidmills"
- ]
- },
- "Games/Tutorials/2D_breakout_game_Phaser": {
- "modified": "2019-03-23T22:32:01.564Z",
- "contributors": [
- "wbamberg",
- "hoony",
- "chrisdavidmills"
- ]
- },
- "Games/Tutorials/2D_breakout_game_Phaser/득점": {
- "modified": "2019-01-16T22:56:11.870Z",
- "contributors": [
- "wbamberg",
- "Dragonholux"
- ]
- },
- "Games/Tutorials/HTML5_Gamedev_Phaser_Device_Orientation": {
- "modified": "2019-11-30T13:08:40.751Z",
- "contributors": [
- "junghyeonsu"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임": {
- "modified": "2019-03-23T22:24:25.862Z",
- "contributors": [
- "wbamberg",
- "daesD",
- "hoony",
- "Byeolbit"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임/Bounce_off_the_walls": {
- "modified": "2019-03-23T22:20:49.480Z",
- "contributors": [
- "wbamberg",
- "sshplendid",
- "daesD",
- "hoony"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임/Build_the_brick_field": {
- "modified": "2019-01-17T03:04:25.798Z",
- "contributors": [
- "wbamberg",
- "sshplendid"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임/Collision_detection": {
- "modified": "2019-04-17T04:54:08.983Z",
- "contributors": [
- "E.Chong_Ju_Noel",
- "wbamberg",
- "sshplendid"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임/Finishing_up": {
- "modified": "2019-04-17T06:26:16.714Z",
- "contributors": [
- "E.Chong_Ju_Noel"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임/Game_over": {
- "modified": "2019-01-17T03:02:48.219Z",
- "contributors": [
- "wbamberg",
- "sshplendid"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임/Mouse_controls": {
- "modified": "2019-04-17T05:33:54.686Z",
- "contributors": [
- "E.Chong_Ju_Noel"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임/Paddle_and_keyboard_controls": {
- "modified": "2019-01-17T02:41:51.426Z",
- "contributors": [
- "wbamberg",
- "sshplendid",
- "egg-00"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임/Track_the_score_and_win": {
- "modified": "2019-04-17T05:34:33.735Z",
- "contributors": [
- "E.Chong_Ju_Noel",
- "wbamberg",
- "awer000"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임/공_움직이기": {
- "modified": "2019-03-23T22:23:23.704Z",
- "contributors": [
- "wbamberg",
- "sshplendid",
- "hoony",
- "Byeolbit"
- ]
- },
- "Games/Tutorials/순수한_자바스크립트를_이용한_2D_벽돌깨기_게임/캔버스_생성과_그리기": {
- "modified": "2019-01-17T00:09:33.787Z",
- "contributors": [
- "wbamberg",
- "sshplendid",
- "daesD",
- "hoony",
- "HarrisLim",
- "Byeolbit"
- ]
- },
- "Glossary": {
- "modified": "2020-10-07T11:12:02.701Z",
- "contributors": [
- "peterbe",
- "alattalatta",
- "SphinxKnight",
- "wbamberg",
- "Netaras",
- "stephenjang",
- "Andrew_Pfeiffer"
- ]
- },
- "Glossary/AJAX": {
- "modified": "2019-03-23T22:40:15.454Z",
- "contributors": [
- "daebum-lee",
- "akic4op4"
- ]
- },
- "Glossary/API": {
- "modified": "2019-05-28T05:38:06.993Z",
- "contributors": [
- "JisooLee"
- ]
- },
- "Glossary/ASCII": {
- "modified": "2019-09-10T02:26:52.071Z",
- "contributors": [
- "mcleroysane19"
- ]
- },
- "Glossary/Abstraction": {
- "modified": "2019-11-17T11:35:37.475Z",
- "contributors": [
- "enfroze",
- "alattalatta",
- "gnujoow"
- ]
- },
- "Glossary/Accessibility": {
- "modified": "2020-01-13T03:17:03.686Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/Algorithm": {
- "modified": "2019-11-17T11:22:40.957Z",
- "contributors": [
- "enfroze",
- "gnujoow"
- ]
- },
- "Glossary/Argument": {
- "modified": "2019-11-17T06:21:02.547Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Attribute": {
- "modified": "2020-01-12T03:10:44.163Z",
- "contributors": [
- "alattalatta",
- "enfroze"
- ]
- },
- "Glossary/Bandwidth": {
- "modified": "2019-03-23T22:04:55.149Z",
- "contributors": [
- "gnujoow"
- ]
- },
- "Glossary/Block": {
- "modified": "2019-09-08T12:38:26.231Z"
- },
- "Glossary/Block/CSS": {
- "modified": "2019-12-29T04:26:04.647Z",
- "contributors": [
- "alattalatta",
- "Hwan-Woong-Lee"
- ]
- },
- "Glossary/Browser": {
- "modified": "2020-08-05T01:07:27.042Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "Kaben"
- ]
- },
- "Glossary/CORS": {
- "modified": "2019-03-23T22:29:19.335Z",
- "contributors": [
- "kuil09"
- ]
- },
- "Glossary/CSP": {
- "modified": "2019-03-18T21:35:59.462Z",
- "contributors": [
- "Seok.Heo",
- "sunhyun"
- ]
- },
- "Glossary/CSS": {
- "modified": "2020-08-05T01:06:55.575Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/CSS_preprocessor": {
- "modified": "2019-04-18T12:04:13.994Z",
- "contributors": [
- "alattalatta",
- "ByeongGi"
- ]
- },
- "Glossary/Call_stack": {
- "modified": "2019-03-18T20:34:32.739Z",
- "contributors": [
- "dl0312",
- "MartinYounghoonKim",
- "cs09g",
- "techhtml"
- ]
- },
- "Glossary/Character": {
- "modified": "2019-11-17T06:45:02.779Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Chrome": {
- "modified": "2019-11-20T12:06:40.564Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Client_hints": {
- "modified": "2020-03-30T11:50:49.956Z",
- "contributors": [
- "oinochoe"
- ]
- },
- "Glossary/Compile": {
- "modified": "2019-10-29T10:03:26.609Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Computer_Programming": {
- "modified": "2019-10-29T10:07:03.140Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Copyleft": {
- "modified": "2019-11-17T12:11:12.916Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Cross_Axis": {
- "modified": "2020-01-02T12:16:06.607Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/DOM": {
- "modified": "2019-03-18T21:26:45.962Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Glossary/Descriptor_(CSS)": {
- "modified": "2020-06-18T03:48:31.777Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Glossary/Doctype": {
- "modified": "2019-10-31T03:37:46.868Z",
- "contributors": [
- "lundella"
- ]
- },
- "Glossary/Domain_name": {
- "modified": "2020-02-27T01:11:41.979Z",
- "contributors": [
- "alattalatta",
- "enfroze"
- ]
- },
- "Glossary/ECMAScript": {
- "modified": "2020-11-30T15:17:38.947Z",
- "contributors": [
- "woochul2"
- ]
- },
- "Glossary/Element": {
- "modified": "2020-01-19T04:19:54.447Z",
- "contributors": [
- "alattalatta",
- "enfroze"
- ]
- },
- "Glossary/Empty_element": {
- "modified": "2020-02-02T11:31:39.458Z",
- "contributors": [
- "alattalatta",
- "ShinJeKim"
- ]
- },
- "Glossary/Endianness": {
- "modified": "2020-02-19T12:52:13.934Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/Entity_header": {
- "modified": "2019-04-30T11:59:59.102Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Glossary/FTP": {
- "modified": "2019-10-29T12:53:31.410Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Falsy": {
- "modified": "2020-08-26T22:58:41.496Z",
- "contributors": [
- "honggaruy",
- "Seonghui",
- "alattalatta",
- "Violet-Bora-Lee",
- "Parcovia",
- "hohoonlee"
- ]
- },
- "Glossary/First-class_Function": {
- "modified": "2019-06-01T00:04:27.159Z",
- "contributors": [
- "alattalatta",
- "henry_hwang",
- "skatpgusskat",
- "cs09g",
- "seflix"
- ]
- },
- "Glossary/Flex_Container": {
- "modified": "2020-08-04T05:22:31.373Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/Flex_Item": {
- "modified": "2020-08-04T05:16:54.495Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/Flexbox": {
- "modified": "2020-08-04T05:13:41.384Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/Fork": {
- "modified": "2019-11-19T11:41:29.624Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Function": {
- "modified": "2020-03-17T03:21:46.959Z",
- "contributors": [
- "harryjjun",
- "enfroze",
- "ibizcox"
- ]
- },
- "Glossary/GPL": {
- "modified": "2019-11-17T12:14:08.428Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/GPU": {
- "modified": "2019-11-17T12:20:00.869Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/General_header": {
- "modified": "2019-04-30T10:49:44.075Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Glossary/Global_object": {
- "modified": "2020-09-27T03:52:40.420Z",
- "contributors": [
- "khpproud"
- ]
- },
- "Glossary/Google_Chrome": {
- "modified": "2019-12-26T10:50:50.022Z",
- "contributors": [
- "04SeoHyun",
- "enfroze"
- ]
- },
- "Glossary/Graceful_degradation": {
- "modified": "2020-02-03T07:06:42.243Z",
- "contributors": [
- "ChanMyeong"
- ]
- },
- "Glossary/HTML": {
- "modified": "2020-01-19T04:48:54.962Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "wafersroom",
- "azunyan3"
- ]
- },
- "Glossary/HTTP": {
- "modified": "2019-11-05T01:39:30.127Z",
- "contributors": [
- "kimering"
- ]
- },
- "Glossary/HTTP_2": {
- "modified": "2019-11-04T22:53:46.678Z",
- "contributors": [
- "kimering"
- ]
- },
- "Glossary/Head": {
- "modified": "2019-10-27T05:11:12.994Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Header": {
- "modified": "2019-04-30T11:26:53.285Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Glossary/Hoisting": {
- "modified": "2019-07-11T11:32:59.609Z",
- "contributors": [
- "jinbeomhong",
- "liante0904",
- "techhtml",
- "Netaras"
- ]
- },
- "Glossary/IIFE": {
- "modified": "2019-10-06T06:23:46.350Z",
- "contributors": [
- "songdoing",
- "cs09g",
- "dsma73",
- "sshplendid"
- ]
- },
- "Glossary/IP_Address": {
- "modified": "2019-11-19T06:03:10.670Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/IPv4": {
- "modified": "2019-10-29T12:46:35.140Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/IPv6": {
- "modified": "2019-10-29T12:38:04.058Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Idempotent": {
- "modified": "2020-01-27T06:32:59.252Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/Index": {
- "modified": "2019-05-26T04:17:19.834Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/Internet": {
- "modified": "2019-10-29T12:34:29.654Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/JSON": {
- "modified": "2020-08-27T00:13:07.754Z",
- "contributors": [
- "honggaruy"
- ]
- },
- "Glossary/Java": {
- "modified": "2019-11-17T11:44:56.230Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/JavaScript": {
- "modified": "2019-03-23T22:55:08.110Z",
- "contributors": [
- "Party4Bread",
- "akic4op4",
- "stephenjang"
- ]
- },
- "Glossary/MIME_type": {
- "modified": "2019-05-10T06:12:12.269Z",
- "contributors": [
- "VictorTaekLim"
- ]
- },
- "Glossary/MVC": {
- "modified": "2019-03-18T20:38:21.536Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Glossary/Main_Axis": {
- "modified": "2020-01-02T12:14:51.078Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/Metadata": {
- "modified": "2020-01-13T13:25:13.943Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/Method": {
- "modified": "2019-11-17T05:42:10.347Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Microsoft_Edge": {
- "modified": "2020-01-19T04:40:21.559Z",
- "contributors": [
- "alattalatta",
- "enfroze"
- ]
- },
- "Glossary/Microsoft_Internet_Explorer": {
- "modified": "2019-11-17T10:16:18.451Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Mozilla_Firefox": {
- "modified": "2020-01-19T04:47:57.973Z",
- "contributors": [
- "alattalatta",
- "enfroze"
- ]
- },
- "Glossary/Node.js": {
- "modified": "2020-01-12T05:33:10.138Z",
- "contributors": [
- "alattalatta",
- "galcyurio"
- ]
- },
- "Glossary/Null": {
- "modified": "2020-10-11T08:16:16.978Z",
- "contributors": [
- "Joontae-Kim"
- ]
- },
- "Glossary/OOP": {
- "modified": "2019-10-29T10:28:29.794Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Object": {
- "modified": "2019-10-29T10:31:41.062Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Object_reference": {
- "modified": "2019-11-17T06:06:40.867Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Operator": {
- "modified": "2019-11-17T11:52:43.062Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Origin": {
- "modified": "2020-02-22T14:10:20.748Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/PDF": {
- "modified": "2019-11-17T11:58:50.797Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/PHP": {
- "modified": "2019-05-26T04:18:28.806Z",
- "contributors": [
- "alattalatta",
- "yuj25"
- ]
- },
- "Glossary/PNG": {
- "modified": "2019-11-17T11:59:51.070Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Pixel": {
- "modified": "2019-11-17T11:56:15.038Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Polyfill": {
- "modified": "2019-11-18T11:28:34.172Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Glossary/Preflight_request": {
- "modified": "2020-08-16T00:25:48.142Z",
- "contributors": [
- "Sunmin0520"
- ]
- },
- "Glossary/Primitive": {
- "modified": "2020-08-05T00:42:43.615Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "nicesh"
- ]
- },
- "Glossary/Progressive_Enhancement": {
- "modified": "2020-02-03T23:41:49.098Z",
- "contributors": [
- "ChanMyeong"
- ]
- },
- "Glossary/Protocol": {
- "modified": "2020-02-02T10:41:08.301Z",
- "contributors": [
- "alattalatta",
- "enfroze",
- "JisooLee",
- "kimering"
- ]
- },
- "Glossary/Prototype": {
- "modified": "2019-10-18T07:42:15.221Z",
- "contributors": [
- "ujeon"
- ]
- },
- "Glossary/Prototype-based_programming": {
- "modified": "2019-05-26T04:19:13.494Z",
- "contributors": [
- "alattalatta",
- "HyunBeomHeo"
- ]
- },
- "Glossary/Proxy_server": {
- "modified": "2019-10-29T05:16:15.357Z",
- "contributors": [
- "JisooLee"
- ]
- },
- "Glossary/Pseudocode": {
- "modified": "2019-11-20T11:53:40.913Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Python": {
- "modified": "2019-11-17T12:05:40.012Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/REST": {
- "modified": "2020-09-04T04:06:27.455Z",
- "contributors": [
- "Sunmin0520"
- ]
- },
- "Glossary/Reflow": {
- "modified": "2019-10-25T06:40:35.697Z",
- "contributors": [
- "ChanMyeong"
- ]
- },
- "Glossary/Regular_expression": {
- "modified": "2019-03-23T22:03:19.722Z",
- "contributors": [
- "nazuna1"
- ]
- },
- "Glossary/Request_header": {
- "modified": "2019-05-02T11:11:08.932Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Glossary/Response_header": {
- "modified": "2019-04-30T11:52:42.805Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Glossary/SEO": {
- "modified": "2020-01-13T03:31:45.674Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/SIMD": {
- "modified": "2019-03-23T22:32:07.923Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Glossary/SMTP": {
- "modified": "2020-01-21T11:08:35.432Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/SQL": {
- "modified": "2019-03-18T21:42:28.660Z",
- "contributors": [
- "revi"
- ]
- },
- "Glossary/SSL": {
- "modified": "2020-09-01T01:40:23.958Z",
- "contributors": [
- "junnapark"
- ]
- },
- "Glossary/SVG": {
- "modified": "2019-03-23T22:18:33.455Z",
- "contributors": [
- "sujilee91"
- ]
- },
- "Glossary/Self-Executing_Anonymous_Function": {
- "modified": "2019-12-03T20:36:04.784Z",
- "contributors": [
- "Saem"
- ]
- },
- "Glossary/Semantics": {
- "modified": "2020-03-12T01:28:09.192Z",
- "contributors": [
- "ohahohah",
- "darongE",
- "Latera"
- ]
- },
- "Glossary/Server": {
- "modified": "2019-10-29T10:54:27.928Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Shim": {
- "modified": "2019-03-23T22:51:59.120Z",
- "contributors": [
- "epicsaga"
- ]
- },
- "Glossary/Signature": {
- "modified": "2019-03-23T22:05:46.662Z",
- "contributors": [
- "PetiPandaRou"
- ]
- },
- "Glossary/Signature/Function": {
- "modified": "2019-03-23T22:05:47.333Z",
- "contributors": [
- "SELO77",
- "seungha-kim"
- ]
- },
- "Glossary/Stacking_context": {
- "modified": "2019-12-29T03:38:31.325Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/String": {
- "modified": "2019-11-17T09:40:20.892Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Symbol": {
- "modified": "2019-09-22T21:56:04.399Z",
- "contributors": [
- "Hongsun",
- "dolmoon",
- "limkukhyun"
- ]
- },
- "Glossary/TCP": {
- "modified": "2020-07-18T05:44:12.957Z",
- "contributors": [
- "jins9199"
- ]
- },
- "Glossary/TLS": {
- "modified": "2020-09-01T00:02:24.553Z",
- "contributors": [
- "junnapark"
- ]
- },
- "Glossary/Tag": {
- "modified": "2020-01-19T04:32:44.181Z",
- "contributors": [
- "alattalatta",
- "enfroze"
- ]
- },
- "Glossary/Truthy": {
- "modified": "2020-08-26T22:21:21.196Z",
- "contributors": [
- "honggaruy",
- "Seonghui",
- "alattalatta",
- "Violet-Bora-Lee"
- ]
- },
- "Glossary/UI": {
- "modified": "2019-10-29T10:58:07.951Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/URI": {
- "modified": "2020-01-22T13:18:49.380Z",
- "contributors": [
- "alattalatta",
- "BenjaminYou"
- ]
- },
- "Glossary/URL": {
- "modified": "2020-01-21T11:09:22.036Z",
- "contributors": [
- "alattalatta",
- "enfroze"
- ]
- },
- "Glossary/UTF-8": {
- "modified": "2019-11-17T08:52:36.131Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Unicode": {
- "modified": "2019-05-24T13:16:24.428Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/User_agent": {
- "modified": "2020-08-05T01:07:33.918Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/Variable": {
- "modified": "2019-11-17T06:14:20.302Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/Viewport": {
- "modified": "2020-08-10T06:18:22.173Z",
- "contributors": [
- "alattalatta",
- "SeonHyungJo"
- ]
- },
- "Glossary/WHATWG": {
- "modified": "2020-01-12T06:40:17.162Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/WebExtensions": {
- "modified": "2019-03-18T21:44:17.282Z",
- "contributors": [
- "junthus"
- ]
- },
- "Glossary/WebRTC": {
- "modified": "2019-03-18T21:39:53.407Z",
- "contributors": [
- "1sonjm"
- ]
- },
- "Glossary/WebSockets": {
- "modified": "2019-10-29T10:39:24.748Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/World_Wide_Web": {
- "modified": "2019-03-23T22:18:23.912Z",
- "contributors": [
- "wafersroom"
- ]
- },
- "Glossary/Wrapper": {
- "modified": "2019-11-17T09:43:44.308Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/XHR_(XMLHttpRequest)": {
- "modified": "2019-05-26T04:21:15.494Z",
- "contributors": [
- "alattalatta",
- "frankradio",
- "OKCHANGWON",
- "kidkkr"
- ]
- },
- "Glossary/character_encoding": {
- "modified": "2019-11-17T09:29:40.486Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/character_set": {
- "modified": "2019-11-17T11:13:13.450Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/firewall": {
- "modified": "2020-01-21T11:10:59.046Z",
- "contributors": [
- "alattalatta",
- "enfroze"
- ]
- },
- "Glossary/gif": {
- "modified": "2019-11-19T01:18:42.872Z",
- "contributors": [
- "enfroze"
- ]
- },
- "Glossary/https": {
- "modified": "2019-03-18T20:53:11.377Z",
- "contributors": [
- "jisooeulee"
- ]
- },
- "Glossary/jQuery": {
- "modified": "2019-10-06T09:53:54.369Z",
- "contributors": [
- "Eumhongin",
- "jisooeulee"
- ]
- },
- "Glossary/undefined": {
- "modified": "2019-05-26T04:16:46.198Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Glossary/동적_프로그래밍_언어": {
- "modified": "2019-03-18T21:23:35.310Z",
- "contributors": [
- "flat81"
- ]
- },
- "Glossary/배열": {
- "modified": "2019-03-18T21:24:02.576Z",
- "contributors": [
- "Parcovia"
- ]
- },
- "Glossary/불린": {
- "modified": "2019-03-23T22:13:53.303Z",
- "contributors": [
- "Violet-Bora-Lee",
- "BA-jhlee"
- ]
- },
- "Glossary/브라우저-컨텍스트": {
- "modified": "2020-01-05T11:52:27.990Z",
- "contributors": [
- "alattalatta",
- "HyunSeob"
- ]
- },
- "Glossary/스코프": {
- "modified": "2020-08-28T03:24:50.648Z",
- "contributors": [
- "heejinlee07"
- ]
- },
- "Glossary/식별자": {
- "modified": "2019-05-24T13:17:06.184Z",
- "contributors": [
- "alattalatta",
- "HyunSeob"
- ]
- },
- "Glossary/전송_제어_프로토콜_(TCP)": {
- "modified": "2020-01-12T14:32:05.700Z",
- "contributors": [
- "doong-jo"
- ]
- },
- "Glossary/캐시": {
- "modified": "2019-10-28T01:10:08.788Z",
- "contributors": [
- "JisooLee"
- ]
- },
- "How_to_Build_an_XPCOM_Component_in_Javascript": {
- "modified": "2019-03-23T23:49:04.482Z",
- "contributors": [
- "Channy",
- "Yookh80"
- ]
- },
- "Introduction_to_using_XPath_in_JavaScript": {
- "modified": "2020-08-06T04:38:40.599Z",
- "contributors": [
- "alattalatta",
- "Netaras",
- "Sebuls"
- ]
- },
- "JavaScript_C_Engine_Embedder's_Guide": {
- "modified": "2019-03-23T23:51:52.110Z",
- "contributors": [
- "teoli",
- "Comayjlee",
- "Joone"
- ]
- },
- "Learn": {
- "modified": "2020-07-16T22:43:44.593Z",
- "contributors": [
- "SphinxKnight",
- "hl5nyw",
- "yeoncheol-kr",
- "honggaruy",
- "alattalatta",
- "Silvermist",
- "2kindsofcs",
- "ehgus",
- "svarlamov",
- "daktwigim",
- "MiscellaneousDictionary",
- "dolmoon",
- "moodcoding",
- "Olivia_J",
- "minwook-shin",
- "daesD",
- "kidkkr",
- "haneri",
- "kygn1998",
- "Netaras",
- "hoony",
- "sunkibaek",
- "cs09g",
- "Donghyun_Lee",
- "kscarfone"
- ]
- },
- "Learn/CSS": {
- "modified": "2020-07-16T22:25:35.300Z",
- "contributors": [
- "alattalatta",
- "Narrativi",
- "cs09g"
- ]
- },
- "Learn/CSS/Basics/Layout": {
- "modified": "2020-07-16T22:25:40.836Z",
- "contributors": [
- "yooonmi"
- ]
- },
- "Learn/CSS/Building_blocks": {
- "modified": "2020-07-16T22:28:08.863Z",
- "contributors": [
- "java2020007",
- "chrisdavidmills"
- ]
- },
- "Learn/CSS/Building_blocks/Backgrounds_and_borders": {
- "modified": "2020-07-16T22:29:10.420Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Building_blocks/Cascade_and_inheritance": {
- "modified": "2020-07-16T22:28:31.699Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Building_blocks/Debugging_CSS": {
- "modified": "2020-10-15T22:28:01.240Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Building_blocks/Handling_different_text_directions": {
- "modified": "2020-07-16T22:29:13.802Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Building_blocks/Images_media_form_elements": {
- "modified": "2020-07-16T22:29:25.861Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Building_blocks/Organizing": {
- "modified": "2020-07-16T22:29:31.977Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Building_blocks/Overflowing_content": {
- "modified": "2020-07-16T22:29:17.930Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Building_blocks/Sizing_items_in_CSS": {
- "modified": "2020-07-16T22:29:22.091Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Building_blocks/Styling_tables": {
- "modified": "2020-07-16T22:28:18.125Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Building_blocks/Values_and_units": {
- "modified": "2020-07-16T22:28:58.232Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Building_blocks/상자_모델": {
- "modified": "2020-07-16T22:29:04.939Z",
- "contributors": [
- "Hwan-Woong-Lee"
- ]
- },
- "Learn/CSS/Building_blocks/선택자": {
- "modified": "2020-07-16T22:28:36.722Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/CSS_layout": {
- "modified": "2020-07-16T22:26:31.606Z",
- "contributors": [
- "happyT",
- "Hwan-Woong-Lee",
- "sujinlee0616",
- "stitchworkingonthecode",
- "daesD",
- "yooonmi"
- ]
- },
- "Learn/CSS/CSS_layout/Flexbox": {
- "modified": "2020-07-16T22:26:53.880Z",
- "contributors": [
- "harryjjun",
- "EricByHPHK",
- "Hwan-Woong-Lee",
- "cybaj"
- ]
- },
- "Learn/CSS/CSS_layout/Floats": {
- "modified": "2020-07-16T22:26:38.865Z",
- "contributors": [
- "harryjjun",
- "Hwan-Woong-Lee",
- "ByeongGi"
- ]
- },
- "Learn/CSS/CSS_layout/Grids": {
- "modified": "2020-07-16T22:27:00.538Z",
- "contributors": [
- "n2ptune",
- "harryjjun",
- "Hwan-Woong-Lee",
- "sonsoonmee"
- ]
- },
- "Learn/CSS/CSS_layout/Introduction": {
- "modified": "2020-07-16T22:27:06.481Z",
- "contributors": [
- "happyT",
- "Hwan-Woong-Lee",
- "DeadIntegral"
- ]
- },
- "Learn/CSS/CSS_layout/Legacy_Layout_Methods": {
- "modified": "2020-07-16T22:27:15.445Z",
- "contributors": [
- "Hwan-Woong-Lee",
- "SphinxKnight"
- ]
- },
- "Learn/CSS/CSS_layout/Multiple-column_Layout": {
- "modified": "2020-07-16T22:27:10.991Z",
- "contributors": [
- "harryjjun",
- "Hwan-Woong-Lee"
- ]
- },
- "Learn/CSS/CSS_layout/미디어_쿼리_초보자_안내서": {
- "modified": "2020-07-16T22:27:32.744Z",
- "contributors": [
- "Hwan-Woong-Lee"
- ]
- },
- "Learn/CSS/CSS_layout/반응형_디자인": {
- "modified": "2020-07-16T22:27:29.107Z",
- "contributors": [
- "Hwan-Woong-Lee"
- ]
- },
- "Learn/CSS/CSS_layout/위치잡기": {
- "modified": "2020-07-16T22:26:44.211Z",
- "contributors": [
- "Hwan-Woong-Lee"
- ]
- },
- "Learn/CSS/CSS_layout/이전_브라우저_지원": {
- "modified": "2020-07-16T22:27:19.114Z",
- "contributors": [
- "EricByHPHK",
- "Hwan-Woong-Lee"
- ]
- },
- "Learn/CSS/CSS_layout/일반_흐름": {
- "modified": "2020-07-16T22:27:22.113Z",
- "contributors": [
- "EricByHPHK",
- "Hwan-Woong-Lee"
- ]
- },
- "Learn/CSS/First_steps": {
- "modified": "2020-07-16T22:27:39.876Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/First_steps/Getting_started": {
- "modified": "2020-07-16T22:27:51.305Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/First_steps/How_CSS_is_structured": {
- "modified": "2020-07-16T22:27:56.117Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/First_steps/How_CSS_works": {
- "modified": "2020-07-16T22:28:00.995Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/First_steps/Using_your_new_knowledge": {
- "modified": "2020-07-16T22:28:04.551Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/First_steps/What_is_CSS": {
- "modified": "2020-10-15T22:27:36.251Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/CSS/Howto": {
- "modified": "2020-07-16T22:25:42.866Z",
- "contributors": [
- "silmari"
- ]
- },
- "Learn/CSS/Howto/Generated_content": {
- "modified": "2020-07-16T22:25:48.143Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "SpikeYou"
- ]
- },
- "Learn/CSS/Introduction_to_CSS/기본적인_CSS_이해": {
- "modified": "2020-07-16T22:28:12.763Z",
- "contributors": [
- "ERTuringLee"
- ]
- },
- "Learn/CSS/Styling_text": {
- "modified": "2020-07-16T22:25:59.083Z",
- "contributors": [
- "java2020007",
- "jsmac7014"
- ]
- },
- "Learn/CSS/Styling_text/Fundamentals": {
- "modified": "2020-07-16T22:26:07.627Z",
- "contributors": [
- "java2020007",
- "alattalatta",
- "ERTuringLee"
- ]
- },
- "Learn/CSS/Styling_text/Styling_lists": {
- "modified": "2020-07-16T22:26:13.932Z",
- "contributors": [
- "java2020007"
- ]
- },
- "Learn/Common_questions": {
- "modified": "2020-07-17T04:53:21.623Z",
- "contributors": [
- "AlexChoi",
- "rudolfo"
- ]
- },
- "Learn/Common_questions/HTML_features_for_accessibility": {
- "modified": "2020-07-16T22:35:51.295Z",
- "contributors": [
- "woojin.jo"
- ]
- },
- "Learn/Common_questions/How_does_the_Internet_work": {
- "modified": "2020-07-16T22:35:37.384Z",
- "contributors": [
- "FreelyReceivedFreelyGive",
- "doong-jo",
- "HoLlOlLoLlU",
- "toyuq",
- "ssilb4"
- ]
- },
- "Learn/Common_questions/Pages_sites_servers_and_search_engines": {
- "modified": "2020-07-16T22:35:40.167Z",
- "contributors": [
- "doong-jo",
- "ssilb4"
- ]
- },
- "Learn/Common_questions/Upload_files_to_a_web_server": {
- "modified": "2020-07-16T22:35:41.806Z",
- "contributors": [
- "Je-Gwan",
- "kuil09"
- ]
- },
- "Learn/Common_questions/What_are_hyperlinks": {
- "modified": "2020-07-16T22:35:43.271Z",
- "contributors": [
- "ssilb4"
- ]
- },
- "Learn/Common_questions/What_is_a_URL": {
- "modified": "2020-07-16T22:35:29.813Z",
- "contributors": [
- "ssilb4"
- ]
- },
- "Learn/Common_questions/What_is_a_domain_name": {
- "modified": "2020-07-16T22:35:44.305Z",
- "contributors": [
- "peacekimjapan",
- "hyunjinyoon",
- "ssilb4"
- ]
- },
- "Learn/Common_questions/What_is_a_web_server": {
- "modified": "2020-11-29T22:15:28.062Z",
- "contributors": [
- "yr4978",
- "rshk2002",
- "doong-jo",
- "ghkdxofla",
- "jisup",
- "namwoo",
- "woojin.jo"
- ]
- },
- "Learn/Common_questions/What_software_do_I_need": {
- "modified": "2020-07-16T22:35:33.374Z",
- "contributors": [
- "ssilb4"
- ]
- },
- "Learn/Common_questions/set_up_a_local_testing_server": {
- "modified": "2020-11-29T09:15:10.698Z",
- "contributors": [
- "yr4978",
- "anoncaco",
- "rkdxofyd",
- "jungyh0218",
- "dolmoon"
- ]
- },
- "Learn/Common_questions/웹_사이트가_제대로_동작하는지_확인": {
- "modified": "2020-07-16T22:35:50.357Z",
- "contributors": [
- "best8248"
- ]
- },
- "Learn/Common_questions/코딩하기_전에_생각하기": {
- "modified": "2020-07-16T22:35:34.712Z",
- "contributors": [
- "Silvermist",
- "ssilb4",
- "daebum-lee"
- ]
- },
- "Learn/Front-end_web_developer": {
- "modified": "2020-09-26T16:42:10.726Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Learn/Getting_started_with_the_web": {
- "modified": "2020-07-16T22:33:54.184Z",
- "contributors": [
- "jinseobhong",
- "scl2589",
- "imn00133",
- "alattalatta",
- "dolmoon",
- "galcyurio",
- "gobyoungil",
- "cs09g",
- "chrisdavidmills"
- ]
- },
- "Learn/Getting_started_with_the_web/CSS_기본": {
- "modified": "2020-07-16T22:35:01.206Z",
- "contributors": [
- "java2020007",
- "Silvermist",
- "manmyung",
- "jinah1000",
- "dolmoon",
- "limkukhyun",
- "galcyurio",
- "gobyoungil",
- "stitchworkingonthecode",
- "cs09g"
- ]
- },
- "Learn/Getting_started_with_the_web/HTML_기본": {
- "modified": "2020-07-16T22:34:48.769Z",
- "contributors": [
- "scl2589",
- "hahehohoo",
- "moseoridev",
- "alattalatta",
- "dolmoon",
- "limkukhyun",
- "galcyurio",
- "gobyoungil",
- "LovelyGom1218",
- "stitchworkingonthecode",
- "cs09g"
- ]
- },
- "Learn/Getting_started_with_the_web/JavaScript_basics": {
- "modified": "2020-07-16T22:35:12.767Z",
- "contributors": [
- "Silvermist",
- "yeonjukim",
- "dejoro",
- "moseoridev",
- "Parcovia",
- "dolmoon",
- "galcyurio",
- "Vincent_Choe",
- "cs09g",
- "stephenjang"
- ]
- },
- "Learn/Getting_started_with_the_web/What_will_your_website_look_like": {
- "modified": "2020-10-09T04:14:23.540Z",
- "contributors": [
- "anoncaco",
- "alattalatta",
- "YJLeeGinter",
- "galcyurio",
- "kygn1998",
- "cs09g"
- ]
- },
- "Learn/Getting_started_with_the_web/기본_소프트웨어_설치하기": {
- "modified": "2020-07-16T22:34:08.936Z",
- "contributors": [
- "thornbirda",
- "alattalatta",
- "dolmoon",
- "limkukhyun",
- "takeU",
- "galcyurio",
- "stitchworkingonthecode",
- "cs09g"
- ]
- },
- "Learn/Getting_started_with_the_web/웹사이트_출판하기": {
- "modified": "2020-07-16T22:34:27.246Z",
- "contributors": [
- "Taehoon",
- "limkukhyun",
- "galcyurio",
- "novelview9",
- "cs09g"
- ]
- },
- "Learn/Getting_started_with_the_web/웹의_동작_방식": {
- "modified": "2020-07-16T22:34:01.419Z",
- "contributors": [
- "doong-jo",
- "moseoridev",
- "HoLlOlLoLlU",
- "limkukhyun",
- "LeeJunyeol",
- "galcyurio",
- "cs09g"
- ]
- },
- "Learn/Getting_started_with_the_web/파일들_다루기": {
- "modified": "2020-10-09T05:21:10.101Z",
- "contributors": [
- "anoncaco",
- "moseoridev",
- "alattalatta",
- "cs09g",
- "dolmoon",
- "limkukhyun",
- "YJLeeGinter",
- "galcyurio",
- "BK-Yoo"
- ]
- },
- "Learn/HTML": {
- "modified": "2020-07-16T22:22:20.486Z",
- "contributors": [
- "naduhy2",
- "cs09g"
- ]
- },
- "Learn/HTML/Forms": {
- "modified": "2020-07-16T22:20:59.522Z",
- "contributors": [
- "ssj24",
- "chrisdavidmills",
- "moolow",
- "JeongSeongDae"
- ]
- },
- "Learn/HTML/Forms/HTML_폼_구성_방법": {
- "modified": "2020-09-29T02:01:00.293Z",
- "contributors": [
- "fscholz",
- "sephiron99",
- "chrisdavidmills",
- "JeongSeongDae"
- ]
- },
- "Learn/HTML/Forms/Sending_and_retrieving_form_data": {
- "modified": "2020-07-16T22:21:27.567Z",
- "contributors": [
- "tldn0718",
- "dev-dongwon",
- "daesD",
- "chrisdavidmills",
- "Geun-Hyung_Kim",
- "JeongSeongDae"
- ]
- },
- "Learn/HTML/Forms/Your_first_HTML_form": {
- "modified": "2020-07-16T22:21:05.991Z",
- "contributors": [
- "fscholz",
- "sephiron99",
- "chrisdavidmills",
- "JeongSeongDae"
- ]
- },
- "Learn/HTML/Howto": {
- "modified": "2020-07-16T22:22:29.667Z",
- "contributors": [
- "Jeremie"
- ]
- },
- "Learn/HTML/Howto/Mark_abbreviations_and_make_them_understandable": {
- "modified": "2020-07-16T22:22:37.951Z",
- "contributors": [
- "Kaben"
- ]
- },
- "Learn/HTML/Howto/데이터_속성_사용하기": {
- "modified": "2020-07-16T22:22:36.382Z",
- "contributors": [
- "DDark",
- "jyhwng",
- "soulmatt"
- ]
- },
- "Learn/HTML/Introduction_to_HTML": {
- "modified": "2020-07-16T22:22:50.673Z",
- "contributors": [
- "alattalatta",
- "naduhy2",
- "knight2995"
- ]
- },
- "Learn/HTML/Introduction_to_HTML/Advanced_text_formatting": {
- "modified": "2020-11-18T02:41:42.097Z",
- "contributors": [
- "sh0seo",
- "Atercatus",
- "dave1502",
- "iloveek"
- ]
- },
- "Learn/HTML/Introduction_to_HTML/Creating_hyperlinks": {
- "modified": "2020-07-16T22:23:45.260Z",
- "contributors": [
- "Xvezda",
- "sangheon-kim",
- "Tay_Kim",
- "alattalatta",
- "zDJKIMs",
- "Han_jongbae"
- ]
- },
- "Learn/HTML/Introduction_to_HTML/Debugging_HTML": {
- "modified": "2020-11-18T21:39:06.803Z",
- "contributors": [
- "sh0seo",
- "dave1502",
- "limkukhyun"
- ]
- },
- "Learn/HTML/Introduction_to_HTML/Document_and_website_structure": {
- "modified": "2020-11-26T04:07:26.362Z",
- "contributors": [
- "ihooi",
- "Tay_Kim",
- "dave1502",
- "SSJ-unclear",
- "LeeJunyeol"
- ]
- },
- "Learn/HTML/Introduction_to_HTML/Getting_started": {
- "modified": "2020-08-03T15:06:21.620Z",
- "contributors": [
- "180ukinnver",
- "jinseobhong",
- "LYJ",
- "nancydocode",
- "xmlnsBuzz",
- "Ken123777",
- "cheesecat47",
- "HoLlOlLoLlU",
- "NohSeho",
- "sooup2",
- "gyukebox",
- "wonca",
- "rote-IL",
- "Sasin",
- "takeU",
- "ChanghwaLee"
- ]
- },
- "Learn/HTML/Introduction_to_HTML/HTML_text_fundamentals": {
- "modified": "2020-11-17T06:40:49.069Z",
- "contributors": [
- "sh0seo",
- "everinh",
- "YEIN",
- "kimjangwook",
- "Sufera",
- "sangheon-kim",
- "Tay_Kim",
- "YJLeeGinter"
- ]
- },
- "Learn/HTML/Introduction_to_HTML/Marking_up_a_letter": {
- "modified": "2020-09-19T02:00:02.258Z",
- "contributors": [
- "pangol",
- "jinseobhong",
- "nancydocode"
- ]
- },
- "Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML": {
- "modified": "2020-07-16T22:23:21.652Z",
- "contributors": [
- "anseonghyeon",
- "minijaypark",
- "0641031",
- "NohSeho",
- "SSJ-unclear",
- "iloveek"
- ]
- },
- "Learn/HTML/Multimedia_and_embedding": {
- "modified": "2020-07-16T22:24:27.199Z",
- "contributors": [
- "enfroze",
- "dave1502",
- "genzuby",
- "chrisdavidmills"
- ]
- },
- "Learn/HTML/Multimedia_and_embedding/Images_in_HTML": {
- "modified": "2020-09-03T02:51:53.456Z",
- "contributors": [
- "junnapark",
- "curious-curie",
- "limkukhyun"
- ]
- },
- "Learn/HTML/Multimedia_and_embedding/Responsive_images": {
- "modified": "2020-07-23T05:47:19.984Z",
- "contributors": [
- "bhlbest20",
- "paikwiki",
- "mytory"
- ]
- },
- "Learn/HTML/Multimedia_and_embedding/ideo_and_audio_content": {
- "modified": "2020-07-16T22:24:54.813Z",
- "contributors": [
- "jinseobhong"
- ]
- },
- "Learn/HTML/Tables": {
- "modified": "2020-07-16T22:25:13.523Z",
- "contributors": [
- "byoung_hyun"
- ]
- },
- "Learn/How_to_contribute": {
- "modified": "2020-07-16T22:33:45.510Z",
- "contributors": [
- "SphinxKnight",
- "2oosoo",
- "JinSeungHo"
- ]
- },
- "Learn/Index": {
- "modified": "2020-07-16T22:33:40.026Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Learn/Infrastructure": {
- "modified": "2020-07-16T22:22:13.682Z",
- "contributors": [
- "KwanHong_Lee66"
- ]
- },
- "Learn/JavaScript": {
- "modified": "2020-12-01T10:05:39.249Z",
- "contributors": [
- "parkjihye",
- "honggaruy",
- "galcyurio",
- "cs09g"
- ]
- },
- "Learn/JavaScript/Asynchronous": {
- "modified": "2020-07-16T22:33:14.189Z",
- "contributors": [
- "Sheppy"
- ]
- },
- "Learn/JavaScript/Asynchronous/Async_await": {
- "modified": "2020-11-28T09:53:12.946Z",
- "contributors": [
- "HerbertLim",
- "chupark"
- ]
- },
- "Learn/JavaScript/Asynchronous/Concepts": {
- "modified": "2020-11-17T21:41:39.368Z",
- "contributors": [
- "mochapoke",
- "Plut0",
- "chupark",
- "eunjungleecub"
- ]
- },
- "Learn/JavaScript/Asynchronous/Introducing": {
- "modified": "2020-11-17T21:53:14.519Z",
- "contributors": [
- "mochapoke",
- "chupark"
- ]
- },
- "Learn/JavaScript/Asynchronous/Promises": {
- "modified": "2020-11-23T02:04:50.435Z",
- "contributors": [
- "varvir",
- "chupark"
- ]
- },
- "Learn/JavaScript/Asynchronous/Timeouts_and_intervals": {
- "modified": "2020-07-16T22:33:21.049Z",
- "contributors": [
- "cjkcc69"
- ]
- },
- "Learn/JavaScript/Building_blocks": {
- "modified": "2020-07-16T22:31:09.649Z",
- "contributors": [
- "ojongchul",
- "harry-cong",
- "limkukhyun"
- ]
- },
- "Learn/JavaScript/Building_blocks/Build_your_own_function": {
- "modified": "2020-11-12T19:32:09.012Z",
- "contributors": [
- "Sufera",
- "chupark"
- ]
- },
- "Learn/JavaScript/Building_blocks/Functions": {
- "modified": "2020-11-03T11:28:18.463Z",
- "contributors": [
- "mochapoke",
- "unfolz",
- "geudae",
- "chupark",
- "jivasangcript",
- "heejink",
- "jokh0108",
- "JeonghoonChoi"
- ]
- },
- "Learn/JavaScript/Building_blocks/Looping_code": {
- "modified": "2020-07-18T08:25:59.049Z",
- "contributors": [
- "cluelin",
- "Nerd-Bear",
- "Choco0914",
- "SphinxKnight"
- ]
- },
- "Learn/JavaScript/Building_blocks/조건문": {
- "modified": "2020-08-19T22:28:52.853Z",
- "contributors": [
- "ramgabi",
- "ojongchul",
- "JaeWorld",
- "notypicalus",
- "Jonnie-Lion",
- "gsphyo91"
- ]
- },
- "Learn/JavaScript/Client-side_web_APIs": {
- "modified": "2020-07-16T22:32:40.572Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Learn/JavaScript/Client-side_web_APIs/Client-side_storage": {
- "modified": "2020-11-25T10:48:03.033Z",
- "contributors": [
- "KeisLuv",
- "Shiwoo-Park"
- ]
- },
- "Learn/JavaScript/First_steps": {
- "modified": "2020-07-16T22:29:52.931Z",
- "contributors": [
- "hahehohoo",
- "deltakor1234",
- "officialmansu",
- "alattalatta",
- "peacekimjapan",
- "sudokiz",
- "osori",
- "kidkkr",
- "galcyurio",
- "ChanghwaLee"
- ]
- },
- "Learn/JavaScript/First_steps/A_first_splash": {
- "modified": "2020-07-16T22:30:19.219Z",
- "contributors": [
- "hyeonjun_jo",
- "theun0524",
- "dejoro",
- "jennybehan",
- "SSJ-unclear",
- "LoverKei",
- "thkimmiridih",
- "ChanghwaLee"
- ]
- },
- "Learn/JavaScript/First_steps/Arrays": {
- "modified": "2020-07-16T22:30:56.272Z",
- "contributors": [
- "chupark",
- "EvanKim",
- "heedaelee",
- "limkukhyun",
- "SSJ-unclear"
- ]
- },
- "Learn/JavaScript/First_steps/Math": {
- "modified": "2020-11-28T11:49:29.100Z",
- "contributors": [
- "randi65535",
- "sshplendid",
- "daesD"
- ]
- },
- "Learn/JavaScript/First_steps/Silly_story_generator": {
- "modified": "2020-08-21T05:13:22.652Z",
- "contributors": [
- "zero0yes",
- "chupark",
- "Jonnie-Lion"
- ]
- },
- "Learn/JavaScript/First_steps/Strings": {
- "modified": "2020-07-16T22:30:40.608Z",
- "contributors": [
- "jivasangcript",
- "deltakor1234",
- "wisedog",
- "limkukhyun",
- "SSJ-unclear"
- ]
- },
- "Learn/JavaScript/First_steps/Useful_string_methods": {
- "modified": "2020-09-01T23:43:42.532Z",
- "contributors": [
- "junnapark",
- "jivasangcript",
- "EvanKim",
- "hnuh",
- "deltakor1234",
- "miyunim",
- "limong",
- "daesD",
- "DrOhjho",
- "ChanghwaLee"
- ]
- },
- "Learn/JavaScript/First_steps/Variables": {
- "modified": "2020-07-16T22:30:01.156Z",
- "contributors": [
- "sangheon-kim",
- "yeonjukim",
- "miyeunlee",
- "LoverKei",
- "DrOhjho",
- "ChanghwaLee"
- ]
- },
- "Learn/JavaScript/First_steps/What_is_JavaScript": {
- "modified": "2020-07-16T22:30:10.331Z",
- "contributors": [
- "parkchoongho",
- "presentY1897",
- "developer-do",
- "alattalatta",
- "henry_hwang",
- "minjihee89",
- "yujinkim",
- "khg0712",
- "pustinia",
- "wisedog",
- "2kindsofcs",
- "LoverKei",
- "seungha-kim",
- "ChanghwaLee"
- ]
- },
- "Learn/JavaScript/First_steps/What_went_wrong": {
- "modified": "2020-07-16T22:30:35.085Z",
- "contributors": [
- "search5",
- "kode15333",
- "minjihee89",
- "eungbean",
- "ullalassong",
- "LoverKei",
- "hjs6877",
- "jswisher",
- "ChanghwaLee"
- ]
- },
- "Learn/JavaScript/Howto": {
- "modified": "2020-07-16T22:33:10.275Z",
- "contributors": [
- "guyeol"
- ]
- },
- "Learn/JavaScript/Objects": {
- "modified": "2020-07-16T22:31:51.471Z",
- "contributors": [
- "cs09g",
- "hyunkwon_88_cho",
- "Parcovia",
- "beowolf9",
- "dsma73",
- "Yoonjoo"
- ]
- },
- "Learn/JavaScript/Objects/Basics": {
- "modified": "2020-07-16T22:32:00.687Z",
- "contributors": [
- "youngdeok",
- "cs09g",
- "Parcovia",
- "beowolf9",
- "dsma73"
- ]
- },
- "Learn/JavaScript/Objects/Inheritance": {
- "modified": "2020-07-16T22:32:15.138Z",
- "contributors": [
- "youngdeok",
- "quddnr153",
- "beowolf9",
- "ahnzaz"
- ]
- },
- "Learn/JavaScript/Objects/JSON": {
- "modified": "2020-08-11T02:41:01.905Z",
- "contributors": [
- "june0419",
- "main2039",
- "unfolz",
- "bjnhur",
- "JaeWorld",
- "ahnzaz"
- ]
- },
- "Learn/JavaScript/Objects/Object-oriented_JS": {
- "modified": "2020-07-16T22:32:06.697Z",
- "contributors": [
- "alattalatta",
- "beowolf9",
- "lunarlit",
- "dsma73"
- ]
- },
- "Learn/JavaScript/Objects/Object_prototypes": {
- "modified": "2020-07-16T22:32:21.572Z",
- "contributors": [
- "beowolf9",
- "chungheepark",
- "ahnzaz"
- ]
- },
- "Learn/Server-side": {
- "modified": "2020-07-16T22:35:59.813Z",
- "contributors": [
- "alattalatta",
- "ssilb4",
- "chrisdavidmills"
- ]
- },
- "Learn/Server-side/Django": {
- "modified": "2020-07-16T22:36:34.026Z",
- "contributors": [
- "eunjungleecub",
- "seokhoonhong",
- "byoung_hyun",
- "ChanghwaLee"
- ]
- },
- "Learn/Server-side/Django/Admin_site": {
- "modified": "2020-07-16T22:37:04.223Z",
- "contributors": [
- "honeybees",
- "catedt",
- "KSYong",
- "SYCHOI"
- ]
- },
- "Learn/Server-side/Django/Authentication": {
- "modified": "2020-08-14T13:01:24.756Z",
- "contributors": [
- "peterkim",
- "proost",
- "dorage",
- "PeterKim1967",
- "SYCHOI"
- ]
- },
- "Learn/Server-side/Django/Deployment": {
- "modified": "2020-07-16T22:37:41.948Z",
- "contributors": [
- "honggaruy"
- ]
- },
- "Learn/Server-side/Django/Forms": {
- "modified": "2020-07-16T22:37:32.573Z",
- "contributors": [
- "leemmh14",
- "hecaiont",
- "lunar96",
- "honggaruy"
- ]
- },
- "Learn/Server-side/Django/Generic_views": {
- "modified": "2020-07-16T22:37:17.289Z",
- "contributors": [
- "proost",
- "yongtaekjun",
- "Seonghui",
- "KSYong",
- "SYCHOI"
- ]
- },
- "Learn/Server-side/Django/Home_page": {
- "modified": "2020-07-16T22:37:09.780Z",
- "contributors": [
- "KSYong",
- "SYCHOI"
- ]
- },
- "Learn/Server-side/Django/Introduction": {
- "modified": "2020-07-16T22:36:40.248Z",
- "contributors": [
- "myanjini",
- "NealLab",
- "shineYi",
- "skim0726",
- "JeonghoonChoi",
- "KSYong",
- "gaonK",
- "dinobei",
- "teddyc",
- "honggaruy",
- "LeeJunyeol",
- "RyuGeunYeol",
- "seokhoonhong",
- "ChanghwaLee"
- ]
- },
- "Learn/Server-side/Django/Models": {
- "modified": "2020-07-16T22:36:58.942Z",
- "contributors": [
- "myanjini",
- "TKcard",
- "catedt",
- "KSYong",
- "SYCHOI"
- ]
- },
- "Learn/Server-side/Django/Sessions": {
- "modified": "2020-07-16T22:37:27.249Z",
- "contributors": [
- "proost",
- "yongtaekjun",
- "PeterKim1967",
- "SYCHOI"
- ]
- },
- "Learn/Server-side/Django/Testing": {
- "modified": "2020-10-07T12:14:45.041Z",
- "contributors": [
- "khyunji",
- "didguscjf95",
- "zxzl",
- "PeterKim1967",
- "honggaruy",
- "SYCHOI"
- ]
- },
- "Learn/Server-side/Django/Tutorial_local_library_website": {
- "modified": "2020-07-16T22:36:49.935Z",
- "contributors": [
- "myanjini",
- "ChangYoonJai",
- "honggaruy",
- "Jonnie-Lion"
- ]
- },
- "Learn/Server-side/Django/development_environment": {
- "modified": "2020-07-16T22:36:45.947Z",
- "contributors": [
- "myanjini",
- "honggaruy",
- "KSYong",
- "SYCHOI",
- "kyueunQ",
- "JieunKim"
- ]
- },
- "Learn/Server-side/Django/skeleton_website": {
- "modified": "2020-07-16T22:36:53.604Z",
- "contributors": [
- "myanjini",
- "dryben",
- "yongtaekjun",
- "KSYong",
- "ChangYoonJai",
- "SYCHOI"
- ]
- },
- "Learn/Server-side/Django/web_application_security": {
- "modified": "2020-10-09T00:35:51.288Z",
- "contributors": [
- "cozyClassic",
- "eunjungleecub"
- ]
- },
- "Learn/Server-side/Express_Nodejs": {
- "modified": "2020-07-16T22:37:53.538Z",
- "contributors": [
- "iyabong",
- "sshplendid",
- "jjwkdl",
- "ChanghwaLee"
- ]
- },
- "Learn/Server-side/Express_Nodejs/Introduction": {
- "modified": "2020-08-30T23:57:41.028Z",
- "contributors": [
- "Sunmin0520",
- "Kyungminkim31",
- "iyabong",
- "Je-Gwan",
- "peacekimjapan",
- "silmari",
- "2dubbing",
- "Ken123777",
- "ByeongGi",
- "ChanghwaLee"
- ]
- },
- "Learn/Server-side/Express_Nodejs/mongoose": {
- "modified": "2020-07-16T22:38:21.935Z",
- "contributors": [
- "SuminNoh",
- "LeeJunyeol"
- ]
- },
- "Learn/Server-side/Express_Nodejs/routes": {
- "modified": "2020-07-16T22:38:26.931Z",
- "contributors": [
- "iwanttoeatsogogiverymuch",
- "ByeongGi"
- ]
- },
- "Learn/Server-side/Express_Nodejs/개발_환경": {
- "modified": "2020-07-16T22:37:59.245Z",
- "contributors": [
- "DDark"
- ]
- },
- "Learn/Server-side/Express_Nodejs/스켈레톤_웹사이트": {
- "modified": "2020-07-16T22:38:05.117Z",
- "contributors": [
- "SYCHOI"
- ]
- },
- "Learn/Server-side/First_steps": {
- "modified": "2020-07-16T22:36:09.855Z",
- "contributors": [
- "Je-Gwan",
- "bcc829",
- "DongleLeaf",
- "ljt94"
- ]
- },
- "Learn/Server-side/First_steps/Client-Server_overview": {
- "modified": "2020-07-16T22:36:20.747Z",
- "contributors": [
- "varvir",
- "bcc829"
- ]
- },
- "Learn/Server-side/First_steps/Introduction": {
- "modified": "2020-07-16T22:36:15.405Z",
- "contributors": [
- "galcyurio",
- "bcc829"
- ]
- },
- "Learn/Server-side/First_steps/Web_frameworks": {
- "modified": "2020-07-16T22:36:25.153Z",
- "contributors": [
- "proost",
- "shotbyshot",
- "bcc829",
- "Je-Gwan",
- "hongroba"
- ]
- },
- "Learn/Server-side/First_steps/Website_security": {
- "modified": "2020-07-16T22:36:28.967Z",
- "contributors": [
- "hrahn",
- "wafersroom"
- ]
- },
- "Learn/Skills": {
- "modified": "2020-07-16T22:22:13.258Z",
- "contributors": [
- "Netaras",
- "KwanHong_Lee66"
- ]
- },
- "Learn/Tools_and_testing": {
- "modified": "2020-07-16T22:38:56.112Z",
- "contributors": [
- "Epikem"
- ]
- },
- "Learn/Tools_and_testing/Client-side_JavaScript_frameworks": {
- "modified": "2020-10-25T02:13:43.260Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_first_component": {
- "modified": "2020-11-29T06:58:47.196Z",
- "contributors": [
- "imtherealk"
- ]
- },
- "Learn/Tools_and_testing/Client-side_JavaScript_frameworks/Vue_getting_started": {
- "modified": "2020-11-22T21:30:23.419Z",
- "contributors": [
- "imtherealk"
- ]
- },
- "Learn/Tools_and_testing/GitHub": {
- "modified": "2020-09-02T01:34:47.238Z",
- "contributors": [
- "junnapark",
- "chrisdavidmills",
- "04SeoHyun"
- ]
- },
- "Learn/Web_기술": {
- "modified": "2020-07-16T22:22:13.488Z",
- "contributors": [
- "zziuni",
- "Netaras",
- "teoli",
- "cs09g"
- ]
- },
- "Learn/접근성": {
- "modified": "2020-07-16T22:39:58.455Z",
- "contributors": [
- "cs09g",
- "seunghun"
- ]
- },
- "Learn/접근성/HTML": {
- "modified": "2020-07-16T22:40:12.947Z",
- "contributors": [
- "dev-dongwon"
- ]
- },
- "Learn/접근성/What_is_accessibility": {
- "modified": "2020-07-16T22:40:05.805Z",
- "contributors": [
- "seunghun"
- ]
- },
- "Learn/접근성/모바일": {
- "modified": "2020-07-16T22:40:31.872Z",
- "contributors": [
- "seunghun"
- ]
- },
- "Localization": {
- "modified": "2019-03-23T23:49:35.627Z",
- "contributors": [
- "teoli",
- "Netaras",
- "Unixcruiser",
- "Gilchris"
- ]
- },
- "MDN": {
- "modified": "2019-09-10T15:43:01.288Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "zziuni",
- "Jeremie",
- "nacyot",
- "hoony",
- "devleoper",
- "jswisher"
- ]
- },
- "MDN/About": {
- "modified": "2019-09-10T08:53:31.700Z",
- "contributors": [
- "SphinxKnight",
- "alattalatta",
- "wbamberg",
- "zziuni",
- "jswisher",
- "LimeClover",
- "empol",
- "leosangwon"
- ]
- },
- "MDN/About/MDN_services": {
- "modified": "2020-12-05T03:06:45.428Z",
- "contributors": [
- "movegun1027"
- ]
- },
- "MDN/Community": {
- "modified": "2020-03-03T01:53:44.470Z",
- "contributors": [
- "SphinxKnight",
- "alattalatta",
- "wbamberg",
- "gaucho1218",
- "zziuni",
- "unixforever",
- "woojin.jo",
- "cs09g"
- ]
- },
- "MDN/Community/Conversations": {
- "modified": "2020-02-05T05:27:57.215Z",
- "contributors": [
- "SphinxKnight",
- "alattalatta",
- "wbamberg",
- "jswisher",
- "woojin.jo"
- ]
- },
- "MDN/Community/Roles": {
- "modified": "2020-02-05T05:27:56.868Z",
- "contributors": [
- "SphinxKnight",
- "alattalatta",
- "wbamberg",
- "Sheppy"
- ]
- },
- "MDN/Community/Roles/Admins": {
- "modified": "2020-02-05T05:27:57.100Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "woojin.jo"
- ]
- },
- "MDN/Community/Roles/Localization_driver_role": {
- "modified": "2020-02-05T05:27:56.977Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "woojin.jo"
- ]
- },
- "MDN/Community/Working_in_community": {
- "modified": "2020-09-01T05:37:50.669Z",
- "contributors": [
- "junnapark"
- ]
- },
- "MDN/Contribute": {
- "modified": "2019-01-16T19:13:18.509Z",
- "contributors": [
- "wbamberg",
- "zziuni",
- "hoony",
- "Junny",
- "Sheppy"
- ]
- },
- "MDN/Contribute/Creating_and_editing_pages": {
- "modified": "2019-03-23T23:13:39.002Z",
- "contributors": [
- "wbamberg",
- "kkokey",
- "zziuni",
- "naduhy2",
- "nodejs",
- "AlwaysOnce",
- "KwanHong_Lee66"
- ]
- },
- "MDN/Contribute/Does_this_belong": {
- "modified": "2019-01-16T19:22:53.277Z",
- "contributors": [
- "wbamberg",
- "zziuni",
- "yssuh",
- "leosangwon"
- ]
- },
- "MDN/Contribute/Feedback": {
- "modified": "2020-09-30T17:51:50.022Z",
- "contributors": [
- "chrisdavidmills",
- "SphinxKnight",
- "wbamberg",
- "zziuni",
- "jswisher",
- "LimeClover"
- ]
- },
- "MDN/Contribute/Getting_started": {
- "modified": "2020-11-09T03:14:41.161Z",
- "contributors": [
- "SphinxKnight",
- "aldjsu.ascii",
- "chrisdavidmills",
- "khg0712",
- "alattalatta",
- "lukibum",
- "wbamberg",
- "ahnzaz",
- "zziuni",
- "cs09g",
- "Kaben",
- "Rohn",
- "Junbong",
- "leosangwon",
- "KwanHong_Lee66",
- "loslch"
- ]
- },
- "MDN/Contribute/Howto": {
- "modified": "2019-01-16T19:13:26.954Z",
- "contributors": [
- "wbamberg",
- "zziuni",
- "Netaras",
- "Junbong",
- "KwanHong_Lee66",
- "Sheppy"
- ]
- },
- "MDN/Contribute/Howto/Do_a_technical_review": {
- "modified": "2019-01-16T19:23:36.745Z",
- "contributors": [
- "wbamberg",
- "KwanHong_Lee66"
- ]
- },
- "MDN/Contribute/Howto/Do_an_editorial_review": {
- "modified": "2019-03-23T22:50:43.806Z",
- "contributors": [
- "wbamberg",
- "Saru",
- "peacekimjapan",
- "sominlee",
- "novelview9",
- "woojin.jo",
- "Epikem",
- "misol"
- ]
- },
- "MDN/Contribute/Howto/MDN_계정_생성하기": {
- "modified": "2019-01-16T19:16:28.756Z",
- "contributors": [
- "wbamberg",
- "chiyodad",
- "Junbong",
- "KwanHong_Lee66"
- ]
- },
- "MDN/Contribute/Howto/Report_a_problem": {
- "modified": "2020-01-07T12:20:00.841Z",
- "contributors": [
- "peterbe",
- "wbamberg",
- "LimeClover"
- ]
- },
- "MDN/Contribute/Howto/Set_the_summary_for_a_page": {
- "modified": "2019-03-23T23:14:13.204Z",
- "contributors": [
- "zziuni",
- "wbamberg",
- "KwanHong_Lee66"
- ]
- },
- "MDN/Contribute/Howto/Tag": {
- "modified": "2019-03-18T20:41:26.193Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "minwook-shin",
- "plzfday"
- ]
- },
- "MDN/Contribute/Howto/Tag_JavaScript_pages": {
- "modified": "2019-01-17T00:11:42.268Z",
- "contributors": [
- "wbamberg",
- "woojin.jo"
- ]
- },
- "MDN/Contribute/Howto/Write_an_article_to_help_learn_about_the_Web": {
- "modified": "2020-02-28T22:23:49.633Z",
- "contributors": [
- "wbamberg",
- "Saru",
- "2oosoo"
- ]
- },
- "MDN/Contribute/Howto/살아있는_코드_샘플로_변환하기": {
- "modified": "2019-01-16T19:48:52.048Z",
- "contributors": [
- "wbamberg",
- "Junbong"
- ]
- },
- "MDN/Contribute/Processes": {
- "modified": "2019-01-17T02:54:48.050Z",
- "contributors": [
- "wbamberg",
- "zziuni"
- ]
- },
- "MDN/Editor": {
- "modified": "2020-09-30T15:42:29.661Z",
- "contributors": [
- "chrisdavidmills",
- "ehgus",
- "wbamberg",
- "zziuni",
- "821065887131",
- "sominlee",
- "Netaras",
- "Kaben",
- "misol"
- ]
- },
- "MDN/Editor/Links": {
- "modified": "2020-09-30T15:42:30.015Z",
- "contributors": [
- "chrisdavidmills",
- "honggaruy"
- ]
- },
- "MDN/Guidelines": {
- "modified": "2020-09-30T15:30:34.264Z",
- "contributors": [
- "chrisdavidmills",
- "wbamberg",
- "zziuni",
- "Netaras",
- "Sheppy"
- ]
- },
- "MDN/Guidelines/Best_practices": {
- "modified": "2020-09-30T15:30:34.436Z",
- "contributors": [
- "chrisdavidmills",
- "wbamberg",
- "Netaras"
- ]
- },
- "MDN/Guidelines/Code_guidelines": {
- "modified": "2020-09-30T15:30:34.683Z",
- "contributors": [
- "chrisdavidmills"
- ]
- },
- "MDN/Guidelines/Code_guidelines/CSS": {
- "modified": "2020-09-30T15:30:35.142Z",
- "contributors": [
- "chrisdavidmills",
- "java2020007"
- ]
- },
- "MDN/Guidelines/Code_guidelines/Code_guidelines": {
- "modified": "2020-09-30T15:30:35.323Z",
- "contributors": [
- "chrisdavidmills",
- "honggaruy"
- ]
- },
- "MDN/Guidelines/Style_guide": {
- "modified": "2020-09-30T15:30:35.279Z",
- "contributors": [
- "chrisdavidmills",
- "honggaruy",
- "jswisher",
- "alattalatta",
- "wbamberg",
- "sominlee",
- "naduhy2",
- "dale0713",
- "epicsaga"
- ]
- },
- "MDN/Kuma": {
- "modified": "2019-09-06T03:29:26.311Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "zziuni"
- ]
- },
- "MDN/Structures": {
- "modified": "2020-09-30T12:56:35.534Z",
- "contributors": [
- "chrisdavidmills",
- "zziuni",
- "wbamberg",
- "Netaras",
- "hoony"
- ]
- },
- "MDN/Structures/API_references": {
- "modified": "2020-09-30T12:56:35.705Z",
- "contributors": [
- "chrisdavidmills",
- "zziuni"
- ]
- },
- "MDN/Structures/API_references/API_reference_sidebars": {
- "modified": "2020-09-30T12:56:35.846Z",
- "contributors": [
- "chrisdavidmills",
- "zziuni"
- ]
- },
- "MDN/Structures/Compatibility_tables": {
- "modified": "2020-10-15T22:03:04.448Z",
- "contributors": [
- "chrisdavidmills",
- "wbamberg",
- "Kuiprux",
- "kewlbear"
- ]
- },
- "MDN/Structures/Macros": {
- "modified": "2020-09-30T12:56:35.761Z",
- "contributors": [
- "chrisdavidmills",
- "wbamberg",
- "Netaras"
- ]
- },
- "MDN/Structures/Macros/Commonly-used_macros": {
- "modified": "2020-09-30T12:56:36.084Z",
- "contributors": [
- "chrisdavidmills",
- "wbamberg",
- "teoli",
- "fscholz",
- "Netaras"
- ]
- },
- "MDN/Tools": {
- "modified": "2020-09-30T16:51:24.922Z",
- "contributors": [
- "chrisdavidmills",
- "wbamberg",
- "zziuni",
- "frankradio",
- "galcyurio",
- "Vi01et",
- "jswisher"
- ]
- },
- "MDN/Tools/KumaScript": {
- "modified": "2020-11-30T12:49:14.835Z",
- "contributors": [
- "chrisdavidmills",
- "mfuji09"
- ]
- },
- "MDN/Tools/KumaScript/Troubleshooting": {
- "modified": "2020-09-30T16:51:25.656Z",
- "contributors": [
- "chrisdavidmills",
- "Silvermist"
- ]
- },
- "MDN/Tools/페이지_재생성": {
- "modified": "2020-09-30T16:51:25.059Z",
- "contributors": [
- "chrisdavidmills",
- "wbamberg",
- "Netaras"
- ]
- },
- "MDN/User_guide": {
- "modified": "2019-01-16T20:50:22.654Z",
- "contributors": [
- "wbamberg",
- "andrewJYjang"
- ]
- },
- "MDN_at_ten": {
- "modified": "2019-03-23T22:41:30.825Z",
- "contributors": [
- "LimeClover",
- "jefflee0127"
- ]
- },
- "Mozilla": {
- "modified": "2019-03-23T23:35:24.435Z",
- "contributors": [
- "zziuni",
- "ethertank"
- ]
- },
- "Mozilla/Add-ons": {
- "modified": "2020-02-05T05:41:49.868Z",
- "contributors": [
- "SphinxKnight",
- "paperbox",
- "goldragoon",
- "Vi01et",
- "LimeClover",
- "pineoc",
- "hanulnun",
- "hoony",
- "JHKinkorea"
- ]
- },
- "Mozilla/Add-ons/WebExtensions": {
- "modified": "2020-02-05T05:41:52.464Z",
- "contributors": [
- "SphinxKnight",
- "sylee0424",
- "kkame",
- "821065887131",
- "junthus",
- "jwhitlock",
- "wbamberg"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API": {
- "modified": "2020-02-05T05:41:53.526Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/browsingData": {
- "modified": "2020-10-15T21:53:38.747Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "hoony"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/contentScripts": {
- "modified": "2020-10-15T22:14:47.389Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/contextMenus": {
- "modified": "2020-10-15T21:53:39.975Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo",
- "wbamberg",
- "hoony"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/contextMenus/ContextType": {
- "modified": "2020-10-15T22:14:46.556Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/contextMenus/create": {
- "modified": "2020-10-15T22:14:49.550Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/contextMenus/getTargetElement": {
- "modified": "2020-10-15T22:14:45.950Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/contextMenus/onShown": {
- "modified": "2020-10-15T22:14:49.769Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/pageAction": {
- "modified": "2020-10-15T22:14:47.058Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/pageAction/show": {
- "modified": "2020-10-15T22:14:47.700Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/storage": {
- "modified": "2020-10-15T21:53:35.730Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo",
- "wbamberg"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/storage/StorageArea": {
- "modified": "2020-10-15T22:14:43.771Z",
- "contributors": [
- "SphinxKnight",
- "fscholz"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/get": {
- "modified": "2020-10-15T22:14:43.586Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set": {
- "modified": "2020-10-15T22:14:43.993Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/storage/local": {
- "modified": "2020-10-15T22:14:44.876Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/storage/sync": {
- "modified": "2020-10-15T21:53:37.479Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo",
- "wbamberg",
- "hoony"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/tabs": {
- "modified": "2020-10-15T21:53:43.689Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "grizlupo",
- "abbycar"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/tabs/create": {
- "modified": "2020-10-15T22:14:46.262Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/tabs/insertCSS": {
- "modified": "2020-10-15T21:53:36.011Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "hoony"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/webRequest": {
- "modified": "2020-10-15T21:53:39.205Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo",
- "wbamberg",
- "alattalatta",
- "abbycar"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/API/webRequest/onBeforeRequest": {
- "modified": "2020-10-15T21:53:40.126Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "hoony"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension": {
- "modified": "2020-02-05T05:41:56.954Z",
- "contributors": [
- "SphinxKnight",
- "junthus",
- "gs.won"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/Content_scripts": {
- "modified": "2020-02-05T05:41:58.739Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/Examples": {
- "modified": "2020-02-05T05:41:58.537Z",
- "contributors": [
- "SphinxKnight",
- "gs.won"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/Prerequisites": {
- "modified": "2020-02-05T05:41:53.311Z",
- "contributors": [
- "SphinxKnight",
- "jwhitlock",
- "JangmiJo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/User_actions": {
- "modified": "2020-02-05T05:41:59.190Z",
- "contributors": [
- "SphinxKnight",
- "sylee0424"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/What_are_WebExtensions": {
- "modified": "2020-02-05T05:41:57.968Z",
- "contributors": [
- "SphinxKnight",
- "junthus",
- "gs.won"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/Your_first_WebExtension": {
- "modified": "2020-02-05T05:41:57.199Z",
- "contributors": [
- "SphinxKnight",
- "yongbin_kim",
- "laziel",
- "gs.won"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/Your_second_WebExtension": {
- "modified": "2020-02-05T05:41:57.511Z",
- "contributors": [
- "SphinxKnight",
- "gs.won"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/manifest.json": {
- "modified": "2020-02-05T05:41:52.321Z",
- "contributors": [
- "SphinxKnight",
- "jwhitlock",
- "JangmiJo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts": {
- "modified": "2020-10-15T22:23:29.241Z",
- "contributors": [
- "SphinxKnight",
- "kimyounguk"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/manifest.json/page_action": {
- "modified": "2020-10-15T22:14:42.506Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/user_interface": {
- "modified": "2020-02-05T05:42:07.693Z",
- "contributors": [
- "SphinxKnight",
- "hellosct1"
- ]
- },
- "Mozilla/Add-ons/WebExtensions/user_interface/Page_actions": {
- "modified": "2020-02-05T05:41:58.973Z",
- "contributors": [
- "SphinxKnight",
- "grizlupo"
- ]
- },
- "Mozilla/Developer_guide": {
- "modified": "2020-02-05T05:21:09.846Z",
- "contributors": [
- "SphinxKnight",
- "green-autumn",
- "bskari"
- ]
- },
- "Mozilla/Developer_guide/Eclipse": {
- "modified": "2020-02-05T05:21:12.647Z",
- "contributors": [
- "SphinxKnight",
- "Jonathan_Watt"
- ]
- },
- "Mozilla/Developer_guide/Eclipse/Eclipse_CDT": {
- "modified": "2020-02-05T05:21:13.017Z",
- "contributors": [
- "SphinxKnight",
- "yuj25"
- ]
- },
- "Mozilla/Developer_guide/Mozilla_Build_FAQ": {
- "modified": "2020-02-05T05:21:11.846Z",
- "contributors": [
- "SphinxKnight",
- "teoli",
- "NoBrain"
- ]
- },
- "Mozilla/Developer_guide/Source_Code": {
- "modified": "2020-02-05T05:21:12.166Z",
- "contributors": [
- "SphinxKnight",
- "alattalatta",
- "jntesteves"
- ]
- },
- "Mozilla/Firefox": {
- "modified": "2020-01-18T13:50:03.451Z",
- "contributors": [
- "leela52452",
- "04SeoHyun",
- "SphinxKnight",
- "wbamberg",
- "alattalatta",
- "LimeClover",
- "HarryCho",
- "paperbox",
- "hyeonseok",
- "jongho"
- ]
- },
- "Mozilla/Firefox/Releases": {
- "modified": "2020-11-26T10:13:11.306Z",
- "contributors": [
- "dink95",
- "alattalatta",
- "ziyunfei"
- ]
- },
- "Mozilla/Firefox/Releases/3": {
- "modified": "2019-03-23T23:19:50.607Z",
- "contributors": [
- "nacyot",
- "ethertank"
- ]
- },
- "Mozilla/Firefox/Releases/66": {
- "modified": "2019-04-07T22:34:47.827Z",
- "contributors": [
- "niceman114"
- ]
- },
- "Mozilla_Source_Code_Via_CVS": {
- "modified": "2019-03-23T23:42:11.059Z",
- "contributors": [
- "teoli",
- "NoBrain"
- ]
- },
- "Navigation_timing": {
- "modified": "2019-03-23T23:19:34.117Z",
- "contributors": [
- "sbnet21"
- ]
- },
- "Node_server_without_framework": {
- "modified": "2020-07-16T22:36:05.665Z",
- "contributors": [
- "kidkkr"
- ]
- },
- "Notable_bugs_fixed_in_Firefox_3": {
- "modified": "2019-03-23T23:51:11.073Z",
- "contributors": [
- "teoli",
- "Jeongkyu"
- ]
- },
- "Places/Custom_Containers": {
- "modified": "2020-01-12T05:08:34.067Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "Jeongkyu"
- ]
- },
- "Places/Instantiating_Views": {
- "modified": "2020-01-12T05:08:39.519Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "Jeongkyu"
- ]
- },
- "Places/Query_System": {
- "modified": "2019-04-20T03:50:18.185Z",
- "contributors": [
- "wbamberg",
- "teoli",
- "Jeongkyu"
- ]
- },
- "Places/Views": {
- "modified": "2020-01-12T05:08:46.290Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "Jeongkyu"
- ]
- },
- "SVG_improvements_in_Firefox_3": {
- "modified": "2019-03-23T23:51:12.606Z",
- "contributors": [
- "teoli",
- "Suguni"
- ]
- },
- "SVG_in_Firefox": {
- "modified": "2019-03-23T23:41:45.344Z",
- "contributors": [
- "teoli",
- "Cliffet",
- "taggon"
- ]
- },
- "Scripting_Plugins": {
- "modified": "2019-01-16T15:11:14.478Z",
- "contributors": [
- "teoli",
- "Anonymous"
- ]
- },
- "The_DOM_and_JavaScript": {
- "modified": "2019-12-13T21:09:57.295Z",
- "contributors": [
- "wbamberg",
- "Netaras",
- "Sebuls"
- ]
- },
- "Theme_Packaging": {
- "modified": "2019-03-23T23:42:36.273Z",
- "contributors": [
- "teoli",
- "애들아빠"
- ]
- },
- "Tips_for_Authoring_Fast-loading_HTML_Pages": {
- "modified": "2020-07-16T22:22:33.009Z",
- "contributors": [
- "ybin",
- "teoli",
- "Jeongsw",
- "Sebuls"
- ]
- },
- "Tools": {
- "modified": "2020-07-16T22:44:16.209Z",
- "contributors": [
- "SphinxKnight",
- "desty",
- "hoony",
- "devleoper",
- "Junbong",
- "Feb30th",
- "JeongSeongDae",
- "loslch",
- "JHKinkorea"
- ]
- },
- "Tools/Add-ons": {
- "modified": "2020-07-16T22:36:23.557Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "mfluehr"
- ]
- },
- "Tools/Add-ons/DOM_Inspector": {
- "modified": "2020-07-16T22:36:24.511Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "Sebuls"
- ]
- },
- "Tools/Debugger": {
- "modified": "2020-07-16T22:35:05.164Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "toyuq",
- "nacyot",
- "gblue1223"
- ]
- },
- "Tools/Debugger/UI_Tour": {
- "modified": "2020-07-16T22:35:16.703Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "toyuq"
- ]
- },
- "Tools/Debugger/단축키": {
- "modified": "2020-07-16T22:35:18.793Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "toyuq"
- ]
- },
- "Tools/How_to": {
- "modified": "2020-07-16T22:35:07.978Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg"
- ]
- },
- "Tools/How_to/Open_the_debugger": {
- "modified": "2020-07-16T22:35:09.268Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "toyuq",
- "galcyurio"
- ]
- },
- "Tools/How_to/Search": {
- "modified": "2020-07-16T22:35:15.581Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "toyuq"
- ]
- },
- "Tools/How_to/Set_a_breakpoint": {
- "modified": "2020-07-16T22:35:10.232Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "toyuq"
- ]
- },
- "Tools/Network_Monitor": {
- "modified": "2020-07-16T22:35:30.711Z",
- "contributors": [
- "SphinxKnight",
- "yeonjukim",
- "wicksome"
- ]
- },
- "Tools/Page_Inspector": {
- "modified": "2020-07-16T22:34:28.500Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "stitchworkingonthecode"
- ]
- },
- "Tools/Page_Inspector/UI_Tour": {
- "modified": "2020-07-16T22:34:49.329Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "stitchworkingonthecode"
- ]
- },
- "Tools/Performance": {
- "modified": "2020-07-16T22:36:13.082Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "nacyot",
- "gblue1223",
- "roupkk",
- "H-yun"
- ]
- },
- "Tools/Performance/UI_Tour": {
- "modified": "2020-07-16T22:36:15.183Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "OhSeungHyeon"
- ]
- },
- "Tools/Remote_Debugging": {
- "modified": "2020-07-16T22:35:37.664Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "nacyot",
- "Zzpeehyun",
- "Pinkminj",
- "crankup78"
- ]
- },
- "Tools/Remote_Debugging/Firefox_for_Android": {
- "modified": "2020-07-16T22:35:39.309Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "thqkrdl502"
- ]
- },
- "Tools/Web_Console": {
- "modified": "2020-07-16T22:34:06.575Z",
- "contributors": [
- "SphinxKnight",
- "wbamberg",
- "Blackcoffee"
- ]
- },
- "Updating_extensions_for_Firefox_2": {
- "modified": "2019-03-23T23:47:28.581Z",
- "contributors": [
- "Channy"
- ]
- },
- "Updating_extensions_for_Firefox_3": {
- "modified": "2019-12-13T20:35:48.646Z",
- "contributors": [
- "wbamberg",
- "Sheppy",
- "Suguni"
- ]
- },
- "Updating_web_applications_for_Firefox_3": {
- "modified": "2019-03-23T23:50:12.740Z",
- "contributors": [
- "wbamberg",
- "teoli",
- "Sheppy",
- "Channy"
- ]
- },
- "Using_Mozilla_in_Testing_and_Debugging_Web_Sites": {
- "modified": "2019-03-23T23:13:10.960Z",
- "contributors": [
- "cap3618"
- ]
- },
- "Using_XPath": {
- "modified": "2019-01-16T14:19:09.939Z",
- "contributors": [
- "kmaglione",
- "Gilchris"
- ]
- },
- "Web": {
- "modified": "2020-02-16T02:49:58.384Z",
- "contributors": [
- "lundella",
- "alattalatta",
- "ehgus",
- "limkukhyun",
- "project42da",
- "zziuni",
- "tamnajio",
- "young-gratia",
- "pjc0247",
- "stephenjang",
- "Channy",
- "ethertank"
- ]
- },
- "Web/API": {
- "modified": "2020-03-24T23:23:33.720Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "Netaras",
- "teoli",
- "Channy",
- "hyeonseok",
- "ethertank"
- ]
- },
- "Web/API/ANGLE_instanced_arrays": {
- "modified": "2020-10-15T22:07:21.231Z",
- "contributors": [
- "alattalatta",
- "eerina"
- ]
- },
- "Web/API/AbortController": {
- "modified": "2020-10-15T22:28:17.165Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/AbortController/AbortController": {
- "modified": "2020-10-15T22:28:17.033Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/AbortController/abort": {
- "modified": "2020-10-15T22:28:17.730Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/AbortController/signal": {
- "modified": "2020-10-15T22:28:17.058Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/AbortSignal": {
- "modified": "2020-10-15T22:28:16.655Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/AbortSignal/aborted": {
- "modified": "2020-10-15T22:28:17.376Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/AbstractRange": {
- "modified": "2020-11-25T03:27:07.810Z",
- "contributors": [
- "Sheppy"
- ]
- },
- "Web/API/AbstractRange/collapsed": {
- "modified": "2020-11-25T03:28:24.486Z",
- "contributors": [
- "chzhclq17"
- ]
- },
- "Web/API/AbstractWorker": {
- "modified": "2020-10-15T21:25:37.012Z",
- "contributors": [
- "alattalatta",
- "Cho.Eun"
- ]
- },
- "Web/API/AnalyserNode": {
- "modified": "2020-10-15T21:31:33.070Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "yuby"
- ]
- },
- "Web/API/AnimationEvent": {
- "modified": "2020-10-15T21:31:32.942Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "yuby"
- ]
- },
- "Web/API/AnimationEvent/AnimationEvent": {
- "modified": "2020-10-15T21:50:16.716Z",
- "contributors": [
- "alattalatta",
- "guyeol",
- "sang8481"
- ]
- },
- "Web/API/AnimationEvent/animationName": {
- "modified": "2020-10-15T22:02:59.194Z",
- "contributors": [
- "cs09g",
- "Latera"
- ]
- },
- "Web/API/AnimationTimeline": {
- "modified": "2020-10-15T21:59:32.459Z",
- "contributors": [
- "alattalatta",
- "Sheppy"
- ]
- },
- "Web/API/AnimationTimeline/currentTime": {
- "modified": "2019-03-18T21:46:15.748Z",
- "contributors": [
- "yuj25"
- ]
- },
- "Web/API/AudioBuffer": {
- "modified": "2019-03-23T23:05:35.334Z",
- "contributors": [
- "yuby"
- ]
- },
- "Web/API/AudioBufferSourceNode": {
- "modified": "2020-10-15T21:31:34.549Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "teoli",
- "yuby"
- ]
- },
- "Web/API/AudioContext": {
- "modified": "2019-03-23T23:05:33.323Z",
- "contributors": [
- "maesiltea",
- "yuby"
- ]
- },
- "Web/API/AudioDestinationNode": {
- "modified": "2019-03-23T23:05:18.083Z",
- "contributors": [
- "teoli",
- "yuby"
- ]
- },
- "Web/API/AudioNode": {
- "modified": "2019-03-23T23:05:16.509Z",
- "contributors": [
- "yuby"
- ]
- },
- "Web/API/AudioParam": {
- "modified": "2020-10-15T21:31:36.586Z",
- "contributors": [
- "alattalatta",
- "yuby"
- ]
- },
- "Web/API/Background_Tasks_API": {
- "modified": "2020-10-15T22:10:24.944Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/BatteryManager": {
- "modified": "2020-10-15T21:24:28.565Z",
- "contributors": [
- "alattalatta",
- "AshfaqHossain",
- "oohii"
- ]
- },
- "Web/API/BatteryManager/charging": {
- "modified": "2019-03-23T22:40:03.701Z",
- "contributors": [
- "pjc0247"
- ]
- },
- "Web/API/BatteryManager/chargingTime": {
- "modified": "2020-12-03T14:44:28.402Z",
- "contributors": [
- "dink95",
- "duduindo",
- "shh0884"
- ]
- },
- "Web/API/BatteryManager/dischargingTime": {
- "modified": "2020-10-15T22:20:34.926Z",
- "contributors": [
- "shh0884"
- ]
- },
- "Web/API/BiquadFilterNode": {
- "modified": "2019-03-23T22:14:02.527Z",
- "contributors": [
- "chant"
- ]
- },
- "Web/API/Blob": {
- "modified": "2020-10-15T21:38:09.911Z",
- "contributors": [
- "alattalatta",
- "hsl0",
- "parksb",
- "limkukhyun",
- "kuil09"
- ]
- },
- "Web/API/Blob/Blob": {
- "modified": "2020-10-15T22:03:59.171Z",
- "contributors": [
- "alattalatta",
- "limkukhyun"
- ]
- },
- "Web/API/Body": {
- "modified": "2020-10-15T22:07:57.321Z",
- "contributors": [
- "alattalatta",
- "RickBrown"
- ]
- },
- "Web/API/Body/json": {
- "modified": "2020-10-15T22:07:55.949Z",
- "contributors": [
- "ldss3sang"
- ]
- },
- "Web/API/BroadcastChannel": {
- "modified": "2020-10-15T22:17:58.054Z",
- "contributors": [
- "alattalatta",
- "wbamberg"
- ]
- },
- "Web/API/CSS": {
- "modified": "2020-12-05T02:32:47.247Z",
- "contributors": [
- "movegun1027",
- "alattalatta"
- ]
- },
- "Web/API/CSSMediaRule": {
- "modified": "2020-10-15T22:19:18.892Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/CSSOMString": {
- "modified": "2019-03-18T21:23:46.366Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/CSSStyleSheet": {
- "modified": "2020-10-15T21:52:17.278Z",
- "contributors": [
- "alattalatta",
- "erikadoyle"
- ]
- },
- "Web/API/CSS_Object_Model": {
- "modified": "2020-02-22T14:50:23.635Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "OkHyeon",
- "teoli"
- ]
- },
- "Web/API/Cache": {
- "modified": "2020-10-15T21:39:42.857Z",
- "contributors": [
- "alattalatta",
- "LeeJunyeol",
- "oinochoe",
- "jpmedley"
- ]
- },
- "Web/API/Cache/put": {
- "modified": "2020-10-15T21:39:41.309Z",
- "contributors": [
- "alattalatta",
- "minias"
- ]
- },
- "Web/API/CanvasCaptureMediaStreamTrack": {
- "modified": "2020-12-04T10:32:28.199Z"
- },
- "Web/API/CanvasCaptureMediaStreamTrack/canvas": {
- "modified": "2020-12-04T10:32:29.054Z",
- "contributors": [
- "chzhclq17"
- ]
- },
- "Web/API/CanvasCaptureMediaStreamTrack/requestFrame": {
- "modified": "2020-12-04T11:10:43.136Z",
- "contributors": [
- "chzhclq17"
- ]
- },
- "Web/API/Channel_Messaging_API": {
- "modified": "2020-10-15T21:56:39.098Z",
- "contributors": [
- "alattalatta",
- "DomenicDenicola"
- ]
- },
- "Web/API/Channel_Messaging_API/Using_channel_messaging": {
- "modified": "2019-03-23T22:06:53.771Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/CharacterData": {
- "modified": "2020-10-15T22:10:05.669Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/ChildNode": {
- "modified": "2020-10-15T22:04:53.961Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/ChildNode/before": {
- "modified": "2020-10-15T22:10:12.463Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/ChildNode/remove": {
- "modified": "2020-10-15T22:10:05.225Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Clients": {
- "modified": "2020-10-15T22:21:49.146Z"
- },
- "Web/API/Clients/claim": {
- "modified": "2020-10-15T22:21:49.492Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/Clipboard": {
- "modified": "2020-10-15T22:05:00.336Z",
- "contributors": [
- "dooyou21",
- "dragmove"
- ]
- },
- "Web/API/ClipboardEvent": {
- "modified": "2020-10-15T22:25:08.748Z"
- },
- "Web/API/ClipboardEvent/clipboardData": {
- "modified": "2020-10-15T22:25:08.765Z",
- "contributors": [
- "dooyou21"
- ]
- },
- "Web/API/Clipboard_API": {
- "modified": "2020-10-15T22:27:46.263Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Comment": {
- "modified": "2020-10-15T22:14:25.162Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Console": {
- "modified": "2020-10-15T21:46:06.487Z",
- "contributors": [
- "alattalatta",
- "Sihong12",
- "roupkk"
- ]
- },
- "Web/API/Console/assert": {
- "modified": "2020-10-15T22:26:48.682Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Console/clear": {
- "modified": "2020-10-15T22:26:50.195Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Console/count": {
- "modified": "2020-10-15T22:26:52.117Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Console/countReset": {
- "modified": "2020-10-15T22:26:50.267Z",
- "contributors": [
- "n2ptune",
- "alattalatta"
- ]
- },
- "Web/API/Console/debug": {
- "modified": "2020-10-15T22:26:49.828Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Console/error": {
- "modified": "2020-10-15T22:04:54.645Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Console/group": {
- "modified": "2020-10-15T21:54:18.420Z",
- "contributors": [
- "dragmove",
- "fdevjm"
- ]
- },
- "Web/API/Console/log": {
- "modified": "2020-10-15T21:50:43.068Z",
- "contributors": [
- "wisedog",
- "nazuna1",
- "HanuLatte"
- ]
- },
- "Web/API/Console/time": {
- "modified": "2020-10-15T22:04:56.398Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Console/timeEnd": {
- "modified": "2020-10-15T22:05:55.946Z",
- "contributors": [
- "falsy"
- ]
- },
- "Web/API/Console/trace": {
- "modified": "2020-10-15T22:04:54.893Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Console/warn": {
- "modified": "2020-10-15T22:04:54.926Z",
- "contributors": [
- "wisedog",
- "cs09g"
- ]
- },
- "Web/API/Console_API": {
- "modified": "2020-10-15T22:26:44.936Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Crypto": {
- "modified": "2019-03-23T22:44:34.028Z",
- "contributors": [
- "hoony"
- ]
- },
- "Web/API/Crypto/getRandomValues": {
- "modified": "2020-10-15T21:53:17.195Z",
- "contributors": [
- "SphinxKnight",
- "alattalatta",
- "llighter"
- ]
- },
- "Web/API/Crypto/subtle": {
- "modified": "2020-10-15T21:40:01.783Z",
- "contributors": [
- "alattalatta",
- "hoony"
- ]
- },
- "Web/API/CustomElementRegistry": {
- "modified": "2020-10-15T22:26:46.894Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/CustomEvent": {
- "modified": "2020-10-15T22:13:58.148Z",
- "contributors": [
- "cs09g",
- "fscholz"
- ]
- },
- "Web/API/CustomEvent/CustomEvent": {
- "modified": "2020-10-15T22:13:58.234Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/DOMObject": {
- "modified": "2019-03-18T21:34:55.307Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/DOMParser": {
- "modified": "2020-10-15T22:30:25.978Z",
- "contributors": [
- "composite"
- ]
- },
- "Web/API/DOMString": {
- "modified": "2020-08-23T06:55:37.415Z",
- "contributors": [
- "alattalatta",
- "cs09g"
- ]
- },
- "Web/API/DOMTokenList": {
- "modified": "2020-10-15T21:59:28.763Z",
- "contributors": [
- "alattalatta",
- "jpmedley"
- ]
- },
- "Web/API/DOMTokenList/contains": {
- "modified": "2019-03-18T21:46:24.774Z",
- "contributors": [
- "Ken123777"
- ]
- },
- "Web/API/DataTransfer": {
- "modified": "2020-10-15T21:49:28.518Z",
- "contributors": [
- "alattalatta",
- "samee",
- "Sheppy"
- ]
- },
- "Web/API/DataTransfer/getData": {
- "modified": "2020-10-15T21:49:29.417Z",
- "contributors": [
- "alattalatta",
- "stitchworkingonthecode"
- ]
- },
- "Web/API/Document": {
- "modified": "2020-10-15T21:17:53.312Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "PineMt",
- "teoli",
- "fscholz",
- "khalid32",
- "pusanbear"
- ]
- },
- "Web/API/Document/Document": {
- "modified": "2020-10-15T22:14:18.230Z",
- "contributors": [
- "alattalatta",
- "cs09g"
- ]
- },
- "Web/API/Document/URL": {
- "modified": "2020-10-15T22:14:26.025Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Document/adoptNode": {
- "modified": "2019-03-23T22:28:00.709Z",
- "contributors": [
- "wbamberg",
- "hoony"
- ]
- },
- "Web/API/Document/alinkColor": {
- "modified": "2019-03-23T23:47:30.441Z",
- "contributors": [
- "fscholz",
- "AshfaqHossain",
- "teoli",
- "pusanbear"
- ]
- },
- "Web/API/Document/all": {
- "modified": "2020-10-15T22:21:31.673Z",
- "contributors": [
- "VictorTaekLim"
- ]
- },
- "Web/API/Document/anchors": {
- "modified": "2020-10-15T21:17:17.828Z",
- "contributors": [
- "alattalatta",
- "hoony",
- "mrsshr",
- "fscholz",
- "khalid32",
- "teoli",
- "pusanbear"
- ]
- },
- "Web/API/Document/applets": {
- "modified": "2019-03-23T23:47:36.352Z",
- "contributors": [
- "hoony",
- "fscholz",
- "khalid32",
- "teoli",
- "pusanbear"
- ]
- },
- "Web/API/Document/body": {
- "modified": "2020-10-15T21:17:21.395Z",
- "contributors": [
- "alattalatta",
- "hoony",
- "fscholz",
- "khalid32",
- "teoli",
- "pusanbear"
- ]
- },
- "Web/API/Document/characterSet": {
- "modified": "2020-10-15T21:46:48.262Z",
- "contributors": [
- "alattalatta",
- "dragmove"
- ]
- },
- "Web/API/Document/compatMode": {
- "modified": "2020-10-15T22:27:44.534Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Document/cookie": {
- "modified": "2020-10-15T22:33:58.038Z",
- "contributors": [
- "junnapark"
- ]
- },
- "Web/API/Document/createDocumentFragment": {
- "modified": "2019-03-23T22:22:47.234Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Document/createElement": {
- "modified": "2020-10-15T21:16:05.958Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "khalid32",
- "Hyeongryeol"
- ]
- },
- "Web/API/Document/createElementNS": {
- "modified": "2019-03-23T22:04:11.325Z",
- "contributors": [
- "jungjuseong"
- ]
- },
- "Web/API/Document/createRange": {
- "modified": "2019-03-18T21:17:12.932Z",
- "contributors": [
- "hyeonseok",
- "incleaf"
- ]
- },
- "Web/API/Document/createTextNode": {
- "modified": "2019-03-23T23:51:22.512Z",
- "contributors": [
- "keist99",
- "fscholz",
- "khalid32",
- "Hyeongryeol"
- ]
- },
- "Web/API/Document/createTreeWalker": {
- "modified": "2020-10-15T22:00:38.900Z",
- "contributors": [
- "alattalatta",
- "kewlbear"
- ]
- },
- "Web/API/Document/defaultView": {
- "modified": "2020-10-15T21:46:49.613Z",
- "contributors": [
- "alattalatta",
- "dragmove"
- ]
- },
- "Web/API/Document/designMode": {
- "modified": "2020-10-15T21:46:53.373Z",
- "contributors": [
- "alattalatta",
- "dragmove"
- ]
- },
- "Web/API/Document/doctype": {
- "modified": "2019-03-23T22:21:56.667Z",
- "contributors": [
- "littlewether",
- "DeadIntegral"
- ]
- },
- "Web/API/Document/documentElement": {
- "modified": "2020-10-15T21:47:31.685Z",
- "contributors": [
- "alattalatta",
- "stitchworkingonthecode"
- ]
- },
- "Web/API/Document/documentURI": {
- "modified": "2020-02-22T14:34:30.884Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/Document/domain": {
- "modified": "2020-10-15T22:25:43.157Z",
- "contributors": [
- "alattalatta",
- "composite"
- ]
- },
- "Web/API/Document/drag_event": {
- "modified": "2020-10-15T22:34:00.801Z",
- "contributors": [
- "chrisdavidmills",
- "zzoPark"
- ]
- },
- "Web/API/Document/dragend_event": {
- "modified": "2020-10-15T22:33:58.037Z",
- "contributors": [
- "zzoPark"
- ]
- },
- "Web/API/Document/dragstart_event": {
- "modified": "2020-10-15T22:14:30.053Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "cs09g"
- ]
- },
- "Web/API/Document/embeds": {
- "modified": "2019-03-23T22:31:36.037Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/Document/execCommand": {
- "modified": "2020-10-15T21:45:41.419Z",
- "contributors": [
- "alattalatta",
- "KihyukYoo",
- "hyeonseok",
- "Sebastianz"
- ]
- },
- "Web/API/Document/forms": {
- "modified": "2019-03-23T22:31:38.326Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/Document/getElementById": {
- "modified": "2020-10-15T21:18:26.662Z",
- "contributors": [
- "alattalatta",
- "Parcovia",
- "fscholz",
- "teoli",
- "Sebuls"
- ]
- },
- "Web/API/Document/getElementsByTagName": {
- "modified": "2020-10-15T21:53:50.856Z",
- "contributors": [
- "cs09g",
- "dayoungles"
- ]
- },
- "Web/API/Document/getElementsByTagNameNS": {
- "modified": "2020-10-15T22:14:18.499Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Document/getSelection": {
- "modified": "2019-03-23T22:51:22.015Z",
- "contributors": [
- "x86kernel"
- ]
- },
- "Web/API/Document/hasFocus": {
- "modified": "2020-10-15T21:16:21.345Z",
- "contributors": [
- "alattalatta",
- "PineMt",
- "fscholz",
- "khalid32",
- "teoli",
- "Suguni"
- ]
- },
- "Web/API/Document/head": {
- "modified": "2020-10-15T21:47:08.638Z",
- "contributors": [
- "alattalatta",
- "dragmove"
- ]
- },
- "Web/API/Document/hidden": {
- "modified": "2020-10-15T21:51:08.698Z",
- "contributors": [
- "alattalatta",
- "DeadIntegral"
- ]
- },
- "Web/API/Document/images": {
- "modified": "2019-03-23T22:31:48.179Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/Document/implementation": {
- "modified": "2020-10-15T22:08:11.282Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Document/importNode": {
- "modified": "2020-10-15T21:25:38.637Z",
- "contributors": [
- "fscholz",
- "wbamberg",
- "Cho.Eun"
- ]
- },
- "Web/API/Document/keydown_event": {
- "modified": "2019-04-15T09:18:19.341Z",
- "contributors": [
- "irenesmith",
- "ExE-Boss",
- "fscholz",
- "jinahya"
- ]
- },
- "Web/API/Document/keyup_event": {
- "modified": "2020-11-24T11:14:25.912Z",
- "contributors": [
- "yoonseungho"
- ]
- },
- "Web/API/Document/links": {
- "modified": "2019-03-23T22:27:09.273Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/Document/location": {
- "modified": "2020-10-15T21:57:50.852Z",
- "contributors": [
- "alattalatta",
- "daktwigim"
- ]
- },
- "Web/API/Document/open": {
- "modified": "2020-11-16T23:26:20.380Z",
- "contributors": [
- "composite"
- ]
- },
- "Web/API/Document/querySelector": {
- "modified": "2020-10-15T21:49:45.017Z",
- "contributors": [
- "alattalatta",
- "daktwigim",
- "DeadIntegral",
- "imskojs"
- ]
- },
- "Web/API/Document/querySelectorAll": {
- "modified": "2020-10-15T22:14:19.985Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Document/readyState": {
- "modified": "2020-10-15T22:21:34.621Z",
- "contributors": [
- "VictorTaekLim"
- ]
- },
- "Web/API/Document/readystatechange_event": {
- "modified": "2020-10-15T22:21:31.020Z",
- "contributors": [
- "VictorTaekLim"
- ]
- },
- "Web/API/Document/referrer": {
- "modified": "2019-03-23T22:07:02.003Z",
- "contributors": [
- "SangHun"
- ]
- },
- "Web/API/Document/scroll_event": {
- "modified": "2019-04-30T13:59:45.621Z",
- "contributors": [
- "wbamberg",
- "irenesmith",
- "guyeol"
- ]
- },
- "Web/API/Document/styleSheetSets": {
- "modified": "2020-12-05T03:19:19.028Z",
- "contributors": [
- "movegun1027"
- ]
- },
- "Web/API/Document/visibilityState": {
- "modified": "2020-10-15T21:51:10.755Z",
- "contributors": [
- "alattalatta",
- "DeadIntegral"
- ]
- },
- "Web/API/Document/visibilitychange_event": {
- "modified": "2020-10-15T21:49:12.234Z",
- "contributors": [
- "alattalatta",
- "irenesmith",
- "ExE-Boss",
- "fscholz",
- "dragmove"
- ]
- },
- "Web/API/Document/write": {
- "modified": "2020-10-15T22:10:15.149Z",
- "contributors": [
- "Parcovia"
- ]
- },
- "Web/API/DocumentFragment": {
- "modified": "2020-10-28T12:45:54.495Z",
- "contributors": [
- "zzoPark"
- ]
- },
- "Web/API/DocumentOrShadowRoot": {
- "modified": "2020-10-15T22:11:35.284Z",
- "contributors": [
- "DeadIntegral",
- "Sheppy"
- ]
- },
- "Web/API/DocumentOrShadowRoot/activeElement": {
- "modified": "2020-10-15T22:26:23.654Z",
- "contributors": [
- "alattalatta",
- "composite"
- ]
- },
- "Web/API/DocumentOrShadowRoot/styleSheets": {
- "modified": "2020-10-15T22:11:37.061Z",
- "contributors": [
- "alattalatta",
- "DeadIntegral"
- ]
- },
- "Web/API/DocumentType": {
- "modified": "2020-10-15T22:10:02.690Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Document_Object_Model": {
- "modified": "2020-11-06T11:33:39.006Z",
- "contributors": [
- "SeonHyungJo",
- "2ssue",
- "BG.Choi",
- "alattalatta",
- "jswisher",
- "cs09g",
- "EddieSungminYim",
- "Netaras",
- "Hyeongryeol",
- "pusanbear",
- "CN",
- "Sebuls",
- "Channy"
- ]
- },
- "Web/API/Document_Object_Model/Events": {
- "modified": "2020-12-01T12:09:06.517Z",
- "contributors": [
- "dink95"
- ]
- },
- "Web/API/Document_Object_Model/Examples": {
- "modified": "2020-05-26T14:45:03.340Z",
- "contributors": [
- "alattalatta",
- "chrisdavidmills",
- "jswisher",
- "jsx",
- "Netaras"
- ]
- },
- "Web/API/Document_Object_Model/Locating_DOM_elements_using_selectors": {
- "modified": "2019-05-29T17:36:17.250Z",
- "contributors": [
- "jswisher",
- "alattalatta"
- ]
- },
- "Web/API/Document_Object_Model/Using_the_W3C_DOM_Level_1_Core": {
- "modified": "2020-03-10T10:48:51.010Z",
- "contributors": [
- "kimploo"
- ]
- },
- "Web/API/Document_Object_Model/소개": {
- "modified": "2020-02-10T04:12:58.179Z",
- "contributors": [
- "sungik-choi",
- "jswisher",
- "cs09g",
- "2circumflex",
- "dakeshi"
- ]
- },
- "Web/API/DragEvent": {
- "modified": "2020-10-15T22:02:04.580Z",
- "contributors": [
- "alattalatta",
- "YanBellavance"
- ]
- },
- "Web/API/Element": {
- "modified": "2020-10-15T21:24:24.428Z",
- "contributors": [
- "alattalatta",
- "kewlbear",
- "fscholz",
- "moolow",
- "khalid32",
- "junghyun_han"
- ]
- },
- "Web/API/Element/accessKey": {
- "modified": "2020-10-15T22:14:28.158Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Element/attributes": {
- "modified": "2019-03-23T23:42:26.377Z",
- "contributors": [
- "fscholz",
- "khalid32",
- "teoli",
- "Netaras"
- ]
- },
- "Web/API/Element/classList": {
- "modified": "2020-10-15T21:54:51.786Z",
- "contributors": [
- "cs09g",
- "alattalatta",
- "pers0n4",
- "kooljay82"
- ]
- },
- "Web/API/Element/className": {
- "modified": "2019-03-23T22:11:31.161Z",
- "contributors": [
- "kooljay82"
- ]
- },
- "Web/API/Element/click_event": {
- "modified": "2020-10-15T22:09:56.213Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "irenesmith",
- "ExE-Boss",
- "DeadIntegral"
- ]
- },
- "Web/API/Element/clientHeight": {
- "modified": "2019-03-18T20:58:55.769Z",
- "contributors": [
- "SphinxKnight",
- "fscholz",
- "devcken"
- ]
- },
- "Web/API/Element/clientLeft": {
- "modified": "2020-10-15T22:13:14.202Z",
- "contributors": [
- "kbsbroad"
- ]
- },
- "Web/API/Element/closest": {
- "modified": "2020-10-15T22:27:29.394Z",
- "contributors": [
- "composite"
- ]
- },
- "Web/API/Element/currentStyle": {
- "modified": "2019-03-23T22:28:24.891Z",
- "contributors": [
- "nugurejeil"
- ]
- },
- "Web/API/Element/getAttribute": {
- "modified": "2020-10-15T21:30:04.251Z",
- "contributors": [
- "wisedog",
- "fscholz",
- "JangWonWoong"
- ]
- },
- "Web/API/Element/getElementsByClassName": {
- "modified": "2020-10-15T22:08:10.843Z",
- "contributors": [
- "whdckszxxx"
- ]
- },
- "Web/API/Element/getElementsByTagName": {
- "modified": "2019-03-23T22:46:49.355Z",
- "contributors": [
- "gjsee",
- "H-yun"
- ]
- },
- "Web/API/Element/id": {
- "modified": "2020-10-15T22:08:18.780Z",
- "contributors": [
- "whdckszxxx"
- ]
- },
- "Web/API/Element/innerHTML": {
- "modified": "2020-10-15T21:47:43.585Z",
- "contributors": [
- "DeadIntegral",
- "apple77y",
- "rlaxognsk"
- ]
- },
- "Web/API/Element/insertAdjacentHTML": {
- "modified": "2020-10-15T21:37:34.409Z",
- "contributors": [
- "alattalatta",
- "DeadIntegral",
- "dragonist"
- ]
- },
- "Web/API/Element/outerHTML": {
- "modified": "2020-10-15T22:16:55.354Z",
- "contributors": [
- "lifeisnovel"
- ]
- },
- "Web/API/Element/removeAttribute": {
- "modified": "2020-10-15T21:33:44.118Z",
- "contributors": [
- "alattalatta",
- "HyunkwonEddie-Cho"
- ]
- },
- "Web/API/Element/scrollHeight": {
- "modified": "2020-10-15T21:33:38.513Z",
- "contributors": [
- "alattalatta",
- "SphinxKnight",
- "HyunkwonEddie-Cho"
- ]
- },
- "Web/API/Element/scrollIntoView": {
- "modified": "2020-10-15T21:22:00.098Z",
- "contributors": [
- "limkukhyun",
- "fscholz",
- "khalid32",
- "hooriza"
- ]
- },
- "Web/API/Element/tagName": {
- "modified": "2020-10-15T22:29:51.547Z",
- "contributors": [
- "composite"
- ]
- },
- "Web/API/Element/touchcancel_event": {
- "modified": "2019-03-23T22:00:06.368Z",
- "contributors": [
- "irenesmith",
- "ExE-Boss",
- "fscholz",
- "Kim.Hyunjung"
- ]
- },
- "Web/API/Encoding_API": {
- "modified": "2020-10-15T22:26:02.845Z",
- "contributors": [
- "chaewonkong"
- ]
- },
- "Web/API/Event": {
- "modified": "2020-10-15T21:17:19.725Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "fscholz",
- "jsx",
- "teoli",
- "pusanbear"
- ]
- },
- "Web/API/Event/Event": {
- "modified": "2020-10-15T22:24:05.554Z",
- "contributors": [
- "dbwodlf3"
- ]
- },
- "Web/API/Event/cancelBubble": {
- "modified": "2019-03-23T22:12:48.462Z",
- "contributors": [
- "pouu69"
- ]
- },
- "Web/API/Event/cancelable": {
- "modified": "2019-03-24T00:07:51.177Z",
- "contributors": [
- "fscholz",
- "khalid32",
- "teoli",
- "99corps"
- ]
- },
- "Web/API/Event/createEvent": {
- "modified": "2019-03-23T22:23:08.290Z",
- "contributors": [
- "agakt"
- ]
- },
- "Web/API/Event/eventPhase": {
- "modified": "2019-03-23T22:03:57.060Z",
- "contributors": [
- "rure"
- ]
- },
- "Web/API/Event/isTrusted": {
- "modified": "2020-10-15T21:49:09.218Z",
- "contributors": [
- "alattalatta",
- "."
- ]
- },
- "Web/API/Event/preventDefault": {
- "modified": "2019-03-24T00:07:50.666Z",
- "contributors": [
- "chiyodad",
- "fscholz",
- "khalid32",
- "teoli",
- "99corps"
- ]
- },
- "Web/API/Event/stopImmediatePropagation": {
- "modified": "2019-03-23T22:28:15.457Z",
- "contributors": [
- "eatdesignlove"
- ]
- },
- "Web/API/Event/stopPropagation": {
- "modified": "2019-03-23T22:27:38.205Z",
- "contributors": [
- "gnujoow",
- "eatdesignlove"
- ]
- },
- "Web/API/Event/target": {
- "modified": "2020-10-15T22:06:37.631Z",
- "contributors": [
- "jmtgr",
- "samee",
- "zx6658"
- ]
- },
- "Web/API/EventListener": {
- "modified": "2020-10-15T22:08:23.074Z",
- "contributors": [
- "whdckszxxx"
- ]
- },
- "Web/API/EventSource": {
- "modified": "2020-10-15T22:15:01.771Z",
- "contributors": [
- "khg0712",
- "fscholz"
- ]
- },
- "Web/API/EventSource/EventSource": {
- "modified": "2020-10-15T22:14:59.374Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/EventTarget": {
- "modified": "2020-10-15T21:43:23.930Z",
- "contributors": [
- "alattalatta",
- "Netaras",
- "wbamberg"
- ]
- },
- "Web/API/EventTarget/EventTarget": {
- "modified": "2020-10-15T22:09:54.264Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/EventTarget/addEventListener": {
- "modified": "2020-10-15T21:43:23.962Z",
- "contributors": [
- "AHNJAEHA",
- "alattalatta",
- "DeadIntegral",
- "cs09g"
- ]
- },
- "Web/API/EventTarget/dispatchEvent": {
- "modified": "2020-10-15T21:49:08.727Z",
- "contributors": [
- "cs09g",
- "limkukhyun",
- "Jaysok"
- ]
- },
- "Web/API/EventTarget/removeEventListener": {
- "modified": "2020-10-15T22:13:17.747Z",
- "contributors": [
- "jay94ks"
- ]
- },
- "Web/API/FetchEvent": {
- "modified": "2020-10-15T22:10:14.499Z",
- "contributors": [
- "duduindo"
- ]
- },
- "Web/API/FetchEvent/respondWith": {
- "modified": "2020-10-15T22:10:13.327Z",
- "contributors": [
- "LeeJunyeol"
- ]
- },
- "Web/API/Fetch_API": {
- "modified": "2020-10-15T21:59:47.472Z",
- "contributors": [
- "alattalatta",
- "ggihwa",
- "jennybehan",
- "gw1021",
- "BANIP"
- ]
- },
- "Web/API/Fetch_API/Basic_concepts": {
- "modified": "2019-03-18T21:45:15.491Z",
- "contributors": [
- "BANIP"
- ]
- },
- "Web/API/Fetch_API/Fetch의_사용법": {
- "modified": "2020-10-15T22:00:18.673Z",
- "contributors": [
- "JINSUNG1048",
- "CressZZ",
- "LiamYong",
- "ajy720",
- "limkukhyun",
- "briz",
- "mukeunzi",
- "real0131",
- "2dubbing",
- "BANIP"
- ]
- },
- "Web/API/File": {
- "modified": "2020-10-15T22:10:43.496Z",
- "contributors": [
- "alattalatta",
- "DeadIntegral"
- ]
- },
- "Web/API/File/File": {
- "modified": "2020-10-15T22:14:18.274Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/File/Using_files_from_web_applications": {
- "modified": "2019-04-12T12:59:03.189Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/File/name": {
- "modified": "2020-10-15T22:11:39.883Z",
- "contributors": [
- "alattalatta",
- "DeadIntegral"
- ]
- },
- "Web/API/File/size": {
- "modified": "2019-03-18T20:48:30.715Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/FileList": {
- "modified": "2019-03-18T21:44:05.861Z",
- "contributors": [
- "Latera",
- "samee",
- "Limwanchul"
- ]
- },
- "Web/API/FileReader": {
- "modified": "2020-10-15T21:32:59.452Z",
- "contributors": [
- "alattalatta",
- "linearhw",
- "kuil09",
- "Luavis"
- ]
- },
- "Web/API/FileReader/loadend_event": {
- "modified": "2020-10-15T22:22:06.964Z",
- "contributors": [
- "nmsohn"
- ]
- },
- "Web/API/FileReader/readAsDataURL": {
- "modified": "2019-03-23T22:25:29.939Z",
- "contributors": [
- "kuil09"
- ]
- },
- "Web/API/FileReader/readAsText": {
- "modified": "2020-10-15T22:28:44.098Z",
- "contributors": [
- "guyeol"
- ]
- },
- "Web/API/FileReader/result": {
- "modified": "2019-03-23T23:14:29.237Z",
- "contributors": [
- "fscholz",
- "junho85"
- ]
- },
- "Web/API/File_and_Directory_Entries_API": {
- "modified": "2020-10-15T22:31:56.758Z",
- "contributors": [
- "letheian17"
- ]
- },
- "Web/API/FormData": {
- "modified": "2020-10-15T21:52:49.372Z",
- "contributors": [
- "wisedog",
- "DeadIntegral",
- "SangMin_Kang",
- "HanHyeoksu"
- ]
- },
- "Web/API/FormData/FormData": {
- "modified": "2020-10-15T22:08:23.118Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/FormData/append": {
- "modified": "2020-10-15T22:08:27.942Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/FormData/delete": {
- "modified": "2020-10-15T22:08:25.725Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/FormData/entries": {
- "modified": "2020-10-15T22:08:25.366Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/FormData/get": {
- "modified": "2020-10-15T22:08:25.567Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/FormData/getAll": {
- "modified": "2020-10-15T22:08:25.038Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/FormData/has": {
- "modified": "2020-10-15T22:08:25.617Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/FormData/keys": {
- "modified": "2020-10-15T22:08:26.651Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/FormData/set": {
- "modified": "2020-10-15T22:08:26.104Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/FormData/values": {
- "modified": "2020-10-15T22:08:29.390Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/Gamepad_API": {
- "modified": "2020-12-03T14:48:49.300Z",
- "contributors": [
- "dink95",
- "alattalatta",
- "khg0712",
- "chrisdavidmills"
- ]
- },
- "Web/API/Gamepad_API/Using_the_Gamepad_API": {
- "modified": "2020-10-15T21:55:46.560Z",
- "contributors": [
- "lololtoday",
- "alattalatta",
- "khg0712"
- ]
- },
- "Web/API/Geolocation": {
- "modified": "2020-10-15T21:33:03.322Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "pjc0247",
- "fscholz"
- ]
- },
- "Web/API/Geolocation/clearWatch": {
- "modified": "2020-10-15T22:19:28.517Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Geolocation/getCurrentPosition": {
- "modified": "2020-10-15T21:23:14.982Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "3600s",
- "khalid32",
- "xcoda"
- ]
- },
- "Web/API/Geolocation/watchPosition": {
- "modified": "2020-10-15T22:27:23.834Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/GeolocationPosition": {
- "modified": "2020-10-15T22:19:21.262Z",
- "contributors": [
- "alattalatta",
- "chrisdavidmills"
- ]
- },
- "Web/API/Geolocation_API": {
- "modified": "2020-10-15T22:28:32.038Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/GlobalEventHandlers": {
- "modified": "2020-10-15T21:38:25.913Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "jwhitlock"
- ]
- },
- "Web/API/GlobalEventHandlers/onchange": {
- "modified": "2020-10-15T22:05:47.826Z",
- "contributors": [
- "alattalatta",
- "chocojoa"
- ]
- },
- "Web/API/GlobalEventHandlers/onclick": {
- "modified": "2020-10-15T22:10:25.598Z",
- "contributors": [
- "alattalatta",
- "Parcovia"
- ]
- },
- "Web/API/GlobalEventHandlers/oncontextmenu": {
- "modified": "2019-03-23T22:08:19.174Z",
- "contributors": [
- "project42da"
- ]
- },
- "Web/API/GlobalEventHandlers/ondblclick": {
- "modified": "2020-10-15T22:05:47.608Z",
- "contributors": [
- "baleineindigo",
- "alattalatta",
- "chocojoa"
- ]
- },
- "Web/API/GlobalEventHandlers/onkeydown": {
- "modified": "2020-10-15T22:05:49.061Z",
- "contributors": [
- "alattalatta",
- "chocojoa"
- ]
- },
- "Web/API/GlobalEventHandlers/onkeyup": {
- "modified": "2019-03-23T22:48:40.096Z",
- "contributors": [
- "teoli",
- "wizardbear"
- ]
- },
- "Web/API/GlobalEventHandlers/onpointerenter": {
- "modified": "2020-10-15T22:31:17.998Z",
- "contributors": [
- "baleineindigo"
- ]
- },
- "Web/API/GlobalEventHandlers/onscroll": {
- "modified": "2020-10-15T22:22:09.396Z",
- "contributors": [
- "rodeck826"
- ]
- },
- "Web/API/GlobalEventHandlers/onsubmit": {
- "modified": "2019-03-23T22:27:57.488Z",
- "contributors": [
- "hoony"
- ]
- },
- "Web/API/GlobalEventHandlers/ontouchstart": {
- "modified": "2019-03-23T22:28:01.859Z",
- "contributors": [
- "hoony"
- ]
- },
- "Web/API/HTMLBRElement": {
- "modified": "2020-10-15T22:15:37.299Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/HTMLCanvasElement": {
- "modified": "2019-03-18T20:54:18.816Z",
- "contributors": [
- "kesuskim"
- ]
- },
- "Web/API/HTMLCanvasElement/getContext": {
- "modified": "2020-10-15T22:18:45.681Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/HTMLCollection": {
- "modified": "2019-05-31T10:52:53.389Z",
- "contributors": [
- "alattalatta",
- "huusz"
- ]
- },
- "Web/API/HTMLCollection/item": {
- "modified": "2020-10-15T22:08:11.352Z",
- "contributors": [
- "whdckszxxx"
- ]
- },
- "Web/API/HTMLDivElement": {
- "modified": "2020-10-15T22:04:55.251Z",
- "contributors": [
- "alattalatta",
- "cs09g"
- ]
- },
- "Web/API/HTMLDocument": {
- "modified": "2019-03-18T21:35:01.320Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/HTMLElement": {
- "modified": "2020-10-15T21:33:05.054Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "fscholz"
- ]
- },
- "Web/API/HTMLElement/accessKeyLabel": {
- "modified": "2020-10-15T22:14:24.446Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/HTMLElement/click": {
- "modified": "2020-10-15T22:14:46.730Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/HTMLElement/contentEditable": {
- "modified": "2020-10-15T22:19:29.357Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/HTMLElement/dataset": {
- "modified": "2020-10-15T21:56:46.705Z",
- "contributors": [
- "Kaben",
- "alattalatta",
- "jyhwng",
- "KimSejune"
- ]
- },
- "Web/API/HTMLElement/input_event": {
- "modified": "2020-10-15T22:27:30.949Z",
- "contributors": [
- "composite"
- ]
- },
- "Web/API/HTMLElement/offsetParent": {
- "modified": "2020-10-15T22:00:41.448Z",
- "contributors": [
- "SphinxKnight",
- "kewlbear"
- ]
- },
- "Web/API/HTMLElement/outerText": {
- "modified": "2020-10-15T22:10:03.006Z",
- "contributors": [
- "EugeneKim"
- ]
- },
- "Web/API/HTMLElement/style": {
- "modified": "2020-10-15T21:18:22.703Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "AshfaqHossain",
- "teoli",
- "Netaras"
- ]
- },
- "Web/API/HTMLElement/tabIndex": {
- "modified": "2019-03-23T23:42:52.929Z",
- "contributors": [
- "fscholz",
- "jsx",
- "teoli",
- "Netaras"
- ]
- },
- "Web/API/HTMLFormElement": {
- "modified": "2020-10-15T21:18:27.982Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "jsx",
- "teoli",
- "Netaras"
- ]
- },
- "Web/API/HTMLHyperlinkElementUtils": {
- "modified": "2020-10-15T22:15:23.043Z",
- "contributors": [
- "connorshea"
- ]
- },
- "Web/API/HTMLHyperlinkElementUtils/href": {
- "modified": "2020-10-15T22:15:22.693Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/HTMLLIElement": {
- "modified": "2020-10-15T22:24:50.064Z",
- "contributors": [
- "melangyun"
- ]
- },
- "Web/API/HTMLMediaElement": {
- "modified": "2020-10-15T22:14:51.040Z",
- "contributors": [
- "ahnzaz"
- ]
- },
- "Web/API/HTMLMediaElement/autoplay": {
- "modified": "2020-10-15T22:20:29.563Z",
- "contributors": [
- "ahnzaz"
- ]
- },
- "Web/API/HTMLMediaElement/canplay_event": {
- "modified": "2019-03-18T20:49:26.047Z",
- "contributors": [
- "estelle",
- "ExE-Boss",
- "fscholz",
- "dragmove"
- ]
- },
- "Web/API/HTMLMediaElement/canplaythrough_event": {
- "modified": "2019-03-18T20:49:29.615Z",
- "contributors": [
- "estelle",
- "ExE-Boss",
- "fscholz",
- "dragmove"
- ]
- },
- "Web/API/HTMLOptionElement": {
- "modified": "2020-10-15T22:30:21.466Z",
- "contributors": [
- "chlgusrb14747"
- ]
- },
- "Web/API/HTMLSelectElement": {
- "modified": "2020-10-15T22:30:22.387Z",
- "contributors": [
- "Loadmaster"
- ]
- },
- "Web/API/HTMLSelectElement/selectedOptions": {
- "modified": "2020-10-15T22:30:21.753Z",
- "contributors": [
- "chlgusrb14747"
- ]
- },
- "Web/API/HTMLSpanElement": {
- "modified": "2020-10-15T22:10:14.373Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/HTMLTableElement": {
- "modified": "2019-03-23T23:42:46.713Z",
- "contributors": [
- "fscholz",
- "khalid32",
- "teoli",
- "Netaras"
- ]
- },
- "Web/API/HTMLTableElement/width": {
- "modified": "2019-03-23T23:53:04.220Z",
- "contributors": [
- "fscholz",
- "khalid32",
- "teoli",
- "Netaras",
- "Dongnamri"
- ]
- },
- "Web/API/HTMLTemplateElement": {
- "modified": "2020-10-15T22:12:35.811Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/HTMLTitleElement": {
- "modified": "2020-10-15T22:15:37.151Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/HTMLVideoElement": {
- "modified": "2020-10-15T22:20:19.011Z",
- "contributors": [
- "ahnzaz"
- ]
- },
- "Web/API/HTML_드래그_앤_드롭_API": {
- "modified": "2020-09-06T00:51:11.619Z",
- "contributors": [
- "zzoPark",
- "jinyoung",
- "constmoon",
- "lundella",
- "jinhyukkim"
- ]
- },
- "Web/API/HTML_드래그_앤_드롭_API/Drag_operations": {
- "modified": "2019-03-18T21:31:26.321Z",
- "contributors": [
- "dolmoon"
- ]
- },
- "Web/API/History": {
- "modified": "2020-10-15T21:46:21.001Z",
- "contributors": [
- "alattalatta",
- "joshua1988"
- ]
- },
- "Web/API/History/back": {
- "modified": "2020-10-15T22:26:51.539Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/History/forward": {
- "modified": "2020-10-15T22:26:51.802Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/History/go": {
- "modified": "2020-10-15T22:29:33.276Z",
- "contributors": [
- "2ssue"
- ]
- },
- "Web/API/History/length": {
- "modified": "2020-10-15T22:26:49.569Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/History/pushState": {
- "modified": "2020-10-15T22:26:53.843Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/History/replaceState": {
- "modified": "2020-10-15T22:29:11.727Z",
- "contributors": [
- "2ssue"
- ]
- },
- "Web/API/History/scrollRestoration": {
- "modified": "2020-10-15T22:23:27.883Z",
- "contributors": [
- "alattalatta",
- "bershanskiy",
- "HyunSeob"
- ]
- },
- "Web/API/History/state": {
- "modified": "2020-10-15T22:27:52.413Z",
- "contributors": [
- "huien126"
- ]
- },
- "Web/API/History_API": {
- "modified": "2020-10-15T21:45:56.027Z",
- "contributors": [
- "MyeonghwanCho",
- "alattalatta",
- "hoony",
- "DublinCity",
- "cheolee",
- "cs09g",
- "kimbumbum",
- "WonbaeLee",
- "danhojin",
- "joshua1988"
- ]
- },
- "Web/API/IdleDeadline": {
- "modified": "2020-10-15T22:10:44.151Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/IdleDeadline/didTimeout": {
- "modified": "2020-10-15T22:10:44.475Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/ImageCapture": {
- "modified": "2020-10-15T22:27:09.529Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/ImageCapture/ImageCapture": {
- "modified": "2020-10-15T22:27:09.311Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/ImageCapture/getPhotoCapabilities": {
- "modified": "2020-10-15T22:27:09.248Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/ImageCapture/getPhotoSettings": {
- "modified": "2020-10-15T22:27:09.454Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/ImageCapture/grabFrame": {
- "modified": "2020-10-15T22:27:10.935Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/ImageCapture/takePhoto": {
- "modified": "2020-10-15T22:27:09.631Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/ImageCapture/track": {
- "modified": "2020-10-15T22:27:09.535Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/ImageData": {
- "modified": "2019-03-23T22:54:04.416Z",
- "contributors": [
- "bsidesoft"
- ]
- },
- "Web/API/Index": {
- "modified": "2019-03-06T12:18:21.576Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/IndexedDB_API": {
- "modified": "2020-02-21T12:46:53.785Z",
- "contributors": [
- "alattalatta",
- "chrisdavidmills",
- "younheeJang",
- "QuanXiuzhi",
- "DGURI",
- "naduhy2",
- "hyeonseok",
- "claudepache"
- ]
- },
- "Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB": {
- "modified": "2020-01-13T04:48:21.538Z",
- "contributors": [
- "chrisdavidmills",
- "alattalatta",
- "LostCatLee",
- "daesD",
- "naduhy2",
- "bingl2",
- "nacyot",
- "fscholz",
- "JoonghunPark"
- ]
- },
- "Web/API/IndexedDB_API/Using_IndexedDB": {
- "modified": "2020-07-21T23:16:52.351Z",
- "contributors": [
- "letheian17",
- "chrisdavidmills",
- "isho",
- "samee",
- "DGURI",
- "yongbam",
- "WKBae",
- "jhlee1979"
- ]
- },
- "Web/API/IntersectionObserver": {
- "modified": "2020-10-15T22:21:53.448Z",
- "contributors": [
- "ne2030"
- ]
- },
- "Web/API/IntersectionObserver/IntersectionObserver": {
- "modified": "2020-10-15T22:21:52.371Z",
- "contributors": [
- "ne2030",
- "alattalatta"
- ]
- },
- "Web/API/IntersectionObserver/observe": {
- "modified": "2020-10-15T22:30:05.415Z",
- "contributors": [
- "4spartame"
- ]
- },
- "Web/API/IntersectionObserver/root": {
- "modified": "2020-10-15T22:30:03.620Z",
- "contributors": [
- "4spartame"
- ]
- },
- "Web/API/Intersection_Observer_API": {
- "modified": "2020-10-15T22:30:01.411Z",
- "contributors": [
- "4spartame",
- "Atercatus"
- ]
- },
- "Web/API/Location": {
- "modified": "2020-10-15T22:16:16.807Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Location/reload": {
- "modified": "2020-10-15T22:18:16.737Z",
- "contributors": [
- "alattalatta",
- "chaewonkong",
- "MartinYounghoonKim"
- ]
- },
- "Web/API/MediaDevices": {
- "modified": "2020-10-15T22:07:22.391Z",
- "contributors": [
- "alattalatta",
- "fscholz"
- ]
- },
- "Web/API/MediaDevices/enumerateDevices": {
- "modified": "2020-10-15T22:13:34.171Z",
- "contributors": [
- "hyunkwon_88_cho"
- ]
- },
- "Web/API/MediaDevices/getUserMedia": {
- "modified": "2020-10-15T22:07:21.393Z",
- "contributors": [
- "alattalatta",
- "sgim74528"
- ]
- },
- "Web/API/MediaStreamTrack": {
- "modified": "2020-10-15T22:27:13.280Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/applyConstraints": {
- "modified": "2020-10-15T22:27:23.822Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/clone": {
- "modified": "2020-10-15T22:27:12.749Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/enabled": {
- "modified": "2020-10-15T22:27:23.483Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/getCapabilities": {
- "modified": "2020-10-15T22:27:32.401Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/getConstraints": {
- "modified": "2020-10-15T22:27:31.593Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/getSettings": {
- "modified": "2020-10-15T22:27:31.716Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/id": {
- "modified": "2020-10-15T22:27:13.932Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/kind": {
- "modified": "2020-10-15T22:27:13.095Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/label": {
- "modified": "2020-10-15T22:27:33.867Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/muted": {
- "modified": "2020-10-15T22:27:21.279Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/readyState": {
- "modified": "2020-10-15T22:27:12.348Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStreamTrack/stop": {
- "modified": "2020-10-15T22:27:14.982Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaStream_Image_Capture_API": {
- "modified": "2020-10-15T22:27:09.295Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/MediaTrackConstraints": {
- "modified": "2020-10-15T22:27:34.506Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Media_Streams_API": {
- "modified": "2020-10-15T22:21:47.276Z",
- "contributors": [
- "alattalatta",
- "chansbro"
- ]
- },
- "Web/API/MessageEvent": {
- "modified": "2019-03-23T22:25:15.394Z",
- "contributors": [
- "nicekkong"
- ]
- },
- "Web/API/MouseEvent": {
- "modified": "2020-10-15T22:28:07.612Z",
- "contributors": [
- "imdasom"
- ]
- },
- "Web/API/MouseEvent/clientX": {
- "modified": "2020-10-12T11:57:49.704Z",
- "contributors": [
- "owstork94"
- ]
- },
- "Web/API/MutationObserver": {
- "modified": "2020-04-14T08:38:25.816Z",
- "contributors": [
- "2ssue",
- "voidnoble"
- ]
- },
- "Web/API/Navigator": {
- "modified": "2020-10-15T21:33:07.782Z",
- "contributors": [
- "alattalatta",
- "nmsohn",
- "wbamberg",
- "fscholz"
- ]
- },
- "Web/API/Navigator/battery": {
- "modified": "2019-03-23T23:26:40.127Z",
- "contributors": [
- "fscholz",
- "khalid32",
- "Cho.Eun",
- "teoli",
- "oohii"
- ]
- },
- "Web/API/Navigator/geolocation": {
- "modified": "2020-10-15T22:19:19.512Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Navigator/mediaDevices": {
- "modified": "2020-10-15T22:21:38.160Z",
- "contributors": [
- "alattalatta",
- "chansbro"
- ]
- },
- "Web/API/Navigator/registerProtocolHandler": {
- "modified": "2020-10-15T21:16:08.500Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "khalid32",
- "drry",
- "Suguni"
- ]
- },
- "Web/API/Navigator/share": {
- "modified": "2020-10-15T22:21:13.721Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/NavigatorID": {
- "modified": "2020-10-15T22:04:17.452Z",
- "contributors": [
- "fscholz",
- "SSJ-unclear"
- ]
- },
- "Web/API/NavigatorLanguage": {
- "modified": "2020-10-15T21:59:32.837Z",
- "contributors": [
- "alattalatta",
- "teoli"
- ]
- },
- "Web/API/NavigatorLanguage/language": {
- "modified": "2019-03-18T21:46:11.388Z",
- "contributors": [
- "yuj25"
- ]
- },
- "Web/API/NavigatorOnLine": {
- "modified": "2020-10-15T21:59:06.261Z",
- "contributors": [
- "alattalatta",
- "chrisdavidmills"
- ]
- },
- "Web/API/NavigatorOnLine/Online_and_offline_events": {
- "modified": "2019-03-23T23:51:10.400Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Jeongkyu",
- "조경빈"
- ]
- },
- "Web/API/NetworkInformation": {
- "modified": "2020-10-15T21:33:00.164Z",
- "contributors": [
- "alattalatta",
- "fscholz"
- ]
- },
- "Web/API/NetworkInformation/connection": {
- "modified": "2019-03-23T23:26:48.403Z",
- "contributors": [
- "fscholz",
- "khalid32",
- "teoli",
- "hyeonseok"
- ]
- },
- "Web/API/Node": {
- "modified": "2020-10-15T21:33:01.643Z",
- "contributors": [
- "pinkbunny1",
- "alattalatta",
- "Ken123777",
- "kewlbear",
- "fscholz"
- ]
- },
- "Web/API/Node/appendChild": {
- "modified": "2019-06-10T03:07:55.678Z",
- "contributors": [
- "nugurejeil"
- ]
- },
- "Web/API/Node/childNodes": {
- "modified": "2019-03-23T23:42:26.773Z",
- "contributors": [
- "fscholz",
- "khalid32",
- "teoli",
- "Netaras"
- ]
- },
- "Web/API/Node/cloneNode": {
- "modified": "2019-03-23T22:10:19.289Z",
- "contributors": [
- "galcyurio"
- ]
- },
- "Web/API/Node/contains": {
- "modified": "2019-04-02T21:43:20.193Z",
- "contributors": [
- "sujinlee0616",
- "x86kernel"
- ]
- },
- "Web/API/Node/firstChild": {
- "modified": "2019-03-23T23:42:28.898Z",
- "contributors": [
- "wbamberg",
- "fscholz",
- "AshfaqHossain",
- "teoli",
- "Sheppy",
- "Netaras"
- ]
- },
- "Web/API/Node/hasChildNodes": {
- "modified": "2019-03-23T22:28:25.733Z",
- "contributors": [
- "simonseo"
- ]
- },
- "Web/API/Node/innerText": {
- "modified": "2020-10-15T22:08:26.441Z",
- "contributors": [
- "alattalatta",
- "DeadIntegral"
- ]
- },
- "Web/API/Node/insertBefore": {
- "modified": "2020-10-15T22:11:13.634Z",
- "contributors": [
- "JaeWorld"
- ]
- },
- "Web/API/Node/lastChild": {
- "modified": "2019-03-23T23:42:31.487Z",
- "contributors": [
- "fscholz",
- "AshfaqHossain",
- "teoli",
- "Netaras"
- ]
- },
- "Web/API/Node/nextSibling": {
- "modified": "2019-03-23T22:12:29.026Z",
- "contributors": [
- "wbamberg",
- "Jae_H.Hwang"
- ]
- },
- "Web/API/Node/normalize": {
- "modified": "2020-10-15T22:10:12.713Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Node/ownerDocument": {
- "modified": "2020-10-15T22:03:28.498Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/Node/previousSibling": {
- "modified": "2019-03-23T22:50:47.218Z",
- "contributors": [
- "wbamberg",
- "nonpuritan"
- ]
- },
- "Web/API/Node/replaceChild": {
- "modified": "2019-03-23T22:28:27.264Z",
- "contributors": [
- "nugurejeil"
- ]
- },
- "Web/API/Node/textContent": {
- "modified": "2020-10-15T21:54:58.950Z",
- "contributors": [
- "marieee",
- "alattalatta",
- "kooljay82"
- ]
- },
- "Web/API/NodeFilter": {
- "modified": "2020-10-15T22:00:37.168Z",
- "contributors": [
- "alattalatta",
- "kewlbear"
- ]
- },
- "Web/API/NodeList": {
- "modified": "2020-10-15T21:32:59.282Z",
- "contributors": [
- "younghoh",
- "DeadIntegral",
- "huusz",
- "fscholz"
- ]
- },
- "Web/API/NodeList/entries": {
- "modified": "2020-10-15T22:08:50.521Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/NodeList/forEach": {
- "modified": "2020-10-15T22:08:50.553Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/NodeList/item": {
- "modified": "2020-10-15T22:08:51.025Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/NodeList/keys": {
- "modified": "2020-10-15T22:08:51.123Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/NodeList/length": {
- "modified": "2019-03-23T23:42:30.177Z",
- "contributors": [
- "fscholz",
- "khalid32",
- "teoli",
- "Netaras"
- ]
- },
- "Web/API/NodeList/values": {
- "modified": "2020-10-15T22:08:51.588Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/Notification/permission": {
- "modified": "2019-03-23T23:26:30.659Z",
- "contributors": [
- "fscholz",
- "AshfaqHossain",
- "oohii"
- ]
- },
- "Web/API/Notifications_API": {
- "modified": "2020-10-15T22:14:45.240Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/NotifyAudioAvailableEvent": {
- "modified": "2019-03-23T22:20:26.016Z",
- "contributors": [
- "alsntjsu"
- ]
- },
- "Web/API/OffscreenCanvas": {
- "modified": "2020-10-15T22:14:42.350Z",
- "contributors": [
- "moonformeli"
- ]
- },
- "Web/API/OffscreenCanvas/OffscreenCanvas": {
- "modified": "2020-10-15T22:14:41.229Z",
- "contributors": [
- "moonformeli"
- ]
- },
- "Web/API/OffscreenCanvas/getContext": {
- "modified": "2020-10-15T22:14:44.730Z",
- "contributors": [
- "moonformeli"
- ]
- },
- "Web/API/OffscreenCanvas/height": {
- "modified": "2020-10-15T22:14:43.501Z",
- "contributors": [
- "moonformeli"
- ]
- },
- "Web/API/OffscreenCanvas/toBlob": {
- "modified": "2020-10-15T22:14:42.795Z",
- "contributors": [
- "moonformeli"
- ]
- },
- "Web/API/OffscreenCanvas/width": {
- "modified": "2020-10-15T22:14:42.247Z",
- "contributors": [
- "moonformeli"
- ]
- },
- "Web/API/Page_Visibility_API": {
- "modified": "2020-10-15T21:50:28.089Z",
- "contributors": [
- "alattalatta",
- "dragmove"
- ]
- },
- "Web/API/ParentNode": {
- "modified": "2020-10-15T22:08:08.618Z",
- "contributors": [
- "alattalatta",
- "ExE-Boss"
- ]
- },
- "Web/API/ParentNode/append": {
- "modified": "2020-10-15T22:23:54.799Z",
- "contributors": [
- "ChanMyeong"
- ]
- },
- "Web/API/ParentNode/childElementCount": {
- "modified": "2020-10-24T00:56:18.797Z",
- "contributors": [
- "zzoPark"
- ]
- },
- "Web/API/ParentNode/children": {
- "modified": "2020-10-15T22:08:09.823Z",
- "contributors": [
- "whdckszxxx"
- ]
- },
- "Web/API/ParentNode/prepend": {
- "modified": "2020-10-15T22:19:18.906Z",
- "contributors": [
- "JungSWon"
- ]
- },
- "Web/API/Performance": {
- "modified": "2020-10-15T21:53:34.737Z",
- "contributors": [
- "fscholz",
- "wbamberg",
- "jpmedley"
- ]
- },
- "Web/API/Performance/mark": {
- "modified": "2020-10-15T22:23:09.869Z",
- "contributors": [
- "ESnark"
- ]
- },
- "Web/API/Performance/now": {
- "modified": "2020-10-15T21:53:33.718Z",
- "contributors": [
- "alattalatta",
- "Dong-Young_Lee",
- "dragmove"
- ]
- },
- "Web/API/PerformanceEntry": {
- "modified": "2020-10-15T22:23:11.078Z",
- "contributors": [
- "ESnark"
- ]
- },
- "Web/API/PhotoCapabilities": {
- "modified": "2020-10-15T22:27:09.730Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Plugin": {
- "modified": "2019-03-23T22:11:26.376Z",
- "contributors": [
- "JinSeungHo"
- ]
- },
- "Web/API/PositionOptions": {
- "modified": "2020-10-15T22:02:42.878Z",
- "contributors": [
- "alattalatta",
- "Saem"
- ]
- },
- "Web/API/PushManager": {
- "modified": "2020-10-15T21:24:43.793Z",
- "contributors": [
- "alattalatta",
- "khalid32",
- "minchang"
- ]
- },
- "Web/API/PushMessageData": {
- "modified": "2020-10-15T21:51:29.225Z",
- "contributors": [
- "alattalatta",
- "alsntjsu"
- ]
- },
- "Web/API/Push_API": {
- "modified": "2020-10-15T22:19:20.272Z",
- "contributors": [
- "younheeJang"
- ]
- },
- "Web/API/RTCConfiguration": {
- "modified": "2020-10-15T22:21:34.262Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCDataChannelEvent": {
- "modified": "2020-10-15T22:21:45.154Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCDataChannelEvent/RTCDataChannelEvent": {
- "modified": "2020-10-15T22:21:44.935Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCDataChannelEvent/channel": {
- "modified": "2020-10-15T22:21:44.926Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCIceCandidate": {
- "modified": "2020-10-15T22:21:38.532Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCIceCandidate/candidate": {
- "modified": "2020-10-15T22:21:50.433Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCIceCandidate/toJSON": {
- "modified": "2020-10-15T22:21:45.450Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection": {
- "modified": "2020-10-15T21:55:34.316Z",
- "contributors": [
- "ksrae",
- "chansbro",
- "SDSkyKlouD",
- "hjs6877"
- ]
- },
- "Web/API/RTCPeerConnection/RTCPeerConnection": {
- "modified": "2020-10-15T22:19:10.244Z",
- "contributors": [
- "chansbro",
- "SDSkyKlouD"
- ]
- },
- "Web/API/RTCPeerConnection/addIceCandidate": {
- "modified": "2020-10-15T22:21:53.619Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/addTrack": {
- "modified": "2020-10-15T22:21:48.614Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/canTrickleIceCandidates": {
- "modified": "2020-10-15T22:21:46.639Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/close": {
- "modified": "2020-10-15T22:21:44.369Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/connectionState": {
- "modified": "2020-10-15T22:21:46.270Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/createAnswer": {
- "modified": "2020-10-15T22:21:52.646Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/createDataChannel": {
- "modified": "2020-10-15T22:21:57.754Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/currentLocalDescription": {
- "modified": "2020-10-15T22:21:36.507Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/currentRemoteDescription": {
- "modified": "2020-10-15T22:21:46.405Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/generateCertificate": {
- "modified": "2020-10-15T22:22:01.110Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/getConfiguration": {
- "modified": "2020-10-15T22:22:01.220Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/getIdentityAssertion": {
- "modified": "2020-10-15T22:22:02.368Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/getReceivers": {
- "modified": "2020-10-15T22:22:02.274Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/getSenders": {
- "modified": "2020-10-15T22:22:02.512Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/getTransceivers": {
- "modified": "2020-10-15T22:22:03.043Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/iceGatheringState": {
- "modified": "2020-10-15T22:21:37.926Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/icegatheringstatechange_event": {
- "modified": "2020-10-15T22:21:34.594Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/localDescription": {
- "modified": "2020-10-15T22:22:06.987Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/onconnectionstatechange": {
- "modified": "2020-10-15T22:21:46.935Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/ondatachannel": {
- "modified": "2020-10-15T22:21:38.724Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/onicecandidate": {
- "modified": "2020-10-15T22:21:32.954Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/onicegatheringstatechange": {
- "modified": "2020-10-15T22:21:36.115Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/onidentityresult": {
- "modified": "2020-10-15T22:22:07.358Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/ontrack": {
- "modified": "2020-10-15T22:22:07.343Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/removeTrack": {
- "modified": "2020-10-15T22:22:03.373Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/restartIce": {
- "modified": "2020-10-15T22:22:05.218Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/setConfiguration": {
- "modified": "2020-10-15T22:22:05.087Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/setIdentityProvider": {
- "modified": "2020-10-15T22:22:06.353Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnection/setLocalDescription": {
- "modified": "2020-10-15T22:22:06.674Z",
- "contributors": [
- "ksrae",
- "chansbro"
- ]
- },
- "Web/API/RTCPeerConnectionIceEvent": {
- "modified": "2020-10-15T22:21:34.761Z",
- "contributors": [
- "Sheppy"
- ]
- },
- "Web/API/RTCPeerConnectionIceEvent/candidate": {
- "modified": "2020-10-15T22:21:33.225Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCSessionDescription": {
- "modified": "2020-10-15T22:21:51.962Z",
- "contributors": [
- "kimyounguk",
- "Jib"
- ]
- },
- "Web/API/RTCSessionDescription/sdp": {
- "modified": "2020-10-15T22:21:49.416Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/RTCSessionDescription/type": {
- "modified": "2020-10-15T22:22:31.778Z",
- "contributors": [
- "chansbro"
- ]
- },
- "Web/API/Range": {
- "modified": "2020-10-15T21:17:18.574Z",
- "contributors": [
- "alattalatta",
- "JeonghoonChoi",
- "gblue1223",
- "pjc0247",
- "coremaker",
- "fscholz",
- "khalid32",
- "teoli",
- "pusanbear"
- ]
- },
- "Web/API/Range/selectNodeContents": {
- "modified": "2020-10-15T21:44:08.507Z",
- "contributors": [
- "alattalatta",
- "incleaf"
- ]
- },
- "Web/API/ReadableStream": {
- "modified": "2020-10-15T22:28:34.119Z",
- "contributors": [
- "CressZZ"
- ]
- },
- "Web/API/Request": {
- "modified": "2019-03-18T21:45:52.124Z",
- "contributors": [
- "BANIP"
- ]
- },
- "Web/API/Request/Request": {
- "modified": "2019-03-18T21:45:01.056Z",
- "contributors": [
- "BANIP"
- ]
- },
- "Web/API/Request/credentials": {
- "modified": "2020-10-15T22:14:24.282Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/SVGRect": {
- "modified": "2020-10-15T22:14:24.692Z",
- "contributors": [
- "guyeol"
- ]
- },
- "Web/API/Screen": {
- "modified": "2019-03-23T23:01:36.807Z",
- "contributors": [
- "fscholz"
- ]
- },
- "Web/API/Screen.onorientationchange": {
- "modified": "2019-03-23T23:26:53.977Z",
- "contributors": [
- "jsx",
- "teoli",
- "junho85"
- ]
- },
- "Web/API/Screen/lockOrientation": {
- "modified": "2020-10-15T21:24:21.814Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "teoli",
- "junho85"
- ]
- },
- "Web/API/Screen/orientation": {
- "modified": "2019-03-23T23:27:06.864Z",
- "contributors": [
- "fscholz",
- "teoli",
- "junho85"
- ]
- },
- "Web/API/Screen/unlockOrientation": {
- "modified": "2020-10-15T21:24:24.969Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "junho85"
- ]
- },
- "Web/API/Selection": {
- "modified": "2020-10-15T21:17:18.331Z",
- "contributors": [
- "alattalatta",
- "ne2030",
- "dae-hwa",
- "fscholz",
- "khalid32",
- "teoli",
- "pusanbear"
- ]
- },
- "Web/API/Selection/toString": {
- "modified": "2020-10-15T21:59:00.326Z",
- "contributors": [
- "alattalatta",
- "veshboo"
- ]
- },
- "Web/API/Server-sent_events": {
- "modified": "2019-04-18T11:03:16.390Z",
- "contributors": [
- "alattalatta",
- "hoony"
- ]
- },
- "Web/API/ServiceWorker": {
- "modified": "2020-10-15T21:39:42.496Z",
- "contributors": [
- "alattalatta",
- "minias"
- ]
- },
- "Web/API/ServiceWorker/onstatechange": {
- "modified": "2020-10-15T22:20:48.975Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/ServiceWorkerGlobalScope": {
- "modified": "2020-10-15T22:20:18.174Z",
- "contributors": [
- "fscholz"
- ]
- },
- "Web/API/ServiceWorkerGlobalScope/clients": {
- "modified": "2020-10-15T22:20:23.493Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/ServiceWorkerGlobalScope/notificationclick_event": {
- "modified": "2020-10-15T22:22:01.697Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/ServiceWorkerGlobalScope/skipWaiting": {
- "modified": "2020-10-15T22:20:18.195Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/ServiceWorkerRegistration": {
- "modified": "2020-10-15T22:20:18.966Z"
- },
- "Web/API/ServiceWorkerRegistration/active": {
- "modified": "2020-10-15T22:20:29.654Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/ServiceWorkerRegistration/installing": {
- "modified": "2020-10-15T22:20:16.977Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/ServiceWorkerRegistration/navigationPreload": {
- "modified": "2020-10-15T22:20:28.623Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/Service_Worker_API": {
- "modified": "2020-09-02T11:09:48.799Z",
- "contributors": [
- "alattalatta",
- "MuhunKim",
- "Hou",
- "limkukhyun",
- "chrisdavidmills"
- ]
- },
- "Web/API/Service_Worker_API/Using_Service_Workers": {
- "modified": "2020-01-22T22:07:32.776Z",
- "contributors": [
- "leegeunhyeok",
- "LeeJunyeol",
- "SemteulGaram",
- "joshua1988"
- ]
- },
- "Web/API/SharedWorker": {
- "modified": "2020-10-15T21:48:36.465Z",
- "contributors": [
- "alattalatta",
- "joshua1988"
- ]
- },
- "Web/API/Storage": {
- "modified": "2020-10-15T21:46:19.730Z",
- "contributors": [
- "alattalatta",
- "joshua1988"
- ]
- },
- "Web/API/Storage/key": {
- "modified": "2020-10-15T22:04:17.401Z",
- "contributors": [
- "galcyurio"
- ]
- },
- "Web/API/Storage/length": {
- "modified": "2020-10-15T22:33:23.255Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Storage/removeItem": {
- "modified": "2019-03-23T22:19:00.475Z",
- "contributors": [
- "jcahn"
- ]
- },
- "Web/API/StorageEvent": {
- "modified": "2020-10-15T22:33:24.408Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Streams_API": {
- "modified": "2020-10-15T22:10:11.505Z",
- "contributors": [
- "ahnzaz",
- "chrisdavidmills"
- ]
- },
- "Web/API/Streams_API/Using_readable_streams": {
- "modified": "2020-03-27T01:34:43.977Z",
- "contributors": [
- "CressZZ"
- ]
- },
- "Web/API/Streams_API/컨셉": {
- "modified": "2019-03-18T21:23:57.078Z",
- "contributors": [
- "jjangga0214"
- ]
- },
- "Web/API/StyleSheet": {
- "modified": "2020-10-15T22:34:31.946Z",
- "contributors": [
- "seo42401077"
- ]
- },
- "Web/API/Text": {
- "modified": "2020-10-15T22:10:12.929Z",
- "contributors": [
- "alattalatta",
- "cs09g"
- ]
- },
- "Web/API/Text/Text": {
- "modified": "2020-10-15T22:10:14.805Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Text/splitText": {
- "modified": "2020-10-15T22:10:12.068Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Touch_events": {
- "modified": "2019-03-23T22:10:42.744Z",
- "contributors": [
- "helli"
- ]
- },
- "Web/API/TreeWalker": {
- "modified": "2020-10-15T22:00:36.173Z",
- "contributors": [
- "alattalatta",
- "kewlbear"
- ]
- },
- "Web/API/TreeWalker/currentNode": {
- "modified": "2020-10-15T22:00:39.722Z",
- "contributors": [
- "alattalatta",
- "kewlbear"
- ]
- },
- "Web/API/URL": {
- "modified": "2020-10-15T21:59:37.835Z",
- "contributors": [
- "alattalatta",
- "cybaj",
- "limkukhyun",
- "SeonHyungJo",
- "yuj25"
- ]
- },
- "Web/API/URL/URL": {
- "modified": "2020-10-15T22:26:50.386Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/createObjectURL": {
- "modified": "2020-10-15T22:16:00.254Z",
- "contributors": [
- "alattalatta",
- "moonyl"
- ]
- },
- "Web/API/URL/hash": {
- "modified": "2020-10-15T22:26:52.281Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/host": {
- "modified": "2020-10-15T22:26:52.486Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/hostname": {
- "modified": "2020-10-15T22:27:32.406Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/href": {
- "modified": "2020-10-15T22:27:34.298Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/origin": {
- "modified": "2020-10-15T22:27:43.580Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/password": {
- "modified": "2020-10-15T22:27:43.118Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/pathname": {
- "modified": "2020-10-15T22:27:45.295Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/port": {
- "modified": "2020-10-15T22:27:46.281Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/protocol": {
- "modified": "2020-10-15T22:27:46.209Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/revokeObjectURL": {
- "modified": "2020-10-15T22:15:59.840Z",
- "contributors": [
- "alattalatta",
- "moonyl"
- ]
- },
- "Web/API/URL/search": {
- "modified": "2020-10-15T22:27:50.259Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/searchParams": {
- "modified": "2020-10-15T22:27:44.189Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/toJSON": {
- "modified": "2020-10-15T22:27:51.609Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/toString": {
- "modified": "2020-10-15T22:27:45.973Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URL/username": {
- "modified": "2020-10-15T22:27:43.094Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/URLSearchParams": {
- "modified": "2020-10-15T22:00:33.746Z",
- "contributors": [
- "alattalatta",
- "limkukhyun",
- "dnjstlr555"
- ]
- },
- "Web/API/URLSearchParams/URLSearchParams": {
- "modified": "2020-10-15T22:33:49.386Z",
- "contributors": [
- "heejinlee07"
- ]
- },
- "Web/API/URLSearchParams/toString": {
- "modified": "2020-10-15T22:26:21.105Z",
- "contributors": [
- "LeeJunyeol"
- ]
- },
- "Web/API/USVString": {
- "modified": "2020-02-19T12:36:27.811Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "DeadIntegral"
- ]
- },
- "Web/API/VREyeParameters": {
- "modified": "2020-10-15T21:54:28.385Z",
- "contributors": [
- "alattalatta",
- "hyunjunyong"
- ]
- },
- "Web/API/ValidityState": {
- "modified": "2020-10-15T22:32:29.142Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/WebGLRenderbuffer": {
- "modified": "2020-10-15T22:14:23.554Z",
- "contributors": [
- "guyeol"
- ]
- },
- "Web/API/WebGLShader": {
- "modified": "2019-03-23T22:27:54.436Z",
- "contributors": [
- "rupc"
- ]
- },
- "Web/API/WebGL_API": {
- "modified": "2020-10-15T21:28:11.343Z",
- "contributors": [
- "hyungsbi",
- "alattalatta",
- "fscholz",
- "hanmomhanda",
- "bassam",
- "JeongSeongDae",
- "jaejoonjung"
- ]
- },
- "Web/API/WebGL_API/By_example": {
- "modified": "2019-03-23T22:21:30.767Z",
- "contributors": [
- "chrisdavidmills",
- "fscholz"
- ]
- },
- "Web/API/WebGL_API/By_example/Clearing_by_clicking": {
- "modified": "2019-03-23T22:21:24.276Z",
- "contributors": [
- "chrisdavidmills",
- "woojin.jo"
- ]
- },
- "Web/API/WebGL_API/By_example/Detect_WebGL": {
- "modified": "2019-03-23T22:21:34.287Z",
- "contributors": [
- "chrisdavidmills",
- "woojin.jo"
- ]
- },
- "Web/API/WebGL_API/By_example/Hello_GLSL": {
- "modified": "2019-03-23T22:21:28.443Z",
- "contributors": [
- "chrisdavidmills",
- "woojin.jo"
- ]
- },
- "Web/API/WebGL_API/By_example/Hello_vertex_attributes": {
- "modified": "2019-03-23T22:21:33.699Z",
- "contributors": [
- "chrisdavidmills",
- "woojin.jo"
- ]
- },
- "Web/API/WebGL_API/By_example/Scissor_animation": {
- "modified": "2019-03-18T21:15:07.563Z",
- "contributors": [
- "chrisdavidmills",
- "woojin.jo"
- ]
- },
- "Web/API/WebGL_API/By_example/Simple_color_animation": {
- "modified": "2019-03-23T22:21:32.653Z",
- "contributors": [
- "chrisdavidmills",
- "woojin.jo"
- ]
- },
- "Web/API/WebGL_API/By_example/Textures_from_code": {
- "modified": "2019-03-23T22:21:28.991Z",
- "contributors": [
- "chrisdavidmills",
- "woojin.jo"
- ]
- },
- "Web/API/WebGL_API/Cross-Domain_Textures": {
- "modified": "2019-03-23T22:54:05.275Z",
- "contributors": [
- "fscholz",
- "hanmomhanda"
- ]
- },
- "Web/API/WebGL_API/Tutorial": {
- "modified": "2020-06-18T10:46:16.746Z",
- "contributors": [
- "ChrisKim",
- "red112",
- "fscholz"
- ]
- },
- "Web/API/WebGL_API/Tutorial/Adding_2D_content_to_a_WebGL_context": {
- "modified": "2019-03-18T20:48:13.599Z",
- "contributors": [
- "sev314",
- "fscholz",
- "chiyodad",
- "teoli",
- "sangwoo",
- "JeongSeongDae"
- ]
- },
- "Web/API/WebGL_API/Tutorial/Animating_objects_with_WebGL": {
- "modified": "2019-03-23T23:08:21.261Z",
- "contributors": [
- "fscholz",
- "hanmomhanda",
- "sangwoo"
- ]
- },
- "Web/API/WebGL_API/Tutorial/Animating_textures_in_WebGL": {
- "modified": "2019-03-23T22:54:09.560Z",
- "contributors": [
- "fscholz",
- "hanmomhanda"
- ]
- },
- "Web/API/WebGL_API/Tutorial/Creating_3D_objects_using_WebGL": {
- "modified": "2019-03-23T22:54:17.912Z",
- "contributors": [
- "fscholz",
- "hanmomhanda"
- ]
- },
- "Web/API/WebGL_API/Tutorial/Getting_started_with_WebGL": {
- "modified": "2019-03-23T23:09:44.080Z",
- "contributors": [
- "kjh9348",
- "psj3205",
- "joeunha",
- "fscholz",
- "teoli",
- "sangwoo",
- "JeongSeongDae"
- ]
- },
- "Web/API/WebGL_API/Tutorial/Lighting_in_WebGL": {
- "modified": "2019-03-23T22:54:18.202Z",
- "contributors": [
- "fscholz",
- "hanmomhanda"
- ]
- },
- "Web/API/WebGL_API/Tutorial/Using_shaders_to_apply_color_in_WebGL": {
- "modified": "2019-08-20T03:17:40.591Z",
- "contributors": [
- "code1492",
- "fscholz",
- "hanmomhanda"
- ]
- },
- "Web/API/WebGL_API/Tutorial/Using_textures_in_WebGL": {
- "modified": "2019-03-23T22:54:21.742Z",
- "contributors": [
- "fscholz",
- "hanmomhanda"
- ]
- },
- "Web/API/WebGL_API/WebGL_best_practices": {
- "modified": "2019-03-23T22:27:59.889Z",
- "contributors": [
- "rupc"
- ]
- },
- "Web/API/WebRTC_API": {
- "modified": "2020-10-28T03:01:09.162Z",
- "contributors": [
- "Anonymous",
- "LeeJunyeol",
- "peacekimjapan",
- "YBHwang",
- "netcleaner",
- "hjs6877",
- "gustnxodjs",
- "Sheppy"
- ]
- },
- "Web/API/WebRTC_API/Protocols": {
- "modified": "2020-04-05T10:53:02.981Z",
- "contributors": [
- "peacekimjapan"
- ]
- },
- "Web/API/WebRTC_API/Signaling_and_video_calling": {
- "modified": "2020-08-14T04:11:06.366Z",
- "contributors": [
- "breadfit",
- "fscholz",
- "gustnxodjs"
- ]
- },
- "Web/API/WebRTC_API/Using_data_channels": {
- "modified": "2020-04-05T10:19:30.624Z",
- "contributors": [
- "peacekimjapan"
- ]
- },
- "Web/API/WebRTC_API/adapter.js": {
- "modified": "2020-08-14T03:48:29.087Z",
- "contributors": [
- "breadfit"
- ]
- },
- "Web/API/WebSocket": {
- "modified": "2020-10-15T21:42:28.844Z",
- "contributors": [
- "alattalatta",
- "TaeYoon2",
- "pjc0247"
- ]
- },
- "Web/API/WebSocket/WebSocket": {
- "modified": "2020-10-15T22:09:06.751Z",
- "contributors": [
- "TaeYoon2"
- ]
- },
- "Web/API/WebSocket/readyState": {
- "modified": "2020-10-15T22:21:26.050Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/API/Web_Audio_API": {
- "modified": "2020-11-04T02:42:13.418Z",
- "contributors": [
- "hyunwoong.kang",
- "chant"
- ]
- },
- "Web/API/Web_Audio_API/Basic_concepts_behind_Web_Audio_API": {
- "modified": "2019-03-18T21:36:55.007Z",
- "contributors": [
- "daebum-lee"
- ]
- },
- "Web/API/Web_Audio_API/Using_Web_Audio_API": {
- "modified": "2019-10-28T07:49:04.515Z",
- "contributors": [
- "dbwodlf3"
- ]
- },
- "Web/API/Web_Storage_API": {
- "modified": "2020-10-15T21:55:28.717Z",
- "contributors": [
- "alattalatta",
- "zynkn",
- "fscholz"
- ]
- },
- "Web/API/Web_Storage_API/Using_the_Web_Storage_API": {
- "modified": "2020-10-15T21:55:28.885Z",
- "contributors": [
- "yuyuny",
- "alattalatta",
- "leedabin",
- "techhtml"
- ]
- },
- "Web/API/Web_Workers_API": {
- "modified": "2020-08-26T12:06:20.971Z",
- "contributors": [
- "alattalatta",
- "ddojung",
- "naduhy2",
- "thankee",
- "chrisdavidmills"
- ]
- },
- "Web/API/Web_Workers_API/Structured_clone_algorithm": {
- "modified": "2019-03-23T22:19:45.404Z",
- "contributors": [
- "Konan"
- ]
- },
- "Web/API/Web_Workers_API/basic_usage": {
- "modified": "2020-04-03T02:58:31.932Z",
- "contributors": [
- "dh",
- "roupkk",
- "andrewsohn",
- "NFM",
- "epicsaga"
- ]
- },
- "Web/API/Window": {
- "modified": "2020-10-15T21:17:36.416Z",
- "contributors": [
- "alattalatta",
- "JungMockdan",
- "inojng",
- "wayne-kim",
- "fscholz",
- "jsx",
- "teoli",
- "pusanbear"
- ]
- },
- "Web/API/Window/alert": {
- "modified": "2020-10-15T21:39:24.854Z",
- "contributors": [
- "alattalatta",
- "Parcovia",
- ".",
- "pi1992"
- ]
- },
- "Web/API/Window/beforeunload_event": {
- "modified": "2020-10-15T22:30:21.588Z",
- "contributors": [
- "alattalatta",
- "SeonHyungJo"
- ]
- },
- "Web/API/Window/cancelAnimationFrame": {
- "modified": "2020-10-15T22:16:45.881Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/API/Window/closed": {
- "modified": "2020-08-22T13:20:32.502Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Window/confirm": {
- "modified": "2020-10-15T22:00:12.990Z",
- "contributors": [
- "alattalatta",
- "idpokute"
- ]
- },
- "Web/API/Window/console": {
- "modified": "2020-02-01T07:17:19.974Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Window/crypto": {
- "modified": "2020-10-15T21:40:03.517Z",
- "contributors": [
- "alattalatta",
- "hoony"
- ]
- },
- "Web/API/Window/customElements": {
- "modified": "2020-10-15T22:26:45.848Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Window/devicePixelRatio": {
- "modified": "2020-10-15T21:38:18.372Z",
- "contributors": [
- "alattalatta",
- "apple77y",
- "starfish72"
- ]
- },
- "Web/API/Window/document": {
- "modified": "2020-10-15T22:26:46.832Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Window/event": {
- "modified": "2020-10-15T22:02:39.854Z",
- "contributors": [
- "alattalatta",
- "JCORP"
- ]
- },
- "Web/API/Window/frameElement": {
- "modified": "2020-10-15T22:26:48.500Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Window/getComputedStyle": {
- "modified": "2020-10-15T21:22:01.191Z",
- "contributors": [
- "sominlee",
- "alattalatta",
- "dotorify",
- "dalgos",
- "fscholz",
- "sirparang"
- ]
- },
- "Web/API/Window/getSelection": {
- "modified": "2019-03-23T22:29:25.391Z",
- "contributors": [
- "veshboo",
- "WonbaeLee"
- ]
- },
- "Web/API/Window/history": {
- "modified": "2020-10-15T22:00:33.418Z",
- "contributors": [
- "alattalatta",
- "GracefulLight"
- ]
- },
- "Web/API/Window/innerWidth": {
- "modified": "2020-10-15T21:37:10.524Z",
- "contributors": [
- "alattalatta",
- "pi1992",
- "minuJeong"
- ]
- },
- "Web/API/Window/length": {
- "modified": "2020-10-15T22:19:30.019Z",
- "contributors": [
- "guyeol"
- ]
- },
- "Web/API/Window/localStorage": {
- "modified": "2020-10-15T21:38:02.780Z",
- "contributors": [
- "alattalatta",
- "zynkn",
- "dvmoomoodv",
- "hallower",
- "wizardbear",
- "jayjin"
- ]
- },
- "Web/API/Window/location": {
- "modified": "2020-10-15T21:42:32.475Z",
- "contributors": [
- "alattalatta",
- "pjc0247"
- ]
- },
- "Web/API/Window/matchMedia": {
- "modified": "2020-10-15T22:11:42.169Z",
- "contributors": [
- "alattalatta",
- "dragmove"
- ]
- },
- "Web/API/Window/name": {
- "modified": "2019-03-23T22:32:03.919Z",
- "contributors": [
- "paikwiki",
- "Dragonholux"
- ]
- },
- "Web/API/Window/navigator": {
- "modified": "2020-10-15T22:26:55.432Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Window/open": {
- "modified": "2020-10-15T22:13:16.786Z",
- "contributors": [
- "jeongchaeuk"
- ]
- },
- "Web/API/Window/opener": {
- "modified": "2020-10-15T21:50:11.480Z",
- "contributors": [
- "alattalatta",
- "HyunkwonEddie-Cho"
- ]
- },
- "Web/API/Window/orientationchange_event": {
- "modified": "2019-04-02T12:02:29.891Z",
- "contributors": [
- "fscholz",
- "ExE-Boss",
- "junho85"
- ]
- },
- "Web/API/Window/outerWidth": {
- "modified": "2019-03-23T22:46:47.494Z",
- "contributors": [
- "pi1992"
- ]
- },
- "Web/API/Window/pageYOffset": {
- "modified": "2020-10-15T22:20:34.185Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Window/popstate_event": {
- "modified": "2020-10-15T21:46:24.819Z",
- "contributors": [
- "alattalatta",
- "chrisdavidmills",
- "irenesmith",
- "ExE-Boss",
- "fscholz",
- "joshua1988"
- ]
- },
- "Web/API/Window/postMessage": {
- "modified": "2020-10-15T22:10:00.953Z",
- "contributors": [
- "yuyuny",
- "monadgon",
- "ByeongGi"
- ]
- },
- "Web/API/Window/prompt": {
- "modified": "2020-10-15T21:39:32.282Z",
- "contributors": [
- "alattalatta",
- "Parcovia",
- "."
- ]
- },
- "Web/API/Window/requestAnimationFrame": {
- "modified": "2020-10-15T22:05:43.676Z",
- "contributors": [
- "cs09g",
- "Snark"
- ]
- },
- "Web/API/Window/requestIdleCallback": {
- "modified": "2020-10-15T22:01:12.462Z",
- "contributors": [
- "alattalatta",
- "jeonnoej"
- ]
- },
- "Web/API/Window/resizeTo": {
- "modified": "2020-11-27T05:37:13.601Z",
- "contributors": [
- "SyngEiEi",
- "alattalatta",
- "ksyeng"
- ]
- },
- "Web/API/Window/resize_event": {
- "modified": "2019-04-30T13:44:34.193Z",
- "contributors": [
- "wbamberg",
- "chrisdavidmills",
- "irenesmith",
- "ExE-Boss",
- "DeadIntegral"
- ]
- },
- "Web/API/Window/scrollTo": {
- "modified": "2019-03-23T22:45:38.639Z",
- "contributors": [
- "benant"
- ]
- },
- "Web/API/Window/scrollX": {
- "modified": "2020-10-15T22:18:02.280Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Window/scrollY": {
- "modified": "2020-10-15T21:56:48.639Z",
- "contributors": [
- "alattalatta",
- "jeonnoej"
- ]
- },
- "Web/API/Window/self": {
- "modified": "2020-10-15T22:15:48.731Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/Window/sessionStorage": {
- "modified": "2020-10-15T21:38:39.029Z",
- "contributors": [
- "alattalatta",
- "es-lee",
- "hallower"
- ]
- },
- "Web/API/Window/status": {
- "modified": "2019-03-23T22:46:22.063Z",
- "contributors": [
- "pi1992"
- ]
- },
- "Web/API/Window/stop": {
- "modified": "2019-03-23T22:12:45.276Z",
- "contributors": [
- "BANIP"
- ]
- },
- "Web/API/Window/toolbar": {
- "modified": "2019-03-23T22:31:57.987Z",
- "contributors": [
- "Dragonholux"
- ]
- },
- "Web/API/Window/top": {
- "modified": "2020-10-15T21:59:06.721Z",
- "contributors": [
- "alattalatta",
- "Star_Man"
- ]
- },
- "Web/API/Window/unload_event": {
- "modified": "2020-10-15T22:30:21.828Z",
- "contributors": [
- "alattalatta",
- "SeonHyungJo"
- ]
- },
- "Web/API/Window/window": {
- "modified": "2019-03-23T22:46:22.936Z",
- "contributors": [
- "pi1992"
- ]
- },
- "Web/API/WindowEventHandlers": {
- "modified": "2020-10-15T21:46:21.497Z",
- "contributors": [
- "alattalatta",
- "fscholz"
- ]
- },
- "Web/API/WindowEventHandlers/onhashchange": {
- "modified": "2020-10-15T21:48:40.089Z",
- "contributors": [
- "limkukhyun",
- "cs09g",
- "TimeExplore"
- ]
- },
- "Web/API/WindowEventHandlers/onpopstate": {
- "modified": "2019-03-23T22:33:09.328Z",
- "contributors": [
- "joeunha",
- "joshua1988"
- ]
- },
- "Web/API/WindowEventHandlers/onstorage": {
- "modified": "2020-10-15T22:33:23.208Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/API/WindowTimers/setTimeout": {
- "modified": "2019-03-23T22:22:22.449Z",
- "contributors": [
- "DevJang",
- "TroyTae"
- ]
- },
- "Web/API/Worker": {
- "modified": "2020-10-15T21:47:12.252Z",
- "contributors": [
- "alattalatta",
- "NFM"
- ]
- },
- "Web/API/Worker/postMessage": {
- "modified": "2019-03-18T21:39:24.795Z",
- "contributors": [
- "TaeYoon2"
- ]
- },
- "Web/API/WritableStream": {
- "modified": "2020-10-15T22:22:45.743Z",
- "contributors": [
- "ahnzaz"
- ]
- },
- "Web/API/XMLHttpRequest": {
- "modified": "2020-10-15T21:18:13.536Z",
- "contributors": [
- "minijaypark",
- "jswisher",
- "grizlupo",
- "cs09g",
- "MyungGyu",
- "silmari",
- "Suguni",
- "Wafe",
- "Sebuls"
- ]
- },
- "Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests": {
- "modified": "2019-05-28T20:54:40.684Z",
- "contributors": [
- "jswisher",
- "project42da"
- ]
- },
- "Web/API/XMLHttpRequest/setRequestHeader": {
- "modified": "2020-10-15T21:54:18.038Z",
- "contributors": [
- "jswisher",
- "alattalatta",
- "chatoo2412",
- "kidkkr"
- ]
- },
- "Web/API/XMLHttpRequest/timeout": {
- "modified": "2019-05-28T20:54:41.611Z",
- "contributors": [
- "jswisher",
- "wbamberg",
- "ExE-Boss",
- "DeadIntegral"
- ]
- },
- "Web/API/XMLHttpRequest/upload": {
- "modified": "2020-10-15T22:30:03.395Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/API/notification": {
- "modified": "2019-09-10T05:52:41.419Z",
- "contributors": [
- "hyeonseok",
- "sagnol",
- "AshfaqHossain",
- "junho85"
- ]
- },
- "Web/Accessibility": {
- "modified": "2019-09-09T14:15:43.285Z",
- "contributors": [
- "SphinxKnight",
- "OkHyeon",
- "young-gratia",
- "nacyot",
- "teoli",
- "Netaras"
- ]
- },
- "Web/Accessibility/ARIA": {
- "modified": "2020-01-12T10:16:30.044Z",
- "contributors": [
- "alattalatta",
- "young-gratia",
- "teoli",
- "Cho.Eun"
- ]
- },
- "Web/Accessibility/ARIA/ARIA_Live_Regions": {
- "modified": "2020-12-05T03:30:43.763Z",
- "contributors": [
- "movegun1027"
- ]
- },
- "Web/Accessibility/ARIA/ARIA_Techniques": {
- "modified": "2020-01-12T02:25:07.876Z",
- "contributors": [
- "alattalatta",
- "dcondrey"
- ]
- },
- "Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute": {
- "modified": "2019-05-20T02:23:29.902Z",
- "contributors": [
- "dasom0801"
- ]
- },
- "Web/Accessibility/ARIA/Roles": {
- "modified": "2019-03-18T21:24:18.888Z",
- "contributors": [
- "estelle"
- ]
- },
- "Web/Accessibility/ARIA/Roles/dialog_role": {
- "modified": "2019-03-18T21:24:31.941Z",
- "contributors": [
- "seokju-na"
- ]
- },
- "Web/Accessibility/ARIA/forms": {
- "modified": "2020-12-05T03:35:00.756Z",
- "contributors": [
- "movegun1027",
- "dasom0801"
- ]
- },
- "Web/Accessibility/ARIA/forms/Basic_form_hints": {
- "modified": "2019-05-20T01:53:49.386Z",
- "contributors": [
- "dasom0801"
- ]
- },
- "Web/Accessibility/ARIA/forms/alerts": {
- "modified": "2019-04-06T02:12:01.060Z",
- "contributors": [
- "dasom0801"
- ]
- },
- "Web/Accessibility/An_overview_of_accessible_web_applications_and_widgets": {
- "modified": "2019-03-23T23:21:28.496Z",
- "contributors": [
- "dotorify",
- "teoli",
- "Cho.Eun"
- ]
- },
- "Web/Accessibility/Mobile_accessibility_checklist": {
- "modified": "2019-09-08T04:58:59.841Z",
- "contributors": [
- "seunghun"
- ]
- },
- "Web/Accessibility/Understanding_WCAG": {
- "modified": "2020-04-22T11:21:03.173Z"
- },
- "Web/Accessibility/Understanding_WCAG/Keyboard": {
- "modified": "2020-04-22T11:21:04.132Z",
- "contributors": [
- "hhn044794"
- ]
- },
- "Web/CSS": {
- "modified": "2020-03-24T23:49:32.274Z",
- "contributors": [
- "alattalatta",
- "SphinxKnight",
- "dbwodlf3",
- "Netaras",
- "jaeminkim87",
- "teoli",
- "jaemin_jo",
- "Ioseph",
- "Sebuls",
- "Jiyoon",
- "Channy"
- ]
- },
- "Web/CSS/-moz-image-region": {
- "modified": "2020-10-15T21:37:53.434Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "wjsskanyo"
- ]
- },
- "Web/CSS/-webkit-line-clamp": {
- "modified": "2020-10-15T22:25:56.637Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/-webkit-overflow-scrolling": {
- "modified": "2020-10-15T21:37:39.290Z",
- "contributors": [
- "alattalatta",
- "epicsaga"
- ]
- },
- "Web/CSS/::after": {
- "modified": "2020-10-15T21:37:38.967Z",
- "contributors": [
- "alattalatta",
- "samee",
- "DeadIntegral",
- "pelly_ryu",
- "kuil09"
- ]
- },
- "Web/CSS/::before": {
- "modified": "2020-10-15T22:26:07.120Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/::placeholder": {
- "modified": "2020-10-15T22:33:58.412Z",
- "contributors": [
- "dusehrla6432"
- ]
- },
- "Web/CSS/:active": {
- "modified": "2020-10-15T21:55:14.047Z",
- "contributors": [
- "alattalatta",
- "chatoo2412",
- "LeeJunyeol"
- ]
- },
- "Web/CSS/:checked": {
- "modified": "2020-10-15T22:28:37.272Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:default": {
- "modified": "2020-10-15T22:32:39.937Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:defined": {
- "modified": "2020-10-15T22:32:39.359Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:disabled": {
- "modified": "2020-10-15T22:27:45.878Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:enabled": {
- "modified": "2020-10-15T22:27:45.360Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:first": {
- "modified": "2020-10-15T21:46:53.912Z",
- "contributors": [
- "alattalatta",
- "Abbey100"
- ]
- },
- "Web/CSS/:first-child": {
- "modified": "2020-10-15T21:49:44.106Z",
- "contributors": [
- "alattalatta",
- "ShihwanKim"
- ]
- },
- "Web/CSS/:first-of-type": {
- "modified": "2020-10-15T22:32:33.323Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:focus": {
- "modified": "2020-10-15T22:32:53.126Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:focus-within": {
- "modified": "2020-10-15T22:04:40.850Z",
- "contributors": [
- "alattalatta",
- "dragmove"
- ]
- },
- "Web/CSS/:fullscreen": {
- "modified": "2020-10-15T22:33:29.162Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:hover": {
- "modified": "2020-10-15T22:18:47.333Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:link": {
- "modified": "2020-10-15T22:18:48.344Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:not": {
- "modified": "2020-10-15T21:46:19.378Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/:nth-child": {
- "modified": "2020-10-15T21:53:08.514Z",
- "contributors": [
- "alattalatta",
- "kewlbear"
- ]
- },
- "Web/CSS/:root": {
- "modified": "2020-10-15T22:26:34.640Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/:visited": {
- "modified": "2020-10-15T22:15:47.141Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/@charset": {
- "modified": "2020-10-15T21:45:47.461Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/@font-face": {
- "modified": "2019-03-23T23:36:07.738Z",
- "contributors": [
- "fscholz",
- "teoli",
- "mirinae312"
- ]
- },
- "Web/CSS/@font-face/font-display": {
- "modified": "2020-10-15T22:30:54.274Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/CSS/@import": {
- "modified": "2020-10-15T21:45:49.357Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/@keyframes": {
- "modified": "2020-10-15T21:48:02.411Z",
- "contributors": [
- "alattalatta",
- "joshua1988"
- ]
- },
- "Web/CSS/@media": {
- "modified": "2020-10-15T21:46:08.753Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/@media/prefers-color-scheme": {
- "modified": "2020-10-15T22:16:57.718Z",
- "contributors": [
- "lifeisnovel"
- ]
- },
- "Web/CSS/@namespace": {
- "modified": "2020-10-15T21:45:48.598Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/@page": {
- "modified": "2020-10-15T21:45:49.203Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/@supports": {
- "modified": "2020-10-15T21:39:41.961Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "epicsaga"
- ]
- },
- "Web/CSS/@viewport": {
- "modified": "2020-10-15T21:46:25.224Z",
- "contributors": [
- "alattalatta",
- "cvrebert"
- ]
- },
- "Web/CSS/@viewport/height": {
- "modified": "2020-10-15T21:46:24.032Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/@viewport/viewport-fit": {
- "modified": "2020-10-15T22:22:51.969Z",
- "contributors": [
- "chayeoi",
- "SphinxKnight"
- ]
- },
- "Web/CSS/@viewport/zoom": {
- "modified": "2020-10-15T21:46:22.320Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/All_About_The_Containing_Block": {
- "modified": "2020-01-07T10:38:47.261Z",
- "contributors": [
- "alattalatta",
- "nyxchung"
- ]
- },
- "Web/CSS/Alternative_style_sheets": {
- "modified": "2019-03-23T23:52:49.065Z",
- "contributors": [
- "teoli",
- "Suguni"
- ]
- },
- "Web/CSS/At-rule": {
- "modified": "2019-03-18T20:41:39.547Z",
- "contributors": [
- "alattalatta",
- "Seonghui",
- "jihyerish",
- "Netaras"
- ]
- },
- "Web/CSS/Attribute_selectors": {
- "modified": "2020-10-15T21:50:30.795Z",
- "contributors": [
- "alattalatta",
- "young-gratia"
- ]
- },
- "Web/CSS/CSS_Animations": {
- "modified": "2020-10-15T21:40:14.551Z",
- "contributors": [
- "alattalatta",
- "MexieAndCo"
- ]
- },
- "Web/CSS/CSS_Animations/Using_CSS_animations": {
- "modified": "2019-03-23T23:37:34.998Z",
- "contributors": [
- "SphinxKnight",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Background_and_Borders/Border-image_generator": {
- "modified": "2019-03-20T10:30:55.489Z",
- "contributors": [
- "alattalatta",
- "young-gratia"
- ]
- },
- "Web/CSS/CSS_Background_and_Borders/Border-radius_generator": {
- "modified": "2019-03-20T10:29:25.952Z",
- "contributors": [
- "alattalatta",
- "young-gratia"
- ]
- },
- "Web/CSS/CSS_Background_and_Borders/Box-shadow_generator": {
- "modified": "2019-03-20T10:32:14.015Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/CSS_Background_and_Borders/Using_CSS_multiple_backgrounds": {
- "modified": "2019-03-23T23:37:37.611Z",
- "contributors": [
- "teoli",
- "Inyoung",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Backgrounds_and_Borders": {
- "modified": "2020-08-10T06:40:27.369Z",
- "contributors": [
- "alattalatta",
- "Sheppy"
- ]
- },
- "Web/CSS/CSS_Backgrounds_and_Borders/Scaling_background_images": {
- "modified": "2019-04-08T10:28:17.719Z",
- "contributors": [
- "alattalatta",
- "jyqry"
- ]
- },
- "Web/CSS/CSS_Backgrounds_and_Borders/Using_multiple_backgrounds": {
- "modified": "2019-05-02T02:39:15.426Z",
- "contributors": [
- "alattalatta",
- "yangtaeho"
- ]
- },
- "Web/CSS/CSS_Basic_User_Interface": {
- "modified": "2020-08-22T11:32:19.551Z",
- "contributors": [
- "alattalatta",
- "SphinxKnight"
- ]
- },
- "Web/CSS/CSS_Box_Model": {
- "modified": "2019-04-11T11:38:24.806Z",
- "contributors": [
- "alattalatta",
- "Netaras",
- "Sebastianz"
- ]
- },
- "Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model": {
- "modified": "2020-08-04T05:49:04.204Z",
- "contributors": [
- "alattalatta",
- "KwangseokWon",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Box_Model/Mastering_margin_collapsing": {
- "modified": "2020-08-04T05:48:58.017Z",
- "contributors": [
- "alattalatta",
- "ahnjungho",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Charsets": {
- "modified": "2019-04-25T11:04:17.063Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Color": {
- "modified": "2020-10-15T22:04:24.231Z",
- "contributors": [
- "alattalatta",
- "hyeran2"
- ]
- },
- "Web/CSS/CSS_Colors/Color_picker_tool": {
- "modified": "2019-03-18T21:24:14.300Z",
- "contributors": [
- "darim"
- ]
- },
- "Web/CSS/CSS_Columns": {
- "modified": "2019-04-11T11:34:08.500Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Conditional_Rules": {
- "modified": "2019-04-26T08:57:56.325Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Containment": {
- "modified": "2020-10-16T09:12:34.130Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/CSS/CSS_Device_Adaptation": {
- "modified": "2019-04-26T08:58:25.376Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Flexible_Box_Layout": {
- "modified": "2020-08-04T05:49:54.665Z",
- "contributors": [
- "alattalatta",
- "beowolf9",
- "ljb7977",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Flexible_Box_Layout/Aligning_Items_in_a_Flex_Container": {
- "modified": "2019-07-26T22:57:33.143Z",
- "contributors": [
- "chansbro",
- "beowolf9"
- ]
- },
- "Web/CSS/CSS_Flexible_Box_Layout/Flexbox의_기본_개념": {
- "modified": "2019-03-18T20:55:20.567Z",
- "contributors": [
- "5JJ",
- "joeunha",
- "beowolf9",
- "silmari",
- "soonoo",
- "wankyu",
- "Latera"
- ]
- },
- "Web/CSS/CSS_Flexible_Box_Layout/가변상자의_대표적인_사용례": {
- "modified": "2019-10-04T18:40:14.389Z",
- "contributors": [
- "Hwan-Woong-Lee"
- ]
- },
- "Web/CSS/CSS_Flow_Layout": {
- "modified": "2020-10-25T09:14:50.404Z",
- "contributors": [
- "DeadIntegral",
- "Hwan-Woong-Lee",
- "cybaj"
- ]
- },
- "Web/CSS/CSS_Flow_Layout/Intro_to_formatting_contexts": {
- "modified": "2019-09-25T06:26:34.609Z",
- "contributors": [
- "Hwan-Woong-Lee",
- "cybaj"
- ]
- },
- "Web/CSS/CSS_Flow_Layout/대열과_탈대열": {
- "modified": "2019-09-24T15:45:35.513Z",
- "contributors": [
- "Hwan-Woong-Lee"
- ]
- },
- "Web/CSS/CSS_Flow_Layout/일반_흐름_속_블록_및_인라인_레이아웃": {
- "modified": "2019-09-26T08:28:44.702Z",
- "contributors": [
- "Hwan-Woong-Lee"
- ]
- },
- "Web/CSS/CSS_Flow_Layout/흐름_레이아웃과_쓰기_모드": {
- "modified": "2019-09-17T21:10:09.773Z",
- "contributors": [
- "Hwan-Woong-Lee"
- ]
- },
- "Web/CSS/CSS_Flow_Layout/흐름_레이아웃과_오버플로": {
- "modified": "2020-03-10T09:52:12.477Z",
- "contributors": [
- "EricByHPHK",
- "Hwan-Woong-Lee"
- ]
- },
- "Web/CSS/CSS_Fonts": {
- "modified": "2019-04-25T10:51:28.269Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Generated_Content": {
- "modified": "2019-04-24T12:43:29.904Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Grid_Layout": {
- "modified": "2019-03-23T22:19:44.989Z",
- "contributors": [
- "miname",
- "techhtml"
- ]
- },
- "Web/CSS/CSS_Grid_Layout/Basic_concepts_of_grid_layout": {
- "modified": "2019-10-10T16:32:21.410Z",
- "contributors": [
- "alattalatta",
- "dbwodlf3"
- ]
- },
- "Web/CSS/CSS_Grid_Layout/Grid_template_areas": {
- "modified": "2019-10-10T16:54:35.246Z",
- "contributors": [
- "chrisdavidmills",
- "dbwodlf3",
- "miname"
- ]
- },
- "Web/CSS/CSS_Grid_Layout/Layout_using_named_grid_lines": {
- "modified": "2019-03-23T22:00:52.287Z",
- "contributors": [
- "chrisdavidmills",
- "dbwodlf3",
- "miname"
- ]
- },
- "Web/CSS/CSS_Grid_Layout/Line-based_placement_with_CSS_grid": {
- "modified": "2019-03-23T22:01:04.533Z",
- "contributors": [
- "chrisdavidmills",
- "dbwodlf3",
- "miname"
- ]
- },
- "Web/CSS/CSS_Grid_Layout/Relationship_of_grid_layout": {
- "modified": "2019-03-23T22:01:05.023Z",
- "contributors": [
- "chrisdavidmills",
- "dbwodlf3",
- "miname",
- "sarojaba"
- ]
- },
- "Web/CSS/CSS_Images": {
- "modified": "2020-08-05T10:48:34.252Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Images/Implementing_image_sprites_in_CSS": {
- "modified": "2020-08-05T10:28:13.719Z",
- "contributors": [
- "alattalatta",
- "corean",
- "ingee.kim"
- ]
- },
- "Web/CSS/CSS_Images/Using_CSS_gradients": {
- "modified": "2020-08-05T10:27:39.634Z",
- "contributors": [
- "alattalatta",
- "albertkang1004"
- ]
- },
- "Web/CSS/CSS_Lists_and_Counters": {
- "modified": "2019-04-24T12:48:26.621Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Lists_and_Counters/Using_CSS_counters": {
- "modified": "2020-06-15T04:03:26.893Z",
- "contributors": [
- "lee.juyoung.1978",
- "citrus.alice"
- ]
- },
- "Web/CSS/CSS_Logical_Properties": {
- "modified": "2019-04-25T12:25:18.617Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Masks": {
- "modified": "2019-04-26T08:55:40.990Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Miscellaneous": {
- "modified": "2019-03-23T22:32:29.213Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Namespaces": {
- "modified": "2019-04-26T08:57:19.875Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Pages": {
- "modified": "2019-04-24T12:50:22.680Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Positioning": {
- "modified": "2019-04-21T01:25:04.626Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Positioning/Understanding_z_index": {
- "modified": "2020-02-05T05:13:01.140Z",
- "contributors": [
- "SphinxKnight",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Positioning/Understanding_z_index/Adding_z-index": {
- "modified": "2020-02-05T05:13:01.975Z",
- "contributors": [
- "SphinxKnight",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Positioning/Understanding_z_index/Stacking_and_float": {
- "modified": "2020-02-05T05:13:01.825Z",
- "contributors": [
- "SphinxKnight",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Positioning/Understanding_z_index/Stacking_context_example_1": {
- "modified": "2020-02-05T05:13:02.108Z",
- "contributors": [
- "SphinxKnight",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Positioning/Understanding_z_index/Stacking_context_example_2": {
- "modified": "2020-02-05T05:13:02.229Z",
- "contributors": [
- "SphinxKnight",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Positioning/Understanding_z_index/Stacking_context_example_3": {
- "modified": "2020-02-05T05:13:02.358Z",
- "contributors": [
- "SphinxKnight",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Positioning/Understanding_z_index/Stacking_without_z-index": {
- "modified": "2020-02-05T05:13:01.179Z",
- "contributors": [
- "SphinxKnight",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context": {
- "modified": "2020-11-23T02:40:41.896Z",
- "contributors": [
- "degurii",
- "SphinxKnight",
- "alattalatta",
- "mixed80",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Ruby": {
- "modified": "2019-04-25T10:56:54.378Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Scroll_Snap_Points": {
- "modified": "2019-04-14T23:39:58.448Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Selectors": {
- "modified": "2020-08-22T11:28:21.089Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/CSS_Shapes": {
- "modified": "2019-04-25T10:46:18.309Z",
- "contributors": [
- "alattalatta",
- "seunghun",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Table": {
- "modified": "2020-08-14T07:19:40.233Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Text": {
- "modified": "2020-08-14T07:07:31.180Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Text_Decoration": {
- "modified": "2019-04-26T09:11:17.686Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_Transforms": {
- "modified": "2019-05-25T01:16:56.674Z",
- "contributors": [
- "alattalatta",
- "Sebastianz",
- "fscholz"
- ]
- },
- "Web/CSS/CSS_Transforms/Using_CSS_transforms": {
- "modified": "2020-08-10T09:38:37.563Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "teoli",
- "mirinae312",
- "jaemin_jo"
- ]
- },
- "Web/CSS/CSS_Transitions": {
- "modified": "2019-04-24T12:25:03.824Z",
- "contributors": [
- "alattalatta",
- "teoli"
- ]
- },
- "Web/CSS/CSS_Transitions/Using_CSS_transitions": {
- "modified": "2019-04-24T12:31:27.840Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "fscholz",
- "sbnet21"
- ]
- },
- "Web/CSS/CSS_Types": {
- "modified": "2020-08-06T04:37:09.952Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/CSS_Variables": {
- "modified": "2019-11-14T21:10:56.947Z",
- "contributors": [
- "so4869"
- ]
- },
- "Web/CSS/CSS_Writing_Modes": {
- "modified": "2019-04-24T12:41:55.322Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/CSS_animated_properties": {
- "modified": "2019-03-23T22:32:22.661Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/CSS/CSS_단위와_값": {
- "modified": "2020-11-29T04:33:10.671Z",
- "contributors": [
- "alanhchoi"
- ]
- },
- "Web/CSS/Cascade": {
- "modified": "2019-03-23T22:13:24.690Z",
- "contributors": [
- "alattalatta",
- "hoony"
- ]
- },
- "Web/CSS/Child_combinator": {
- "modified": "2020-10-15T22:25:55.183Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/Class_selectors": {
- "modified": "2020-10-15T22:15:58.108Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/Comments": {
- "modified": "2019-12-27T06:34:39.339Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/Common_CSS_Questions": {
- "modified": "2020-07-16T22:25:45.337Z",
- "contributors": [
- "miyunim"
- ]
- },
- "Web/CSS/Descendant_combinator": {
- "modified": "2020-10-15T22:25:55.745Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/Filter_Effects": {
- "modified": "2020-10-15T22:33:03.965Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/General_sibling_combinator": {
- "modified": "2020-10-15T22:25:59.669Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/Getting_Started/JavaScript": {
- "modified": "2019-03-23T23:41:58.615Z",
- "contributors": [
- "teoli",
- "Ioseph"
- ]
- },
- "Web/CSS/Getting_Started/SVG_graphics": {
- "modified": "2019-03-23T23:41:56.694Z",
- "contributors": [
- "teoli",
- "Ioseph"
- ]
- },
- "Web/CSS/ID_selectors": {
- "modified": "2020-10-15T22:16:17.946Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/Index": {
- "modified": "2019-05-26T05:51:14.395Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/Layout_mode": {
- "modified": "2020-08-05T01:05:50.434Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/Media_Queries": {
- "modified": "2019-05-30T11:03:40.194Z",
- "contributors": [
- "alattalatta",
- "Seonghui"
- ]
- },
- "Web/CSS/Media_Queries/Using_Media_Queries_for_Accessibility": {
- "modified": "2019-04-29T00:53:50.949Z",
- "contributors": [
- "qwqw312x"
- ]
- },
- "Web/CSS/Paged_Media": {
- "modified": "2019-03-23T22:33:25.305Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/CSS/Pseudo-classes": {
- "modified": "2020-08-13T04:55:02.947Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/Pseudo-elements": {
- "modified": "2019-12-27T05:53:33.945Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/Reference": {
- "modified": "2020-08-22T11:29:11.351Z",
- "contributors": [
- "alattalatta",
- "jinah1000",
- "chrisdavidmills",
- "dbwodlf3",
- "Netaras",
- "hoony",
- "teoli",
- "tregagnon",
- "Pastelgrim"
- ]
- },
- "Web/CSS/Reference/Property_Template": {
- "modified": "2020-10-15T21:16:53.027Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "chrisdavidmills",
- "teoli",
- "Pastelgrim"
- ]
- },
- "Web/CSS/Replaced_element": {
- "modified": "2020-08-05T01:03:55.719Z",
- "contributors": [
- "alattalatta",
- "Hwan-Woong-Lee",
- "wankyu",
- "nyxchung",
- "Netaras"
- ]
- },
- "Web/CSS/Selector_list": {
- "modified": "2020-10-15T22:28:27.701Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/Shorthand_properties": {
- "modified": "2020-08-19T13:35:44.001Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/Specificity": {
- "modified": "2020-03-13T15:56:02.613Z",
- "contributors": [
- "EatChangmyeong",
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/Syntax": {
- "modified": "2020-08-04T07:19:16.823Z",
- "contributors": [
- "alattalatta",
- "young-gratia",
- "Netaras"
- ]
- },
- "Web/CSS/Type_selectors": {
- "modified": "2020-10-15T21:47:13.300Z",
- "contributors": [
- "alattalatta",
- "pelly_ryu"
- ]
- },
- "Web/CSS/Universal_selectors": {
- "modified": "2020-10-15T21:46:22.060Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/Using_CSS_custom_properties": {
- "modified": "2020-11-10T06:07:11.739Z",
- "contributors": [
- "hKa2020",
- "alattalatta",
- "chrisdavidmills",
- "springday1023",
- "stitchworkingonthecode"
- ]
- },
- "Web/CSS/Value_definition_syntax": {
- "modified": "2020-08-14T12:47:43.592Z",
- "contributors": [
- "alattalatta",
- "ChanMyeong"
- ]
- },
- "Web/CSS/actual_value": {
- "modified": "2019-03-18T21:13:04.184Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/align-content": {
- "modified": "2020-10-15T22:09:15.263Z",
- "contributors": [
- "alattalatta",
- "qvil",
- "dbwodlf3"
- ]
- },
- "Web/CSS/all": {
- "modified": "2020-10-15T22:32:31.638Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/angle": {
- "modified": "2020-10-15T22:10:53.294Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/angle-percentage": {
- "modified": "2020-10-15T22:17:18.525Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/animation": {
- "modified": "2020-10-15T21:21:11.163Z",
- "contributors": [
- "alattalatta",
- "JJapShe",
- "teoli",
- "mirinae312"
- ]
- },
- "Web/CSS/animation-delay": {
- "modified": "2020-10-15T21:54:53.073Z",
- "contributors": [
- "alattalatta",
- "JJapShe",
- "gobyoungil"
- ]
- },
- "Web/CSS/animation-direction": {
- "modified": "2019-03-23T22:11:02.480Z",
- "contributors": [
- "JJapShe",
- "gobyoungil"
- ]
- },
- "Web/CSS/animation-duration": {
- "modified": "2019-03-23T22:10:47.889Z",
- "contributors": [
- "JJapShe"
- ]
- },
- "Web/CSS/animation-fill-mode": {
- "modified": "2019-03-23T22:09:41.257Z",
- "contributors": [
- "JJapShe"
- ]
- },
- "Web/CSS/backdrop-filter": {
- "modified": "2020-10-15T22:32:42.698Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/backface-visibility": {
- "modified": "2020-10-15T22:32:52.334Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/background": {
- "modified": "2020-10-15T21:12:39.561Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "SphinxKnight",
- "hoony",
- "Yuichiro",
- "Pastelgrim"
- ]
- },
- "Web/CSS/background-attachment": {
- "modified": "2020-10-15T22:32:54.714Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/background-clip": {
- "modified": "2020-10-15T22:26:03.561Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/background-color": {
- "modified": "2020-10-15T21:20:19.568Z",
- "contributors": [
- "alattalatta",
- "Sebastianz",
- "teoli",
- "SphinxKnight",
- "fscholz",
- "jaemin_jo"
- ]
- },
- "Web/CSS/background-image": {
- "modified": "2020-10-15T21:20:20.479Z",
- "contributors": [
- "alattalatta",
- "Sebastianz",
- "teoli",
- "SphinxKnight",
- "fscholz",
- "jaemin_jo"
- ]
- },
- "Web/CSS/background-origin": {
- "modified": "2020-10-15T22:32:47.629Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/background-repeat": {
- "modified": "2020-10-15T22:26:01.543Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/background-size": {
- "modified": "2020-10-15T22:21:52.000Z",
- "contributors": [
- "alattalatta",
- "ksyeon"
- ]
- },
- "Web/CSS/basic-shape": {
- "modified": "2020-10-15T22:25:46.167Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/blend-mode": {
- "modified": "2020-10-15T22:25:55.632Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border": {
- "modified": "2020-10-15T22:10:27.959Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-bottom": {
- "modified": "2020-10-15T22:18:08.650Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-bottom-color": {
- "modified": "2020-10-15T22:17:59.886Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-bottom-style": {
- "modified": "2020-10-15T22:16:16.852Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-bottom-width": {
- "modified": "2020-10-15T22:16:03.984Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-collapse": {
- "modified": "2020-10-15T21:47:33.161Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "Netaras"
- ]
- },
- "Web/CSS/border-color": {
- "modified": "2020-10-15T22:10:26.965Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-image": {
- "modified": "2020-10-15T22:15:54.372Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-image-outset": {
- "modified": "2020-10-15T22:15:54.055Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-image-repeat": {
- "modified": "2020-10-15T22:16:03.730Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-image-slice": {
- "modified": "2020-10-15T22:15:32.458Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-image-source": {
- "modified": "2020-10-15T22:15:59.508Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-image-width": {
- "modified": "2020-10-15T22:15:53.843Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-left": {
- "modified": "2020-10-15T22:18:07.361Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-left-color": {
- "modified": "2020-10-15T22:17:54.423Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-left-style": {
- "modified": "2020-10-15T22:16:15.619Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-left-width": {
- "modified": "2020-10-15T22:16:04.408Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-radius": {
- "modified": "2020-10-15T21:20:45.447Z",
- "contributors": [
- "alattalatta",
- "Rav",
- "Sebastianz",
- "teoli",
- "mirinae312"
- ]
- },
- "Web/CSS/border-right": {
- "modified": "2020-10-15T22:18:04.205Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-right-color": {
- "modified": "2020-10-15T22:17:54.896Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-right-style": {
- "modified": "2020-10-15T22:16:16.865Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-right-width": {
- "modified": "2020-10-15T22:16:06.914Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-spacing": {
- "modified": "2020-10-15T21:47:58.573Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "Netaras"
- ]
- },
- "Web/CSS/border-style": {
- "modified": "2020-10-15T21:59:05.590Z",
- "contributors": [
- "alattalatta",
- "flavono123"
- ]
- },
- "Web/CSS/border-top": {
- "modified": "2020-10-15T22:18:08.761Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-top-color": {
- "modified": "2020-10-15T22:18:01.555Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-top-style": {
- "modified": "2020-10-15T22:16:17.811Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-top-width": {
- "modified": "2020-10-15T22:16:04.734Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/border-width": {
- "modified": "2020-10-15T22:15:52.859Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/box-shadow": {
- "modified": "2020-10-15T21:21:04.554Z",
- "contributors": [
- "alattalatta",
- "Sebastianz",
- "teoli",
- "hibiya",
- "mirinae312"
- ]
- },
- "Web/CSS/box-sizing": {
- "modified": "2020-10-15T21:33:10.536Z",
- "contributors": [
- "alattalatta",
- "Sebastianz",
- "epicsaga",
- "dochoul"
- ]
- },
- "Web/CSS/calc()": {
- "modified": "2020-11-04T09:08:57.096Z",
- "contributors": [
- "chrisdavidmills",
- "alattalatta",
- "mrstork",
- "prayash",
- "teoli",
- "."
- ]
- },
- "Web/CSS/clear": {
- "modified": "2020-10-15T21:47:42.826Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/clip-path": {
- "modified": "2020-10-15T22:25:44.725Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/color": {
- "modified": "2020-10-15T22:10:33.905Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/color_value": {
- "modified": "2020-10-15T22:10:31.590Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/computed_value": {
- "modified": "2020-01-07T12:39:00.311Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/contain": {
- "modified": "2020-10-15T22:32:50.422Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/content": {
- "modified": "2020-10-15T22:26:10.769Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/cursor": {
- "modified": "2020-10-15T21:27:31.761Z",
- "contributors": [
- "alattalatta",
- "mrstork",
- "Sebastianz",
- "teoli",
- "claudepache"
- ]
- },
- "Web/CSS/cursor/Using_URL_values_for_the_cursor_property": {
- "modified": "2019-03-23T23:41:42.325Z",
- "contributors": [
- "hjunshin",
- "teoli",
- "jaemin_jo",
- "Ioseph"
- ]
- },
- "Web/CSS/display": {
- "modified": "2020-10-15T22:17:25.714Z",
- "contributors": [
- "alattalatta",
- "dbwodlf3"
- ]
- },
- "Web/CSS/display-internal": {
- "modified": "2020-11-29T06:46:46.662Z",
- "contributors": [
- "alanhchoi"
- ]
- },
- "Web/CSS/filter": {
- "modified": "2020-10-15T21:40:35.758Z",
- "contributors": [
- "alattalatta",
- "EatChangmyeong",
- "chatoo2412",
- "AshtonYoon",
- "Sebastianz",
- "hoony"
- ]
- },
- "Web/CSS/filter-function": {
- "modified": "2020-08-14T06:59:41.785Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/filter-function/blur()": {
- "modified": "2020-11-05T09:45:44.250Z",
- "contributors": [
- "chrisdavidmills",
- "alattalatta"
- ]
- },
- "Web/CSS/filter-function/brightness()": {
- "modified": "2020-11-05T09:57:22.993Z",
- "contributors": [
- "chrisdavidmills",
- "alattalatta"
- ]
- },
- "Web/CSS/filter-function/contrast()": {
- "modified": "2020-11-09T07:21:09.691Z",
- "contributors": [
- "chrisdavidmills",
- "alattalatta"
- ]
- },
- "Web/CSS/flex": {
- "modified": "2020-10-15T22:09:18.729Z",
- "contributors": [
- "alattalatta",
- "dbwodlf3"
- ]
- },
- "Web/CSS/flex-basis": {
- "modified": "2020-10-15T22:09:16.564Z",
- "contributors": [
- "alattalatta",
- "limjungmok",
- "dbwodlf3"
- ]
- },
- "Web/CSS/flex-direction": {
- "modified": "2020-10-15T22:09:14.650Z",
- "contributors": [
- "alattalatta",
- "limjungmok",
- "dbwodlf3"
- ]
- },
- "Web/CSS/flex-flow": {
- "modified": "2020-10-15T22:09:17.941Z",
- "contributors": [
- "alattalatta",
- "limjungmok",
- "dbwodlf3"
- ]
- },
- "Web/CSS/flex-grow": {
- "modified": "2020-10-15T22:09:15.124Z",
- "contributors": [
- "limjungmok",
- "dbwodlf3"
- ]
- },
- "Web/CSS/flex-shrink": {
- "modified": "2020-10-15T22:09:11.292Z",
- "contributors": [
- "limjungmok",
- "dbwodlf3"
- ]
- },
- "Web/CSS/flex-wrap": {
- "modified": "2020-10-15T22:09:11.421Z",
- "contributors": [
- "limjungmok",
- "dbwodlf3"
- ]
- },
- "Web/CSS/float": {
- "modified": "2020-10-15T21:44:47.428Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/font": {
- "modified": "2020-10-15T22:11:39.217Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/font-family": {
- "modified": "2020-10-15T21:48:51.338Z",
- "contributors": [
- "alattalatta",
- "naduhy2"
- ]
- },
- "Web/CSS/font-feature-settings": {
- "modified": "2020-11-04T06:31:19.905Z",
- "contributors": [
- "hyunwoong.kang"
- ]
- },
- "Web/CSS/font-size": {
- "modified": "2020-10-15T21:48:25.426Z",
- "contributors": [
- "Anonymous",
- "alattalatta",
- "Hanjae-Jea"
- ]
- },
- "Web/CSS/font-synthesis": {
- "modified": "2020-10-15T22:32:51.283Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/font-weight": {
- "modified": "2019-03-23T22:40:06.260Z",
- "contributors": [
- "naduhy2",
- "jisoon",
- "maytree"
- ]
- },
- "Web/CSS/frequency": {
- "modified": "2020-10-15T22:17:20.180Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/gap": {
- "modified": "2020-10-15T22:26:03.670Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/gradient": {
- "modified": "2020-10-15T22:11:21.903Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/grid": {
- "modified": "2020-10-15T22:09:39.253Z",
- "contributors": [
- "dbwodlf3"
- ]
- },
- "Web/CSS/grid-area": {
- "modified": "2020-10-15T22:09:39.279Z",
- "contributors": [
- "dbwodlf3"
- ]
- },
- "Web/CSS/height": {
- "modified": "2020-10-15T21:47:39.134Z",
- "contributors": [
- "alattalatta",
- "DeadIntegral"
- ]
- },
- "Web/CSS/hyphens": {
- "modified": "2020-10-15T22:32:51.304Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/image": {
- "modified": "2020-10-15T22:15:55.155Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/image-rendering": {
- "modified": "2020-10-15T21:40:19.155Z",
- "contributors": [
- "alattalatta",
- "Hmmim"
- ]
- },
- "Web/CSS/inherit": {
- "modified": "2020-10-15T21:44:46.933Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/inheritance": {
- "modified": "2019-03-18T21:13:04.690Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/initial": {
- "modified": "2020-10-15T21:45:36.803Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/initial_value": {
- "modified": "2020-01-07T13:09:25.646Z",
- "contributors": [
- "alattalatta",
- "Netaras",
- "teoli",
- "Pastelgrim"
- ]
- },
- "Web/CSS/integer": {
- "modified": "2020-10-15T22:10:29.443Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/isolation": {
- "modified": "2020-10-15T22:25:56.295Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/length": {
- "modified": "2020-10-15T22:10:30.645Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/length-percentage": {
- "modified": "2020-10-15T22:18:00.322Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/letter-spacing": {
- "modified": "2020-10-15T22:18:00.636Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/line-break": {
- "modified": "2020-10-15T22:32:46.075Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/linear-gradient()": {
- "modified": "2020-11-16T08:57:34.736Z",
- "contributors": [
- "chrisdavidmills",
- "alattalatta",
- "KadirTopal",
- "jh.Park",
- "Sebastianz",
- "Simplexible",
- "wizAmit",
- "slayslot",
- "prayash",
- "tamnajio",
- "teoli",
- "mirinae312"
- ]
- },
- "Web/CSS/margin": {
- "modified": "2020-10-15T21:55:14.551Z",
- "contributors": [
- "alattalatta",
- "kidkkr"
- ]
- },
- "Web/CSS/margin-bottom": {
- "modified": "2020-10-15T22:14:17.582Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/margin-left": {
- "modified": "2020-10-15T22:14:20.259Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/margin-right": {
- "modified": "2020-10-15T22:14:17.893Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/margin-top": {
- "modified": "2020-10-15T21:45:27.749Z",
- "contributors": [
- "alattalatta",
- "Jinhyuk"
- ]
- },
- "Web/CSS/mask": {
- "modified": "2020-10-15T21:53:40.995Z",
- "contributors": [
- "alattalatta",
- "hoony"
- ]
- },
- "Web/CSS/max-height": {
- "modified": "2020-10-15T22:15:32.957Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/max-width": {
- "modified": "2020-10-15T22:05:31.476Z",
- "contributors": [
- "alattalatta",
- "MyeonghwanCho"
- ]
- },
- "Web/CSS/min-height": {
- "modified": "2020-10-15T22:15:30.962Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/min-width": {
- "modified": "2020-10-15T22:05:30.663Z",
- "contributors": [
- "alattalatta",
- "MyeonghwanCho"
- ]
- },
- "Web/CSS/mix-blend-mode": {
- "modified": "2020-10-15T21:49:53.526Z",
- "contributors": [
- "alattalatta",
- "dragmove"
- ]
- },
- "Web/CSS/number": {
- "modified": "2020-10-15T22:10:27.997Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/object-fit": {
- "modified": "2020-10-15T22:32:41.251Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/object-position": {
- "modified": "2020-10-15T22:26:30.597Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/opacity": {
- "modified": "2020-10-15T22:11:31.577Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/order": {
- "modified": "2020-10-15T22:09:17.253Z",
- "contributors": [
- "alattalatta",
- "limjungmok",
- "dbwodlf3"
- ]
- },
- "Web/CSS/outline": {
- "modified": "2020-10-15T22:33:02.884Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/outline-style": {
- "modified": "2020-10-15T22:33:03.744Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/outline-width": {
- "modified": "2020-10-15T22:33:06.385Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/overflow": {
- "modified": "2020-10-15T21:53:39.024Z",
- "contributors": [
- "alattalatta",
- "LeeJunyeol",
- "nugurejeil"
- ]
- },
- "Web/CSS/overflow-wrap": {
- "modified": "2020-10-15T21:48:38.411Z",
- "contributors": [
- "Kaben",
- "joshua1988"
- ]
- },
- "Web/CSS/padding": {
- "modified": "2020-10-15T22:14:23.019Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/padding-bottom": {
- "modified": "2020-10-15T22:15:32.533Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/padding-left": {
- "modified": "2020-10-15T22:15:30.214Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/padding-right": {
- "modified": "2020-10-15T22:15:32.316Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/padding-top": {
- "modified": "2020-10-15T22:14:26.029Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/paint-order": {
- "modified": "2020-10-15T22:32:44.393Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/percentage": {
- "modified": "2020-10-15T22:10:31.553Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/pointer-events": {
- "modified": "2020-10-15T22:11:48.556Z",
- "contributors": [
- "alattalatta",
- "limjungmok"
- ]
- },
- "Web/CSS/position": {
- "modified": "2020-10-15T21:55:47.858Z",
- "contributors": [
- "alattalatta",
- "EatChangmyeong",
- "huusz"
- ]
- },
- "Web/CSS/position_value": {
- "modified": "2020-10-15T22:32:44.745Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/resolved_value": {
- "modified": "2020-01-07T12:41:25.706Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/revert": {
- "modified": "2020-10-15T22:32:20.027Z",
- "contributors": [
- "oinochoe"
- ]
- },
- "Web/CSS/specified_value": {
- "modified": "2019-03-18T20:42:45.260Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/tab-size": {
- "modified": "2020-10-15T21:37:17.868Z",
- "contributors": [
- "alattalatta",
- "Sebastianz",
- "hyeonseok"
- ]
- },
- "Web/CSS/text-align": {
- "modified": "2020-10-15T22:27:00.842Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/text-decoration": {
- "modified": "2020-10-15T22:18:03.446Z",
- "contributors": [
- "limkukhyun",
- "alattalatta"
- ]
- },
- "Web/CSS/text-shadow": {
- "modified": "2020-10-15T21:21:02.822Z",
- "contributors": [
- "limkukhyun",
- "alattalatta",
- "Sebastianz",
- "teoli",
- "mirinae312"
- ]
- },
- "Web/CSS/time": {
- "modified": "2020-10-15T22:14:17.158Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/transform": {
- "modified": "2020-10-15T21:20:53.479Z",
- "contributors": [
- "alattalatta",
- "Sebastianz",
- "fscholz",
- "teoli",
- "mirinae312"
- ]
- },
- "Web/CSS/transform-function": {
- "modified": "2020-10-15T21:51:13.494Z",
- "contributors": [
- "alattalatta",
- "Sebastianz"
- ]
- },
- "Web/CSS/transform-function/matrix()": {
- "modified": "2020-11-16T08:59:50.359Z",
- "contributors": [
- "chrisdavidmills",
- "DeadIntegral"
- ]
- },
- "Web/CSS/transform-function/scaleX()": {
- "modified": "2020-11-30T10:20:51.450Z",
- "contributors": [
- "chrisdavidmills",
- "genzuby"
- ]
- },
- "Web/CSS/transition": {
- "modified": "2019-03-23T22:28:21.926Z",
- "contributors": [
- "fasdgoc"
- ]
- },
- "Web/CSS/transition-delay": {
- "modified": "2019-03-23T22:28:17.012Z",
- "contributors": [
- "fasdgoc"
- ]
- },
- "Web/CSS/unset": {
- "modified": "2020-10-15T21:45:37.546Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/url": {
- "modified": "2020-10-15T22:10:55.121Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/used_value": {
- "modified": "2020-01-07T12:50:25.214Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/CSS/user-select": {
- "modified": "2020-10-15T22:33:14.947Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/var()": {
- "modified": "2020-11-04T09:10:36.975Z",
- "contributors": [
- "chrisdavidmills",
- "alattalatta"
- ]
- },
- "Web/CSS/vertical-align": {
- "modified": "2020-10-15T21:55:16.951Z",
- "contributors": [
- "alattalatta",
- "kidkkr"
- ]
- },
- "Web/CSS/visibility": {
- "modified": "2020-10-15T22:15:38.851Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/white-space": {
- "modified": "2020-10-15T21:52:50.149Z",
- "contributors": [
- "alattalatta",
- "maytree"
- ]
- },
- "Web/CSS/width": {
- "modified": "2020-10-15T22:11:19.772Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/will-change": {
- "modified": "2019-03-23T22:34:40.134Z",
- "contributors": [
- "stitchworkingonthecode"
- ]
- },
- "Web/CSS/word-break": {
- "modified": "2020-10-15T22:15:08.918Z",
- "contributors": [
- "alattalatta",
- "compctive"
- ]
- },
- "Web/CSS/word-spacing": {
- "modified": "2020-10-15T22:33:03.458Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/CSS/z-index": {
- "modified": "2020-10-15T21:20:31.595Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/CSS/시작하기/리스트": {
- "modified": "2019-03-23T23:33:11.239Z",
- "contributors": [
- "teoli",
- "SpikeYou"
- ]
- },
- "Web/CSS/시작하기/미디어": {
- "modified": "2019-03-23T23:33:02.082Z",
- "contributors": [
- "teoli",
- "SpikeYou"
- ]
- },
- "Web/CSS/시작하기/배치": {
- "modified": "2019-03-23T23:33:01.592Z",
- "contributors": [
- "yooonmi",
- "teoli",
- "SpikeYou"
- ]
- },
- "Web/CSS/시작하기/상자": {
- "modified": "2019-03-23T23:33:01.323Z",
- "contributors": [
- "yooonmi",
- "teoli",
- "SpikeYou"
- ]
- },
- "Web/CSS/시작하기/종속과_상속": {
- "modified": "2019-03-23T23:33:16.790Z",
- "contributors": [
- "ElleXD",
- "teoli",
- "SpikeYou"
- ]
- },
- "Web/CSS/시작하기/테이블": {
- "modified": "2019-03-23T23:33:00.475Z",
- "contributors": [
- "teoli",
- "SpikeYou"
- ]
- },
- "Web/CSS/시작하기/텍스트_스타일": {
- "modified": "2019-03-23T23:33:09.659Z",
- "contributors": [
- "yooonmi",
- "teoli",
- "SpikeYou"
- ]
- },
- "Web/CSS/인접_형제_선택자": {
- "modified": "2020-10-15T21:53:17.801Z",
- "contributors": [
- "alattalatta",
- "neatnet"
- ]
- },
- "Web/EXSLT": {
- "modified": "2019-03-23T23:51:10.063Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Suguni"
- ]
- },
- "Web/Events": {
- "modified": "2020-06-19T02:46:52.355Z",
- "contributors": [
- "bumday",
- "wbamberg",
- "cs09g",
- "ExE-Boss",
- "alattalatta",
- "nacyot",
- "teoli",
- "Jeremie"
- ]
- },
- "Web/Events/DOMContentLoaded": {
- "modified": "2020-12-03T14:42:33.988Z",
- "contributors": [
- "dink95",
- "alattalatta",
- "wbamberg",
- "ExE-Boss",
- "project42da"
- ]
- },
- "Web/Events/abort": {
- "modified": "2019-04-30T14:12:00.284Z",
- "contributors": [
- "wbamberg",
- "guyeol"
- ]
- },
- "Web/Events/blur": {
- "modified": "2019-03-18T21:27:20.806Z",
- "contributors": [
- "ExE-Boss",
- "whdckszxxx"
- ]
- },
- "Web/Events/load": {
- "modified": "2019-04-30T14:18:11.441Z",
- "contributors": [
- "wbamberg",
- "ExE-Boss",
- "SuminNoh"
- ]
- },
- "Web/Events/message": {
- "modified": "2019-04-30T14:16:28.259Z",
- "contributors": [
- "wbamberg",
- "ExE-Boss",
- "JinSeungHo"
- ]
- },
- "Web/Guide": {
- "modified": "2019-03-23T23:28:18.945Z",
- "contributors": [
- "digimon1740",
- "stephenjang",
- "moolow",
- "haruair",
- "Sheppy",
- "jjangsuhyun"
- ]
- },
- "Web/Guide/AJAX": {
- "modified": "2020-11-05T10:30:10.859Z",
- "contributors": [
- "alattalatta",
- "duduindo",
- "chrisdavidmills",
- "taggon",
- "Jshin",
- "Yongsuhb.e"
- ]
- },
- "Web/Guide/AJAX/Community": {
- "modified": "2020-12-04T12:27:43.895Z",
- "contributors": [
- "movegun1027",
- "dink95"
- ]
- },
- "Web/Guide/AJAX/Getting_Started": {
- "modified": "2020-11-05T10:30:21.696Z",
- "contributors": [
- "alattalatta",
- "naduhy2",
- "mgcation",
- "chrisdavidmills",
- "kidkkr",
- "dayoungles",
- "SpikeYou",
- "Channy",
- "Nam-Hyung Kim",
- "Sebuls",
- "Eunseo.choi",
- "Yongsuhb.e"
- ]
- },
- "Web/Guide/API": {
- "modified": "2019-08-26T12:28:16.871Z",
- "contributors": [
- "NoFence",
- "alattalatta",
- "Sheppy"
- ]
- },
- "Web/Guide/API/Vibration/Vibration": {
- "modified": "2020-10-15T21:24:18.629Z",
- "contributors": [
- "alattalatta",
- "pjc0247",
- "Sheppy",
- "yunji_koh"
- ]
- },
- "Web/Guide/Audio_and_video_delivery": {
- "modified": "2019-04-17T05:03:01.108Z"
- },
- "Web/Guide/Audio_and_video_delivery/Adding_captions_and_subtitles_to_HTML5_video": {
- "modified": "2019-05-13T05:46:53.607Z",
- "contributors": [
- "hoony"
- ]
- },
- "Web/Guide/CSS/Block_formatting_context": {
- "modified": "2020-08-05T00:58:44.120Z",
- "contributors": [
- "alattalatta",
- "moolow",
- "corps99"
- ]
- },
- "Web/Guide/CSS/Media_queries": {
- "modified": "2020-11-10T11:07:52.526Z",
- "contributors": [
- "hKa2020",
- "alattalatta",
- "hwanseung",
- "BANIP",
- "seoyunho",
- "Ground-Silver0903",
- "Sebastianz",
- "roupkk",
- "mrstork",
- "malayaleecoder",
- "jooddang",
- "jhonghee"
- ]
- },
- "Web/Guide/CSS/Visual_formatting_model": {
- "modified": "2019-09-26T13:57:16.375Z",
- "contributors": [
- "Hwan-Woong-Lee",
- "nyxchung",
- "cmygray",
- "cheeee",
- "dotorify",
- "hotsummmer",
- "JeongSeongDae"
- ]
- },
- "Web/Guide/DOM": {
- "modified": "2019-03-23T23:26:56.400Z",
- "contributors": [
- "Sheppy"
- ]
- },
- "Web/Guide/DOM/Using_full_screen_mode": {
- "modified": "2020-10-15T21:24:24.180Z",
- "contributors": [
- "DeadIntegral",
- "wbamberg",
- "junho85"
- ]
- },
- "Web/Guide/Events": {
- "modified": "2019-03-23T23:03:35.888Z",
- "contributors": [
- "moolow"
- ]
- },
- "Web/Guide/Events/Creating_and_triggering_events": {
- "modified": "2019-03-18T21:13:18.844Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/Guide/Events/Overview_of_Events_and_Handlers": {
- "modified": "2019-03-23T22:48:26.046Z",
- "contributors": [
- "PineMt"
- ]
- },
- "Web/Guide/HTML/Content_Editable": {
- "modified": "2019-03-23T22:40:12.545Z",
- "contributors": [
- "gblue1223"
- ]
- },
- "Web/Guide/HTML/Content_categories": {
- "modified": "2020-07-29T11:16:44.120Z",
- "contributors": [
- "jojengman",
- "alattalatta",
- "chrisdavidmills",
- "dooglegh",
- "cs09g",
- "KlausLee",
- "lovefield",
- "Kaben",
- "azunyan3"
- ]
- },
- "Web/Guide/Index": {
- "modified": "2020-12-07T13:40:57.143Z",
- "contributors": [
- "peterbe",
- "alattalatta"
- ]
- },
- "Web/Guide/Mobile": {
- "modified": "2019-05-30T06:59:50.297Z",
- "contributors": [
- "SDSkyKlouD",
- "Seia-Soto",
- "xfq"
- ]
- },
- "Web/Guide/Mobile/Separate_sites": {
- "modified": "2019-03-18T21:20:46.007Z",
- "contributors": [
- "jinah1000"
- ]
- },
- "Web/Guide/XML_파싱_및_직렬화": {
- "modified": "2019-03-23T22:16:47.020Z",
- "contributors": [
- "young-gratia"
- ]
- },
- "Web/Guide/그래픽": {
- "modified": "2020-02-15T07:39:57.101Z",
- "contributors": [
- "Netaras",
- "hyeonseok",
- "narae_lee"
- ]
- },
- "Web/HTML": {
- "modified": "2020-02-08T07:58:05.821Z",
- "contributors": [
- "alattalatta",
- "enfroze",
- "GunhoChoi",
- "SphinxKnight",
- "Oizys18",
- "frankradio",
- "wankyu",
- "seungha-kim",
- "Kaben",
- "hyeonseok",
- "Donghyun_Lee",
- "azunyan3",
- "moolow",
- "duke.L",
- "jongho"
- ]
- },
- "Web/HTML/Applying_color": {
- "modified": "2020-01-20T08:56:57.750Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Attributes": {
- "modified": "2020-02-02T11:17:51.213Z",
- "contributors": [
- "alattalatta",
- "dolmoon",
- "azunyan3"
- ]
- },
- "Web/HTML/Attributes/autocomplete": {
- "modified": "2020-10-15T22:26:56.294Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Attributes/crossorigin": {
- "modified": "2020-10-15T22:29:00.912Z",
- "contributors": [
- "ahnzaz"
- ]
- },
- "Web/HTML/Block-level_elements": {
- "modified": "2020-01-20T08:47:15.147Z",
- "contributors": [
- "alattalatta",
- "chrisdavidmills",
- "haeguri",
- "Nickkun",
- "Dongju_Lee"
- ]
- },
- "Web/HTML/CORS_enabled_image": {
- "modified": "2020-01-17T14:43:53.038Z",
- "contributors": [
- "alattalatta",
- "proost"
- ]
- },
- "Web/HTML/Canvas": {
- "modified": "2020-02-05T06:54:04.340Z",
- "contributors": [
- "alattalatta",
- "chungheepark",
- "bluewings",
- "cs09g",
- "Netaras",
- "teoli",
- "ethertank",
- "dextra",
- "Suguni"
- ]
- },
- "Web/HTML/Canvas/Manipulating_video_using_canvas": {
- "modified": "2019-06-05T03:56:50.784Z",
- "contributors": [
- "Yeri-Kim"
- ]
- },
- "Web/HTML/Canvas/Tutorial": {
- "modified": "2019-09-23T23:04:58.681Z",
- "contributors": [
- "dbwodlf3",
- "alattalatta",
- "danhojin",
- "MuhunKim",
- "donghyun",
- "AlwaysOnce"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Advanced_animations": {
- "modified": "2020-12-05T09:44:35.831Z",
- "contributors": [
- "minthing"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Applying_styles_and_colors": {
- "modified": "2019-10-10T16:32:24.689Z",
- "contributors": [
- "kbsbroad",
- "sujilee91",
- "donghyun",
- "Sebastianz",
- "AlwaysOnce"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Basic_animations": {
- "modified": "2019-03-25T03:54:23.486Z",
- "contributors": [
- "AlwaysOnce"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Basic_usage": {
- "modified": "2019-12-12T22:32:43.483Z",
- "contributors": [
- "kbsbroad",
- "OkHyeon",
- "sujilee91",
- "MuhunKim"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Compositing": {
- "modified": "2019-03-23T23:08:47.571Z",
- "contributors": [
- "EatChangmyeong",
- "AlwaysOnce"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Compositing/Example": {
- "modified": "2019-03-18T21:40:09.058Z",
- "contributors": [
- "EatChangmyeong"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Drawing_shapes": {
- "modified": "2019-03-25T03:42:34.299Z",
- "contributors": [
- "kbsbroad",
- "sujilee91"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Finale": {
- "modified": "2020-12-02T07:47:45.530Z",
- "contributors": [
- "chzhclq17"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Hit_regions_and_accessibility": {
- "modified": "2019-03-18T21:18:34.778Z",
- "contributors": [
- "kbsbroad"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Optimizing_canvas": {
- "modified": "2020-06-04T04:24:50.578Z",
- "contributors": [
- "composite",
- "kbsbroad"
- ]
- },
- "Web/HTML/Canvas/Tutorial/Using_images": {
- "modified": "2020-06-18T07:33:39.788Z",
- "contributors": [
- "dooyou21",
- "cs09g",
- "kbsbroad",
- "klight1994",
- "sujilee91"
- ]
- },
- "Web/HTML/Canvas/Tutorial/변형": {
- "modified": "2019-03-18T21:20:50.794Z",
- "contributors": [
- "jinah1000"
- ]
- },
- "Web/HTML/Element": {
- "modified": "2020-03-20T02:38:46.890Z",
- "contributors": [
- "alattalatta",
- "jongin",
- "sangwoo",
- "azunyan3",
- "teoli",
- "arkido82@gmail.com",
- "Gilchris"
- ]
- },
- "Web/HTML/Element/Heading_Elements": {
- "modified": "2020-10-15T21:34:54.387Z",
- "contributors": [
- "alattalatta",
- "Kaben",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/Input": {
- "modified": "2020-12-02T21:46:52.605Z",
- "contributors": [
- "hKa2020",
- "xkitchenkay",
- "alattalatta",
- "JacieKim0",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/Input/button": {
- "modified": "2020-10-15T22:09:45.262Z",
- "contributors": [
- "alattalatta",
- "JaeWorld"
- ]
- },
- "Web/HTML/Element/Input/date": {
- "modified": "2020-10-15T22:27:19.955Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Element/Input/file": {
- "modified": "2020-10-15T21:55:47.622Z",
- "contributors": [
- "alattalatta",
- "onlydel",
- "Neibce",
- "Han_jongbae"
- ]
- },
- "Web/HTML/Element/Input/radio": {
- "modified": "2020-10-15T22:28:50.867Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Element/Video": {
- "modified": "2020-10-15T21:14:28.732Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "pineoc",
- "kw8799",
- "Kaben",
- "hyeonseok",
- "teoli",
- "Suguni"
- ]
- },
- "Web/HTML/Element/a": {
- "modified": "2020-10-15T21:16:16.368Z",
- "contributors": [
- "alattalatta",
- "darongE",
- "lovefield",
- "pelly_ryu",
- "Kaben",
- "teoli",
- "Basix",
- "azunyan3",
- "Jeongkyu"
- ]
- },
- "Web/HTML/Element/abbr": {
- "modified": "2020-10-15T21:35:00.433Z",
- "contributors": [
- "alattalatta",
- "Kaben",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/address": {
- "modified": "2020-10-15T21:35:31.224Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/applet": {
- "modified": "2019-03-23T22:50:49.180Z",
- "contributors": [
- "Basix"
- ]
- },
- "Web/HTML/Element/area": {
- "modified": "2020-10-15T21:36:14.537Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/article": {
- "modified": "2020-10-15T21:36:01.221Z",
- "contributors": [
- "alattalatta",
- "Kaben",
- "zziuni",
- "cmygray",
- "naduhy2",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/aside": {
- "modified": "2020-10-15T21:36:01.686Z",
- "contributors": [
- "alattalatta",
- "Kaben",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/audio": {
- "modified": "2020-10-15T21:35:42.078Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/b": {
- "modified": "2020-10-15T21:35:43.116Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/base": {
- "modified": "2020-10-15T21:35:38.493Z",
- "contributors": [
- "alattalatta",
- "project42da",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/bdo": {
- "modified": "2020-10-15T21:36:08.183Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/blockquote": {
- "modified": "2020-10-15T21:36:04.009Z",
- "contributors": [
- "alattalatta",
- "darongE",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/body": {
- "modified": "2020-10-15T21:34:55.983Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/br": {
- "modified": "2020-10-15T21:35:04.503Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/button": {
- "modified": "2020-10-15T21:32:25.173Z",
- "contributors": [
- "alattalatta",
- "sooyoung32",
- "azunyan3",
- "moolow"
- ]
- },
- "Web/HTML/Element/canvas": {
- "modified": "2020-10-15T21:31:06.686Z",
- "contributors": [
- "alattalatta",
- "ExE-Boss",
- "chrisdavidmills",
- "cs09g",
- "azunyan3",
- "AlwaysOnce"
- ]
- },
- "Web/HTML/Element/caption": {
- "modified": "2020-10-15T21:46:59.213Z",
- "contributors": [
- "alattalatta",
- "kom2727"
- ]
- },
- "Web/HTML/Element/center": {
- "modified": "2019-03-23T22:40:25.789Z",
- "contributors": [
- "leegeunhyeok",
- "kimseungdae"
- ]
- },
- "Web/HTML/Element/cite": {
- "modified": "2020-10-15T21:36:08.998Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/code": {
- "modified": "2020-10-15T21:34:57.853Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/col": {
- "modified": "2020-10-15T21:36:16.768Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/colgroup": {
- "modified": "2020-10-15T21:35:24.996Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/command": {
- "modified": "2020-10-15T21:44:01.823Z",
- "contributors": [
- "alattalatta",
- "Rich_Village"
- ]
- },
- "Web/HTML/Element/content": {
- "modified": "2020-10-15T21:35:22.751Z",
- "contributors": [
- "alattalatta",
- "lovefield",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/data": {
- "modified": "2020-10-15T21:35:04.541Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/datalist": {
- "modified": "2020-10-15T21:35:24.054Z",
- "contributors": [
- "alattalatta",
- "mfranzke",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/dd": {
- "modified": "2020-10-15T21:35:58.400Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/del": {
- "modified": "2020-10-15T21:35:05.638Z",
- "contributors": [
- "alattalatta",
- "wankyu",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/details": {
- "modified": "2020-10-15T21:47:00.885Z",
- "contributors": [
- "alattalatta",
- "kom2727"
- ]
- },
- "Web/HTML/Element/dfn": {
- "modified": "2020-10-15T21:35:43.719Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/dialog": {
- "modified": "2020-10-15T22:00:27.666Z",
- "contributors": [
- "alattalatta",
- "composite",
- "Luavis"
- ]
- },
- "Web/HTML/Element/div": {
- "modified": "2020-10-15T21:36:09.053Z",
- "contributors": [
- "alattalatta",
- "Kaben",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/dl": {
- "modified": "2020-10-15T21:36:02.824Z",
- "contributors": [
- "alattalatta",
- "leafriend",
- "teoli",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/dt": {
- "modified": "2020-10-15T21:36:00.823Z",
- "contributors": [
- "alattalatta",
- "hotsummmer",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/element": {
- "modified": "2020-10-15T21:35:22.163Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/em": {
- "modified": "2020-10-15T21:36:03.360Z",
- "contributors": [
- "alattalatta",
- "dooyou21",
- "yanhkim",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/embed": {
- "modified": "2020-10-15T21:35:32.464Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/fieldset": {
- "modified": "2020-10-15T21:35:24.874Z",
- "contributors": [
- "alattalatta",
- "nambak",
- "jiyoungkim2",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/figcaption": {
- "modified": "2020-10-15T21:43:34.836Z",
- "contributors": [
- "alattalatta",
- "krosylight",
- "remoted"
- ]
- },
- "Web/HTML/Element/figure": {
- "modified": "2020-10-15T21:48:57.646Z",
- "contributors": [
- "alattalatta",
- "hyeonseok",
- "Kei_"
- ]
- },
- "Web/HTML/Element/font": {
- "modified": "2020-10-15T22:17:06.487Z",
- "contributors": [
- "DDark"
- ]
- },
- "Web/HTML/Element/footer": {
- "modified": "2020-10-15T21:35:29.437Z",
- "contributors": [
- "alattalatta",
- "Kaben",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/form": {
- "modified": "2020-10-15T21:35:28.625Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/frame": {
- "modified": "2019-03-23T22:33:38.743Z",
- "contributors": [
- "voidblue"
- ]
- },
- "Web/HTML/Element/frameset": {
- "modified": "2019-03-23T22:33:38.882Z",
- "contributors": [
- "voidblue"
- ]
- },
- "Web/HTML/Element/head": {
- "modified": "2020-10-15T21:34:57.690Z",
- "contributors": [
- "alattalatta",
- "Capella87",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/header": {
- "modified": "2020-10-15T21:35:25.051Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/hgroup": {
- "modified": "2020-10-15T21:35:25.495Z",
- "contributors": [
- "alattalatta",
- "Kaben",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/hr": {
- "modified": "2020-10-15T21:35:43.957Z",
- "contributors": [
- "alattalatta",
- "eszett-trash",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/html": {
- "modified": "2020-10-15T21:35:02.119Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/i": {
- "modified": "2020-10-15T21:35:05.448Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/iframe": {
- "modified": "2020-10-15T21:36:06.572Z",
- "contributors": [
- "alattalatta",
- "jiwoong.heo",
- "tjddyd",
- "yooasd11",
- "fscholz",
- "samee",
- "wbamberg",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/img": {
- "modified": "2020-10-15T21:36:05.245Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/ins": {
- "modified": "2020-10-15T21:35:23.776Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/kbd": {
- "modified": "2020-10-15T21:36:11.883Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/keygen": {
- "modified": "2020-10-15T21:35:22.565Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/label": {
- "modified": "2020-10-15T21:35:24.111Z",
- "contributors": [
- "alattalatta",
- "ohahohah",
- "danhojin",
- "teoli",
- "SphinxKnight",
- "jayjin",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/legend": {
- "modified": "2020-10-15T21:35:35.660Z",
- "contributors": [
- "alattalatta",
- "Kaben",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/li": {
- "modified": "2020-10-15T21:35:42.374Z",
- "contributors": [
- "alattalatta",
- "Curzy",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/link": {
- "modified": "2020-10-15T21:35:02.482Z",
- "contributors": [
- "alattalatta",
- "dolmoon",
- "highdali",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/main": {
- "modified": "2020-10-15T21:36:07.959Z",
- "contributors": [
- "alattalatta",
- "Kaben",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/map": {
- "modified": "2020-10-15T21:36:08.264Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/mark": {
- "modified": "2020-10-15T21:36:11.987Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/menu": {
- "modified": "2020-10-15T21:43:07.200Z",
- "contributors": [
- "alattalatta",
- "Kaben"
- ]
- },
- "Web/HTML/Element/meta": {
- "modified": "2020-10-15T21:34:59.137Z",
- "contributors": [
- "alattalatta",
- "SeonHyungJo",
- "dolmoon",
- "Narrativi",
- "joshua1988",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/meta/name": {
- "modified": "2020-10-15T22:32:56.161Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Element/meter": {
- "modified": "2020-10-15T21:35:29.583Z",
- "contributors": [
- "alattalatta",
- "h4nuko0n",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/nav": {
- "modified": "2020-10-15T21:35:42.331Z",
- "contributors": [
- "alattalatta",
- "Kaben",
- "naduhy2",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/noscript": {
- "modified": "2020-10-15T21:35:26.877Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/object": {
- "modified": "2020-10-15T21:35:58.978Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/ol": {
- "modified": "2020-10-15T21:36:04.564Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/optgroup": {
- "modified": "2020-10-15T21:35:25.818Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/option": {
- "modified": "2020-10-15T21:35:34.056Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/output": {
- "modified": "2020-10-15T21:35:23.182Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/p": {
- "modified": "2020-10-15T21:36:04.192Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/param": {
- "modified": "2020-10-15T21:36:08.687Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/pre": {
- "modified": "2020-10-15T21:35:20.243Z",
- "contributors": [
- "alattalatta",
- "ehfgk78",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/progress": {
- "modified": "2020-10-15T21:35:31.947Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "Capella87",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/q": {
- "modified": "2020-10-15T21:36:03.565Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/rb": {
- "modified": "2020-10-15T22:26:18.112Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Element/rp": {
- "modified": "2020-10-15T21:36:19.894Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/rt": {
- "modified": "2020-10-15T21:36:12.185Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/rtc": {
- "modified": "2020-10-15T22:26:43.575Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Element/ruby": {
- "modified": "2020-10-15T21:35:01.356Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/s": {
- "modified": "2020-10-15T22:26:19.023Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Element/samp": {
- "modified": "2020-10-15T22:26:19.903Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Element/script": {
- "modified": "2020-10-15T21:36:05.365Z",
- "contributors": [
- "alattalatta",
- "baemin0103",
- "dolmoon",
- "mooyoul",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/section": {
- "modified": "2020-10-15T21:35:40.181Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/select": {
- "modified": "2020-10-15T21:35:23.669Z",
- "contributors": [
- "alattalatta",
- "simcheolhwan",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/slot": {
- "modified": "2020-10-15T22:26:43.095Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Element/small": {
- "modified": "2020-10-15T22:26:17.582Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Element/span": {
- "modified": "2020-10-15T22:10:35.443Z",
- "contributors": [
- "alattalatta",
- "cs09g"
- ]
- },
- "Web/HTML/Element/strong": {
- "modified": "2020-10-15T21:46:35.654Z",
- "contributors": [
- "alattalatta",
- "Swalloow"
- ]
- },
- "Web/HTML/Element/style": {
- "modified": "2020-10-15T21:35:05.102Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/sub": {
- "modified": "2020-10-15T21:36:08.765Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/summary": {
- "modified": "2020-10-15T21:35:24.668Z",
- "contributors": [
- "everchloe97",
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/sup": {
- "modified": "2020-10-15T22:26:41.452Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Element/table": {
- "modified": "2020-10-15T21:35:40.562Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/tbody": {
- "modified": "2020-10-15T21:35:26.742Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/td": {
- "modified": "2020-10-15T21:36:06.972Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/template": {
- "modified": "2020-10-15T21:35:23.755Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/textarea": {
- "modified": "2020-10-15T21:35:30.995Z",
- "contributors": [
- "alattalatta",
- "dajeong",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/th": {
- "modified": "2020-10-15T21:35:25.839Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/thead": {
- "modified": "2019-03-23T22:56:29.173Z",
- "contributors": [
- "azunyan3"
- ]
- },
- "Web/HTML/Element/time": {
- "modified": "2020-10-15T21:35:24.878Z",
- "contributors": [
- "alattalatta",
- "hyeyeongjeon",
- "hyeonseok",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/title": {
- "modified": "2020-10-15T21:35:03.053Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/tr": {
- "modified": "2019-03-23T22:56:35.949Z",
- "contributors": [
- "azunyan3"
- ]
- },
- "Web/HTML/Element/track": {
- "modified": "2020-10-15T21:36:08.366Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/u": {
- "modified": "2020-10-15T21:43:12.015Z",
- "contributors": [
- "alattalatta",
- "Kaben"
- ]
- },
- "Web/HTML/Element/ul": {
- "modified": "2020-10-15T21:35:59.634Z",
- "contributors": [
- "alattalatta",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/var": {
- "modified": "2020-10-15T21:36:09.846Z",
- "contributors": [
- "alattalatta",
- "chriskwon07",
- "azunyan3"
- ]
- },
- "Web/HTML/Element/wbr": {
- "modified": "2020-10-15T22:26:42.955Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Global_attributes": {
- "modified": "2020-10-15T21:32:36.557Z",
- "contributors": [
- "alattalatta",
- "ParkYoungWoong",
- "DDark",
- "donath-igaw",
- "dolmoon",
- "lovefield",
- "super-atom",
- "nonpuritan"
- ]
- },
- "Web/HTML/Global_attributes/accesskey": {
- "modified": "2020-10-15T21:47:24.469Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "dolmoon",
- "frankradio",
- "websonic"
- ]
- },
- "Web/HTML/Global_attributes/autocapitalize": {
- "modified": "2020-10-15T22:06:22.272Z",
- "contributors": [
- "alattalatta",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/contenteditable": {
- "modified": "2020-10-15T21:54:28.609Z",
- "contributors": [
- "alattalatta",
- "since2016c"
- ]
- },
- "Web/HTML/Global_attributes/contextmenu": {
- "modified": "2020-10-15T22:06:25.915Z",
- "contributors": [
- "alattalatta",
- "SphinxKnight",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/data-*": {
- "modified": "2020-10-15T22:06:19.325Z",
- "contributors": [
- "alattalatta",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/dir": {
- "modified": "2020-10-15T22:06:24.770Z",
- "contributors": [
- "alattalatta",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/draggable": {
- "modified": "2020-10-15T22:06:26.694Z",
- "contributors": [
- "alattalatta",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/dropzone": {
- "modified": "2020-10-15T22:06:26.786Z",
- "contributors": [
- "alattalatta",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/hidden": {
- "modified": "2020-10-15T22:06:24.774Z",
- "contributors": [
- "alattalatta",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/id": {
- "modified": "2020-10-15T22:06:26.429Z",
- "contributors": [
- "alattalatta",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/inputmode": {
- "modified": "2020-10-15T22:27:35.161Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Global_attributes/is": {
- "modified": "2020-10-15T22:06:26.797Z",
- "contributors": [
- "alattalatta",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/itemid": {
- "modified": "2020-10-15T22:06:33.676Z",
- "contributors": [
- "alattalatta",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/itemprop": {
- "modified": "2020-10-15T21:47:53.585Z",
- "contributors": [
- "alattalatta",
- "dolmoon",
- "citrus.alice",
- "sansolmom"
- ]
- },
- "Web/HTML/Global_attributes/itemref": {
- "modified": "2020-10-15T22:06:33.158Z",
- "contributors": [
- "alattalatta",
- "dolmoon"
- ]
- },
- "Web/HTML/Global_attributes/itemscope": {
- "modified": "2020-10-15T22:11:40.067Z",
- "contributors": [
- "alattalatta",
- "jacobkim116"
- ]
- },
- "Web/HTML/Global_attributes/lang": {
- "modified": "2020-10-15T22:32:38.127Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Global_attributes/part": {
- "modified": "2020-10-15T22:27:33.647Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Global_attributes/slot": {
- "modified": "2020-10-15T22:26:56.066Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Global_attributes/spellcheck": {
- "modified": "2020-10-15T22:26:49.343Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Global_attributes/style": {
- "modified": "2020-10-15T22:08:32.976Z",
- "contributors": [
- "alattalatta",
- "JaeWorld"
- ]
- },
- "Web/HTML/Global_attributes/tabindex": {
- "modified": "2020-10-15T21:50:31.167Z",
- "contributors": [
- "alattalatta",
- "7ylee",
- "young-gratia"
- ]
- },
- "Web/HTML/Global_attributes/title": {
- "modified": "2020-10-15T22:26:53.940Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Global_attributes/translate": {
- "modified": "2020-10-15T22:26:48.848Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Global_attributes/클래스": {
- "modified": "2020-10-15T21:51:13.209Z",
- "contributors": [
- "alattalatta",
- "dolmoon",
- "woojin.jo"
- ]
- },
- "Web/HTML/HTML5": {
- "modified": "2019-03-24T00:11:07.419Z",
- "contributors": [
- "teoli",
- "Channy",
- "Dwchiang",
- "vigia122",
- "jisung",
- "Joone"
- ]
- },
- "Web/HTML/HTML5/Introduction_to_HTML5": {
- "modified": "2019-03-23T23:38:47.847Z",
- "contributors": [
- "kybin",
- "kuil09",
- "juyoungbang",
- "teoli",
- "Channy"
- ]
- },
- "Web/HTML/HTML5_문서의_섹션과_윤곽": {
- "modified": "2020-01-10T12:08:26.959Z",
- "contributors": [
- "alattalatta",
- "sudo0272",
- "Kaben",
- "bombinari",
- "naduhy2",
- "miname"
- ]
- },
- "Web/HTML/Index": {
- "modified": "2020-01-19T02:45:39.384Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTML/Inline_elements": {
- "modified": "2020-02-12T03:45:21.056Z",
- "contributors": [
- "SphinxKnight",
- "alattalatta",
- "teoli",
- "Gilchris"
- ]
- },
- "Web/HTML/Link_types": {
- "modified": "2020-10-15T21:56:00.564Z",
- "contributors": [
- "alattalatta",
- "limjungmok",
- "young-gratia"
- ]
- },
- "Web/HTML/Preloading_content": {
- "modified": "2020-10-15T22:35:17.448Z",
- "contributors": [
- "sukyology"
- ]
- },
- "Web/HTML/Quirks_Mode_and_Standards_Mode": {
- "modified": "2019-03-18T20:35:03.733Z",
- "contributors": [
- "EatChangmyeong",
- "chrisdavidmills",
- "besapius"
- ]
- },
- "Web/HTML/Reference": {
- "modified": "2020-01-30T22:41:37.544Z",
- "contributors": [
- "alattalatta",
- "SphinxKnight",
- "wbamberg",
- "siwabada",
- "sangwoo",
- "azunyan3",
- "moolow"
- ]
- },
- "Web/HTML/Using_the_application_cache": {
- "modified": "2020-10-15T21:26:42.303Z",
- "contributors": [
- "alattalatta",
- "SemteulGaram",
- "Neibce",
- "Han_jongbae",
- "teoli",
- "gomdev"
- ]
- },
- "Web/HTTP": {
- "modified": "2020-02-05T12:20:09.075Z",
- "contributors": [
- "alattalatta",
- "desty",
- "JisooLee",
- "yjs000",
- "cs09g",
- "woniok",
- "project42da",
- "limkukhyun",
- "gaucho1218",
- "starkying",
- "frankradio",
- "Latera",
- "daebum-lee",
- "devcken",
- "sooyoung32",
- "hoony",
- "groovecoder"
- ]
- },
- "Web/HTTP/Authentication": {
- "modified": "2019-09-03T21:33:24.429Z",
- "contributors": [
- "minijaypark",
- "rubysoho07",
- "chj1768"
- ]
- },
- "Web/HTTP/Basics_of_HTTP": {
- "modified": "2019-03-23T22:27:07.176Z",
- "contributors": [
- "peacekimjapan",
- "gaucho1218",
- "frankradio",
- "teoli"
- ]
- },
- "Web/HTTP/Basics_of_HTTP/Choosing_between_www_and_non-www_URLs": {
- "modified": "2020-11-23T08:52:22.702Z",
- "contributors": [
- "nesez",
- "devcken"
- ]
- },
- "Web/HTTP/Basics_of_HTTP/Data_URIs": {
- "modified": "2019-03-23T22:27:00.710Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP": {
- "modified": "2019-12-02T03:03:46.499Z",
- "contributors": [
- "SeonHyungJo",
- "PeterHoo",
- "chanspark",
- "knight2995",
- "devcken"
- ]
- },
- "Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web": {
- "modified": "2019-09-22T04:32:42.283Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Basics_of_HTTP/MIME_types": {
- "modified": "2019-03-23T22:27:10.370Z",
- "contributors": [
- "Jo-Seungjun",
- "DublinCity",
- "kangsan_Chang",
- "devcken"
- ]
- },
- "Web/HTTP/Basics_of_HTTP/MIME_types/Common_types": {
- "modified": "2020-02-28T13:11:05.868Z",
- "contributors": [
- "chrisdavidmills",
- "devcken"
- ]
- },
- "Web/HTTP/CORS": {
- "modified": "2020-10-15T21:40:21.422Z",
- "contributors": [
- "DeadIntegral",
- "starrything",
- "alattalatta",
- "SphinxKnight",
- "dabitk",
- "young-do",
- "RamiTae",
- "limkukhyun",
- "hard_coder",
- "minijaypark",
- "gwonsungjun",
- "pineoc",
- "Curzy",
- "kw8799",
- "AngelaMIN",
- "gnujoow",
- "cjh5414",
- "JisuPark",
- "devcken",
- "zackery.lim",
- "sangwook-kim",
- "hoony"
- ]
- },
- "Web/HTTP/CORS/Errors": {
- "modified": "2020-02-05T05:44:10.166Z",
- "contributors": [
- "SphinxKnight",
- "nchevobbe"
- ]
- },
- "Web/HTTP/CORS/Errors/CORSDidNotSucceed": {
- "modified": "2020-02-05T05:44:09.781Z",
- "contributors": [
- "SphinxKnight",
- "LazyRichard"
- ]
- },
- "Web/HTTP/CORS/Errors/CORSRequestNotHttp": {
- "modified": "2020-03-16T11:34:09.122Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/HTTP/Caching": {
- "modified": "2020-12-07T03:01:05.442Z",
- "contributors": [
- "Dong-Young_Lee",
- "quserinn",
- "U-lis",
- "LumiLoves",
- "pdvonzoo",
- "amorfati0310",
- "seungha-kim",
- "devcken"
- ]
- },
- "Web/HTTP/Compression": {
- "modified": "2020-11-24T03:58:08.551Z",
- "contributors": [
- "heowc",
- "devcken"
- ]
- },
- "Web/HTTP/Conditional_requests": {
- "modified": "2019-03-23T22:26:36.069Z",
- "contributors": [
- "pdvonzoo",
- "devcken"
- ]
- },
- "Web/HTTP/Connection_management_in_HTTP_1.x": {
- "modified": "2019-09-22T05:23:40.824Z",
- "contributors": [
- "jeonghoon_park",
- "chatoo2412",
- "devcken"
- ]
- },
- "Web/HTTP/Content_negotiation": {
- "modified": "2019-09-08T07:36:46.735Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Cookies": {
- "modified": "2020-09-25T01:03:32.520Z",
- "contributors": [
- "parksb",
- "ghleokim",
- "Violet-Bora-Lee",
- "eubnara",
- "GiwonKwon",
- "Younghoo",
- "jkpark",
- "devcken"
- ]
- },
- "Web/HTTP/Headers": {
- "modified": "2019-04-25T09:00:35.813Z",
- "contributors": [
- "cs09g",
- "infohojin",
- "MrJadaml"
- ]
- },
- "Web/HTTP/Headers/Accept": {
- "modified": "2020-10-15T21:49:15.874Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Accept-Charset": {
- "modified": "2020-10-15T21:49:17.720Z",
- "contributors": [
- "jkpark",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Accept-Encoding": {
- "modified": "2020-10-15T21:49:19.087Z",
- "contributors": [
- "jkpark",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Accept-Language": {
- "modified": "2020-10-15T21:49:29.529Z",
- "contributors": [
- "jkpark",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Accept-Ranges": {
- "modified": "2020-10-15T21:49:32.861Z",
- "contributors": [
- "jkpark",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Access-Control-Allow-Credentials": {
- "modified": "2020-10-15T22:13:42.878Z",
- "contributors": [
- "marocchino",
- "beewee22",
- "yuntaek"
- ]
- },
- "Web/HTTP/Headers/Access-Control-Allow-Headers": {
- "modified": "2020-10-15T22:13:34.399Z",
- "contributors": [
- "ybkimm",
- "yuntaek"
- ]
- },
- "Web/HTTP/Headers/Access-Control-Allow-Origin": {
- "modified": "2020-10-15T22:09:56.537Z",
- "contributors": [
- "zilhak",
- "Latera"
- ]
- },
- "Web/HTTP/Headers/Access-Control-Request-Headers": {
- "modified": "2020-10-15T22:23:36.554Z",
- "contributors": [
- "hard_coder"
- ]
- },
- "Web/HTTP/Headers/Access-Control-Request-Method": {
- "modified": "2020-10-15T22:23:36.531Z",
- "contributors": [
- "hard_coder"
- ]
- },
- "Web/HTTP/Headers/Age": {
- "modified": "2020-10-15T21:49:46.926Z",
- "contributors": [
- "jkpark",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Allow": {
- "modified": "2019-10-15T00:54:26.644Z",
- "contributors": [
- "hard_coder"
- ]
- },
- "Web/HTTP/Headers/Authorization": {
- "modified": "2019-03-18T21:42:26.332Z",
- "contributors": [
- "gaucho1218"
- ]
- },
- "Web/HTTP/Headers/Cache-Control": {
- "modified": "2020-10-15T21:49:49.401Z",
- "contributors": [
- "1sonjm",
- "seungha-kim",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Connection": {
- "modified": "2020-11-26T12:32:53.012Z",
- "contributors": [
- "gittykite",
- "ApdoMine",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Content-Disposition": {
- "modified": "2020-10-15T22:28:27.432Z",
- "contributors": [
- "HyeongJooKim",
- "pitachips"
- ]
- },
- "Web/HTTP/Headers/Content-Encoding": {
- "modified": "2020-10-15T21:49:48.809Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Content-Language": {
- "modified": "2020-10-15T21:49:50.608Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Content-Length": {
- "modified": "2020-10-15T21:49:48.687Z",
- "contributors": [
- "jkpark",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Content-Location": {
- "modified": "2020-10-15T21:50:13.955Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Content-Range": {
- "modified": "2020-10-15T22:00:46.743Z",
- "contributors": [
- "gaucho1218"
- ]
- },
- "Web/HTTP/Headers/Content-Security-Policy": {
- "modified": "2020-10-15T22:04:29.043Z",
- "contributors": [
- "alattalatta",
- "scottsb"
- ]
- },
- "Web/HTTP/Headers/Content-Security-Policy/default-src": {
- "modified": "2020-10-15T22:04:28.625Z",
- "contributors": [
- "karuana"
- ]
- },
- "Web/HTTP/Headers/Content-Security-Policy/img-src": {
- "modified": "2020-10-15T22:04:28.671Z",
- "contributors": [
- "karuana"
- ]
- },
- "Web/HTTP/Headers/Content-Security-Policy/report-to": {
- "modified": "2020-10-15T22:04:19.571Z",
- "contributors": [
- "karuana"
- ]
- },
- "Web/HTTP/Headers/Content-Security-Policy/script-src": {
- "modified": "2020-10-15T22:04:24.340Z",
- "contributors": [
- "karuana"
- ]
- },
- "Web/HTTP/Headers/Content-Type": {
- "modified": "2020-10-15T21:49:42.673Z",
- "contributors": [
- "SungMinHong",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Cookie": {
- "modified": "2020-10-15T21:50:23.726Z",
- "contributors": [
- "jkpark",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/DNT": {
- "modified": "2020-10-15T21:50:24.375Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Date": {
- "modified": "2020-10-15T21:50:25.226Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/ETag": {
- "modified": "2020-10-15T21:51:23.650Z",
- "contributors": [
- "Taehee_Kim",
- "Nept-una",
- "joshua1988"
- ]
- },
- "Web/HTTP/Headers/Expect": {
- "modified": "2019-03-18T21:43:08.596Z",
- "contributors": [
- "cmygray"
- ]
- },
- "Web/HTTP/Headers/Expires": {
- "modified": "2020-10-15T21:50:26.727Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Forwarded": {
- "modified": "2019-04-17T02:18:58.893Z",
- "contributors": [
- "Leadersama",
- "gaucho1218"
- ]
- },
- "Web/HTTP/Headers/From": {
- "modified": "2020-10-15T21:50:24.429Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Host": {
- "modified": "2020-10-15T21:49:46.055Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/If-Modified-Since": {
- "modified": "2020-10-15T22:21:48.824Z",
- "contributors": [
- "hedy.kim"
- ]
- },
- "Web/HTTP/Headers/If-Range": {
- "modified": "2020-10-15T22:00:48.030Z",
- "contributors": [
- "gaucho1218"
- ]
- },
- "Web/HTTP/Headers/Keep-Alive": {
- "modified": "2020-10-15T21:50:23.883Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Last-Modified": {
- "modified": "2020-10-15T22:00:42.496Z",
- "contributors": [
- "gaucho1218"
- ]
- },
- "Web/HTTP/Headers/Origin": {
- "modified": "2020-10-15T22:30:04.982Z",
- "contributors": [
- "DeadIntegral"
- ]
- },
- "Web/HTTP/Headers/Pragma": {
- "modified": "2020-10-15T21:59:31.503Z",
- "contributors": [
- "Shiwoo-Park"
- ]
- },
- "Web/HTTP/Headers/Range": {
- "modified": "2020-10-15T22:00:39.339Z",
- "contributors": [
- "gaucho1218"
- ]
- },
- "Web/HTTP/Headers/Referer": {
- "modified": "2020-10-15T21:50:11.143Z",
- "contributors": [
- "Dong-il.Kim",
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Retry-After": {
- "modified": "2020-10-15T21:50:27.484Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Server": {
- "modified": "2020-10-15T22:03:36.011Z",
- "contributors": [
- "gaucho1218"
- ]
- },
- "Web/HTTP/Headers/Set-Cookie": {
- "modified": "2020-10-15T22:10:26.465Z",
- "contributors": [
- "jay94ks"
- ]
- },
- "Web/HTTP/Headers/Strict-Transport-Security": {
- "modified": "2020-10-15T21:56:49.544Z",
- "contributors": [
- "fransoaardi",
- "daebum-lee"
- ]
- },
- "Web/HTTP/Headers/Transfer-Encoding": {
- "modified": "2020-10-15T21:51:02.263Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Headers/Vary": {
- "modified": "2020-10-15T22:15:03.489Z",
- "contributors": [
- "hedy.kim"
- ]
- },
- "Web/HTTP/Headers/Via": {
- "modified": "2020-10-15T22:35:16.297Z",
- "contributors": [
- "hedy.kim"
- ]
- },
- "Web/HTTP/Headers/X-Forwarded-For": {
- "modified": "2020-10-15T22:17:09.983Z",
- "contributors": [
- "BenjaminYou"
- ]
- },
- "Web/HTTP/Headers/X-Forwarded-Host": {
- "modified": "2020-10-15T22:27:22.961Z",
- "contributors": [
- "hedy.kim"
- ]
- },
- "Web/HTTP/Headers/X-Forwarded-Proto": {
- "modified": "2019-03-23T22:18:20.269Z",
- "contributors": [
- "llogs"
- ]
- },
- "Web/HTTP/Headers/X-Frame-Options": {
- "modified": "2020-10-15T22:08:30.723Z",
- "contributors": [
- "epic",
- "jkpark"
- ]
- },
- "Web/HTTP/Headers/X-XSS-Protection": {
- "modified": "2020-11-23T08:49:47.380Z",
- "contributors": [
- "nesez",
- "Simtu"
- ]
- },
- "Web/HTTP/Index": {
- "modified": "2020-02-05T12:28:02.372Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTTP/Messages": {
- "modified": "2019-03-18T20:59:38.193Z",
- "contributors": [
- "young-gratia",
- "moodcoding",
- "devcken"
- ]
- },
- "Web/HTTP/Methods": {
- "modified": "2020-10-15T21:51:25.078Z",
- "contributors": [
- "alattalatta",
- "flavono123",
- "dbwodlf3",
- "kidkkr",
- "fscholz"
- ]
- },
- "Web/HTTP/Methods/CONNECT": {
- "modified": "2020-10-15T22:04:24.119Z",
- "contributors": [
- "gaucho1218"
- ]
- },
- "Web/HTTP/Methods/DELETE": {
- "modified": "2020-10-15T21:59:03.643Z",
- "contributors": [
- "alattalatta",
- "likeahandy",
- "billopark",
- "frankradio"
- ]
- },
- "Web/HTTP/Methods/GET": {
- "modified": "2020-10-15T21:51:25.549Z",
- "contributors": [
- "alattalatta",
- "lee-seul",
- "AngelaMIN",
- "knight2995"
- ]
- },
- "Web/HTTP/Methods/HEAD": {
- "modified": "2020-10-15T21:51:24.747Z",
- "contributors": [
- "alattalatta",
- "sbqsbqsbq",
- "chatoo2412",
- "knight2995"
- ]
- },
- "Web/HTTP/Methods/OPTIONS": {
- "modified": "2020-10-15T22:13:35.026Z",
- "contributors": [
- "elenajel",
- "momoci99",
- "njh7799",
- "HYUNA_LEE"
- ]
- },
- "Web/HTTP/Methods/PATCH": {
- "modified": "2020-11-12T01:54:11.708Z",
- "contributors": [
- "imione",
- "fransoaardi",
- "njh7799"
- ]
- },
- "Web/HTTP/Methods/POST": {
- "modified": "2020-10-15T21:54:35.754Z",
- "contributors": [
- "alattalatta",
- "CressZZ",
- "frankradio",
- "AngelaMIN",
- "sephiron99",
- "dbwodlf3"
- ]
- },
- "Web/HTTP/Methods/PUT": {
- "modified": "2020-10-15T22:00:38.104Z",
- "contributors": [
- "alattalatta",
- "gaucho1218"
- ]
- },
- "Web/HTTP/Overview": {
- "modified": "2020-11-23T12:40:19.297Z",
- "contributors": [
- "heowc",
- "daum7766",
- "JisooLee",
- "alattalatta",
- "leoinsight",
- "project42da",
- "dbwodlf3",
- "devcken"
- ]
- },
- "Web/HTTP/Range_requests": {
- "modified": "2019-03-18T21:43:46.444Z",
- "contributors": [
- "gaucho1218"
- ]
- },
- "Web/HTTP/Redirections": {
- "modified": "2020-11-16T03:23:48.575Z",
- "contributors": [
- "galcyurio",
- "mingrammer",
- "devcken"
- ]
- },
- "Web/HTTP/Resources_and_URIs": {
- "modified": "2019-03-18T21:43:18.320Z",
- "contributors": [
- "jkpark"
- ]
- },
- "Web/HTTP/Resources_and_specifications": {
- "modified": "2019-03-23T22:26:24.310Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Session": {
- "modified": "2019-09-22T04:32:24.240Z",
- "contributors": [
- "devcken"
- ]
- },
- "Web/HTTP/Status": {
- "modified": "2020-10-15T21:47:24.672Z",
- "contributors": [
- "FennecFoxSW",
- "yjs000",
- "Hozerogold",
- "gaucho1218",
- "fscholz",
- "desty"
- ]
- },
- "Web/HTTP/Status/100": {
- "modified": "2020-10-15T21:59:59.083Z",
- "contributors": [
- "alattalatta",
- "johngrib"
- ]
- },
- "Web/HTTP/Status/101": {
- "modified": "2019-08-19T03:28:08.046Z",
- "contributors": [
- "alattalatta",
- "Suckzoo"
- ]
- },
- "Web/HTTP/Status/103": {
- "modified": "2020-10-15T22:29:44.920Z",
- "contributors": [
- "yeonme"
- ]
- },
- "Web/HTTP/Status/200": {
- "modified": "2020-10-15T22:00:39.842Z",
- "contributors": [
- "alattalatta",
- "ddojung",
- "gaucho1218"
- ]
- },
- "Web/HTTP/Status/201": {
- "modified": "2020-10-15T22:15:10.415Z",
- "contributors": [
- "coremaker",
- "alattalatta",
- "woniok"
- ]
- },
- "Web/HTTP/Status/202": {
- "modified": "2020-11-11T08:43:58.279Z",
- "contributors": [
- "04SeoHyun"
- ]
- },
- "Web/HTTP/Status/204": {
- "modified": "2020-10-15T22:26:07.312Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/HTTP/Status/205": {
- "modified": "2019-10-21T23:25:57.178Z",
- "contributors": [
- "Leekyungun"
- ]
- },
- "Web/HTTP/Status/206": {
- "modified": "2020-10-15T22:00:38.502Z",
- "contributors": [
- "alattalatta",
- "gaucho1218"
- ]
- },
- "Web/HTTP/Status/301": {
- "modified": "2020-10-15T21:57:45.425Z",
- "contributors": [
- "EatChangmyeong",
- "Latera"
- ]
- },
- "Web/HTTP/Status/302": {
- "modified": "2020-10-15T22:09:33.033Z",
- "contributors": [
- "constmoon",
- "jinbeomhong"
- ]
- },
- "Web/HTTP/Status/304": {
- "modified": "2020-10-15T22:15:25.054Z",
- "contributors": [
- "hedy.kim",
- "NoFence"
- ]
- },
- "Web/HTTP/Status/307": {
- "modified": "2020-10-15T22:32:27.392Z",
- "contributors": [
- "hedy.kim"
- ]
- },
- "Web/HTTP/Status/400": {
- "modified": "2019-03-18T20:40:51.653Z",
- "contributors": [
- "parksb"
- ]
- },
- "Web/HTTP/Status/401": {
- "modified": "2020-10-15T22:22:08.295Z",
- "contributors": [
- "alattalatta",
- "feel5ny"
- ]
- },
- "Web/HTTP/Status/403": {
- "modified": "2020-11-23T08:46:49.853Z",
- "contributors": [
- "nesez",
- "parksb",
- "derren-korean"
- ]
- },
- "Web/HTTP/Status/404": {
- "modified": "2020-10-15T21:56:17.391Z",
- "contributors": [
- "parksb",
- "wicksome"
- ]
- },
- "Web/HTTP/Status/405": {
- "modified": "2019-03-18T21:39:51.856Z",
- "contributors": [
- "rubysoho07"
- ]
- },
- "Web/HTTP/Status/408": {
- "modified": "2020-09-08T23:34:11.217Z",
- "contributors": [
- "junnapark"
- ]
- },
- "Web/HTTP/Status/409": {
- "modified": "2019-08-18T03:42:44.148Z",
- "contributors": [
- "feel5ny"
- ]
- },
- "Web/HTTP/Status/411": {
- "modified": "2019-03-18T21:20:29.536Z",
- "contributors": [
- "Hozerogold"
- ]
- },
- "Web/HTTP/Status/413": {
- "modified": "2019-03-18T21:20:20.721Z",
- "contributors": [
- "Hozerogold"
- ]
- },
- "Web/HTTP/Status/416": {
- "modified": "2020-10-15T22:00:42.177Z",
- "contributors": [
- "gaucho1218"
- ]
- },
- "Web/HTTP/Status/418": {
- "modified": "2020-10-15T22:15:42.086Z",
- "contributors": [
- "alattalatta",
- "parksb"
- ]
- },
- "Web/HTTP/Status/422": {
- "modified": "2019-04-22T01:23:47.412Z",
- "contributors": [
- "ddojung",
- "idw111"
- ]
- },
- "Web/HTTP/Status/431": {
- "modified": "2020-09-09T00:09:17.676Z",
- "contributors": [
- "junnapark"
- ]
- },
- "Web/HTTP/Status/500": {
- "modified": "2020-10-15T22:16:11.441Z",
- "contributors": [
- "BenjaminYou"
- ]
- },
- "Web/HTTP/Status/501": {
- "modified": "2020-10-15T22:34:10.166Z",
- "contributors": [
- "junnapark"
- ]
- },
- "Web/HTTP/Status/502": {
- "modified": "2020-10-15T22:34:00.158Z",
- "contributors": [
- "junnapark"
- ]
- },
- "Web/HTTP/Status/503": {
- "modified": "2020-10-15T22:14:29.476Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/HTTP/Status/504": {
- "modified": "2020-10-20T02:51:30.454Z",
- "contributors": [
- "bluayer"
- ]
- },
- "Web/HTTP/Status/505": {
- "modified": "2020-11-10T09:19:56.364Z",
- "contributors": [
- "junnapark"
- ]
- },
- "Web/HTTP/User_agent를_이용한_브라우저_감지": {
- "modified": "2020-09-13T12:21:12.513Z",
- "contributors": [
- "sephiron99",
- "MyungsunLee",
- "alattalatta",
- "citrus.alice",
- "seokju-na",
- "wicksome"
- ]
- },
- "Web/JavaScript": {
- "modified": "2020-03-23T04:53:28.173Z",
- "contributors": [
- "alattalatta",
- "SphinxKnight",
- "cs09g",
- "limkukhyun",
- "Olivia_J",
- "soomtong",
- "yuj25",
- "Geun-Hyung_Kim",
- "Netaras",
- "incleaf",
- "hoony",
- "nacyot",
- "lazysense",
- "stephenjang",
- "teoli",
- "jsx",
- "JaehaAhn",
- "ChangJooPark",
- "Luzi.kr",
- "iMaZiNe",
- "Jeado.Ko",
- "MoGi",
- "jaemin_jo",
- "taggon",
- "fscholz",
- "Dyhan81",
- "Verruckt",
- "Jiyoon",
- "Channy",
- "JongChun"
- ]
- },
- "Web/JavaScript/About": {
- "modified": "2020-03-12T19:36:55.143Z",
- "contributors": [
- "JinKang",
- "Parcovia",
- "cs09g",
- "imjang57",
- "wayne-kim",
- "desty",
- "stephenjang",
- "Luzi.kr",
- "teoli",
- "Zer0th",
- "99corps"
- ]
- },
- "Web/JavaScript/Data_structures": {
- "modified": "2020-07-30T02:41:19.847Z",
- "contributors": [
- "justttttin",
- "Dongheon",
- "MrKwon",
- "Jeado.Ko",
- "seungha-kim",
- "sftblw",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/JavaScript/Differential_inheritance_in_JavaScript": {
- "modified": "2020-09-14T22:22:46.677Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Enumerability_and_ownership_of_properties": {
- "modified": "2020-07-28T23:08:47.885Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Equality_comparisons_and_sameness": {
- "modified": "2020-03-12T19:43:42.580Z",
- "contributors": [
- "limkukhyun",
- "sshplendid",
- "Netaras",
- "joshua1988"
- ]
- },
- "Web/JavaScript/EventLoop": {
- "modified": "2020-03-12T19:43:30.561Z",
- "contributors": [
- "cs09g",
- "varvir",
- "Ken123777",
- "limkukhyun",
- "seungha-kim",
- "HyunSeob",
- "hwshim"
- ]
- },
- "Web/JavaScript/Guide": {
- "modified": "2020-03-12T19:37:41.107Z",
- "contributors": [
- "doong-jo",
- "limkukhyun",
- "alattalatta",
- "ddarkchu",
- "Donghyun_Lee",
- "stephenjang",
- "teoli",
- "taggon"
- ]
- },
- "Web/JavaScript/Guide/Closures": {
- "modified": "2020-03-12T19:37:58.819Z",
- "contributors": [
- "chaewonkong",
- "songdoing",
- "RamiTae",
- "Violet-Bora-Lee",
- "alattalatta",
- "henry_hwang",
- "Seonghui",
- "guyeol",
- "limkukhyun",
- "zziuni",
- "Yoonjoo",
- "KSH-code",
- "afrontend",
- "AlexMin",
- "Jongmin",
- "MyHyuny",
- "joeunha",
- "Kaben",
- "noritersand",
- "kdnmih",
- "teoli",
- "JaehwanLee",
- "jaemin_jo"
- ]
- },
- "Web/JavaScript/Guide/Control_flow_and_error_handling": {
- "modified": "2020-03-12T19:41:32.768Z",
- "contributors": [
- "limkukhyun",
- "KSH-code",
- "afterglows",
- "charyum.park",
- "jadestern",
- "sshplendid",
- "wertgw",
- "woochankim",
- "SooYeonKim"
- ]
- },
- "Web/JavaScript/Guide/Expressions_and_Operators": {
- "modified": "2020-04-30T03:43:48.082Z",
- "contributors": [
- "HubCodes",
- "ukhyun2402",
- "alattalatta",
- "kasinArc",
- "jeongchaeuk",
- "khg0712",
- "hohoonlee",
- "wafersroom",
- "honey.and.sw",
- "nacyot",
- "woochankim",
- "wertgw"
- ]
- },
- "Web/JavaScript/Guide/Indexed_collections": {
- "modified": "2020-03-12T19:42:07.636Z",
- "contributors": [
- "2kindsofcs",
- "limkukhyun",
- "Eechul",
- "ryukato"
- ]
- },
- "Web/JavaScript/Guide/Inheritance_and_the_prototype_chain": {
- "modified": "2020-04-04T00:50:18.045Z",
- "contributors": [
- "peter1035k",
- "jeongraeKim",
- "dbwodlf3",
- "project42da",
- "quddnr153",
- "ahnzaz",
- "laranhee",
- "daewooLeeNy",
- "danhojin",
- "shim.hw0810",
- "faker007",
- "juyonglee",
- "epicsaga",
- "sftblw",
- "mixed80",
- "teoli",
- "JaehwanLee",
- "jaemin_jo"
- ]
- },
- "Web/JavaScript/Guide/Iterators_and_Generators": {
- "modified": "2020-07-15T01:15:38.167Z",
- "contributors": [
- "Oizys18",
- "seokju-na",
- "leegeunhyeok",
- "jeongraeKim",
- "ljh0908lee",
- "limkukhyun",
- "Netaras"
- ]
- },
- "Web/JavaScript/Guide/Keyed_collections": {
- "modified": "2020-03-12T19:42:06.027Z",
- "contributors": [
- "Joel-An",
- "LumiLoves",
- "hoony",
- "fureweb",
- "nacyot",
- "ryukato"
- ]
- },
- "Web/JavaScript/Guide/Loops_and_iteration": {
- "modified": "2020-10-08T09:21:13.596Z",
- "contributors": [
- "jongwoo0728",
- "yhyim",
- "SphinxKnight",
- "SSaMKJ",
- "gnujoow",
- "woochankim",
- "JunBeom-Park",
- "SooYeonKim"
- ]
- },
- "Web/JavaScript/Guide/Modules": {
- "modified": "2020-10-15T22:18:56.791Z",
- "contributors": [
- "raccoonback",
- "DeadIntegral"
- ]
- },
- "Web/JavaScript/Guide/Numbers_and_dates": {
- "modified": "2020-11-19T02:20:24.044Z",
- "contributors": [
- "n2ptune",
- "ukhyun2402",
- "limkukhyun",
- "pers0n4",
- "kbsbroad",
- "junoim",
- "wertgw",
- "SooYeonKim"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/About": {
- "modified": "2019-01-16T16:11:14.324Z",
- "contributors": [
- "teoli",
- "Wafe",
- "taggon"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Class-Based_vs._Prototype-Based_Languages": {
- "modified": "2019-01-16T14:15:11.129Z",
- "contributors": [
- "teoli",
- "99corps"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Constants": {
- "modified": "2019-01-16T16:11:22.319Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Creating_New_Objects": {
- "modified": "2019-01-16T15:05:32.812Z",
- "contributors": [
- "teoli",
- "Anonymous"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Creating_New_Objects/Defining_Getters_and_Setters": {
- "modified": "2019-03-23T23:43:54.514Z",
- "contributors": [
- "jigs12",
- "teoli",
- "ethertank",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Creating_New_Objects/Defining_Methods": {
- "modified": "2019-03-23T23:43:58.661Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Creating_New_Objects/Defining_Properties_for_an_Object_Type": {
- "modified": "2019-03-23T23:43:46.816Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Creating_New_Objects/Deleting_Properties": {
- "modified": "2019-03-23T23:43:53.828Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Creating_New_Objects/Indexing_Object_Properties": {
- "modified": "2019-03-23T23:43:44.923Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Creating_New_Objects/Using_a_Constructor_Function": {
- "modified": "2019-03-23T23:43:44.078Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Creating_New_Objects/Using_this_for_Object_References": {
- "modified": "2019-03-23T23:43:58.264Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Creating_a_Regular_Expression": {
- "modified": "2019-03-23T23:43:48.309Z",
- "contributors": [
- "teoli",
- "디토"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Expressions": {
- "modified": "2019-01-16T16:16:32.143Z",
- "contributors": [
- "teoli",
- "taggon"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/JavaScript_Overview": {
- "modified": "2019-01-16T14:15:11.648Z",
- "contributors": [
- "teoli",
- "S. Kang",
- "jsnapz",
- "Ape1126",
- "Wafe",
- "Huick",
- "Gilchris"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Literals": {
- "modified": "2019-03-23T23:43:37.505Z",
- "contributors": [
- "teoli",
- "panda",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Objects_and_Properties": {
- "modified": "2019-01-16T15:50:20.671Z",
- "contributors": [
- "teoli",
- "Gilchris"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Operators": {
- "modified": "2019-03-23T23:41:51.754Z",
- "contributors": [
- "teoli",
- "taggon"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Operators/Arithmetic_Operators": {
- "modified": "2019-01-16T16:11:11.253Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Operators/Assignment_Operators": {
- "modified": "2019-03-23T23:41:53.669Z",
- "contributors": [
- "teoli",
- "taggon"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Operators/Bitwise_Operators": {
- "modified": "2019-01-16T16:11:13.405Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Operators/Logical_Operators": {
- "modified": "2019-01-16T16:11:11.411Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Operators/Special_Operators": {
- "modified": "2019-01-16T16:11:17.876Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Operators/String_Operators": {
- "modified": "2019-01-16T16:11:17.176Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Predefined_Core_Objects": {
- "modified": "2019-01-16T16:10:38.273Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Predefined_Core_Objects/Array_Object": {
- "modified": "2019-03-23T23:43:56.661Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Unicode": {
- "modified": "2019-01-16T16:11:27.423Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Values": {
- "modified": "2019-01-16T16:11:23.067Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Obsolete_Pages/Core_JavaScript_1.5_Guide/Variables": {
- "modified": "2019-01-16T16:11:22.455Z",
- "contributors": [
- "teoli",
- "Wafe"
- ]
- },
- "Web/JavaScript/Guide/Text_formatting": {
- "modified": "2020-03-12T19:41:34.500Z",
- "contributors": [
- "limkukhyun",
- "jungpaeng",
- "kr-leeteahoon",
- "wertgw",
- "SooYeonKim"
- ]
- },
- "Web/JavaScript/Guide/Using_promises": {
- "modified": "2020-09-07T02:53:40.286Z",
- "contributors": [
- "KimEJ",
- "0131mj",
- "mytory",
- "eojina",
- "limkukhyun",
- "tw4204",
- "Ken123777",
- "coolcpu",
- "SSJ-unclear",
- "jadestern"
- ]
- },
- "Web/JavaScript/Guide/Values,_variables,_and_literals": {
- "modified": "2020-06-03T11:11:26.830Z",
- "contributors": [
- "gksrlf2ek",
- "sujinlee0616",
- "alattalatta",
- "shj9432",
- "dsma73",
- "yhyim",
- "hohoonlee",
- "limkukhyun",
- "yangtaeho",
- "gudrl",
- "jadestern",
- "ddarkchu",
- "Netaras",
- "HyunSeob",
- "wikibook",
- "VBChunguk",
- "trazy",
- "Donghyun_Lee",
- "stephenjang",
- "Rudy-Ahn",
- "moolow",
- "teoli",
- "frog44"
- ]
- },
- "Web/JavaScript/Guide/Working_with_Objects": {
- "modified": "2019-03-23T23:06:06.143Z",
- "contributors": [
- "fscholz",
- "khg0712",
- "SphinxKnight",
- "nacyot",
- "KBGenie",
- "jigs12",
- "PineMt",
- "ryukato",
- "cafrii"
- ]
- },
- "Web/JavaScript/Guide/객체_모델의_세부사항": {
- "modified": "2020-03-12T19:42:17.394Z",
- "contributors": [
- "doong-jo",
- "nmsohn",
- "DoublSB",
- "limkukhyun",
- "wbamberg",
- "cmygray",
- "khseok1060",
- "ryukato"
- ]
- },
- "Web/JavaScript/Guide/메타_프로그래밍": {
- "modified": "2020-03-12T19:41:24.217Z",
- "contributors": [
- "limkukhyun",
- "nodejs",
- "stephenjang"
- ]
- },
- "Web/JavaScript/Guide/소개": {
- "modified": "2020-11-13T15:07:54.630Z",
- "contributors": [
- "FennecFoxSW",
- "ldss3sang",
- "limkukhyun",
- "bluerainmaker",
- "ahnzaz",
- "BG.Choi",
- "gudrl",
- "gnujoow",
- "stitchworkingonthecode",
- "ShihwanKim",
- "Netaras",
- "cs09g",
- "Jsfumato",
- "hwani163",
- "junoim",
- "ByeongGi",
- "stephenjang"
- ]
- },
- "Web/JavaScript/Guide/정규식": {
- "modified": "2020-04-29T02:51:44.998Z",
- "contributors": [
- "yami03",
- "yeonjuan",
- "Jung-Max",
- "deltakor1234",
- "idid0210",
- "seungha-kim",
- "limkukhyun",
- "khg0712",
- "nazuna1",
- "kooljay82",
- "fdevjm",
- "coffeenjava",
- "gaeun917",
- "namhong2001",
- "woochankim",
- "JunBeom-Park",
- "SooYeonKim"
- ]
- },
- "Web/JavaScript/Guide/정규식/Assertions": {
- "modified": "2020-09-14T21:47:15.957Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Guide/정규식/Groups_and_Ranges": {
- "modified": "2020-03-12T19:49:33.624Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Guide/함수": {
- "modified": "2020-03-12T19:41:24.935Z",
- "contributors": [
- "limkukhyun",
- "01045972746",
- "jeoyoho",
- "bigsaigon333",
- "creatijin",
- "jungpaeng",
- "gudrl",
- "wafersroom",
- "gaeun917",
- "SSaMKJ",
- "JunLee",
- "woochankim",
- "JunBeom-Park",
- "SooYeonKim"
- ]
- },
- "Web/JavaScript/Introduction_to_Object-Oriented_JavaScript": {
- "modified": "2019-03-23T23:29:46.029Z",
- "contributors": [
- "Parcovia",
- "JayK95",
- "rinuel",
- "teoli",
- "JaehaAhn"
- ]
- },
- "Web/JavaScript/JavaScript_technologies_overview": {
- "modified": "2020-03-12T19:37:59.087Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "ethertank",
- "jaemin_jo"
- ]
- },
- "Web/JavaScript/Memory_Management": {
- "modified": "2020-03-12T19:37:54.884Z",
- "contributors": [
- "presentY1897",
- "johngrib",
- "KSH-code",
- "teoli",
- "jaemin_jo"
- ]
- },
- "Web/JavaScript/Reference": {
- "modified": "2020-03-12T19:36:53.431Z",
- "contributors": [
- "limkukhyun",
- "naduhy2",
- "Netaras",
- "epicsaga",
- "teoli",
- "Constantine Kim",
- "MoGi",
- "Dyhan81",
- "Goldmund"
- ]
- },
- "Web/JavaScript/Reference/About": {
- "modified": "2020-03-12T19:37:02.761Z",
- "contributors": [
- "limkukhyun",
- "teoli",
- "Dyhan81",
- "Netaras",
- "taggon",
- "Goldmund"
- ]
- },
- "Web/JavaScript/Reference/Classes": {
- "modified": "2020-12-02T08:06:01.229Z",
- "contributors": [
- "woochul2",
- "hjleesm",
- "dsma73",
- "HyunSangHan",
- "seulgiyoon",
- "kylajung",
- "genzuby",
- "fscholz",
- "jyhwng",
- "roupkk",
- "hibiya",
- "faker007",
- "hwshim",
- "preco21",
- "maytree"
- ]
- },
- "Web/JavaScript/Reference/Classes/Class_fields": {
- "modified": "2020-10-15T22:29:50.457Z",
- "contributors": [
- "dooyou21"
- ]
- },
- "Web/JavaScript/Reference/Classes/Private_class_fields": {
- "modified": "2020-11-08T09:14:41.975Z",
- "contributors": [
- "seong7"
- ]
- },
- "Web/JavaScript/Reference/Classes/constructor": {
- "modified": "2020-10-15T21:42:34.132Z",
- "contributors": [
- "alattalatta",
- "hyoni0817",
- "limkukhyun",
- "jeonnoej"
- ]
- },
- "Web/JavaScript/Reference/Classes/extends": {
- "modified": "2020-10-15T21:43:47.995Z",
- "contributors": [
- "limkukhyun",
- "Netaras",
- "jeonnoej"
- ]
- },
- "Web/JavaScript/Reference/Classes/static": {
- "modified": "2020-10-15T21:43:46.615Z",
- "contributors": [
- "kimkyeseung",
- "limkukhyun",
- "jeonnoej",
- "taihwayoun"
- ]
- },
- "Web/JavaScript/Reference/Deprecated_and_obsolete_features": {
- "modified": "2020-03-12T19:44:53.109Z",
- "contributors": [
- "alattalatta",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Errors": {
- "modified": "2020-03-12T19:43:42.482Z",
- "contributors": [
- "Netaras",
- "fscholz"
- ]
- },
- "Web/JavaScript/Reference/Errors/Bad_octal": {
- "modified": "2020-03-12T19:44:24.834Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Bad_radix": {
- "modified": "2020-03-12T19:44:34.573Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Bad_regexp_flag": {
- "modified": "2020-03-12T19:48:27.405Z",
- "contributors": [
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Errors/Bad_return_or_yield": {
- "modified": "2020-03-12T19:46:13.633Z",
- "contributors": [
- "2oosoo",
- "highdali"
- ]
- },
- "Web/JavaScript/Reference/Errors/Cant_access_lexical_declaration_before_init": {
- "modified": "2020-03-12T19:47:46.720Z",
- "contributors": [
- "SSJ-unclear"
- ]
- },
- "Web/JavaScript/Reference/Errors/Delete_in_strict_mode": {
- "modified": "2020-03-12T19:48:24.242Z",
- "contributors": [
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Errors/Deprecated_caller_or_arguments_usage": {
- "modified": "2020-03-12T19:44:32.792Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Deprecated_octal": {
- "modified": "2020-03-12T19:48:30.330Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Identifier_after_number": {
- "modified": "2020-03-12T19:48:24.600Z",
- "contributors": [
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Errors/Illegal_character": {
- "modified": "2020-03-12T19:48:28.614Z",
- "contributors": [
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Errors/Invalid_array_length": {
- "modified": "2020-03-12T19:43:37.920Z",
- "contributors": [
- "epicsaga"
- ]
- },
- "Web/JavaScript/Reference/Errors/Invalid_assignment_left-hand_side": {
- "modified": "2020-03-12T19:44:36.449Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Invalid_date": {
- "modified": "2020-03-12T19:47:45.133Z",
- "contributors": [
- "Olivia_J"
- ]
- },
- "Web/JavaScript/Reference/Errors/Invalid_for-in_initializer": {
- "modified": "2020-03-12T19:48:28.444Z",
- "contributors": [
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Errors/Invalid_for-of_initializer": {
- "modified": "2020-03-12T19:48:24.879Z",
- "contributors": [
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Errors/JSON_bad_parse": {
- "modified": "2020-03-12T19:46:13.524Z",
- "contributors": [
- "highdali"
- ]
- },
- "Web/JavaScript/Reference/Errors/Malformed_formal_parameter": {
- "modified": "2020-03-12T19:48:03.882Z",
- "contributors": [
- "SSJ-unclear"
- ]
- },
- "Web/JavaScript/Reference/Errors/Missing_bracket_after_list": {
- "modified": "2020-03-12T19:48:26.441Z",
- "contributors": [
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Errors/Missing_colon_after_property_id": {
- "modified": "2020-03-12T19:48:28.709Z",
- "contributors": [
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Errors/Missing_curly_after_property_list": {
- "modified": "2020-03-12T19:47:44.512Z",
- "contributors": [
- "Olivia_J"
- ]
- },
- "Web/JavaScript/Reference/Errors/Missing_initializer_in_const": {
- "modified": "2020-03-12T19:48:10.711Z",
- "contributors": [
- "rlaace423"
- ]
- },
- "Web/JavaScript/Reference/Errors/Missing_name_after_dot_operator": {
- "modified": "2020-03-12T19:48:36.679Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Missing_parenthesis_after_argument_list": {
- "modified": "2020-03-12T19:47:15.700Z",
- "contributors": [
- "nicekkong"
- ]
- },
- "Web/JavaScript/Reference/Errors/Missing_parenthesis_after_condition": {
- "modified": "2020-03-12T19:47:45.484Z",
- "contributors": [
- "Olivia_J"
- ]
- },
- "Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement": {
- "modified": "2020-03-12T19:46:46.133Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/More_arguments_needed": {
- "modified": "2020-03-12T19:48:33.843Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Negative_repetition_count": {
- "modified": "2020-03-12T19:44:34.819Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/No_variable_name": {
- "modified": "2020-03-12T19:48:33.115Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Not_a_codepoint": {
- "modified": "2020-03-12T19:44:27.869Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Not_a_constructor": {
- "modified": "2020-03-12T19:46:59.075Z",
- "contributors": [
- "Latera"
- ]
- },
- "Web/JavaScript/Reference/Errors/Not_defined": {
- "modified": "2020-03-12T19:44:37.119Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Precision_range": {
- "modified": "2020-03-12T19:44:32.328Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Property_access_denied": {
- "modified": "2020-03-12T19:44:32.773Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Read-only": {
- "modified": "2020-03-12T19:47:45.720Z",
- "contributors": [
- "Olivia_J"
- ]
- },
- "Web/JavaScript/Reference/Errors/Reduce_of_empty_array_with_no_initial_value": {
- "modified": "2020-03-12T19:49:30.091Z",
- "contributors": [
- "WonWoongJang"
- ]
- },
- "Web/JavaScript/Reference/Errors/Reserved_identifier": {
- "modified": "2020-03-12T19:48:28.133Z",
- "contributors": [
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Errors/Resulting_string_too_large": {
- "modified": "2020-03-12T19:44:36.352Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Strict_Non_Simple_Params": {
- "modified": "2020-03-12T19:47:43.886Z",
- "contributors": [
- "SSJ-unclear"
- ]
- },
- "Web/JavaScript/Reference/Errors/Too_much_recursion": {
- "modified": "2020-03-12T19:44:33.119Z",
- "contributors": [
- "Kaben",
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Undeclared_var": {
- "modified": "2020-03-12T19:44:33.741Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Undefined_prop": {
- "modified": "2020-03-12T19:44:33.728Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Errors/Unexpected_token": {
- "modified": "2020-03-12T19:44:11.696Z",
- "contributors": [
- "ChangSungsil"
- ]
- },
- "Web/JavaScript/Reference/Errors/Unexpected_type": {
- "modified": "2020-03-12T19:45:33.484Z",
- "contributors": [
- "yura-Choi"
- ]
- },
- "Web/JavaScript/Reference/Errors/Unnamed_function_statement": {
- "modified": "2020-03-12T19:48:26.448Z",
- "contributors": [
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Errors/is_not_iterable": {
- "modified": "2020-03-12T19:48:24.798Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/JavaScript/Reference/Functions": {
- "modified": "2020-10-15T21:37:58.963Z",
- "contributors": [
- "harryjjun",
- "Dailyscat",
- "limkukhyun",
- "alattalatta",
- "Netaras",
- "sftblw"
- ]
- },
- "Web/JavaScript/Reference/Functions/Default_parameters": {
- "modified": "2020-10-15T21:45:58.179Z",
- "contributors": [
- "honggaruy",
- "gbyman",
- "kbsbroad",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Functions/Method_definitions": {
- "modified": "2020-03-12T19:44:05.728Z",
- "contributors": [
- "kdex",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Functions/arguments": {
- "modified": "2020-10-15T21:38:47.452Z",
- "contributors": [
- "alattalatta",
- "Netaras",
- "tmxkwkfgka"
- ]
- },
- "Web/JavaScript/Reference/Functions/arguments/@@iterator": {
- "modified": "2020-10-15T22:12:01.387Z",
- "contributors": [
- "alattalatta",
- "vividhee"
- ]
- },
- "Web/JavaScript/Reference/Functions/arguments/callee": {
- "modified": "2020-03-12T19:44:03.622Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Functions/arguments/length": {
- "modified": "2020-10-15T21:48:18.638Z",
- "contributors": [
- "alattalatta",
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Functions/get": {
- "modified": "2020-10-15T21:48:28.043Z",
- "contributors": [
- "SSJ-unclear",
- "DGURI",
- "NessunKim"
- ]
- },
- "Web/JavaScript/Reference/Functions/rest_parameters": {
- "modified": "2020-10-15T21:46:03.879Z",
- "contributors": [
- "Geun-Hyung_Kim",
- "cs09g",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Functions/set": {
- "modified": "2020-03-12T19:44:54.074Z",
- "contributors": [
- "daehyoung"
- ]
- },
- "Web/JavaScript/Reference/Functions/애로우_펑션": {
- "modified": "2020-10-15T21:39:57.499Z",
- "contributors": [
- "honggaruy",
- "Vimming",
- "songdoing",
- "gbyman",
- "yonggoo.noh",
- "jjangga0214",
- "geunhyung",
- "limkukhyun",
- "kangsan_Chang",
- "nyaawlsh",
- "daehyoung",
- "Geun-Hyung_Kim",
- "Netaras",
- "preco21",
- "chiyodad",
- "Jeeeyul"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects": {
- "modified": "2020-08-05T00:51:40.442Z",
- "contributors": [
- "alattalatta",
- "loslch",
- "skyfly33",
- "Netaras",
- "cs09g",
- "Rachel0211",
- "teoli"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/AggregateError": {
- "modified": "2020-11-15T04:22:22.892Z",
- "contributors": [
- "Donghoon"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array": {
- "modified": "2020-10-15T21:18:12.731Z",
- "contributors": [
- "kwangdosa",
- "alattalatta",
- "wbamberg",
- "limkukhyun",
- "sominlee",
- "HanuLatte",
- "joeunha",
- "maytree",
- "VBChunguk",
- "JaegangLee",
- "teoli",
- "taggon",
- "Aeuiop"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/@@iterator": {
- "modified": "2020-10-15T21:43:02.789Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "hwangtan",
- "."
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/@@species": {
- "modified": "2020-10-15T21:50:41.909Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/@@unscopables": {
- "modified": "2020-10-15T21:50:41.776Z",
- "contributors": [
- "alattalatta",
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/Array": {
- "modified": "2020-10-15T22:26:58.481Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/Reduce": {
- "modified": "2020-10-15T21:41:30.424Z",
- "contributors": [
- "alattalatta",
- "dolmoon",
- "KisukPark",
- "ieay4a",
- "Violetdusk",
- "Netaras",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/ReduceRight": {
- "modified": "2020-10-15T21:50:39.970Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/concat": {
- "modified": "2020-10-15T21:38:49.144Z",
- "contributors": [
- "RamiTae",
- "bohyun611kim",
- "alattalatta",
- "KisukPark",
- "VBChunguk",
- "tmxkwkfgka"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/copyWithin": {
- "modified": "2020-10-15T21:50:40.123Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "withdude2",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/entries": {
- "modified": "2020-10-15T21:41:29.970Z",
- "contributors": [
- "honggaruy",
- "alattalatta",
- "KisukPark",
- "SphinxKnight",
- "keypointer",
- "kdex",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/every": {
- "modified": "2020-10-15T21:41:30.327Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "limkukhyun",
- "Netaras",
- "Kaben",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/fill": {
- "modified": "2020-10-15T21:36:43.146Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "SphinxKnight",
- "withdude2",
- "ligeek"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/filter": {
- "modified": "2020-10-15T21:41:17.863Z",
- "contributors": [
- "RamiTae",
- "alattalatta",
- "bohyun611kim",
- "pineoc",
- "jewon",
- "limkukhyun",
- "KisukPark",
- "Saem",
- "Netaras",
- "rageboom",
- "Yunhong-Min",
- "keypointer"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/find": {
- "modified": "2020-10-15T21:48:55.826Z",
- "contributors": [
- "alattalatta",
- "QooQooDass",
- "KisukPark",
- "sonjh02",
- "meganson",
- "yuntaek",
- "Jaysok"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/findIndex": {
- "modified": "2020-10-15T21:50:40.640Z",
- "contributors": [
- "hyoni0817",
- "Hyeok_Jo",
- "alattalatta",
- "KisukPark",
- "sonjh02",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/flat": {
- "modified": "2020-10-15T22:08:27.831Z",
- "contributors": [
- "alattalatta",
- "moonformeli",
- "cs09g"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/flatMap": {
- "modified": "2020-10-15T22:08:28.496Z",
- "contributors": [
- "DaegiKim",
- "24seconds",
- "moonformeli",
- "alattalatta",
- "cs09g"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/forEach": {
- "modified": "2020-10-15T21:47:39.068Z",
- "contributors": [
- "alattalatta",
- "RootyJin",
- "jeongchaeuk",
- "Parcovia",
- "limkukhyun",
- "KisukPark",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/from": {
- "modified": "2020-10-15T21:37:56.478Z",
- "contributors": [
- "alattalatta",
- "Violet-Bora-Lee",
- "KisukPark",
- "SphinxKnight",
- "디토",
- "ligeek"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/includes": {
- "modified": "2020-10-15T21:50:39.977Z",
- "contributors": [
- "IMHOJEONG",
- "alattalatta",
- "KisukPark",
- "KlausLee",
- "khsiea",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/indexOf": {
- "modified": "2020-10-15T21:50:40.883Z",
- "contributors": [
- "biniruu",
- "naraeim",
- "alattalatta",
- "KisukPark",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/isArray": {
- "modified": "2020-10-15T21:41:14.689Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "KaironMoon",
- "keypointer",
- "johngrib"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/join": {
- "modified": "2020-10-15T21:41:15.362Z",
- "contributors": [
- "shj9432",
- "alattalatta",
- "KisukPark",
- "VBChunguk"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/keys": {
- "modified": "2020-10-15T21:41:30.210Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "SphinxKnight",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf": {
- "modified": "2020-10-15T21:50:40.016Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/length": {
- "modified": "2020-10-15T21:41:28.876Z",
- "contributors": [
- "alattalatta",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/map": {
- "modified": "2020-10-15T21:36:42.699Z",
- "contributors": [
- "seulgiyoon",
- "alattalatta",
- "KisukPark",
- "sshplendid",
- "selfiens",
- "the1900",
- "reoim",
- "Yunhong-Min",
- "sominlee",
- "Rokt33r",
- "epicsaga"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/of": {
- "modified": "2020-10-15T21:36:39.776Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "limkukhyun",
- "ligeek"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/pop": {
- "modified": "2020-10-15T21:47:37.008Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/push": {
- "modified": "2020-10-15T21:39:22.145Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "dsma73",
- "Hoto-Cocoa",
- "nohsenc",
- "dewey94esb"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/reverse": {
- "modified": "2020-10-15T21:41:28.622Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/shift": {
- "modified": "2020-10-15T21:38:19.399Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "DeusNonEst",
- "FlowerCoing"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/slice": {
- "modified": "2020-10-15T21:48:35.659Z",
- "contributors": [
- "alattalatta",
- "Georgee-lee",
- "KisukPark",
- "cs09g",
- "AlexMin",
- "imskojs",
- "dale0713"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/some": {
- "modified": "2020-10-15T21:47:53.706Z",
- "contributors": [
- "kimkyeseung",
- "alattalatta",
- "KisukPark",
- "kyunooh",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/sort": {
- "modified": "2020-10-15T21:50:40.023Z",
- "contributors": [
- "IvannKim",
- "yami03",
- "alattalatta",
- "KisukPark",
- "dsma73",
- "seokju-na",
- "apple77y",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/splice": {
- "modified": "2020-10-15T21:37:48.347Z",
- "contributors": [
- "alattalatta",
- "selfiens",
- "KisukPark",
- "wonhoKim",
- "laranhee",
- "Jei",
- "Rokt33r"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/toLocaleString": {
- "modified": "2020-10-15T21:47:37.995Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/toSource": {
- "modified": "2020-10-15T22:00:47.617Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "KisukPark",
- "sonjh02"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/toString": {
- "modified": "2020-10-15T21:47:38.270Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/unshift": {
- "modified": "2020-10-15T21:41:30.420Z",
- "contributors": [
- "alattalatta",
- "ChanwheKim",
- "KisukPark",
- "jisooyu",
- "maytree"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Array/values": {
- "modified": "2020-10-15T21:41:31.189Z",
- "contributors": [
- "alattalatta",
- "KisukPark",
- "SphinxKnight",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/ArrayBuffer": {
- "modified": "2020-10-15T21:31:34.913Z",
- "contributors": [
- "alattalatta",
- "chaewonkong",
- "niceilm",
- "teoli",
- "JiminP",
- "yuby"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/ArrayBuffer/ArrayBuffer": {
- "modified": "2020-10-15T22:27:33.561Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/ArrayBuffer/byteLength": {
- "modified": "2020-10-15T22:27:34.550Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView": {
- "modified": "2020-10-15T22:27:32.623Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/ArrayBuffer/slice": {
- "modified": "2020-10-15T22:27:35.359Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/AsyncFunction": {
- "modified": "2020-10-15T21:52:51.606Z",
- "contributors": [
- "ibizcox",
- "jooddang",
- "limkukhyun",
- "ChanghwaLee"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Atomics": {
- "modified": "2019-03-23T22:18:58.236Z",
- "contributors": [
- "RyuJin"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/BigInt": {
- "modified": "2020-10-15T22:12:37.942Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/BigInt/BigInt": {
- "modified": "2020-10-15T22:25:40.633Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/BigInt/prototype": {
- "modified": "2020-10-15T22:12:31.982Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Boolean": {
- "modified": "2020-10-15T21:14:40.981Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "teoli",
- "Gilchris"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Boolean/Boolean": {
- "modified": "2020-10-15T22:27:46.206Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Boolean/prototype": {
- "modified": "2020-10-15T21:43:28.882Z",
- "contributors": [
- "alattalatta",
- "noritersand"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Boolean/toString": {
- "modified": "2020-10-15T22:11:53.952Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Boolean/valueOf": {
- "modified": "2020-10-15T22:11:54.035Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/DataView": {
- "modified": "2020-10-15T21:42:40.867Z",
- "contributors": [
- "alattalatta",
- "KKang",
- "ksyeng"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/DataView/DataView": {
- "modified": "2020-10-15T22:27:25.683Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date": {
- "modified": "2020-10-15T21:18:35.817Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "dsma73",
- "Shin-JaeHeon",
- "seungha-kim",
- "seokju-na",
- "teoli",
- "taggon"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/UTC": {
- "modified": "2020-10-15T21:50:44.435Z",
- "contributors": [
- "alattalatta",
- "inpyoj",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getDate": {
- "modified": "2020-10-15T21:50:41.680Z",
- "contributors": [
- "alattalatta",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getDay": {
- "modified": "2020-10-15T21:50:41.587Z",
- "contributors": [
- "alattalatta",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getFullYear": {
- "modified": "2020-10-15T21:50:41.498Z",
- "contributors": [
- "alattalatta",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getHours": {
- "modified": "2020-10-15T21:50:41.097Z",
- "contributors": [
- "alattalatta",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds": {
- "modified": "2020-10-15T21:50:43.734Z",
- "contributors": [
- "alattalatta",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getMinutes": {
- "modified": "2020-10-15T21:50:41.182Z",
- "contributors": [
- "alattalatta",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getMonth": {
- "modified": "2020-10-15T21:50:42.376Z",
- "contributors": [
- "alattalatta",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getSeconds": {
- "modified": "2020-10-15T21:50:44.137Z",
- "contributors": [
- "alattalatta",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getTime": {
- "modified": "2019-03-23T22:23:15.546Z",
- "contributors": [
- "hyeonseok",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset": {
- "modified": "2019-03-23T22:23:13.145Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getUTCDate": {
- "modified": "2019-03-23T22:23:20.825Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getUTCDay": {
- "modified": "2019-03-23T22:23:16.136Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear": {
- "modified": "2019-03-23T22:23:15.265Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getUTCHours": {
- "modified": "2019-03-23T22:23:09.557Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds": {
- "modified": "2019-03-23T22:23:07.710Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes": {
- "modified": "2019-03-23T22:23:18.026Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth": {
- "modified": "2019-03-23T22:23:10.004Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds": {
- "modified": "2019-03-23T22:23:16.588Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/now": {
- "modified": "2019-03-23T22:29:50.058Z",
- "contributors": [
- "g6ling",
- "dale0713"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/parse": {
- "modified": "2019-03-23T22:23:12.000Z",
- "contributors": [
- "sung-ugje",
- "galcyurio",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/prototype": {
- "modified": "2020-10-15T21:34:44.080Z",
- "contributors": [
- "alattalatta",
- "Cho.Eun",
- "ByungChangCha",
- "teoli"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setDate": {
- "modified": "2019-03-23T22:23:20.668Z",
- "contributors": [
- "swtpumpkin",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setFullYear": {
- "modified": "2019-03-23T22:23:19.509Z",
- "contributors": [
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setHours": {
- "modified": "2019-03-23T22:23:20.495Z",
- "contributors": [
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds": {
- "modified": "2019-03-23T22:23:19.297Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setMinutes": {
- "modified": "2019-03-23T22:23:09.852Z",
- "contributors": [
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setMonth": {
- "modified": "2019-03-23T22:23:18.765Z",
- "contributors": [
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setSeconds": {
- "modified": "2019-03-23T22:23:08.456Z",
- "contributors": [
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setTime": {
- "modified": "2019-03-23T22:23:22.849Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setUTCDate": {
- "modified": "2019-03-23T22:23:22.400Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear": {
- "modified": "2019-03-23T22:23:12.168Z",
- "contributors": [
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setUTCHours": {
- "modified": "2019-03-23T22:23:12.991Z",
- "contributors": [
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds": {
- "modified": "2019-03-23T22:23:21.549Z",
- "contributors": [
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes": {
- "modified": "2019-03-23T22:23:11.774Z",
- "contributors": [
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth": {
- "modified": "2019-03-23T22:23:12.673Z",
- "contributors": [
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds": {
- "modified": "2019-03-23T22:23:22.693Z",
- "contributors": [
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/toDateString": {
- "modified": "2020-10-15T21:50:42.628Z",
- "contributors": [
- "alattalatta",
- "inkyungkim",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/toISOString": {
- "modified": "2020-10-15T22:09:03.975Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/toJSON": {
- "modified": "2020-10-15T22:09:05.629Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/toString": {
- "modified": "2020-10-15T21:56:46.065Z",
- "contributors": [
- "alattalatta",
- "huseong"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Date/valueOf": {
- "modified": "2020-10-15T22:22:09.213Z",
- "contributors": [
- "Jihyun_LEE"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Error": {
- "modified": "2020-10-15T21:23:09.336Z",
- "contributors": [
- "alattalatta",
- "sunhyung",
- "teoli",
- "john_jung"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Error/name": {
- "modified": "2020-10-15T22:01:04.562Z",
- "contributors": [
- "goeo1066"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/EvalError": {
- "modified": "2020-10-15T21:50:41.406Z",
- "contributors": [
- "alattalatta",
- "zziuni",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Function": {
- "modified": "2020-10-15T21:18:08.765Z",
- "contributors": [
- "alattalatta",
- "moolow",
- "dolmoon",
- "Netaras",
- "teoli",
- "HunminKim",
- "Wafe"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Function/apply": {
- "modified": "2020-10-15T21:36:42.231Z",
- "contributors": [
- "limsungho02",
- "cs09g",
- "jeongchaeuk",
- "alattalatta",
- "jaewanC",
- "bsidesoft"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Function/arguments": {
- "modified": "2020-10-15T22:04:18.058Z",
- "contributors": [
- "Seonghui",
- "sunhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Function/bind": {
- "modified": "2020-10-15T21:38:38.554Z",
- "contributors": [
- "dezcao",
- "dae-hwa",
- "alattalatta",
- "limkukhyun",
- "AlexMin",
- "dale0713",
- "joeunha",
- "Netaras",
- "sftblw",
- "zuckay79",
- "jjhangu"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Function/call": {
- "modified": "2020-10-15T21:19:34.146Z",
- "contributors": [
- "dasbeerboot",
- "paikwiki",
- "Netaras",
- "stitchworkingonthecode",
- "ligeek",
- "jjhangu",
- "teoli",
- "ByungChangYoo",
- "Jeado.Ko"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Function/length": {
- "modified": "2020-10-15T21:36:48.277Z",
- "contributors": [
- "alattalatta",
- "Netaras",
- "bsidesoft"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Function/name": {
- "modified": "2019-03-23T22:54:09.088Z",
- "contributors": [
- "Netaras",
- "bsidesoft"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Function/toSource": {
- "modified": "2020-10-15T22:15:36.685Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Generator": {
- "modified": "2019-10-07T03:49:08.925Z",
- "contributors": [
- "stegano",
- "Latera",
- "loslch",
- "kdex",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Generator/next": {
- "modified": "2019-03-23T22:29:43.014Z",
- "contributors": [
- "echo304"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Generator/return": {
- "modified": "2019-03-23T22:29:41.659Z",
- "contributors": [
- "echo304"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Generator/throw": {
- "modified": "2020-10-15T21:47:52.236Z",
- "contributors": [
- "alattalatta",
- "echo304"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/GeneratorFunction": {
- "modified": "2020-10-15T21:43:23.835Z",
- "contributors": [
- "alattalatta",
- "HyunMook",
- "AHNJAEHA"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Infinity": {
- "modified": "2020-10-15T21:44:39.467Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/InternalError": {
- "modified": "2019-03-18T21:46:44.351Z",
- "contributors": [
- "teoli",
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/InternalError/prototype": {
- "modified": "2019-03-23T22:28:33.047Z",
- "contributors": [
- "teoli",
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Intl": {
- "modified": "2020-10-15T21:56:50.642Z",
- "contributors": [
- "alattalatta",
- "hrg921"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat": {
- "modified": "2020-10-15T22:07:32.322Z",
- "contributors": [
- "fscholz",
- "alattalatta",
- "SSJ-unclear"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/prototype": {
- "modified": "2020-10-15T22:22:06.369Z",
- "contributors": [
- "fscholz",
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Intl/Locale": {
- "modified": "2020-10-15T22:25:03.900Z",
- "contributors": [
- "fscholz",
- "sffc"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Intl/Locale/language": {
- "modified": "2020-10-15T22:25:02.965Z",
- "contributors": [
- "fscholz",
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat": {
- "modified": "2020-10-15T22:08:58.601Z",
- "contributors": [
- "fscholz",
- "alattalatta",
- "SDSkyKlouD",
- "SSJ-unclear"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/prototype": {
- "modified": "2020-10-15T22:21:51.361Z",
- "contributors": [
- "fscholz",
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/JSON": {
- "modified": "2020-10-15T21:43:51.602Z",
- "contributors": [
- "alattalatta",
- "Parcovia",
- "goeo1066",
- "Netaras",
- "MexieAndCo"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/JSON/parse": {
- "modified": "2020-10-15T21:44:14.822Z",
- "contributors": [
- "alattalatta",
- "Parcovia",
- "subasuba"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/JSON/stringify": {
- "modified": "2020-11-10T21:46:18.524Z",
- "contributors": [
- "Ohora",
- "alattalatta",
- "churow",
- "boyzgun",
- "joshua1988",
- "maytree",
- "supermanWannaBe"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map": {
- "modified": "2020-10-15T21:50:09.238Z",
- "contributors": [
- "Chloe-HyunJoo",
- "alattalatta",
- "younghoh",
- "KaironMoon",
- "echo304",
- "dragmove"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/@@toStringTag": {
- "modified": "2020-10-15T22:04:19.848Z",
- "contributors": [
- "Seok.Heo"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/Map": {
- "modified": "2020-10-15T22:26:33.491Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/clear": {
- "modified": "2020-10-15T22:09:01.449Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/delete": {
- "modified": "2020-10-15T22:09:03.155Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/entries": {
- "modified": "2020-10-15T22:09:02.936Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/forEach": {
- "modified": "2020-10-15T22:20:31.940Z",
- "contributors": [
- "JaeWorld"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/get": {
- "modified": "2020-10-15T22:15:40.628Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/has": {
- "modified": "2020-10-15T22:15:44.379Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/prototype": {
- "modified": "2020-10-15T21:55:20.178Z",
- "contributors": [
- "alattalatta",
- "echo304"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/set": {
- "modified": "2020-10-15T22:15:44.384Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Map/size": {
- "modified": "2020-10-15T22:04:26.274Z",
- "contributors": [
- "Gren",
- "Seok.Heo"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math": {
- "modified": "2020-10-15T21:38:50.083Z",
- "contributors": [
- "alattalatta",
- "kimkyeseung",
- "ejay0811",
- "bombinari",
- "imskojs",
- "dale0713",
- "fscholz"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/E": {
- "modified": "2020-10-15T21:56:48.942Z",
- "contributors": [
- "alattalatta",
- "mantra78"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/LN10": {
- "modified": "2020-10-15T22:12:27.389Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/LN2": {
- "modified": "2020-10-15T22:12:33.707Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/LOG10E": {
- "modified": "2020-10-15T21:45:43.847Z",
- "contributors": [
- "alattalatta",
- "SeungYeol",
- "seung-yeol"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/LOG2E": {
- "modified": "2020-10-15T22:12:28.658Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/PI": {
- "modified": "2020-10-15T21:57:11.130Z",
- "contributors": [
- "alattalatta",
- "swtpumpkin"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2": {
- "modified": "2020-10-15T22:28:40.942Z",
- "contributors": [
- "129dot03"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/SQRT2": {
- "modified": "2020-10-15T21:57:11.465Z",
- "contributors": [
- "swtpumpkin"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/abs": {
- "modified": "2020-10-15T21:57:04.759Z",
- "contributors": [
- "alattalatta",
- "mantra78"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/acos": {
- "modified": "2020-10-15T21:52:08.736Z",
- "contributors": [
- "alattalatta",
- "keikeiem"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/cbrt": {
- "modified": "2020-10-15T21:52:08.362Z",
- "contributors": [
- "alattalatta",
- "keikeiem"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/ceil": {
- "modified": "2019-03-23T22:13:49.234Z",
- "contributors": [
- "ironmanciti"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/exp": {
- "modified": "2020-10-15T22:07:23.655Z",
- "contributors": [
- "qazxsw1240"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/floor": {
- "modified": "2020-10-15T21:38:48.166Z",
- "contributors": [
- "alattalatta",
- "EdwardBaek",
- "laranhee",
- "ChoeSul"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/fround": {
- "modified": "2019-03-23T22:31:04.734Z",
- "contributors": [
- "ingee.kim"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/imul": {
- "modified": "2019-03-31T21:25:02.115Z",
- "contributors": [
- "cameo-js",
- "ingee.kim"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/log": {
- "modified": "2020-10-15T21:55:33.977Z",
- "contributors": [
- "Luna4D"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/log2": {
- "modified": "2020-10-15T21:57:12.002Z",
- "contributors": [
- "swtpumpkin"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/max": {
- "modified": "2020-10-15T21:56:06.992Z",
- "contributors": [
- "lanipark",
- "swtpumpkin"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/min": {
- "modified": "2020-10-15T21:56:53.960Z",
- "contributors": [
- "mantra78"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/random": {
- "modified": "2020-10-15T21:44:16.613Z",
- "contributors": [
- "caianyuan",
- "EatChangmyeong",
- "kuroneko0441",
- "lazygyu",
- "gamzza",
- "maytree"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/round": {
- "modified": "2020-10-15T22:12:25.570Z",
- "contributors": [
- "officialmansu"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/sign": {
- "modified": "2020-10-15T21:59:54.584Z",
- "contributors": [
- "yssgo"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/sin": {
- "modified": "2020-10-15T22:14:16.419Z",
- "contributors": [
- "guyeol"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/sinh": {
- "modified": "2020-10-15T22:23:26.235Z",
- "contributors": [
- "Eumhongin"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/sqrt": {
- "modified": "2020-10-15T21:57:12.700Z",
- "contributors": [
- "swtpumpkin"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/tan": {
- "modified": "2020-10-15T22:14:16.148Z",
- "contributors": [
- "guyeol"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/tanh": {
- "modified": "2020-10-15T22:27:51.653Z",
- "contributors": [
- "FennecFoxSW"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Math/trunc": {
- "modified": "2020-10-15T21:56:16.061Z",
- "contributors": [
- "mantra78",
- "hefaitos"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/NaN": {
- "modified": "2020-10-15T21:15:15.113Z",
- "contributors": [
- "alattalatta",
- "Netaras",
- "nacyot",
- "teoli",
- "Gilchris"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number": {
- "modified": "2020-10-15T21:38:20.966Z",
- "contributors": [
- "soonsebii",
- "alattalatta",
- "DeadIntegral",
- "taeunChoi",
- "ChoeSul",
- "fscholz"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/EPSILON": {
- "modified": "2020-10-15T21:48:35.594Z",
- "contributors": [
- "EntryDark",
- "."
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER": {
- "modified": "2020-10-15T22:02:58.023Z",
- "contributors": [
- "alattalatta",
- "kirrie"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE": {
- "modified": "2020-10-15T21:53:40.733Z",
- "contributors": [
- "alattalatta",
- "kbsbroad"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER": {
- "modified": "2020-10-15T22:14:25.785Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE": {
- "modified": "2020-10-15T22:01:36.854Z",
- "contributors": [
- "alattalatta",
- "sshplendid"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY": {
- "modified": "2020-10-15T22:15:09.850Z",
- "contributors": [
- "alattalatta",
- "yami03"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/NaN": {
- "modified": "2020-10-15T21:44:42.844Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY": {
- "modified": "2020-10-15T22:15:10.597Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/isFinite": {
- "modified": "2020-10-15T21:44:34.313Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/isInteger": {
- "modified": "2020-10-15T21:50:46.841Z",
- "contributors": [
- "alattalatta",
- "Lutece"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/isNaN": {
- "modified": "2020-10-15T21:44:51.414Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger": {
- "modified": "2020-10-15T21:53:40.478Z",
- "contributors": [
- "alattalatta",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/parseFloat": {
- "modified": "2020-10-15T22:14:24.810Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/parseInt": {
- "modified": "2020-10-15T21:38:16.285Z",
- "contributors": [
- "alattalatta",
- "SphinxKnight",
- "chro0611"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/prototype": {
- "modified": "2020-10-15T22:10:14.861Z",
- "contributors": [
- "alattalatta",
- "DeadIntegral"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/toExponential": {
- "modified": "2020-10-15T22:16:46.694Z",
- "contributors": [
- "lifeisnovel"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/toFixed": {
- "modified": "2020-10-15T21:50:45.262Z",
- "contributors": [
- "alattalatta",
- "Lutece"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/toPrecision": {
- "modified": "2020-10-15T22:02:15.943Z",
- "contributors": [
- "take0415"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/toString": {
- "modified": "2020-10-15T21:48:38.962Z",
- "contributors": [
- "alattalatta",
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Number/valueOf": {
- "modified": "2020-10-15T22:10:14.373Z",
- "contributors": [
- "alattalatta",
- "DeadIntegral"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object": {
- "modified": "2020-10-15T21:19:43.435Z",
- "contributors": [
- "alattalatta",
- "Parcovia",
- "palindrom615",
- "callin2",
- "StrongStoone",
- "maytree",
- "keikeiem",
- "teoli",
- "Jeado.Ko"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__": {
- "modified": "2020-10-15T22:08:32.403Z",
- "contributors": [
- "LeeDDHH"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/assign": {
- "modified": "2020-10-15T21:49:34.841Z",
- "contributors": [
- "cs09g",
- "limkukhyun",
- "TK-one",
- "alattalatta",
- "LOG91",
- "kikas",
- "faker007",
- "dale0713"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/constructor": {
- "modified": "2020-10-15T21:47:07.109Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/create": {
- "modified": "2019-10-02T03:34:36.779Z",
- "contributors": [
- "ibizcox",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/defineProperties": {
- "modified": "2020-10-15T21:54:36.990Z",
- "contributors": [
- "EatChangmyeong",
- "KangHyeongMin",
- "DevJang",
- "BANIP"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/defineProperty": {
- "modified": "2020-10-15T21:37:24.444Z",
- "contributors": [
- "alattalatta",
- "kimkyeseung",
- "mixed",
- "bsidesoft"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/entries": {
- "modified": "2020-10-15T22:08:09.257Z",
- "contributors": [
- "honggaruy",
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/freeze": {
- "modified": "2020-10-15T21:37:04.618Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "gatherKnowledge",
- "roupkk",
- "hanmomhanda"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/fromEntries": {
- "modified": "2020-10-15T22:10:27.914Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor": {
- "modified": "2020-10-15T21:47:07.447Z",
- "contributors": [
- "fscholz",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf": {
- "modified": "2019-03-23T22:31:23.968Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty": {
- "modified": "2020-10-15T21:39:57.262Z",
- "contributors": [
- "Chloe-HyunJoo",
- "alattalatta",
- "epicsaga"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/is": {
- "modified": "2020-10-15T21:31:34.796Z",
- "contributors": [
- "alattalatta",
- "Netaras",
- "nacyot",
- "ligeek",
- "lv0gun9"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/isExtensible": {
- "modified": "2020-10-15T21:47:08.415Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/isFrozen": {
- "modified": "2020-10-15T21:47:09.610Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf": {
- "modified": "2020-10-15T21:37:04.091Z",
- "contributors": [
- "alattalatta",
- "BrandenYoon",
- "bsidesoft"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/isSealed": {
- "modified": "2020-10-15T21:47:09.579Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/preventExtensions": {
- "modified": "2020-10-15T21:47:09.416Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable": {
- "modified": "2020-10-15T21:52:42.061Z",
- "contributors": [
- "deltakor1234",
- "alattalatta",
- "dotorify"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/prototype": {
- "modified": "2020-10-15T21:34:43.084Z",
- "contributors": [
- "zero0yes",
- "noritersand",
- "alattalatta",
- "Parcovia",
- "Netaras",
- "DavidSunny",
- "teoli"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/seal": {
- "modified": "2020-10-15T21:37:04.586Z",
- "contributors": [
- "alattalatta",
- "hanmomhanda"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf": {
- "modified": "2020-11-04T03:29:23.911Z",
- "contributors": [
- "psk810",
- "DevJang",
- "kingsae1"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/toLocaleString": {
- "modified": "2020-10-15T22:08:09.241Z",
- "contributors": [
- "alattalatta",
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/toString": {
- "modified": "2020-10-15T21:46:52.765Z",
- "contributors": [
- "ESnark",
- "alattalatta",
- "limkukhyun",
- "kennen",
- "sandArtChip"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/valueOf": {
- "modified": "2020-10-15T21:49:29.419Z",
- "contributors": [
- "honggaruy",
- "alattalatta",
- "stitchworkingonthecode"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Object/values": {
- "modified": "2020-10-15T22:01:47.626Z",
- "contributors": [
- "OhSeungHyeon",
- "KIMSEONGSEOB"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Promise": {
- "modified": "2020-10-15T21:37:31.734Z",
- "contributors": [
- "Vimming",
- "alattalatta",
- "khg0712",
- "limkukhyun",
- "samee",
- "fscholz",
- "NessunKim",
- "ahnjungho",
- "Netaras",
- "redcamel",
- "EunwooCho",
- "akic4op4",
- "0xABCDEF"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Promise/Promise": {
- "modified": "2020-10-15T22:27:11.901Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Promise/all": {
- "modified": "2020-10-15T21:45:48.976Z",
- "contributors": [
- "EatChangmyeong",
- "alattalatta",
- "DeadIntegral",
- "limkukhyun",
- "fscholz",
- "hoony"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Promise/allSettled": {
- "modified": "2020-10-15T22:24:05.512Z",
- "contributors": [
- "composite"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Promise/finally": {
- "modified": "2020-10-15T22:04:25.149Z",
- "contributors": [
- "ditto572",
- "Seok.Heo"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Promise/prototype": {
- "modified": "2020-10-15T21:47:20.685Z",
- "contributors": [
- "alattalatta",
- "fscholz",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Promise/race": {
- "modified": "2020-10-15T21:47:12.859Z",
- "contributors": [
- "EatChangmyeong",
- "alattalatta",
- "seungha-kim",
- "fscholz",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Promise/reject": {
- "modified": "2020-10-15T21:47:12.472Z",
- "contributors": [
- "fscholz",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Promise/resolve": {
- "modified": "2020-10-15T21:47:20.702Z",
- "contributors": [
- "cs09g",
- "fscholz",
- "QooQooDass",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Promise/then": {
- "modified": "2020-10-15T21:47:12.138Z",
- "contributors": [
- "EatChangmyeong",
- "fscholz",
- "KisukPark",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Proxy": {
- "modified": "2020-10-15T21:50:18.794Z",
- "contributors": [
- "alattalatta",
- "callin2",
- "heejunghwang"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Proxy/handler": {
- "modified": "2020-10-15T21:55:35.789Z",
- "contributors": [
- "alattalatta",
- "SphinxKnight"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Proxy/handler/apply": {
- "modified": "2019-03-23T22:09:25.839Z",
- "contributors": [
- "bsidesoft"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/RangeError": {
- "modified": "2019-03-23T22:28:44.569Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/ReferenceError": {
- "modified": "2020-10-15T22:01:04.430Z",
- "contributors": [
- "goeo1066"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect": {
- "modified": "2020-10-15T21:53:08.377Z",
- "contributors": [
- "alattalatta",
- "undefcat"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/apply": {
- "modified": "2020-10-15T21:53:07.400Z",
- "contributors": [
- "alattalatta",
- "undefcat"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/construct": {
- "modified": "2020-10-15T22:19:07.053Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty": {
- "modified": "2020-10-15T22:19:08.726Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty": {
- "modified": "2020-10-15T22:19:07.741Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/get": {
- "modified": "2020-10-15T22:19:16.367Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/getOwnPropertyDescriptor": {
- "modified": "2020-10-15T22:19:17.438Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOf": {
- "modified": "2020-10-15T22:19:16.737Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/has": {
- "modified": "2020-10-15T22:19:16.455Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible": {
- "modified": "2020-10-15T22:19:18.378Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys": {
- "modified": "2020-10-15T22:19:19.765Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions": {
- "modified": "2020-10-15T22:19:30.244Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/set": {
- "modified": "2020-10-15T22:19:35.877Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf": {
- "modified": "2020-10-15T22:19:38.264Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/RegExp": {
- "modified": "2020-10-15T21:38:50.461Z",
- "contributors": [
- "alattalatta",
- "EatChangmyeong",
- "zerodice0",
- "momoci99",
- "hanabiai",
- "Latera",
- "tmxkwkfgka"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/RegExp/RegExp": {
- "modified": "2020-10-15T22:32:38.454Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/RegExp/exec": {
- "modified": "2020-10-15T21:47:37.584Z",
- "contributors": [
- "alattalatta",
- "yumi2011",
- "dale0713"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/RegExp/n": {
- "modified": "2020-10-15T22:18:51.448Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/RegExp/test": {
- "modified": "2020-10-15T22:32:39.804Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Set": {
- "modified": "2020-10-15T21:48:48.879Z",
- "contributors": [
- "alattalatta",
- "RingoKim",
- "loslch",
- "dale0713",
- "NessunKim",
- "Netaras",
- "vsemozhetbyt"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Set/add": {
- "modified": "2020-10-15T22:11:36.093Z",
- "contributors": [
- "alattalatta",
- "chan337337"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Set/clear": {
- "modified": "2020-10-15T22:15:10.272Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Set/delete": {
- "modified": "2020-10-15T22:15:14.997Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Set/forEach": {
- "modified": "2020-10-15T22:15:19.403Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Set/has": {
- "modified": "2020-10-15T22:15:10.010Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Set/prototype": {
- "modified": "2020-10-15T21:48:56.464Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Set/size": {
- "modified": "2020-10-15T22:15:09.484Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Set/values": {
- "modified": "2020-10-15T22:18:44.617Z",
- "contributors": [
- "VictorTaekLim"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer": {
- "modified": "2020-10-15T21:58:45.362Z",
- "contributors": [
- "cs09g",
- "ENvironmentSet"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/prototype": {
- "modified": "2020-10-15T22:15:02.439Z",
- "contributors": [
- "cs09g"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String": {
- "modified": "2020-10-15T21:22:11.475Z",
- "contributors": [
- "alattalatta",
- "seungha-kim",
- "pusanbear",
- "teoli",
- "MoGi"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/Trim": {
- "modified": "2020-10-15T21:58:30.718Z",
- "contributors": [
- "alattalatta",
- "dasebee"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/charAt": {
- "modified": "2020-10-15T21:45:37.005Z",
- "contributors": [
- "bohyun611kim",
- "alattalatta",
- "pusanbear"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/charCodeAt": {
- "modified": "2020-10-15T21:48:27.284Z",
- "contributors": [
- "alattalatta",
- "dale0713"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/concat": {
- "modified": "2020-10-15T21:45:37.865Z",
- "contributors": [
- "yami03",
- "seulgiyoon",
- "alattalatta",
- "pusanbear"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/endsWith": {
- "modified": "2020-04-21T05:33:31.555Z",
- "contributors": [
- "yami03",
- "pusanbear"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/fromCharCode": {
- "modified": "2020-10-15T22:13:58.437Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/includes": {
- "modified": "2020-10-15T21:45:37.765Z",
- "contributors": [
- "alattalatta",
- "pusanbear"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/indexOf": {
- "modified": "2020-10-15T21:45:49.888Z",
- "contributors": [
- "alattalatta",
- "pusanbear"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/lastIndexOf": {
- "modified": "2020-10-15T21:45:54.942Z",
- "contributors": [
- "alattalatta",
- "jihunsuh",
- "pusanbear"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/length": {
- "modified": "2020-10-15T21:45:30.378Z",
- "contributors": [
- "alattalatta",
- "pusanbear"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/localeCompare": {
- "modified": "2020-10-15T21:57:59.121Z",
- "contributors": [
- "bboding",
- "s2s2kim"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/match": {
- "modified": "2020-10-15T22:06:19.802Z",
- "contributors": [
- "Donghoon",
- "chaewonkong",
- "Yonnani"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/normalize": {
- "modified": "2020-10-15T22:16:57.680Z",
- "contributors": [
- "lifeisnovel"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/padEnd": {
- "modified": "2020-10-15T22:08:41.887Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/padStart": {
- "modified": "2020-10-15T22:08:41.615Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/prototype": {
- "modified": "2019-09-19T03:24:36.691Z",
- "contributors": [
- "dbs6339",
- "pusanbear",
- "teoli",
- "MoGi"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/repeat": {
- "modified": "2020-10-15T21:56:14.890Z",
- "contributors": [
- "alattalatta",
- "wicksome"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/replace": {
- "modified": "2020-10-15T21:48:26.744Z",
- "contributors": [
- "limkukhyun",
- "yonggoo.noh",
- "alattalatta",
- "ejay0811",
- "rlaxognsk",
- "dale0713"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/search": {
- "modified": "2020-10-15T22:10:00.509Z",
- "contributors": [
- "Parcovia"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/slice": {
- "modified": "2020-10-15T21:53:59.719Z",
- "contributors": [
- "bigsaigon333",
- "limkukhyun",
- "KaylaKwon",
- "enchantor",
- "REDO",
- "laranhee",
- "AlexMin"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/split": {
- "modified": "2020-10-15T22:14:46.442Z",
- "contributors": [
- "EatChangmyeong",
- "alattalatta",
- "yuntaek"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/startsWith": {
- "modified": "2020-10-15T21:47:53.784Z",
- "contributors": [
- "alattalatta",
- "skylar.kim"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/substr": {
- "modified": "2020-10-15T21:47:08.634Z",
- "contributors": [
- "alattalatta",
- "pusanbear"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/substring": {
- "modified": "2020-10-15T22:18:53.078Z",
- "contributors": [
- "Saem",
- "bohyun611kim"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/toLowerCase": {
- "modified": "2020-10-15T21:57:11.550Z",
- "contributors": [
- "alattalatta",
- "swtpumpkin"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/toSource": {
- "modified": "2020-10-15T22:02:06.022Z",
- "contributors": [
- "teoli",
- "ejay0811"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/toString": {
- "modified": "2020-10-15T22:27:29.788Z",
- "contributors": [
- "rjsdnql123"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/toUpperCase": {
- "modified": "2020-10-15T21:55:16.088Z",
- "contributors": [
- "alattalatta",
- "swtpumpkin",
- "seokju-na"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/String/valueOf": {
- "modified": "2020-10-15T22:25:44.637Z",
- "contributors": [
- "hyoni0817"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Symbol": {
- "modified": "2020-10-15T21:40:09.882Z",
- "contributors": [
- "dolmoon",
- "SphinxKnight",
- "HyunSeob",
- "maytree"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Symbol/for": {
- "modified": "2019-03-23T22:16:10.868Z",
- "contributors": [
- "Hou"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/Symbol/iterator": {
- "modified": "2020-10-15T22:00:39.078Z",
- "contributors": [
- "limkukhyun",
- "BANIP"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/SyntaxError": {
- "modified": "2020-10-15T21:48:16.048Z",
- "contributors": [
- "alattalatta",
- "2oosoo",
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype": {
- "modified": "2019-03-23T22:28:47.337Z",
- "contributors": [
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypeError": {
- "modified": "2020-10-15T21:38:37.821Z",
- "contributors": [
- "alattalatta",
- "kirrie",
- "JiminP"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray": {
- "modified": "2019-06-18T04:56:00.166Z",
- "contributors": [
- "kooljay82",
- "Netaras",
- "Khai96_"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/@@iterator": {
- "modified": "2019-03-23T22:30:48.269Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT": {
- "modified": "2020-10-15T21:47:35.788Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/buffer": {
- "modified": "2019-03-23T22:30:15.273Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/byteLength": {
- "modified": "2020-10-15T21:47:38.660Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/byteOffset": {
- "modified": "2020-10-15T21:47:35.902Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/fill": {
- "modified": "2020-10-15T21:39:40.326Z",
- "contributors": [
- "alattalatta",
- "Hmmim"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf": {
- "modified": "2020-10-15T22:21:44.673Z",
- "contributors": [
- "naraeim",
- "SphinxKnight"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/length": {
- "modified": "2020-10-15T21:47:35.796Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/name": {
- "modified": "2020-10-15T21:47:34.390Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/of": {
- "modified": "2020-10-15T22:03:56.631Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/prototype": {
- "modified": "2019-03-23T22:30:03.771Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/reverse": {
- "modified": "2020-10-15T21:47:33.171Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/set": {
- "modified": "2020-10-15T21:47:35.773Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/slice": {
- "modified": "2019-03-23T22:30:24.203Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/some": {
- "modified": "2020-10-15T21:47:37.645Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/sort": {
- "modified": "2019-03-23T22:30:47.108Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/TypedArray/values": {
- "modified": "2019-03-23T22:30:45.463Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WeakMap": {
- "modified": "2019-03-23T22:27:55.353Z",
- "contributors": [
- "Netaras",
- "billybraga"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WeakMap/delete": {
- "modified": "2020-10-15T22:04:27.439Z",
- "contributors": [
- "alattalatta",
- "limkukhyun",
- "Seok.Heo"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WeakMap/prototype": {
- "modified": "2019-03-23T22:27:54.259Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WeakSet": {
- "modified": "2020-10-15T21:48:47.357Z",
- "contributors": [
- "alattalatta",
- "Netaras",
- "fscholz"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WeakSet/prototype": {
- "modified": "2019-03-23T22:28:07.290Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly": {
- "modified": "2020-10-15T21:53:02.555Z",
- "contributors": [
- "limkukhyun",
- "0xABCDEF"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/CompileError": {
- "modified": "2020-10-15T22:07:58.077Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/Global": {
- "modified": "2020-10-15T22:08:05.155Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/Global/prototype": {
- "modified": "2020-10-15T22:08:10.181Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance": {
- "modified": "2020-10-15T22:07:55.815Z",
- "contributors": [
- "limkukhyun",
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/LinkError": {
- "modified": "2020-10-15T22:08:04.793Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory": {
- "modified": "2020-10-15T22:08:00.915Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/Module": {
- "modified": "2020-10-15T22:07:56.280Z",
- "contributors": [
- "limkukhyun",
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/RuntimeError": {
- "modified": "2020-10-15T22:08:08.186Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/Table": {
- "modified": "2020-10-15T22:07:58.705Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/compile": {
- "modified": "2020-10-15T22:07:56.654Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/compileStreaming": {
- "modified": "2020-10-15T22:07:56.654Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiate": {
- "modified": "2020-10-15T22:07:57.168Z",
- "contributors": [
- "fnwinter",
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiateStreaming": {
- "modified": "2020-10-15T22:08:08.189Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/WebAssembly/validate": {
- "modified": "2020-10-15T22:08:00.982Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/decodeURI": {
- "modified": "2020-10-15T22:01:55.624Z",
- "contributors": [
- "jeoyoho"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/decodeURIComponent": {
- "modified": "2020-10-15T21:48:49.294Z",
- "contributors": [
- "alattalatta",
- "jeoyoho",
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/encodeURI": {
- "modified": "2020-10-15T22:02:01.889Z",
- "contributors": [
- "alattalatta",
- "jeoyoho"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/encodeURIComponent": {
- "modified": "2020-10-15T21:29:14.784Z",
- "contributors": [
- "alattalatta",
- "SphinxKnight",
- "under_09"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/eval": {
- "modified": "2020-11-14T12:46:31.739Z",
- "contributors": [
- "cog25",
- "EatChangmyeong",
- "alattalatta",
- "LOG91",
- "goeo1066",
- "desty",
- "nicesh"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/globalThis": {
- "modified": "2020-10-15T22:14:31.677Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/isFinite": {
- "modified": "2020-10-15T21:44:39.927Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/isNaN": {
- "modified": "2020-10-15T21:46:27.577Z",
- "contributors": [
- "alattalatta",
- "Parcovia",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/null": {
- "modified": "2020-10-15T21:40:32.117Z",
- "contributors": [
- "alattalatta",
- "nicesh"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/parseFloat": {
- "modified": "2020-10-15T21:58:14.258Z",
- "contributors": [
- "alattalatta",
- "inkyungkim"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/parseInt": {
- "modified": "2020-10-15T21:48:49.061Z",
- "contributors": [
- "bigsaigon333",
- "alattalatta",
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/undefined": {
- "modified": "2020-10-15T21:40:31.421Z",
- "contributors": [
- "alattalatta",
- "nicesh"
- ]
- },
- "Web/JavaScript/Reference/Global_Objects/uneval": {
- "modified": "2020-10-15T21:52:46.647Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "Perlmint"
- ]
- },
- "Web/JavaScript/Reference/Iteration_protocols": {
- "modified": "2020-03-12T19:44:08.276Z",
- "contributors": [
- "Snark",
- "dragmove",
- "echo304"
- ]
- },
- "Web/JavaScript/Reference/Lexical_grammar": {
- "modified": "2020-10-15T21:47:17.603Z",
- "contributors": [
- "honggaruy",
- "alattalatta",
- "softweaver",
- "Roomination",
- "paranbaram"
- ]
- },
- "Web/JavaScript/Reference/Operators": {
- "modified": "2020-10-15T21:15:29.282Z",
- "contributors": [
- "limkukhyun",
- "Violet-Bora-Lee",
- "alattalatta",
- "haeguri",
- "Netaras",
- "teoli",
- "Anonymous"
- ]
- },
- "Web/JavaScript/Reference/Operators/Addition": {
- "modified": "2020-10-15T22:34:18.983Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Operators/Arithmetic_Operators": {
- "modified": "2020-10-15T21:50:08.581Z",
- "contributors": [
- "alattalatta",
- "chimimode",
- "fscholz",
- "wbamberg",
- "KSH-code",
- "siwoolee",
- "ChanghwaLee",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Operators/Assignment_Operators": {
- "modified": "2020-10-15T21:50:31.036Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "NessunKim",
- "daehyoung"
- ]
- },
- "Web/JavaScript/Reference/Operators/Bitwise_Operators": {
- "modified": "2020-10-15T21:25:50.021Z",
- "contributors": [
- "alattalatta",
- "jghg2724",
- "epicsaga",
- "daewon",
- "teoli",
- "Cho.Eun"
- ]
- },
- "Web/JavaScript/Reference/Operators/Comma_Operator": {
- "modified": "2020-10-15T21:48:31.441Z",
- "contributors": [
- "alattalatta",
- "hoony"
- ]
- },
- "Web/JavaScript/Reference/Operators/Comparison_Operators": {
- "modified": "2020-10-15T21:46:03.880Z",
- "contributors": [
- "alattalatta",
- "Parcovia",
- "ohsory1324",
- "LEGOLLAS"
- ]
- },
- "Web/JavaScript/Reference/Operators/Conditional_Operator": {
- "modified": "2020-10-15T21:39:25.018Z",
- "contributors": [
- "pyjun01",
- "alattalatta",
- "limkukhyun",
- "taisuk",
- "reoim",
- "epicsaga"
- ]
- },
- "Web/JavaScript/Reference/Operators/Destructuring_assignment": {
- "modified": "2020-10-15T21:45:50.516Z",
- "contributors": [
- "alattalatta",
- "corund",
- "dolmoon",
- "NessunKim",
- "kdex",
- "faker007",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Operators/Equality": {
- "modified": "2020-10-15T22:35:05.143Z",
- "contributors": [
- "junnapark"
- ]
- },
- "Web/JavaScript/Reference/Operators/Grouping": {
- "modified": "2020-10-15T21:45:49.973Z",
- "contributors": [
- "alattalatta",
- "SeungYeol",
- "seung-yeol"
- ]
- },
- "Web/JavaScript/Reference/Operators/Nullish_coalescing_operator": {
- "modified": "2020-10-15T22:25:44.809Z",
- "contributors": [
- "ssohymind",
- "Jung.Kyu-Hyun"
- ]
- },
- "Web/JavaScript/Reference/Operators/Object_initializer": {
- "modified": "2020-10-15T21:47:08.402Z",
- "contributors": [
- "honggaruy",
- "callin2",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Operators/Optional_chaining": {
- "modified": "2020-10-15T22:25:42.843Z",
- "contributors": [
- "Jung.Kyu-Hyun"
- ]
- },
- "Web/JavaScript/Reference/Operators/Pipeline_operator": {
- "modified": "2020-10-15T22:15:31.566Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/JavaScript/Reference/Operators/Property_Accessors": {
- "modified": "2020-10-15T21:46:18.602Z",
- "contributors": [
- "alattalatta",
- "Violet-Bora-Lee",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Operators/Remainder": {
- "modified": "2020-10-15T22:35:04.854Z",
- "contributors": [
- "junnapark"
- ]
- },
- "Web/JavaScript/Reference/Operators/Spread_syntax": {
- "modified": "2020-10-15T22:03:25.315Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "cnaa97",
- "ageofsys"
- ]
- },
- "Web/JavaScript/Reference/Operators/async_function": {
- "modified": "2020-10-15T21:53:15.087Z",
- "contributors": [
- "ibizcox",
- "alattalatta",
- "undefcat"
- ]
- },
- "Web/JavaScript/Reference/Operators/await": {
- "modified": "2020-10-15T21:53:13.195Z",
- "contributors": [
- "rmfpdlxmtidl",
- "limkukhyun",
- "NessunKim",
- "HomoEfficio",
- "undefcat"
- ]
- },
- "Web/JavaScript/Reference/Operators/class": {
- "modified": "2020-10-15T21:46:02.874Z",
- "contributors": [
- "dsma73",
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Operators/delete": {
- "modified": "2020-10-15T21:56:50.911Z",
- "contributors": [
- "alattalatta",
- "itsjiwonpark",
- "Hou"
- ]
- },
- "Web/JavaScript/Reference/Operators/function": {
- "modified": "2020-10-15T21:45:42.250Z",
- "contributors": [
- "dolmoon",
- "limkukhyun",
- "laranhee",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Operators/function*": {
- "modified": "2020-10-15T21:38:18.382Z",
- "contributors": [
- "limkukhyun",
- "KSH-code",
- "JaehaAhn"
- ]
- },
- "Web/JavaScript/Reference/Operators/in": {
- "modified": "2020-03-12T19:42:49.608Z",
- "contributors": [
- "."
- ]
- },
- "Web/JavaScript/Reference/Operators/instanceof": {
- "modified": "2020-10-15T21:48:46.760Z",
- "contributors": [
- "alattalatta",
- "tg0825",
- "dooyou21",
- "moolow",
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Operators/new": {
- "modified": "2020-10-15T21:50:30.370Z",
- "contributors": [
- "alattalatta",
- "luke.bae",
- "KSH-code",
- "daehyoung"
- ]
- },
- "Web/JavaScript/Reference/Operators/new.target": {
- "modified": "2020-10-15T21:48:09.333Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Operators/super": {
- "modified": "2020-10-15T21:43:46.088Z",
- "contributors": [
- "alattalatta",
- "jeonnoej"
- ]
- },
- "Web/JavaScript/Reference/Operators/this": {
- "modified": "2020-10-15T21:16:21.207Z",
- "contributors": [
- "StolenMoments",
- "cs09g",
- "alattalatta",
- "utatti",
- "huusz",
- "teoli",
- "eros21c",
- "Channy"
- ]
- },
- "Web/JavaScript/Reference/Operators/typeof": {
- "modified": "2020-10-15T21:47:39.354Z",
- "contributors": [
- "Seonghui",
- "alattalatta",
- "dale0713"
- ]
- },
- "Web/JavaScript/Reference/Operators/void": {
- "modified": "2020-10-15T21:24:25.804Z",
- "contributors": [
- "alattalatta",
- "teoli",
- "siriz"
- ]
- },
- "Web/JavaScript/Reference/Operators/yield": {
- "modified": "2020-03-12T19:43:03.959Z",
- "contributors": [
- "coolengineer",
- "ByeongGi",
- "2oosoo",
- "Yunhong-Min",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Operators/yield*": {
- "modified": "2020-10-15T21:41:31.854Z",
- "contributors": [
- "alattalatta",
- "hanmomhanda",
- "preco21"
- ]
- },
- "Web/JavaScript/Reference/Operators/논리_연산자(Logical_Operators)": {
- "modified": "2020-10-15T21:47:31.347Z",
- "contributors": [
- "alattalatta",
- "atomDevelop",
- "r2fresh",
- "Parcovia",
- "gnujoow",
- "helloheesu",
- "imskojs"
- ]
- },
- "Web/JavaScript/Reference/Operators/연산자_우선순위": {
- "modified": "2020-04-10T08:53:04.223Z",
- "contributors": [
- "EatChangmyeong",
- "alattalatta",
- "."
- ]
- },
- "Web/JavaScript/Reference/Statements": {
- "modified": "2020-10-15T21:26:12.348Z",
- "contributors": [
- "alattalatta",
- "naduhy2",
- "Netaras",
- "teoli",
- "Sheppy"
- ]
- },
- "Web/JavaScript/Reference/Statements/Empty": {
- "modified": "2020-10-15T22:04:17.983Z",
- "contributors": [
- "alattalatta",
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Statements/async_function": {
- "modified": "2020-10-15T21:51:55.526Z",
- "contributors": [
- "MoonHyuk",
- "jhoijune",
- "DeadIntegral",
- "limkukhyun",
- "Konan"
- ]
- },
- "Web/JavaScript/Reference/Statements/block": {
- "modified": "2020-10-15T21:50:27.290Z",
- "contributors": [
- "alattalatta",
- "daehyoung"
- ]
- },
- "Web/JavaScript/Reference/Statements/break": {
- "modified": "2020-10-15T21:44:31.572Z",
- "contributors": [
- "alattalatta",
- "jeehyukwon",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Statements/class": {
- "modified": "2020-10-15T21:46:03.105Z",
- "contributors": [
- "alattalatta",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Statements/const": {
- "modified": "2020-10-15T21:38:50.829Z",
- "contributors": [
- "alattalatta",
- "warnee",
- "maxtortime",
- "kdex",
- "Netaras",
- "kuil09"
- ]
- },
- "Web/JavaScript/Reference/Statements/continue": {
- "modified": "2020-10-15T22:04:27.151Z",
- "contributors": [
- "alattalatta",
- "SSJ-unclear",
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Statements/debugger": {
- "modified": "2020-10-15T22:04:18.665Z",
- "contributors": [
- "alattalatta",
- "limkukhyun"
- ]
- },
- "Web/JavaScript/Reference/Statements/default": {
- "modified": "2020-10-15T22:07:33.273Z",
- "contributors": [
- "alattalatta",
- "SSJ-unclear"
- ]
- },
- "Web/JavaScript/Reference/Statements/do...while": {
- "modified": "2020-10-15T22:30:37.801Z",
- "contributors": [
- "jyman7811"
- ]
- },
- "Web/JavaScript/Reference/Statements/export": {
- "modified": "2020-10-15T21:41:49.561Z",
- "contributors": [
- "copyx",
- "alattalatta",
- "yonggoo.noh",
- "LeeJunyeol",
- "umbria",
- "haydnhkim"
- ]
- },
- "Web/JavaScript/Reference/Statements/for": {
- "modified": "2020-10-15T21:46:03.615Z",
- "contributors": [
- "alattalatta",
- "SeungYeol"
- ]
- },
- "Web/JavaScript/Reference/Statements/for-await...of": {
- "modified": "2020-10-15T22:27:58.512Z",
- "contributors": [
- "composite"
- ]
- },
- "Web/JavaScript/Reference/Statements/for...in": {
- "modified": "2020-10-15T21:26:08.013Z",
- "contributors": [
- "Sunmin0520",
- "limkukhyun",
- "teoli",
- "Androidbee"
- ]
- },
- "Web/JavaScript/Reference/Statements/for...of": {
- "modified": "2020-10-15T21:36:35.059Z",
- "contributors": [
- "jacob17",
- "alattalatta",
- "Netaras",
- "ligeek"
- ]
- },
- "Web/JavaScript/Reference/Statements/function": {
- "modified": "2020-10-15T21:45:43.150Z",
- "contributors": [
- "alattalatta",
- "dolmoon",
- "Netaras"
- ]
- },
- "Web/JavaScript/Reference/Statements/function*": {
- "modified": "2020-10-15T21:38:18.568Z",
- "contributors": [
- "alattalatta",
- "SphinxKnight",
- "silmari",
- "kdex",
- "resoliwan",
- "KisukPark",
- "AHNJAEHA",
- "preco21",
- "JaehaAhn"
- ]
- },
- "Web/JavaScript/Reference/Statements/if...else": {
- "modified": "2020-10-15T21:46:05.432Z",
- "contributors": [
- "yami03",
- "alattalatta",
- "Parcovia",
- "Jungmin"
- ]
- },
- "Web/JavaScript/Reference/Statements/import": {
- "modified": "2020-10-15T21:39:54.342Z",
- "contributors": [
- "alattalatta",
- "hwshim",
- "haydnhkim"
- ]
- },
- "Web/JavaScript/Reference/Statements/label": {
- "modified": "2020-03-12T19:45:32.505Z",
- "contributors": [
- "wafersroom"
- ]
- },
- "Web/JavaScript/Reference/Statements/let": {
- "modified": "2020-10-15T21:40:35.318Z",
- "contributors": [
- "cjacking3",
- "SeonHyungJo",
- "Isitea",
- "RingoKim"
- ]
- },
- "Web/JavaScript/Reference/Statements/return": {
- "modified": "2020-10-15T21:50:13.127Z",
- "contributors": [
- "alattalatta",
- "2oosoo",
- "Diana_"
- ]
- },
- "Web/JavaScript/Reference/Statements/switch": {
- "modified": "2020-10-15T21:49:53.296Z",
- "contributors": [
- "chimimode",
- "ByeongGi",
- "nidev"
- ]
- },
- "Web/JavaScript/Reference/Statements/throw": {
- "modified": "2020-10-15T22:04:25.321Z",
- "contributors": [
- "SSJ-unclear",
- "hongnakyung"
- ]
- },
- "Web/JavaScript/Reference/Statements/try...catch": {
- "modified": "2020-10-15T21:40:10.256Z",
- "contributors": [
- "limkukhyun",
- "deltakor1234",
- "SSJ-unclear",
- "pianorange",
- "epicsaga"
- ]
- },
- "Web/JavaScript/Reference/Statements/var": {
- "modified": "2020-10-15T21:42:33.307Z",
- "contributors": [
- "alattalatta",
- "naduhy2",
- "jaeminkim87",
- "teoli"
- ]
- },
- "Web/JavaScript/Reference/Statements/while": {
- "modified": "2020-03-12T19:45:49.250Z",
- "contributors": [
- "galcyurio",
- "ChanghwaLee"
- ]
- },
- "Web/JavaScript/Reference/Statements/with": {
- "modified": "2020-10-15T22:07:40.562Z",
- "contributors": [
- "SSJ-unclear"
- ]
- },
- "Web/JavaScript/Reference/Strict_mode": {
- "modified": "2020-06-29T00:30:58.676Z",
- "contributors": [
- "ranhyegg",
- "genzuby",
- "Kim1Jun",
- "cs09g",
- "alattalatta",
- "geunhyung",
- "limkukhyun",
- "dsma73",
- "cecilia.cho",
- "Minsoo_Kim",
- "laranhee",
- "KSH-code",
- "imskojs",
- "magnoliaa"
- ]
- },
- "Web/JavaScript/Reference/Strict_mode/Transitioning_to_strict_mode": {
- "modified": "2020-03-12T19:48:28.686Z",
- "contributors": [
- "SeonHyungJo"
- ]
- },
- "Web/JavaScript/Reference/Template_literals": {
- "modified": "2020-10-15T21:47:14.004Z",
- "contributors": [
- "hjleesm",
- "rev1c0sm0s",
- "limkukhyun",
- "springday1023",
- "kbsbroad",
- "rlaxognsk",
- "dragmove"
- ]
- },
- "Web/JavaScript/Reference/Trailing_commas": {
- "modified": "2020-11-24T03:08:45.215Z",
- "contributors": [
- "bckim9489",
- "EatChangmyeong",
- "samee"
- ]
- },
- "Web/JavaScript/Typed_arrays": {
- "modified": "2020-03-12T19:44:00.798Z",
- "contributors": [
- "Netaras"
- ]
- },
- "Web/JavaScript/쉘": {
- "modified": "2020-03-12T19:44:13.687Z",
- "contributors": [
- "limkukhyun",
- "hoony"
- ]
- },
- "Web/JavaScript/시작하기": {
- "modified": "2019-03-23T23:14:43.699Z",
- "contributors": [
- "eunsuklee",
- "teoli"
- ]
- },
- "Web/JavaScript/언어_리소스": {
- "modified": "2020-03-12T19:39:22.531Z",
- "contributors": [
- "ahnzaz",
- "KSH-code",
- "Netaras",
- "teoli",
- "NFM"
- ]
- },
- "Web/Manifest": {
- "modified": "2020-10-15T22:32:27.672Z",
- "contributors": [
- "alattalatta"
- ]
- },
- "Web/MathML": {
- "modified": "2020-10-15T21:24:14.563Z",
- "contributors": [
- "alattalatta",
- "fred.wang",
- "hyeonseok",
- "narae_lee"
- ]
- },
- "Web/Media": {
- "modified": "2019-07-04T01:00:37.497Z",
- "contributors": [
- "developer19899"
- ]
- },
- "Web/Media/Autoplay_guide": {
- "modified": "2019-09-17T06:49:59.371Z",
- "contributors": [
- "ahnzaz"
- ]
- },
- "Web/Media/Formats": {
- "modified": "2019-09-17T02:15:54.155Z",
- "contributors": [
- "Havi Hoffman"
- ]
- },
- "Web/Media/Formats/비디오코덱": {
- "modified": "2019-10-21T23:30:00.090Z",
- "contributors": [
- "ahnzaz"
- ]
- },
- "Web/Media/Formats/컨테이너": {
- "modified": "2019-09-19T00:05:45.367Z",
- "contributors": [
- "ahnzaz"
- ]
- },
- "Web/Media/Formats/코덱파라미터": {
- "modified": "2020-06-10T22:11:12.156Z",
- "contributors": [
- "ahnzaz"
- ]
- },
- "Web/Performance": {
- "modified": "2020-01-12T15:28:31.330Z",
- "contributors": [
- "chrisdavidmills"
- ]
- },
- "Web/Performance/브라우저는_어떻게_동작하는가": {
- "modified": "2020-01-12T15:32:32.519Z",
- "contributors": [
- "doong-jo"
- ]
- },
- "Web/Performance/중요_렌더링_경로": {
- "modified": "2020-09-28T15:59:43.713Z",
- "contributors": [
- "Joontae-Kim"
- ]
- },
- "Web/Progressive_web_apps": {
- "modified": "2019-03-23T22:00:19.382Z",
- "contributors": [
- "chrisdavidmills",
- "cs09g"
- ]
- },
- "Web/Progressive_web_apps/Add_to_home_screen": {
- "modified": "2020-01-26T15:58:32.379Z",
- "contributors": [
- "alattalatta",
- "chrisdavidmills",
- "cs09g"
- ]
- },
- "Web/Progressive_web_apps/App_structure": {
- "modified": "2020-05-31T18:37:47.885Z",
- "contributors": [
- "chrisdavidmills",
- "cs09g"
- ]
- },
- "Web/Progressive_web_apps/Installable_PWAs": {
- "modified": "2020-05-31T18:37:46.514Z",
- "contributors": [
- "chrisdavidmills",
- "cs09g"
- ]
- },
- "Web/Progressive_web_apps/Offline_Service_workers": {
- "modified": "2020-05-31T18:37:49.321Z",
- "contributors": [
- "chrisdavidmills",
- "cs09g"
- ]
- },
- "Web/Progressive_web_apps/Re-engageable_Notifications_Push": {
- "modified": "2019-03-18T20:52:11.625Z",
- "contributors": [
- "chrisdavidmills",
- "cs09g"
- ]
- },
- "Web/Progressive_web_apps/소개": {
- "modified": "2019-03-18T20:52:13.104Z",
- "contributors": [
- "chrisdavidmills",
- "cs09g"
- ]
- },
- "Web/SVG": {
- "modified": "2019-11-05T05:19:15.768Z",
- "contributors": [
- "dbwodlf3",
- "u4bi",
- "kybin",
- "nacyot",
- "hoony",
- "dewey94esb",
- "Delapouite"
- ]
- },
- "Web/SVG/Applying_SVG_effects_to_HTML_content": {
- "modified": "2019-03-23T22:44:07.191Z",
- "contributors": [
- "Narrativi",
- "hoony"
- ]
- },
- "Web/SVG/Attribute": {
- "modified": "2019-03-23T22:32:34.072Z",
- "contributors": [
- "Ninjapolian"
- ]
- },
- "Web/SVG/Attribute/calcMode": {
- "modified": "2019-03-23T22:11:02.860Z",
- "contributors": [
- "tadkim"
- ]
- },
- "Web/SVG/Attribute/cx": {
- "modified": "2019-03-23T22:32:29.630Z",
- "contributors": [
- "se0kjun"
- ]
- },
- "Web/SVG/Attribute/d": {
- "modified": "2019-03-18T21:21:40.969Z",
- "contributors": [
- "officialmansu"
- ]
- },
- "Web/SVG/Attribute/keyTimes": {
- "modified": "2019-03-23T22:11:05.080Z",
- "contributors": [
- "tadkim"
- ]
- },
- "Web/SVG/Attribute/values": {
- "modified": "2019-03-23T22:11:11.110Z",
- "contributors": [
- "tadkim"
- ]
- },
- "Web/SVG/Attribute/version": {
- "modified": "2019-03-18T21:41:36.785Z",
- "contributors": [
- "MyeonghwanCho"
- ]
- },
- "Web/SVG/Attribute/viewBox": {
- "modified": "2019-03-23T22:28:50.142Z",
- "contributors": [
- "dragmove"
- ]
- },
- "Web/SVG/Element": {
- "modified": "2019-03-23T23:17:31.660Z",
- "contributors": [
- "dewey94esb",
- "kscarfone"
- ]
- },
- "Web/SVG/Element/a": {
- "modified": "2020-10-15T21:40:12.249Z",
- "contributors": [
- "alattalatta",
- "Sebastianz",
- "dewey94esb"
- ]
- },
- "Web/SVG/Element/altGlyph": {
- "modified": "2020-10-15T21:40:13.413Z",
- "contributors": [
- "alattalatta",
- "Sebastianz",
- "dewey94esb"
- ]
- },
- "Web/SVG/Element/circle": {
- "modified": "2020-10-15T21:40:18.375Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "Sebastianz",
- "dewey94esb"
- ]
- },
- "Web/SVG/Element/ellipse": {
- "modified": "2020-10-15T21:46:51.498Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "Sebastianz",
- "se0kjun"
- ]
- },
- "Web/SVG/Element/사각형": {
- "modified": "2020-10-15T21:27:38.577Z",
- "contributors": [
- "alattalatta",
- "wbamberg",
- "Sebastianz",
- "JeongSeongDae"
- ]
- },
- "Web/SVG/Tutorial": {
- "modified": "2019-09-02T22:37:58.598Z",
- "contributors": [
- "jwoo0122",
- "EatChangmyeong",
- "nacyot",
- "epicsaga",
- "teoli",
- "이선영"
- ]
- },
- "Web/SVG/Tutorial/Introduction": {
- "modified": "2019-03-23T22:40:12.666Z",
- "contributors": [
- "EatChangmyeong",
- "nacyot"
- ]
- },
- "Web/SVG/Tutorial/Paths": {
- "modified": "2019-03-23T22:21:33.428Z",
- "contributors": [
- "EatChangmyeong",
- "grizlupo",
- "newmsz",
- "cnaa97"
- ]
- },
- "Web/SVG/Tutorial/Patterns": {
- "modified": "2019-03-18T21:46:02.102Z",
- "contributors": [
- "grizlupo"
- ]
- },
- "Web/SVG/Tutorial/SVG_Image_Tag": {
- "modified": "2019-03-18T21:46:01.401Z",
- "contributors": [
- "grizlupo"
- ]
- },
- "Web/SVG/Tutorial/SVG_In_HTML_Introduction": {
- "modified": "2019-03-23T23:41:45.629Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Cliffet"
- ]
- },
- "Web/SVG/Tutorial/기본_도형": {
- "modified": "2019-03-23T22:13:37.061Z",
- "contributors": [
- "irisHanb",
- "officialmansu",
- "JongChanLee"
- ]
- },
- "Web/SVG/Tutorial/시작하기": {
- "modified": "2019-03-23T22:20:15.918Z",
- "contributors": [
- "Niklane"
- ]
- },
- "Web/SVG/Tutorial/위치": {
- "modified": "2019-03-23T22:19:56.793Z",
- "contributors": [
- "Niklane"
- ]
- },
- "Web/Security": {
- "modified": "2020-02-18T07:36:24.047Z",
- "contributors": [
- "DeadIntegral",
- "wbamberg",
- "SphinxKnight",
- "2pylab",
- "Sheppy"
- ]
- },
- "Web/Security/Insecure_passwords": {
- "modified": "2019-07-20T05:09:42.530Z",
- "contributors": [
- "shefollowme"
- ]
- },
- "Web/Security/Same-origin_policy": {
- "modified": "2020-08-22T13:54:54.667Z",
- "contributors": [
- "alattalatta",
- "jongidal",
- "TroyTae",
- "midistour",
- "seungha-kim",
- "ryuan.choi",
- "manascue",
- "Vermond",
- "behumble"
- ]
- },
- "Web/Security/Transport_Layer_Security": {
- "modified": "2020-09-21T00:10:58.229Z",
- "contributors": [
- "junnapark",
- "haeguri"
- ]
- },
- "Web/Security/정보_보안_기본": {
- "modified": "2019-03-23T22:05:46.762Z",
- "contributors": [
- "daebum-lee"
- ]
- },
- "Web/Tutorials": {
- "modified": "2019-03-23T23:28:14.827Z",
- "contributors": [
- "featherlikeg",
- "nacyot",
- "pjc0247",
- "tamnajio",
- "KyunH"
- ]
- },
- "Web/Web_Components": {
- "modified": "2019-03-18T21:01:19.898Z",
- "contributors": [
- "adrenalinee",
- "cs09g",
- "ByeongGi",
- "namkwon",
- "maybe"
- ]
- },
- "Web/Web_Components/Using_custom_elements": {
- "modified": "2020-10-15T22:25:18.797Z",
- "contributors": [
- "cutelee",
- "chdaud1995",
- "alattalatta",
- "atomDevelop",
- "nerdrun",
- "ByeongGi"
- ]
- },
- "Web/Web_Components/Using_shadow_DOM": {
- "modified": "2020-07-07T00:49:27.609Z",
- "contributors": [
- "ne2030",
- "ByeongGi"
- ]
- },
- "Web/XML": {
- "modified": "2019-08-24T00:48:34.627Z",
- "contributors": [
- "oinochoe",
- "ExE-Boss"
- ]
- },
- "Web/XML/XML_Introduction": {
- "modified": "2019-05-01T21:53:36.067Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Sebuls"
- ]
- },
- "Web/XPath": {
- "modified": "2019-01-16T14:32:58.218Z",
- "contributors": [
- "ExE-Boss",
- "fscholz",
- "Gilchris",
- "Netaras"
- ]
- },
- "Web/XPath/Axes": {
- "modified": "2019-03-23T23:41:54.185Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/ancestor": {
- "modified": "2019-03-23T23:41:51.868Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/ancestor-or-self": {
- "modified": "2019-03-23T23:41:53.193Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/attribute": {
- "modified": "2019-01-16T16:16:10.374Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/child": {
- "modified": "2019-01-16T16:16:18.107Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/descendant": {
- "modified": "2019-01-16T16:16:11.286Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/descendant-or-self": {
- "modified": "2019-01-16T16:16:11.121Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/following": {
- "modified": "2019-01-16T16:16:17.035Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/following-sibling": {
- "modified": "2019-01-16T16:16:13.970Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/namespace": {
- "modified": "2019-03-23T23:41:52.884Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/parent": {
- "modified": "2019-01-16T16:16:10.076Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/preceding": {
- "modified": "2019-01-16T16:16:13.085Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/preceding-sibling": {
- "modified": "2019-01-16T16:16:15.097Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Axes/self": {
- "modified": "2019-01-16T16:16:15.156Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions": {
- "modified": "2019-03-23T23:41:49.260Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "mete0r",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/boolean": {
- "modified": "2019-03-23T23:41:56.082Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/ceiling": {
- "modified": "2019-03-23T23:42:00.420Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/concat": {
- "modified": "2019-03-23T23:41:58.810Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/contains": {
- "modified": "2019-03-23T23:41:59.602Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/count": {
- "modified": "2019-03-23T23:41:58.125Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/current": {
- "modified": "2019-03-23T23:41:57.241Z",
- "contributors": [
- "ExE-Boss",
- "limkukhyun",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/document": {
- "modified": "2019-03-23T23:42:02.300Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "토끼군",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/element-available": {
- "modified": "2019-03-23T23:42:19.012Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/false": {
- "modified": "2019-03-23T23:42:21.547Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/floor": {
- "modified": "2019-03-23T23:42:21.115Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/format-number": {
- "modified": "2019-03-23T23:42:15.373Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/function-available": {
- "modified": "2019-03-23T23:42:21.463Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/generate-id": {
- "modified": "2019-03-23T23:42:13.517Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/id": {
- "modified": "2019-03-23T23:42:21.368Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/key": {
- "modified": "2019-03-23T23:42:10.516Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/lang": {
- "modified": "2019-03-23T23:42:22.431Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/last": {
- "modified": "2019-03-23T23:42:23.803Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/local-name": {
- "modified": "2019-03-23T23:42:19.324Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/name": {
- "modified": "2019-03-23T23:42:53.708Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/namespace-uri": {
- "modified": "2019-03-23T23:42:22.064Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/normalize-space": {
- "modified": "2019-03-23T23:42:24.081Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/not": {
- "modified": "2019-03-23T23:42:13.806Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/number": {
- "modified": "2019-03-23T23:42:20.456Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/position": {
- "modified": "2019-03-23T23:42:19.791Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/round": {
- "modified": "2019-03-23T23:42:16.877Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/starts-with": {
- "modified": "2019-03-23T23:42:20.127Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/string": {
- "modified": "2019-03-23T23:42:22.208Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/string-length": {
- "modified": "2019-03-23T23:42:16.696Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/substring": {
- "modified": "2019-03-23T23:42:17.746Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/substring-after": {
- "modified": "2019-03-23T23:42:23.050Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/substring-before": {
- "modified": "2019-03-23T23:42:22.325Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/sum": {
- "modified": "2019-03-23T23:42:16.787Z",
- "contributors": [
- "ExE-Boss",
- "arrrggghhh",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/system-property": {
- "modified": "2019-03-23T23:42:12.729Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/translate": {
- "modified": "2019-03-23T23:42:23.927Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/true": {
- "modified": "2019-03-23T23:42:14.932Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XPath/Functions/unparsed-entity-url": {
- "modified": "2019-03-23T23:42:10.421Z",
- "contributors": [
- "ExE-Boss",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT": {
- "modified": "2019-03-23T23:44:24.859Z",
- "contributors": [
- "chrisdavidmills",
- "Verruckt",
- "Sebuls",
- "Netaras"
- ]
- },
- "Web/XSLT/Element": {
- "modified": "2019-03-23T23:41:46.436Z",
- "contributors": [
- "ExE-Boss",
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/Element/element": {
- "modified": "2019-03-23T23:42:14.305Z",
- "contributors": [
- "ExE-Boss",
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/The_XSLT_JavaScript_Interface_in_Gecko": {
- "modified": "2019-03-23T23:42:13.222Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Sebuls"
- ]
- },
- "Web/XSLT/The_XSLT_JavaScript_Interface_in_Gecko/Introduction": {
- "modified": "2019-03-23T23:42:13.310Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Sebuls"
- ]
- },
- "Web/XSLT/The_XSLT_JavaScript_Interface_in_Gecko/Setting_Parameters": {
- "modified": "2019-03-23T23:42:32.566Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Sebuls"
- ]
- },
- "Web/XSLT/Transforming_XML_with_XSLT": {
- "modified": "2019-01-16T16:15:56.433Z",
- "contributors": [
- "chrisdavidmills",
- "Netaras"
- ]
- },
- "Web/XSLT/Transforming_XML_with_XSLT/The_Netscape_XSLT_XPath_Reference": {
- "modified": "2019-03-23T23:41:43.827Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/Using_the_Mozilla_JavaScript_interface_to_XSL_Transformations": {
- "modified": "2019-11-21T00:57:37.403Z",
- "contributors": [
- "wbamberg",
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/apply-imports": {
- "modified": "2019-03-23T23:42:12.617Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/apply-templates": {
- "modified": "2019-03-23T23:42:10.628Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/attribute": {
- "modified": "2019-03-23T23:42:16.289Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/attribute-set": {
- "modified": "2019-03-23T23:42:15.702Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/call-template": {
- "modified": "2019-03-23T23:42:16.020Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/choose": {
- "modified": "2019-03-23T23:42:15.795Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/comment": {
- "modified": "2019-03-23T23:42:16.482Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/copy": {
- "modified": "2019-03-23T23:42:16.108Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/copy-of": {
- "modified": "2019-03-23T23:42:16.376Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/decimal-format": {
- "modified": "2019-03-23T23:42:15.926Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/fallback": {
- "modified": "2019-03-23T23:42:16.195Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/for-each": {
- "modified": "2019-03-23T23:42:20.628Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/if": {
- "modified": "2019-03-23T23:42:21.027Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/import": {
- "modified": "2019-03-23T23:42:22.794Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/include": {
- "modified": "2019-03-23T23:42:18.173Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/key": {
- "modified": "2019-03-23T23:42:17.165Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/message": {
- "modified": "2019-03-23T23:42:22.700Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/namespace-alias": {
- "modified": "2019-03-23T23:42:17.355Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/number": {
- "modified": "2019-03-23T23:42:19.706Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/otherwise": {
- "modified": "2019-03-23T23:42:20.020Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/output": {
- "modified": "2019-03-23T23:42:18.564Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/param": {
- "modified": "2019-03-23T23:42:19.539Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/preserve-space": {
- "modified": "2019-03-23T23:42:19.442Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/processing-instruction": {
- "modified": "2019-03-23T23:42:19.930Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/sort": {
- "modified": "2019-03-23T23:42:22.944Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/strip-space": {
- "modified": "2019-03-23T23:42:17.260Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/stylesheet": {
- "modified": "2019-03-23T23:42:20.266Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/template": {
- "modified": "2019-03-23T23:42:17.631Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/text": {
- "modified": "2019-03-23T23:42:18.405Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/transform": {
- "modified": "2019-03-23T23:41:43.222Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/value-of": {
- "modified": "2019-03-23T23:42:23.711Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/variable": {
- "modified": "2019-03-23T23:42:20.796Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/when": {
- "modified": "2019-03-23T23:42:22.611Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/XSLT/with-param": {
- "modified": "2019-03-23T23:42:24.179Z",
- "contributors": [
- "chrisdavidmills",
- "teoli",
- "Netaras"
- ]
- },
- "Web/참조": {
- "modified": "2019-03-23T23:28:22.951Z",
- "contributors": [
- "DeadIntegral",
- "jarangseo",
- "eyekorea",
- "LimeClover",
- "Channy",
- "hyeonseok",
- "narae_lee"
- ]
- },
- "Web/참조/API": {
- "modified": "2019-03-23T23:23:26.342Z",
- "contributors": [
- "Netaras",
- "tamnajio",
- "Channy"
- ]
- },
- "WebAPI": {
- "modified": "2019-03-23T23:30:26.179Z",
- "contributors": [
- "wbamberg",
- "fscholz",
- "oohii",
- "hyeonseok",
- "PillarLee",
- "junho85",
- "francisco.jordano"
- ]
- },
- "WebAPI/Battery_Status": {
- "modified": "2020-11-26T10:20:08.081Z",
- "contributors": [
- "dink95",
- "alattalatta",
- "oohii"
- ]
- },
- "WebAPI/Detecting_device_orientation": {
- "modified": "2019-03-23T23:27:06.270Z",
- "contributors": [
- "ingpdw",
- "PillarLee",
- "junho85"
- ]
- },
- "WebAPI/Managing_screen_orientation": {
- "modified": "2019-03-23T23:27:05.980Z",
- "contributors": [
- "teoli",
- "junho85"
- ]
- },
- "WebAPI/Network_Information": {
- "modified": "2019-03-23T23:26:43.220Z",
- "contributors": [
- "hyeonseok"
- ]
- },
- "WebAPI/Proximity": {
- "modified": "2019-03-23T23:26:46.443Z",
- "contributors": [
- "yunji_koh"
- ]
- },
- "WebAPI/Using_Light_Events": {
- "modified": "2020-10-15T21:24:18.175Z",
- "contributors": [
- "alattalatta",
- "hyeonseok"
- ]
- },
- "WebAPI/Using_Web_Notifications": {
- "modified": "2020-03-08T01:03:17.759Z",
- "contributors": [
- "feeva",
- "oohii",
- "junho85"
- ]
- },
- "WebAPI/Using_geolocation": {
- "modified": "2020-04-03T04:36:16.235Z",
- "contributors": [
- "alattalatta",
- "cs09g",
- "chooco13",
- "hallower",
- "mmnmm",
- "xcoda"
- ]
- },
- "WebAssembly": {
- "modified": "2020-10-15T21:52:54.017Z",
- "contributors": [
- "limkukhyun",
- "lastmirage",
- "kesuskim",
- "0xABCDEF",
- "lukewagner"
- ]
- },
- "WebAssembly/C_to_wasm": {
- "modified": "2020-10-29T08:46:10.367Z",
- "contributors": [
- "limkukhyun",
- "jung-han",
- "04SeoHyun",
- "nakyong"
- ]
- },
- "WebAssembly/Caching_modules": {
- "modified": "2019-03-18T21:26:57.835Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "WebAssembly/Concepts": {
- "modified": "2020-09-05T00:16:32.734Z",
- "contributors": [
- "jung-han",
- "kyhsa93",
- "limkukhyun",
- "Jungbin-Kim",
- "mingrammer",
- "kesuskim",
- "0xABCDEF"
- ]
- },
- "WebAssembly/Exported_functions": {
- "modified": "2019-03-18T21:27:58.372Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "WebAssembly/Loading_and_running": {
- "modified": "2019-03-23T22:11:38.016Z",
- "contributors": [
- "limkukhyun",
- "kesuskim"
- ]
- },
- "WebAssembly/Rust_to_wasm": {
- "modified": "2020-06-15T19:31:56.028Z",
- "contributors": [
- "fantajeon",
- "04SeoHyun",
- "piutranq",
- "limkukhyun"
- ]
- },
- "WebAssembly/Text_format_to_wasm": {
- "modified": "2019-03-18T21:28:27.225Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "WebAssembly/Understanding_the_text_format": {
- "modified": "2019-03-23T22:04:19.997Z",
- "contributors": [
- "limkukhyun",
- "a1p4ca",
- "composite"
- ]
- },
- "WebAssembly/Using_the_JavaScript_API": {
- "modified": "2019-12-26T10:33:44.717Z",
- "contributors": [
- "04SeoHyun",
- "limkukhyun"
- ]
- },
- "WebAssembly/existing_C_to_wasm": {
- "modified": "2019-03-18T21:28:25.734Z",
- "contributors": [
- "limkukhyun"
- ]
- },
- "WebSockets": {
- "modified": "2019-03-23T23:30:25.980Z",
- "contributors": [
- "d-wook",
- "Geun-Hyung_Kim",
- "pjc0247",
- "ELem"
- ]
- },
- "WebSockets/Writing_WebSocket_client_applications": {
- "modified": "2020-11-11T22:09:43.354Z",
- "contributors": [
- "CJ_Lee",
- "VBChunguk",
- "michellehuh",
- "pjc0247",
- "rutesun"
- ]
- },
- "WebSockets/Writing_WebSocket_servers": {
- "modified": "2020-11-26T05:53:45.381Z",
- "contributors": [
- "gdev219",
- "soon0698",
- "lpsgm63",
- "zerunus",
- "SQLGate",
- "green-autumn",
- "pjc0247"
- ]
- },
- "Web_Development": {
- "modified": "2019-03-23T23:41:47.329Z",
- "contributors": [
- "teoli",
- "Jiyoon",
- "Unixcruiser",
- "Netaras",
- "Sebuls"
- ]
- },
- "Windows_and_menus_in_XULRunner": {
- "modified": "2019-01-16T15:50:48.799Z",
- "contributors": [
- "Channy"
- ]
- },
- "XHTML": {
- "modified": "2019-12-26T10:45:10.722Z",
- "contributors": [
- "04SeoHyun",
- "jeonnoej",
- "teoli",
- "Sebuls"
- ]
- },
- "XSLT_in_Gecko": {
- "modified": "2019-01-16T16:14:51.504Z",
- "contributors": [
- "Sebuls"
- ]
- },
- "XSLT_in_Gecko/Basic_Example": {
- "modified": "2019-01-16T16:14:48.906Z",
- "contributors": [
- "Sebuls"
- ]
- },
- "XSLT_in_Gecko/Browser_Differences": {
- "modified": "2019-01-16T16:15:11.615Z",
- "contributors": [
- "Sebuls"
- ]
- },
- "XSLT_in_Gecko/Generating_HTML": {
- "modified": "2019-01-16T16:14:51.789Z",
- "contributors": [
- "Sebuls"
- ]
- },
- "XSLT_in_Gecko/Introduction": {
- "modified": "2019-01-16T16:14:50.568Z",
- "contributors": [
- "Sebuls"
- ]
- },
- "XSLT_in_Gecko/Resources": {
- "modified": "2019-03-23T23:42:20.360Z",
- "contributors": [
- "teoli",
- "Sebuls"
- ]
- },
- "개발자를_위한_Firefox_3.6": {
- "modified": "2019-12-13T20:33:13.788Z",
- "contributors": [
- "wbamberg",
- "SphinxKnight",
- "teoli",
- "kladess"
- ]
- },
- "지역의_코드를_씁니다.": {
- "modified": "2019-01-16T14:36:32.523Z",
- "contributors": [
- "wkdqudso"
- ]
- },
- "확장기능_개발_환경_구축": {
- "modified": "2019-03-24T00:02:16.151Z",
- "contributors": [
- "teoli",
- "kladess"
- ]
- }
-} \ No newline at end of file
diff --git a/files/ko/aggregating_the_in-memory_datasource/index.html b/files/ko/aggregating_the_in-memory_datasource/index.html
deleted file mode 100644
index e41fe09c38..0000000000
--- a/files/ko/aggregating_the_in-memory_datasource/index.html
+++ /dev/null
@@ -1,125 +0,0 @@
----
-title: Aggregating the In-Memory Datasource
-slug: Aggregating_the_In-Memory_Datasource
-tags:
- - RDF
-translation_of: Mozilla/Tech/XPCOM/Aggregating_the_In-Memory_Datasource
----
-<h3 id="개요"> 개요 </h3>
-<p>당신은 메모리 상의 (in-memory) 데이터 소스에 XPCOM 모음(aggregation)<sup><a href="ko/Aggregating_the_In-Memory_Datasource#.EC.A3.BC">1</a></sup>을 사용할 수 있습니다.
-왜 이것이 필요할까요?
-만약 당신이 데이터 소스<sup><a href="ko/Aggregating_the_In-Memory_Datasource#.EC.A3.BC">2</a></sup>를 작성했다고 하면, 이를 구현하기 위한 한가지 방법은 메모리 상의 데이터 소스를 래핑(wrapping) 하는 것 입니다. 즉,
-</p>
-<pre>MyClass : public nsIMyInterface, public nsIRDFDataSource {
-private:
- nsCOMPtr&lt;nsIRDFDataSource&gt; mInner;
-
-public:
- // nsIRDFDataSource methods
- NS_IMETHOD Init(const char* aURI) {
- return mInner-&gt;Init(aURI);
- }
-
- NS_IMETHOD GetURI(char* *aURI) {
- return mInner-&gt;GetURI(aURI);
- }
-
- // etc., for each method in nsIRDFDataSource!
-};
-</pre>
-<p>이것은 매우 힘들고, 에러를 발생시키기 쉬우며 인터페이스들이 (조금이라도) 변경된다면 역시 변경될 것입니다.
-이 경우 모음(aggregation)이 해결책이 될 수 있습니다! 다음은 이에 대한 자세한 사항들(gory details)입니다.
-</p>
-<h3 id="언제_동작하지_않을까"> 언제 동작하지 않을까? </h3>
-<p>비록 이 기법(magic)을 사용하는 것은 매우 편리하지만,
-메모리 상의 데이터 소스의 메소드를 "오버라이드"(override)하고 싶은 경우에는 동작하지 않을 것 입니다.
-예를 들어, 필자는
-<a class="external" href="http://lxr.mozilla.org/mozilla/source/browser/components/bookmarks/src/nsBookmarksService.cpp">북마크 데이터 소스</a>를
-작성하고 있는 동안, <code>Assert()</code> 메소드가 오직 "북마크에 관련된" 어서션(assertion)만을
-허용(accept)하도록 만들고 싶었습니다.
-만약 단지 메모리 상의 데이터 소스에 위임하도록 했었다면,
-<code>Assert()</code> 메소드는 오래된 임의의 쓰레기 값들을 허용했을 것입니다.
-마찬가지로, <code>Flush()</code> 메소드를 오버라이드하여 <code>bookmarks.html</code> 파일을 다시 디스크에 기록하도록 할 수 있었습니다.
-</p><p>다시 말해서, "읽기 전용 리플렉션"을 얻기 위해 데이터 소스를 구현할 때에만
-이 기법이 유용하게 사용될 수 있습니다.
-즉, 어떤 정보의 내용을 RDF 그래프로 반영(reflect)하고 싶은 경우를 말합니다.
-(아마도 RDF 그래프는 다른 정보들과 통합될 수 있으며 스타일을 적용하여 디스플레이될 수 있을 것입니다)
-</p>
-<h3 id="기술적인_세부_사항"> 기술적인 세부 사항 </h3>
-<p>앞의 코드처럼 <code>nsCOMPtr</code>를 위임자를 사용하겠지만,
-이번의 경우는 <code>nsIRDFDataSource</code> 객체를 이용하지 <i>않을</i> 것입니다.
-<code>nsCOMPtr&lt;nsIRDFDataSource&gt;</code> 를 사용하는 대신
-<code>nsCOMPtr&lt;nsISupports&gt;</code> 를 사용하길 원하게 될 것입니다.
-</p>
-<pre>class MyClass : public nsIMyInterface {
- ...
-private:
- nsCOMPtr&lt;nsISupports&gt; mInner;
-};
-</pre>
-<p>객체가 생성될 때 (혹은, 최악의 경우, 누군가 QI(?)를 한 경우에) 데이터 소스 위임자를 구성합니다.
-</p>
-<pre>rv = nsComponentManager::CreateInstance(
- kRDFInMemoryDataSourceCID,
- this, /* the "outer" */
- nsCOMTypeInfo&lt;nsISupports&gt;::GetIID(),
- getter_AddRefs(mInner));
-</pre>
-<p><code>this</code>를 "outer" 인수로 넘긴 것을 주의하십시오.
-이제, 메모리 상의 데이터 소스의 <code>QueryInterface()</code> 메소드의 구현이 실패한다면
-그것은 요청한 인터페이스를 구현하지 않았기 때문일 것입니다.
-이 경우 <code>QueryInterface()</code> 는 "outer"(우리가 구현한 객체)에게 <i>전달</i>될 것입니다.
-이것은 <code>QueryInterface()</code> 의 대칭적 특성을 보존합니다.
-</p><p>대칭성을 만족하기 위해, 우리의 <code>QueryInterface()</code> 구현은
-<code>nsIRDFDataSource</code>를 위임자에서 전달할 필요가 있습니다.<sup><a href="ko/Aggregating_the_In-Memory_Datasource#.EC.A3.BC">3</a></sup>
-</p>
-<pre>NS_IMETHODIMP
-MyClass::QueryInterface(REFNSIID aIID, void** aResult)
-{
- NS_PRECONDITION(aResult != nsnull, "null ptr");
- if (! aResult)
- return NS_ERROR_NULL_POINTER;
-
- if (aIID.Equals(nsCOMTypeInfo&lt;nsIMyInterface&gt;::GetIID()) ||
- aIID.Equals(nsCOMTypeInfo&lt;nsISupports&gt;::GetIID())) {
- *aResult = NS_STATIC_CAST(nsIGlobalHistory*, this);
- }
- else if (aIID.Equals(nsCOMTypeInfo&lt;nsIRDFDataSource&gt;::GetIID())) {
- return mInner-&gt;QueryInterface(aIID, aResult);
- }
- else {
- *aResult = nsnull;
- return NS_NOINTERFACE;
- }
-
- NS_ADDREF(NS_STATIC_CAST(nsISupports*, aResult));
- return NS_OK;
-}
-</pre>
-<p>여기서 주의해야 할 사항은 당신의 객체 내의 데이터 소스를 통해 무언가를 하기 전에
-<code>nsISupports</code>에서 <code>nsIRDFDataSource</code>로
-<code>QueryInterface()</code>를 수행해야 한다는 것입니다.
-예를 들면:
-</p>
-<pre>NS_IMETHODIMP
-MyClass::DoSomething()
-{
- nsCOMPtr&lt;nsIRDFDataSopurce&gt; ds = do_QueryInterface(mInner);
-
- rv = ds-&gt;Assert(/* 필요한 작업을 수행합니다 */);
-
- // etc...
-
- return NS_OK;
-}
-</pre>
-<p><code>nsIRDFDataSource</code>의 모음에 대한 포인터를 멤버 변수로 가지고 싶어할 수 있을 것입니다.
-하지만 이것은 불가능합니다. 만약 그렇게 한다면 끝나지 않는 순환 참조가 발생할 것입니다.
-</p>
-<h3 id="주"> 주 </h3>
-<ol><li>모든 종류의 <a href="ko/XPCOM">XPCOM</a> 모음(aggregation)에 대해서 설명하는 것은 이 문서의 범위를 넘어갑니다. <code>QueryInterface()</code> 메소드를 오버로드하는 기본적인 아이디어는, 인터페이스를 지원하는 <i>위임자(delegate)</i> 객체를 반환하도록 하는 것입니다. 위임자의 참조 카운트를 안전하게 관리하고, <code>QueryInterface()</code>의 반사적(reflexive), 대칭적(symmetric), 추이적 (transitive) 특성을 만족시키기 위해 약간의 트릭이 사용됩니다. 이 부분에 대해 흥미를 느낀 사람이라면, COM 관련 서적의 해당 부분을 읽어보기 바랍니다.
-</li><li>데이터 소스를 작성하기 위한 정보를 더 얻고 싶다면, <a href="ko/RDF_Datasource_How-To">RDF 데이터 소스 How-To</a> 문서를 보기 바랍니다.
-</li><li><code>mInner</code> 가 지원하는 것을 <i>알고</i> 있는 경우, 다른 인터페이스들도 <code>mInner</code> 에게 전달(forward)할 수 있습니다. 하지만 이는 <b>매우 위험합니다</b>. 왜냐하면 동일한 객체의 다른 구현에서는 이러한 인터페이스를 지원하지 <i>않을</i> 수 있기 때문입니다. 이 경우 <code>QueryInterface()</code>는 다시 당신의 객체?로 넘어오게 되며, 이는 무한히 반복될 것입니다.
-</li></ol>
-<p><span>Interwiki Language Links</span>
-</p>
diff --git a/files/ko/animated_png_graphics/index.html b/files/ko/animated_png_graphics/index.html
deleted file mode 100644
index 9321c189d4..0000000000
--- a/files/ko/animated_png_graphics/index.html
+++ /dev/null
@@ -1,430 +0,0 @@
----
-title: Animated PNG graphics
-slug: Animated_PNG_graphics
-tags:
- - Firefox 3
-translation_of: Mozilla/Tech/APNG
----
-<p></p>
-<h3 id=".EC.9E.91.EC.84.B1.EC.9E.90" name=".EC.9E.91.EC.84.B1.EC.9E.90">작성자</h3>
-<p>APNG 명세의 작성자는 다음과 같습니다:</p>
-<ul>
- <li>Stuart Parmenter &lt;<a class="link-mailto" href="mailto:pavlov@pavlov.net" rel="freelink">pavlov@pavlov.net</a>&gt;</li>
- <li>Vladimir Vukicevic &lt;<a class="link-mailto" href="mailto:vladimir@pobox.com" rel="freelink">vladimir@pobox.com</a>&gt;</li>
- <li>Andrew Smith &lt;<a class="link-mailto" href="mailto:asmith15@littlesvr.ca" rel="freelink">asmith15@littlesvr.ca</a>&gt;</li>
-</ul>
-<p> </p>
-<h3 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94">개요</h3>
-<p>APNG는 움직이는 이미지에 대한 지원을 추가한 <a class="external" href="http://www.w3.org/TR/PNG/">이식가능한 네트워크 그래픽</a> (PNG) 포맷의 확장입니다. 이는 전통적으로 <a class="external" href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">GIF</a> 포맷을 사용했던 간단한 움직이는 이미지를 대체하기 위한 것이며 24비트 이미지와 8비트 투명도 지원을 추가하고 있습니다. APNG는 MNG에 대한 보다 간단한 대안으로서 인터넷 상에서 움직이는 이미지의 가장 일반적인 사용에 적합한 명세를 제공하고 있습니다.</p>
-<p>APNG는 PNG와 후위 호환이 가능(backwards-compatible)합니다. 즉, 모든 PNG 디코더는 APNG 특정 청크를 무시하고 단일 이미지를 표시할 수 있어야 합니다.</p>
-<h4 id=".EC.9A.A9.EC.96.B4" name=".EC.9A.A9.EC.96.B4">용어</h4>
-<p><b>기본 이미지(default image)</b>는 표준 'IDAT' 청크가 기술하는 이미지로서 APNG를 지원하지 않는 디코더가 표시하는 이미지입니다.</p>
-<p><b>캔버스(canvas)</b>는 프레임이 표시되는 출력 장치의 영역입니다. 디코더가 꼭 출력 버퍼의 내용을 이용할 수 있는 것은 아닙니다. PNG 명세에 따르면 선택할 만한 바탕이 없는 경우 'bKGD' 청크가 존재하면 이를 캔버스를 채우는데 사용하게 됩니다.</p>
-<p><b>출력 버퍼(output buffer)</b>는 PNG 'IHDR' 청크의 너비와 높이 매개 변수로 지정된 치수를 가진 픽셀 배열입니다. 개념적으로 각 프레임은 캔버스에서 조합되기 전에 출력 버퍼에서 구성됩니다. 디코더는 출력 버퍼의 내용을 이용할 수 있습니다. 출력 버퍼의 모퉁이는 캔버스의 모퉁이에 대응됩니다.</p>
-<p><b>완전 투명 흑색(Fully transparent black)</b>은 적색, 녹색, 청색, 투명 요소가 모두 0으로 설정된 것을 의미합니다.</p>
-<p>청크를 기술할 때, <code><b>unsigned int</b></code>는 0부터 (2^31)-1 범위로 제한된 네트워크 바이트 순서를 따르는 32비트 부호없는 정수입니다. <code><b>unsigned short</b></code>는 0부터 (2^16)-1 범위의 네트워크 바이트 순서를 따르는 16비트 부호없는 정수입니다. <code><b>byte</b></code>는 0부터 (2^8)-1 범위의 8비트 부호없는 정수입니다.</p>
-<h4 id=".EC.98.A4.EB.A5.98_.EC.B2.98.EB.A6.AC" name=".EC.98.A4.EB.A5.98_.EC.B2.98.EB.A6.AC">오류 처리</h4>
-<p>APNG는 전체 이미지를 읽기 전에 점증적인 프레임 표시가 가능하도록 설계되었습니다. 그러므로 애니메이션이 일정 부분 진행될 때까지 오류가 발견되지 않을 수도 있습니다. 오류가 발생하는 경우, 디코더는 그 후의 모든 프레임을 버리고 애니메이션을 멈추고 기본 이미지를 표시하는 것으로 돌아가야 합니다. 디코더가 애니매이션을 시작하기 전에 오류를 발견하면 기본 이미지를 표시해야 합니다. 적합한 경우에는 오류 메시지를 사용자에게 표시할 수도 있습니다.</p>
-<h3 id=".EA.B5.AC.EC.A1.B0" name=".EA.B5.AC.EC.A1.B0">구조</h3>
-<p>APNG 스트림은 <a class="external" href="http://www.w3.org/TR/PNG/">PNG 명세</a>에 정의된 일반적인 PNG 스트림으로서 애니메이션을 기술하고 부가적인 프레임 자료를 제공하는 세 개의 추가 청크 형식을 포함합니다.</p>
-<p>APNG로 인식되려면 'acTL' 청크가 'IDAT' 청크보다 먼저 스트림에 나타나야 합니다. 'acTL' 구조는 아래에서 설명하고 있습니다.</p>
-<p>개념적으로 각 재연의 처음에 출력 버퍼는 'IHDR' 청크의 너비와 높이 치수를 따르는 완전 투명 흑색 직사각형으로 완전하게 초기화되어야 합니다.</p>
-<p>'IDAT' 이전에 단일 'fcTL' 청크가 있으면 기본 이미지는 애니메이션의 첫 번째 프레임으로 포함됩니다. 그렇지 않으면, 기본 이미지는 애니메이션의 일부가 아닙니다.</p>
-<p>그 후 프레임은 순서 번호가 앞에 나오는 것을 제외하면 'IDAT' 청크와 같은 구조를 가진 'fdAT' 청크에 인코드됩니다. 배치와 렌더링에 관한 각 프레임에 대한 정보는 'fcTL' 청크에 저장됩니다. 'fdAT'와 'fcTL' 청크의 전체 레이아웃은 아래에서 설명하고 있습니다.</p>
-<p>전체 애니메이션의 경계는 기본 이미지가 애니메이션의 일부인지와 상관없이 PNG 'IHDR' 청크의 너비와 높이 매개 변수에 따라 지정됩니다. 나중 프레임에 추가 공간이 필요하면 기본 이미지에는 완전 투명 흑색 픽셀을 덧대야 합니다.</p>
-<p>각 프레임은 각 재연에 대해 동일하므로 애플리케이션이 프레임을 캐시하는 것은 안전합니다.</p>
-<h3 id=".EC.B2.AD.ED.81.AC_.EC.88.9C.EC.84.9C_.EB.B2.88.ED.98.B8" name=".EC.B2.AD.ED.81.AC_.EC.88.9C.EC.84.9C_.EB.B2.88.ED.98.B8">청크 순서 번호</h3>
-<p>'fcTL'과 'fdAT' 청크는 4바이트 순서 번호를 가지고 있습니다. 두 청크 형식은 순서를 공유합니다. 이 번호의 목적은 APNG의 순서 오류를 감지(하고 선택에 따라 수정)하는 것입니다. PNG 명세는 부수적인 청크에 순서의 제약을 부여하지 않기 때문입니다.</p>
-<p>첫 번째 'fcTL' 청크는 순서 번호 0을 꼭 포함하고 나머지 'fcTL'과 'fdAT' 청크의 순서 번호는 공백이나 중복없이 순서대로 되어야 합니다.</p>
-<p>아래 표는 하나 이상의 프레임과 하나 이상의 'fdAT' 청크를 포함한 이미지에 대한 순서 번호 사용을 보여줍니다.</p>
-<p><b>기본 이미지가 첫 번째 프레임인 경우:</b></p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>순서 번호</th>
- <th>청크</th>
- </tr>
- <tr>
- <td>(없음)</td>
- <td>'acTL'</td>
- </tr>
- <tr>
- <td>0</td>
- <td>'fcTL' (첫 번째 프레임)</td>
- </tr>
- <tr>
- <td>(없음)</td>
- <td>'IDAT' (첫 번째 프레임 -- 기본 이미지로 사용)</td>
- </tr>
- <tr>
- <td>1</td>
- <td>'fcTL' (두 번째 프레임)</td>
- </tr>
- <tr>
- <td>2</td>
- <td>'fdAT' (두 번째 프레임을 위한 첫 번째 'fDAT')</td>
- </tr>
- <tr>
- <td>3</td>
- <td>'fdAT' (두 번째 프레임을 위한 두 번째 'fDAT')</td>
- </tr>
- <tr>
- <td>...</td>
- <td>...</td>
- </tr>
- </tbody>
-</table>
-<p><b>기본 이미지가 애니메이션의 일부분이 아닌 경우:</b></p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>순서 번호</th>
- <th>청크</th>
- </tr>
- <tr>
- <td>(없음)</td>
- <td>'acTL'</td>
- </tr>
- <tr>
- <td>(없음)</td>
- <td>'IDAT' (기본 이미지)</td>
- </tr>
- <tr>
- <td>0</td>
- <td>'fcTL' (첫 번째 프레임)</td>
- </tr>
- <tr>
- <td>1</td>
- <td>첫 번째 프레임을 위한 첫 번째 'fdAT'</td>
- </tr>
- <tr>
- <td>2</td>
- <td>첫 번째 프레임을 위한 두 번째 'fDAT'</td>
- </tr>
- <tr>
- <td>...</td>
- <td>...</td>
- </tr>
- </tbody>
-</table>
-<p>디코더는 순서가 잘못된 APNG 청크를 오류로 처리해야 합니다. APNG를 인식하는 PNG 편집기는 순서 번호를 이용하여 올바른 순서로 복구해야 합니다.</p>
-<h3 id=".27acTL.27:_.EC.95.A0.EB.8B.88.EB.A9.94.EC.9D.B4.EC.85.98_.EC.A0.9C.EC.96.B4.28Animation_Control.29_.EC.B2.AD.ED.81.AC" name=".27acTL.27:_.EC.95.A0.EB.8B.88.EB.A9.94.EC.9D.B4.EC.85.98_.EC.A0.9C.EC.96.B4.28Animation_Control.29_.EC.B2.AD.ED.81.AC">'acTL': 애니메이션 제어(Animation Control) 청크</h3>
-<p>'acTL' 청크는 PNG 명세에 정의된 부수적인 청크입니다. 이는 올바른 PNG 스트림에서 첫 번째 'IDAT' 청크 앞에 나와야 합니다.</p>
-<p>'acTL' 청크는 다음과 같은 필드를 포함합니다.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>바이트 오프셋</th>
- <th>필드 이름</th>
- <th>필드 형식</th>
- <th>설명</th>
- </tr>
- <tr>
- <td>0</td>
- <td><code>num_frames</code></td>
- <td><code>unsigned int</code></td>
- <td>APNG의 프레임 수.</td>
- </tr>
- <tr>
- <td>4</td>
- <td><code>num_plays</code></td>
- <td><code>unsigned int</code></td>
- <td>APNG 반복 횟수. 0은 무한 반복을 가리킴.</td>
- </tr>
- </tbody>
-</table>
-<p><code>num_frames</code>은 애니메이션의 전체 프레임 수를 가리킵니다. 이 값은 'fcTL' 청크의 개수와 같아야 합니다. 0은 올바른 값이 아닙니다. 1은 단일 프레임 APNG에 대해 올바른 값입니다. 이 값이 실제 프레임의 개수와 다른 경우, 이는 오류로 처리해야 합니다.</p>
-<p><code>num_plays</code>은 애니메이션을 재생하는 횟수를 가리킵니다. 이 값이 0이면 애니메이션을 계속 재생해야 합니다. 0이 아니면 애니메애션은 마지막 재생의 최종 프레임에서 멈춰야 합니다.</p>
-<h3 id=".27fcTL.27:_.ED.94.84.EB.A0.88.EC.9E.84_.EC.A0.9C.EC.96.B4.28Frame_Control.29_.EC.B2.AD.ED.81.AC" name=".27fcTL.27:_.ED.94.84.EB.A0.88.EC.9E.84_.EC.A0.9C.EC.96.B4.28Frame_Control.29_.EC.B2.AD.ED.81.AC">'fcTL': 프레임 제어(Frame Control) 청크</h3>
-<p>'fcTL' 청크는 PNG 명세에 정의된 부수적인 청크입니다. 이는 'IDAT' 청크의 앞에 나오거나 적용되는 프레임의 'fdAT' 청크 앞에 나와야 합니다. 구체적으로 이야기하면,</p>
-<ul>
- <li>기본 이미지의 경우, 'fcTL' 청크가 있으면 첫 번째 'IDAT' 청크 앞에 나와야 합니다. 'acTL' 청크에 대한 상대적인 위치는 명시하지 않습니다.</li>
- <li>기본 이미지를 제외한 첫 번째 프레임의 경우 (이는 첫 번째 또는 두 번째 프레임이 됩니다), 'fcTL' 청크는 모든 'IDAT' 청크의 뒤에 그리고 해당 프레임의 'fdAT' 청크 앞에 나와야 합니다.</li>
- <li>그 후 모든 프레임의 경우, 프레임 N의 'fcTL' 청크는 프레임 N-1의 'fdAT' 청크 뒤에 그리고 프레임 N의 'fdAT' 청크 앞에 나와야 합니다.</li>
- <li>다른 부수적인 청크는 'fdAT' 청크 사이를 포함하여 APNG 청크 사이에 나올 수 있습니다.</li>
-</ul>
-<p>각 프레임에 대하여 정확하게 하나의 'fcTL' 청크가 필요합니다.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>바이트 오프셋</th>
- <th>필드 이름</th>
- <th>필드 형식</th>
- <th>설명</th>
- </tr>
- <tr>
- <td>0</td>
- <td><code>sequence_number</code></td>
- <td><code>unsigned int</code></td>
- <td>0부터 시작하는 애니메이션 청크의 순서 번호.</td>
- </tr>
- <tr>
- <td>4</td>
- <td><code>width</code></td>
- <td><code>unsigned int</code></td>
- <td>따르는 프레임의 너비.</td>
- </tr>
- <tr>
- <td>8</td>
- <td><code>height</code></td>
- <td><code>unsigned int</code></td>
- <td>따르는 프레임의 높이.</td>
- </tr>
- <tr>
- <td>12</td>
- <td><code>x_offset</code></td>
- <td><code>unsigned int</code></td>
- <td>따르는 프레임을 그릴 X 위치.</td>
- </tr>
- <tr>
- <td>16</td>
- <td><code>y_offset</code></td>
- <td><code>unsigned int</code></td>
- <td>따르는 프레임을 그릴 Y 위치.</td>
- </tr>
- <tr>
- <td>20</td>
- <td><code>delay_num</code></td>
- <td><code>unsigned short</code></td>
- <td>프레임 지연 분수 분자.</td>
- </tr>
- <tr>
- <td>22</td>
- <td><code>delay_den</code></td>
- <td><code>unsigned short</code></td>
- <td>프레임 지연 분수 분모.</td>
- </tr>
- <tr>
- <td>24</td>
- <td><code>dispose_op</code></td>
- <td><code>byte</code></td>
- <td>현재 프레임을 렌더링한 후 실행할 프레임 영역 처리의 종류.</td>
- </tr>
- <tr>
- <td>25</td>
- <td><code>blend_op</code></td>
- <td><code>byte</code></td>
- <td>현재 프레임에 대한 프레임 영역 렌더링의 종류.</td>
- </tr>
- </tbody>
-</table>
-<p>프레임은 <code>x_offset</code>, <code>y_offset</code>, <code>width</code>, <code>height</code>로 정의되는 영역에 그려야 합니다. 오프셋은 0 또는 0보다 크고 치수는 양수이며 영역은 기본 이미지를 벗어나면 안됩니다.</p>
-<p>프레임 영역에 대한 제약은 다음과 같습니다.</p>
-<ul>
- <li><code>x_offset</code> &gt;= 0</li>
- <li><code>y_offset</code> &gt;= 0</li>
- <li><code>width</code> &gt; 0</li>
- <li><code>height</code> &gt; 0</li>
- <li><code>x_offset</code> + <code>width</code> &lt;= 'IHDR' width</li>
- <li><code>y_offset</code> + <code>height</code> &lt;= 'IHDR' height</li>
-</ul>
-<p><code>delay_num</code>과 <code>delay_den</code> 매개 변수는 함께 현재 프레임을 표시할 시간(초)을 의미하는 분수를 지정합니다. 분모가 0이면 분모를 100인 것으로 간주합니다. (즉, <code>delay_num</code>은 1/100초 단위로 시간을 지정하게 됩니다). 만약 분자 값이 0이면 뷰어가 적당한 최소값을 지정할 수도 있겠지만 디코더는 다음 프레임을 가능한 빨리 그려야 합니다.</p>
-<p>애니메이션을 디코더 구현의 성능과 상관없이 동일한 속도로 실행하려면 프레임 타이밍은 각 프레임의 디코딩과 표시에 필요한 시간과 무관해야 합니다.</p>
-<p><code>dispose_op</code>는 지연의 마지막에 (다음 프레임을 그리기 전에) 출력 버퍼를 어떻게 바꾸어야 하는지 지정합니다.</p>
-<p>\<code>dispose_op</code>의 올바른 값은 다음과 같습니다.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>값</th>
- <th>상수</th>
- <th>설명</th>
- </tr>
- <tr>
- <td>0</td>
- <td><code>APNG_DISPOSE_OP_NONE</code></td>
- <td>다음 프레임을 그리기 전에 현재 프레임을 처리하지 않습니다. 출력 버퍼의 내용은 그대로 남아 있습니다.</td>
- </tr>
- <tr>
- <td>1</td>
- <td><code>APNG_DISPOSE_OP_BACKGROUND</code></td>
- <td>다음 프레임을 그리기 전에 프레임의 출력 버퍼 영역을 완전 투명 흑색으로 지웁니다.</td>
- </tr>
- <tr>
- <td>2</td>
- <td><code>APNG_DISPOSE_OP_PREVIOUS</code></td>
- <td>다음 프레임을 그리기 전에 프레임의 출력 버퍼 영역을 이전 내용으로 되돌립니다.</td>
- </tr>
- </tbody>
-</table>
-<p>만약 첫 번째 'fcTL' 청크가 <code>dispose_op</code>값으로 <code>APNG_DISPOSE_OP_PREVIOUS</code>를 사용하면 이는 <code>APNG_DISPOSE_OP_BACKGROUND</code>로 처리해야 합니다.</p>
-<p><code>blend_op&lt;code&gt;는 프레임이 현재의 출력 버퍼 내용에 중첩되어야 하는지, 아니면 출력 버퍼의 영역을 완전히 바꿀 것인지 지정합니다. </code></p>
-<p>&lt;code&gt;blend_op의 올바른 값은 다음과 같습니다.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>값</th>
- <th>상수</th>
- <th>설명</th>
- </tr>
- <tr>
- <td>0</td>
- <td><code>APNG_BLEND_OP_SOURCE</code></td>
- <td>투명도를 포함한 프레임의 모든 색상 요소가 프레임의 출력 버퍼 영역의 현재 내용을 덮어씁니다.</td>
- </tr>
- <tr>
- <td>1</td>
- <td><code>APNG_BLEND_OP_OVER</code></td>
- <td>프레임이 투명도에 따라 <a class="external" href="http://pmt.sourceforge.net/specs/png-1.2-pdg.html">Extensions to the PNG Specification, Version 1.2.0</a>의 <a class="external" href="http://pmt.sourceforge.net/specs/png-1.2-pdg.html#D.Alpha-channel-processing">Alpha Channel Processing</a> 섹션에서 설명한 간단한 OVER 연산을 이용하여 출력 버퍼에 중첩됩니다. 참고로 예제 코드의 두 번째 변종이 적용 가능합니다.</td>
- </tr>
- </tbody>
-</table>
-<p>첫 번째 프레임에 대하여 두 가지 중첩 모드는 각 재생의 시작에 출력 버퍼를 지우기 때문에 기능적으로 동일합니다.</p>
-<p>기본 이미지에 대응하는 'fcTL' 청크가 있을 때 이는 다음과 같은 제약이 있습니다.</p>
-<ul>
- <li><code>x_offset</code>과 <code>y_offset</code> 필드는 0이 되어야 합니다.</li>
- <li><code>width</code>와 <code>height</code> 필드는 'IHDR' 청크의 해당 필드와 같아야 합니다.</li>
-</ul>
-<p>앞서 언급했듯이 출력 버퍼는 각 재생의 시작에 완전 투명 흑색으로 완전히 초기화되어야 합니다. 이는 각 애니메이션 재생이 같도록 하기 위한 것입니다. 디코더는 결과가 같다고 보장되면 명시적인 지우기 단계를 피할 수 있습니다. 예를 들어, 기본 이미지가 애니메이션에 포함되어 있고 <code>blend_op</code> 값으로 <code>APNG_BLEND_OP_SOURCE</code>를 사용하는 경우에는 전체 출력 버퍼를 덮어쓰게 되므로 지우기가 필요하지 않습니다.</p>
-<h3 id=".27fdAT.27:_.ED.94.84.EB.A0.88.EC.9E.84_.EB.8D.B0.EC.9D.B4.ED.84.B0.28Frame_Data.29_.EC.B2.AD.ED.81.AC" name=".27fdAT.27:_.ED.94.84.EB.A0.88.EC.9E.84_.EB.8D.B0.EC.9D.B4.ED.84.B0.28Frame_Data.29_.EC.B2.AD.ED.81.AC">'fdAT': 프레임 데이터(Frame Data) 청크</h3>
-<p>'fdAT' 청크는 'IDAT' 청크와 같은 목적을 가지고 있습니다. 이는 순서 번호가 앞에 나오는 것을 제외하면 'IDAT' 청크와 같은 구조를 가지고 있습니다.</p>
-<p>각 프레임에 대하여 적어도 하나의 'fdAT' 청크가 필요합니다. 그리고 압축된 데이터 스트림은 한 프레임 내의 모든 'fdAT' 청크의 데이터 필드의 내용을 연결한 것입니다. 압축을 해제하면 데이터 스트림은 PNG 이지미의 완전한 픽셀 데이터입니다. 이는 모든 'IDAT' 청크의 압축 해제된 데이터와 마찬가지로 각 주사선의 처음에 필터 바이트를 포함합니다. 이는 기본 이미지와 같은 비트 수, 색상 종류, 압축 방법, 필터 방법, 인터레이스 방법, 팔레트를 사용합니다.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>바이트 오프셋</th>
- <th>필드 이름</th>
- <th>필드 형식</th>
- <th>설명</th>
- </tr>
- <tr>
- <td>0</td>
- <td><code>sequence_number</code></td>
- <td><code>unsigned int</code></td>
- <td>0부터 시작하는 애니메이션 청크의 순서 번호.</td>
- </tr>
- <tr>
- <td>4</td>
- <td><code>frame_data</code></td>
- <td>X <code>bytes</code></td>
- <td>현재 프레임의 프레임 데이터.</td>
- </tr>
- </tbody>
-</table>
-<p>각 프레임은 'fcTL' 청크에서 오는 너비와 높이를 제외하고 파일의 첫 번째 'IDAT' 이전의 중요한 혹은 부수적인 청크에 지정된 모든 속성을 물려받습니다.</p>
-<p>PNG 'pHYs' 청크가 있으면 APNG 이미지와 그 이미지의 <code>x_offset</code>과 <code>y_offset</code> 값은 주 이미지와 같은 방식으로 비례를 조절해야 합니다. 개념적으로 그러한 비례 조절은 출력 버퍼를 캔버스에 대응하는 동안에 일어납니다.</p>
-<h3 id=".EB.B3.B8_.EB.AA.85.EC.84.B8.EC.84.9C.EC.9D.98_.EC.88.98.EC.A0.95_.EC.82.AC.ED.95.AD" name=".EB.B3.B8_.EB.AA.85.EC.84.B8.EC.84.9C.EC.9D.98_.EC.88.98.EC.A0.95_.EC.82.AC.ED.95.AD">본 명세서의 수정 사항</h3>
-<h4 id="From_0.1" name="From_0.1">From 0.1</h4>
-<ul>
- <li>Renamed chunks to 'anIm' and 'frAm' to comply with chunk naming conventions in the PNG spec.</li>
-</ul>
-<ul>
- <li>Added a more detailed explanation of APNG structure in Section 2.</li>
-</ul>
-<ul>
- <li>Added information for png interaction with other chunks in section 3.2.</li>
-</ul>
-<ul>
- <li>Changed 'frAm' chunk offsets and delay into signed integers.</li>
-</ul>
-<h4 id="From_0.2" name="From_0.2">From 0.2</h4>
-<ul>
- <li>Changed 'frAm' chunk to 'afRa' to avoid conflict with MNG 'FRAM' chunk.</li>
-</ul>
-<ul>
- <li>Changed format: instead of sequences of IHDR..IDAT..IEND, frames other than frame 0 are stored in 'afRa' chunks.</li>
-</ul>
-<ul>
- <li>Added <code>start_frame</code> to 'anIm' to indicate which frame the animation should start on.</li>
-</ul>
-<ul>
- <li>Removed <code>num_frames</code> from 'anIm' chunk</li>
-</ul>
-<h4 id="From_0.3" name="From_0.3">From 0.3</h4>
-<ul>
- <li>Added 'aCTL', 'fdAT', 'fcTL' chunk descriptions as per the latest png-list discussion</li>
-</ul>
-<ul>
- <li>Added section 4, "Interactions with other PNG chunks"; described global and local palettes and transparency</li>
-</ul>
-<ul>
- <li>Changed 'oFFs' chunk section to refer to more general chunks</li>
-</ul>
-<ul>
- <li>Updated 'aDAT' description to indicate that all frames must either be in a single chunk, or that the first chunk must have empty data.</li>
-</ul>
-<ul>
- <li>Added notice that each frame's region (x,y,width,height) must lie completely within the parent PNG canvas</li>
-</ul>
-<ul>
- <li>Fixed <code>dispose_op</code> description (after, not before)</li>
-</ul>
-<ul>
- <li>Changed <code>dispose_op</code> to <code>render_op</code>; added disposal description; added <code>BLEND</code> flag</li>
-</ul>
-<ul>
- <li>Changed <code>delay_time</code> to a delay numerator and denominator, for specifying delays that don't into integer numbers of milliseconds.</li>
-</ul>
-<ul>
- <li>Added note to clarify that palette animation is not supported.</li>
-</ul>
-<ul>
- <li>Removed <code>start_frame</code> from aCTL; require fcTL for frame 0; added <code>SKIP_FRAME</code> fCTL flag.</li>
-</ul>
-<h4 id="From_0.4" name="From_0.4">From 0.4</h4>
-<ul>
- <li>Reintroduced <code>num_frames</code> into aCTL</li>
-</ul>
-<ul>
- <li>Moved <code>sequence_number</code> from aDAT into fCTL</li>
-</ul>
-<ul>
- <li>Changed contents of aDAT to fCTL+IDATs+fEND</li>
-</ul>
-<ul>
- <li>Added clarifications on what's allowed and what isn't</li>
-</ul>
-<ul>
- <li>Renamed aCTL to acTL, fCTL to fcTL, aDAT to fdAT and fEND to feND to comply with the PNG spec chunk naming requirements</li>
-</ul>
-<h4 id="From_0.5" name="From_0.5">From 0.5</h4>
-<ul>
- <li>Added the IHDR and PLTE CRCs to the acTl chunk</li>
-</ul>
-<ul>
- <li>The acTL fcTL and adAT are now copy safe, renamed them to acTl, fcTl and adAt</li>
-</ul>
-<h4 id="From_0.6" name="From_0.6">From 0.6</h4>
-<ul>
- <li>The fdAt chunk is no longer a container for other chunks, but rather a replacement for an IDAT chunk</li>
-</ul>
-<ul>
- <li>Removed the feND chunk</li>
-</ul>
-<ul>
- <li>Added a sequence number field to fdAt</li>
-</ul>
-<ul>
- <li>Reintroduced the <code>width</code> and <code>height</code> fields in fcTl</li>
-</ul>
-<h4 id="From_0.7" name="From_0.7">From 0.7</h4>
-<ul>
- <li>Removed <code>hidden</code> flag, instead only the first frame can be hidden and it is signaled with a missing fcTl</li>
-</ul>
-<ul>
- <li>IDAT, fcTl and fdAt are no longer required to have no other chunks in between them</li>
-</ul>
-<h4 id="From_0.8" name="From_0.8">From 0.8</h4>
-<ul>
- <li>Removed CRCs for IHDR and PLTE from acTl</li>
-</ul>
-<ul>
- <li>The acTL fcTL and adAT are now not copy safe, renamed them to acTL, fcTL and adAT</li>
-</ul>
-<h4 id="From_0.9" name="From_0.9">From 0.9</h4>
-<ul>
- <li>Split <code>render_op</code> into <code>dispose_op</code> and <code>blend_op</code></li>
-</ul>
-<h4 id="From_0.10" name="From_0.10">From 0.10</h4>
-<ul>
- <li>No changes</li>
-</ul>
-<h3 id=".ED.85.8C.EC.8A.A4.ED.8A.B8_.EC.9D.B8.EC.BD.94.EB.8D.94.EC.99.80_.EC.98.88.EC.A0.9C_.EC.9D.B4.EB.AF.B8.EC.A7.80" name=".ED.85.8C.EC.8A.A4.ED.8A.B8_.EC.9D.B8.EC.BD.94.EB.8D.94.EC.99.80_.EC.98.88.EC.A0.9C_.EC.9D.B4.EB.AF.B8.EC.A7.80">테스트 인코더와 예제 이미지</h3>
-<p><a class="external" href="http://littlesvr.ca/apng/" rel="freelink">http://littlesvr.ca/apng/</a> 에 있는 APNG 구현 페이지에서 예제 이미지를 구할 수 있습니다.</p>
-<p>(오픈 소스) 인코더는 Gecko 엔진의 1.9 알파 4 버전에서부터 구할 수 있습니다.</p>
-<p>모질라 인코더를 이용하는 (오픈 소스) 애플리케이션은 다음 페이에서 구할 수 있습니다: <a class="external" href="http://littlesvr.ca/apng/apngedit.html" rel="freelink">http://littlesvr.ca/apng/apngedit.html</a></p>
-<h3 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0">참고</h3>
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/PNG/">Portable Network Graphics (PNG) Specification (Second Edition)</a></li>
- <li><a class="external" href="http://pmt.sourceforge.net/specs/png-1.2-pdg.html">Extensions to the PNG Specification, Version 1.2.0</a></li>
- <li><a class="external" href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">Graphics Interchange Format 89a</a></li>
-</ul>
diff --git a/files/ko/archive/add-ons/code_snippets/cookies/index.html b/files/ko/archive/add-ons/code_snippets/cookies/index.html
deleted file mode 100644
index c3c25b033b..0000000000
--- a/files/ko/archive/add-ons/code_snippets/cookies/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: Cookies
-slug: Archive/Add-ons/Code_snippets/Cookies
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Add-ons/Code_snippets/Cookies
----
-<p> </p>
-<h3 id=".EC.BF.A0.ED.82.A4_.EB.AA.A8.EB.91.90_.EC.97.86.EC.95.A0.EA.B8.B0" name=".EC.BF.A0.ED.82.A4_.EB.AA.A8.EB.91.90_.EC.97.86.EC.95.A0.EA.B8.B0">쿠키 모두 없애기</h3>
-<p>다음 코드는 Firefox/Seamonkey에서 쿠키를 모두 없애는 법을 보여줍니다.</p>
-<pre class="eval">Components.classes["@mozilla.org/cookiemanager;1"]
- .getService(Components.interfaces.nsICookieManager).removeAll();
-</pre>
-<p>{{ languages( { "en": "en/Code_snippets/Cookies", "fr": "fr/Extraits_de_code/Cookies" } ) }}</p>
diff --git a/files/ko/archive/add-ons/code_snippets/index.html b/files/ko/archive/add-ons/code_snippets/index.html
deleted file mode 100644
index 09b381ed68..0000000000
--- a/files/ko/archive/add-ons/code_snippets/index.html
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title: Code snippets
-slug: Archive/Add-ons/Code_snippets
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Add-ons/Code_snippets
----
-<p>
-</p><p>이 문서는 확장기능 개발자들이 다양한 Mozilla 응용프로그램에 빠르게 쓸 수 있는 쓸모 있는 코드 조각(snippet) 목록입니다. 상당수는 XULRunner 응용프로그램 및 Firefox/Thunderbird 코드에서도 쓸 수 있습니다.
-</p>
-<h3 id=".EC.9D.BC.EB.B0.98"> 일반 </h3>
-<dl><dt> <a href="ko/Code_snippets/Tabbed_browser">탭브라우저 코드</a> (Firefox/SeaMonkey)
-</dt><dd> <small>Mozilla 브라우저 응용프로그램의 핵심인 탭브라우저를 다루는 기본적인 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Windows">창 코드</a>
-</dt><dd> <small>창 열기 및 다루기</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Cookies">쿠키</a>
-</dt><dd> <small>쿠키 읽기, 쓰기, 고치기, 없애기</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/XML">XML</a>
-</dt><dd> <small>XML을 구문분석하거나, 작성하거나, 다루는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/File_I%2f%2fO">파일 입출력</a>
-</dt><dd> <small>파일을 읽거나, 쓰거나, 처리하는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Dialogs">대화상자</a>
-</dt><dd> <small>대화상자를 나타내거나, 처리하는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Preferences">선택사항</a>
-</dt><dd> <small>선택사항을 읽거나, 쓰거나, 고치는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Page_Loading">페이지 불러오기</a>
-</dt><dd> <small>페이지를 로드하거나, 재로드하거나, 페이지 로드를 청취하는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Interaction_between_privileged_and_non-privileged_pages">특권 코드와 비특권 코드 사이의 상호 작용</a>
-</dt><dd> <small>부가기능이 웹사이트와 또는 그 반대로 통신하는 법</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/JS_XPCOM">JS XPCOM</a>
-</dt><dd> <small>JavaScript로 맞춤 XPCOM 컴포넌트를 정의하고 호출하는 데 쓰는 코드</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets/Running_applications">응용프로그램 실행하기</a>
-</dt><dd> <small>다른 응용프로그램을 실행하는 데 쓰는 코드</small>
-</dd></dl>
-<h3 id=".EC.9C.88.EB.8F.84_.EA.B3.A0.EC.9C.A0_.EC.BD.94.EB.93.9C"> 윈도 고유 코드 </h3>
-<dl><dt> <a href="ko/Code_snippets/Finding_Window_Handles">윈도 핸들(HWND) 구하기</a> (Firefox)
-</dt><dd> <small>Windows API로 가지각색의 Mozilla 윈도 핸들을 구하는 법입니다. 윈도 핸들은 IPC 및 접근성 목적으로 쓰일 수 있습니다.</small>
-</dd></dl>
-<dl><dt> <a href="ko/Accessing_the_Windows_Registry_Using_XPCOM">XPCOM으로 윈도 레지스트리 쓰기</a>
-</dt><dd> <small>레지스트리 키 및 값을 읽거나, 쓰거나, 고치거나, 없애거나, 열거하거나, 주목하는 법</small>
-</dd></dl>
-<h3 id=".EC.99.B8.EB.B6.80_.EB.A7.81.ED.81.AC"> 외부 링크 </h3>
-<p><a class="external" href="http://kb.mozillazine.org/Category:Example_code">MozillaZine 예제 코드</a>의 내용이 여기로 천천히 옮겨지고 있습니다. 하지만 지금은 쓸만한 예제를 그곳에서 찾을 수 있습니다.
-</p>{{ languages( { "en": "en/Code_snippets", "fr": "fr/Extraits_de_code", "ja": "ja/Code_snippets" } ) }}
diff --git a/files/ko/archive/add-ons/code_snippets/page_loading/index.html b/files/ko/archive/add-ons/code_snippets/page_loading/index.html
deleted file mode 100644
index ddf4043032..0000000000
--- a/files/ko/archive/add-ons/code_snippets/page_loading/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: Page Loading
-slug: Archive/Add-ons/Code_snippets/Page_Loading
-translation_of: Archive/Add-ons/Code_snippets/Page_Loading
----
-<p> </p>
-<h3 id=".ED.8E.98.EC.9D.B4.EC.A7.80_.EB.B6.88.EB.9F.AC.EC.98.A4.EA.B8.B0" name=".ED.8E.98.EC.9D.B4.EC.A7.80_.EB.B6.88.EB.9F.AC.EC.98.A4.EA.B8.B0">페이지 불러오기</h3>
-<dl>
- <dt>
- <a href="ko/Code_snippets/On_page_load">페이지가 로드될 때</a></dt>
- <dd>
- <small>새 페이지가 브라우저/메일에 로드될 때마다 코드를 실행하는 법</small></dd>
-</dl>
-<dl>
- <dt>
- <a href="ko/Code_snippets/Progress_Listeners">진행 청취자</a></dt>
- <dd>
- <small>진행 청취자는 확장기능이 브라우저 안의 문서 로드와 관련된 이벤트 및 탭 갈아타기 이벤트를 통보받을 수 있게 합니다.</small></dd>
-</dl>
-<dl>
- <dt>
- <a href="ko/Code_snippets/Post_data_to_window">창에 데이터를 넘기기</a></dt>
- <dd>
- <small>현존하거나 새로 만든 창/탭에 데이터를 넘기는 코드</small></dd>
-</dl>
-<p>{{ languages( { "en": "en/Code_snippets/Page_Loading", "fr": "fr/Extraits_de_code/Chargement_de_page", "ja": "ja/Code_snippets/Page_Loading" } ) }}</p>
diff --git a/files/ko/archive/add-ons/code_snippets/running_applications/index.html b/files/ko/archive/add-ons/code_snippets/running_applications/index.html
deleted file mode 100644
index a05c52db62..0000000000
--- a/files/ko/archive/add-ons/code_snippets/running_applications/index.html
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: Running applications
-slug: Archive/Add-ons/Code_snippets/Running_applications
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Add-ons/Code_snippets/Running_applications
----
-<p>
-</p><p>본 페이지에서는 Mozilla XPCOM 인터페이스를 이용해서 chrome JavaScript 코드로 다른 프로그램을 실행하는 방법에 대해 설명하겠습니다. 프로그램을 실행하는데는 두 가지 방법이 있습니다. 첫번째 방법은 <code><a href="ko/NsILocalFile/launch">nsILocalFile:launch</a></code> 메소드를 사용하는 것이고, 두번째 방법은 <code><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIProcess.html">nsIProcess</a></code> 인터페이스를 사용하는 것입니다.
-</p>
-<h3 id="nsILocalFile.launch.28.29_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0" name="nsILocalFile.launch.28.29_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0"> <code>nsILocalFile.launch()</code> 이용하기 </h3>
-<p>이 방법은 실행 파일을 더블 클릭하는 것과 동일한 효과가 나타나며 파라미터 없이 실행됩니다. 또 구현되지 않은 플랫폼도 있으므로 여러분이 대상으로 하는 플랫폼에서 이 메소드가 구현되어 있는지 확인해야 합니다.
-</p><p><code><a href="ko/NsIFile">nsIFile</a></code>/<code><a href="ko/NsILocalFile">nsILocalFile</a></code>에 대한 보다 자세한 정보는 <a href="ko/Code_snippets/File_I%2f%2fO">File I/O</a>를 참조하세요.
-</p><p>For more information on <code><a href="ko/NsIFile">nsIFile</a></code>/<code><a href="ko/NsILocalFile">nsILocalFile</a></code>, see <a href="ko/Code_snippets/File_I%2f%2fO">File I/O</a>.
-</p>
-<pre class="eval">var file = Components.classes["@mozilla.org/file/local;1"]
- .createInstance(Components.interfaces.nsILocalFile);
-file.initWithPath("c:\\myapp.exe");
-file.launch();
-</pre>
-<h3 id="nsIProcess_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0" name="nsIProcess_.EC.9D.B4.EC.9A.A9.ED.95.98.EA.B8.B0"> <code>nsIProcess</code> 이용하기 </h3>
-<p><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIProcess.html">nsIProcess</a> 인터페이를 사용하는 것이 권장되는 방법 입니다.
-</p>
-<pre class="eval">// create an nsILocalFile for the executable
-var file = Components.classes["@mozilla.org/file/local;1"]
- .createInstance(Components.interfaces.nsILocalFile);
-file.initWithPath("c:\\myapp.exe");
-
-// create an nsIProcess
-var process = Components.classes["@mozilla.org/process/util;1"]
- .createInstance(Components.interfaces.nsIProcess);
-process.init(file);
-
-// Run the process.
-// If first param is true, calling thread will be blocked until
-// called process terminates.
-// Second and third params are used to pass command-line arguments
-// to the process.
-var args = ["argument1", "argument2"];
-process.run(false, args, args.length);
-</pre>
-<h3 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0"> 참고 </h3>
-<ul><li><a href="ko/NsILocalFile"> nsILocalFile 인터페이스</a>
-</li><li><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIProcess.html">nsIProcess 인터페이스</a>
-</li><li> XPI에 포함된 실행 파일을 실행해야 한다면 <a href="ko/Code_snippets/File_I%2f%2fO#Getting_your_extension.27s_folder">Code snippets:File I/O#Getting your extension's folder</a>를 참조하세요.
-</li><li><a class="external" href="http://groups.google.com/group/mozilla.dev.extensions/browse_frm/thread/947e63c95c14b5a5">웹 페이지에서 프로세스 실행하기</a>
-</li></ul>
-<div class="noinclude">
-</div>
-{{ languages( { "en": "en/Code_snippets/Running_applications", "fr": "fr/Extraits_de_code/Ex\u00e9cuter_des_applications", "ja": "ja/Code_snippets/Running_applications", "pl": "pl/Fragmenty_kodu/Uruchamianie_aplikacji" } ) }}
diff --git a/files/ko/archive/add-ons/code_snippets/windows/index.html b/files/ko/archive/add-ons/code_snippets/windows/index.html
deleted file mode 100644
index 00e4febdb1..0000000000
--- a/files/ko/archive/add-ons/code_snippets/windows/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: Windows
-slug: Archive/Add-ons/Code_snippets/Windows
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Add-ons/Code_snippets/Windows
----
-<p> </p>
-<h3 id=".EC.83.88_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.B0.BD_.EC.97.B4.EA.B8.B0" name=".EC.83.88_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.B0.BD_.EC.97.B4.EA.B8.B0">새 브라우저 창 열기</h3>
-<p>브라우저 창을 새로 열려면 간단히 <code>window.open()</code>을 쓸 수 있습니다. 그러나 <code>window.open()</code>은 브라우저 창 자체가 아닌 내용의 <code>Window</code> 객체를 반환합니다. 그래서 먼저 크롬 <code>Window</code>를 구해야 합니다. 가장 간단한 방법은 <a href="ko/NsIWindowMediator">nsIWindowMediator</a>를 쓰는 것입니다.</p>
-<h4 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h4>
-<p> </p>
-<pre class="eval">window.open();
-var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
- .getService(Components.interfaces.nsIWindowMediator);
-var newWindow = wm.getMostRecentWindow("navigator:browser");
-var b = newWindow.getBrowser();
-// why did we do this? we never do anything with |b|
-</pre>
-<h3 id=".EB.8B.A4.EB.A5.B8_.EB.AC.B8.EC.84.9C" name=".EB.8B.A4.EB.A5.B8_.EB.AC.B8.EC.84.9C">다른 문서</h3>
-<ul>
- <li><a href="ko/Working_with_windows_in_chrome_code">크롬 코드에서 창 다루기</a></li>
-</ul>
-<p>{{ languages( { "en": "en/Code_snippets/Windows", "fr": "fr/Extraits_de_code/Onglets_de_navigation" } ) }}</p>
diff --git a/files/ko/archive/add-ons/code_snippets/xml/index.html b/files/ko/archive/add-ons/code_snippets/xml/index.html
deleted file mode 100644
index 46749c928e..0000000000
--- a/files/ko/archive/add-ons/code_snippets/xml/index.html
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: XML
-slug: Archive/Add-ons/Code_snippets/XML
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Add-ons/Code_snippets/XML
----
-<ul>
- <li><a href="ko/How_to_Create_a_DOM_tree">DOM 트리를 만드는 법</a></li>
- <li><a href="ko/XMLHttpRequest">XMLHttpRequest 쓰기</a></li>
- <li><a href="ko/Parsing_and_serializing_XML">XML 구문분석 및 직렬화</a></li>
- <li><a href="ko/Using_XPath">XPath 쓰기</a></li>
- <li><a href="ko/XSL_Transforms">XSL 변환</a></li>
- <li><a href="ko/XLink">XLink</a></li>
- <li><a href="ko/XPointer">XPointer</a></li>
- <li><a href="ko/SVG">SVG</a></li>
- <li><a href="ko/Namespaces">네임스페이스</a>, 또는 모든 XUL 문서의 맨위에 <code><a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a></code>이 있는 까닭</li>
- <li><a href="ko/E4X">E4X</a></li>
-</ul>
-
-<p>{{ languages( { "en": "en/Code_snippets/XML", "fr": "fr/Extraits_de_code/XML" } ) }}</p>
diff --git a/files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html b/files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html
deleted file mode 100644
index f5f9d69790..0000000000
--- a/files/ko/archive/add-ons/extension_versioning,_update_and_compatibility/index.html
+++ /dev/null
@@ -1,193 +0,0 @@
----
-title: 'Extension Versioning, Update and Compatibility'
-slug: 'Archive/Add-ons/Extension_Versioning,_Update_and_Compatibility'
-tags:
- - Add-ons
- - Extensions
-translation_of: 'Archive/Add-ons/Extension_Versioning,_Update_and_Compatibility'
----
-<p> </p>
-<h2 id=".EB.B6.80.EA.B0.80_.EA.B8.B0.EB.8A.A5_.EB.B2.84.EC.A0.80.EB.8B.9D.28Versioning.29" name=".EB.B6.80.EA.B0.80_.EA.B8.B0.EB.8A.A5_.EB.B2.84.EC.A0.80.EB.8B.9D.28Versioning.29">부가 기능 버저닝(Versioning)</h2>
-<p>부가 기능은 <a href="ko/Toolkit_version_format">Toolkit version format</a>을 이용해 자신의 버전을 명시해야 합니다. 이는 다음과 같이 점으로 분리된 버전 문자열이라고 말씀드릴 수 있습니다.</p>
-<ul>
- <li>2.0</li>
- <li>1.0b1</li>
- <li>3.0pre1</li>
- <li>5.0.1.2</li>
-</ul>
-<div class="note">
- <b>참고:</b> Firefox 1.5 이전에는 좀 더 기본적인 Firefox Version Format을 사용했었습니다. 이 포맷은 major.minor.release.build[+] 의 형태로 구성되며 숫자만 사용할 수 있었습니다. Toolkit version format은 Firefox version format을 지원하면서도 더 많은 유연성을 제공합니다.</div>
-<h2 id=".EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.98_.ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.B0.A9.EB.B2.95" name=".EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.98_.ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.B0.A9.EB.B2.95">응용 프로그램의 호환성 검사 방법</h2>
-<p>부가기능을 설치하기 전에 응용 프로그램은 부가기능의 &lt;tt&gt;install.rdf&lt;/tt&gt;에 있는 <code><a href="ko/Install.rdf#targetApplication">targetApplication</a></code> 항목을 조사합니다. 해당 항목에는 대상 응용프로그램과 동일한 ID가 존재해야 합니다. 또한 이 항목의 <code>minVersion</code>과 <code>maxVersion</code>은 부가기능이 실행되는 응용프로그램의 버전이 포함되는 범위이어야 합니다.</p>
-<p>만일 응용프로그램이 <code>targetApplication</code> 요소를 가지고 있지만 호환되지 않는 버전일 경우 부가 기능의 <code><a href="ko/Install.rdf#updateURL">updateURL</a></code>에서 업데이트된 호환 정보를 조회해 제공합니다.</p>
-<p>만일 &lt;tt&gt;install.rdf&lt;/tt&gt;에 <code><a href="ko/Install.rdf#targetPlatform">targetPlatform</a></code> 항목들이 포함되어 있으며, 현재 응용프로그램이 실행되는 플랫폼이 해당 목록에 포함되어 있지 않을 경우 설치가 거부됩니다.</p>
-<p></p><div class="blockIndicator standardNote standardNoteBlock">
- <p><a href="https://developer.mozilla.org/ko/docs/Mozilla/Firefox/Releases/3">Firefox 3 note</a></p>
- <p style="font-weight: 400;">Gecko 1.9 기반의 응용프로그램일 경우 <code>targetApplication</code> 항목에 응용프로그램이 실행되는 툴킷 버전에 해당하는 <code>toolkit@mozilla.org</code>, <code>minVersion</code>, <code>maxVersion</code> 값을 사용할 수 있습니다. 이는 여러분의 부가 기능이 해당 툴킷 기반의 어떤 응용프로그램에서도 설치 가능하다는 것을 나타냅니다.</p>
-</div><p></p>
-<h3 id=".ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.AC.B4.EC.8B.9C.ED.95.98.EA.B8.B0" name=".ED.98.B8.ED.99.98.EC.84.B1_.EA.B2.80.EC.82.AC_.EB.AC.B4.EC.8B.9C.ED.95.98.EA.B8.B0">호환성 검사 무시하기</h3>
-<p> 테스트를 목적으로 할 경우 응용프로그램에 부가기능을 설치할 때 호환성 검사를 무시하도록 할 수 있습니다. 연산자(boolean) 형으로 <code>extensions.checkCompatibility</code> 설정을 만들고 <code>false</code>로 지정하면 됩니다.</p>
-<div class="note">
- <b>참고:</b> Firefox 1.5 이전 버전에서는 <code>app.extensions.version</code> 설정을 통해 응용프로그램의 버전을 오버라이드할 수도 있습니다. 이는 응용프로그램 자신이 호환되지 않는 확장 기능을 설치할 수 있다고 믿게끔 해 줍니다.</div>
-<h2 id="minVersion.EA.B3.BC_maxVersion_.EA.B2.B0.EC.A0.95.ED.95.98.EA.B8.B0" name="minVersion.EA.B3.BC_maxVersion_.EA.B2.B0.EC.A0.95.ED.95.98.EA.B8.B0">minVersion과 maxVersion 결정하기</h2>
-<p><code>minVersion</code>과 <code>maxVersion</code>은 여러분이 테스트한 응용프로그램의 버전 범위로 명시하는게 좋습니다. 특히 향후 API와 UI가 어떻게 변경될지 모르기 때문에 <code>maxVersion</code>을 현재 가능한 응용프로그램의 버전보다 높게 설정하지 않아야 합니다. <a href="#Compatibility_Updates">호환성 업데이트</a>를 이용하면 확장기능의 새로운 버전을 공개할 필요 없이 <code>maxVersion</code>만 증가시키면 됩니다.</p>
-<p><code>maxVersion</code>에서는 여러분이 지원하는 응용프로그램의 하위(minor) 버전 위치에 *를 사용할 수 있습니다. 예를 들어 2.0.0.*은 2 버전 응용프로그램에서의 하위 업데이트를 지원하는다는 것을 의미합니다. 응용 프로그램은 보통 확장 기능 작성자에게 버전의 어떤 부분을 이렇게 사용할 수 있는지 제안할 것입니다.</p>
-<p>실수로 *를 어떤 버전도 지원한다는 의미로 생각하지 마세요. 사실 *는 무한의 높은 숫자를 나타내며, 따라서 <code>maxVersion</code>에서 사용하였을때만 의미가 있습니다. 이를 <code>minVersion</code>에서 사용하면 여러분이 원하는 효과가 나지 않을 수 있습니다.</p>
-<h2 id=".EC.9E.90.EB.8F.99_.EB.B6.80.EA.B0.80.EA.B8.B0.EB.8A.A5_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EA.B2.80.EC.82.AC" name=".EC.9E.90.EB.8F.99_.EB.B6.80.EA.B0.80.EA.B8.B0.EB.8A.A5_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EA.B2.80.EC.82.AC">자동 부가기능 업데이트 검사</h2>
-<p>응용프로그램은 주기적으로 설치된 부가기능의 <code><a href="ko/Install.rdf#updateURL">updateURL</a></code>에서 정보를 가져와 업데이트 여부를 검사합니다. 반환된 정보는 사용자에게 부가기능의 업데이트된 버전이 있는지를 알려주고 응용프로그램에게는 해당 부가기능과 호환되는 응용프로그램의 버전을 알려줍니다.</p>
-<h3 id=".ED.98.B8.ED.99.98.EC.84.B1_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8" name=".ED.98.B8.ED.99.98.EC.84.B1_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8">호환성 업데이트</h3>
-<p>자동 업데이트 검사를 통해 응용프로그램은 현재 설치된 부가 기능 버전에 대한 새로운 버전과 갱신된 호환성 정보를 조사합니다. 만일 작성된 업데이트 선언에 현재 설치된 부가 기능에 대한 항목이 존재하고 해당 항목의 <code>targetApplication</code>에 더 큰 maxVersion이 명시되어 있을 경우, 응용 프로그램은 부가 기능의 &lt;tt&gt;install.rdf&lt;/tt&gt;에 명시된 값 대신 이 값을 사용하게 됩니다. 이는 호환성 문제로 사용 안함 상태로 되어 있는 부가 기능을 사용 가능한 상태로 만들 수도 있으며, 정상적으로 설치되지 않은 부가 기능을 정상적으로 설치된 상태로 만들 수도 있습니다.</p>
-<h3 id=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_RDF_.ED.8F.AC.EB.A7.B7" name=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_RDF_.ED.8F.AC.EB.A7.B7">업데이트 RDF 포맷</h3>
-<p>여러분이 부가기능의 <code>updateURL</code>을 직접 호스팅하는 경우, 부가기능의 버전 정보를 RDF 포맷으로 반환해야만 합니다. 아래는 업데이트 선언(update manifest) 예제입니다. 여기서는 id가 <code><a class="link-mailto" href="mailto:foobar@developer.mozilla.org" rel="freelink">foobar@developer.mozilla.org</a></code>인 서로 다른 2가지 버전의 확장기능에 대한 정보를 나열하고 있습니다. 포함된 버전은 2.2와 2.5 이고 둘 다 Firefox 1.5에서 2.0.0.* 버전에서 호환된다고 명시하고 있습니다. 버전 2.2의 경우 https 업데이트 링크를 사용하고 있으며, 버전 2.5는 일반적인 http 링크를 사용하며 전송된 파일의 유효성을 검사하기 위해 해시를 포함하고 있습니다.</p>
-<p>맨 처음에 있는 RDF:Description의 about 속성을 올바르게 설정하는 것이 중요합니다. 이 속성은 제공 정보가 어떤 종류의 부가기능에 대한 것인지에 따라 다음과 같이 달라집니다.</p>
-<ul>
- <li>확장 기능일 경우 <code>urn:mozilla:extension:&lt;id&gt;</code> 이어야 합니다.</li>
- <li>테마인 경우 <code>urn:mozilla:theme:&lt;id&gt;</code> 이어야 합니다.</li>
- <li>이 외의 다른 유형인 경우 <code>urn:mozilla:item:&lt;id&gt;</code> 이어야 합니다.</li>
-</ul>
-<p>아래 예제의 경우 이후 버전이 이전 버전보다 나중에 명시되어야 한다는 점에서 &lt;RDF:Seq&gt; 요소 내에 있는 버전의 순서가 중요합니다. 만일 최종 버전이 제공된다면 이전 버전 모두가 명시될 필요는 없습니다(?).</p>
-<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;
-
- &lt;!-- Description 리소스에는 id가 foobar@developer.mozilla.org인
- 단일 부가 기능에 대한 모든 업데이트와 호환성 정보를 포함합니다.
- 여러분은 하나의 RDF 파일에 여러개의 부가기능에 대한 정보를 나열할 수 있습니다. --&gt;
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org"&gt;
- &lt;em:updates&gt;
- &lt;RDF:Seq&gt;
-
- &lt;!-- 각각의 li는 동일한 부가기능에 대한 서로 다른 버전을 나타냅니다. --&gt;
- &lt;RDF:li&gt;
- &lt;RDF:Description&gt;
- &lt;em:version&gt;2.2&lt;/em:version&gt; &lt;!-- 이것은 부가기능의 버전 번호입니다. --&gt;
-
- &lt;!-- 이 부가 기능과 호환되는 각각의 응용 프로그램에 대해 targetApplication이 하나씩 존재합니다. --&gt;
- &lt;em:targetApplication&gt;
- &lt;RDF:Description&gt;
- &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
- &lt;em:minVersion&gt;1.5&lt;/em:minVersion&gt;
- &lt;em:maxVersion&gt;2.0.0.*&lt;/em:maxVersion&gt;
-
- &lt;!-- 이 부가 기능을 다운로드 받을 위치를 나타냅니다. --&gt;
- &lt;em:updateLink&gt;https://www.mysite.com/foobar2.2.xpi&lt;/em:updateLink&gt;
-
- &lt;!-- 업데이트된 버전에서 제공되는 새로운 기능을 설명하는 페이지에 대한 URL입니다. --&gt;
- &lt;em:updateInfoURL&gt;http://www.mysite.com/updateinfo2.2.xhtml&lt;/em:updateInfoURL&gt;
- &lt;/RDF:Description&gt;
- &lt;/em:targetApplication&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
-
- &lt;RDF:li&gt;
- &lt;RDF:Description&gt;
- &lt;em:version&gt;2.5&lt;/em:version&gt;
- &lt;em:targetApplication&gt;
- &lt;RDF:Description&gt;
- &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
- &lt;em:minVersion&gt;1.5&lt;/em:minVersion&gt;
- &lt;em:maxVersion&gt;2.0.0.*&lt;/em:maxVersion&gt;
- &lt;em:updateLink&gt;http://www.mysite.com/foobar2.5.xpi&lt;/em:updateLink&gt;
- &lt;em:updateHash&gt;sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6&lt;/em:updateHash&gt;
- &lt;/RDF:Description&gt;
- &lt;/em:targetApplication&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
-
- &lt;/RDF:Seq&gt;
- &lt;/em:updates&gt;
-
- &lt;!-- 서명은 부가기능의 install.rdf에 updateKey를 포함하고 있는 경우에만 필요합니다. --&gt;
- &lt;em:signature&gt;MIGTMA0GCSqGSIb3DQEBBQUAA4GBAMO1O2gwSCCth1GwYMgscfaNakpN40PJfOWt
- ub2HVdg8+OXMciF8d/9eVWm8eH/IxuxyZlmRZTs3O5tv9eWAY5uBCtqDf1WgTsGk
- jrgZow1fITkZI7w0//C8eKdMLAtGueGfNs2IlTd5P/0KH/hf1rPc1wUqEqKCd4+L
- BcVq13ad&lt;/em:signature&gt;
- &lt;/RDF:Description&gt;
-&lt;/RDF:RDF&gt;
-</pre>
-<p>어떤 사람들은 다음의 포맷을 더 좋아합니다(본 예제에서는 기본 구조를 중점적으로 보여주기 위해 몇 가지 정보가 생략되어 있습니다).</p>
-<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;
-
- &lt;!-- Description 리소스에는 id가 foobar@developer.mozilla.org인
- 단일 부가 기능에 대한 모든 업데이트와 호환성 정보를 포함합니다.
- 여러분은 하나의 RDF 파일에 여러개의 부가기능에 대한 정보를 나열할 수 있습니다. --&gt;
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org"&gt;
- &lt;em:updates&gt;
- &lt;RDF:Seq&gt;
- &lt;!-- resource 속성은 아래에 있는 RDF:Description의 동일한 about 속성을 가리킵니다.
- 실제 uri는 어떤 값이든 상관 없습니다. --&gt;
- &lt;RDF:li resource="urn:mozilla:extension:foobar@developer.mozilla.org:2.2"/&gt;
- &lt;RDF:li resource="urn:mozilla:extension:foobar@developer.mozilla.org:2.5"/&gt;
- &lt;/RDF:Seq&gt;
- &lt;/em:updates&gt;
- &lt;em:signature&gt;MIGTMA0GCSqGSIb3DQEBBQUAA4GBAMO1O2gwSCCth1GwYMgscfaNakpN40PJfOWt
- ub2HVdg8+OXMciF8d/9eVWm8eH/IxuxyZlmRZTs3O5tv9eWAY5uBCtqDf1WgTsGk
- jrgZow1fITkZI7w0//C8eKdMLAtGueGfNs2IlTd5P/0KH/hf1rPc1wUqEqKCd4+L
- BcVq13ad&lt;/em:signature&gt;
- &lt;/RDF:Description&gt;
-
- &lt;!-- 다음은 앞선 예제에서 li 요소 내에 있는 Description과 동일합니다. --&gt;
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org:2.2"&gt;
- &lt;em:version&gt;2.2&lt;/em:version&gt;
-
- &lt;!-- 나머지 내용은 생략하였습니다. --&gt;
-
- &lt;/RDF:Description&gt;
-
- &lt;RDF:Description about="urn:mozilla:extension:foobar@developer.mozilla.org:2.5"&gt;
- &lt;em:version&gt;2.5&lt;/em:version&gt;
-
- &lt;!-- 나머지 내용은 생략하였습니다. --&gt;
-
- &lt;/RDF:Description&gt;
-
-&lt;/RDF:RDF&gt;
-</pre>
-<h3 id=".EA.B0.B1.EC.8B.A0_.EC.82.AC.ED.95.AD.EC.97.90_.EB.8C.80.ED.95.9C_.EC.84.B8.EB.B6.80_.EC.A0.95.EB.B3.B4_.EC.A0.9C.EA.B3.B5.ED.95.98.EA.B8.B0" name=".EA.B0.B1.EC.8B.A0_.EC.82.AC.ED.95.AD.EC.97.90_.EB.8C.80.ED.95.9C_.EC.84.B8.EB.B6.80_.EC.A0.95.EB.B3.B4_.EC.A0.9C.EA.B3.B5.ED.95.98.EA.B8.B0">갱신 사항에 대한 세부 정보 제공하기</h3>
-<p></p>
-<p>부가 기능 사용자에게 갱신된 사항에 대한 세부 정보를 제공할 수 있습니다. 이는 사용자가 부가 기능의 업데이트 알림을 받은 경우에만 보여지는 것으로, 어떤 기능이 새롭게 추가되었고 보안과 관련된 어떤 문제들이 해결되었는지 등에 대한 빠른 개요를 제공해주는데 사용될 수 있습니다.</p>
-<p>이를 위해 먼저 업데이트 선언 파일에 <code>updateInfoURL</code> 항목을 추가해야 합니다(위 예제를 보세요). 이 URL에 해당하는 페이지가 사용자에게 출력됩니다. 이 페이지는 일반적인 웹 페이지 외부에 출력되므로 깨끗하게 만들어져야 합니다. 이는 몇 가지 사항만이 가능하고 스크립트나 이미지들은 사용할 수 없다는 것을 의미합니다. 일반 규칙으로 다음의 태그들만 사용하는게 좋으며, 다른 태그들은 무시됩니다.</p>
-<ul>
- <li>제목으로 사용되는 h1, h2, h3</li>
- <li>문단으로 사용되는 p</li>
- <li>목록으로 사용되는 ul과 ol</li>
-</ul>
-<p>목록 내에서는 개별 항목을 나타내는 <code>li</code> 태그를 사용합니다.</p>
-<p>h1, h2, h3, p, li 태그 내에서는 다음을 사용할 수 있습니다.</p>
-<ul>
- <li>두꺼운 글자를 위해 b 나 strong</li>
- <li>이탤릭 글자를 위해 i 나 em</li>
-</ul>
-<p>해당 페이지는 완전히 유효한 XHTML이어야 하면 MIME type이 <code>application/xhtml+xml</code>어야 합니다.</p>
-<p>업데이트 선언 파일의 <code>updateInfoURL</code>에는 URL에 로케일 정보를 포함하고자 할 경우 <code>%APP_LOCALE%</code>을 포함할 수 있습니다. 이를 이용하면 사용자의 로케일에 따라 내용을 수정할 수 있습니다. 이 외에도 <code>updateURL</code>에서 지원하는 또 다른 치환 문자열을 사용할 수 있습니다만, 별로 필요하지는 않을 것입니다.</p>
-<h3 id=".EB.B3.B4.EC.95.88_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8" name=".EB.B3.B4.EC.95.88_.EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8">보안 업데이트</h3>
-<p> </p>
-<p>Gecko 1.9는 부가 기능 업데이트와 같은 경우에 사용자를 <a class="external" href="http://en.wikipedia.org/wiki/Man-in-the-middle_attack">man-in-the-middle attacks</a>에서 보호하기 위해 설계된 부가적인 요구 사항을 추가했습니다. 이미 설치된 부가 기능의 install.rdf에서 <code>updateURL</code>을 다음 방법 중 한 가지로 지정해야 합니다.</p>
-<ul>
- <li><code><a href="ko/Install.rdf#updateURL">updateURL</a></code>이 https를 사용하거나 <code>updateURL</code>이 전혀 없습니다 (which defaults to &lt;tt&gt;addons.mozilla.org&lt;/tt&gt; which is https).</li>
- <li><code><a href="ko/Install.rdf#updateURL">updateURL</a></code>이 http를 사용하고 업데이트 선언에 있는 데이터를 확인하는데 사용할 <code><a href="ko/Install.rdf#updateKey">updateKey</a></code> 항목을 지정합니다.</li>
-</ul>
-<p>&lt;tt&gt;install.rdf&lt;/tt&gt;에서 <code>updateKey</code>를 지정할 때는 업데이트 선언에 <a href="#Signing_Update_Manifests">digital signature</a>를 포함해야 하며 그렇지 않으면 정보가 거부됩니다.</p>
-<p><code>updateURL</code>에서 전달된 업데이트 선언에서는 <code>updateLink</code>를 다음 방법 중 한 가지로 지정해야 합니다.</p>
-<ul>
- <li>XPI 파일을 가리키는 <code>updateLink</code>는 꼭 https를 사용해야 합니다.</li>
- <li><code>updateLink</code>가 http를 사용할 수 있으며, sha1, sha256, sha384, sha512 중 하나의 알고리즘을 이용하여 XPI 파일에 대한 <code><a href="#Update_Hashes">updateHash</a></code>를 포함해야 합니다.</li>
-</ul>
-<p>업데이트 선언에서 위의 두 가지 요구 사항 중 하나를 만족하지 못하는 모든 항목은 새로운 버전을 확인할 때 무시됩니다.</p>
-<p>잘못된 인증서를 가진 사이트로 가는 https 링크나 http 사이트로 리디렉트하는 것은 &lt;tt&gt;update.rdf&lt;/tt&gt;와 <code>updateLink</code>의 두 가지 경우에 모두 실패합니다.</p>
-<h4 id=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.ED.95.B4.EC.8B.9C" name=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.ED.95.B4.EC.8B.9C">업데이트 해시</h4>
-<p>다운로드한 XPI의 무결성을 확인하기 위하여 updateLink와 함께 <code>updateHash</code> 항목을 제공해야 합니다. 이 해시는 파일 데이터에 대하여 문자열 형식으로 생성해야 합니다. 문자열의 시작에 사용한 해시 알고리즘을 넣고 <code>:</code>으로 해시와 구별합니다.</p>
-<pre> &lt;em:updateHash&gt;sha1:78fc1d2887eda35b4ad2e3a0b60120ca271ce6e6&lt;/em:updateHash&gt;
-</pre>
-<p>해시가 지정되면 다운로드한 파일을 해시와 비교하고 일치하지 않으면 오류를 표시합니다.</p>
-<h4 id=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EC.84.A0.EC.96.B8_.EC.84.9C.EB.AA.85.ED.95.98.EA.B8.B0" name=".EC.97.85.EB.8D.B0.EC.9D.B4.ED.8A.B8_.EC.84.A0.EC.96.B8_.EC.84.9C.EB.AA.85.ED.95.98.EA.B8.B0">업데이트 선언 서명하기</h4>
-<p> </p>
-<p>업데이트 RDF를 일반 http로 제공하기를 원한다면, Gecko 1.9 기반의 애플리케이션에서는 업데이트 선언을 서명해야 합니다. 이는 해당 정보를 생성한 여러분과 그것을 추출하는 애플리케이션 사이에서 간섭이 없었다는 것을 확인하기 위한 것입니다. 업데이트 RDF를 서명하는 데에는 <a href="ko/McCoy">McCoy</a> 도구를 사용해야 합니다.</p>
-<p>서명 방식에 대한 기술적인 세부 사항은 이 문서의 범위를 벗어나지만 기본적인 사항은 다음과 같습니다.</p>
-<p>부가 기능 작성자가 공개/개인 RSA 암호 키 쌍을 생성합니다.</p>
-<p>공개키는 DER로 인코드된 후에 base 64로 인코드되어 부가 기능의 &lt;tt&gt;install.rdf&lt;/tt&gt;에 <code><a href="ko/Install.rdf#updateKey">updateKey</a></code> 항목으로 추가됩니다.</p>
-<p>작성자가 업데이트 RDF 파일을 생성할 때 도구를 사용하여 개인키로 서명합니다. 대략적으로 이야기하면, 업데이트 정보는 문자열로 변환되어 sha512 해시 알고리즘으로 해시되고 개인키로 이 해시를 서명합니다. 결과 데이터는 DER로 인코드하고 base 64로 인코드한 후 업데이트 RDF에 <code>em:signature</code> 항목으로 포함합니다.</p>
diff --git a/files/ko/archive/add-ons/index.html b/files/ko/archive/add-ons/index.html
deleted file mode 100644
index d1851bd7ee..0000000000
--- a/files/ko/archive/add-ons/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Add-ons
-slug: Archive/Add-ons
-translation_of: Archive/Add-ons
----
-<p>In progress. Archived add-ons documentation.</p>
-
-<p></p>
diff --git a/files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html b/files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html
deleted file mode 100644
index 96b33ef569..0000000000
--- a/files/ko/archive/add-ons/listening_to_events_in_firefox_extensions/index.html
+++ /dev/null
@@ -1,114 +0,0 @@
----
-title: Listening to events
-slug: Archive/Add-ons/Listening_to_events_in_Firefox_extensions
-translation_of: Archive/Add-ons/Listening_to_events_in_Firefox_extensions
----
-<p>Gecko는 사용자가 알기 원하는 흥미로운 것들에 대해 정보를 전달하기 위한 이벤트들을 사용합니다. 이벤트들은 여러 종류 를 가지지만, 이 문헌은 여러분이 그것들에 대해 배우고 여러분이 그것들에 대한 더 특정한 문서들을 직접적(쉽게)으로 접근하는데 도와 줄 것입니다. 또 이 문헌은 관심을 가질 만한 몇 가지 케이스를 제공합니다.</p>
-<h2 id="이벤트들의_타입들">이벤트들의 타입들</h2>
-<p>개발자들은 어플리케이션과 확장기능 안에 포함된 콘텐트의 load와 그 변경에 대해 알기 위해, <a class="internal" href="/en/XUL/browser" title="En/XUL/Browser"><code>browser</code></a> 와 <code><a class="internal" href="/en/XUL/tabbrowser" title="En/XUL/Tabbrowser">tabbrowser</a></code>의 요소들로 부터의 알림을 받을 수 있는데 이것은 여러 이벤트들의 타입들로 가능합니다.</p>
-<h3 id="간단한_DOM_이벤트들">간단한 DOM 이벤트들</h3>
-<p>DOM 이벤트는 다음과 같은 코드로 등록할 수 있습니다:</p>
-<pre>function callback(evt) {
- // Do your processing here. Check evt.target for the target of the event.
-}
-
-b.addEventListener("event", callback, false)
-</pre>
-<p>위에서 b는 <code>여러분이 이벤트로부터 보기 원하는 </code><code>browser</code> 또는 <code>tabbrowser 입니다. 명심해야 할것은 이벤트들은 </code><code>browser의 프레임이나 또는 </code><code>tabbrowser</code>, 브라우저들의 안에 존재해야 될 것입니다.</p>
-<p>아래 리스트는 여러분이 여러 상황을 모니터하기 원하는 좀 더 흥미로운 DOM 이벤트들입니다.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">이벤트</td>
- <td class="header">설명</td>
- </tr>
- <tr>
- <td><code>DOMLinkAdded</code></td>
- <td>새로운 HTML <a class="internal" href="/en/HTML/Element/link" title="En/HTML/Element/Link"><code>&lt;link&gt;</code></a> 요소를 문서에서 감지했을 때 dispatch됩니다.</td>
- </tr>
- <tr>
- <td><code>DOMTitleChanged</code></td>
- <td>페이지의 타이틀이 변경 되었을 때 dispatch됩니다.</td>
- </tr>
- <tr>
- <td><code>DOMContentLoaded</code></td>
- <td>페이지의 초기 DOM이 완전히 로드되었을 때 dispatch됩니다.</td>
- </tr>
- <tr>
- <td><code>load</code></td>
- <td>dispatch된 후에 페이지가(이미지를 포함하여) 처음으로 로딩을 완료했을 때.</td>
- </tr>
- <tr>
- <td><code>unload</code></td>
- <td>유저가 페이지로부터 떨어져 탐색할 때 dispatch됩니다.</td>
- </tr>
- <tr>
- <td><code>pageshow</code></td>
- <td>페이지가 새롭게 표시되었을 때 dispacth됩니다.</td>
- </tr>
- <tr>
- <td><code>pagehide</code></td>
- <td>페이지가 감춰졌을 때 dispatch됩니다.</td>
- </tr>
- </tbody>
-</table>
-<p><code>load</code>, <code>unload</code>, <code>pageshow</code> and <code>pagehide 이벤트의 dispatch 유무에 대해서는 </code><a class="internal" href="/En/Using_Firefox_1.5_caching" title="En/Using Firefox 1.5 caching">Firefox's caching behaviour</a>의 기사에서 더 자세하게 다룹니다.</p>
-<h3 id="웹_progress의_listener들">웹 progress의 listener들</h3>
-<p>웹 로드들의 자세한 내용을 보려면 web progress listener를 사용하면 됩니다. 이들은 웹에서 데이터 로드의 progress 상황에 대한 자세한 내용을 제공합니다. 아래는 <code>browser</code> 와 <code>tabbrowser를 요소들을 지원하는 코드입니다:</code></p>
-<pre>var progressListener = {
- // add nsIWebProgressImplementation here
-}
-
-b.addProgressListener(progressListener);
-</pre>
-<p><code>위에서 b는 여러분이 </code><code>이벤트들에 대해 litsen하기 원하는</code><code> </code><code>browser</code> 또는 <code>tabbrowser 입니다.</code><code> </code><a class="internal" href="/en/Code_snippets/Progress_Listeners" title="en/Code snippets/Progress Listeners">using web progress listeners</a>의 링크는 코드 snippet의 더 자세한 사용 가능을 다룹니다.</p>
-<p>tabbrowser는 오직 현재 이벤트가 발생할 때 표시하는 브라우저부터 이벤트들을 받을 수 있습니다. 모든 브라우저들로부터 이벤트들을 listen하기 위해서는 현재 이벤트에 대해 표시하지않는 코드를 포함하면 됩니다. 아래는 그 예를 설명합니다:</p>
-<pre>var tabsProgressListener = {
- // add tabs progress listener implementation here
-}
-
-gBrowser.addTabsProgressListener(tabsProgressListener);
-</pre>
-<p>이렇게 하면 여러분은 모든 tab들과 관련된 이벤트들을 받을 수 있습니다. <a class="internal" href="/En/Listening_to_events_on_all_tabs" title="En/Listening to events on all tabs"><span class="external">listening to events from all tabs</span></a> 링크는 더 자세한 사용 가능을 다룹니다.</p>
-<p></p><div class="blockIndicator standardNote standardNoteBlock">
- <p><a href="https://developer.mozilla.org/ko/docs/Mozilla/Firefox/Releases/3.5">Firefox 3.5 note</a></p>
- <p style="font-weight: 400;">모든 탭들로부터 이벤트들을 listen하는 능력은 Firefox 3.5. 버전에 포함 되었습니다.</p>
-</div><p></p>
-<h2 id="파이어폭스에서는_이벤트들을_어떻게_처리하는가">파이어폭스에서는 이벤트들을 어떻게 처리하는가</h2>
-<p>파이어 폭스에서는 이미 어느 정도 progress 이벤트들을 웹 페이지들로 부터 listen합니다. 이 중 대부분은 <code>browser로 가게됩니다.js.</code></p>
-<h3 id="DOMLinkHandler">DOMLinkHandler</h3>
-<p><code>DOMLinkHandler 오브젝트는 </code><code>어떤 RSS 피드들이나 사이트 아이콘들, 또는 웹 사이트에 대한 오픈서치 플러그인을 감지하기 위한 DOMLinkAdded 이벤트라고 할 수 있습니다.</code></p>
-<h3 id="pageShowEventHandlers">pageShowEventHandlers</h3>
-<p><code>pageShowEventHandlers()</code> 함수는 메뉴에 문자세트를 삽입하거나 피드(feed)들을 감지 또는 웹 사이틀을 위한 오픈서치 플러그인과 관련된 UI 요소들의 업데이트 등의 <code>pageshow 이벤트라고 할 수 있습니다.</code></p>
-<h3 id="XULBrowserWindow">XULBrowserWindow</h3>
-<p>이 오브젝트는 현재 브라우저에 표시되고 있는 이벤트들의 progress를 얻기 위한 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWebProgressListener" title="">nsIWebProgressListener</a></code>입니다. 이 오브젝트는 아래와 같은 많은 이유로 UI를 업데이트하기 위해 사용합니다:</p>
-<ul>
- <li>progress 바의 업데이트와 페이지를 불러오는 과정의 status 메시지</li>
- <li>페이지를 로드 할 때의 실행색인기를 켜고 끔.</li>
- <li>사이트 아이콘을 배치할 때</li>
- <li>사용자가 인터넷을 이용 할 때 주소창의 업데이트</li>
- <li>사용자가 인터넷을 항해 할 때 알림 표시줄을 적절한 때에 숨기기</li>
- <li>페이지들를 새로고침 하여도 사이트를 확대해서 보는 설정을 그대로 적용하기.</li>
- <li>북마크 버튼 UI을 활성화 하기.</li>
- <li>사이트의 보안 변경에 대한 표시를 알릴 때.</li>
-</ul>
-<h3 id="TabsProgressListener">TabsProgressListener</h3>
-<p>이 오브젝트는 탭들의 progress listener 와 윈도우 안의 모든 브라우저에 대한 이벤트들을 받을 수 있습니다.  웹페이지가 새로고침을 시도할 때나 이를 저지하려는 시도를 사용자가 허락 할 때를 감지하는데 사용됩니다.</p>
-<h2 id="tabbrowser는_이벤트를_어떻게_처리하는가">tabbrowser는 이벤트를 어떻게 처리하는가</h2>
-<p><code>tabbrowser는 </code>두가지 모드 중 한가지로 실행됩니다. 처음에는 non-tabbed 모드로 시작하고 이 모드는 아래와 같은 상황이 발생하기 전까지 유지 됩니다.</p>
-<ul>
- <li>탭바가 보여질 때</li>
- <li>탭이 추가되었을 때</li>
- <li>한개 보다 많은 webprogress listener가 추가 되었을 때</li>
- <li>탭 progress listener가 추가 되었을 때</li>
-</ul>
-<h3 id="Non-tabbed_모드">Non-tabbed 모드</h3>
-<p>non-tabbed 모드에서, <code>tabbrowser는 </code>오직 하나의 탭만이 존재 할 수 있습니다. 이 모드에서는 단 하나의 web progress listener만이 브라우저로부터 progress 이벤트의 listen을 추가할 수있습니다. 첫째로 <code>browser-status-filter를 만들고 브라우저에 대한 </code>web progress listener를 추가 합니다. 다음은 브라우저로부터 모든 web progress 이벤트들을 받기 위한 내부 오브젝트를 만듭니다. 이는 <code>mTabProgressListener()</code> 메소드가 처리합니다. 이것은 <code>browser-status-filte로부터 이벤트들을 받습니다. </code>필터 성능 향상을 위해 진행 상태 및 이벤트의 수를 줄이는 역할을 합니다.<code> 필터들은 </code><code>mTabListeners<span style="font-family: Verdana,Tahoma,sans-serif;"><span style="font-family: monospace;">가 배열된 내부</span></span></code><code> </code>listener<code>와 </code><code>mFilters의 배열</code><code>로 도움을 받습니다. 내부 </code>listener들은 progress 이벤트들을 <a class="internal" href="/en/XUL/Method/addProgressListener" title="En/XUL/Method/AddProgressListener"><code>addProgressListener()</code></a> (현재 보이는 브라우저부터 받은 이벤트들)와 <a class="internal" href="/En/XUL/Method/AddTabsProgressListener" title="En/XUL/Method/AddTabsProgressListener"><code>addTabsProgressListener()</code></a> (모든 브라우저로부터 받은 이벤트들)가 지정된 listener들로 내보내게 됩니다.</p>
-<p> </p>
-<h2 id="또_보기">또 보기</h2>
-<ul>
- <li><a class="internal" href="/en/DOM/event" title="En/DOM/Event"><code>event</code></a></li>
- <li><a class="internal" href="/En/Listening_to_events_on_all_tabs" title="En/Listening to events on all tabs">Listening to events on all tabs</a></li>
- <li><a class="internal" href="/En/DOM/Mouse_gesture_events" title="en/Mouse gesture events">Mouse gesture events</a></li>
- <li><a class="internal" href="/en/Code_snippets/Progress_Listeners" title="en/Code snippets/Progress Listeners">Code snippets: Progress listeners</a></li>
-</ul>
diff --git a/files/ko/archive/api/index.html b/files/ko/archive/api/index.html
deleted file mode 100644
index 5f78af9636..0000000000
--- a/files/ko/archive/api/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: API
-slug: Archive/API
-tags:
- - API
- - Archive
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/API
----
-<p>Archived documentation about obsolete web standards APIs.</p>
-
-<p></p><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/API/Navigator">Navigator</a></dt><dd class="landingPageList">Features that used to hang off the <a href="/en-US/docs/Web/API/Navigator" title="The Navigator interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities."><code>Navigator</code></a> interface, but have since been removed.</dd></dl><p></p>
diff --git a/files/ko/archive/api/navigator/index.html b/files/ko/archive/api/navigator/index.html
deleted file mode 100644
index 1840171fcc..0000000000
--- a/files/ko/archive/api/navigator/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Navigator
-slug: Archive/API/Navigator
-translation_of: Archive/API/Navigator
----
-<p>In progress. Features that used to hang off the <a href="/ko/docs/Web/API/Navigator" title="The Navigator interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities."><code>Navigator</code></a> interface, but have since been removed.</p>
-
-<p></p>
diff --git a/files/ko/archive/apps/design/planning/index.html b/files/ko/archive/apps/design/planning/index.html
deleted file mode 100644
index 3a7e80993d..0000000000
--- a/files/ko/archive/apps/design/planning/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: Planning
-slug: Archive/Apps/Design/Planning
-tags:
- - Apps
- - Design
- - NeedsTranslation
- - Planning
- - TopicStub
-translation_of: Archive/Apps/Design/Planning
----
-<div class="summary">
-<p>이 문서들은 성공적인 웹 응용프로그램들을 기획하기 위한 정보들을 제공해줍니다.</p>
-</div>
-
-<dl>
- <dt><a href="/en-US/Apps/Design/Planning/Planning_your_app">응용프로그램 계획</a></dt>
- <dd>응용프로그램을 계획하는 것부터 시작하세요.</dd>
- <dt><a href="/en-US/Apps/Design/Planning/General_design_principles">일반 디자인 원칙</a></dt>
- <dd>시작하기 위한 유용한 일반적인 디자인 원칙 목록</dd>
- <dt><a href="/en-US/Apps/Design/Planning/Installed_app_considerations">설치된 응용프로그램 고려</a></dt>
- <dd>높은 수준의 고려사항입니다. 특히 Open Web App UX에서 교려해야 합니다.</dd>
-</dl>
diff --git a/files/ko/archive/apps/index.html b/files/ko/archive/apps/index.html
deleted file mode 100644
index bd5392bac5..0000000000
--- a/files/ko/archive/apps/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: 응용 프로그램들
-slug: Archive/Apps
-tags:
- - Apps
- - Firefox OS
- - NeedsTranslation
- - TopicStub
- - Web
-translation_of: Archive/Apps
----
-<p class="summary">This page includes archived content for Apps, including obsolete web app content, Firefox OS app-related content, etc.</p>
-
-<p></p><dl><dt class="landingPageList"><a href="/ko/docs/Web/Apps/Design">열린 웹 응용프로그램들 설계하기</a></dt><dd class="landingPageList">The items under this section apply generally to Web app design.</dd></dl><p></p>
diff --git a/files/ko/archive/b2g_os/api/camera_api/index.html b/files/ko/archive/b2g_os/api/camera_api/index.html
deleted file mode 100644
index d18716974b..0000000000
--- a/files/ko/archive/b2g_os/api/camera_api/index.html
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: Camera API
-slug: Archive/B2G_OS/API/Camera_API
-tags:
- - API
- - Firefox OS
- - Graphics
- - NeedsTranslation
- - Reference
- - Référence(2)
- - TopicStub
- - WebAPI
- - camera
-translation_of: Archive/B2G_OS/API/Camera_API
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/ko/docs/Web/API/Camera_API">Camera API</a></strong></li><li class="toggle"><details open><summary>Interfaces</summary><ol><li><a href="/ko/docs/Web/API/CameraCapabilities"><code>CameraCapabilities</code></a></li><li><a href="/ko/docs/Web/API/CameraControl"><code>CameraControl</code></a></li><li><a href="/ko/docs/Web/API/CameraManager"><code>CameraManager</code></a></li></ol></details></li><li class="toggle"><details open><summary>Methods</summary><ol><li><a href="/ko/docs/Web/API/Navigator/mozCameras"><code>Navigator.mozCameras</code></a></li></ol></details></li></ol></section><p></p>
-
-<p></p><div class="overheadIndicator nonStandard nonStandardHeader">
- <p><strong><span title="This API has not been standardized."><i class="icon-warning-sign"> </i></span> Non-standard</strong><br>
- This feature is not on a current W3C standards track, but it is supported on the Firefox OS platform. Although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to Firefox OS apps.</p>
- </div><p></p>
-
-<p>The <strong>Camera API</strong> allows applications to manage the camera of the device. It allows them to take photographs, record videos, and get information like the focus, the zoom, the white balance, the flash, … It is a priviledged API and can only be used by certified applications.</p>
-
-<p>This API was initially only available to certified applications, but is available to privileged apps on Firefox 2.0 onwards.</p>
-
-<div class="note">
-<p><strong>Note:</strong> Except if you are implementing a replacement for the default <em>Camera</em> application, you shouldn't use this API. Instead, if you want to use the camera in your device, you should use the <a href="/en-US/docs/WebAPI/Web_Activities" title="/en-US/docs/Web/API/Web_Activities">Web Activities API</a>.</p>
-</div>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/ko/docs/Web/API/Navigator/mozCameras" title="The documentation about this has not yet been written; please consider contributing!"><code>navigator.mozCameras</code></a></li>
- <li><a href="/ko/docs/Web/API/CameraManager" title="The documentation about this has not yet been written; please consider contributing!"><code>CameraManager</code></a></li>
- <li><a href="/ko/docs/Web/API/CameraControl" title="The documentation about this has not yet been written; please consider contributing!"><code>CameraControl</code></a></li>
- <li><a href="/ko/docs/Web/API/CameraCapabilities" title="The documentation about this has not yet been written; please consider contributing!"><code>CameraCapabilities</code></a></li>
-</ul>
diff --git a/files/ko/archive/b2g_os/api/camera_api/introduction/index.html b/files/ko/archive/b2g_os/api/camera_api/introduction/index.html
deleted file mode 100644
index 1ea6d25a38..0000000000
--- a/files/ko/archive/b2g_os/api/camera_api/introduction/index.html
+++ /dev/null
@@ -1,247 +0,0 @@
----
-title: Introduction to the Camera API
-slug: Archive/B2G_OS/API/Camera_API/Introduction
-translation_of: Archive/B2G_OS/API/Camera_API/Introduction
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/ko/docs/Web/API/Camera_API">Camera API</a></strong></li><li class="toggle"><details open><summary>Interfaces</summary><ol><li><a href="/ko/docs/Web/API/CameraCapabilities"><code>CameraCapabilities</code></a></li><li><a href="/ko/docs/Web/API/CameraControl"><code>CameraControl</code></a></li><li><a href="/ko/docs/Web/API/CameraManager"><code>CameraManager</code></a></li></ol></details></li><li class="toggle"><details open><summary>Methods</summary><ol><li><a href="/ko/docs/Web/API/Navigator/mozCameras"><code>Navigator.mozCameras</code></a></li></ol></details></li></ol></section><p></p>
-
-<p><span class="seoSummary"><a href="/en-US/docs/Web/API/Camera_API">Camera API</a> 를 사용하면 디바이스의 카메라를 이용해 사진을 찍어 현재 웹페이지에 업로드하는것이 가능해집니다.</span> This is achieved through an <code>input</code> element with <code>type="file"</code> and an <code>accept</code> attribute to declare that it accepts images. The HTML looks like this:</p>
-
-<pre class="brush: html">&lt;input type="file" id="take-picture" accept="image/*"&gt;
-</pre>
-
-<p>When users choose to activate this HTML element, they are presented with an option to choose a file, where the device's camera is one of the options. If they select the camera, it goes into picture taking mode. After the picture has been taken, the user is presented with a choice to accept or discard it. If accepted, it gets sent to the <code>&lt;input type="file"&gt;</code> element and its <code>onchange</code> event is triggered.</p>
-
-<h2 id="Get_a_reference_to_the_taken_picture">Get a reference to the taken picture</h2>
-
-<p>With the help of the <a href="/en-US/docs/Using_files_from_web_applications">File API</a> you can then access the taken picture or chosen file:</p>
-
-<pre class="brush: js">var takePicture = document.querySelector("#take-picture");
-takePicture.onchange = function (event) {
- // Get a reference to the taken picture or chosen file
- var files = event.target.files,
- file;
- if (files &amp;&amp; files.length &gt; 0) {
- file = files[0];
- }
-};
-</pre>
-
-<h2 id="Presenting_the_picture_in_the_web_page">Presenting the picture in the web page</h2>
-
-<p>Once you have a reference to the taken picture (i.e., file), you can then use <a href="/ko/docs/Web/API/Window/URL/createObjectURL" title="The documentation about this has not yet been written; please consider contributing!"><code>window.URL.createObjectURL()</code></a> to create a URL referencing the picture and setting it as the <code>src</code> of an image:</p>
-
-<pre class="brush: js">// Image reference
-var showPicture = document.querySelector("#show-picture");
-
-// Create ObjectURL
-var imgURL = window.URL.createObjectURL(file);
-
-// Set img src to ObjectURL
-showPicture.src = imgURL;
-
-// For performance reasons, revoke used ObjectURLs
-URL.revokeObjectURL(imgURL);
-</pre>
-
-<p>If <code>createObjectURL()</code> isn't supported, an alternative is to fallback to <a href="/ko/docs/Web/API/FileReader" title="FileReader 객체는  웹 애플리케이션이 비동기적으로 데이터를 읽기 위하여 읽을 파일을 가리키는File 혹은 Blob 객체를 이용해 파일의 내용을(혹은 raw data버퍼로) 읽고 사용자의 컴퓨터에 저장하는 것을 가능하게 해줍니다."><code>FileReader</code></a>:</p>
-
-<pre class="brush: js">// Fallback if createObjectURL is not supported
-var fileReader = new FileReader();
-fileReader.onload = function (event) {
- showPicture.src = event.target.result;
-};
-fileReader.readAsDataURL(file);
-</pre>
-
-<h2 id="Complete_example">Complete example</h2>
-
-<p>If you want to see it in action, take a look at the <a class="external" href="http://robnyman.github.com/camera-api/">complete working Camera API example</a>.</p>
-
-<p>Here is the code used for that demo:</p>
-
-<h3 id="HTML_page">HTML page</h3>
-
-<pre class="brush: html">&lt;!DOCTYPE html&gt;
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta charset="utf-8"&gt;
- &lt;title&gt;Camera API&lt;/title&gt;
- &lt;link rel="stylesheet" href="css/base.css" type="text/css" media="screen"&gt;
- &lt;/head&gt;
-
- &lt;body&gt;
-
- &lt;div class="container"&gt;
- &lt;h1&gt;Camera API&lt;/h1&gt;
-
- &lt;section class="main-content"&gt;
- &lt;p&gt;A demo of the Camera API, currently implemented in Firefox and Google Chrome on Android. Choose to take a picture with your device's camera and a preview will be shown through createObjectURL or a FileReader object (choosing local files supported too).&lt;/p&gt;
-
- &lt;p&gt;
- &lt;input type="file" id="take-picture" accept="image/*"&gt;
- &lt;/p&gt;
-
- &lt;h2&gt;Preview:&lt;/h2&gt;
- &lt;p&gt;
- &lt;img src="about:blank" alt="" id="show-picture"&gt;
- &lt;/p&gt;
-
- &lt;p id="error"&gt;&lt;/p&gt;
-
- &lt;/section&gt;
-
- &lt;p class="footer"&gt;All the code is available in the &lt;a href="https://github.com/robnyman/robnyman.github.com/tree/master/camera-api"&gt;Camera API repository on GitHub&lt;/a&gt;.&lt;/p&gt;
- &lt;/div&gt;
-
-
- &lt;script src="js/base.js"&gt;&lt;/script&gt;
-
-
- &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<h3 id="JavaScript_file">JavaScript file</h3>
-
-<pre class="brush: js">(function () {
- var takePicture = document.querySelector("#take-picture"),
- showPicture = document.querySelector("#show-picture");
-
- if (takePicture &amp;&amp; showPicture) {
- // Set events
- takePicture.onchange = function (event) {
- // Get a reference to the taken picture or chosen file
- var files = event.target.files,
- file;
- if (files &amp;&amp; files.length &gt; 0) {
- file = files[0];
- try {
- // Create ObjectURL
- var imgURL = window.URL.createObjectURL(file);
-
- // Set img src to ObjectURL
- showPicture.src = imgURL;
-
- // Revoke ObjectURL
- URL.revokeObjectURL(imgURL);
- }
- catch (e) {
- try {
- // Fallback if createObjectURL is not supported
- var fileReader = new FileReader();
- fileReader.onload = function (event) {
- showPicture.src = event.target.result;
- };
- fileReader.readAsDataURL(file);
- }
- catch (e) {
- //
- var error = document.querySelector("#error");
- if (error) {
- error.innerHTML = "Neither createObjectURL or FileReader are supported";
- }
- }
- }
- }
- };
- }
-})();
-</pre>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<p></p><p class="warning"><strong><a href="https://github.com/mdn/browser-compat-data">We're converting our compatibility data into a machine-readable JSON format</a></strong>.
- This compatibility table still uses the old format,
- because we haven't yet converted the data it contains.
- <strong><a href="/ko/docs/MDN/Contribute/Structures/Compatibility_tables">Find out how you can help!</a></strong></p>
-
-<div class="htab">
- <a id="AutoCompatibilityTable" name="AutoCompatibilityTable"></a>
- <ul>
- <li class="selected"><a>Desktop</a></li>
- <li><a>Mobile</a></li>
- </ul>
-</div><p></p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Camera API</td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- <tr>
- <td><code><a href="/en-US/docs/Web/API/URL/createObjectURL">createObjectURL()</a></code></td>
- <td>16</td>
- <td><a href="/en-US/Firefox/Releases/8" title="Released on 2011-11-08.">8.0</a> (8.0)</td>
- <td>10</td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- <tr>
- <td><a href="/ko/docs/Web/API/FileReader" title="FileReader 객체는  웹 애플리케이션이 비동기적으로 데이터를 읽기 위하여 읽을 파일을 가리키는File 혹은 Blob 객체를 이용해 파일의 내용을(혹은 raw data버퍼로) 읽고 사용자의 컴퓨터에 저장하는 것을 가능하게 해줍니다."><code>FileReader</code></a></td>
- <td>16</td>
- <td><a href="/en-US/Firefox/Releases/3.6" title="Released on 2010-01-21.">3.6</a> (1.9.2)</td>
- <td>10</td>
- <td>11.6</td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Camera API</td>
- <td>3.0</td>
- <td><span style="color: #888;" title="Please update this with the earliest version of support.">(Yes)</span></td>
- <td>10.0 (10.0)</td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- <tr>
- <td><code><a href="/en-US/docs/Web/API/URL/createObjectURL">createObjectURL()</a></code></td>
- <td>4</td>
- <td><span style="color: #888;" title="Please update this with the earliest version of support.">(Yes)</span></td>
- <td>10.0 (10.0)</td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- <tr>
- <td><a href="/ko/docs/Web/API/FileReader" title="FileReader 객체는  웹 애플리케이션이 비동기적으로 데이터를 읽기 위하여 읽을 파일을 가리키는File 혹은 Blob 객체를 이용해 파일의 내용을(혹은 raw data버퍼로) 읽고 사용자의 컴퓨터에 저장하는 것을 가능하게 해줍니다."><code>FileReader</code></a></td>
- <td>3</td>
- <td><span style="color: #888;" title="Please update this with the earliest version of support.">(Yes)</span></td>
- <td>10.0 (10.0)</td>
- <td><span style="color: #f00;">No support</span></td>
- <td>11.10</td>
- <td><span style="color: #f00;">No support</span></td>
- </tr>
- </tbody>
-</table>
-</div>
diff --git a/files/ko/archive/b2g_os/api/index.html b/files/ko/archive/b2g_os/api/index.html
deleted file mode 100644
index 9a3c418536..0000000000
--- a/files/ko/archive/b2g_os/api/index.html
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title: B2G OS APIs
-slug: Archive/B2G_OS/API
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/B2G_OS/API
----
-<p></p><section class="Quick_links" id="Quick_Links">
-
-<ol>
- <li class="toggle">
- <details>
- <summary>Build and install</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Porting B2G OS</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Developing Gaia</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li>
- </ol>
- </details>
- </li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li>
-</ol>
-</section><p></p>
-
-<p>This page lists all B2G OS-specific APIs.</p>
-
-<p></p><div class="index">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</div><p></p>
diff --git a/files/ko/archive/b2g_os/api/tcpsocket/index.html b/files/ko/archive/b2g_os/api/tcpsocket/index.html
deleted file mode 100644
index a9efe494eb..0000000000
--- a/files/ko/archive/b2g_os/api/tcpsocket/index.html
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title: TCPSocket
-slug: Archive/B2G_OS/API/TCPSocket
-translation_of: Archive/B2G_OS/API/TCPSocket
----
-<p></p><section class="Quick_links" id="Quick_Links"><ol><li><strong><a href="/ko/docs/Mozilla/Firefox_OS/API/TCP_Socket_API">TCP Socket API</a></strong></li><li><strong><a href="/ko/docs/Mozilla/Firefox_OS/API/Archive"><code>Archive</code></a></strong></li><li class="toggle"><details open><summary>Events</summary><ol><li><a href="/ko/docs/Web/Events/data"><code>data</code></a></li><li><a href="/ko/docs/Web/Events/drain"><code>drain</code></a></li><li><a href="/ko/docs/Web/Events/connect"><code>connect</code></a></li><li><a href="/ko/docs/Web/Events/error"><code>error</code></a></li></ol></details></li><li class="toggle"><details open><summary>Related pages for TCP Socket API</summary><ol><li><a href="/ko/docs/Mozilla/Firefox_OS/API/TCPServerSocket"><code>TCPServerSocket</code></a></li><li><a href="/ko/docs/Mozilla/Firefox_OS/API/TCPSocket"><code>TCPSocket</code></a></li></ol></details></li></ol></section><p></p>
-
-<p></p><div class="warning">
- <p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">privileged or certified applications</a> only.</p>
-</div><p></p>
-
-<h2 id="요약">요약</h2>
-
-<p>The <strong><code>TCPSocket</code></strong> interface provides access to a raw TCP socket.</p>
-
-<p>The main entry point for this API is the <a href="/ko/docs/Web/API/Navigator/mozTCPSocket" title="The documentation about this has not yet been written; please consider contributing!"><code>navigator.mozTCPSocket</code></a> property which is a <code>TCPSocket</code> object.</p>
-
-<div class="note">
-<p><strong>참고:</strong> 인증 된 앱만 1024보다 작은 포트에서 들어오는 연결을 허용 할 수 있습니다.</p>
-</div>
-
-<h2 id="API_개요">API 개요</h2>
-
-<pre>interface TCPSocket{
- readonly attribute DOMString host;
- readonly attribute unsigned short port;
- readonly attribute boolean ssl;
- readonly attribute unsigned long bufferedAmount;
- readonly attribute DOMString binaryType;
- readonly attribute DOMString readyState;
-
- TCPSocket open(DOMString host, unsigned short port, [object options]);
- TCPServerSocket listen(unsigned short port, [object options, [unsigned short backlog]]);
- void upgradeToSecure();
- void suspend();
- void resume();
- void close();
- boolean send(in jsval data);
-
- attribute onopen;
- attribute ondrain;
- attribute ondata;
- attribute onerror;
- attribute onclose;
-};</pre>
-
-<h2 id="속성">속성</h2>
-
-<dl>
- <dt><a href="/ko/docs/Web/API/TCPSocket/host" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.host</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A string representing the host name of the server the socket is connected to.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/port" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.port</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A number representing the port the socket is connected to.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/ssl" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.ssl</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>A boolean indicating whether the socket is encrypted with SSL (<code>true</code>) or not (<code>false</code>).</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/bufferedAmount" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.bufferedAmount</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>The number of bytes of not-yet-sent data in the socket buffered.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/binaryType" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.binaryType</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>The type of data used. Possible value is <code>arraybuffer</code> or <code>string</code>.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/readyState" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.readyState</code></a> <span class="inlineIndicator readOnly readOnlyInline" title="This value may not be changed.">Read only </span></dt>
- <dd>The socket state. Possible value is <code>connecting</code>, <code>open</code>, <code>closing</code>, or <code>closed</code>.</dd>
-</dl>
-
-<h3 id="이벤트_핸들러">이벤트 핸들러</h3>
-
-<dl>
- <dt><a href="/ko/docs/Web/API/TCPSocket/onopen" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.onopen</code></a></dt>
- <dd>A handler for the <code><a href="/ko/docs/Web/Reference/Events/open" title="/ko/docs/Web/Reference/Events/open">open</a></code> event. After this event, the socket is ready to send and receive data.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/ondrain" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.ondrain</code></a></dt>
- <dd>A handler for the <code><a href="/ko/docs/Web/Reference/Events/drain" title="/ko/docs/Web/Reference/Events/drain">drain</a></code> event. This event is triggered each time the buffer of data is flushed.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/onerror" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.onerror</code></a></dt>
- <dd>A handler for the <code><a href="/ko/docs/Web/Reference/Events/error" title="/ko/docs/Web/Reference/Events/error">error</a></code> event.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/ondata" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.ondata</code></a></dt>
- <dd>A handler for the <code><a href="/ko/docs/Web/Reference/Events/data" title="/ko/docs/Web/Reference/Events/data">data</a></code> event. This event is triggered each time data has been received.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/onclose" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.onclose</code></a></dt>
- <dd>A handler for the <code><a href="/ko/docs/Web/Reference/Events/close" title="/ko/docs/Web/Reference/Events/close">close</a></code> event.</dd>
-</dl>
-
-<h2 id="메소드">메소드</h2>
-
-<dl>
- <dt><a href="/ko/docs/Web/API/TCPSocket/close" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.close()</code></a></dt>
- <dd>Closes the connection.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/open" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.open(host, port [, options])</code></a></dt>
- <dd>Returns a new <code>TCPSocket</code> object connected to the given <code>host</code> at the given <code>port</code>.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/resume" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.resume()</code></a></dt>
- <dd>Resumes the <code>data</code> events.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/send" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.send(data)</code></a></dt>
- <dd>Buffers data to be sent across the network.</dd>
- <dt><a href="/ko/docs/Web/API/TCPSocket/suspend" title="The documentation about this has not yet been written; please consider contributing!"><code>TCPSocket.suspend()</code></a></dt>
- <dd>데이터 이벤트를 일시 정지합니다.</dd>
-</dl>
-
-<h2 id="Specification">Specification</h2>
-
-<p>아직 사양에 포함되어 있지 않습니다. 그러나이 API는 W3C에서 <a href="http://www.w3.org/2012/sysapps/tcp-udp-sockets/" title="http://www.w3.org/2012/sysapps/tcp-udp-sockets/">TCP 및 UDP Socket API (이전에는 Raw Sockets API)</a> 제안에 따라 <a class="external" href="http://www.w3.org/2012/sysapps/" rel="external" title="http://www.w3.org/2012/sysapps/">시스템 응용 프로그램 작업 그룹</a>의 일부로 논의되었습니다.</p>
-
-<h2 id="관련항목">관련항목</h2>
-
-<ul>
- <li><a href="/en-US/docs/WebAPI/TCP_Socket" title="/en-US/docs/WebAPI/TCP_Socket">TCP Socket</a></li>
-</ul>
diff --git a/files/ko/archive/b2g_os/application_development/index.html b/files/ko/archive/b2g_os/application_development/index.html
deleted file mode 100644
index 2f961c72d6..0000000000
--- a/files/ko/archive/b2g_os/application_development/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Firefox OS 앱 개발
-slug: Archive/B2G_OS/Application_development
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS
----
-<p>Firefox OS에서 사용하는 애플리케이션은 <a href="/ko/docs/Apps">오픈 웹 앱</a>을 휴대폰에 설치할 수 있게 해 주는 것입니다. 아래 문서를 참고하세요.</p>
-<ul>
- <li><a href="/ko/docs/Apps/Getting_Started">앱 개발 시작하기</a></li>
- <li><a href="/ko/docs/Mozilla/Firefox_OS/Writing_a_web_app_for_B2G">B2G 기반 웹앱 만들기</a></li>
-</ul>
-<div class="note">
- <strong>주의:</strong> Firefox OS의 현재 User-Agent 스트링은 <code>Android;</code>만 빠진 모바일 버전과 동일 합니다. 예: <code>Mozilla/5.0 (Mobile; rv:15.0) Gecko/15.0 Firefox/15.0a1</code>.</div>
diff --git a/files/ko/archive/b2g_os/apps/index.html b/files/ko/archive/b2g_os/apps/index.html
deleted file mode 100644
index 76095d479d..0000000000
--- a/files/ko/archive/b2g_os/apps/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: Creating Apps for Firefox OS
-slug: Archive/B2G_OS/Apps
-tags:
- - Apps
- - B2G
- - Firefox OS
- - NeedsTranslation
- - TopicStub
-translation_of: Web/Apps/Fundamentals
----
-<p>Applications for Firefox OS devices are simply open Web apps; they consist entirely of open Web technologies such as JavaScript, HTML, and CSS. While our primary documentation for apps covers nearly everything you need to know, there are a few documents specific to developing and testing for Firefox OS that are presented here.</p>
-<div class="row topicpage-table">
- <div class="section">
- <h2 class="Documentation" id="Documentation" name="Documentation">Documentation and tutorials</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Apps/Writing_a_web_app_for_Firefox_OS" title="/en-US/docs/Mozilla/Firefox_OS/Apps/Writing_a_web_app_for_Firefox_OS">Writing a web app for Firefox OS</a></dt>
- <dd>
- A tutorial to creating your first web application for Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Apps/Tips_and_techniques" title="/en-US/docs/Mozilla/Firefox_OS/Apps/Tips_and_techniques">Tips and techniques</a></dt>
- <dd>
- An assortment of tips and tricks (as well as workarounds for problems) that our developers have suggested for you!</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/Apps" title="/en-US/docs/tag/CSS">View All...</a></span></p>
- </div>
- <div class="section">
- <h2 class="Community" id="Community" name="Community">Getting help from the community</h2>
- <p>You need help on an app-related problem and can't find the solution in the documentation?</p>
- <ul>
- <li>Consult the layout forum, which covers CSS and HTML: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-css"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.layout"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.layout/feeds"> 웹 Feed</a></li>
-</ul>
- <ul>
- <li>Ask your question on the Mozilla IRC channel: <a class="link-irc" href="irc://irc.mozilla.org/openwebapps">#openwebapps</a></li>
- </ul>
- </li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Don't forget about the <em>netiquette</em>...</a></span></p>
- <h2 class="Tools" id="Tools" name="Tools">Tools</h2>
- <ul>
- <li><span class="external">The Firefox <a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">Debugger</a> offers support for remotely debugging Firefox OS apps</span></li>
- <li><span class="external">Other <a href="/en-US/docs/Tools" title="/en-US/docs/Tools">Developer Tools</a></span></li>
- </ul>
- <p><span class="alllinks"><a href="/en-US/docs/tag/Tools" title="/en-US/docs/tag/CSS:Tools">View All...</a></span></p>
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Related Topics</h2>
- <ul>
- <li><a href="/en-US/docs/Apps" title="/en-US/docs/Apps">Apps</a></li>
- </ul>
- </div>
-</div>
-<p> </p>
diff --git a/files/ko/archive/b2g_os/apps/writing_a_web_app_for_firefox_os/index.html b/files/ko/archive/b2g_os/apps/writing_a_web_app_for_firefox_os/index.html
deleted file mode 100644
index d5d3be42e1..0000000000
--- a/files/ko/archive/b2g_os/apps/writing_a_web_app_for_firefox_os/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: Writing a web app for Firefox OS
-slug: Archive/B2G_OS/Apps/Writing_a_web_app_for_Firefox_OS
-translation_of: Web/Apps/Fundamentals/Quickstart
----
-<p>B2G 앱은 HTML, CSS, Javascript 로 작성된 웹앱입니다. 다른 일반적인 웹 사이트를 공개하는 것과 같이 웹 상에 배포할 수 있습니다. 웹 사이트를 단말에 웹앱으로 설치 가능하게 하려면, 아래 설명에 따라 매니페스트를 꾸며야하고 설치 버튼과 연결해야 합니다.</p>
-<p>우선 아래의 기사를 먼저 읽는 것을 추천합니다.</p>
-<ul>
- <li><a href="/en-US/docs/Apps/Getting_Started">Getting started with making apps</a></li>
- <li><a href="/en-US/docs/Apps/Manifest">App manifest</a></li>
-</ul>
-<p>물론, <a href="/en-US/docs/Apps">Open Web Apps 에 대해 보다 깊게 배우기</a>도 좋을 것입니다.</p>
-<h2 id="Installing_the_Web_app">Installing the Web app</h2>
-<p>앱과 매니페스트를 웹 상에 배포한 뒤, Gecko 에 인식시킬 필요가 있습니다. 설치 시, Gecko 는 매니페스트의 내용을 읽고 홈 화면에 아이콘을 추가하는 등 필요한 처리를 합니다.</p>
-<p>앱을 인스톨하려면, <a href="/en-US/docs/Apps/Apps_JavaScript_API/navigator.mozApps.install"><code>navigator.mozApps.install</code> API</a> 를 호출해야합니다. 아래는 앱을 스스로 배포하는 경우 앱에 포함되는 설치 버튼에 대한 예제입니다.</p>
-<pre>&lt;script&gt;
-var manifest_url = "http://my.webapp.com/manifest.json";
-&lt;/script&gt;
-
-&lt;button onclick="navigator.mozApps.install(manifest_url); return false;"&gt;
- Install this awesome app on your homescreen!
-&lt;/button&gt;
-</pre>
-<p>Note: 설치 버튼은 <a href="/en-US/docs/Apps/Submitting_an_app">Firefox Marketplace</a> 와 같은 앱 마켓에서 찾을 수 있습니다. 그러나 사이트의 메인 페이지에 "Install as web app" 버튼이 있다면 아주 편리할 것입니다.</p>
-<p>이제 B2G 브라우저 앱으로 웹 사이트에 방문하고 인스톨 버튼을 눌러보세요.</p>
diff --git a/files/ko/archive/b2g_os/automated_testing/index.html b/files/ko/archive/b2g_os/automated_testing/index.html
deleted file mode 100644
index a03dba9376..0000000000
--- a/files/ko/archive/b2g_os/automated_testing/index.html
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Firefox OS 테스트
-slug: Archive/B2G_OS/Automated_testing
-tags:
- - 테스팅
-translation_of: Archive/B2G_OS/Automated_testing
----
-<p></p>
-<p>Firefox OS는 아직 개발중이지만 조만간 새로운 하드웨어도 지원하게 될 것이기에, 테스트를 하는 방법을 아는 게 중요합니다. 이 페이지는 Firefox OS를 테스트 하는 다양한 방법에 대한 정보를 제공하는 문서들로의 링크들을 제공합니다.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h3 id="Documentation" name="Documentation">유닛 테스트</h3>
- <ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests">Gaia 유닛 테스트</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Mochitests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Mochitests">Mochitests</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Reftests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Reftests">Reftests</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/XPCShell" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/XPCShell">XPCShell 테스트</a></li>
- </ul>
- <dl>
- </dl>
- <h3 id="Documentation" name="Documentation">다양한 테스팅 관련 논의</h3>
- <dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL" title="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL">OpenGL</a> <a href="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL" style="line-height: inherit;" title="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL">디버깅</a></dt>
- <dd>
- Firefox OS에서 OpenGL 코드를 디버깅 하는 방법.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart">지원 기능 목록</a></dt>
- <dd>
- Firefox OS의 빌드 별로 지원하는 기능들의 목록.</dd>
- </dl>
- <h3 id="Documentation" name="Documentation">Firefox OS를 위한 Marionette</h3>
- <ul>
- <li><a class="link-https" href="https://wiki.mozilla.org/Auto-tools/Projects/Marionette" title="https://wiki.mozilla.org/Auto-tools/Projects/Marionette">테스트 자동화 프레임웍, Marionette</a></li>
- <li><a href="/en/Marionette" title="https://developer.mozilla.org/en/Marionette">Marionette MDN 문서</a></li>
- </ul>
- <h4 id="Gaia_Tests">Gaia Tests</h4>
- <ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests" title="en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests">유닛 테스트 작성하고 돌리기</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_integration_tests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_integration_tests">통합 테스트 작성하고 돌리기</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/gaia-ui-tests" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/gaia-ui-tests">gaia-ui-테스트 작성하고 돌리기</a></li>
- </ul>
- <h4 id="Marionette_튜토리얼">Marionette 튜토리얼</h4>
- <ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Setting_up_Marionette" title="en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Setting_up_Marionette">Firefox OS를 위한 Marionette 설정하기</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Marionette_for_interactive_Python" title="en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Marionette_for_interactive_Python">파이썬으로 인터랙티브하게 Marionette 사용하기</a></li>
- <li>QEMU 에뮬레이터에서 Marionette 사용하기</li>
- </ul>
- <h4 id="Marionette용_테스트_작성하기">Marionette용 테스트 작성하기</h4>
- <ul>
- <li><a href="/en/Marionette/Marionette_Python_Tests" title="en/Marionette/Marionette_Python_Tests">Marionette 파이썬 테스트</a></li>
- <li><a href="/en-US/docs/Marionette/Marionette_JavaScript_Tests" title="/en-US/docs/Marionette/Marionette_JavaScript_Tests">Marionette 자바스크립트 테스트</a></li>
- <li><a href="/en/Marionette/Running_Tests" title="en/Marionette/Running_Tests">Marionette 테스트 돌리기</a></li>
- </ul>
- <p><span class="alllinks"><a href="/Special:Tags?tag=B2G&amp;language=en" title="Special:Tags?tag=B2G&amp;language=en">모두 표시...</a></span></p>
- </td>
- <td>
- <h3 id="Community" name="Community">커뮤니티에서 도움 받기</h3>
- <p>Firefox OS로 일을 하거나 Firefox OS가 설치된 기기 위에 올라갈 어플리케이션을 개발 중이라면, 도움을 받을 수 있는 커뮤니티가 많이 있습니다!</p>
- <ul>
- <li>Firefox OS 포럼에 조언을 구하세요: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> 웹 Feed</a></li>
-</ul></li>
- </ul>
- <ul>
- <li>Mozilla IRC 채널에 질문을 할 수 있습니다: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">질문 할 땐 <em>예의</em>를 잊지 말아 주세요...</a></span></p>
- <br>
- <h3 id="Related_Topics" name="Related_Topics">관련 논의</h3>
- <ul>
- <li><a href="https://wiki.mozilla.org/B2G/QA" title="MozWiki-QA">QA</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/archive/b2g_os/building/index.html b/files/ko/archive/b2g_os/building/index.html
deleted file mode 100644
index 87f6b1fff6..0000000000
--- a/files/ko/archive/b2g_os/building/index.html
+++ /dev/null
@@ -1,125 +0,0 @@
----
-title: Firefox OS 빌드하기
-slug: Archive/B2G_OS/Building
-translation_of: Archive/B2G_OS/Building
----
-<div>
- </div>
-<div class="warning">
- <strong>중요</strong>: 번역은 제가 필요한 부분 및 확인 가능한 부분만 진행 하였으며 변역된 날자는(2013/02/25)이며 문서 변경이 잦아 오늘 이후는 원문과 번역이 다를 수 있습니다. 참고하세요. 미 번역/변경된 부분은 추가로 다른 분이 해 주실 것으로 믿습니다.</div>
-<p><a href="/en-US/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites" title="en-US/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites">빌드환경 설정</a>과 <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build">코드 복사 및 초기 환경 설정</a>이 완료 되고 나면, Boot to Gecko를 시작 할 수 있습니다.</p>
-<h2 id="최신_코드로_업데이트">최신 코드로 업데이트</h2>
-<p>B2G빌드가 처음이 아닐 경우, 빌드를 시작하기 전에 최신 코드를 가져 오고 싶다면 아래와 같이 빌드용 툴과 코드를 최신으로 업데이트 하실 수 있습니다.</p>
-<pre>git pull
-./repo sync
-</pre>
-<p>원하는 repository의 이름만 입력 함으로서 부분적으로 업데이트도 가능합니다.</p>
-<pre>./repo sync gaia
-</pre>
-<p>"repo"의 다른 옵션들에 관심이 있다면 "<code>repo help</code>"를 입력 해 보세요.</p>
-<h2 id="빌드하기">빌드하기</h2>
-<div class="note">
- <p><strong>주의:</strong> 빌드 하기 전에, 빌드 환경을 개조 하려면 .userconfig파일을 수정하시면 됩니다.  <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file" title="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file">.userconfig 파일 개조하기</a>를 참고하세요.</p>
-</div>
-<p>아래와 같이 입력하면 B2G를 빌드 하실 수 있습니다.</p>
-<pre>cd B2G
-./build.sh
-</pre>
-<p>이번 과정 또한 수행 시간이 많이(2시간 이상)걸리므로 잠깐 다른 일을 처리 하셔도 됩니다. As in the configure step on the previous page, if you are using a directory of previously-extracted Android system files, you should set ANDROIDFS_DIR before running build.sh.</p>
-<h3 id="특정_모듈_빌드하기">특정 모듈 빌드하기</h3>
-<p>Gecko와 같은 특정 모듈만 빌드하려면 아래와 같습니다.</p>
-<pre>./build.sh gecko
-</pre>
-<p>특정 애플리케이션 하나만 빌드하려면, 아래와 같이 환경 변수<code> BUILD_APP_NAME에 "gaia"를 설정 하여 gaia만 빌드 하실 수 있습니다.</code></p>
-<pre>BUILD_APP_NAME=calendar ./build.sh gaia</pre>
-<p>빌드 가능한 모듈을 확인 하고 싶으시면 아래와 같이 수행 하십시오.</p>
-<pre>./build.sh modules
-</pre>
-<h3 id="빌드에_사용되는_코어_갯수_변경">빌드에 사용되는 코어 갯수 변경</h3>
-<p>기본적으로, B2G 빌드 스크립트는 시스템이 가진 코어보다 2개 더 많은 수로 병렬 빌드를 진행 합니다. <code>"</code><code>build.sh" 수행시 -j 파라미터를 통해 그 갯수를 변경 하실 수 있습니다.</code> 이를 통해 빌드 시스템의 CPU로드를 조정하실 수 있습니다. 빌드에서 에러가 발생하면 병렬 빌드의 경우 에러 가 복잡하게 보이므로 코어 갯수를 줄이거나 하나로 한다면 빌드 에러 추적이 용이합니다.</p>
-<p>아래는 2개의 코어로 설정하여 빌드하는 예입니다.</p>
-<pre>./build.sh -j2
-</pre>
-<p>빌드 에러가 발생시는 아래처럼 1개의 코어로 할 경우 에러 결과를 읽고 분석하기 용이 합니다.</p>
-<pre>./build.sh -j1
-</pre>
-<h3 id="다국어_빌드하기">다국어 빌드하기</h3>
-<p>다국어 지원하도록 한다면:</p>
-<h4 id="Gaia">Gaia</h4>
-<ol>
- <li>먼저 어떤 언어를 지원할 것인지 정하시고. 현재는 <a href="http://hg.mozilla.org/integration/gaia-nightly/file/e2eed5263e77/shared/resources/languages-dev.json"><code>locales/languages_dev.json</code></a>와 <a href="http://hg.mozilla.org/integration/gaia-nightly/file/e2eed5263e77/shared/resources/languages-all.json"><code>locales/languages_all.json</code></a>가 Gaia의 언어 설정 관련 파일로 사용됩니다.</li>
- <li><a href="http://hg.mozilla.org/gaia-l10n">http://hg.mozilla.org/gaia-l10n</a>에서 지원하고자 하는 언어를 가져옵니다. 언어 파일에 리스트 된 각 언어를 가져 오려면 "repo"를 사용해야 합니다.</li>
- <li>환경 설정으로, set <code>LOCALE_BASEDIR</code>에 위의 2번에서 가져온 파일 절대 경로를 설정합니다. <code>LOCALES_FILE을 1번 설정의 절대 경로로 설정합니다.</code></li>
-</ol>
-<p>예를 들면,</p>
-<pre>export LOCALE_BASEDIR=$PWD/gaia-l10n
-export LOCALES_FILE=$PWD/gecko/gaia/shared/resources/languages-dev.json
-</pre>
-<h4 id="Gecko">Gecko</h4>
-<ol>
- <li>Determine which Gecko languages file to use. We're currently using <a href="http://hg.mozilla.org/releases/mozilla-b2g18/file/default/b2g/locales/all-locales">b2g/locales/all-locales</a> as our Gecko languages file.</li>
- <li>Clone the appropriate locales into a directory; this can be <code>gecko-l10n/</code> .
- <ul>
- <li>For mozilla-central, use <a href="http://hg.mozilla.org/l10n-central/">http://hg.mozilla.org/l10n-central/</a></li>
- <li>For mozilla-aurora, use <a href="http://hg.mozilla.org/releases/l10n/mozilla-aurora/">http://hg.mozilla.org/releases/l10n/mozilla-aurora/</a></li>
- <li>For mozilla-beta or mozilla-b2g18, use <a href="http://hg.mozilla.org/releases/l10n/mozilla-beta/">http://hg.mozilla.org/releases/l10n/mozilla-beta/</a></li>
- </ul>
- </li>
- <li>Clone <a href="http://hg.mozilla.org/build/compare-locales">compare-locales</a>.</li>
- <li>
- <p>In your environment, set <code>L10NBASEDIR</code> to the absolute path of the directory in step 2. Set <code>MOZ_CHROME_MULTILOCALE</code> to a string of space-delimited locales from step 1.</p>
- <p>Add the <code>compare-locales/scripts</code> dir to your <code>PATH</code>, and <code>compare-locales/lib</code> to your <code>PYTHONPATH</code>.</p>
- For instance,
- <pre>export L10NBASEDIR=$PWD/gecko-l10n
-export MOZ_CHROME_MULTILOCALE="ja zh-TW"
-export PATH="$PATH:$PWD/compare-locales/scripts"
-export PYTHONPATH="$PWD/compare-locales/lib"
-</pre>
- <p>Once you have the above set up, you can run build.sh .</p>
- <p>It looks like you can <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=818560#c9/">use .userconfig</a> as well.</p>
- <p>These instructions may change as we smooth things out.</p>
- <h2 id="Known_errors">Known errors</h2>
- <ul>
- <li>
- <h3 id="KeyedVector.h19331_error_indexOfKey_was_not_declared_in_this_scope">KeyedVector.h:193:31: error: indexOfKey was not declared in this scope</h3>
- </li>
- </ul>
- <p>This error appears when your gcc version is too recent. Install gcc/g++/g++-multilib 4.6.x versions.</p>
- <p>See <a href="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file" title="/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file">Customizing with the .userconfig file</a> for more information.</p>
- <div class="note">
- <p><strong>Community Note:</strong> It is possible to use gcc 4.7.x with slight modifications to the B2G code (gcc will guide you) but you won't get any help! Neither with modifying the code nor with bugs you encounter.</p>
- </div>
- <ul>
- <li>
- <h3 id="arm-linux-androideabi-g_Internal_error_Killed_(program_cc1plus)">arm-linux-androideabi-g++: Internal error: Killed (program cc1plus)</h3>
- </li>
- </ul>
- <p>If you see this message, it most likely means that are lacking of free memory. Ensure having enough free memory before running <code>./build.sh</code>. It should run fine if you system has 4GB of ram.</p>
- <ul>
- <li>
- <h3 id="If_you_get_build_errors_while_the_build_system_is_running_tests">If you get build errors while the build system is running tests</h3>
- </li>
- </ul>
- <p>Sometimes (especially after build tool or operating system updates) you'll get weird errors like this when the build system runs its post-build tests:</p>
- <pre>Generating permissions.sqlite...
-test -d profile || mkdir -p profile
-run-js-command permissions
-WARNING: permission unknown:offline-app
-WARNING: permission unknown:indexedDB-unlimited
-build/permissions.js:122: NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPermissionManager.add]
-make[1]: *** [permissions] Error 3
-make: *** [gaia/profile.tar.gz] Error 2</pre>
- <p>In this situation, try deleting the <code>gaia/xulrunner-sdk</code> directory and re-pulling the code:</p>
- <pre>rm -r gaia/xulrunner-sdk
-</pre>
- <p>This deletes the downloaded, precompiled copy of <a href="/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner</a> that the build system retrieves automatically; on your next build, a new copy of XULRunner will be automatically retrieved.</p>
- <h2 id="다음_단계">다음 단계</h2>
- <p>빌드가 완료되면 다음 단계로는 에뮬레이터로 넣을 것인지 단말기로 놓을 것인지에 따라 아래와 같은 선택사항이 있습니다. 자세한 사항은 각각을 참고 하세요.</p>
- <ul>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators" title="en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators">B2G 에뮬레이터 사용하기</a></li>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">PC용 B2G 클라이언트 사용하기</a></li>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Installing_Boot_to_Gecko_on_a_mobile_device" title="en-US/docs/Mozilla/Boot_to_Gecko/Installing_Boot_to_Gecko_on_a_mobile_device">단말기에 Boot to Gecko 설치하기</a></li>
- <li><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard" title="en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard">판다보드에 Boot to Gecko 설치하기</a></li>
- </ul>
- </li>
-</ol>
diff --git a/files/ko/archive/b2g_os/building_and_installing_firefox_os/index.html b/files/ko/archive/b2g_os/building_and_installing_firefox_os/index.html
deleted file mode 100644
index a6c5dd7472..0000000000
--- a/files/ko/archive/b2g_os/building_and_installing_firefox_os/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: Firefox OS를 빌드 및 설치하기
-slug: Archive/B2G_OS/Building_and_installing_Firefox_OS
-translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS
----
-<p>Firefox OS는 현재 활발히 개발 중이며, 릴리즈되기 전입니다. 최신버전을 설치하려면 여러분이 직접 빌딩하고 설치해야 합니다. 이 페이지에 나와있는 글들은 여러분에게 에뮬레이터나 호환기기에 Firefox OS를 빌딩하고 설치하거나 Firefox 브라우저에 <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia" title="en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia">Gaia</a> 유저 인터페이스를 빌딩하고 설치하는 방법을 알려줄 겁니다.</p>
-
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="FIREFOX_OS_빌드하기">FIREFOX OS 빌드하기</h2>
-
- <dl>
- <dt><a href="https://developer.mozilla.org/en-US/Firefox_OS/Building_and_installing_Firefox_OS/Firefox_OS_build_overview">Firefox OS 빌드 과정 요약</a></dt>
- <dd>Firefox OS를 빌드하고 설치하는데에는 상당량의 시간, 네트워크 데이터 사용, 그리고 컴퓨터 성능 등을 요구한다. 이 글은 사용자의 빌드 과정의 목적과 절차 등을 이해시키고자한다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/B2G_build_prerequisites" title="en-US/docs/Mozilla/Boot_to_Gecko/B2G build prerequisites">Firefox OS 빌드 요구사양</a></dt>
- <dd>처음 Firefox OS를 빌드하기 전에 필요하거나 필요해질 것들.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="/en-US/docs/Mozilla/Boot_to_Gecko/Preparing for your first B2G build">Firefox OS 빌드 준비하기</a></dt>
- <dd>Firefox OS를 빌드하기 전에 여러분은 저장소를 복제하고 빌드 환경을 설정해야 한다. 이 글은 그 방법을 설명한다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko" title="en-US/docs/Mozilla/Boot_to_Gecko/Building Boot to Gecko">Firefox OS 빌딩하기</a></dt>
- <dd>Firefox OS 빌드 방법.</dd>
- </dl>
-
- <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="/en-US/docs/tag/B2G">전체보기...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="FIREFOX_OS_설치하기">FIREFOX OS 설치하기</h2>
-
- <dl>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Choosing_how_to_run_Gaia_or_B2G" title="en-US/docs/Mozilla/Boot_to_Gecko/Choosing how to run Gaia or B2G">Gaia나 Firefox OS를 선택하여 실행하기</a></dt>
- <dd>여러분은 Firefox에서 Gaia를 사용하거나 모바일 기기에서 Firefox OS를 실행하거나 데스크톱용 시뮬레이션을 사용할 수 있습니다. 여러분의 필요에 대해 어떤 것을 선택해야 할지 도와줄 것입니다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_Gaia_in_Firefox" title="en-US/docs/Mozilla/Boot_to_Gecko/Using Gaia in Firefox">Firefox 에서 Gaia 사용하기</a></dt>
- <dd>Firefox 데스크톱 버전에서 Gaia 사용하는 방법.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">Firefox OS 데스크톱 클라이언트(시뮬레이터) 사용하기</a></dt>
- <dd>Firefox OS 데스크톱 클라이언트를 실행하고 사용하는 방법;데스크톱 애플리케이션안 Gaia환경을 만듭니다. Firefox 에서 Gaia를 실행하는 것보다는 더 나은 환경이나 에뮬레이터를 사용하는 것보다는 못합니다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators" title="en-US/docs/Mozilla/Boot_to_Gecko/Using the B2G emulators">Firefox OS 에뮬레이터 사용하기</a></dt>
- <dd>Firefox OS 에뮬레이터를 빌드하고 사용하고, 언제 어떤 에뮬레이터를 사용해야 하는지에 대한 안내.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Installing_Boot_to_Gecko_on_a_mobile_device" title="en-US/docs/Mozilla/Boot_to_Gecko/Installing Boot to Gecko on a mobile device">모바일 기기에 Firefox OS 설치하기</a></dt>
- <dd>모바일 기기에 Firefox OS를 설치하는 방법.</dd>
- <dt><a href="/en-US/docs/Mozilla/Boot_to_Gecko/Dual_boot_of_B2G_and_Android_on_SGS2" title="/en-US/docs/Mozilla/Boot_to_Gecko/Dual boot of B2G and Android on SGS2">SGS2에서 Firefox OS와 Android 듀얼 부팅하기</a></dt>
- <dd>삼성 갤럭시 S2에서 Firefox OS/Android 듀얼 부트환경을 설정하는 방법.</dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p> </p>
diff --git a/files/ko/archive/b2g_os/debugging/debugging_b2g_using_gdb/index.html b/files/ko/archive/b2g_os/debugging/debugging_b2g_using_gdb/index.html
deleted file mode 100644
index b7578dff62..0000000000
--- a/files/ko/archive/b2g_os/debugging/debugging_b2g_using_gdb/index.html
+++ /dev/null
@@ -1,153 +0,0 @@
----
-title: GDB 및 관련 Tool을 이용한 B2G 디버깅
-slug: Archive/B2G_OS/Debugging/Debugging_B2G_using_gdb
-translation_of: Archive/B2G_OS/Debugging/Debugging_B2G_using_gdb
----
-<div class="summary">
-<p><strong><code>gdb</code></strong>는 Firefox OS의 애플리케이션 디버깅을 위한 많은 유용한 옵션을 제공하는 command line debugger입니다. B2G상에서 실행 중인 각 프로세스의 app 이름을 보여주는 표준 ps의 wrapper인 <strong><code>b2g-ps</code></strong>와 같은 다른 tool들도 있습니다. 이 문서는 이런 tool들로 Firefox OS 디버깅을 어떻게 수행하는지 보여드립니다.</p>
-</div>
-
-<h2 id="단일_프로세스_모드에서_디버거_시작하기">단일 프로세스 모드에서 디버거 시작하기</h2>
-
-<p>(역자 주: b2g 프로세스에 대한 디버깅을 뜻하는 듯)</p>
-
-<div class="note">
-<p><strong>Note:</strong> 디버거를 실행하기 전에 자신만의 설정을 위해 <code>.userconfig</code> 파일을 셋업할 수 있습니다. 이에 대한 더 자세한 내용은 <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file" title="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a>을 참고하시기 바랍니다.</p>
-</div>
-
-<p>Firefox OS를 재시작한 후 gdb 상에서 실행하기 위해서는 간단히 <code>run-gdb.sh를 사용하시면 됩니다</code> :</p>
-
-<pre>./run-gdb.sh
-</pre>
-
-<div class="note">
-<p><strong>Note:</strong> 만약 에뮬레이터 상에서 디버깅 하길 원한다면, 혹시 연결되어 있는 폰은 없는지 확인해 보시기 바랍니다; 에뮬레이터를 연결하려는 gdb와 충돌이 발생할 수 있습니다.</p>
-</div>
-
-<p>Firefox OS가 이미 동작 중이고, 재시작없이 Firefox OS를 붙이길 원한다면 아래처럼 할 수 있습니다:</p>
-
-<pre>./run-gdb.sh attach
-</pre>
-
-<h2 id="Out-of-process_tasks_디버깅">Out-of-process tasks 디버깅</h2>
-
-<p>(역자 주: b2g 외 다른 프로세스에 대한 디버깅을 뜻하는 듯)</p>
-
-<p>Firefox OS의 쓰레드 기반 특성(threaded nature) 때문에 종종 B2G task외에 다른 task들을 디버깅 해야할 필요가 있을 수 있습니다. 이를 위해 디버깅 하길 원하는 프로세스의 PID를 확인하는 가장 간단한 방법은 <code>b2g-ps</code> 명령을 사용하는 것입니다:</p>
-
-<pre>$ adb shell b2g-ps
-b2g root 106 1 189828 56956 ffffffff 40101330 S /system/b2g/b2g
-Browser app_0 4308 106 52688 16188 ffffffff 400db330 S /system/b2g/plugin-container
-</pre>
-
-<p>위에서 Browser는 browser 애플리케이션을 위한 "content process"로 사용되는 (b2g의) 자식 프로세스입니다. 이 예에서 content process를 디버깅하고 싶다면 아래처럼 하시기 바랍니다:</p>
-
-<pre>$ ./run-gdb.sh attach 4308</pre>
-
-<p>종종 자식 프로세스 생성에 대해 즉시 통보받는게 유용할 때가 있습니다. 이렇게 하기 위해선 <code>MOZ_DEBUG_CHILD_PROCESS</code> 환경변수와 함께 <code>run-gdb.sh를 </code>실행하면 됩니다:</p>
-
-<pre>MOZ_DEBUG_CHILD_PROCESS=1 ./run-gdb.sh</pre>
-
-<p>이렇게 하면 Firefox OS에서 out-of-process 애플리케이션이 실행될 때 새로운 task용 plugin-container의 PID를 출력할 것입니다. 그리고 위에서 봤던 attach 명령을 사용하기에 충분한 시간인 30초 동안 sleep 할 것 입니다:</p>
-
-<pre>$ ./run-gdb.sh attach 4308</pre>
-
-<p>만일 부팅 중 발생하는 어떤 부분을 디버깅하려고 한다면, 새로운 애플리케이션에 대한 디버거 인스턴스(debugger instance)를 적절하게 빨리 실행해야 합니다. 일단 새로운 디버거가 실행되면 새로운 task의 동작을 지속하기 위해 즉시 "c"를 눌러야 합니다.</p>
-
-<h2 id="Core_파일_디버깅">Core 파일 디버깅</h2>
-
-<div class="warning">
-<p><strong>Warning: </strong>Core 파일은 프로세스의 전체 메모리 내용을 포함하고 있습니다. 이 파일은 여러분이 Firefox OS에 입력한 개인 정보를 포함하고 있을 수 있습니다. 그러므로 core 파일은 주의깊게 공유되어야 합니다.</p>
-</div>
-
-<p>기본적으로 Firefox OS는 프로세스가 crash 되었을 때 core 파일을 dump 하지 않습니다. Debug 빌드 버전에서 다음 명령으로 enable 해주어야 합니다:</p>
-
-<pre>$ adb shell setprop persist.debug.coredump all
-$ adb reboot
-</pre>
-
-<p>변경사항을 적용하기 위해서는 리부팅이 필요하며, B2G가 일단 초기화를 시작했으면 crash 발생 시 모든 프로세스가 core dump를 하게 됩니다. 이전 커널(&lt;3.0, hamachi 등)을 사용하는 플랫폼이거나, Gonk 외 B2G의 특정 프로세스(즉 b2g, plugin-container)로부터의 core dump를 원한다면, 다음 명령으로 enable 할 수도 있습니다:</p>
-
-<pre>$ adb shell setprop persist.debug.coredump b2g
-$ adb reboot
-</pre>
-
-<p>Core 파일은 /data/core에 저장됩니다. b2g에 의해 생성된 core 파일은 다음과 같이 열 수 있습니다:</p>
-
-<pre>$ adb pull /data/core .
-$ ./run-gdb.sh core b2g.1286.1412337385.core
-</pre>
-
-<p>Content process의 core 파일은 다음과 같이 열 수 있습니다:</p>
-
-<pre>$ adb pull /data/core .
-$ ./run-gdb.sh core plugin-container Camera.1329.1412617644.core
-</pre>
-
-<h2 id="지원">지원</h2>
-
-<h3 id="기능의_기대_수준">기능의 기대 수준</h3>
-
-<p>다음 디버깅 기능들은 적어도 확실히 동작합니다. 만약 동작하지 않는다면 간단한 설정 변경으로 동작할 것입니다:</p>
-
-<ul>
- <li>모든 라이브러리의 심볼 (특정 안드로이드 폰의 몇몇 드라이버 제외)</li>
- <li>완벽한 디버깅 정보를 가진 backtrace (최적화된 인자의 값은 제외)</li>
- <li>브레이크 포인트(Breakpoints): 심볼, 파일:줄번호 또는 주소에 break를 설정할 수 있어야 합니다. 모두 동작해야 합니다.</li>
- <li>한 단계씩 진행 ('s'와 'n' 둘 다 동작합니다)</li>
-</ul>
-
-<p>다음 디버깅 기능은 지원하지 않습니다. 사용하지 마시기 바랍니다.</p>
-
-<ul>
- <li>Watchpoints.</li>
-</ul>
-
-<h3 id="문제_해결">문제 해결</h3>
-
-<p>위에 언급된 것처럼 GDB가 동작하지 않을 때 해볼 수 있는 몇 가지가 있습니다.</p>
-
-<h4 id="B2G_clone이_최신인지_확인">B2G clone이 최신인지 확인</h4>
-
-<p>B2G clone을 업데이트 하려면 아래 두 개의 명령을 실행해야 한다는 것을 항상 명심하시기 바랍니다:</p>
-
-<pre>git pull
-./repo sync</pre>
-
-<p><code>위에서 git pull</code>을 잊는 경우가 이전 <code>run-gdb.sh로 남아있거나 최신 개선사항의 잇점을 얻지 못하는 전형적인 요인입니다.</code></p>
-
-<h4 id="올바른_프로세스를_attach_하고_있는지_확인">올바른 프로세스를 attach 하고 있는지 확인</h4>
-
-<p>잘못된 프로세스를 attach 하는 것(예를 들면 B2G 프로세스 대 Browser 프로세스)은 여러분의 breakpoint가 왜 동작하지 않고 있는지를 설명해 줄겁니다.</p>
-
-<h4 id="Symbol이_올바르게_로드_되었는지_확인">Symbol이 올바르게 로드 되었는지 확인</h4>
-
-<ol>
- <li>Symbol이 올바르게 로드 되었는지 확인하려면 <code>gdb</code>에서 <code>info shared</code>를 사용해 보세요:
-
- <pre>(gdb) info shared
-From        To          Syms Read   Shared Object Library
-0xb0001000  0xb0006928  Yes         out/target/product/otoro/symbols/system/bin/linker
-0x40051100  0x4007ed74  Yes         /hack/b2g/B2G/out/target/product/otoro/symbols/system/lib/libc.so
-0x401ab934  0x401aba2c  Yes         /hack/b2g/B2G/out/target/product/otoro/symbols/system/lib/libstdc++.so
-...</pre>
- </li>
- <li><code>Syms Read</code> 컬럼이 모두 <code>Yes</code>이어야 합니다. 어떤 안드로이드 폰에서는 몇몇 시스템 라이브러리와 드라이버가 <code>Yes (*)</code>로 나타날 수 있습니다; 그건 괜찮습니다. <code>No가 보이면 안됩니다.</code></li>
- <li>만약 <code>No가 보인다면</code>, 그게 첫 번째 문제이고 다른 걸 보기전에 그 문제부터 해결해야 합니다.</li>
- <li><code>run-gdb.sh</code> 명령을 친 후 바로 나타나는 터미널의 출력에 에러 메시지가 있는지 찾아보시기 바랍니다.</li>
- <li>또한 GDB 명령이 올바른지 터미널 출력을 확인해 보시기 바랍니다. 특히 명령줄의 마지막 인자는 b2g 실행파일의 경로가 되어야 합니다. 아래 올바른 예제가 있습니다:
- <pre>prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gdb -x /tmp/b2g.gdbinit.bjacob /hack/b2g/B2G/objdir-gecko/dist/bin/b2g</pre>
- </li>
- <li>다음 GDB 변수들을 확인해 보시기 바랍니다: <code>solib-search-path</code> 와 <code>solib-absolute-prefix:</code>
- <pre>(gdb) show solib-search-path
-The search path for loading non-absolute shared library symbol files is /hack/b2g/B2G/objdir-gecko/dist/bin:out/target/product/otoro/symbols/system/lib:out/target/product/otoro/symbols/system/lib/hw:out/target/product/otoro/symbols/system/lib/egl:out/target/product/otoro/symbols/system/bin:out/target/product/otoro/system/lib:out/target/product/otoro/system/lib/egl:out/target/product/otoro/system/lib/hw:out/target/product/otoro/system/vendor/lib:out/target/product/otoro/system/vendor/lib/hw:out/target/product/otoro/system/vendor/lib/egl.
-(gdb) show solib-absolute-prefix
-The current system root is "out/target/product/otoro/symbols".</pre>
- </li>
-</ol>
-
-<div class="note">
-<p><strong>Note</strong>: 만일 도움이 더 필요하시면 #b2g IRC 채널로 오시기 바랍니다. 버그를 찾은 것 같다면 <a href="https://github.com/mozilla-b2g/B2G/issues" title="https://github.com/mozilla-b2g/B2G/issues">B2G issue tracker</a>로 알려주시기 바랍니다.</p>
-</div>
-
-<p> </p>
diff --git a/files/ko/archive/b2g_os/debugging/index.html b/files/ko/archive/b2g_os/debugging/index.html
deleted file mode 100644
index 12a896d185..0000000000
--- a/files/ko/archive/b2g_os/debugging/index.html
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Debugging on Firefox OS
-slug: Archive/B2G_OS/Debugging
-tags:
- - B2G
- - Debugging
- - Firefox OS
- - NeedsTranslation
- - QA
- - Testing
- - TopicStub
-translation_of: Archive/B2G_OS/Debugging
----
-<div class="summary">
- <p><span class="seoSummary">There are two main types of debugging you'll want to with Firefox OS: debugging apps, and debugging other aspects of the system.</span> This section of the site provides articles covering the different tools at your disposal to debug your Firefox OS code.</p>
-</div>
-<h2 id="Debugging_apps">Debugging apps</h2>
-<p>When debugging your web apps, the best tool at your disposal is Mozilla's powerful <a href="/en-US/Firefox_OS/Using_the_App_Manager">App Manager</a>, which allows you to run your apps directly on a real device or simulator, update any changes instantly, and debug them directly on the device using Mozilla's excellent <a href="https://developer.mozilla.org/en-US/docs/Tools" title="en-US/docs/Tools">developer tools</a>. This should be your first choice, especially for app/Gaia debugging.</p>
-<dl>
- <dt>
- <a href="/en-US/docs/Tools/WebIDE">Using WebIDE</a></dt>
- <dd>
- The WebIDE is the replacement for the App Manager. Like the App Manager, it enables you to run and debug Firefox OS apps using the Firefox OS Simulator or a real Firefox OS device. However, it also provides an editing environment for you to create and develop apps.</dd>
- <dt>
- <a href="/en-US/Firefox_OS/Using_the_App_Manager">Using the App Manager</a></dt>
- <dd>
- The App Manager is a new tool available in Firefox for Desktop, which provides a number of useful tools to help you test, deploy and debug HTML5 web apps on Firefox OS phones and the Firefox OS Simulator, directly from your browser.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_OOMs">Debugging out of memory errors on Firefox OS</a></dt>
- <dd>
- This article describes how B2G's multiprocess architecture affects what the phone does when we run out of memory, and how to understand and debug OOM crashes.</dd>
-</dl>
-<h2 id="Debugging_GaiaB2G">Debugging Gaia/B2G</h2>
-<p>If you want to debug code from the Gaia apps suite or B2G itself, the following tools will be of use to you.</p>
-<dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_using_the_desktop_B2G_client" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_using_the_desktop_B2G_client">Debugging using the desktop B2G client</a></dt>
- <dd>
- You can use the dedicated B2G desktop application (and associated tools) to debug multiple aspects of B2G and Gaia.</dd>
- <dt>
- <a href="/en-US/Firefox_OS/Debugging/Firefox_OS_crash_reporting">Firefox OS crash reporting</a></dt>
- <dd>
- This page details how to handle crash reporting on Firefox OS, including retrieving crash reports, and forcing crashes.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_gdb" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_gdb">Debugging B2G using gdb</a></dt>
- <dd>
- The popular gdb debugger can be used to debug Firefox OS and web apps running on a device, or on an emulator. This guide will show you how it's done.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_valgrind" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_B2G_using_gdb">Debugging B2G using Valgrind</a></dt>
- <dd>
- Valgrind gives developers access to information about memory allocations, threads, and other information important to performance. This guide shows how to run Valgrind either on desktop B2G or select phone hardware.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Debugging/HTTP_logging#Firefox_OS_phones" title="/en-US/docs/Mozilla/Debugging/HTTP_logging#Firefox_OS_phones">Getting NSPR logs in B2G</a></dt>
- <dd>
- You can use NSPR logs to record HTTP and other networking.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL" title="/en-US/docs/Mozilla/Debugging/Debugging_OpenGL">Debugging OpenGL</a></dt>
- <dd>
- How to debug OpenGL code on Firefox OS.</dd>
-</dl>
-<h2 id="General_setup_and_information"><strong>General setup and information</strong></h2>
-<p>The following articles provide information on individual aspects of setup for Firefox OS development. The chances are that you won't need these, especially if you are just debugging apps using the App Manager. But we have made them available here in case you do.</p>
-<dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Developer_settings" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Developer_settings">Developer settings for Firefox OS</a></dt>
- <dd>
- There are a number of settings options available for developers on Firefox OS. This guide explains what they do and how to take advantage of them.</dd>
- <dt>
- <a href="/en-US/Firefox_OS/Debugging/Installing_ADB">Installing and using ADB</a></dt>
- <dd>
- Many aspects of Firefox OS development require installation of <code>adb</code>, the Android Debug Bridge. This article explains how to do that, and shares some common useful ADB commands.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/On-device_console_logging" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/On-device_console_logging">On-device console logging</a></dt>
- <dd>
- How to log to console on a Firefox OS device, and how to access the resulting logs for review on your computer.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Debugging_Firefox_OS_apps_in_desktop_Firefox">Connecting a Firefox OS device to the desktop</a></dt>
- <dd>
- This short guide explains how to set up your Firefox OS device and your desktop so that the desktop can communicate with the device over USB.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Setting_up" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Setting_up">Setting up to debug Firefox OS code</a></dt>
- <dd>
- Before you can begin using most of the tools integrated into Firefox for debugging code running under Firefox OS, you need to do a little configuration work. This article explains what you need to do.</dd>
-</dl>
diff --git a/files/ko/archive/b2g_os/dual_boot_of_b2g_and_android_on_sgs2/index.html b/files/ko/archive/b2g_os/dual_boot_of_b2g_and_android_on_sgs2/index.html
deleted file mode 100644
index fa0e0b7ed5..0000000000
--- a/files/ko/archive/b2g_os/dual_boot_of_b2g_and_android_on_sgs2/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: SGS2에서 B2G와 Android로 듀얼 부팅
-slug: Archive/B2G_OS/Dual_boot_of_B2G_and_Android_on_SGS2
-tags:
- - 듀얼 부팅
-translation_of: Archive/B2G_OS/Building
----
-<p></p>
-<p></p><div class="warning warningHeader">
- <p><strong>Warning:</strong> 이 문서에서 설명하는 내용은 공식적으로 지원하는 구성은 아닙니다. 본인의 결정 하에 사용하세요.</p>
-</div><p></p>
-<p>삼성 Galaxy S2를 가지고 있고, Android를 주로 사용하는 OS로 유지하면서 가끔 B2G를 테스트 하고 싶은 상황이라면, B2G를 <span style="line-height: inherit;">(폰에 이미 존재하는)분리된 </span><span style="line-height: inherit;">파티션에 설치하고 기기를 켤 때 어느 파티션에서 부팅할지 선택할 수 있습니다.</span></p>
-<div class="note">
- <strong>참고:</strong> 폰은 <strong>반드시</strong> Android 4 (Ice Cream Sandwich) 가 설치되어 있어야 합니다. 그렇지 않다면 아래의 내용은 제대로 동작하지 않을 겁니다.</div>
-<h2 id="선결_조건">선결 조건</h2>
-<p>Android와 B2G로 듀얼 부팅을 하려면 다음의 사항들이 만족되어 있어야 합니다:</p>
-<ul>
- <li>Galaxy S2 용으로 B2G를 빌드 했어야 합니다</li>
- <li>Galaxy S2 용 <a href="http://d-h.st/AEZ" title="http://d-h.st/users/siyah/s2">Siyah 커널</a> v. 5.0.1을 다운 받아야 합니다</li>
- <li>MDN의 가이드를 따라 B2G를 빌드했다면 자동으로 가지고 있을, simg2img 라는 툴이 있어야 합니다</li>
- <li>heimdall 이라는 툴이 있어야 합니다. 1.3.2 버전에서는 문제가 있을 수 있으므로 1.3.1 버전이 낫습니다.</li>
-</ul>
-<h2 id="최초_환경_설정">최초 환경 설정</h2>
-<p>듀얼 부팅을 하기 위해선 여러가지 조작을 해야 합니다.<br>
- 다음 환경 설정은 처음에 한번만 하면 됩니다.</p>
-<p>heimdall을 루트 권한 없이 사용하려면, android.rules라는 이름(.rules 앞의 내용은 맘대로 정해도 됩니다)의 파일을 만들고 /etc/udev/rules.d 디렉토리에 위치시켜야 합니다. 파일은 다음과 같은 내용을 가져야 합니다:</p>
-<pre>SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"</pre>
-<p>이 규칙을 활성화 시키기 위해서, udev를 재시작 해야 합니다:</p>
-<pre>sudo service udev restart</pre>
-<p>이제 폰을 PC와 다시 연결 합니다. 위의 규칙은 또한 adb가 SGS2를 루트 권한 없이 접근 가능하게 할 겁니다.</p>
-<h3 id="Siyah_커널_다운로드_하기">Siyah 커널 다운로드 하기</h3>
-<p>듀얼 부팅을 위해선 Siyah 커널이 필수적입니다. tar 파일을 받아서 압축을 푸셨다면, zImage 라는 이름의 파일을 얻었을 겁니다. 이걸 폰에 다운로드 하기 위해선 다음의 단계를 따라가면 됩니다:</p>
-<ol>
- <li><span style="line-height: normal;">폰의 전원을 끕니다</span></li>
- <li><span style="line-height: normal;">다운로드 모드로 리부팅(볼륨 다운, 홈, 파워 버튼을 동시에 눌러 전원을 켜고, 나중에 누르라는 메세지가 뜨면, 볼륨 업 버튼을 누릅니다) 합니다</span></li>
- <li><span style="line-height: normal;">다음 명령어를 이용해 heimdall로 커널을 다운로드 합니다(폰은 PC에 연결되어 있어야 합니다):</span><br>
- <pre>heimdall flash --kernel /path/to/zImage</pre>
- </li>
-</ol>
-<p>커널 다운로드가 완료되면 폰이 재부팅 됩니다</p>
-<h3 id="B2G_롬_환경_준비하기">B2G 롬 환경 준비하기</h3>
-<p>Siyah 커널을 설치하셨다면, Siyah 커널을 이용해 B2G 이미지를 두번째 파티션에 설치하기 위한 환경을 준비해야 합니다:</p>
-<ol>
- <li>폰의 전원을 끕니다</li>
- <li>리커버리 모드로 리부팅(볼륨 업, 홈, 파워 버튼을 동시에 눌러 폰의 전원을 켭니다) 합니다</li>
- <li>CWMT 터치 인터페이스에서, dual-boot 옵션으로 이동 -&gt; Wipe 2ndROM data/cache 메뉴 선택 -&gt; Yes - Wipe 메뉴를 선택합니다. 이 명령은 시간을 좀 필요로 할 겁니다</li>
-</ol>
-<p>명령이 성공적으로 끝나면, Go Back 메뉴를 선택하고 폰을 리부팅 하기 위해 reboot system now 메뉴를 선택합니다. 이제 SD 카드 안에 cache.img와 data.img라는 파일이 포함된 .secondrom 이라는 이름의 디렉토리가 있음을 확인할 수 있습니다.</p>
-<h2 id="B2G_업데이트">B2G 업데이트</h2>
-<p>새로운 버전의 B2G를 빌드 할 때마다 다음의 동작이 필요합니다.</p>
-<p>명령줄에 입력하는 명령을 간편하게 하기 위해, 필요한 모든 파일을 하나의 폴더에 복사해 두는 것을 추천합니다. 복사해 둬야 할 파일들은 다음과 같습니다:</p>
-<ul>
- <li>B2G/out/target/product/galaxys2/system/bin/ 에 위치한 simg2img</li>
- <li>B2G/out/target/product/galaxys2/ 에 위치한 system.img</li>
- <li>B2G/out/target/product/galaxys2/ 에 위치한 userdata.img</li>
-</ul>
-<p>파일들을 모두 하나의 디렉토리에 모았으면, 다음 명령들을 따라합니다:</p>
-<ol>
- <li>userdata.img 파일로부터 data.img를 추출합니다. 다음의 명령으로 이를 행할 수 있습니다:
- <pre>simg2img userdata.img data.img</pre>
- </li>
- <li>data.img 파일을 폰의 .secondrom 폴더로 이동시킵니다. 폰의 file storage mode 를 활성화 시키고 PC와 폰을 연결해서 할수도 있고, USB 디버그 기능이 활성화 되어 있다면, 다음과 같이 adb를 이용할 수도 있습니다:
- <pre>adb push /path/to/data.img /sdcard/.secondrom/data.img</pre>
- </li>
- <li>폰의 전원을 끕니다</li>
- <li>다운로드 모드로 리부팅(볼륨 다운, 홈, 파워 버튼을 동시에 눌러 전원을 켜고, 요청받으면 볼륨 업 버튼을 누릅니다) 합니다</li>
- <li>heimdall을 써서 B2G 펌웨어를 두번째 파티션에 다운로드합니다:
- <pre>heimdall flash --hidden system.img</pre>
- </li>
-</ol>
-<p>다운로드가 끝나면, 폰이 리부팅 될꺼고, 부팅 시에 부트로더가 기다리는 동안 홈 버튼을 누름으로써 두번째 롬(B2G)로 부팅할 수 있습니다. 문제 없이 설치가 잘 되었다면, B2G로 부팅한 직후 까만 화면을 보게 될 것입니다. 이제 Gaia를 설치해야 합니다.</p>
-<div class="note">
- <strong>참고:</strong> B2G를 어떻게 테스트 하고 싶은가에 따라서는, 기존의 것에서 새로운 data.img 파일로의 교체는 기존의 모든 설정, 설치된 어플리케이션들, 그리고 B2G를 사용하면서 행한 모든 것을 날려야 함을 의미하므로, <span style="line-height: 1.5em;">B2G를 업데이트 할 때마다 data.img 파일을 갱신하고 싶지는 않을 수 있을 겁니다.</span></div>
-<h2 id="부팅">부팅</h2>
-<p>매번 B2G로 부팅할 때마다 다음의 동작을 해줘야 합니다.</p>
-<p>안타깝게도, Gaia를 system.img B2G image에 간단히 넣는 방법은 없고, 폰을 끌 때마다 Gaia는 사라지므로, 매번 B2G로 부팅할 때마다 Gaia를 다시 설치해 줘야 합니다. Gaia를 설치하기 위해서는, 폰을 B2G로 부팅하고(폰은 검은 화면을 보이고 있을 겁니다) PC와 연결한 후에 다음과 같은 명령을 입력합니다:</p>
-<pre>cd B2G/gaia
-GAIA_DOMAIN=foo.org make install-gaia</pre>
-<p>Gaia의 다운로드가 끝나면, 폰은 B2G 인터페이스가 나타날 겁니다.</p>
diff --git a/files/ko/archive/b2g_os/firefox_os_apps/index.html b/files/ko/archive/b2g_os/firefox_os_apps/index.html
deleted file mode 100644
index 370236dd14..0000000000
--- a/files/ko/archive/b2g_os/firefox_os_apps/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: Firefox OS apps
-slug: Archive/B2G_OS/Firefox_OS_apps
-tags:
- - Apps
- - Building
- - Components
- - Firefox OS
- - Installing
- - NeedsTranslation
- - TopicStub
- - device APIs
-translation_of: Archive/B2G_OS/Firefox_OS_apps
----
-<p class="summary">This section of the Firefox OS docs covers the specific techniques required — and available tools — for building Firefox OS apps. You'll find a number of details below, from Firefox OS building blocks/web components, to device APIs and App installation.</p>
-
-<h2 id="Building_Firefox_OS_apps">Building Firefox OS apps</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS">Building apps for Firefox OS</a></dt>
- <dd>Firefox OS/Firefox platform app specifics, including App installation and management APIs, manifest files, packaged and hosted apps, handling API permissions.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Localization">Localization</a></dt>
- <dd>This set of articles provides information for developers wishing to provide localized versions of their apps.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Performance">Performance</a></dt>
- <dd>This page lists performance-related topics specific to Firefox OS.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_Accounts_on_Firefox_OS">Firefox Accounts on Firefox OS</a></dt>
- <dd>This article provides an overview of using <a href="/en-US/docs/Mozilla/Tech/Firefox_Accounts">Firefox Accounts</a> in Firefox OS.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Reference_apps">Reference apps</a></dt>
- <dd>This page lists a number of sample apps we've put together for you to download, install, play with and learn from. Have fun!</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Screencast_series:_App_Basics_for_Firefox_OS">Screencast series: App Basics for Firefox OS</a></dt>
- <dd>In this collection of short videos, developers from Mozilla and Telenor explain in a few steps how you can get started with building applications for Firefox OS.</dd>
-</dl>
-
-<h2 id="Building_blocks">Building blocks</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Building_blocks">Building Blocks</a></dt>
- <dd>The Firefox OS Building Blocks are reusable UI components (also called 'common controls') that reflect OS-wide design patterns. Building Blocks are used to create the interfaces of all <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Gaia">Gaia</a> default apps. You are free to make use of these components in your own Firefox OS apps, or general Web apps.</dd>
-</dl>
-
-<h2 id="Styleguides">Styleguides</h2>
-
-<dl>
- <dt><a href="http://www.mozilla.org/en-US/styleguide/products/firefox-os/">Firefox OS Visual styleguide</a></dt>
- <dd>Our style guide for Firefox OS visual design, covering colours, typeface, backgrounds, app icons, and the design of specific UI elements.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Copy_styleguide">Firefox OS Copy styleguide</a></dt>
- <dd>This guide outlines the rules we follow for writing Firefox OS app copy, but can be used as a general guide to writing good copy for any app interfaces.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_OS_in_Arabic">Firefox OS in Arabic</a></dt>
- <dd>A guide to the specific UX design implementation Firefox OS has in place for dealing with Arabic (and other RTL languages.)</dd>
-</dl>
-
-<h2 id="Assets">Assets</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Design_asset_library">Firefox OS design asset library</a></dt>
- <dd>In this section you'll find design assets, artwork, graphic templates, fonts and other materials that will be helpful as you design Firefox OS/Gaia apps.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Icon_font">Firefox OS icon font</a></dt>
- <dd>Firefox OS has its own icon font set available: this article explains how to use it in your own apps.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Transitions">Firefox OS transitions</a></dt>
- <dd>A reference to some of the transitions used in Firefox OS to move between different states in apps, including animated GIFs demonstrating the animations used, plus code samples to show the CSS animation code needed to implement these animations.</dd>
-</dl>
-
-<h2 id="References">References</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_OS_device_APIs">Firefox OS device APIs</a></dt>
- <dd>This article provides a list of pages covering those APIs, as well as the <a href="https://developer.mozilla.org/en-US/Apps/Build/Manifest">app manifest</a> permissions for each one.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Firefox_OS_app_tools">Firefox OS app tools</a></dt>
- <dd>This page provides a list of useful tools, libraries, examples, etc. that are useful for Firefox OS app developers, whether you want a code template to copy, or need help with adding a specific feature to your Firefox OS app.</dd>
-</dl>
-
-<h2 id="Other_app_topics">Other app topics</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/Porting_Chrome_apps">Porting Chrome apps to Firefox OS Apps</a></dt>
- <dd>This article discusses the differences between Chrome apps and Firefox OS Apps, and how you can convert between the two.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_apps/App_development_FAQ">App development FAQ</a></dt>
- <dd>This FAQ is a compilation of answers to common app development questions.</dd>
-</dl>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/en-US/docs/Mozilla/Marketplace">Firefox Marketplace</a></li>
-</ul>
diff --git a/files/ko/archive/b2g_os/firefox_os_apps/localization/index.html b/files/ko/archive/b2g_os/firefox_os_apps/localization/index.html
deleted file mode 100644
index f6e97ebe92..0000000000
--- a/files/ko/archive/b2g_os/firefox_os_apps/localization/index.html
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title: App localization
-slug: Archive/B2G_OS/Firefox_OS_apps/Localization
-translation_of: Archive/B2G_OS/Firefox_OS_apps/Localization
----
-<p></p><section class="Quick_links" id="Quick_Links">
-
-<ol>
- <li class="toggle">
- <details>
- <summary>Build and install</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS">Build and install overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_build_process_summary">B2G OS build process summary</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/B2G_OS_build_prerequisites">Build prerequisites</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first build</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building">Building B2G OS</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_installer_add-on">B2G installer add-on</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Building_for_Flame_on_OS_X">Building B2G OS for Flame on Mac OS X</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G OS</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">Compatible Devices</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_OS_update_packages">Creating and applying B2G OS update packages</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building/FOTA_community_builds">Building and installing FOTA community builds</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/B2G_Build_Variables_Reference_Sheet">B2G build variables reference sheet</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Porting B2G OS</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS">Porting overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS/basics">Porting basics</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Porting_B2G_OS/Porting_on_CyanogenMod">Porting on CyanogenMod</a></li>
- </ol>
- </details>
- </li>
- <li class="toggle">
- <details>
- <summary>Developing Gaia</summary>
- <ol>
- <li><strong><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia">Developing Gaia overview</a></strong></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Running_the_Gaia_codebase">Running the Gaia codebase</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Mulet">Run Gaia on desktop using Mulet</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Understanding_the_Gaia_codebase">Understanding the Gaia codebase</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Making_Gaia_code_changes">Making Gaia code changes</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Testing_Gaia_code_changes">Testing Gaia code changes</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Submitting_a_Gaia_patch">Submitting a Gaia patch</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Build_System_Primer">Gaia build system primer</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Different_ways_to_run_Gaia">Different ways to run Gaia</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/make_options_reference">Make options reference</a></li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/Developing_Gaia/Gaia_tools_reference">Gaia tools reference</a></li>
- </ol>
- </details>
- </li>
- <li><a href="/ko/docs/Mozilla/B2G_OS/API">B2G OS APIs</a></li>
-</ol>
-</section><p></p>
-
-<div class="summary">
-<p><span class="seoSummary">이 글 모음은 앱의 지역화 버전을 만들고 싶어하는 개발자들을 위해정보를 제공하기 위하여 작성하였습니다.</span></p>
-</div>
-
-<h2 id="지침서">지침서</h2>
-
-<dl>
- <dt><a href="https://developer.mozilla.org/en-US/Apps/Build/Localization/Getting_started_with_app_localization">Getting started with app localization</a>(앱 지역화를 시작하기)</dt>
- <dd>이 지침서는 앱 지역화를 자세한 가이드를 제공합니다.</dd>
- <dt><a href="/en-US/Apps/Build/Localization/App_Localization_with_Transifex">Connecting developers and translators with Transifex</a></dt>
- <dd>This article explores the use of <a href="https://www.transifex.com/">Transifex</a> for managing translation work, both for app developers and localizers.</dd>
-</dl>
-
-<h2 id="Reference">Reference</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Web/Apps/Build/Localization/L10n.js_reference">L10n.js reference</a></dt>
- <dd>This article provides a reference for the l10n.js library, and its associated date helper, l10n_date.js.</dd>
- <dt><a href="/en-US/docs/Web/Apps/Build/Localization/Internationalization_helpers_IntlHelper_and_mozIntl">Internationalization helpers: IntlHelper and mozIntl</a></dt>
- <dd>This article looks at how Firefox OS handles localization of dates, times, numbers and collators from version 2.5 onwards, using the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl">Internationalization API</a> and Gaia's built in helpers, <a href="https://github.com/mozilla-b2g/gaia/blob/master/shared/js/intl_helper.js">IntlHelper</a> and <a href="https://github.com/mozilla-b2g/gaia/blob/master/shared/js/moz_intl.js">mozIntl</a>.</dd>
- <dt><a href="/en-US/docs/Web/Apps/Build/Localization/Localization_code_best_practices">App localization code best practices</a></dt>
- <dd>Localization best practices and advanced techniques for experienced Gaia/app developers.</dd>
- <dt><a href="/en-US/Apps/Build/Localization/Developing_Bidi_Apps">Developing Bidi Apps</a></dt>
- <dd>Best coding practices and guidelines for developing bi-directional (<em>left-to-right</em> and <em>right-to-left</em>, RTL) apps.</dd>
-</dl>
-
-<h2 id="Tools">Tools</h2>
-
-<dl>
- <dt><a href="https://github.com/robnyman/TranslationTester">Translation tester</a></dt>
- <dd>This app is for testing translations for Firefox OS apps and provides a blueprint for adding translation support to your own apps.</dd>
-</dl>
diff --git a/files/ko/archive/b2g_os/firefox_os_build_prerequisites/index.html b/files/ko/archive/b2g_os/firefox_os_build_prerequisites/index.html
deleted file mode 100644
index 25a7f50191..0000000000
--- a/files/ko/archive/b2g_os/firefox_os_build_prerequisites/index.html
+++ /dev/null
@@ -1,267 +0,0 @@
----
-title: Firefox OS build prerequisites
-slug: Archive/B2G_OS/Firefox_OS_build_prerequisites
-translation_of: Archive/B2G_OS/B2G_OS_build_prerequisites
----
-<p> </p>
-<div class="warning">
- <strong>중요</strong>: 번역은 제가 필요한 부분 및 확인 가능한 부분만 진행 하였으며 변역된 날자는(2013/02/25)이며 문서 변경이 잦아 오늘 이후는 원문과 번역이 다를 수 있습니다. 참고하세요. 미 번역/변경된 부분은 추가로 다른 분이 해 주실 것으로 믿습니다.</div>
-<div class="summary">
- <p id=".C2.A0"><span style="line-height: inherit;">Firefox OF 빌드 코드를 받기 전에, 빌드 환경을 먼저 구축 하셔야 합니다. 현재까지는 리눅스 64비트 버젼 및 맥 OS X에서만 빌드 하실 수 있습니다.</span></p>
-</div>
-<div class="note">
- <h5 id="Note_Firefox_OS를_올리기_위한_스마트폰을_빌드_시작전에_컴퓨터에_연결하지_마십시오_언제_연결할지_알려_줄_것입니다.">Note: <span style="font-size: 14px; font-weight: normal; line-height: 1.5;">Firefox OS를  올리기 위한 스마트폰을 빌드 시작전에 컴퓨터에 연결하지 마십시오, 언제 연결할지 알려 줄 것입니다.</span></h5>
-</div>
-<h2 id="지원되는_단말기_및_에뮬레이터">지원되는 단말기 및 에뮬레이터</h2>
-<p><span id="answer_long0" style="display: block;">몇몇의 단말기가 지원되기도 하지만, 어떤 단말기에서는 다양하게 변경이 가능합니다. 지금까지는 특별한 목적(특징)으로 분류되어 있습니다. 그리고 어떤 기기는 다른 기기들보다 지원이 더 잘되기도 합니다. </span></p>
-<h3 id="분류1">분류1</h3>
-<p>분류1 에 속하는 기기는 개발의 주요 대상이 되는 기기며 전반적으로 기능의 첫 번째 구현 대상 혹은 최신 버그들이 처음으로 수정되는 대상 기기입니다.</p>
-<dl>
- <dt>
- 오토로</dt>
- <dd>
- 오토로는 중저가 스마트폰의 플랫폼 개발 혹은 테스트용으로 사용됩니다. 많은 핵심 Firefox OS개발에 사용되는 기기입니다</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators" style="line-height: 1.5;" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators">에뮬레이터 (ARM and x86)</a></dt>
- <dd>
- 에뮬레이터는 ARM코어와 X86(PC용)코어 두가지가 있습니다.</dd>
- <dt>
- Koen</dt>
- <dd>
- Keon은 <a href="http://www.geeksphone.com/" title="http://www.geeksphone.com/">Geeksphone</a>의 초기의 개발자 폰중에 하나 입니다. Koen은 Geeksphone에서 빌드 방법을 제공합니다.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">데스크탑</a></dt>
- <dd>
- 데스크탑용 Firefox OF도 있습니다; 이는 <a href="/en-US/docs/XULRunner" title="/en-US/docs/XULRunner">XULRunner</a> application에서 <a href="https://developer.mozilla.org/en-US/docs/Gecko" title="/en-US/docs/Gecko">Gecko</a>를 실행 하는 것이며, <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia" title="/en-US/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia">Gaia</a> user experience를 Gecko에서 사용 가능합니다.</dd>
-</dl>
-<dl>
- <dt>
- Flame</dt>
- <dd>
- Flame은 Mozilla의 새로운 표준 Firefox OS의 기준 폰입니다. ZTE Open C를 위한 빌드를 할 때 Flame의 설정을 사용해야 합니다. Flame과 Open C는 안드로이드 젤리빈이 기반 시스템 입니다.</dd>
-</dl>
-<p>당연히, 데스크탑 클라이언트를 빌드 할 수 있으며 단말기 없이도 에뮬레이터를 사용할 수 있습니다..</p>
-<h3 id="분류_2">분류 2</h3>
-<p><span id="answer_long1" style="display: block;">분류 2의 단말기들은 기본기능 개발을 위해(특히 어플리케이션 개발자들) 사용 됩니다. 그렇기 때문에 분류 1다음으로 최신 코드들이 반영됩니다.</span></p>
-<dl>
- <dt>
- <a class="link-https" href="https://en.wikipedia.org/wiki/Nexus_S#Variants" title="https://en.wikipedia.org/wiki/Nexus_S#Variants">Samsung Nexus S</a></dt>
- <dd>
- 넥서스 S로 잘알려진 모델로 상세 모델로는 GT-I9020A, GT-I9023이기도 합니다. 그외 넥서스 S모델들도 사용 가능합니다.</dd>
- <dt>
- Samsung Nexus S 4G</dt>
- <dd>
- 모델명 SPH-D720가 분류 2에 포함 됩니다.</dd>
-</dl>
-<h3 id="분류_3">분류 3</h3>
-<p><span id="answer_long1" style="display: block;">Firefox OS가 아래와 같은 단말기 들로 빌드 될 수도 있지만, 코어 개발 및 기본 기능들이 실제로 잘 반영되지 않아 정상적으로 동작 하지 않을 수도 있습니다. 분류 1, 2보다 안정성이 떨어지므로 참고하시기 바랍니다.</span></p>
-<dl>
- <dt>
- Samsung Galaxy S2</dt>
- <dd>
- 모델 명 i9100; 다른 모델은 호환되지 않을 수 있습니다. (NFC칩만 추가된 i9100P모델인 경우에는 동작 할 수 있습니다.)</dd>
- <dt>
- Samsung Galaxy Nexus</dt>
- <dd>
- 최근에는 지원되지 않는 모델입니다.</dd>
- <dt>
- Nexus 4</dt>
- <dd>
- IRC에 일부 사용자들이 성공적으로 테스트를 했습니다. Android 4.4를 처음으로 실행 하면 Android 4.3을 재 Flash를 요구 할 수 도 있고 그렇지 않을 수 도 있습니다.( <a href="https://developers.google.com/android/nexus/images#occamjwr66y">안드로이드 이미지는 구글로 부터 이용할 수 있다</a>.)</dd>
- <dt>
- Nexus 5</dt>
- <dd>
- IRC에 일부 사용자들이 성공적으로 테스트를 했습니다. </dd>
- <dt>
- Tara</dt>
- <dd>
- Tara is another testing device. Manifest of Tara is in master branch only. The script of getting Tara code is "BRANCH=master ./config.sh tara".</dd>
- <dt>
- Unagi</dt>
- <dd>
- 우나기는 중저가 스마트폰의 플랫폼 개발 혹은 테스트용으로 사용됩니다. 많은 핵심 Firefox OS개발에 사용되는 기기입니다.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard" style="font-weight: bold; line-height: 1.5;" title="/en-US/docs/Mozilla/Boot_to_Gecko/Pandaboard">판다보드</a></dt>
- <dd>
- 판다보드는 모바일용 플랫폼으로 사용되는 OMAP 4 시스템용 보드 개발용으로 사용됩니다.</dd>
- <dd>
-  </dd>
- <dt>
-  </dt>
- <dt>
-  </dt>
-</dl>
-<div class="warning">
- <strong>중요</strong>: 단말기는 최소한 <strong>안드로이드 4</strong> (즉 아이스크림 샌드위치)가 지원되어야 합니다. 위에 언급된 단말기중 안드로이드 4보다 낮은 버젼이라면 업데이트 하시기 바랍니다.</div>
-<div class="note">
- <h2 id="분류_2와_분류_3_단말은_홈_버튼이_없다">분류 2와 분류 3 단말은 홈 버튼이 없다</h2>
- <p>분류 1의 모든 단말은 하드웨어 홈 버튼이 있어서 사용자가 홈 스크린으로 돌아갈 수 있습니다. 최근 대부분의 ICS 안드로이드 단말은 네비게이션을 위해서 화면상에 소프트웨어 홈 버튼을 사용합니다. 카메라 앱 같이 몇몇 앱에서는 하드웨어 홈버튼 없이 앱을 빠져나올 수 없습니다. 이것은 FireFox OS가 매일매일 사용하는데 부적절할 수 있게 합니다.</p>
-</div>
-<p> </p>
-<h2 id="리눅스_요구사항">리눅스 요구사항</h2>
-<p>리눅스에서의 빌드 환경은 아래와 같습니다:</p>
-<ul>
- <li>An installed <strong>64 bit GNU/Linux</strong> distribution (추천 버전 : 우분투 12.04).</li>
- <li>최소 <strong>4 GB</strong> 램/스왑 공간.</li>
- <li>최소 <strong>20 GB</strong> 이상의 하드 공간.</li>
-</ul>
-<p>위의 사항은 단순히 최소사양이며, 가끔은 리소스가 없어서 빌드 실패가 되기도 합니다.</p>
-<p>다른 리눅스 배포판에서도 빌드가 될수도 있으나, 우분투 12.04 배포판에서는 대부분의 개발자들이 빌드에 성공 했으므로 이를 추천 합니다. 아래 배포판들은 <strong>다음과 같은 이유로 빌드 되지 않을 수 있습니다.</strong>: <strong>32 비트 디스트로 와 최신 디스트로</strong>( <strong>우분투 12.10, 페도라 17/18, 아크 리눅스의 </strong><strong>gcc 4.7</strong>으로 인해 오류 발생 가능성 있음).</p>
-<p>그외 아래와 같은 툴들이 설치 되어 있어야 합니다:</p>
-<ul>
- <li><strong>autoconf 2.13</strong></li>
- <li><strong>bison</strong></li>
- <li><strong>bzip2</strong></li>
- <li><strong>ccache</strong></li>
- <li><strong>curl</strong></li>
- <li><strong>flex</strong></li>
- <li><strong>gawk</strong></li>
- <li><strong>git</strong></li>
- <li><strong>gcc / g++ / g++-multilib</strong> <strong>(4.6.3 or older)</strong></li>
- <li><strong>make</strong></li>
- <li><strong>OpenGL headers</strong></li>
- <li><strong>X11 headers</strong></li>
- <li><strong>32-bit ncurses</strong></li>
- <li><strong>32-bit zlib</strong></li>
-</ul>
-<h3 id="64_비트에서의_설치_예시"><strong>64 비트에서의 설치 예시:</strong></h3>
-<p><strong>우분투 12.04 / 리눅스 민트 13 / 데비안 6</strong></p>
-<pre>$ sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make zip</pre>
-<p class="note">64비트 우분투에서 빌드할때는, 32비트 버전의 <code>libX11.so</code>와 <code>libGL.so</code>를 심볼릭 링크로 추가 하셔야 합니다.</p>
-<pre class="note">$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
-$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so</pre>
-<p><strong>우분투 12.10</strong></p>
-<pre>$ sudo apt-get install autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git ia32-libs lib32ncurses5-dev lib32z1-dev libgl1-mesa-dev libx11-dev make zip</pre>
-<p class="note">위의 단계 외 추가로, 빌드 하기 전에 GCC 4.6를 기본 호스트 컴파일러로 설정 하여야 합니다. 소스를 가저 온 후에는 "<a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler" title="en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">여기"</a> 참고 하세요.</p>
-<p class="note">최신 우분투 12.10을 설치 한후, "unmet dependenceis for ia32-libs"에러가 발생 할 것입니다. 아래와 같이 수행 하여 수정 하시기 바랍니다.</p>
-<pre>sudo dpkg --add-architecture i386
-sudo apt-get update
-sudo apt-get install ia32-libs</pre>
-<p><strong>Fedora 16:</strong></p>
-<pre class="note">$ sudo yum install autoconf213 bison bzip2 ccache curl flex gawk gcc-c++ git glibc-devel glibc-static libstdc++-static libX11-devel make mesa-libGL-devel ncurses-devel patch zlib-devel ncurses-devel.i686 readline-devel.i686 zlib-devel.i686 libX11-devel.i686 mesa-libGL-devel.i686 glibc-devel.i686 libstdc++.i686 libXrandr.i686 zip</pre>
-<p><strong>Fedora 17/18:</strong></p>
-<pre class="note">$ sudo yum install autoconf213 bison bzip2 ccache curl flex gawk gcc-c++ git glibc-devel glibc-static libstdc++-static libX11-devel make mesa-libGL-devel ncurses-devel patch zlib-devel ncurses-devel.i686 readline-devel.i686 zlib-devel.i686 libX11-devel.i686 mesa-libGL-devel.i686 glibc-devel.i686 libstdc++.i686 libXrandr.i686 zip</pre>
-<p><span style="line-height: inherit;">위와 같이 프로젝트는 컴파일 하려면 GCC 4.4가 필요합니다. </span><a href="http://people.mozilla.org/~gsvelto/gcc-4.4.7-bin.tar.xz" style="line-height: inherit;" title="http://people.mozilla.org/~gsvelto/gcc-4.4.7-bin.tar.xz">여기</a><span style="line-height: inherit;">서 미리 컴파일된 버전을 구할 수 있으니 아래 명령을 따라 다운로드후 </span><code style="font-size: 14px; line-height: inherit;">/opt</code><span style="line-height: inherit;">에 설치하세요:</span></p>
-<pre class="note">$ wget http://people.mozilla.org/~gsvelto/gcc-4.4.7-bin.tar.xz
-$ sudo tar -x -a -C /opt -f gcc-4.4.7-bin.tar.xz
-</pre>
-<p>이 컴파일러를 항상 호스트의 기본 컴파일러로 지정한 후에 빌드 작업을 해야합니다. 소스를 얻은 후에  <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler" title="en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file#Changing_the_default_host_compiler">here</a>를 따라 확인해 주세요.</p>
-<p><strong style="line-height: inherit;">Arch Linux (not functional yet):</strong></p>
-<pre class="note">$ sudo <span style=""><span style="">pacman -S --needed </span></span><span style=""><span style="">alsa-lib </span></span><span style=""><span style="">autoconf2.13</span></span><span style=""><span style=""> bison</span></span><span style=""><span style=""> ccache</span></span><span style=""><span style=""> </span></span><span style=""><span style="">curl firefox </span></span><span style=""><span style="">flex </span></span><span style=""><span style="">gcc-multilib </span></span><span style=""><span style="">git </span></span><span style=""><span style="">gperf </span></span><span style=""><span style="">libnotify </span></span><span style=""><span style="">libxt </span></span><span style=""><span style="">libx11 mesa multilib-devel </span></span><span style=""><span style="">wireless_tools </span></span><span style=""><span style="">yasm</span></span><span style=""><span style=""> </span></span><span style=""><span style="">lib32-mesa </span></span><span style=""><span style="">lib32-ncurses lib32-readline</span></span><span style=""><span style=""> </span></span><span style=""><span style="">lib32-zlib</span></span></pre>
-<p>기본적으로 Arch 리눅스는 Python3을 사용하는데 이것을 이전 Python2로 사용해야 합니다:</p>
-<pre><span style=""><span style="">$ cd /usr/bin</span></span>
-
-<span style=""><span style="">$ sudo ln -fs python2 python</span></span></pre>
-<h2 id="Mac_OS_X를_위한_요구사항">Mac OS X를 위한 요구사항</h2>
-<p>Mac OS X에서 Firefox OS를 빌드하기 위해서 Xcode 명령라인 도구들을 설치해야 합니다.</p>
-<p><a href="https://developer.apple.com/downloads/" style="line-height: inherit;" title="https://developer.apple.com/downloads/">Apple's developer downloads page</a><span style="line-height: inherit;"> 에서 </span><span style="line-height: inherit;">OS X의 특정 버전에 적절한 </span><span style="line-height: inherit;">명령라인 도구를 바로 다운로드 해서 사용할 수 있습니다.</span></p>
-<p> </p>
-<p>그러나 Xcode 전체를 사용하고자 하면 <a href="http://itunes.apple.com/us/app/xcode/id497799835?mt=12" title="http://itunes.apple.com/us/app/xcode/id497799835?mt=12">Mac App Store</a>에서 설치할 수 있습니다.</p>
-<p><strong>XCode 4.3.1 이상 최신버전에서 명령라인 도구 설치하기</strong></p>
-<p>Xcode 4.3.1(OS X 10.7 "Lion")과 최신 4.4.1+(Mac OS X 10.8 "Mountain Lion")은 명령라인 도구를 포함하고 있지 않습니다. Xcode의 Preferences 메뉴로 가서 Downloads 패널로 갑니다. 이곳에서 'Command Line Tools'를 설치합니다. 설치를 위해서 최소 20 GB 공간의 여유가 있어야 합니다.</p>
-<p><img alt="Screenshot of Xcode Downloads Command Line Tools" src="/files/4557/xcode_downloads_command_line_tools.png" style="width: 750px; height: 528px;"></p>
-<div class="note">
- <strong>Note:</strong> Firefox OS 에뮬레이터는 Core 2 Duo 프러세스 혹은 그 이상을 요구합니다; 즉 Mac OS X 10.7 "Lion"에 호환되야 합니다. 그러나 이전 Mac OS에서도 Firefox OS를 빌드할 수는 있습니다.</div>
-<p><font face="Georgia, Times, Times New Roman, serif"><span style="font-size: 20px; line-height: 31px;"><b>Firefox OS Mac Bootstrap</b></span></font></p>
-<p>터미널을 열고 아래 명령을 실행합니다:</p>
-<pre class="brush: bash">curl -fsSL https://raw.github.com/mozilla-b2g/B2G/master/scripts/bootstrap-mac.sh | bash</pre>
-<p>It will pull and run a bootstrap script that makes sure you have all the prerequisites met to build the emulator. It will also prompt you for permission to install anything you're missing. The script will check for and install the following items:</p>
-<ul>
- <li><code>git</code></li>
- <li><code>gpg</code></li>
- <li><code>ccache</code></li>
- <li><code>yasm</code></li>
- <li><code>autoconf-213</code></li>
- <li><code>gcc-4.6</code></li>
- <li><code>homebrew</code></li>
-</ul>
-<div>
- <p>Xcode</p>
- <p>If you have already upgraded to Xcode 4.4+ and get the message that Xcode is outdated, check the Xcode path with:</p>
- <pre>xcode-select -print-path</pre>
- If it still points to <code>/Developer</code> you can update the path with:
- <pre>sudo xcode-select -switch /Applications/Xcode.app</pre>
- Next to that be sure that you have the Mac OS X 10.6 SDK available at:
- <pre>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</pre>
- <p>If it cannot be found there you will need to extract and copy it from the Xcode 4.3 DMG file which is available at the <a class="external" href="https://developer.apple.com/downloads/index.action">Apple Developer</a> portal. You can use the utility Pacifist to extract the 10.6 SDK. Be sure to add a symlink to it to the <code>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</code> directory. (We can drop the 10.6 SDK requirement after <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=784227" title="https://bugzilla.mozilla.org/show_bug.cgi?id=784227">bug 784227</a> has been fixed, and our version of <a href="https://github.com/mozilla-b2g/B2G/issues/189" title="https://github.com/mozilla-b2g/B2G/issues/189">platform_build has been updated</a>.)</p>
- <h3 id="Mountain_Lion">Mountain Lion</h3>
- <div>
- <p>If you are building on OS X 10.8 "Mountain Lion" (Xcode 4.4.1 or later) and encounter the following error:</p>
- <pre style="font-size: 14px;">external/qemu/android/skin/trackball.c:130:25: error: 'M_PI' undeclared (first use in this function)</pre>
- Edit the file: <code style="font-size: 14px;">B2G/external/qemu/Makefile.android</code> and add in line 78:<br>
- <pre style="font-size: 14px;">MY_CFLAGS += -DM_PI=3.14159265358979323846264338327950288   #/* B2G_fix: not finding M_PI constant */
-</pre>
- <div>
- If you are on Mountain Lion and you receive an error during the installation of the dependencies via homebrew, such as:</div>
- </div>
-</div>
-<div>
- <pre>clang: error: unable to execute command: Segmentation fault: 11</pre>
- ... try reinstalling the dependency manually adding the --use-gcc flag, for example:
- <pre>brew install mpfr --use-gcc</pre>
-</div>
-<h3 id="Samsung_Galaxy_S2">Samsung Galaxy S2</h3>
-<p>If you plan to build for the Samsung Galaxy S2, you will also need to install heimdall. See <a href="#Installing_heimdall">Installing heimdall</a> for details. This is <strong>not</strong> done for you by the bootstrap script!</p>
-<div class="note">
- <strong>Note:</strong> If you have installed the <a class="external" href="http://www.samsung.com/us/kies/" title="http://www.samsung.com/us/kies/">Samsung Kies</a> tool, which is used to manage the contents of many Samsung phones, you will have to remove it before you can flash Firefox OS onto your device. You can use the standard application removal process on Windows; on Mac, the Kies install disk image has a utility to fully remove Kies from your system. Flashing <strong>will not work</strong> if you have Kies installed. If you forget to remove Kies, the build system will detect it and remind you to uninstall it. Note also that the uninstall tool does not correctly remove the folder <code>~/Library/Application Support/.FUS</code>, and leaves a reference to a utility there in your user startup items list. You will want to remove these manually.</div>
-<div class="note">
- <strong>Note:</strong> Mac OS X uses a case insensitive filesystem by default, which will prevent you from building Firefox OS down the road (<strong>EDITOR'S NOTE: I have never had a problem with this)</strong>.  You should create a case sensitive sparse disk image work from within that directory.  To buld the case sensitive disk image:</div>
-<pre>hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/firefoxos.dmg</pre>
-<p>Mount the drive with:</p>
-<pre>open ~/firefoxos.dmg</pre>
-<p>Change into the mouted drive with:</p>
-<pre>cd /Volumes/untitled/</pre>
-<h3 class="note" id="Fix_libmpc_dependency_if_broken">Fix libmpc dependency if broken</h3>
-<p>gcc 4.6 was built with libmpc 0.9; if you then use homebrew to update packages, libmpc gets updated to version 1.0, but homebrew doesn't rebuild gcc 4.6 after the library version changes. So you need to create a symlink to make things work again, like this:</p>
-<pre>cd /usr/local/lib/
-ln -s libmpc.3.dylib libmpc.2.dylib</pre>
-<h3 id="Optional_Install_HAX">Optional: Install HAX</h3>
-<p>Intel provides a special driver that lets the B2G emulator run its code natively on your Mac instead of being emulated, when you're using the x86 emulator. If you wish to use this, you can <a class="external" href="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/" title="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/">download and install</a> it. It's not required, but it can improve emulation performance and stability.</p>
-<h2 class="note" id="adb_설치">adb 설치</h2>
-<p>B2G를 단말기에 설치 하기 전에 기존에 단말기에 설치된 안드로이드를 꺼내 저장 해 두시기 바랍니다. 이 를 위해서는 adb(Android Debug Bridge)를 설치 하셔야 합니다.</p>
-<p>adb를 설치 하기 위해서는 <a class="external" href="http://developer.android.com/sdk/index.html" title="http://developer.android.com/sdk/index.html">Android SDK starter package</a>를 데스크 탑에 설치된 OS에 맞는 것을 설치 하셔야 합니다.(<em>ADT Bundle만 설치 하셔도 됩니다</em>). 설치 후, 패키지 메니저를 실행 하여 "Android SDK Platform-tools"를 설치 하세요.</p>
-<p><code>adb는</code> <code>$SDK_HOME/platform-tools에 설치 될 것입니다.</code> 설치 후에는 <code>PATH에 아래 경로를 추가 하세요</code>.</p>
-<pre>PATH=$SDK_HOME/platform-tools:$PATH</pre>
-<p>~/.bashrc파일에 $SDK_HOME가 있으면 그 경로를 자신이 설치한 Android sdk의 경로로 대체 하세요.없을시는 환경 설정을 추가 하세요. 그리고 아래와 같이 실행 하시면 단말기의 Android 전체 system폴더의 내용을 원하는 backup target dir로 가져옵니다:</p>
-<pre>adb pull /system &lt;backup target dir&gt;/system
-</pre>
-<p>이는 나중에 B2G를 제거 하고 Android로 복원할 수 있습니다. 단말기에 따라 /data폴더와 /vendor폴더도 복사 해야 하는 경우도 있습니다.</p>
-<pre>adb pull /data &lt;backup target dir&gt;/data
-adb pull /vendor &lt;backup target dir&gt;/vendor
-</pre>
-<p>"권한 없음(insufficient permission)"메시지와 함께 복사가 되지 않는 경우, adb server를 제 실행 해 보거나, adb tool에 <em>루트권한(root</em> permissions)이 주어졌는지 확인 하세요. (eg. under CyanogenMod, change 'Settings &gt; System &gt; Developer Options &gt; Root Access' to 'Apps and ADB' or 'ADB only').</p>
-<h2 class="note" id="Install_heimdall">Install heimdall</h2>
-<p>Heimdall is a utility for flashing the Samsung Galaxy S2. It's used by the Boot to Gecko flash utility to replace the contents of the phone with Firefox OS, as well as to flash updated versions of B2G and Gaia onto the device. You'll need it if you want to install Firefox OS on a Galaxy S2; it is <strong>not</strong> needed for any other device. For other devices, we build and use the fastboot utility instead.</p>
-<div class="note">
- <strong>Note:</strong> Again, it's important to note that this is <strong>only required for installing Firefox OS on the Samsung Galaxy S2</strong>.</div>
-<p>There are two ways to install heimdall:</p>
-<ul>
- <li>You can <a class="link-https" href="https://github.com/Benjamin-Dobell/Heimdall" title="https://github.com/Benjamin-Dobell/Heimdall">download the code</a> GitHub and build it yourself.</li>
- <li>Use a package manager to install it.
- <ul>
- <li>On Linux: <code>sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev</code></li>
- <li>On Mac, you can <a class="link-https" href="https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.2-mac.dmg" title="https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.2-mac.dmg">download an installer package</a> and use that.</li>
- </ul>
- </li>
-</ul>
-<h2 id="ccache_설정_변경">ccache 설정 변경</h2>
-<p>기본 ccache 크기는 1GB로 되어 있습니다. B2G 빌드시 이는 부족한 크기이므로 아래와 같이 크기를 변경 해야 합니다.</p>
-<pre><code>$ ccache --max-size 3GB</code></pre>
-<h2 id="udev_rule에_개발_단말기_환경_추가">udev rule에 개발 단말기 환경 추가</h2>
-<p>"lsusb"를 실행하면 현재 연결된 단말기의 USB vendor ID를 보실 수 있습니다.대부분의 구글 단말기는 <code>"18d1"이며,</code> 삼성은 "<code>04e8"</code>, ZTE는 "<code>19d2"이므로</code> <code>/etc/udev/rules.d/51-android.rules</code>파일(해당 파일이 없으면 생성하세요)에 아래 "xxxx"부분에 해당 단말기의 id로 변경하여 추가 하세요.</p>
-<pre>SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", MODE="0666", GROUP="plugdev"</pre>
-<p>ZTE단말기를 예로 들면, 51-android.rules파일에 아래와 같이 추가하세요.</p>
-<pre style="font-size: 14px;">SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"</pre>
-<p><span style="line-height: 1.572;">위와 같이 추가 한 후에는 저장, 종료 후에 "읽기 모드"를 아래와 같이 변경해 주세요.</span></p>
-<pre>$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
-</pre>
-<p>위와 같이 추가 한 후에는 adb명령을 수행 하면 아래와 같이 단말기를 adb에서 인식 할 수 있게 됩니다.</p>
-<pre style="font-size: 14px;">$adb devices
-List of devices attached
-123456 device</pre>
-<div>
- 위와 같이 단말기가 나타나지 않는다면, 해당 파일이름이 맞는지, 연결이 잘되었는지, 확인 한 후 컴퓨터를 재시작 하고 위의 명령을 수행 해 보세요.</div>
-<h2 id="단말기를_개발자_모드로_바꾸기">단말기를 개발자 모드로 바꾸기</h2>
-<p>단말기를 USB에 연결하기 전에 아래와 같은 메뉴에서 단말기를 개발자 모드로 변경 하세요. 개발자 모드를 바꾸고 나면 디버깅과 단말기로 다운로드를 하실 수 있습니다. 설정(Settings) -&gt; 단말기 정보(<code>Device information)</code> -&gt; 모드 정보(<code>Mode Information)</code> -&gt; 개발자(<code>Developer</code>) -&gt; 개발자 모드(enable) <code>Developer mode</code></p>
-<h2 id="다음_단계로">다음 단계로</h2>
-<p>이제 <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="en-US/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build">Firefox OS코드를 가져올 단계</a>로 넘어 가겠습니다.</p>
diff --git a/files/ko/archive/b2g_os/firefox_os_faq/index.html b/files/ko/archive/b2g_os/firefox_os_faq/index.html
deleted file mode 100644
index adf78f75aa..0000000000
--- a/files/ko/archive/b2g_os/firefox_os_faq/index.html
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Firefox OS FAQ
-slug: Archive/B2G_OS/Firefox_OS_FAQ
-translation_of: Archive/B2G_OS/Introduction
----
-<dl>
- <dt>
- 개발자용 테스트폰 구매는 어떻게 하나요?</dt>
- <dd>
- <a href="http://www.geeksphone.com/">Geeksphone</a> 웹 사이트로 부터 바로 구매할 수 있습니다.</dd>
- <dt>
- 개발자용 테스트폰이 없이도 개발 가능한가요?</dt>
- <dd>
- 물론입니다. <a href="https://hacks.mozilla.org/2012/10/firefox-marketplace-aurora/">Firefox Marketplace</a>를 안드로이드폰에서도 테스트해 보실 수 있으며, PC 데스크톱에서 <a href="https://hacks.mozilla.org/2012/12/firefox-os-simulator-1-0-is-here/">Firefox OS simulator</a>를 이용하실 수 있습니다.</dd>
- <dt>
- 최종 출시폰과 비교하면 어떤가요?</dt>
- <dd>
- 일반 소비자 시장에 맞추어 몇몇 파트너들과 함게 개발중인데 좀 더 시간이 지난 후에 공개할 수 있을 것 같습니다. </dd>
- <dt>
- Firefox OS를 저의 폰에 설치해 볼 수 있습니까?</dt>
- <dd>
- 다음 문서를 참고 하십시오. <a href="/en-US/docs/" title="/en-US/docs/">https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS</a></dd>
- <dt>
- 제가 만든 앱을 어떻게 Firefox OS에서 테스트할 수 있나요?</dt>
- <dd>
- 안드로이드폰의 Marketplace나 Firefox OS simulator를 이용하시면 됩니다.</dd>
- <dt>
- Firefox OS란 무엇인가요?</dt>
- <dd>
- 새로운 개념의 개방형 모바일 웹 운영 체제로서 웹 표준에 의해 만들어지며 Web API를 통해 HTML5 기술을 사용하여 직접 휴대폰 기능을 제어할 수 있고, 네이티브 수준의 앱 기능을 제공할 수 있습니다. </dd>
- <dt>
-  Web API의 목록 및 표준화 정도는?</dt>
- <dd>
- 많은 WebAPI가 Firefox OS의 초기 구현에 사용되었으며 아래 목록에서 살펴 보실 수 있습니다.  <a href="https://wiki.mozilla.org/WebAPI#APIs"> https://wiki.mozilla.org/WebAPI#APIs</a>. <a href="https://hacks.mozilla.org/2012/01/mozilla-joins-the-w3c-dap-webapi-progress/">=&gt;표준화 진행 상태</a>.</dd>
- <dt>
- Web API는 크로스플랫폼으로 표준화가 되나요?</dt>
- <dd>
- 그렇습니다. API는 여러 벤더들과 함께 제작하여 다양한 플랫폼을 지원하게 되며 Web App이 직접 스마트폰을 제어할 수 있도록 크로스플랫폼을 지원할 수 있는 표준 방법을 제공할 것입니다. </dd>
-</dl>
diff --git a/files/ko/archive/b2g_os/index.html b/files/ko/archive/b2g_os/index.html
deleted file mode 100644
index 230fd0ce6c..0000000000
--- a/files/ko/archive/b2g_os/index.html
+++ /dev/null
@@ -1,181 +0,0 @@
----
-title: B2G OS
-slug: Archive/B2G_OS
-tags:
- - B2G
- - B2G OS
- - B2G OS 시작하기
- - Basic
- - Beginner
- - Firefox OS
- - FirefoxOS 시작하기
- - Gaia
- - Gonk
- - Overview
- - Starting FirefoxOS
- - web based os from mozilla
- - web os gecko
- - 기본
- - 모질라 재단이 만든 웹 기반 OS
- - 초보자
-translation_of: Archive/B2G_OS
----
-<p> </p>
-
-<div class="summary"><span class="seoSummary">B2G OS는 오픈 웹을 위한 완전하고 독립적인 운영체제입니다. B2G OS는 Mozilla 커뮤니티가 개발하는 오픈소스 프로젝트이며, Firefox OS 상품의 기반이 되고 있습니다. 2017년부터 더이상 유지보수되지 않습니다.</span></div>
-
-<p><strong>B2G</strong>는 스마트폰, 태블릿, 스마트 TV, 그 외 커넥티드 디바이스를 위한 오픈소스 운영체제이며, 커뮤니티에 의해 관리되고 있습니다. 이 프로젝트는 2011년에 <a href="https://wiki.mozilla.org/Booting_to_the_Web">시작</a>됐습니다. B2G는 리눅스 커널과 Gecko 렌더링 엔진을 바탕으로 하고 있습니다. 사용자 인터페이스 전체가 웹 기술(HTML, CSS, JavsScript)로 만들어져있으며, 이 사용자 인터페이스를 통해 <a href="/ko/Apps">웹 애플리케이션</a>을 실행하고 이용할 수 있습니다. Mozilla가 상용 Firefox OS 스마트폰 개발을 <a href="/en-US/docs">종료</a>하면서 B2G의 스마트폰 부분은 Mozilla의 자발적 커뮤니티가 개발하게 되었습니다. 이와 함께 B2G OS로 브랜드를 바꾸게 되었습니다.</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/13140/B2g_wordmark.png" style="display: block; margin: 0 auto;"></p>
-
-<h2 id="페이지_목록"><span>페이지 목록</span></h2>
-
-<dl>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Automated_testing">B2G OS 테스트</a></dt>
- <dd class="landingPageList">이 페이지는 B2G OS를 테스트하는 데 필요한 정보를 제공합니다. 서로 다른 테스트의 진행, 자동화, 결과 보고 및 추적에 대한 내용이 포함됩니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Add-ons">B2G OS 부가기능</a></dt>
- <dd class="landingPageList">부가기능을 개발하기 위해서는 문서의 내용을 따라 진행해야 합니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/API">B2G OS APIs</a></dt>
- <dd class="landingPageList">B2G OS API의 목록입니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Platform/Architecture">B2G OS 아키텍처</a></dt>
- <dd class="landingPageList">이 글은 B2G OS 플랫폼의 아키텍처에 대한 고수준 개요 글입니다. 주요 특징을 설명하고 각 구성요소가 기초 수준에서 어떻게 상호작용하는 지 설명합니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/B2G_OS_build_prerequisites">B2G OS build prerequisites</a></dt>
- <dd class="landingPageList">단순히 Gaia의 빌드를 시도하고 있는 것뿐이라도, B2G OS를 빌드하기 위해 코드를 얻기 전 <a href="https://developer.mozilla.org/ko/docs/Build_Documentation" title="https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions">빌드 시스템</a>을 제대로 설정해야 합니다. — 이 페이지는 그 방법을 설명합니다. 현재 빌드를 지원하는 OS는 64비트 리눅스 및 macOS입니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Phone_guide">B2G OS 단말기 가이드</a></dt>
- <dd class="landingPageList">이 글은 B2G OS를 구동하는 단말기에 대한 개발자 정보를 제공합니다. 개발자 단말기 및 소비자용 단말기 모두 포함되어 있습니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Building_and_installing_Firefox_OS">B2G OS의 빌드와 설치</a></dt>
- <dd class="landingPageList">이 페이지에 나열된 글은 B2G OS를 에뮬레이터나 호환 기기에서 빌드하고 설치하는 방법, 혹은 Gaia 사용자 인터페이스를 Firefox 브라우저에서 빌드하고 설치하는 방법을 안내할 것입니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Building">B2G OS 빌드하기</a></dt>
- <dd class="landingPageList"><a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Firefox_OS_build_prerequisites" title="Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">빌드 시스템을 설정하고</a>, <a href="https://developer.mozilla.org/ko/docs/Archive/B2G_OS/Preparing_for_your_first_B2G_build" title="Mozilla/Firefox_OS/Preparing_for_your_first_B2G_build">코드의 초기 pull 작업 및 설정 작업</a>을 진행하면, Boot to Gecko를 빌드할 수 있게 됩니다. 이 설명서는 어떻게 B2G OS를 빌드하는 지 설명합니다.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Building_the_B2G_OS_simulator">Building the B2G OS Simulator</a></dt>
- <dd class="landingPageList">Just like <a href="http://nightly.mozilla.org" title="http://nightly.mozilla.org">Firefox Nightlies</a>, the B2G OS simulator desktop client (identified by <em>b2g-</em>) is automatically built every day from the latest source code. The latest build is <a href="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/" title="http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/">available from the Mozilla FTP server</a>. Be sure to pick the latest version and the right archive for your operating system. This lets you bypass having to build it yourself. In addition, you don't have to download Gaia on your own either.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Choosing_how_to_run_Gaia_or_B2G">Choosing how to run Gaia or B2G</a></dt>
- <dd class="landingPageList">Depending on your specific needs, you have an assortment of options to consider when experimenting with Firefox OS or the <a href="https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Introduction_to_Gaia" title="en/Mozilla/Boot_to_Gecko/Introduction_to_Gaia">Gaia</a> user interface. You can choose among the following options; each has its advantages and disadvantages to consider, and some are more flexible than others.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Crash_Reporting_Guide_for_Firefox_OS_Partners">Crash Reporting Guide for Firefox OS Partners</a></dt>
- <dd class="landingPageList">Mozilla has a world-class system for collecting, analyzing, and fixing crashes and other stability issues such as hangs. Firefox OS partners need to work with Mozilla to correctly enable crash reporting and upload symbols.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a></dt>
- <dd class="landingPageList">The <code>.userconfig</code> file isn't checked into source code control, so your changes won't be overwritten when you update your source tree. It needs to be created in the <a href="https://github.com/mozilla-b2g/B2G">root of the B2G tree</a>; that is, in the same directory as <code>flash.sh</code>, <code>build.sh</code>, and so forth. You should add this before you run your config and build steps.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Debugging">Debugging on Firefox OS</a></dt>
- <dd class="landingPageList">There are two main types of debugging you'll want to with Firefox OS: debugging apps, and debugging other aspects of the system.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Developer_Mode">Developer Mode</a></dt>
- <dd class="landingPageList">The current Firefox OS permissions model precludes modification and installation of certified/internal apps, which makes some device APIs completely unavailable to Marketplace and web apps. <strong>Developer Mode (DM)</strong> allows the user to indicate that they would like to relax the permissions model and expose all device APIs to content, as well as setting a group of related preferences. This article provides a high-level overview.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Developing_Firefox_OS">Developing Firefox OS</a></dt>
- <dd class="landingPageList">This section provides useful documentation covering different ways in which Firefox OS (codename Boot2Gecko, or B2G) can be modified/customized during the build process, and how you can help to develop the low level platform areas such as <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Gecko">Gecko</a> and <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Gonk">Gonk</a>.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Firefox_OS_apps">Firefox OS apps</a></dt>
- <dd class="landingPageList">This section of the Firefox OS docs covers the specific techniques required — and available tools — for building Firefox OS apps. You'll find a number of details below, from Firefox OS building blocks/web components, to device APIs and App installation.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Board_guide">Firefox OS board guide</a></dt>
- <dd class="landingPageList">This section contains developer information relevant to specific phones that run Firefox OS — both developer and consumer devices.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Releases">Firefox OS developer release notes</a></dt>
- <dd class="landingPageList">This section provides articles covering each new release of Gaia and Gecko for Firefox OS, explaining what features were added and bugs eliminated in each update. There is also a linked summary table showing what APIs are supported by each version of Firefox OS.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Security">Firefox OS security</a></dt>
- <dd class="landingPageList">The following articles cover security-related topics about Firefox OS. This includes overall security features as well as application security and how the install process is kept secure.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Simulator">Firefox OS Simulator</a></dt>
- <dd class="landingPageList"><span style="line-height: 1.5;">The Firefox OS Simulator is <span style="line-height: 1.5;">a version of the higher layers of Firefox OS</span> that simulates a Firefox OS device, but runs on the desktop</span><span style="line-height: 1.5;">. This means that in many cases, you don't need a real device to test and debug your app. </span><span style="line-height: 1.5;">It runs in a window the same size as a Firefox OS device, includes the Firefox OS user interface and built-in apps, and simulates many of the Firefox OS device APIs.</span></dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Firefox_OS_usage_tips">Firefox OS usage tips</a></dt>
- <dd class="landingPageList">Explains all of the developer features on the phone and what they do (Settings &gt; Device information &gt; More information &gt; Developer)</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Developing_Gaia">Gaia</a></dt>
- <dd class="landingPageList">Gaia is B2G OS's user interface and suite of default apps: it includes the lock screen, home screen, dialer, and other applications. Essentially, Gaia is a set of complex web apps that runs on top of the B2G OS platform. This set of articles covers all you need to know to contribute to the Gaia project.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Installing_on_a_mobile_device">Installing B2G OS on a mobile device</a></dt>
- <dd class="landingPageList">Once you've built Boot to Gecko for a <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites#Have_a_compatible_device_or_use_an_emulator">supported mobile device</a>, you can install it. This article will guide you through the process.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Introduction">Introduction to Firefox OS</a></dt>
- <dd class="landingPageList">This set of documentation is aimed mainly at web developers and platform developers who want to learn how Firefox OS works, how to contribute to the project, and how to build their own custom versions of the software and install it on devices. For those who want to create and distribute their own web apps, the <a href="https://developer.mozilla.org/en-US/Apps">App Center</a> and <a href="https://developer.mozilla.org/en-US/Marketplace">Marketplace Zone</a> are good places to go.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Mulet">Mulet</a></dt>
- <dd class="landingPageList">Following this guide you're going to run Gaia inside of a special build of Firefox called Firefox Mulet. This gives you the advantages of having a rapid development cycle, as well as standard web development tools and debuggers available to work with. First of all, you need to have the <a class="external external-icon" href="https://github.com/mozilla-b2g/gaia">Gaia</a> repo cloned on your machine and build your own profile. Then, you have to install mulet and run it, passing your Gaia profile as the profile to use.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Quickstart">Open web apps quickstart</a></dt>
- <dd class="landingPageList">Quickstart information on coding Open Web Apps.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Pandaboard">Pandaboard</a></dt>
- <dd class="landingPageList">This is a guide to setting up Firefox OS on a <a href="http://pandaboard.org/" title="http://pandaboard.org/">PandaBoard</a>. The PandaBoard is a low-cost OMAP 4 based development board for developing mobile operating systems.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/PasscodeHelper_Internals">PasscodeHelper Internals</a></dt>
- <dd class="landingPageList">PasscodeHelper is a Gaia helper library for modifying and checking the Firefox OS lockscreen passcode (i.e., pin) from within Gaia, performing functions such as checking whether an entered passcode is correct, and changing the code. This article documents how PasscodeHelper works.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Porting_B2G_OS">Porting B2G OS</a></dt>
- <dd class="landingPageList">This page lists the available resources for porting B2GOS.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Preparing_for_your_first_B2G_build">Preparing for your first B2G build</a></dt>
- <dd class="landingPageList">Depending on your internet connection, the configuration steps may take several hours to download everything you need to build B2G OS. Waiting is not as fun as doing, so after you have read through this page and have kicked off the configure script, consider using the time to set up and try out the <a class="vt-p" href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Using_Firefox_OS_Simulator" title="/en-US/docs/Mozilla/Firefox_OS/Using_Firefox_OS_Simulator">B2G OS simulator</a>, begin familiarizing yourself with <a class="vt-p" href="https://developer.mozilla.org/en-US/docs/Apps" title="/en-US/docs/Apps">Documentation for app developers</a> including Designing and Building an App, or familiarize yourself with the information on upcoming steps.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Resources">Resources</a></dt>
- <dd class="landingPageList"><em>Resources for App hackers, as generated from our workshops</em></dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Running_Tests_on_Firefox_OS_for_Developers">Running tests on Firefox OS: A guide for developers</a></dt>
- <dd class="landingPageList">If you are a Gecko developer, then you should review the Firefox OS-specific documentation for the test automation you are already familar with: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Automated_testing/Mochitests">mochitest</a>, <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Automated_testing/Reftests">reftest</a>, and <a href="https://developer.mozilla.org/en-US/Firefox_OS/Platform/Automated_testing/XPCShell">xpcshell</a>.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Platform">The B2G OS platform</a></dt>
- <dd class="landingPageList">The B2G OS platform consists of many components. While you don't need to understand its architecture in order to build applications that run on B2G OS, if you're working on developing or porting the platform — or are simply curious — the following documentation may be of interest to you.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Troubleshooting">Troubleshooting B2G OS</a></dt>
- <dd class="landingPageList">This article provides tips for resolving common problems you may have while using B2G OS.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Using_the_App_Manager">Using the App Manager</a></dt>
- <dd class="landingPageList">The App Manager is a tool for Firefox Desktop which provides a number of useful tools to help developers test, deploy and debug HTML5 web apps on Firefox OS phones &amp; Simulator, directly from Firefox browser. This page documents how to use the App Manager.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Using_the_B2G_emulators">Using the B2G emulators</a></dt>
- <dd class="landingPageList">This article provides a brief guide to some key things you should know when using the boot to Gecko emulators. This doesn't appear to be a complete user manual; instead, it simply tells you a few useful things that you might not learn on your own.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Web_applications">Web applications</a></dt>
- <dd class="landingPageList">This page is intended to be a first, non thorough, attempt to collect web apps.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Bluetooth_API">Web Bluetooth API (Firefox OS)</a></dt>
- <dd class="landingPageList">The Web Bluetooth API lets an open web app discover, pair with, and connect to Bluetooth devices. As it is a completely experimental and non-standard API, the Bluetooth API is currently available for certified applications only. However, there is some traction to have such an API available for regular Web content; this will be discussed as part of the <a href="http://www.w3.org/2012/sysapps/">W3C's System Applications Working Group</a>.</dd>
- <dt class="landingPageList"><a href="https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Web_Telephony_API">Web Telephony API</a></dt>
- <dd class="landingPageList">Web Telephony is an API that makes it possible for web content to handle voice phone calls using JavaScript.</dd>
-</dl>
-
-<div class="column-container">
-<h2 class="local-anchor" id="오래된_페이지_항목">오래된 페이지 항목</h2>
-
-<div class="column-third">
-<div class="note">
-<p><strong>주목</strong>: 더 많은 사람들을 참여시키기 위해 <a href="https://wiki.mozilla.org/B2G/Transition_Project/Call_For_Contribution">공헌 요청</a>과 <a href="https://discourse.mozilla-community.org/t/updated-9th-july-call-for-app-maintainers-adopt-an-app/9300/1">앱 채택 요청</a> 문서가 있습니다. 공유해주세요!</p>
-</div>
-
-<h2 id="여러분의_도움이_필요한_곳">여러분의 도움이 필요한 곳</h2>
-
-<ul>
- <li>오류 보고 (상위 오류 보고 <a class="external text" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1252143" rel="nofollow">bug 1252143</a> 참조)</li>
- <li>오류 수정</li>
- <li><a class="external text" href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Automated_testing" rel="nofollow">테스트</a> 실패에 대한 처리</li>
- <li><a href="https://mozilla-b2g.github.io/gaia/">스마트폰 앱</a>을 gaia에 맞게 수정:
- <ol>
- <li>웹앱으로 바꾸거나</li>
- <li>chrome:// 으로 바꾸거나(<a href="https://discourse.mozilla-community.org/t/why-gaia-apps-are-turned-to-chrome/8011">상세한 설명</a>) 수정 요청함</li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Porting_B2G_OS">B2G OS를 다양한 디바이스에 포팅</a>하거나 포트 관리에 참여</li>
- <li>이 문서와 위키를 개선하고 번역</li>
- <li>새로운 스마트폰 기능을 제안하거나 만듦</li>
-</ul>
-</div>
-
-<div class="column-third">
-<h2 id="참여하기">참여하기</h2>
-
-<ul>
- <li>메일링 리스트 (<a class="external text" href="https://lists.mozilla.org/listinfo/dev-fxos" rel="nofollow">dev-fxos</a>)</li>
- <li><a class="external text" href="https://wiki.mozilla.org/IRC" rel="nofollow">IRC</a> (irc.mozilla.org #fxos)</li>
- <li><a href="https://discourse.mozilla-community.org/c/b2g-os-participation">Discourse</a></li>
- <li><a class="external text" href="https://telegram.me/B2GOS" rel="nofollow">텔레그램 그룹</a></li>
- <li><a href="https://wiki.mozilla.org/B2G/Transition_Project/FAQ">프로젝트 위키</a></li>
- <li>진행 상황 업데이트를 위한 <a class="external text" href="https://wiki.mozilla.org/B2G/Meeting" rel="nofollow">B2G 주간회의</a></li>
- <li><a href="https://github.com/mozilla-b2g/B2GOS-community/issues">GitHub</a> 이슈 관리</li>
- <li>회의나 워킹그룹 모임에 참여하려면 이 <a href="https://calendar.google.com/calendar/embed?src=mozilla.com_2d3638353137343333373332@resource.calendar.google.com">달력</a>을 살펴보세요. 회의나 모임 내용은 <a href="https://discourse.mozilla-community.org/c/b2g-os-participation">Discourse</a>에서 확인할 수 있습니다.</li>
-</ul>
-</div>
-
-<div class="column-third">
-<h2 id="지원_디바이스">지원 디바이스</h2>
-
-<p>B2G OS가 구동되는 지원 스마트폰 정보:</p>
-
-<ul>
- <li><a href="https://discourse.mozilla-community.org/t/building-b2g-os-for-aries-z3c/8082">Sony Xperia Z3C</a> (개발용)</li>
- <li><a href="https://discourse.mozilla-community.org/t/flame-builds/8548">Flame </a>(개발용)</li>
- <li><a href="https://discourse.mozilla-community.org/t/zte-open-c/8402">ZTE Open C</a></li>
- <li><a href="https://discourse.mozilla-community.org/t/test-b2gos-on-nexus-5/9405/1">Nexus 5</a></li>
- <li>WileyFox Swift</li>
- <li>Nexus 4 (WIP)</li>
- <li><a href="https://discourse.mozilla-community.org/t/fairphone-2-support-for-b2g-installer-landed/8334">Fairphone 2 </a> (진행 중)</li>
- <li><a href="https://discourse.mozilla-community.org/t/support-for-amami-xperia-z1c-building-debugging-providing-builds/8348">Sony Xperia Z1C</a> (진행 중)</li>
- <li><a href="https://discourse.mozilla-community.org/t/b2g-os-flamingo-sony-xperia-e3-builds/8361">Sony Xperia E3 </a> (진행 중)</li>
- <li><a href="https://discourse.mozilla-community.org/t/wip-xiaomi-redmi-1s-hongmi-1s/10273">Xiaomi Redmi 1S</a> (진행 중)</li>
-</ul>
-
-<p>더 자세한 사항은 <a href="/en-US/docs/Mozilla/B2G_OS/Building_and_installing_B2G_OS/Compatible_Devices">여기에서</a>.<br>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS/B2G_installer_add-on">B2G installer</a>를 이용하면 쉽게 설치할 수 있습니다.<br>
- 여러분의 디바이스가 목록에 없나요? 데스크탑에서 <a href="https://wiki.mozilla.org/Mulet">Mulet </a>를 써보세요.</p>
-</div>
-</div>
-
-<div class="note">
-<p><strong>주목</strong>: 오래된 몇몇 페이지는 <a href="/en-US/docs/Archive/Firefox_OS">MDN Archive</a>로 이동되었습니다. 예전 문서는 아카이브에서 확인해주세요. 아카이브에서 되돌려져야할 문서가 있으면 알려주세요.</p>
-</div>
diff --git a/files/ko/archive/b2g_os/installing_on_a_mobile_device/index.html b/files/ko/archive/b2g_os/installing_on_a_mobile_device/index.html
deleted file mode 100644
index 3269212b44..0000000000
--- a/files/ko/archive/b2g_os/installing_on_a_mobile_device/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: 단말기로 Firefox OS 다운로드 하기
-slug: Archive/B2G_OS/Installing_on_a_mobile_device
-translation_of: Archive/B2G_OS/Installing_on_a_mobile_device
----
-<p></p>
-<div class="warning">
- <strong>중요</strong>: 번역은 제가 필요한 부분 및 확인 가능한 부분만 진행 하였으며 변역된 날자는(2013/02/26)이며 문서 변경이 잦아 오늘 이후는 원문과 번역이 다를 수 있습니다. 참고하세요. 미 번역/변경된 부분은 추가로 다른 분이 해 주실 것으로 믿습니다.</div>
-<p>일단 Boot to Gecko의 빌드가 완료 되고 나면 단말기로 인스톨 할수 있게 됩니다.여기서는 이와 같은 과정에 대해 설명 하도록 하겠습니다.</p>
-<div class="note">
- <strong>Note:</strong> 처음 단말기로 Firefox OS를 다운로드 해 넣을 경우 반드시 해당 단말기의 OS가 안드로이드 4 (아이스크림 샌드위치)이어야 합니다. 그렇지 않을 경우 제대로 다운로드가 되지 않을 것입니다. 그러나 한번 B2G를 다운로드 하고 나면 그 다음 부터는 단순하게 맨위 업데이트 부터 진행 하시면 됩니다.</div>
-<h2 id="폰으로_다운로드_하기">폰으로 다운로드 하기</h2>
-<p>폰으로 다운로드 하는 방법은 단순하게 단말기를 연결 한 후 아래와 같이 수행 합니다.</p>
-<pre>./flash.sh
-</pre>
-<p>이게 다입니다. 막 빌드 완료한 당신의 B2G 이미지가 당신의 폰으로 들어갔습니다.</p>
-<h3 id="udev_rule에_단말기_환경_설정">udev rule에 단말기 환경 설정</h3>
-<p>리눅스에서 아래와 같은 메시지가 나타난다면,</p>
-<pre>&lt; waiting for device &gt;</pre>
-<p>아마도 udev rule에 단말기 정보 추가 하는 것을 잊어 버린 것이 아닌지 확인 해보세요. <code>"lsusb"를 실행해 보면 단말기의 USB vendor ID를 확인 할 수 있으니 아래와 같이 추가하세요. 대부분의 구글단말기 ID는 </code>18d1입니다. 구글 ID로 추가 하는 아래 예시를 참고하세요.</p>
-<pre>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"</pre>
-<div class="note">
- <strong>주의 1:</strong> 리눅스에서 '<code>libusb</code> error "-3"'가 발생한다면 루팅 권한이 필요하다는 의미 입니다.  <code>'&gt;sudo</code> ./flash.sh'를 입력 해 보세요.</div>
-<div class="note">
- <strong>주의 2</strong>: 만약 타겟 단말기가 우나기라면, udev rule에 단말기 vendor ID와 구글 ID 두가지를 다 추가 하세요.</div>
-<h3 id="삼성_Galaxy_S2_단말기인_경우_특별한_주의사항들">삼성 Galaxy S2 단말기인 경우 특별한 주의사항들</h3>
-<p>만약 타겟 단말기가 Galaxy S2이고 heimdall 1.3.2 버젼 (가장 최근 버젼임. 버젼 확인은 hiemdall version 명령어 사용) 을 사용한다면, "Heimdall flashing failed" 메시지 이후에 "FACTORYFS upload failed!" 메시지를 포함한 추가적인 정보가 출력되는 것을 보실수도 있습니다.<span style="font-size: 14px; line-height: inherit;"> 이 메시지는 uploading이 성공한 경우이니, 해당 경고 메시지는 무시하셔도 됩니다.</span></p>
-<p>이 비정상적인 행동을 제거하기 위해서는 heimdall의 1.3.1의 release된 source copy를 얻은 후에 (<span style="font-size: 14px; line-height: inherit;">"</span><code style="font-size: 14px; line-height: inherit;">git checkout fbbed42c1e5719cc7a4dceeba098981f19f37c06</code><span style="font-size: 14px; line-height: inherit;">" 명령어 사용), README file의 정의에 따라 컴파일을 하십시요. 컴파일 이후에 install을 하시면 그 에러 메시지는 사라질 것입니다. 하지만, 이 방법은 강력하게 요구되어지는 않습니다.</span></p>
-<p>Heimdall 도구의 모든 version에서 100MB 보다 큰 system.img 화일을 update를 할 수는 없습니다. 따라서 굽기 전에 다음 명령어를 실행하여 build된 system.img 화일의 크기를 확인해야 합니다. 만약 크기가 너무 크다면 IRC 내에서 문의하시기 바랍니다. 크기가 큰 경우에는 두 단계로 update를 분리할 수 있는 방법들이 있습니다.</p>
-<pre>ls -l ./out/target/product/galaxys2/system.img
-</pre>
-<p><span style="font-family: Georgia, Times, 'Times New Roman', serif; font-size: 1.628em; line-height: inherit;">Samsung Galaxy S2의 추가 작업</span></p>
-<p>Galaxy S2로 작업 할 경우, 다음과 같은 추가 작업이 필요합니다. Galaxy S2는 <code>flash.sh</code> script를 통해 Gaia는 다운로드가 되지 않습니다. 따라서 아래와 같이 추가 작업을 실행 해야 합니다.</p>
-<pre>./flash.sh gaia
-</pre>
-<h2 id="특정_영역_다운로드_하기">특정 영역 다운로드 하기</h2>
-<p>Samsung Galaxy S2를 제외한 다른 모든 단말기에서 특정 영역을 다운로드 하려면 아래와 같이 하세요.</p>
-<pre>./flash.sh system
-./flash.sh boot
-./flash.sh user
-</pre>
-<h2 id="특정_모듈_다운로드_하기">특정 모듈 다운로드 하기</h2>
-<p>아래와 같이 특정 모듈이름으로 B2G의 특정 모듈만 다운로드도 가능합니다.</p>
-<pre>./flash.sh gaia
-./flash.sh gecko
-</pre>
-<p>특정 어플리케이션만 업데이트 하려면 환경 설정 변수 BUILD_APP_NAME 를 통해서 가능합니다.</p>
-<pre>BUILD_APP_NAME=calendar ./flash.sh gaia</pre>
-<h2 id="다음_단계">다음 단계</h2>
-<p>이 단계에서, 당신의 타켓은 Boot to Gecko!를 실행시킬 수 있을 것입니다. 이제 실험하고, 코드를 작성하고, 테스트 하고 디버깅을 하실 시간입니다.</p>
-<div class="note">
- <strong>Note:</strong> 도움이 되는 사용 팁 : 만약 타켓이 잠겨있어서 타겟의 잠금을 해제할 필요가 있을 때는 default 숫자는 0000 입니다.</div>
-<h2 class="note" id="문제_해결방법">문제 해결방법</h2>
-<p>B2G를 설치한 후에 타겟이 정상적으로 동작하지 않는 경우에 대비하여 몇 가지 tip을 알려 드립니다.</p>
-<h3 class="note" id="UI가_시작되지_않는다면">UI가 시작되지 않는다면</h3>
-<p>만약 당신의 타겟이 update되고, UI가 정상적으로 실행되지 않는다면, 오래된 configuration을 초기화 할 수 있습니다. 다음은 그 방법입니다.</p>
-<pre>cd gaia
-make reset-gaia
-</pre>
-<h3 class="note" id=".flash.sh_실행_후에_image_is_too_large_에러_메시지가_출력되는_경우">./flash.sh 실행 후에 "image is too large" 에러 메시지가 출력되는 경우</h3>
-<p>이 메시지는 이미지를 flash에 writing하기 전에 당신의 타겟이 rooting될 필요가 있음을 뜻할 수 있습니다. b2g는 root partition 영역에 data를 writing 할 필요가 있으므로 당신의 타겟은 b2g image를 정상적으로 설치하기 위해서 rooting 되어져야 합니다.</p>
diff --git a/files/ko/archive/b2g_os/introduction/index.html b/files/ko/archive/b2g_os/introduction/index.html
deleted file mode 100644
index 17dc0720e9..0000000000
--- a/files/ko/archive/b2g_os/introduction/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: Firefox OS 소개
-slug: Archive/B2G_OS/Introduction
-translation_of: Archive/B2G_OS/Introduction
----
-<p><strong>Firefox OS</strong> ( "Boot to Gecko" 혹은 "B2G" 라는 코드네임)는 Linux와 Mozilla의 Gecko 기술을 기반으로 한 Mozilla의 오픈 소스 모바일 운영체제입니다. 기본적인 생각은 스마트폰 위에서 동작하는 사용자가 접근 가능한 모든 소프트웨어는 웹 기반 앱이며, 진화한 HTML5 기술을 사용하고 JavaScript가 기기 API를 이용해 스마트폰의 하드웨어에 직접 접근 합니다.</p>
-<p>웹 개발자가 제일 이해해야 할 중요한 것은 표현되는 모든 기능 및 앱을 설치 및 실행에 있어 모든 사용자 인터페이스는 웹 기반이라는 것입니다. 사용자 인터페이스에 어떠한 수정을 넣거나 어떠한 애플리케이션을 만드는 모든 일, 특히 모바일 기기의 하드웨어나 서비스에 접근하는 것도 Firefox OS 로 동작하는 웹 페이지입니다.</p>
-<p>Firefox OS의 빌드나 설치 방법에 대해서는 <a href="/ko/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko" title="Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko">빌드 및 설치 가이드</a>로 배울 수 있습니다</p>
-<h2 id="하드웨어_사양">하드웨어 사양</h2>
-<p>Firefox OS는 최신 ARM기반 모바일 기기에서 동작 되도록 포팅 될 것입니다 . 이번 절에서는 Firefox OS가 동작하는 최소/추천 하드웨어 사양에 대해 기술합니다.</p>
-<table>
- <thead>
- <tr>
- <th scope="col">구성품</th>
- <th scope="col">최소사양</th>
- <th scope="col">추천 사양</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">CPU</th>
- <td>ARMv6</td>
- <td>Cortex A5 class or better<br>
- ARMv7a with NEON</td>
- </tr>
- <tr>
- <th scope="row">GPU</th>
- <td>—</td>
- <td>Adreno 200 class or better</td>
- </tr>
- <tr>
- <th scope="row">Connectivity</th>
- <td>—</td>
- <td>WiFi<br>
- 3G</td>
- </tr>
- <tr>
- <th scope="row">Sensors</th>
- <td>—</td>
- <td>Accelerometer<br>
- Proximity<br>
- Ambient light<br>
- A-GPS</td>
- </tr>
- </tbody>
-</table>
-<p>각 단말기들은 통일된 색상 프로파일(그래픽 디바이스 드라이버에서 구현되어 제공된)을 제공 해야 하고, 헤드폰은 일시정지/정지해재 및 정지/재생을 지원해야 합니다. 이와 같은기능은 최근 스마트폰에서는 기본적으로 제공되는 기능입니다.</p>
-<h2 id="Usage_tips" name="Usage_tips">사용법 힌트</h2>
-<p>이 섹션에서는 실제로 Firefox OS를 사용할 때의 힌트를 몇개인가 제공합니다. 이것은 우리가 진짜 사용법의 문서를 작성할 때까지의 플레이스홀더 같은 것입니다.</p>
-<h3 id="Unlocking_the_phone" name="Unlocking_the_phone">스마트폰의 잠금 해제</h3>
-<p>빌드된 Firefox OS의 시작시에 기기의 잠금을 해제하는 비밀번호가 필요한데, 기본 코드는 0000 입니다. 락 스크린의 개발과 테스트를 실시하고 있는 동안은 일부 빌드에서 필요할 수 있습니다.</p>
-<h3 id="Capturing_a_screenshot" name="Capturing_a_screenshot">스크린 캡쳐</h3>
-<p>스크린샷의 캡쳐는 매우 간단해서 전원과 home 버튼을 동시에 누릅니다. 스크린샷의 이미지은 기기상의 <code>/sdcard/screenshots</code> 안에 있습니다.</p>
-<p>만약, 여러 가지 이유로 동작하지 않을 때는 Firefox OS 빌드 시스템을 설치 한 Linux나 Mac OS X 컴퓨터상의 터미널에서 실행하는 것도 가능합니다.</p>
-<ol>
- <li>ffmpeg를 반드시 설치 해 주십시오.
- <ol>
- <li>Mac 에서는 MacPorts를 사용할 때는 <code>sudo port install ffmpeg</code>를 실행해 주십시오.homebrew를 사용할 때는 <code>brew install ffmpeg</code> 입니다.</li>
- <li>Linux (Ubuntu/Debian)에서는 <code>sudo apt-get install ffmpeg</code>를 실행해 주십시오.</li>
- </ol>
- </li>
- <li>스마트폰과 컴퓨터는 USB 케이블을 사용해 접속합니다.</li>
- <li>스마트폰을, screen shot를 찍고 싶은 상황으로 합니다.</li>
- <li><code>cd</code> 해 <code>B2G/gaia</code> 디렉토리로 이동합니다.</li>
- <li><code>make screenshot</code></li>
- <li><code>screenshot.png</code> 라는 이름으로, screen shot가 찍히고 있을 것입니다.</li>
-</ol>
-<h3 id="버튼과_컨트롤">버튼과 컨트롤</h3>
-<p>일반적인 Firefox OS는 물리적인 버튼 몇개를 기본적 필요로 합니다.</p>
-<dl>
- <dt>
- 홈버튼</dt>
- <dd>
- 이 버튼은 보통 화면의 가운데 아래에 위치합니다. 이 버튼을 선택하면 앱 런처로 갈수 있습니다. 이 버튼을 길게 누르고 있으면 카드 스위칭 뷰를 보여줍니다; 이때 나타나는 앱들을 위로 끌어 올리면 해당 앱은 종료됩니다.</dd>
- <dt>
- 볼륨 조정 버튼</dt>
- <dd>
- 왼쪽편에 볼륨 버튼이 있습니다; 이 버튼 윗쪽부분은 볼륨을 증가하고, 아래쪽은 볼륨을 낮추게 됩니다.</dd>
- <dt>
- 전원 버튼</dt>
- <dd>
- 전원 버튼은 단말기의 왼쪽 위에 위치 합니다.</dd>
-</dl>
diff --git a/files/ko/archive/b2g_os/pandaboard/index.html b/files/ko/archive/b2g_os/pandaboard/index.html
deleted file mode 100644
index af65fd2a0e..0000000000
--- a/files/ko/archive/b2g_os/pandaboard/index.html
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title: Pandaboard
-slug: Archive/B2G_OS/Pandaboard
-translation_of: Archive/B2G_OS/Pandaboard
----
-<p>이 문서는 <a href="http://pandaboard.org/">PandaBoard</a>에 Firefox OS 올리기 위한 가이드 입니다. PandaBoard는 모바일 운영 체제를 개발하기위한 저가의 OMAP 4 기반의 개발 보드입니다.</p>
-<p>이 가이드는 SD card가 최소 4 GB의 사용 가능 용량이 있다고 가정합니다.</p>
-<h2 id="Format_the_SD_card">Format the SD card</h2>
-<p>이 <a href="http://omappedia.org/wiki/Minimal-FS_SD_Configuration">OMAPpedia 가이드</a>를 참조하여 SD card를 Format하세요.</p>
-<h2 id="USB_communication">USB communication</h2>
-<p>usb를 인식하기 위하여 <a href="http://source.android.com/source/initializing.html#configuring-usb-access">다음 단계</a>를 따르세요. B2G를 위해 file의 mode 부분을 "0666"으로 사용하는 것이 안전합니다.</p>
-<p>Verify that the pandaboard is accessible by plugging it in to your computer using USB, and running:</p>
-<pre>lsusb</pre>
-<p>If you see something from Texas Instruments, then you found your pandaboard! If not, I found luck by unplugging all the wires, and only connecting the pandaboard to USB.</p>
-<h2 id="Building_and_flashing">Building and flashing</h2>
-<p>After <a href="https://developer-new.mozilla.org/en/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="https://developer-new.mozilla.org/en/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build">configuring</a> for the pandaboard, we now pull in <a href="https://github.com/mozilla/Negatus" title="https://github.com/mozilla/Negatus">Negatus</a>. This is an agent that runs on the device and can help automate/debug it. Negatus will build itself automatically after you run ./build.sh, but you need to install libnspr(<code>apt-get install libnspr4-dev). </code>After <a href="https://developer-new.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko" title="https://developer-new.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko">building</a> the image, then tricky part is flashing it onto your pandaboard.</p>
-<p>Try to follow instructions <a href="https://github.com/mozilla-b2g/android-device-panda" title="https://github.com/mozilla-b2g/android-device-panda">here</a>, up to and including 'Initial setup, part 3'. You can skip 'Initial setup, part 1' which has been done during the build step. After completing 'Initial setup, part 3' return here.</p>
-<p>Now you're free to run the <code>./flash.sh</code> command, and hopefully all will be well. If the <code>flash.sh</code> script tries to erase the userdata partition, remove that line. It's a known issue listed in the <a href="https://github.com/mozilla-b2g/android-device-panda" title="https://github.com/mozilla-b2g/android-device-panda">instructions</a>.</p>
-<p>After flashing is complete you may need to manually reboot the machine by unplugging the usb and power cords and plugging them back in (power cord should be plugged in first).</p>
-<p>Here are the work arounds for known issues:</p>
-<h3 id="waiting_for_OMAP4XXX..._when_trying_to_use_usbboot">"waiting for OMAP4XXX..." when trying to use usbboot</h3>
-<p>If you see this message, then unplug all cables from the pandaboard. Only plug in the pandaboard via USB. Do not connect power. Try now, and run <code>usbboot</code> as <code>sudo</code>.</p>
-<h3 id="Fastboot_errors_while_flashing">Fastboot errors while flashing</h3>
-<p>If you're having trouble running commands in fastboot, I found success after running them with <code>sudo</code> (ie: <code>sudo &lt;fastboot command...&gt;</code>)</p>
-<p>Also, if you have trouble getting your pandaboard into fastboot mode (ie: no devices listed if you do a <code>fastboot devices</code> call), then you can:</p>
-<ol>
- <li>Unplug all the things from the pandaboard</li>
- <li>Hold down the GPIO button</li>
- <li>Plug in the power while still holding the button</li>
- <li>Watch the solid status light, and once the light starts to flash, let go of the GPIO button</li>
-</ol>
-<p>This will put the pandaboard into fastboot mode.</p>
-<h3 id="Can't_connect_to_adb">Can't connect to adb</h3>
-<p>If you see the device in lsusb, but not in adb/fastboot devices and the lights are off, then remove the power source and plug it back in. If the lights are on, you may need to wait a while (30seconds max) for it to be registered on adb.</p>
-<p>Sometimes, flashing will claim to be successful, but it isn't. Reflash the pandaboard (ie: run <code>./flash.sh</code>) and try again. I recommend plugging in power first, and then plugging in the usb cable</p>
-<p>If you get on adb devices "??????????? no permision", even as root, check the section "Configuring USB Access" on this <a href="http://source.android.com/source/initializing.html" title="http://source.android.com/source/initializing.html">site</a> and correct or add the right udev rules. Don't forget to restart the udev service after the changes.</p>
diff --git a/files/ko/archive/b2g_os/phone_guide/index.html b/files/ko/archive/b2g_os/phone_guide/index.html
deleted file mode 100644
index 4ac9688347..0000000000
--- a/files/ko/archive/b2g_os/phone_guide/index.html
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: Boot to Gecko 개발자 단말기 가이드
-slug: Archive/B2G_OS/Phone_guide
-translation_of: Archive/B2G_OS/Phone_guide
----
-<p>B2G개발용 단말기를 가지고 있거나, B2G가 설치된 단말기를 가지고 있을경우, 이를 사용하기 위한 기본적인 설명은 다음 링크를 참고 하세요: <a class="link-https" href="https://wiki.mozilla.org/B2G/DeveloperPhone" title="https://wiki.mozilla.org/B2G/DeveloperPhone">Firefox OS로 동작하는 단말기에 대한 기본적인 안내서</a>. Mozilla에서는 아직 이에 대해 개선작업을 진행 중이며, 곧 좀더 간결한 설명을 MDN사이트를 통해 제공 할 것입니다. Firefox OS를 빌드하고 단말기에 넣고 싶다면, 다음 링크를 참고 하세요; <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="Building and installing Firefox OS">'Firefox OS를 빌드하여 단말기에 올리기'</a>.</p>
diff --git a/files/ko/archive/b2g_os/platform/architecture/index.html b/files/ko/archive/b2g_os/platform/architecture/index.html
deleted file mode 100644
index 0f34ac448b..0000000000
--- a/files/ko/archive/b2g_os/platform/architecture/index.html
+++ /dev/null
@@ -1,532 +0,0 @@
----
-title: Firefox OS architecture
-slug: Archive/B2G_OS/Platform/Architecture
-translation_of: Archive/B2G_OS/Architecture
----
-<p> </p>
-
-<div class="overheadIndicator draft">
-<p><strong>초안</strong><br>
- 이 문서는 작성중입니다.</p>
-</div>
-
-<p> </p>
-
-<p>이 (게시)글은 Firefox OS platform의 구조(architecture)에 대한 고차원적인 개요이며, 주요 개념을 소개하고 구성요소들이 기본레벨에서 어떻게 상호동작 하는지를 설명합니다. 기술적인 레벨에서 어떻게 동작하는지의 복잡한 사항을 알려주지는 않습니다; 각각의 <a href="#See_also">See also</a> 섹션으로부터 참조된 글들을 보시기 바랍니다.</p>
-
-<div class="note">
-<p><strong>Note:</strong> Firefox OS는 이직 정식배포 전의 상품임을 유념해 주십시오. 여기에 설명된 구조(architecture)는 반드시 최종이라 할 수 없으며 변경될 수 있습니다.</p>
-</div>
-
-<h2 id="Firefox_OS_용어">Firefox OS 용어</h2>
-
-<p>이 문서를 이해하기 전에 알 필요가 있는 몇 가지 용어가 있습니다.</p>
-
-<dl>
- <dt>B2G</dt>
- <dd>Boot to Gecko의 약어.</dd>
- <dt>Boot to Gecko</dt>
- <dd>전체적인 Firefox OS 프로젝트에 대한 코드명입니다. 프로젝트가 공식명칭을 갖기 오래 전 부터 사용되었기 때문에, Firefox OS를 나타내는 용어로 이 용어가 사용되는 것을 볼 수 있습니다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Gaia" title="/en-US/docs/Mozilla/Firefox_OS/Gaia">Gaia</a></dt>
- <dd>Firefox OS platform의 사용자 인터페이스. Firefox OS가 구동된 후에 화면에 표시되는 것들은 Gaia 층에서 생성된 것 입니다. Gaia는 최신의 스마트폰에서 기대할 수 있는 잠금 화면, 홈 화면, 그리고 모든 표준화된 어플리케이션들을 구현하고 있습니다. Gaia는 전적으로 HTML, CSS와 JavaScript로 구현되었습니다. 내부의 OS와의 유일한 인터페이스는 개방된 Web API들을 통해 이루어 집니다. 이는 Gecko 층(layer)에 구현되어 있습니다. 제 3자가 개발한 어플리케이션들은 Gaia 층에 나란히 설치될 수 있습니다.</dd>
- <dt><a href="/en-US/docs/Gecko" title="/en-US/docs/Accessibility/AT-APIs/Gecko">Gecko</a></dt>
- <dd>Firefox OS 어플리케이션 런타임; 즉, 공개된 표준의 3가지 펙터(HTML, CSS, JavaScript)에 대한 모든 지원을 제공합니다. Gecko가 지원하는 모든 운영체제상에서 관련 API들이 제대로 동작하는 것을 보장합니다. 이는 Gecko가 다른 여러가지 중에서도, 네트워킹 스택, 그래픽 스펙, 배치(layout) 엔진, JavaScript 버추얼 머신과 포팅 레이어들을 포함하고 있다는 것을 의미합니다.</dd>
- <dt><a href="/en-US/docs/Mozilla/Firefox_OS/Gonk" title="/en-US/docs/Mozilla/Firefox_OS/Gonk">Gonk</a></dt>
- <dd>Gonk는 Firefox OS 플랫폼의 더 낮은 레벨의 운영체제로, (안드로이드 오픈 소스 프로젝트, <a href="http://source.android.com/">Android Open Source Project</a> (AOSP)를 기반으로 하는)리눅스 커널과 유저공간의 하드웨어 추상 계층(Userspace Hardware adstraction layer:HAL)로 구성되어 있습니다. 커널과 여러개의 라이브러리들은 일반적인 오픈 소스 프로젝트들(리눅스, libusb, bluz 등)입니다. HAL의 또 다른 부분들은 안드로이드 프로젝트(GPS, camera 등)과도 공유됩니다. Gonk는 아주 간단한 리눅스라 할 수 있습니다. Gecko는 Gonk에 포팅됩니다; 마치, Gecko가 Mac OS X, Windows와 Android에 포팅되듯이 Gecko는 Gonk에 포팅됩니다. Firefox OS 프로젝트는 Gonk에 대한 전반적인 통제를 가지고, 다른 운영체제에 대한 노출되지 않는 Gecko에 대한 인터페이스들을 노출시킬 수 있습니다. 예를 들어, Gecko는 전반적인 텔레포니 스택과 Gonk상의 디스플레이 프레임 버퍼에 대한 직접적인 접근이 가능하지만, 다른 운영체제로의 이러한 접근은 가능하지 않습니다.</dd>
- <dt> </dt>
- <dd><img alt="Firefox OS Architecture" src="https://developer.mozilla.org/files/4605/FirefoxOS.png" style="height: 915px; width: 754px;"></dd>
-</dl>
-
-<h2 id="부트스트래핑_프로세스">부트스트래핑 프로세스</h2>
-
-<p>맨 처음, Firefox OS를 구동하면, 첫 번째 부트로더부터 실행 하기 시작 합니다. 여기서부터, 일반적인 방법으로 주 운영체제를 불러오는 과정을 진행 합니다. 점진적으로 높은 레벨의 부트로더들을 연속으로 두어서 다음 로더를 연속적으로 부트스트래핑 합니다. 이 단계의 마지막에서, Linux Kernel로 실행이 넘어갑니다.</p>
-
-<p>부팅 프로세스에 대해 별 의미 없는 몇 가지 사항이 있습니다.</p>
-
-<ul>
- <li>부트로더들은 보통 장치를 시작 할 때 유저에게 첫 번째로 보이는 시작 화면(splash screen)이 있습니다. 이 시작 화면은 일반적으로 제조사의 로고 입니다.</li>
- <li>부트로더들은 장치로 이미지를 플래싱(flashing) 합니다. 각각 다른 장치들은 각각 다른 프로토콜을 사용 합니다. 대부분의 휴대폰은 <a href="http://android-dls.com/wiki/index.php?title=Fastboot" title="http://android-dls.com/wiki/index.php?title=Fastboot">fastboot protocol</a>을 사용하지만, 삼성의 갤럭시 S II는 odin 프로토콜을 사용 합니다.</li>
- <li>부트스트래핑 과정이 종료되면서, 대개 모뎀 이미지를 로드하고 모뎀 프로세서에서 실행 합니다. 이런 과정은 굉장히 장치에 특화 되어 있고, 누군가가 소유권(proprietary)을 가지고 있을 수도 있습니다.</li>
-</ul>
-
-<h2 id="리눅스_커널">리눅스 커널</h2>
-
-<p>Gonk가 사용하는 리눅스 커널(들)은 리누스 토발즈와 세계의 해커들이 함께 개발하고 있는 업스트림의 리눅스로부터 만들어졌으며, 거의 똑같습니다. 다만 <a href="http://source.android.com/" style="line-height: inherit;" title="http://source.android.com/">안드로이드 오픈 소스 프로젝트</a> 로부터 만들어지고 아직 업스트림에 들어가지 않은 변경사항들을 가지고 있습니다. 또한, vendor들이 가끔 커널을 수정하며, 이 경우 그들은 그들 자체적 스케쥴로 업스트림에 변경 사항을 올립니다. 그렇지만 일반적으로 말하면 Gonk가 사용하는 리눅스 커널은 오리지날 리눅스와 거의 같다고 이야기 할 수 있습니다.</p>
-
-<p><a href="http://en.wikipedia.org/wiki/Linux_startup_process" style="line-height: inherit;" title="http://en.wikipedia.org/wiki/Linux_startup_process">리눅스 구동 시작 과정</a><span style="line-height: inherit;"> 은 인터넷 상에 잘 문서화 되어 있으므로, 이 글에서는 그것까지 다루지는 않겠습니다. 구동 시작 과정의 마지막에, 대부분의 UNIX류 운영체제가 그러하듯이 userspace의 </span><span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init 프로세스가 시작됩니다. 이 시점에서 마운트된 "</span><span style="line-height: inherit;">disk"는 RAM disk 뿐입니다. 이 RAM disk는 Firefox OS 빌드 과정에서 만들어 졌으며, </span><span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init</span><span style="line-height: inherit;">나 시작 과정 스크립트들이나 로드할 수 있는 커널 모듈들과 같은 중요한 유틸리티들을 가지고 있습니다.</span></p>
-
-<p><span style="line-height: inherit;">일단 </span><span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init </span><span style="line-height: inherit;">프로세스가 시작되면, 리눅스 커널은 userspace 공간으로부터의 시스템 콜, 인터럽트, 하드웨어 기기로부터의 비슷한 요청들을 처리합니다. 많은 하드웨어 기능이 userspace에 </span><code style="font-size: 14px; line-height: inherit;"><a href="http://en.wikipedia.org/wiki/Sysfs" style="line-height: inherit;" title="http://en.wikipedia.org/wiki/Sysfs">sysfs</a></code><span style="line-height: inherit;">를 통해 노출됩니다. 예를 들어, 다음 </span><a href="https://github.com/cgjones/mozilla-central/blob/master/hal/gonk/GonkHal.cpp#L277" style="line-height: inherit;" title="https://github.com/cgjones/mozilla-central/blob/master/hal/gonk/GonkHal.cpp#L277">코드 조각</a><span style="line-height: inherit;">은 Gecko에서 배터리 상태를 읽기 위해 사용됩니다:</span></p>
-
-<pre class="brush:cpp;">FILE *capacityFile = fopen("/sys/class/power_supply/battery/capacity", "r");
-double capacity = dom::battery::kDefaultLevel * 100;
-if (capacityFile) {
- fscanf(capacityFile, "%lf", &amp;capacity);
- fclose(capacityFile);
-}</pre>
-
-<h2 id="init_프로세스">init 프로세스</h2>
-
-<p>Gonk의 <code>init</code> 프로세스는 필요한 파일 시스템들을 마운트 하고 시스템 서비스들을 시작하는 일을 처리합니다. 이 일들의 처리 후에는 프로세스 매니저로 역할하게 됩니다. 이것은 다른 UNIX류 운영체제들에서의 init와 매우 비슷합니다. 먼저 다양한 서비스들을 시작시키기 위해서 필요한 명령들을 가지고 있는 스크립트들(<span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init*.rc 파일들)</span><span style="line-height: inherit;">을 수행합니다. Firefox OS의 </span><span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init.rc</span><span style="line-height: inherit;"> 는 오리지날 안드로이드의 </span><span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init.rc</span><span style="line-height: inherit;"> 에서 Firefox OS를 시작하는데 필요한 것들을 좀 추가한 형태이며, 기기에 따라 조금씩 다를 수 있습니다.</span></p>
-
-<p><span style="font-family: courier new,andale mono,monospace;">init</span><span style="line-height: inherit;"> 프로세스가 하는 가장 중요한 작업 중 하나는 b2g 프로세스를 시작시키는 것입니다; 이게 Firefox OS 운영체제의 중심입니다.</span></p>
-
-<p>b2g를 시작시키는 <span style="font-family: courier new,andale mono,monospace; line-height: inherit;">init.rc</span><span style="line-height: inherit;">의 코드는 다음과 같은 식입니다:</span></p>
-
-<pre>service b2g /system/bin/b2g.sh
- class main
- onrestart restart media</pre>
-
-<p>안드로이드의 init.rc에서 b2g 프로세스를 시작시키기 위한 코드가 추가된 <a href="https://github.com/mozilla-b2g/gonk-misc/blob/master/init.b2g.rc" title="https://github.com/mozilla-b2g/gonk-misc/blob/master/init.b2g.rc"><code>init.b2g.rc</code></a> 파일을 보는 것도 좋을 겁니다.</p>
-
-<div class="note">
-<p><strong>Note:</strong> 정확히 <code>init.rc</code> 가 안드로이드 버전과 얼마나 다른가는 실제 기기마다 다릅니다; 어떤 기기의 경우는 단지 <code>init.b2g.rc</code> 가 추가되어 있을 뿐이고, 어떤 기기는 그보다 더 많은 변경이 있을 수 있습니다.</p>
-</div>
-
-<h2 id="사용자_영역(userspace)_프로세스_구조">사용자 영역(userspace) 프로세스 구조</h2>
-
-<p>Firefox OS의 많은 구성 요소들이 어떻게 서로 상호 동작하는지 상위 레벨에서 살펴보겠습니다. 이 그림은 Firefox OS의 주요 사용자 프로세스들을 보여줍니다.</p>
-
-<p><a href="/files/3849/B2G userspace architecture.svg"><img alt="Userspace diagram" src="/files/3849/B2G%20userspace%20architecture.svg" style="float: right; height: 491px; position: relative; width: 520px;"></a></p>
-
-<div class="note">
-<p><strong>Note:</strong> Firefox OS는 활발히 개발되고 있기 때문에, 이 그림은 변경 될 수 있습니다. 또한 본 그림이 포함하는 내용 중 일부가 올바르지 않을 수도 있습니다.</p>
-</div>
-
-<p><code>b2g</code> 프로세스는 가장 중요한 시스템 프로세스입니다. <code>b2g</code> 프로세스는 높은 권한으로 실행되기 때문에 대부분의 하드웨어 기기에 접근할 수 있습니다. <code>b2g</code>는 modem과의 통신이 가능하며, display framebuffer에 접근할 수 있습니다. 그리고 GPS, camera 및 다른 하드웨어와 통신이 가능합니다. <code>b2g</code>는 내부적으로 Gecko layer (<code>libxul.so</code>으로 구현됨)를 실행합니다. 어떻게 Gecko layer가 동작하며, <code>b2g</code>와 통신하는지 알고 싶다면 <a href="#Gecko">Gecko</a>를 참고하세요.</p>
-
-<h3 id="b2g">b2g</h3>
-
-<p><code>b2g</code> 프로세스는 낮은 권한을 가진 다수의 <strong>content process </strong>들을 생성할 수 있습니다. 이 프로세스에 web application과 web content이 적재되며, main Gecko server와 메시지-패싱 시스템인 <a href="/en-US/docs/IPDL" title="/en-US/docs/IPDL">IPDL</a>을 이용하여 통신합니다.</p>
-
-<h3 id="rild">rild</h3>
-
-<p><code>rild</code> 프로세스는 모뎀 프로세서와의 인터페이스 입니다. <code>rild</code>은 <strong>Radio Interface Layer</strong> (RIL)를 구현한 daemon입니다. 이 코드는 하드웨어 vendor가 해당 vendor의 모뎀 하드웨어와 통신하기 위해 구현한 것입니다. <code>rild</code>은 client code를 unix-domain socket에 연결해 줍니다. <code>rild</code>은 다음 <code>init</code> 스크립트를 통해 시작됩니다.</p>
-
-<pre>service ril-daemon /system/bin/rild
- socket rild stream 660 root radio</pre>
-
-<h3 id="rilproxy">rilproxy</h3>
-
-<p>Firefox OS에서 <code>rild</code> client는 <code>rilproxy</code> 프로세스입니다. <code>rilproxy</code> 프로세스는 <code>rild</code>와 <code>b2g</code>사이에서 dumb forwarding proxy처럼 동작합니다. 이 proxy는 implementation detail이 필요한 상태 입니다. <a href="https://github.com/mozilla-b2g/rilproxy" title="https://github.com/mozilla-b2g/rilproxy"><code>rilproxy</code> 코드는 GitHub에서 확인할 수 있습니다. </a></p>
-
-<h3 id="mediaserver">mediaserver</h3>
-
-<p><a href="https://github.com/android/platform_frameworks_base/tree/ics-mr0-release/media/libmediaplayerservice" title="https://github.com/android/platform_frameworks_base/tree/ics-mr0-release/media/libmediaplayerservice"><code>mediaserver</code> process</a> 는 오디오와 비디오 재생을 제어합니다. Gecko는 <span class="fnt_k05">원격 절차 호출(</span>Remote Procedure Call, RPC) 메커니즘을 통해 이와 통신합니다. 미디어들 중 Gecko가 재생할 수 있는 것들(OGG Vorbis audio, OGG Theora video, and <a href="http://www.webmproject.org/about/" title="http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;cad=rja&amp;ved=0CDUQFjAA&amp;url=http%3A%2F%2Fwww.webmproject.org%2F&amp;ei=8Q84UOnoMoHH6wHZ44DwBA&amp;usg=AFQjCNHK9j6wyhUful5RmKCpU6b8GDfpYQ&amp;sig2=tCl8VxL3mCvrH86EyOwO_A">WebM</a> video)은 Gecko에 의해서 해독(decode)되며 직접 <code>mediaserver</code> 프로세스로 전달됩니다. 이외의 다른 미디어 파일들은 다른 외부 코덱과 하드웨어 인코더에 접근할 수 있는 <code>libstagefright</code>에 의해 해독됩니다.</p>
-
-<div class="note">
-<p><strong>Note:</strong> <code>mediaserver</code> 프로세는 Firefox OS의 "임시" 구성요소입니다. 이 프로세스는 초기 개발 업무를 위해서 사용되었으며, 최종적으로는 사용하지 않을 예정입니다. 하지만 최소한 Firefox OS 2.0까지는 사용 할 것입니다.</p>
-</div>
-
-<h3 id="netd">netd</h3>
-
-<p><code>netd</code> 프로세스는 네트워크 인터페이스의 설정 조정(configure)에 사용합니다.</p>
-
-<h3 id="wpa_supplicant">wpa_supplicant</h3>
-
-<p><code>wpa_supplicant</code> 프로세스는 WiFi 액세스 포인트와의 연결을 처리하는 표준 UNIX 스타일 데몬입니다.</p>
-
-<h3 id="dbus-daemon">dbus-daemon</h3>
-
-<p>dbus-daemon은 FirefoxOS가 블루투스 통신을 위해 사용하는 메시지 버스 시스템인 <a href="http://www.freedesktop.org/wiki/Software/dbus" title="http://www.freedesktop.org/wiki/Software/dbus">D-Bus</a>를 동작시킵니다.</p>
-
-<h2 id="Gecko">Gecko</h2>
-
-<p>앞서 언급했듯이, <a href="/en-US/docs/Gecko" title="/en-US/docs/Gecko">Gecko</a>는 사용자가 Firefox OS에서 볼 수 있는 모든 것을 구현할때 사용하는 웹 표준들(<a href="/en-US/docs/HTML" title="/en-US/docs/HTML">HTML</a>, <a href="/en-US/docs/CSS" title="/en-US/docs/CSS">CSS</a>, <a href="/en-US/docs/JavaScript" title="/en-US/docs/JavaScript">JavaScript</a>)의 구현입니다.</p>
-
-<h3 id="입력_이벤트_처리_(Processing_input_events)">입력 이벤트 처리 (Processing input events)</h3>
-
-<p>대부분의 Gecko 동작은 사용자의 동작에 의해 발생합니다. 이런 사용자의 동작들을 입력 이벤트라고 부릅니다. 이런 입력 이벤트로는 버튼을 누른다던지, 터치 스크린을 가진 기기를 터치 한다던지 하는 동작들을 예로 들 수 있습니다. 이런 이벤트들은 Gecko의 주요 진입점인 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAppShell" title="">nsIAppShell</a></code>의 <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsAppShell.cpp" rel="custom">Gonk 구현부</a>를 통해서 Gecko로 들어오게 됩니다. 즉, 입력 장치 드라이버는 이벤트를 사용자 인터페이스로 보내기 위해 Gecko의 하위 시스템을 대신하는 <code>nsAppShell</code> 객체의 메소드들을 호출합니다.</p>
-
-<p>예를 들면:</p>
-
-<pre class="brush:cpp;">void GeckoInputDispatcher::notifyKey(nsecs_t eventTime,
- int32_t deviceId,
- int32_t source,
- uint32_t policyFlags,
- int32_t action,
- int32_t flags,
- int32_t keyCode,
- int32_t scanCode,
- int32_t metaState,
- nsecs_t downTime) {
- UserInputData data;
- data.timeMs = nanosecsToMillisecs(eventTime);
- data.type = UserInputData::KEY_DATA;
- data.action = action;
- data.flags = flags;
- data.metaState = metaState;
- data.key.keyCode = keyCode;
- data.key.scanCode = scanCode;
- {
- MutexAutoLock lock(mQueueLock);
- mEventQueue.push(data);
- }
- gAppShell-&gt;NotifyNativeEvent();
-}</pre>
-
-<p>이 이벤트들은 표준 리눅스 <code>input_event </code>시스템으로부터 전달되는 것입니다. Firefox OS는 이벤트 필터링 기능을 제공하는<a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/libui/InputReader.cpp" rel="custom">light abstraction layer</a>를 그 이벤트 위에 사용합니다. <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/libui/EventHub.cpp" rel="custom">widget/gonk/libui/EventHub.cpp</a> 코드를 보면 <code>EventHub::getEvents()</code>메소트 안에서 입력 이벤트를 생성하는 것을 확인할 수 있습니다.</p>
-
-<p>Gecko가 위 이벤트들을 수신하면, 이벤트들은 아래의<code> <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsAppShell.cpp" rel="custom">nsAppShell</a></code>에 의해 DOM으로 보내지게 됩니다.</p>
-
-<pre class="brush:cpp;">static nsEventStatus sendKeyEventWithMsg(uint32_t keyCode,
- uint32_t msg,
- uint64_t timeMs,
- uint32_t flags) {
- nsKeyEvent event(true, msg, NULL);
- event.keyCode = keyCode;
- event.location = nsIDOMKeyEvent::DOM_KEY_LOCATION_MOBILE;
- event.time = timeMs;
- event.flags |= flags;
- return nsWindow::DispatchInputEvent(event);
-}
-</pre>
-
-<p>그 이후에, 그 이벤트들은 Gecko에 의해 사용되거나<a href="/en-US/docs/DOM_Client_Object_Cross-Reference/DOM_Events" title="/en-US/docs/DOM_Client_Object_Cross-Reference/DOM_Events"> DOM events</a>로서 이후 처리를 위해 웹 어플리케이션들로 전달됩니다.</p>
-
-<p> </p>
-
-<h3 id="그래픽_(Graphics)">그래픽 (Graphics)</h3>
-
-<p>가장 저차원 레벨에서 봤을 때, Gecko는 하드웨어 프레임 버퍼들을 감싸는(wrap) GL 컨텍스트에 접근하기 위해서 <a href="http://www.khronos.org/opengles/2_X/" title="http://www.khronos.org/opengles/2_X/">OpenGL ES 2.0</a>을 사용합니다. 이러한 동작은 <code>Gonk의 <a href="https://dxr.mozilla.org/mozilla-central/source/widget/gonk/nsWindow.cpp" rel="custom">nsWindow</a>의 다음과 비슷한 코드로 구현합니다</code>.</p>
-
-<pre class="brush:cpp;">gNativeWindow = new android::FramebufferNativeWindow();
-sGLContext = GLContextProvider::CreateForWindow(this);</pre>
-
-<p><code>FramebufferNativeWindow </code>클래스는 Android의 것을 그대로 차용하였습니다(<a href="https://github.com/android/platform_frameworks_base/blob/ics-mr1-release/libs/ui/FramebufferNativeWindow.cpp" title="https://github.com/android/platform_frameworks_base/blob/ics-mr1-release/libs/ui/FramebufferNativeWindow.cpp"><code>FramebufferNativeWindow.cpp</code></a>를 참고). 이 클래스는 프레임 버퍼 기기의 버퍼들과 메모리를 매핑하기 위해 그래픽스 드라이버에 접근하는데, 이 때 <strong>gralloc</strong> API를 사용합니다.</p>
-
-<p>Gecko는 <a href="/en-US/docs/Gecko/Layers" title="/en-US/docs/Gecko/Layers">Layers</a> 시스템을 이용하여 그려진 내용을 화면에 합성합니다. 이를 위한 과정은 다음과 같이 요약할 수 있습니다:</p>
-
-<ol>
- <li>Gecko는 각각의 독립된 영역들을 메모리 버퍼에 그립니다. 때때로 이 버퍼들은 시스템 메모리에 있을 수 있습니다. 또 다른 경우에 이것들은 Gecko의 주소 공간에 맵핑된 텍스처(texture)들 일 수도 있습니다. 다시 말하자면, Gecko가 비디오 메모리에 직접 영역을 그린다는 것을 의미합니다. 이 동작은 일반적으로 <a href="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#83" title="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#201"><code>BasicThebesLayer::PaintThebes()</code></a>에 의해서 이루어 집니다.</li>
- <li>Gecko는 OpenGL 명령들을 이용하여 모든 texture들을 화면에 합성합니다. 이 합성 과정은 <a href="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/opengl/ThebesLayerOGL.cpp#124" title="http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicThebesLayer.cpp#201"><code>ThebesLayerOGL::RenderTo()</code></a>에서 일어나게 됩니다.</li>
-</ol>
-
-<p>Gecko가 웹 컨텐츠 렌더링을 어떻게 처리하는지에 대한 자세한 내용은 이 문서의 범위 밖의 내용입니다.</p>
-
-<h3 id="하드웨어_추상화_계층_(Hardware_Abstraction_Layer_HAL)">하드웨어 추상화 계층 (Hardware Abstraction Layer, HAL)</h3>
-
-<p>Gecko의 하드웨어 추상화 계층(Hardware Abstraction Layer, HAL)은 Gecko의 이식 계층(porting layer) 중 하나 입니다. 이것은 Gecko의 상위 계층에 접근이 쉬운 C++ API를 이용하여, 다양한 플랫폼에 대한 시스템 인터페이스로의 저수준 접근을 처리합니다. 이 API들은 Gecko HAL 내부에 플랫폼 단위(per-platform basis)로 구현되어 있습니다. 이 하드웨어 추상화 계층은 Gecko 내부의 JavaScript 코드를 통해 직접 접근할 수 없습니다.</p>
-
-<h4 id="HAL의_동작">HAL의 동작</h4>
-
-<p><a href="/ko/docs/Web/API/Window/navigator/vibrate" title="The documentation about this has not yet been written; please consider contributing!"><code>Vibration</code></a>를 예로 들어 살펴보겠습니다. 이 API를 위한 Gecko의 HAL은 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/Hal.h" rel="custom">hal/Hal.h</a>에 정의되어 있습니다. 본질적으로 (명확성을 위해서 간략하게 표현하면), 이러한 함수가 있습니다.</p>
-
-<pre>void Vibrate(const nsTArray&lt;uint32&gt; &amp;pattern);</pre>
-
-<p>이 함수는 Gecko code에 의해 명시된 패턴대로 기기의 진동을 켜기 위해 호출되며, 이에 대응되는 함수는 울리고 있는 진동을 끄기 위해 존재합니다. 이 함수의 Gonk 구현은 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/conk/GonkHal.cpp" rel="custom">hal/conk/GonkHal.cpp</a>에 있습니다:</p>
-
-<pre class="brush:cpp;">void Vibrate(const nsTArray&lt;uint32_t&gt; &amp;pattern) {
- EnsureVibratorThreadInitialized();
- sVibratorRunnable-&gt;Vibrate(pattern);
-}
-</pre>
-
-<p>이 코드는 기기에 진동의 시작을 위한 요청을 다른 쓰레드(<code>VibratorRunnable::Run()</code>에 구현되어 있습니다)에 전송합니다. 해당 쓰레드의 메인 루프는 다음과 같습니다:</p>
-
-<pre class="brush:cpp;">while (!mShuttingDown) {
- if (mIndex &lt; mPattern.Length()) {
- uint32_t duration = mPattern[mIndex];
- if (mIndex % 2 == 0) {
- vibrator_on(duration);
- }
- mIndex++;
- mMonitor.Wait(PR_MillisecondsToInterval(duration));
- }
- else {
- mMonitor.Wait();
- }
-}
-</pre>
-
-<p><code>vibrator_on()</code> 은 진동기 모터를 켜는 Gonk HAL API 입니다. 내부적으로, 이 메소드는 <code>sysfs</code>를 이용하여 커널 객체에 값을 씀으로써 커널 드라이버에 메시지를 전송하게 됩니다.</p>
-
-<h4 id="대체_HAL_API_구현_(Fallback_HAL_API_implementations)">대체 HAL API 구현 (Fallback HAL API implementations)</h4>
-
-<p>Gecko의 HAL API 들은 모든 플랫폼을 지원합니다. Gecko가 진동 모터에 대한 인터페이스를 지원하지 않는 플랫폼(예를 들면 데스크탑 컴퓨터)을 위해 빌드 될 경우, HAL API의 대체 구현(fallback implementation)이 사용됩니다. 진동을 위한 대체 구현은 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/fallback/FallbackVibration.cpp" rel="custom">hal/fallback/FallbackVibration.cpp</a>에서 찾을 수 있습니다.</p>
-
-<pre class="brush:cpp;">void Vibrate(const nsTArray&lt;uint32_t&gt; &amp;pattern) {
-}</pre>
-
-<h4 id="Sandbox_구현_(Sandbox_implementations)">Sandbox 구현 (Sandbox implementations)</h4>
-
-<p>대부분의 web content들이 낮은 권한의 컨텐트 프로세스에서 동작하기 때문에, 이 프로세스들은 진동 모터를 켜고 끄는 것(예를 들면)과 같은 권한을 가지고 있지 않다고 할 수 있습니다. 게다가, 잠재적인 경쟁 상태(race condition)를 처리할 수 있도록, 중앙 처리 위치(a central location을 의역하였습니다)가 필요합니다. Gecko의 HAL에서는 이러한 동작이 "sandbox"를 통해 이루어 집니다. 이 sandbox는 컨텐트 프로세스의 요청들을 대신 처리하고 그 요청들을 "Gecko server" 프로세스로 전송합니다. 이러한 대리 요청들은 IPDL을 이용하여 전송됩니다.</p>
-
-<p>진동을 위해서는 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/SandboxHal.cpp" rel="custom">hal/sandbox/SandboxHal.cpp</a>에 있는 <code>Vibrate()</code> 함수에 의해 처리됩니다:</p>
-
-<pre class="brush:cpp;">void Vibrate(const nsTArray&lt;uint32_t&gt;&amp; pattern, const WindowIdentifier &amp;id) {
- AutoInfallibleTArray&lt;uint32_t, 8&gt; p(pattern);
-
- WindowIdentifier newID(id);
- newID.AppendProcessID();
- Hal()-&gt;SendVibrate(p, newID.AsArray(), GetTabChildFrom(newID.GetWindow()));
-}</pre>
-
-<p>이 함수는 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/PHal.ipdl" rel="custom">hal/sandbox/PHal.ipdl</a>에 서술 된 <code>PHal</code> 인터페이스에 의해 정의되는 메시지를 전송합니다. 이 메소드는 대략 다음과 같이 서술되어 있습니다:</p>
-
-<pre>Vibrate(uint32_t[] pattern);</pre>
-
-<p>이 메시지의 수신단은 <a href="https://dxr.mozilla.org/mozilla-central/source/hal/sandbox/SandboxHal.cpp" rel="custom">hal/sandbox/SandboxHal.cpp</a>에 있는 <code>HalParent::RecvVibrate()</code> 메소드이며 이와 같습니다:</p>
-
-<pre class="brush:cpp;">virtual bool RecvVibrate(const InfallibleTArray&lt;unsigned int&gt;&amp; pattern,
- const InfallibleTArray&lt;uint64_t&gt; &amp;id,
- PBrowserParent *browserParent) MOZ_OVERRIDE {
-
- hal::Vibrate(pattern, newID);
- return true;
-}</pre>
-
-<p>이것은 현재 주제와 관련이 없는 세부사항을 제거한 상태입니다. 하지만 이를 통해 컨텐트 프로세스에서 발생한 메시지가 Gecko부터 Gonk, <code>Vibrate()의 </code>Gonk HAL 구현부, 그리고 최종적으로 그래픽 드라이버까지 전달되는 과정을 보여줍니다.</p>
-
-<h3 id="DOM_APIs">DOM APIs</h3>
-
-<p><strong>DOM 인터페이스</strong>는 웹 컨텐트가 Gecko와 통신하는 방법입니다. 만약 더 자세한 내용에 대해 관심이 있다면, <a href="/en-US/docs/DOM/About_the_Document_Object_Model" title="/en-US/docs/DOM/About_the_Document_Object_Model">여기</a>를 참고하세요. DOM 인터페이스는 <a href="/en-US/docs/XPIDL" title="/en-US/docs/XPIDL">IDL</a>로 정의됩니다. IDL은 자바스크립트와 C++ 사이의 외래 함수 인터페이스(Foreign Function Interface, FFI)와 객체 모델(Object Model, OM)로 구성됩니다.</p>
-
-<p>vibrartion API는 IDL 인터페이스(<code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/interfaces/base/nsIDOMNavigator.idl" rel="custom">nsIDOMNavigator.idl</a></code>)를 통해 web content에서 접근할 수 있습니다:</p>
-
-<pre>[implicit_jscontext] void mozVibrate(in jsval aPattern);</pre>
-
-<p><a href="/en-US/docs/SpiderMonkey/JSAPI_Reference/Jsval" title="/en-US/docs/SpiderMonkey/JSAPI_Reference/JSVAL_IS_OBJECT"><code>jsval</code></a> 인자는 <code>mozVibrate()</code>(아직 확정되지 않은 vibration 명세를 Mozilla가 구현한 것)가 자바스크립트 값을 입력으로 받아들일 수 있다는 것을 나타냅니다. IDL 컴파일러(<a href="/en-US/docs/XPIDL/xpidl" title="/en-US/docs/XPIDL/xpidl"><code>xpidl</code></a>)는 이후에 <code>Navigator</code> 클래스(<code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/base/Navigator.cpp" rel="custom">Navigator.cpp</a></code>)에서 구현될 C++인터페이스를 만듭니다.</p>
-
-<pre class="brush:cpp;">NS_IMETHODIMP Navigator::MozVibrate(const jsval&amp; aPattern, JSContext* cx) {
- // ...
- hal::Vibrate(pattern);
- return NS_OK;
-}</pre>
-
-<p>원래는 위에서 보시는 것보다 훨씬 더 많은 코드가 있지만, 현재 이 문서의 목적을 벗어나는 부분입니다. 중요한 점은 <code>hal::Vibrate()를 호출하게 되면 control이 DOM으로부터 Gecko HAL로 이동하게 된다는 것입니다. 거기서부터 이전 섹션에서 이야기한 HAL 구현부에 진입하며, 그래픽 드라이버 방향으로 작업이 진행되게 됩니다. 최상위 레벨에서 보면, DOM 구현부는 자신이 어떤 플랫폼(Gecko, Windows, Mac OS X 등)에서 동작하는지 상관하지 않습니다. 또한 DOM은 자신이 컨텐트 프로세스에서 동작하든 Gecko 서버 프로세스에서 동작하는지 고려하지도 않습니다. 위와 같이 상세한 부분들은 시스템의 하위 계층이 관장하게 됩니다.</code></p>
-
-<p>vibration API는 예로 쓰기에 좋은 아주 단순한 API입니다. 이에 비해, <a href="/en-US/docs/API/WebSMS" title="/en-US/docs/API/WebSMS">SMS API</a>는 컨텐트 프로세스들을 서버에 연결할 때 자신이 가진 "remoting" 계층을 이용하는 좀 더 복잡한 API라고 할 수 있습니다.</p>
-
-<h2 id="Radio_Interface_Layer_(RIL)">Radio Interface Layer (RIL)</h2>
-
-<p>RIL에 대해서는 <a href="#사용자_영역(userspace)_프로세스_구조">사용자 영역(userspace) 프로세스 구조</a> 섹션에서 간단하게 설명하였습니다. 이 섹션에서는 RIL을 구성하는 여러 부분들이 어떻게 상호작용하는지 좀 더 자세하게 살펴 보겠습니다.</p>
-
-<p>RIL과 관련있는 주요 요소(component)들은 다음과 같습니다:</p>
-
-<dl>
- <dt><code>rild</code></dt>
- <dd>모뎀 펌웨어와 통신하는 데몬입니다.</dd>
- <dt><code>rilproxy</code></dt>
- <dd>The daemon that proxies messages between <code>rild</code> and Gecko (which is implemented in the <code>b2g</code> process). This overcomes the permission problem that arises when trying to talk to <code>rild</code> directly, since <code>rild</code> can only be communicated with from within the <code>radio</code> group.</dd>
- <dt><code>b2g</code></dt>
- <dd>This process, also known as the <strong>chrome process</strong>, implements Gecko. The portions of it that relate to the Radio Interface Layer are <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">dom/system/gonk/ril_worker.js</a> (which implements a worker thread that talks to <code>rild</code> through <code>rilproxy</code> and implements the radio state machine; and the <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> interface, which is the main thread's <a href="/en-US/docs/XPCOM" title="/en-US/docs/XPCOM">XPCOM</a> service that acts primarily as a message exchange between the <code>ril_worker.js</code> thread and various other Gecko components, including the Gecko content process.</dd>
- <dt>Gecko's content process</dt>
- <dd>Within Gecko's content process, the <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRILContentHelper" title="">nsIRILContentHelper</a></code> interface provides an XPCOM service that lets code implementing parts of the DOM, such as the <a href="/en-US/docs/API/WebTelephony" title="/en-US/docs/API/WebTelephony">Telephony</a> and <a href="/en-US/docs/API/WebSMS" title="/en-US/docs/API/WebSMS">SMS</a> APIs talk to the radio interface, which is in the chrome process.</dd>
-</dl>
-
-<h3 id="Example_Communicating_from_rild_to_the_DOM">Example: Communicating from rild to the DOM</h3>
-
-<p>Let's take a look at an example of how the lower level parts of the system communicate with DOM code. When the modem receives an incoming call, it notifies <code>rild</code> using a proprietary mechanism. <code>rild</code> then prepares a message for its client according to the "open" protocol, which is described in <a href="https://github.com/mozilla-b2g/android-hardware-ril/blob/master/include/telephony/ril.h" title="https://github.com/mozilla-b2g/android-hardware-ril/blob/master/include/telephony/ril.h"><code>ril.h</code></a>. In the case of an incoming call, a <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code> message is generated and sent by <code>rild</code> to <code>rilproxy</code>.</p>
-
-<p><code>rilproxy</code>, implemented in <a href="https://github.com/mozilla-b2g/rilproxy/blob/master/src/rilproxy.c" title="https://github.com/mozilla-b2g/rilproxy/blob/master/src/rilproxy.c"><code>rilproxy.c</code></a>, receives this message in its main loop, which polls its connection to <code>rild</code> using code like this:</p>
-
-<pre class="brush:cpp;">ret = read(rilproxy_rw, data, 1024);
-
-if(ret &gt; 0) {
- writeToSocket(rild_rw, data, ret);
-}</pre>
-
-<p>Once the message is received from <code>rild</code>, it's then forwarded along to Gecko on the socket that connects <code>rilproxy</code> to Gecko. Gecko receives the forwarded message on its <a href="https://dxr.mozilla.org/mozilla-central/source/ipc/ril/Ril.cpp" rel="custom">IPC thread</a>:</p>
-
-<pre class="brush:cpp;">int ret = read(fd, mIncoming-&gt;Data, 1024);
-// ... handle errors ...
-mIncoming-&gt;mSize = ret;
-sConsumer-&gt;MessageReceived(mIncoming.forget());
-</pre>
-
-<p>The consumer of these messages is <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/SystemWorkerManager.cpp" rel="custom">SystemWorkerManager</a>, which repackages the messages and dispatches them to the <code><a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">ril_worker.js</a></code> thread that implements the RIL state machine; this is done in the <code>RILReceiver::MessageReceived()</code> method:</p>
-
-<pre class="brush:cpp;">virtual void MessageReceived(RilRawData *aMessage) {
- nsRefPtr&lt;DispatchRILEvent&gt; dre(new DispatchRILEvent(aMessage));
- mDispatcher-&gt;PostTask(dre);
-}</pre>
-
-<p>The task posted to that thread in turn calls the <code>onRILMessage()</code> function, which is implemented in JavaScript. This is done using the JavaScript API function <code><a href="/en-US/docs/SpiderMonkey/JSAPI_Reference/JS_CallFunctionName" title="/en-US/docs/SpiderMonkey/JSAPI_Reference/JS_CallFunctionName">JS_CallFunctionName</a>()</code>:</p>
-
-<pre>return JS_CallFunctionName(aCx, obj, "onRILMessage", NS_ARRAY_LENGTH(argv),
- argv, argv);</pre>
-
-<p><code>onRILMessage()</code> is implemented in <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/ril_worker.js" rel="custom">dom/system/gonk/ril_worker.js</a>, which processes the message bytes and chops them into parcels. Each complete parcel is then dispatched to individual handler methods as appropriate:</p>
-
-<pre class="brush:js;">handleParcel: function handleParcel(request_type, length) {
- let method = this[request_type];
- if (typeof method == "function") {
- if (DEBUG) debug("Handling parcel as " + method.name);
- method.call(this, length);
- }
-}
-</pre>
-
-<p>This code works by getting the request type from the object, making sure it's defined as a function in the JavaScript code, then calling the method. Since ril_worker.js implements each request type in a method given the same name as the request type, this is very simple.</p>
-
-<p>In our example, <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code>, the following handler is called:</p>
-
-<pre class="brush:js;">RIL[UNSOLICITED_RESPONSE_CALL_STATE_CHANGED] = function UNSOLICITED_RESPONSE_CALL_STATE_CHANGED() {
- this.getCurrentCalls();
-};</pre>
-
-<p>As you see in the code above, when notification is received that the call state has changed, the state machine simply fetches the current call state by calling the <code>getCurrentCall()</code> method:</p>
-
-<pre class="brush:js;">getCurrentCalls: function getCurrentCalls() {
- Buf.simpleRequest(REQUEST_GET_CURRENT_CALLS);
-}</pre>
-
-<p>This sends a request back to <code>rild</code> to request the state of all currently active calls. The request flows back along a similar path the <code>RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED</code> message followed, but in the opposite direction (that is, from <code>ril_worker.js</code> to <code>SystemWorkerManager</code> to <code>Ril.cpp</code>, then <code>rilproxy</code> and finally to the <code>rild</code> socket). <code>rild</code> then responds in kind, back along the same path, eventually arriving in <code>ril_worker.js</code>'s handler for the <code>REQUEST_GET_CURRENT_CALLS</code> message. And thus bidirectional communication occurs.</p>
-
-<p>The call state is then processed and compared to the previous state; if there's a change of state, ril_worker.js notifies the <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> service on the main thread:</p>
-
-<pre class="brush:js;">_handleChangedCallState: function _handleChangedCallState(changedCall) {
- let message = {type: "callStateChange",
- call: changedCall};
- this.sendDOMMessage(message);
-}</pre>
-
-<p><code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRadioInterfaceLayer" title="">nsIRadioInterfaceLayer</a></code> is implemented in <a href="https://dxr.mozilla.org/mozilla-central/source/dom/system/gonk/RadioInterfaceLayer.js" rel="custom">dom/system/gonk/RadioInterfaceLayer.js</a>; the message is received by its <code>onmessage()</code> method:</p>
-
-<pre class="brush:js;"> onmessage: function onmessage(event) {
- let message = event.data;
- debug("Received message from worker: " + JSON.stringify(message));
- switch (message.type) {
- case "callStateChange":
- // This one will handle its own notifications.
- this.handleCallStateChange(message.call);
- break;
- ...
-</pre>
-
-<p>All this really does is dispatch the message to the content process using the Parent Process Message Manager (PPMM):</p>
-
-<pre class="brush:js;">handleCallStateChange: function handleCallStateChange(call) {
- [some internal state updating]
- ppmm.sendAsyncMessage("RIL:CallStateChanged", call);
-}</pre>
-
-<p>In the content process, the message is received by <code>receiveMessage()</code> method in the <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIRILContentHelper" title="">nsIRILContentHelper</a></code> service, from the Child Process Message Manager (CPMM):</p>
-
-<pre class="brush:js;">receiveMessage: function receiveMessage(msg) {
- let request;
- debug("Received message '" + msg.name + "': " + JSON.stringify(msg.json));
- switch (msg.name) {
- case "RIL:CallStateChanged":
- this._deliverTelephonyCallback("callStateChanged",
- [msg.json.callIndex, msg.json.state,
- msg.json.number, msg.json.isActive]);
- break;</pre>
-
-<p>This, in turn, calls the <code><a href="https://developer.mozilla.org/ko/docs/XPCOM_Interface_Reference/nsIRILTelephonyCallback#callStateChanged()">nsIRILTelephonyCallback.callStateChanged()</a></code> methods on every registered telephony callback object. Every web application that accesses the <a href="/ko/docs/Web/API/Window/navigator/mozTelephony" title="The documentation about this has not yet been written; please consider contributing!"><code>window.navigator.mozTelephony</code></a> API has registered one such callback object that dispatches events to the JavaScript code in the web application, either as a state change of an existing call object or a new <code>incoming</code> call event.</p>
-
-<pre class="brush:cpp;">NS_IMETHODIMP Telephony::CallStateChanged(PRUint32 aCallIndex, PRUint16 aCallState,
- const nsAString&amp; aNumber, bool aIsActive) {
- [...]
-
- if (modifiedCall) {
- // Change state.
- modifiedCall-&gt;ChangeState(aCallState);
-
- // See if this should replace our current active call.
- if (aIsActive) {
- mActiveCall = modifiedCall;
- }
-
- return NS_OK;
- }
-
- nsRefPtr&lt;TelephonyCall&gt; call =
- TelephonyCall::Create(this, aNumber, aCallState, aCallIndex);
- nsRefPtr&lt;CallEvent&gt; event = CallEvent::Create(call);
- nsresult rv = event-&gt;Dispatch(ToIDOMEventTarget(), NS_LITERAL_STRING("incoming"));
- NS_ENSURE_SUCCESS(rv, rv);
- return NS_OK;
-}</pre>
-
-<p>Applications can receive these events and update their user interface and so forth:</p>
-
-<pre class="brush:js;">handleEvent: function fm_handleEvent(evt) {
- switch (evt.call.state) {
- case 'connected':
- this.connected();
- break;
- case 'disconnected':
- this.disconnected();
- break;
- default:
- break;
- }
-}</pre>
-
-<p>Take a look at the implementation of <a href="https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/dialer.js" title="https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/dialer.js"><code>handleEvent()</code> in the Dialer application</a> as an extended example.</p>
-
-<h3 id="3G_data">3G data</h3>
-
-<p>There is a RIL message that initiates a "data call" to the cellular service; this enables data transfer mode in the modem. This data call ends up creating and activating a <a href="https://ko.wikipedia.org/wiki/Point-to-Point Protocol" title="Point-to-Point Protocol">Point-to-Point Protocol</a> (PPP) interface device in the Linux kernel that can be configured using the usual interfaces.</p>
-
-<div class="note">
-<p><strong>Note:</strong> This section needs to be written.</p>
-</div>
-
-<h3 id="Related_DOM_APIs">Related DOM APIs</h3>
-
-<p>This section lists DOM APIs that are related to RIL communications.</p>
-
-<ul>
- <li><a href="/en-US/docs/API/WebTelephony/Introduction_to_WebTelephony" title="/en-US/docs/API/WebTelephony/Introduction_to_WebTelephony">Telephony API</a></li>
- <li><a href="/en-US/docs/API/WebSMS/Introduction_to_WebSMS" title="/en-US/docs/API/WebSMS/Introduction_to_WebSMS">SMS API</a></li>
- <li>Mobile Connection API</li>
-</ul>
-
-<h2 id="WiFi">WiFi</h2>
-
-<p>The WiFi backend for Firefox OS simply uses <code>wpa_supplicant</code> to do most of the work. That means that the backend's primary job is to simply manage the supplicant, and to do some auxiliary tasks such as loading the WiFi driver and enabling or disabling the network interface. In essence, this means that the backend is a state machine, with the states following the state of the supplicant.</p>
-
-<div class="note">
-<p><strong>Note:</strong> Much of the interesting stuff that happens in WiFi depends deeply on possible state changes in the <code>wpa_supplicant</code> process.</p>
-</div>
-
-<p>The implementation of the WiFi component is broken up into two files:</p>
-
-<dl>
- <dt><a href="https://dxr.mozilla.org/mozilla-central/source/dom/wifi/DOMWifiManager.js" rel="custom">dom/wifi/DOMWifiManager.js</a></dt>
- <dd>Implements the API that's exposed to web content, as defined in <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWifi.idl" title="">nsIWifi.idl</a></code>.</dd>
- <dt><a href="https://dxr.mozilla.org/mozilla-central/source/dom/wifi/WifiWorker.js" rel="custom">dom/wifi/WifiWorker.js</a></dt>
- <dd>Implements the state machine and the code that drives the supplicant.</dd>
-</dl>
-
-<p>These two files communicate with one another using the <a href="/en-US/docs/The_message_manager" title="/en-US/docs/The_message_manager">message manager</a>. The backend listens for messages requesting certain actions, such as "associate", and responds with a message when the requested action has been completed.</p>
-
-<p>The DOM side listens for the response methods as well as several event messages that indicate state changes and information updates.</p>
-
-<div class="note">
-<p><strong>Note:</strong> Any synchromous DOM APIs are implemented by caching data on that side of the pipe. Synchronous messages are avoided whenever possible.</p>
-</div>
-
-<h3 id="WifiWorker.js">WifiWorker.js</h3>
-
-<p>This file implements the main logic behind the WiFi interface. It runs in the chrome process (in multi-process builds) and is instantiated by the SystemWorkerManager. The file is generally broken into two sections: a giant anonymous function and <code>WifiWorker</code> (and its prototype). The anonymous function ends up being the <code>WifiManager</code> by providing a local API, including notifications for events such as connection to the supplicant and scan results being available. In general, it contains little logic and lets its sole consumer control its actions while it simply responds with the requested information and controls the details of the connection with the supplicant.</p>
-
-<p>The <code>WifiWorker</code> object sits between the <code>WifiManager</code> and the DOM. It reacts to events and forwards them to the DOM; in turn, it receives requests from the DOM and performs the appropriate actions on the supplicant. It also maintains state information about the supplicant and what it needs to do next.</p>
-
-<h3 id="DOMWifiManager.js">DOMWifiManager.js</h3>
-
-<p>This implements the DOM API, transmitting messages back and forth between callers and the actual WiFi worker. There's very little logic involved.</p>
-
-<div class="note">
-<p><strong>Note:</strong> In order to avoid synchronous messages to the chrome process, the WiFi Manager does need to cache the state based on the received event.</p>
-</div>
-
-<p>There's a single synchronous message, which is sent at the time the DOM API is instantiated, in order to get the current state of the supplicant.</p>
-
-<h3 id="DHCP">DHCP</h3>
-
-<p>DHCP and DNS are handled by <code>dhcpcd</code>, the standard Linux DHCP client. However, it's not able to react when the network connection is lost. Because of this, Firefox OS kills and restarts <code>dhcpcd</code> each time it connects to a given wireless network.</p>
-
-<p><code>dhcpcd</code> is also responsible for setting the default route; we call into the network manager to tell the kernel about DNS servers.</p>
-
-<h2 id="Network_Manager">Network Manager</h2>
-
-<p>The Network Manager configures network interfaces opened by the 3G data and WiFi components.</p>
-
-<div class="note">
-<p><strong>Note:</strong> This needs to be written.</p>
-</div>
-
-<p> </p>
diff --git a/files/ko/archive/b2g_os/platform/gonk/index.html b/files/ko/archive/b2g_os/platform/gonk/index.html
deleted file mode 100644
index 6482db30f1..0000000000
--- a/files/ko/archive/b2g_os/platform/gonk/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: Gonk
-slug: Archive/B2G_OS/Platform/Gonk
-translation_of: Archive/B2G_OS/Platform/Gonk
----
-<div class="summary">
-<p>Gonk는 <a href="/ko/docs/Mozilla/Firefox_OS">Firefox OS</a> 플랫폼의 하위 레벨 운영체제이며, <a href="http://source.android.com/">안드로이드 오픈 소스 프로젝트</a>(Android Open Source Project, AOSP) 기반의 리눅스 커널과 사용자영역 하드웨어 추상 계층(userspace hardware abstraction layer, HAL)으로 이루어져 있습니다. 이 문서는 Gonk가 무엇으로 구성되어 있는지 설명하는 것을 목적으로 합니다. 전체적인 Firefox OS의 구조와 그 구조에 Gonk가 어떻게 맞추어져 있는지에 대한 내용은 <a href="/ko/docs/Mozilla/Firefox_OS/Architecture">Firefox OS architecture</a>를 참고하시기 바랍니다.</p>
-</div>
-
-<h2 id="Gonk_개요">Gonk 개요</h2>
-
-<p>Gonk는 Firefox OS에서 Gecko와 하드웨어 사이의 인터페이스를 제공하는 커널 레벨의 컴포넌트입니다. Gonk는 하드웨어를 제어하고, 하드웨어의 기능을 Gecko에 구현된 Web API로 노출시킵니다. Gonk는 모바일 기기를 제어하는 동작 뒤에서 하드웨어 수준의 요청을 통해 온갖 복잡하고 세밀한 작업을 하는 "블랙박스"로 볼 수 있습니다.</p>
-
-<p>Gonk는 안드로이드로부터 가져온 (GPS와 카메라 같은) 컴포넌트들을 포함하고 있는 간단한 리눅스 배포판입니다. 그리고 Firefox OS 구조의 모든 계층과 통합하기 위해 libusb, bluez 등의 일반적인 오픈 소스 프로젝트들을 포함하도록 모질라에 의해 확장되었습니다. 이러한 설계는 Firefox OS 스마트폰의 배포를 위해 OEM이 안드로이드의 소프트웨어 컴포넌트들(디바이스 드라이버, 펌웨어, 서비스-레벨 데몬 등)을 포팅하는 것을 더 쉽게 만들어 줍니다.</p>
-
-<p>Gonk는 디바이스 포팅 계층(device porting layer)입니다: 즉 하드웨어와 Gecko 사이의 어댑터입니다. Gonk는 Gecko의 포팅 계층들과 짝을 이루는 Gecko 포트로 생각할 수 있는 비교적 간단한 리눅스 배포판입니다. - 그래서 Gonk는 <a href="/ko/docs/Gecko">Gecko</a>의 포팅 대상이 됩니다. OS X, Windows, Android에 대한 Gecko의 포트가 있는 것처럼.</p>
-
-<div class="note">
-<p><strong>Note</strong>: 모바일 기기들은 다양한 칩셋과 하드웨어 사양을 갖기 때문에 여러 가지의 Gonk 배포판을 가질 수 있습니다.</p>
-</div>
-
-<p>Firefox OS 프로젝트는 Gonk를 통해 완전한 제어가 가능하기 때문에 다른 OS에서는 노출될 수 없는 인터페이스를 Gecko에 노출시킬 수 있습니다. 예를 들어 Gecko가 Gonk 상에서 전화(telephony)와 디스플레이 프레임 버퍼(display frame buffer)에 직접적인 접근을 할 수 있습니다.</p>
-
-<h2 id="Gonk_구조">Gonk 구조</h2>
-
-<p>각 모바일 폰은 기기를 동작시키는데 필요한 시스템 라이브러리, 디바이스 드라이버, 펌웨어에 기반한 Gonk 컴포넌트들의 특별한 조합을 가집니다. 이러한 컴포넌트들은 OEM이 칩셋 제조사와 ODM과의 협력을 통해 결정합니다. 다음 그림은 Gonk 구현의 한 예를 보여줍니다:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/9489/gonk-architecture.png" style="display: block; height: 329px; margin: 0px auto; width: 987px;"></p>
-
-<p>이 예는 (Gonk 구현에서 가능한 여러 구성요소들의 부분집합인) 다음의 주요 구성요소들을 보여줍니다:</p>
-
-<ul>
- <li><strong>리눅스 커널</strong>: 안드로이드로의 라이브러리들(GPS, 카메라 등)과 그 외 오픈소스 프로젝트들(리눅스, libusb, bluez 등)을 사용합니다.</li>
- <li><strong>라디오 인터페이스 레이어 (Radio Interface Layer, RIL):</strong> 폰의 모뎀 하드웨어(전화)와 동작합니다. 다음 두 개의 컴포넌트로 구성됩니다:
- <ul>
- <li><strong>rild daemon</strong>: 모뎀의 펌웨어와 통신합니다.</li>
- <li><strong>rilProxy</strong>: rild와 b2g 프로세스 사이에서 메시지를 대행합니다.</li>
- </ul>
- </li>
- <li><strong>미디어서버 프로세스(mediaserver process):</strong> 오디오 및 비디오 플레이백을 제어합니다. Gecko는 안드로이드의 RPC 방식을 통해 미디어 서버와 통신합니다.</li>
- <li><strong>netd 프로세스</strong>: 하드웨어의 네트워크 인터페이스(Wi-fi)와 직접 동작하는 네트워크 데몬입니다</li>
- <li><strong>블루투스 등:</strong> 블루투스와 다른 서비스-레벨 데몬들은 하드웨어 기능에 대한 접근을 제공합니다.</li>
-</ul>
-
-<p>Gonk는 또한 Firefox OS의 Gecko 계층인 b2g 프로세스를 시작하고 관리하고 종료합니다. b2g 프로세스는 Gonk안에서 서비스-레벨 데몬들의 클라이언트로 동작합니다. 서비스-레벨 데몬들은 하드웨어와 직접 동작하며 폰에 있는 하드웨어 기능을 Gecko에 노출시킵니다. Gecko는 이러한 데몬들과 프로세스간 통신(interprocess communication)을 통해 대화합니다. 이 컴포넌트들은 요청에 대한 명령과 프로토콜을 서로 주고받고, 서비스를 제공합니다.</p>
-
-<div class="note">
-<p><strong>Note</strong>: Gonk 구조에 대한 보다 상세한 설명은 <a href="/ko/docs/Mozilla/Firefox_OS/Architecture">Firefox OS architecture guide</a>를 참고하시기 바랍니다.</p>
-</div>
-
-<h2 id="Gonk_포팅하기">Gonk 포팅하기</h2>
-
-<p>Firefox OS가 안드로이드 커널 기반이기 때문에, 기존의 디바이스 드라이버, 펌웨어, 서비스 데몬들과 기타 컴포넌트들은 최소한의 작업으로 Firefox OS와 동작하도록 포팅될 수 있습니다. 만일 커스텀 컴포넌트(예, 커스텀 RIL 또는 새로운 데몬)가 필요하거나 ODM의 레퍼런스 디자인에 수정이 생겼다면 추가적인 통합과 테스팅 작업이 필요할 수는 있습니다.</p>
-
-<p>b2g에서 클라이언트는 프로세스간 통신(inter-process communication, IPC)을 통해 서비스-레벨 데몬들과 통신합니다. 클라이언트는 서비스 레벨 데몬에 소켓 연결을 시작하고, 그 연결 상에서 (서버의 요청 프로토콜을 사용하여) 요청을 제출하며, 응답을 받고, 연결을 종료합니다. OEM은 클라이언트와 서버 사이의 이러한 프로세스간 통신의 디자인과 구현을 담당합니다.</p>
-
-<div class="note">
-<p><strong>Note</strong>: 포팅 작업에 대한 보다 상세한 정보는 <a href="/ko/docs/Mozilla/Firefox_OS/Porting">Porting Firefox OS</a>를 참고하시기 바랍니다.</p>
-</div>
-
-<h3 id="모질라가_OEM_및_폰_제조사와_Gonk_포팅_작업을_하는_방식">모질라가 OEM 및 폰 제조사와 Gonk 포팅 작업을 하는 방식</h3>
-
-<p>모든 Gonk 구현은 모질라, OEM 및 관련 제조사(ODM, 칩셋 제조사)들 사이의 협력의 결과입니다.</p>
-
-<p>모질라는 소스 저장소(source repositories)를 제공하고 해당하는 Firefox OS 배포판의 Gonk를 위한 파일들을 지원합니다. 소스 저장소는 (조금 수정된) 기본적인 리눅스 커널과 Gecko 에 대한 연결(hooks into Gecko)을 포함하고 있습니다.</p>
-
-<p>OEM은 해당 디바이스 모델에 대한 Firefox OS 시스템 이미지의 빌드, 컴파일, 테스팅, 인증 및 배포를 담당합니다. 시스템 이미지의 Gonk 부분에 대해 OEM은 Web API 호출과 폰 하드웨어 기능들 사이의 일관적인 통합을 확보하기 위한 대부분의 작업을 담당합니다. 요구되는 작업의 형태와 범위는 폰에 사용되는 특정 칩셋과 기타 하드웨어 컴포넌트들에 많이 의존하게 됩니다.</p>
-
-<h3 id="디바이스_컴포넌트_(Device_components)">디바이스 컴포넌트 (Device components)</h3>
-
-<p>OEM은 칩셋 제조사 및 ODM과 함께 모바일 디바이스를 구동하기 위해 필요한 모든 디바이스 컴포넌트들을 제공하기 위해 협력합니다. 예를 들어, Wi-Fi 컴포넌트 제조사는 칩셋과 함께 관련 소프트웨어를 제공합니다. 컴포넌트들은 다음을 포함합니다:</p>
-
-<ul>
- <li>드라이버(Drivers) — 모뎀(데이타 및 음성), Wi-FI, 블루투스, 디스플레이, 카메라, 오디오 등 지원되는 폰의 기능들을 위해</li>
- <li>펌웨어(Firmware) — 몇몇 하드웨어(예, 네트워크 인터페이스 카드)는 플래시 드라이브에서 펌웨어를 로드할 수도 있습니다.</li>
- <li>서비스-레벨 데몬들(Service-level daemons) — 다양한 하드웨어 컴포넌트들의 동작을 실행하고 관리하기 위해. 지원 라이브러리(support libraries)와 스타트업 스크립트(startup scripts)를 포함할 수 있습니다.</li>
-</ul>
-
-<h3 id="Gonk와_Gecko의_통합">Gonk와 Gecko의 통합</h3>
-
-<p>OEM은 모바일 기기의 하드웨어 기능들이 Gecko에 구현된 Web API에 올바르고 온전하게 노출되도록 보장해야 합니다. 이것은 다음을 포함합니다.</p>
-
-<ul>
- <li>(Gonk에서) 관련 드라이버 또는 펌웨어와 함께, 하드웨어 기능을 관리하기 위한 서비스-레벨 데몬들의 빌드와 적용</li>
- <li>(b2g에서) 서비스-레벨 데몬들과 통신하는데 필요한 모든 방법들의 셋업</li>
-</ul>
-
-<h2 id="Gonk_소스코드">Gonk 소스코드</h2>
-
-<p><a href="https://github.com/mozilla-b2g/B2G">Github의 메인 B2G 저장소</a>는 Gonk의 저장소로 여겨질 수 있도록 다양한 기기들에 대해 공식적으로 지원되는 Gonk 포트(ports)를 포함하고 있습니다. 지원 기기들에 대한 목록은 B2G/config.sh에 있습니다.</p>
-
-<p>Gonk에 정의된 b2g 프로세스는 <a href="https://github.com/mozilla-b2g/gonk-misc">mozilla-b2g/gonk-misc</a>에서 찾을 수 있습니다. b2g 소스코드에 대한 수정은 여기서 이루어집니다.</p>
-
-<div class="note">
-<p><strong>Note</strong>: <a href="https://github.com/mozilla/gecko-dev">Gecko 소스</a>안에 Gecko의 Gonk 포트를 포함하는 b2g/ 폴더가 있습니다: 이 폴더는 리눅스 커널, HAL, 기타 OEM 라이브러리들로 구성됩니다.</p>
-</div>
-
-<p>매일 수행되는 Gonk 작업의 대부분은 시스템을 다른 보드에 포팅하고, 다양한 기기에서 Gecko가 잘 동작하는지 확인하는 것을 포함합니다.</p>
-
-<dl>
-</dl>
-
-<p> </p>
diff --git a/files/ko/archive/b2g_os/platform/index.html b/files/ko/archive/b2g_os/platform/index.html
deleted file mode 100644
index ae5425436e..0000000000
--- a/files/ko/archive/b2g_os/platform/index.html
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: The Firefox OS platform
-slug: Archive/B2G_OS/Platform
-tags:
- - B2G
- - Firefox OS
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/B2G_OS/Platform
----
-<p>The Firefox OS platform consists of many components. While you don't need to understand its architecture in order to build applications that run on Firefox OS, if you're working on developing or porting the platform—or are simply curious—the following documentation may be of interest to you.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Documentation" name="Documentation">Documentation about the Firefox OS platform</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Introduction" title="en-US/docs/Mozilla/Firefox_OS/Introduction">Introduction to Firefox OS</a></dt>
- <dd>
- Introductory information about what Firefox OS is and how it works.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS" title="en-US/docs/Mozilla/Firefox_OS/Building and installing Boot to Gecko">Building and installing Firefox OS</a></dt>
- <dd>
- A guide to building Firefox OS and installing it on your compatible device. This guide also covers building the Firefox OS emulator, for running Firefox OS on a computer.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a></dt>
- <dd>
- Documentation about Gaia, the user interface application for Firefox OS devices; this is a Web application running atop the Firefox OS software stack.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gonk" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Gonk">Gonk</a></dt>
- <dd>
- Documentation about Gonk, the operating system layer underneath Gaia. This consists of a Linux kernel and a hardware abstraction layer to which Gecko communicates.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Gecko" title="/en-US/docs/Mozilla/Gecko">Gecko</a></dt>
- <dd>
- Gecko is the layer of Firefox OS that provides the same open web standards implementation used by Firefox and Thunderbird, as well as many other applications.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Feature_support_chart">Feature support chart</a></dt>
- <dd>
- A chart of which features are available in which types of Firefox OS builds.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Architecture" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Architecture">Firefox OS architecture overview</a></dt>
- <dd>
- An overview of how Firefox OS is structured internally; this is primarily of interest to platform developers and people doing porting work.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Apps_architecture" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Apps_architecture">Firefox OS apps architecture</a></dt>
- <dd>
- An overview of the application model on Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing" title="/en-US/docs/Mozilla/Firefox_OS/Platform/Testing">Testing Firefox OS</a></dt>
- <dd>
- A guide to testing Firefox OS, including information about creating automated tests.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Porting" title="/en-US/docs/Mozilla/Firefox_OS/Porting">Porting Firefox OS</a></dt>
- <dd>
- Information about how to port Firefox OS to new devices.</dd>
- <dt>
- <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file" title="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a></dt>
- <dd>
- How to customize the build and execution of Firefox OS by changing the <code>.userconfig</code> file.</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="/en-US/docs/tag/B2G">View All...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Community" name="Community">Getting help from the community</h2>
- <p>If you're working with Firefox OS, or developing applications you'd like to run on Firefox OS devices, there are community resources to help you!</p>
- <ul>
- <li>Consult the Boot to Gecko project forum: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> 웹 Feed</a></li>
-</ul></li>
- </ul>
- <ul>
- <li>Ask your question on Mozilla's Boot to Gecko IRC channel: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Don't forget about the <em>netiquette</em>...</a></span></p>
- <br>
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Related topics</h2>
- <ul>
- <li><a href="/en-US/docs/Mobile" title="en-US/docs/Mobile">Mobile</a></li>
- <li><a href="/en-US/docs/HTML" title="en-US/docs/HTML">HTML</a></li>
- <li><a href="/en-US/docs/CSS" title="en-US/docs/CSS">CSS</a></li>
- <li><a href="/en-US/docs/JavaScript" title="en-US/docs/JavaScript">JavaScript</a></li>
- </ul>
- <h2 class="Tools" id="Resources">Resources</h2>
- <ul>
- <li><a class="link-https" href="https://wiki.mozilla.org/B2G/FAQ" title="B2G/FAQ">Mozilla wiki FAQ</a></li>
- <li><a class="link-https" href="https://wiki.mozilla.org/B2G/Schedule_Roadmap" title="https://wiki.mozilla.org/B2G/Schedule_Roadmap">Roadmap</a></li>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS/Feature_support_chart" title="/en-US/docs/Mozilla/Firefox_OS/Feature_support_chart">Feature support chart</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/archive/b2g_os/porting/index.html b/files/ko/archive/b2g_os/porting/index.html
deleted file mode 100644
index e850181405..0000000000
--- a/files/ko/archive/b2g_os/porting/index.html
+++ /dev/null
@@ -1,121 +0,0 @@
----
-title: Boot to Gecko를 Porting하는 방법
-slug: Archive/B2G_OS/Porting
-translation_of: Archive/B2G_OS/Porting_B2G_OS/basics
----
-<p>Boot to Gecko (Firefox OS)는 <a href="http://www.android.com/" title="http://www.android.com/">Android</a>로부터 파생된 커널을 사용하고, 그 위애 Gecko 기반의 UI가 올라갑니다. 이 페이지는 새로운 타겟에 운영 체제를 어떻게 porting하는지에 대한 기본적인 guide를 제공합니다.</p>
-<p>이 guide는 이미 Android가 수행되는 새로운 타겟에 porting하는 것을 가정하고 있습니다. 만약 Android 이외에 또 다른 타겟에 porting하려고 하면, 또 다른 업무들이 추가되어야 합니다.</p>
-<h2 id="Set_up_your_build_system">Set up your build system</h2>
-<p>The first step is to configure your build system; you can follow the guide in <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites" title="en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">Firefox OS build prerequisites</a>.</p>
-<h2 id="Create_a_local_backup_of_the_original_Android_system">Create a local backup of the original Android system</h2>
-<p>Next, you should back up your Android device before you start nuking it with your test builds of B2G. In addition, some of these bits will be needed by the build and install process.</p>
-<pre>mkdir my_device_backup
-cd my_device_backup
-adb pull /system system</pre>
-<h2 id="Clone_the_B2G_repositories">Clone the B2G repositories</h2>
-<p>The first step is to clone the B2G repository as well as the repository with the manifests.</p>
-<pre>git clone https://github.com/mozilla-b2g/B2G.git
-git clone https://github.com/mozilla-b2g/b2g-manifest.git</pre>
-<h2 id="Add_a_new_device_to_config.sh">Add a new device to config.sh</h2>
-<p>The next step is to add a new device to <a href="https://github.com/mozilla-b2g/B2G/blob/master/config.sh" title="https://github.com/mozilla-b2g/B2G/blob/master/config.sh"><code>config.sh</code></a> in the B2G repository;  you can use the existing ones as a template. This basically involves providing the instructions for fetching the correct files to do the build.</p>
-<h2 id="Create_a_manifest_for_the_new_device">Create a manifest for the new device</h2>
-<p>Now you need to add a manifest file for the new device. Refer to one of the existing manifests for a template. You can use the <a href="https://github.com/mozilla-b2g/b2g-manifest/blob/master/hamachi.xml" title="https://github.com/mozilla-b2g/b2g-manifest/blob/master/hamachi.xml">hamachi</a> manifest a reference. Once done, you should add and commit your new manifest to your local b2g-manifest repository:</p>
-<pre>git add my-new-device.xml
-git commit
-</pre>
-<p>Next, you will want the <a href="https://github.com/mozilla-b2g/B2G/blob/master/config.sh" title="https://github.com/mozilla-b2g/B2G/blob/master/config.sh"><code>config.sh</code></a> file to use your local b2g-manifest repository instead of the official one. To achieve this, change the values of the GITREPO and BRANCH variables in the <a href="https://github.com/mozilla-b2g/B2G/blob/master/config.sh" title="https://github.com/mozilla-b2g/B2G/blob/master/config.sh"><code>config.sh</code></a> file to the location of your local repository and desired branch, for example:</p>
-<pre><span class="nv">GITREPO</span><span class="o">=</span><span class="k">${</span><span class="nv">GITREPO</span><span class="k">:-</span><span class="s2">"file:///home/yourname/b2g-manifest"</span><span class="k">}</span>
-<span class="nv">BRANCH</span><span class="o">=</span><span class="k">${</span><span class="nv">BRANCH</span><span class="k">:-master</span><span class="k">}</span></pre>
-<h2 id="Create_a_configuration_tree_for_the_new_device">Create a configuration tree for the new device</h2>
-<p>Create a new configuration tree for the new device. This should be at <code>device/<em>&lt;manufacturer&gt;</em>/<em>&lt;device_id&gt;</em></code>. This tree should include, at least:</p>
-<ul>
- <li><code>AndroidBoard.mk</code></li>
- <li><code>AndroidProducts.mk</code></li>
- <li><code>BoardConfig.mk</code></li>
- <li><code>extract-files.sh</code></li>
- <li><code>full_&lt;device_id&gt;.mk</code></li>
- <li>idc files for touchscreen</li>
- <li>init files (<code>init.rc</code>, <code>init.&lt;target&gt;.rc</code>, <code>uevent.rc</code>, ...)</li>
-</ul>
-<p>The content here may differ a great deal from one device to another. In particular, BoardConfig.mk and extract-files.sh may differ significantly. This part requires a lot of hacking, testing, and debugging to figure out which binary blobs should be extracted. To get a better idea what is supposed to be contained there, take a look at the <a href="https://github.com/mozilla-b2g/android-device-hamachi" title="https://github.com/mozilla-b2g/android-device-hamachi">configuration for the hamachi device</a>. Remember to correctly reference your own configuration tree from the manifest you created for your new device.</p>
-<div class="note">
- <p><strong>Note:</strong> If you can find an existing reference on <a href="http://www.cyanogenmod.com/" title="http://www.cyanogenmod.com/">CyanogenMod</a> for your device, this information will speed up the porting process. the <a href="http://forum.xda-developers.com/" title="http://forum.xda-developers.com/">XDA Forum</a> is another good place to discuss and check for resources.</p>
-</div>
-<h2 id="Rebuilt_boot.img">Rebuilt boot.img</h2>
-<p>Once you have all that done, you need to rebuild the boot image. This isn't usually needed for the kernel itself, but to pick up the changes to <code>init.rc</code>.</p>
-<h3 id="Changes_to_init.rc">Changes to init.rc</h3>
-<p>The init.rc you use is <strong>not</strong> the one provided by B2G; instead, you need to pull it from the device.</p>
-<p>The main things you'll need to modify are:</p>
-<h4 id="Import_init.b2g.rc">Import init.b2g.rc</h4>
-<p>Add the following lines to import <code>init.b2g.rc</code>:</p>
-<pre>on early-init
- start ueventd
- import /init.b2g.rc</pre>
-<h4 id="Fix_permissions">Fix permissions</h4>
-<p>Correct the permissions on the files <code>/system/b2g/b2g</code>, <code>/system/b2g/updater</code>, <code>/system/b2g/plugin-container</code>; this should be done after the lines that mount the filesystem read/write:</p>
-<pre>chmod 0755 /system/b2g/b2g
-chmod 0755 /system/b2g/updater
-chmod 0755 /system/b2g/plugin-container</pre>
-<p>You might want to start by modifying the <code>init.rc</code> from the new device instead of using the <code>init.rc</code> provided by the build system; if so, you need to remember to set <code>TARGET_PROVIDES_INIT_RC</code> in <code>BoardConfig.mk</code>.</p>
-<h3 id="Prebuilt_kernel_vs._building_the_kernel_from_source">Prebuilt kernel vs. building the kernel from source</h3>
-<p>You can use a prebuilt kernel, or you may build the kernel from source. To build the kernel from source, add AndroidKernel.mk and the kernel config to the device configuration tree.</p>
-<p>The <a href="https://github.com/andreasgal/B2G/tree/master/glue/gonk/device/toro/maguro" title="https://github.com/andreasgal/B2G/tree/master/glue/gonk/device/toro/maguro">maguro</a> on the old build system is an example that builds the kernel from source.</p>
-<h3 id="Extracting_and_modifying_an_existing_boot_image">Extracting and modifying an existing boot image</h3>
-<p>It is possible to recover the boot image of a phone by dumping the contents of the <code>/dev/mtd/mtd1</code> or <code>/dev/mtd/mtd2</code> devices, the resulting image file can then be easily recovered:</p>
-<pre>adb shell 'cat /dev/mtd/mtd1 &gt; /sdcard/boot.img'
-adb pull /sdcard/boot.img
-</pre>
-<p>Once the boot image file has been obtained it can be unpacked via a helper tool such as <a href="http://whiteboard.ping.se/Android/Unmkbootimg" title="Unmkbootimg">unmkbootimg</a>. The tool will extract both the kernel image (zImage) and the ramdisk (initramfs.cpio.gz) as well as printing out a command to rebuild the image with the same parameters of the original one, for example:</p>
-<pre>$ unmkbootimg boot.img
-Kernel size 3872576
-Kernel address 0x208000
-Ramdisk size 265102
-Ramdisk address 0x1500000
-Secondary size 0
-Secondary address 0x1100000
-Kernel tags address 0x200100
-Flash page size 2048
-Board name is ""
-Command line "androidboot.hardware=aphone"
-Extracting kernel to file zImage ...
-Extracting root filesystem to file initramfs.cpio.gz ...
-All done.
----------------
-To recompile this image, use:
- mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x200000 --cmdline 'androidboot.hardware=aphone' -o new_boot.img
----------------
-</pre>
-<p>To modify the ramdisk file create an output directory and extract it there:</p>
-<pre>mkdir initramfs_dir
-cd initramfs_dir
-gunzip -c ../initramfs.cpio.gz | cpio -i
-</pre>
-<p>Make all the required changes (such as modifying init.rc) and repack the ramdisk using <code>mkbootfs</code>, be sure to use the version that has been built with the B2G host tools:</p>
-<pre>/path/to/your/B2G/out/host/linux-x86/bin/mkbootfs . | gzip &gt; ../newinitramfs.cpio.gz
-</pre>
-<p>Finally go back to the top-level directory and re-pack the boot image using the <code>mkbootimg</code>, also make sure you're using the version built with the other B2G host tools:</p>
-<pre>/path/to/your/B2G/out/host/linux-x86/bin/mkbootimg --kernel zImage --ramdisk newinitramfs.cpio.gz --base 0x200000 --cmdline 'androidboot.hardware=aphone' -o newboot.img
-</pre>
-<p>If you now copy the new boot image under <code>out/target/product/$DEVICE/boot.img</code> (where $DEVICE is your device name) it will be automatically flashed when invoking <code>flash.sh</code>. Alternatively you can flash it by hand with the following commands:</p>
-<pre>adb reboot bootloader
-fastboot flash boot newboot.img
-fastboot reboot
-</pre>
-<h2 id="Add_the_new_device_to_flash.sh">Add the new device to flash.sh</h2>
-<p>Add the new device to <code>flash.sh</code>; the specifics of how to do this will depend on what tools need to be used to flash the new device.</p>
-<h2 id="Configure_build_and_flash_the_new_device">Configure, build, and flash the new device</h2>
-<p>Now you can try building for and flashing to your new device:</p>
-<pre>ANDROIDFS_DIR=my_device_backup ./config.sh &lt;device_id&gt; '../b2g-manifest/default.xml'
-./build.sh
-./flash.sh</pre>
-<h2 id="Test_and_debug">Test and debug</h2>
-<p>We need some details added here; indeed, this entire article could use some help.</p>
-<h2 id="FAQ">FAQ</h2>
-<p>Forthcoming</p>
-<h2 id="See_also">See also</h2>
-<ul>
- <li><a href="/en-US/docs/Mozilla/Firefox_OS" title="en-US/docs/Mozilla/Firefox_OS">Firefox OS</a></li>
- <li><a href="https://github.com/mozilla-b2g/B2G" title="https://github.com/mozilla-b2g/B2G">B2G source code on Github</a></li>
- <li><a href="http://www.android.com/" title="http://www.android.com/">Android web site</a></li>
- <li><a href="https://autonome.wordpress.com/2013/01/15/firefox-os-devices-and-dark-matter/" title="https://autonome.wordpress.com/2013/01/15/firefox-os-devices-and-dark-matter/">A list of existing projects on Dietrich Ayala's blog</a> to port Firefox OS on some devices</li>
-</ul>
diff --git a/files/ko/archive/b2g_os/preparing_for_your_first_b2g_build/index.html b/files/ko/archive/b2g_os/preparing_for_your_first_b2g_build/index.html
deleted file mode 100644
index 30286822a1..0000000000
--- a/files/ko/archive/b2g_os/preparing_for_your_first_b2g_build/index.html
+++ /dev/null
@@ -1,148 +0,0 @@
----
-title: 처음 B2G 빌드를 위한 준비
-slug: Archive/B2G_OS/Preparing_for_your_first_B2G_build
-translation_of: Archive/B2G_OS/Preparing_for_your_first_B2G_build
----
-<p></p>
-
-<div class="warning"><strong>중요</strong>: 번역은 제가 필요한 부분 및 확인 가능한 부분만 진행 하였으며 변역된 날자는(2013/02/25)이며 문서 변경이 잦아 오늘 이후는 원문과 번역이 다를 수 있습니다. 참고하세요. 미 번역/변경된 부분은 추가로 다른 분이 해 주실 것으로 믿습니다.</div>
-
-<p>여기서는 B2G 빌드를 하기 전에 수행 해야 하는 repository를 가져오고 빌드 환경을 설정에 대해 알아 봅니다.</p>
-
-<h2 id="B2G_repository_가져_오기">B2G repository 가져 오기</h2>
-
-<p>첫번째로, 빌드를 처음으로 시작하기에 앞서, B2G repository를 가져 와야 합니다. 이 단계가 모든 것을 다 가져 오는 것은 아니고, B2G build system을 가져 오고 빌드에 필요한 각종 툴들을 가져 옵니다. 대부분의 B2G code는 아직 main Mozilla <a href="/en-US/docs/Mercurial" title="Mercurial">Mercurial</a> repository에 존재 합니다.</p>
-
-<p>Repository를 가져 오기 위해 "git"을 사용합니다.</p>
-
-<pre>git clone git://github.com/mozilla-b2g/B2G.git</pre>
-
-<p>몇분간의 git작업 진행 후 새로 생긴 "B2G"폴더로 이동하세요.</p>
-
-<pre>cd B2G
-</pre>
-
-<h2 id="작업중이던_B2G_tree를_새로_구성한_빌드_환경으로_복사하기(작업_중일_경우만_진행_그외는_다음_단계로)">작업중이던 B2G tree를 새로 구성한 빌드 환경으로 복사하기(작업 중일 경우만 진행, 그외는 다음 단계로)</h2>
-
-<p>If you've gotten a new computer (lucky you!), you'll find your life will be much easier if you simply migrate your entire B2G tree from one computer to another.</p>
-
-<p>To do that, mount your old computer's drive onto your new computer, then do this:</p>
-
-<pre>rsync -a <em>source</em>/ <em>dest</em>/
-</pre>
-
-<p>Where <code>source</code> is the full path (including the trailing slash) of the source tree, and <code>dest</code> is where you want to put it (the trailing slash is also important!).</p>
-
-<div class="note">
-<p>Note: If you copy the files from a computer with another platform ensure to run '<em>./build.sh clean'</em> before you start the build process. If you don't do this you might encounter compilation issues.</p>
-</div>
-
-<p>If you do this, you can skip all of the rest of this article and move right on to <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko" title="Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko">building</a>.</p>
-
-<h2 id="단말기용_B2G_환경_설정">단말기용 B2G 환경 설정</h2>
-
-<div class="warning"><strong>중요</strong>: 단말기는 <strong>안드로이드 4</strong> (즉 <strong>아이스크림 샌드위치(ICS)</strong>) 가 설치 되어 있어야 합니다. 단말기에 구동중인 안드로이드 버전을 확인하시고, 그렇지 않으면 대부분 이단계 부터 실패를 할 것입니다. 또한 USB에 연결된 단말기로 다운로드를 할 경우 만약 USB허브로 연결 되어 있을 경우는 문제를 발생할 수 있으므로, 허브가 아닌 직접 PC에 연결된 USB와 연결 하시기 바랍니다.</div>
-
-<p>Core B2G build system을 다 받고 나면, 설치하고자 하는 단말기에 맞는 환경을 설정 해야 합니다. 지원되는 단말기의 종류를 보려면 아래와 같이 실행 하세요.</p>
-
-<pre>./config.sh
-</pre>
-
-<p>리스트는 아래와 같이 보일 것입니다.</p>
-
-<pre>Usage: ./config.sh [-cdflnq] (device name)
-Flags are passed through to |./repo sync|.
-
-Valid devices to configure are:
-- galaxy-s2
-- galaxy-nexus
-- nexus-4
-- nexus-4-kk
-- nexus-5
-- nexus-5-l
-- nexus-s
-- nexus-s-4g
-- flo (Nexus 7 2013)
-- otoro
-- unagi
-- inari
-- keon
-- peak
-- hamachi
-- helix
-- tarako
-- dolphin
-- dolphin-512
-- pandaboard
-- vixen
-- flatfish
-- flame
-- flame-kk
-- flame-l
-- rpi (Revision B)
-- emulator
-- emulator-jb
-- emulator-kk
-- emulator-l
-- emulator-x86
-- emulator-x86-jb
-- emulator-x86-kk
-- emulator-x86-l
-&gt; Sony Xperia devices
-- aries (Z3 Compact KK)
-- aries-l (Z3 Compact L)
-- leo-kk (Z3 KK)
-- leo-l (Z3 L)
-- scorpion-l (Z3 Tablet Compact L)
-- sirius-l (Z2 L)
-- tianchi-l (T2U L)
-- flamingo-l (E3 L)</pre>
-
-<p>만약 해당 단말기가 리스트에 없다면, 바로 모든 과정을 중단하고 B2G 포팅 도움을 요청하거나 누군가 해당 단말기용 작업을 완료 하기를 기다리세요. Mozilla에서는 당신의 도움을 환영합니다!</p>
-
-<div class="note"><strong>Note:</strong> 특정 버전의 Gecko와 상관 없이 빌드를 하고자 한다면, 진행 하기 전에<a href="#Building_against_a_custom_Gecko">Building against a custom Gecko</a> 를 참고 하세요.</div>
-
-<h3 id="모바일_단말기_환경_설정">모바일 단말기 환경 설정</h3>
-
-<p>우선, 환경설정시 단말기와 통신을 하게 되므로, 설정 하고자 하는 단말기를 연결하세요.</p>
-
-<p>원하는 단말기의 종류가 위에 나와 있다면, 아래와 같이 config.sh + 단말기 이름을 입력 하세요. Samsung Google Nexus S를 예로 들면 아래와 같습니다.</p>
-
-<pre>./config.sh nexus-s
-</pre>
-
-<p>설정 시작하고 바로 아마도 색상 환경 설정을 입력 해야 할 것입니다. 색상 선택이 완료되면 환경 설정은 계속 진행 됩니다. 지금부터는 Boot to Gecko빌드에 필요한 모든 코드를 복하게될 것이며, 이는 상당한 시간이 소요 될 것이니 잠깐 쉬는 시간을 가지도록 하세요.(2시간 이상 소요 예상됨)</p>
-
-<p>If your phone no longer has Android on and your B2G tree doesn't have the binary blobs in it, and you wisely made a backup of the <code>/system</code> partition like an earlier page told you to, you can use it like this:</p>
-
-<pre>ANDROIDFS_DIR=&lt;absolute path to parent dir of system dir&gt; ./config.sh &lt;target&gt;
-</pre>
-
-<h3 id="에뮬레이터_빌드_환경_설정">에뮬레이터 빌드 환경 설정</h3>
-
-<p>ARM 에뮬레이터는 "emulator", x86 에뮬레이터는 "emulator-x86"로 아래와 같이 수행 하시면 에뮬레이터용 환경 설정도 가능합니다. x86 에뮬레이터가 ARM용 에뮬레이터보다 수행 속도는 빠르지만 실제 단말기와 다르게 동작 할 수도 있습니다.</p>
-
-<p>아래는 ARM용 에뮬레이터 환경 설정입니다.</p>
-
-<pre>./config.sh emulator
-</pre>
-
-<div class="note">
-<p>주의: ./config.sh수행은 시간이 많이 걸리므로 Ctrl-C로 중단이 가능하며 이후 다시 진행도 가능합니다. 만약 일부 진행이 문제가 있어 보인다면 './repo sync'를 실행 하시면 문제가 수정될지 모릅니다.</p>
-</div>
-
-<h2 id="Building_against_a_custom_Gecko">Building against a custom Gecko</h2>
-
-<p>There may be times that you want or need to build Boot to Gecko based on a different version of Gecko than the one that's used by default (as specified in the manifest). You can do so by editing the file <code>.userconfig</code> before you pull the repository (before the <code>config.sh</code> step above). For example, if you want to build against mozilla-central:</p>
-
-<pre>GECKO_PATH=/path/to/mozilla-central
-GECKO_OBJDIR=/path/to/mozilla-central/objdir-gonk
-</pre>
-
-<div class="note">
-<p><strong>Note</strong>: if building against a custom Gecko in Mac OS X, the mozilla-central directory must be in a case sensitive file system.</p>
-</div>
-
-<p>See <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file" title="Mozilla/Boot_to_Gecko/Customization_with_the_.userconfig_file">Customization with the .userconfig file</a> for additional customizations you can do.</p>
-
-<p>다음은, <a href="/en-US/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko" title="Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko">빌드 시작 하기</a>.</p>
diff --git a/files/ko/archive/b2g_os/quickstart/index.html b/files/ko/archive/b2g_os/quickstart/index.html
deleted file mode 100644
index ebe1f7c220..0000000000
--- a/files/ko/archive/b2g_os/quickstart/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: Build
-slug: Archive/B2G_OS/Quickstart
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/B2G_OS/Quickstart
----
-<div class="summary">
- <p>Quickstart information on coding open web apps.</p>
-</div>
-<dl>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_open_web_apps">Introduction to open web apps</a></dt>
- <dd>
- What are open web apps? How they differ from regular web pages? Why is this significant? This article aims to answer these questions and more.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Your_first_app">Your first app</a></dt>
- <dd>
- This article takes you through the basic steps and additional knowledge on top of regular web development required to create installable open web apps.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_Firefox_OS">Introduction to Firefox OS</a></dt>
- <dd>
- An introduction to Firefox OS, Mozilla's new open web app-based mobile platform.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Intro_to_manifests">Introduction to manifests</a></dt>
- <dd>
- An FAQ designed to answer any questions you may have about manifests, hosting apps, origins, and other such topics.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/For_Web_developers">App development for web developers</a></dt>
- <dd>
- If you're a web developer, how do open web apps differ from what you're used to? This article explains all.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/For_mobile_developers">App development for mobile developers</a></dt>
- <dd>
- If you're a native mobile application developer, what advantages can open web apps bring to you, and how do they differ from what you are used to? Here are some ideas.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Developing_app_functionality">Developing app functionality</a></dt>
- <dd>
- This page talks about the kinds of different functionality that you might want to build into your apps, with links to further information.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/Payments">Payments</a></dt>
- <dd>
- How do you build functionality to make people pay for installing your open web apps? Here is the lowdown.</dd>
- <dt>
- <a href="/en-US/docs/Web/Apps/Quickstart/Build/App_tools">App tools</a></dt>
- <dd>
- Last for this section, we provide some links to more information on the tools available to help you develop great open web apps.</dd>
-</dl>
diff --git a/files/ko/archive/b2g_os/quickstart/intro_to_firefox_os/index.html b/files/ko/archive/b2g_os/quickstart/intro_to_firefox_os/index.html
deleted file mode 100644
index 437b48c562..0000000000
--- a/files/ko/archive/b2g_os/quickstart/intro_to_firefox_os/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Firefox OS에 대하여.
-slug: Archive/B2G_OS/Quickstart/Intro_to_Firefox_OS
-translation_of: Archive/B2G_OS/Quickstart/Intro_to_Firefox_OS
----
-<div class="summary">
- <p>Firefox OS 는 모질라의 Boot to Gecko (B2G) 프로젝트에 의해 개발된 새로운 모바일 운영체제 입니다. 리눅스 커널을 사용하고 Gecko-based runtime 엔진을 통해 구동됩니다. 이로서 사용자들은 <a href="//developer.mozilla.org/docs/JavaScript">JavaScript</a>와 <a href="//developer.mozilla.org/docs/HTML">HTML</a>, 그리고 다른 오픈소스 웹 어플리케이션 API를 사용하여 만든 앱들을 사용할 수 있게 되었습니다.</p>
-</div>
-<p><strong>Firefox OS </strong>("Boot to Gecko" 또는 "B2G"라는 코드명으로도 불립니다) 는 모질라의 오픈소스 모바일 운영체제입니다. 리눅스 커널에 기반했으며, <a href="//developer.mozilla.org/docs/HTML">HTML</a>, <a href="/en-US/docs/Web/CSS">CSS</a>, <a href="//developer.mozilla.org/docs/JavaScript">JavaScript</a>, 그리고 오픈소스 웹 어플리케이션 API를 구동하는 Gecko-based runtime 엔진으로 구동됩니다. Firefox OS는 또한 독점 기술로부터 자유로운 모바일 운영체제이기도 합니다. 즉, 앱 개발자들에게 그들이 원하는 끝내주는 것들을 만들게 해 주는 기회를 제공하는 강력한 플랫폼이기도 합니다. 게다가, 이것은 최종적으로 사용자에게 행복을 줄 수 있을 만큼 유연하고 포용력 있는 운영체제이기도 합니다.</p>
-<p style="width: 480px; margin: 0 auto;"><iframe frameborder="0" height="270" src="https://www.youtube.com/embed/-9vktI70iHc/?feature=player_detailpage" width="480"></iframe></p>
-<p>Firefox OS는 <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a>라는 기본 설치 앱과 함께 제공됩니다. <a href="/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia">Gaia</a>는 핸드폰의 기본적인 기능들인 설정, 통화, SMS, 사진촬영 및 편집, 그리고 그 외의 것들을 관리합니다.</p>
-<p>웹 개발자들에게 이해시켜야 할 가장 중요한 부분은, '모든 사용자 인터페이스(UI)가 웹을 기반한 어플리케이션이라는 것입니다. 다른 웹 기반 어플리케이션을 구동하고, 화면에 표시하는 것이 가능한 웹 어플리케이션이라는 것이죠. 당신이 사용자 인터페이스에 적용하는 모든 수정과, 당신이 Firefox OS에서 구동시키기 위해 만드는 모든 앱들은, 모바일 기기와 서비스에 대한 향상된 접근에도 불구하고. 웹페이지입니다.</p>
-<p>Firefox OS는 현재 엄청난 개발단계중에 있습니다. 우리는 당신에게 Gaia와 앱 개발을 더 쉽게 만들어주기 위해 끊임없이 노력중입니다.</p>
-<p>Firefox OS에 대한 더 많은 정보를 원하신다면 <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS content zone</a>으로 와 주십시오.</p>
diff --git a/files/ko/archive/b2g_os/quickstart/intro_to_open_web_apps/index.html b/files/ko/archive/b2g_os/quickstart/intro_to_open_web_apps/index.html
deleted file mode 100644
index 50f550e7c3..0000000000
--- a/files/ko/archive/b2g_os/quickstart/intro_to_open_web_apps/index.html
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title: 개방형 웹 앱 소개
-slug: Archive/B2G_OS/Quickstart/Intro_to_open_web_apps
-translation_of: Archive/B2G_OS/Quickstart/Intro_to_open_web_apps
----
-<p><img alt="Multi devices" src="/files/4523/multidevices.png" style="width: 640px; height: 225px;"></p>
-<div class="summary">
- <p><span style="font-size: 14px; font-family: 'Lucida Grande';">이 글은 개발자, 프로젝트 매니저, 또는 앱 개발과 배포에 관련이 있는 사람 등 개방형 웹 앱을 배우고자 하는 모든이들에게 좋은 출발점이 되고자 합니다. 이 글에서는 개방형 웹 앱에 대해 대략적인 개요를 가볍게 설명하고 개방형 웹 앱의 철학에 대해 소개합니다.</span></p>
-</div>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">개방형 웹 앱은 기본적으로 일반적인 웹 사이트나 웹 페이지와 다르지 않습니다. 개방형 웹 앱은 HTML, CSS, JavaScript 등 개방된 표준 웹 기술을 사용하고 웹 브라우저를 통해 접근할 수 있습니다. 가장 큰 차이는 디바이스에 설치될 수 있는지, 오프라인일 때 작동할 수 있는지, 그리고 카메라, 주소록과 같은 디바이스 기능과 인터렉션할 수 있는 더 발전된 API 에 접근할 수 있는지 등 그 기능들에 있습니다. 또한 개방형 웹 앱은 공개된 기술을 최대한 이용해 만들어집니다. 플랫폼들 사이에 아직 구현되지 않은 기술들이 있을 수 있기 때문에 피쳐 디텍션(feature detection)과 여러 플랫폼에서 작동하는 코드, 그리고 우아한 성능저하(graceful degradation)를 통해 웹 브라우저와 디바이스 모두를 지원하는 노력이 필요합니다.</span></p>
-<h2 id="개방형_웹_앱의_장점">개방형 웹 앱의 장점</h2>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">개방형 웹 앱의 장점에 대해 조금 더 자세히 알아봅시다:</span></p>
-<ul style="margin: 0px 0px 1.286em; padding: 0px 0px 0px 20px;">
- <li><strong><span style="line-height: normal; font-family: 'Lucida Grande';">디바이스에 직접 설치와 오프라인 저장소</span></strong>: <span style="line-height: normal; font-family: 'Lucida Grande';">개방형 웹 앱은 디바이스에 설치될 수 있고, 로컬스토리지, Indexed DB 등의 API 를 최대한 활용해 로컬 데이터 저장 기능을 제공합니다. 게다가 범용적인 웹 기술들은 네이티브 앱들에 비해 아주 적은 공간을 차지하는 경우가 많고, 업데이트 할 때마다 완전히 새로운 패키지를 설치하기 보다는 변경된 부분만 업데이트할 수 있습니다. 따라서 이런 앱들은 항상 온라인이어야 하는 웹에 비해 네트워크에 독립적이고, 네트워크가 좋지 않은 상황에 더 강합니다.</span></li>
- <li><strong><span style="line-height: normal; font-family: 'Lucida Grande';">하드웨어 접근</span></strong>: <span style="line-height: normal; font-family: 'Lucida Grande';">개방형 웹 앱과 함께 제공되는 메타데이터는 애플리케이션에 특별한 권한이 필요한 API 들에 접근할 수 있는 권한을 제공할 수 있고, 그럼으로써 웹 플랫폼에서는 이전에는 누릴 수 없었던 디바이스의 하드웨어 기능을 활용할 수 있도록 합니다.</span></li>
- <li><strong><span style="line-height: normal; font-family: 'Lucida Grande';">담장을 두른 정원을 부수기:</span></strong> <span style="line-height: normal; font-family: 'Lucida Grande';">모바일 플랫폼을 위한 표준은 벤더 전용의 기술들로 담장을 두른 정원과 비슷합니다. 따라서 앱들은 그들의 플랫폼 안에 묶이게됩니다. 또 스마트폰은 비싼 경우가 많고 앱 결재를 위해 신용카드를 요구하는 경우도 많습니다. 개방형 웹 앱은 더 저렴한 하드웨어에서 동작이 가능한 경우가 많고 특히 Firefox OS 디바이스는 말그대로 경량화된 리눅스 커널 위에서 동작하는 Firefox 그 자체를 가지게 됩니다. 그리고 개방형 웹 앱은 가장 많이 배포된 플랫폼인 범용적인 웹 기술로 작성되어 있습니다. 또한 Firefox OS 기기들은 결제 시스템을 탑재하고 있어서 앱 구매시 선불 결제나 전화 요금에 통합과금되는 형태의 결제를 사용할 수 있습니다.</span></li>
- <li><strong><span style="line-height: normal; font-family: 'Lucida Grande';">개방형 웹 앱 스토어: </span></strong><span style="line-height: normal; font-family: 'Lucida Grande';">위에 언급된 바에 따라 여러분은 자신의 앱을 이미 존재하고 있는 마켓플레이스(<a class="external" href="https://marketplace.firefox.com/" style="padding-right: 16px; background-color: transparent; line-height: 21px;" title="https://marketplace.firefox.com/">Firefox Marketplace</a>와 같은)를 통해 제공할 수도 있고 전혀 다른 곳에서 제공할 수도 있습니다. 이것은 여러분의 선택에 달려있습니다. Mozilla는 개발자들에게 쉬운 개발에서부터 직접적인 고객관계관리(CRM)를 제공하는데  이르기까지 모든 방면의 앱 경험에 대한 권한을 돌려주려고합니다. 그리고 이 앱들은 다른 웹 기반의 앱에서 경험한 바와 같이 검색엔진을 통해 검색될 수 있습니다.</span></li>
-</ul>
-<p>아래 동영상도 개방형 웹 앱의 일반적인 장점과 Firefox OS 플랫폼에서의 개발에 대해 다루고 있습니다.</p>
-<p style="text-align: center;"><iframe frameborder="0" height="270" src="https://www.youtube.com/embed/RJJkFshnnVc/?feature=player_detailpage" width="480"></iframe></p>
-<h2 id="웹이_바로_플랫폼_입니다.">웹이 바로 플랫폼 입니다.</h2>
-<p><span style="font-family: 'Lucida Grande'; font-size: 14px; line-height: inherit;">개방형 웹 앱은 그 자체로서 Firefox OS 와 같은 플랫폼에 설치된 상태로 존재합니다. 브라우저의 즐겨찾기가 아니라 정당한 시스템의 한 부분으로 존재합니다. 개방형 웹 앱의 미래는 무척 밝습니다. 개방형 웹 앱은 우리가 잡아야하는 기회이지만 놓치게 된다면 웹은 다시 한번 쪼개지게 될 것입니다. 이런 관점에서 보면 개방형 웹 앱(줄여서 OWA)이 표준화되어 “웹”의 일부가 되는 것을 지향하고 있다는 것이 명확해집니다. 만약 성공한다면 OWA 는 향후 모든 브라우저, 운영체제, 디바이스에서 작동하게 될 것입니다</span>.</p>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">Mozilla 에서 우리는 개방된 웹이 전적으로 지원하는 앱 플랫폼을 만들기 위해 열심히 노력하고 있습니다. “Mozilla 플랫폼” 이라던지 “Firefox 플랫폼”이 되는 것을 원하는 것이 아닙니다. <b>웹이 바로 플랫폼 입니다.</b> 우리는 공개 API 들을 만들고, 어떻게 포터블 앱이 벤더에 종속적이지 않고도 존재할 수 있는지 보여주는 구현물을 만듭니다. Facebook 이나 Google Chrome 등 다른 그룹들도 웹 앱을 만들고 있습니다. Facebook 앱은 Facebook 서비스에 장착할 수 있도록 하는 고리를 뜻하고, Chrome 앱은 Chrome OS 디바이스와 Google 서버를 위해 설계되었습니다. Chrome 앱은 개방형 웹 앱과 굉장히 비슷합니다. 우리는 Google Chrome 팀과 앱 표준의 발전을 위해 지속적으로 협력합니다. 또한 우리는 매우 많은 비전을 공유합니다. 모든 웹 기반 앱 플랫폼들은 통합 가능성이 매우 크므로 우리는 우리가 올바른 개방형 웹 앱 API 를 만들 수 있게 도와줄 모든 벤더들을 환영합니다.</span></p>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">비록 현재로서는 개방형 웹 앱은 Mozilla Firefox 기반의 엔진(“Web 런타임”)에서만 구동되지만, 이것이 절대적인 것은 아닙니다. 개방형 웹 앱 프로젝트의 많은 부분들은 아직도 작업 중이고 한번에 모든 브라우저에서 모든 것을 구현하는 것은 불가능합니다. 개방형 웹 앱의 많은 부분은 이미 표준화 되었지만 다른 많은 부분은 아직 유동적입니다. 우리는 개방형 웹 앱이 모든 주요 브라우저에서 사용가능한 표준이 되는 것을 지향하고 바랍니다.</span></p>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">따라서 개방형 웹 앱에 대해 다룬 MDN 페이지를 읽을 때에는, 지금으로선 많은 정보들이 Firefox 에 특화된 정보일지라도, 미래에는 모든 브라우저에서 동작하는 개방형 웹 앱의 개발 정보가 될 수 있음을 명심하시기 바랍니다.</span></p>
-<h2 id="웹_표준">웹 표준</h2>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">OWA 기술은 단일 기술로 이루어진 것이 아닙니다. OWA 기술은 많은 기술들의 집단들을 포괄하고 있으며 그 중 일부는 초기 기술들입니다. 지금으로서는 OWA 의 일부가 표준화되어 있습니다(HTML5, CSS, JavaScript, IndexedDb 등등). 그 외 부분들은 아직 표준화되지 않았기 때문에 Mozilla 의 구현은 Firefox 전용 구현이거나 다른 Mozilla 기술에서만 동작하는 구현일 수 있습니다. 모두에게 공유하고 권한을 주자는 Mozilla 의 사명처럼 이 상황은 일시적인 것 입니다. 따라서 우리는 OWA 문서들에 아직 표준화 되지 않은 OWA 기술들을 명확히 알 수 있게 하려고 합니다.</span></p>
-<p><span style="font-size: 14px; font-family: 'Lucida Grande';">Mozilla 에서 사용하고 있지 않은 OWA 관련 제안들과 잠재적인 표준들도 있을 수 있습니다.</span></p>
-<p><span style="font-family: Georgia, Times, 'Times New Roman', serif; font-size: 1.428em; line-height: inherit;">향후 표준이 되는 기술</span></p>
-<p><span style="font-family: 'Lucida Grande'; font-size: 14px; line-height: inherit;">여기에는 현재 다른 웹 플랫폼에서 아직 표준화되지 않아 Firefox 에서만 동작하는 기술들의 모음입니다:</span></p>
-<ul>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">응용 프로그램을 정의하는 </span><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(101, 153, 204);"><a href="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest">OWA 매니패스트</a></span></li>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">앱과 연계된 </span><a href="https://developer.mozilla.org/en-US/docs/Web/Apps/JavaScript_API">OWA API 전체</a></li>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">전화, 위치 정보 등의 기능에 액세스 하는 <a href="https://wiki.mozilla.org/WebAPI">Web APIs</a>. </span><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">이슈처리 현황을 확인하려면 <a href="http://arewemobileyet.com/">arewemobileyet.com</a> </span><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">를 참조하십시오.</span></li>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">사용자 데이터와 연계하는 <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Persona">개인 인증 시스템 (Persona)</a></span></li>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">어플리케이션 내 과금 및 각 마켓 플레이스에서 앱의 구매를 쉽게하는  </span><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(101, 153, 204);"><a href="https://wiki.mozilla.org/WebAPI/WebPayment">WebPayment API</a></span></li>
- <li><span style="font-size: 14px; line-height: normal; font-family: 'Lucida Grande'; color: rgb(50, 51, 51);">모든 터미널에서 유료 앱을 검증하고 각 마켓 플레이스에서 앱을 판매 할 수 있도록 하는 <a href="https://wiki.mozilla.org/Apps/WebApplicationReceipt">OWA Receipts</a></span></li>
-</ul>
-<h3 id="Marketplace">Marketplace</h3>
-<h4 id="한번_구매하면_모든_곳에서_사용할_수_있습니다.">한번 구매하면 모든 곳에서 사용할 수 있습니다.</h4>
-<p>Mozilla 는 개발 초기부터 사용자가 한번 구입하면 사용자가 가진 모든 HTML5 지원 디바이스에서 실행할 수 있는 앱 시스템을 개발해왔습니다. Mozilla 는 곧 <a href="http://bits.blogs.nytimes.com/2012/09/07/a-firefox-smartphone-for-the-poor/">최초의 Firefox OS 폰을 발매</a> 할 예정이고 이 폰에서 구매한 앱들은 다른  디바이스에서도 실행할 수 있게 됩니다. <a href="https://marketplace.firefox.com/">Firefox Marketplace</a> 를 통해 앱을 구매하면 앱 시스템이 디바이스에 영수증을 설치합니다. <a href="https://wiki.mozilla.org/Apps/WebApplicationReceipt">영수증</a>은 JSON Web Token 으로 Marketplace 의 공개키와 영수증을 검증하는 서비스 URL 으로 연결하는 메타데이터가 담겨있습니다. 앱이 실행되면서 이 영수증을 검증할 수는 있지만 디바이스 내의 이 영수증이 Firefox Marketplace 에 묶이는 것은 아닙니다. 이 영수증은 구매 증명서가 암호화된 것 뿐입니다. 이 영수증 규격을 따르면 누구나 개방형 웹 앱을 판매할 수 있습니다. <strong>여러분이 앱을 구매하는 것은 곧 개방형 웹 앱 시스템을 지원하는 어느 디바이스에서든지 사용할 수 있게됨을 의미합니다.</strong></p>
-<p>Mozilla는 개방형 웹 앱을 모든 HTML5 지원 디바이스에서 구동시킬 수 있게 하는 인프라를 구축하고 있습니다. <a href="http://www.mozilla.org/en-US/firefox/mobile/features/">Android용 Firefox</a>에서는 앱을 설치하고 실행할 수 있습니다. (<a href="http://nightly.mozilla.org/">nightly</a> 빌드에서 지금 확인할 수 있습니다). 설치한 앱의 아이콘은 일반 Android 앱과 마찬가지로 홈 화면에 추가됩니다. 이미 Windows, Mac, or Linux 데스크탑 홤경에서 Firefox 를 사용해 웹앱을 설치하고 실행할 수 있습니다. (현재 <a href="http://nightly.mozilla.org/">nightly</a> 빌드에서 작동하고 있습니다). 지금은 몇몇 Firefox 버전에서만 지원하고 있지만, 나중에는 모든 주요 브라우저들이 일련의 표준으로서 개방형 웹 앱 시스템을 지원하도록 만들고자 합니다. Mozilla 는 초기부터 HTML5를 지원하는 모든 주요 브라우저에서 이런 생각을 구현하는 방법에 대해 고려해왔습니다. 이와 관련해 Firefox 외의 브라우저에서 앱 플랫폼을 지원하는 방법을 구상한 이 자바스크립트 <a href="https://apps.persona.org/include.js" style="font-size: 14px; line-height: inherit;">shim</a><span style="font-size: 14px; line-height: inherit;"> 을 참고하시기 바랍니다.</span></p>
-<p>향후 개방형 웹 시스템에는 설치된 앱을 여러 디바이스로 <a href="http://docs.services.mozilla.com/aitc/">동기화하는 기능</a>이 추가될 것입니다. 영수증은 디바이스끼리 이동시킬 수 있으므로 원한다면 직접 동기화할 수도 있습니다. 단정할 수는 없지만 개방형 웹 앱은 기존의 웹사이트들과 다르지 않기 때문에 무료로 제공되는 개방형 웹 앱은 어느 브라우저에서나 실행할 수 있을 것입니다. 그러나 일부 플랫폼에서만 구현된 새로운 <a href="https://wiki.mozilla.org/WebAPI/">모바일 전용 웹 API</a>를 사용했을 수도 있습니다.</p>
-<p>아래 동영상에서 개방형 마켓플레이스의 장점과 개방된  웹이 앱 검색과 가까워지는 과정에 대해 간단히 살펴볼 수 있습니다.</p>
-<p style="text-align: center;"><iframe frameborder="0" height="270" src="https://www.youtube.com/embed/QCH_ncCrZfE/?feature=player_detailpage" width="480"></iframe></p>
-<h3 id="WebPayment_API">WebPayment API</h3>
-<h4 id="앱_상거래">앱 상거래</h4>
-<p>iOS와 Android 등의 모바일 앱 플랫폼이 성공한 배경 중 하나는 이들이 모바일 결제를 통해 아주 쉽게 새로운 비즈니스 모델들을 창출할 수 있게 했기 때문입니다. 이런 비즈니스 모델들은 아직 발전단계임에도 이미 모바일에서의 상거래가 데스크탑 웹에서보다 더 자연스럽습니다. 특히 어쨌든 이미 휴대폰에서 접근중이라면 휴대전화 요금에 포함시켜 과금하는 것이 매우 편리합니다. 개방형 웹 앱 생태계는 Firefox OS 출시와 함께 <a href="https://wiki.mozilla.org/WebAPI/WebPayment" style="font-size: 14px; line-height: inherit;">WebPayment API</a>를 통해 <span style="font-size: 14px; line-height: inherit;">유료 앱 결제와 앱 내 결제를 지원할 것입니다. 상거래를 지원하는 것은 앱 플랫폼의 성장에 필수적입니다. <strong>제시된 결제 API를 사용할지는 완전한 <em>선택사항</em>입니다.</strong> Mozilla 는 모든 앱의 독자적인 앱 내 결제를 허용할 것입니다.</span></p>
-<h2 id="더_보기">더 보기</h2>
-<ul>
- <li><a href="https://blog.mozilla.org/webdev/2012/09/14/apps-the-web-is-the-platform/">Apps: The Web Is The Platform</a>, by Kumar McMillan (the blog post from which lots of the content of this article is borrowed)</li>
- <li><a href="https://plus.google.com/113127438179392830442/posts/fR3iiuN4kEF">See the Web platform succeed for applications</a>, by Paul Irish</li>
-</ul>
diff --git a/files/ko/archive/b2g_os/security/index.html b/files/ko/archive/b2g_os/security/index.html
deleted file mode 100644
index 3441a62463..0000000000
--- a/files/ko/archive/b2g_os/security/index.html
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: 보안
-slug: Archive/B2G_OS/Security
-translation_of: Archive/B2G_OS/Security
----
-<p>이 문서는 Firefox OS의 보안과 관련된 내용입니다. 이 내용은 어플리케이션 보안 뿐만 아닌 전반적인 보안에 대한 내용과 설치 과정이 어떻게 안전하게 유지되는지를 포함하고 있습니다.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Documentation" name="Documentation">Firefox OS  보안 관련 문서들</h2>
- <dl>
- <dt>
- <a href="/Mozilla/Firefox_OS/Security/보안_모델">Firefox OS 보안 모델</a></dt>
- <dd>
- Firefox OS의 보안 모델에 관한 개요</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security" title="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security">Application security in Firefox OS</a></dt>
- <dd>
- An overview of how applications are made secure on Firefox OS.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Installing_and_updating_applications" title="/en-US/docs/Mozilla/Firefox_OS/Security/Installing_and_updating_applications">Securely installing and updating applications</a></dt>
- <dd>
- How Firefox OS securely installs and updates applications.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Software_permissions" title="/en-US/docs/Mozilla/Firefox_OS/Security/Software_permissions">Software permissions in Firefox OS</a></dt>
- <dd>
- A guide to what types of software have permission to perform various tasks on Firefox OS.</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/B2G" title="/en-US/docs/tag/B2G">View All...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Community" name="Community">커뮤니티로부터 도움 받기</h2>
- <p>If you're working with Firefox OS, or developing applications you'd like to run on Firefox OS devices, there are community resources to help you!</p>
- <ul>
- <li>Boot to Gecko 프로젝트 포럼과 상담하세요: <ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-b2g"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.b2g/feeds"> 웹 Feed</a></li>
-</ul></li>
- </ul>
- <ul>
- <li>Ask your question on Mozilla's Boot to Gecko IRC channel: <a class="link-irc" href="irc://irc.mozilla.org/b2g" title="irc://irc.mozilla.org/b2g">#b2g</a></li>
- </ul>
- <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Don't forget about the <em>netiquette</em>...</a></span></p>
- <br>
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">관련된 주제들</h2>
- <ul>
- <li><a href="/en-US/docs/Mobile" title="en-US/docs/Mobile">Mobile</a></li>
- <li><a href="/en-US/docs/Security" title="/en-US/docs/Security">Security</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/archive/b2g_os/security/보안_모델/index.html b/files/ko/archive/b2g_os/security/보안_모델/index.html
deleted file mode 100644
index 75b129cd6f..0000000000
--- a/files/ko/archive/b2g_os/security/보안_모델/index.html
+++ /dev/null
@@ -1,253 +0,0 @@
----
-title: Firefox OS 보안 모델
-slug: Archive/B2G_OS/Security/보안_모델
-tags:
- - B2G
- - Firefox OS
- - IPC
- - IPDL
- - Korean
- - 가이드
- - 모바일
- - 보안
-translation_of: Archive/B2G_OS/Security/Security_model
----
-<p>이 문서는 모바일 기기의 폴렛폼, 앱이나 데이터들을 지켜주는 Firefox OS 보안 프레임워크의 개요입니다. Mozilla는 Firefox OS에 여러가지 보안 문제들에 관한 최선의 보호를 제공해주는 매우 자세한, 일체화된, 다중 레이어의 보안 모델을 적용하였습니다.</p>
-<h1 id="폴렛폼_보안">폴렛폼 보안</h1>
-<p>Firefox OS 폴렛폼은 모든 단계에서 취약점들을 완화시켜주도록 디자인된 다중 레이어 보안 모델을 사용합니다. Front-line 대응조치들은 위협으로부터 세밀한 보호를 제공하는 심층 방어 전략과 같이 합쳐집니다.</p>
-<h2 id="보안_아키텍처">보안 아키텍처</h2>
-<p>Firefox OS는 웹 기반 어플리케이션들과 그 아래 존재하는 하드웨어를 연결시켜 줍니다. Firefox OS는 아래 나와있는 여러 단계들로 구성된 일체화된 기술적 스택입니다.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5023/platform.png" style="width: 678px; height: 478px;"></p>
-<p>Mobile device는 FirefoxOS를 돌리고 있는 모바일 기기를 뜻합니다. Gonk는 리눅스 커널, 시스템 라이브러리들, 펌웨어 그리고 디바이스 드라이버들로 이루어저 있습니다. Gecko는 앱 실행을 위한 프레임워크를 제공하며 모바일 기기들이 사용하는 Web API들을 내재하고 있는 어플케이션 런타임 레이어입니다. Gaia는 사용자들의 경험을 제공하는 웹 앱들의 모임체입니다(앱들은 HTML5, CSS, JavaScript, images, media 등등으로 이루워저 있습니다).</p>
-<p>Gecko is the gatekeeper that enforces security policies designed to protect the mobile device from misuse. The Gecko layer acts as the intermediary between web apps (at the Gaia layer) and the phone. Gonk delivers features of the underlying mobile phone hardware directly to the Gecko layer. Web apps access mobile phone functionality only through the Web APIs, and only if Gecko allows the access request – there is no direct access, no “back door” into the phone. Gecko enforces permissions and prevents access to unauthorized requests.</p>
-<h2 id="안전한_시스템_개발">안전한 시스템 개발</h2>
-<p>Firefox OS comes installed on the smart phone. The original system image is created by a known, trusted source – usually the device OEM – that is responsible for assembling, building, testing, and digitally signing the distribution package.</p>
-<p>Security measures are used throughout the technology stack. File system privileges are enforced by Linux's access control lists (ACLs). System apps are installed on a volume that is read-only (except during updates, when it is temporarily read-write). Only areas containing user content may be read-write. Various components within the device hardware have built-in protections that are implemented by default as standard industry practice. Chipset manufacturers, for example, employ hardening techniques to reduce vulnerabilities. The core platform (Gecko and Gonk) is hardened to strengthen its defense against potential threats, and hardening features of the compiler are used where applicable. For further details see <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Runtime_security" title="/en-US/docs/Mozilla/Firefox_OS/Security/Runtime_security">Runtime security</a>.</p>
-<h2 id="안전한_시스템_업데이트">안전한 시스템 업데이트</h2>
-<p>Subsequent upgrades and patches to the Firefox OS platform are deployed using a secure Mozilla process that ensures the ongoing integrity of the system image on the mobile phone. The update is created by a known, trusted source – usually the device OEM – that is responsible for assembling, building, testing, and digitally signing the update package.</p>
-<p>System updates can involve all or a portion of the Firefox OS stack. If changes to Gonk are included in the update, then FOTA (Firmware Over the Air) is the install process used. FOTA updates can also include any other part of the Firefox OS stack, including device management (FOTA, firmware / drivers), settings management (Firefox OS settings), security updates, Gaia, Gecko, and other patches.</p>
-<p>Updates that do not involve Gonk can be done using the Mozilla System Update Utility. Firefox OS uses the same update framework, processes, and Mozilla ARchive (MAR) format (used for update packages) as the Firefox Desktop product. For more information, see <a href="https://wiki.mozilla.org/Software_Update">https://wiki.mozilla.org/Software_Update</a>.</p>
-<p>A built-in update service – which may be provided by the OEM – on the mobile phone periodically checks for system updates. Once a system package becomes available and is detected by the update service, the user is prompted to confirm installation. Before updates are installed on the mobile device, the device storage is checked for sufficient space to apply the update, and the distribution is verified for:</p>
-<ul>
- <li>update origin (verify the source location protocol:domain:port of the system update and manifest)</li>
- <li>file integrity (SHA-256 hash check)</li>
- <li>code signature (certificate check against a trusted root)</li>
-</ul>
-<p>The following security measures are used during the update process:</p>
-<ul>
- <li>Mozilla recommends and expects that updates are fetched over an SSL connection.</li>
- <li>Strong cryptographic verification is required before installing a firmware package.</li>
- <li>The complete update must be downloaded in a specific and secure location before the update process begins.</li>
- <li>The system must be in a secure state when the update process starts, with no Web apps running.</li>
- <li>The keys must be stored in a secure location on the device.</li>
-</ul>
-<p>Rigorous checks are in place to ensure that the update is applied properly to the mobile phone.</p>
-<h1 id="앱_보안">앱 보안</h1>
-<p>Firefox OS uses a defense-in-depth security strategy to protect the mobile phone from intrusive or malicious applications. This strategy employs a variety of mechanisms, including implicit permission levels based on an app trust model, sandboxed execution at run time, API-only access to the underlying mobile phone hardware, a robust permissions model, and secure installation and update processes. For technical details, refer to: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Application_security" title="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security">Application security.</a></p>
-<p>In Firefox OS, all applications are web apps – programs written using HTML5, JavaScript, CSS, media, and other open Web technologies (pages running within the browser are not referred to as Web apps in this context). Because there are no binary ("native") applications installed by the user, all system access is mediated strictly through the Web APIs. Even access to the file system is only through Web APIs and a back-end SQLite database – there is no direct access from apps to files stored on the SD card.</p>
-<p>Firefox OS limits and enforces the scope of resources that can be accessed or used by an app, while also supporting a wide range of apps with varying permission levels. Mozilla implemented tight controls over what type of applications can access which APIs. For example, only certified apps (shipped with the phone) can have access to the Telephony API. The Dialer app has privileges to access the Telephony API in order to make phone calls, but not all certified apps can access this API. This prevents a scenario, for example, in which an arbitrary third-party app gets installed, dials a pay-per-use phone number (900 and 910), and racks up a large cell phone bill. However, other OEM apps might be selectively given access to the Telephony API. For example, an Operator might provide a systems management application that allows a customer to manage their account, including the ability to phone the Operator’s billing or support office directly.</p>
-<h2 id="신뢰되는_앱과_안되는_앱들">신뢰되는 앱과 안되는 앱들</h2>
-<p>Firefox OS는 앱들을 다음과 같은 종류들로 나눕니다.</p>
-<table>
- <thead>
- <tr>
- <th style="width: 82px;">종류</th>
- <th style="width: 102px;">
- <p>신뢰 레벨</p>
- </th>
- <th style="width: 447px;">설명</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="width: 82px;">인증됨(Certified)</td>
- <td style="width: 102px;">매우 신뢰</td>
- <td style="width: 447px;">
- <p>System apps that have been approved by the Operator or OEM (due to risk of device corruption or risk to critical functionality). System apps and services only; not intended for third-party applications.<br>
- This designation is reserved for just a small number of critical applications. Examples: SMS, Bluetooth, camera, system clock, telephony, and the default dialer (to ensure that emergency services are always accessible).</p>
- </td>
- </tr>
- <tr>
- <td style="width: 82px;">
- <p>권한 받음(Privileged)</p>
- </td>
- <td style="width: 102px;">신뢰</td>
- <td style="width: 447px;">
- <p>Third-party apps that have been reviewed, approved, and digitally signed by an authorized Marketplace.</p>
- </td>
- </tr>
- <tr>
- <td style="width: 82px;">
- <p>웹 (나머지 전부)</p>
- </td>
- <td style="width: 102px;">
- <p>신뢰 안됨</p>
- </td>
- <td style="width: 447px;">
- <p>Regular web content. Includes both installed apps (stored the mobile phone) and hosted apps (stored remotely, with only an app manifest stored on the mobile phone). The manifest for hosted apps can be obtained through a Marketplace.</p>
- </td>
- </tr>
- </tbody>
-</table>
-<p>An application’s trust level determines, in part, its ability to access mobile phone functionality.</p>
-<ul>
- <li>Certified apps have permissions to most Web API operations.</li>
- <li>Privileged apps have permissions to a subset of the Web API operations accessible to Certified apps.</li>
- <li>Untrusted apps have permissions to a subset of the Web API operations accessible to Privileged apps. These are only those Web APIs that contain sufficient security mitigations to be exposed to untrusted web content.</li>
-</ul>
-<p>Some operations, such as network access, are assumed to be an implicit permission for all apps. In general, the more sensitive the operation (for example, dialing a phone number or accessing the Contacts list), the higher the app trust level required to execute it.</p>
-<h3 id="권한_최소화_원칙">권한 최소화 원칙</h3>
-<p>For web apps, the Firefox OS security framework follows the <em>principle of least permissions</em>: start with the absolute minimum permissions, then selectively grant additional privileges only when required and reasonable. By default, an app starts with very low permissions, which is comparable to untrusted web content. If the app makes Web API calls that require additional permissions, it must enumerate these additional permissions in its <em>manifest</em> (described later in this document). Gecko will consider granting Web API access to an application only if the applicable privileges are explicitly requested in its manifest. Gecko will grant the requested permission only if the <em>type </em>of the Web App (certified, trusted, or web) is sufficiently qualified for access.</p>
-<h3 id="권한_받은(Privileged)_앱들의_Marketplace_리뷰_과정">권한 받은(Privileged) 앱들의 Marketplace 리뷰 과정</h3>
-<p>In order for an app to become privileged, the app provider must submit it for consideration to an authorized Marketplace. The Marketplace subjects the app to a rigorous code review process: verifying its authenticity and integrity, ensuring that requested permissions are used for the purposes stated (in the permission rationale), verifying that the use of implicit permissions is appropriate, and validating that any interfaces between privileged app content and unprivileged external content have the appropriate mitigations to prevent elevation of privilege attacks. The Marketplace has the responsibility to ensure that the web app will not behave maliciously with the permissions that it is granted.</p>
-<p>After an app passes this review, it is approved for use, its app manifest is digitally signed by the Marketplace, and it is made available for mobile users to download. The signature ensures that, if the web store were somehow hacked, the hacker could not get away with installing arbitrary content or malicious code on users’ phones. Due to this vetting process, Firefox OS gives privileged apps obtained from a Marketplace a higher degree of trust than everyday (untrusted) web content.</p>
-<h2 id="패키지화된_앱들과_웹에_호스팅된_앱들">패키지화된 앱들과 웹에 호스팅된 앱들</h2>
-<p>Apps for Firefox OS can be either <em>packaged</em> (stored on the mobile phone) or <em>hosted</em> (stored on a remote web server, with just a manifest stored on the mobile phone). There are some differences in the way in which security is managed for each. Nonetheless, packaged and hosted apps are both subject to application sandboxing, which is described later in this document.</p>
-<h3 id="패키지화된_앱들(Packaged_Apps)">패키지화된 앱들(Packaged Apps)</h3>
-<p>A packaged app consists of a ZIP file containing application resources (HTML5, CSS, JavaScript, images, media), as well as a manifest that provides an explicit list of assets and their corresponding hashes. Certified and privileged apps must be packaged apps because the app manifest needs to be digitally signed. When a user obtains a packaged app, the ZIP file is downloaded onto the mobile phone, and the manifest is read from a known location inside the ZIP file. During the install process, app assets are verified and remain stored locally in the package. All explicit permissions are requested at runtime, showing the user the app's data usage intentions, and persisted by default.</p>
-<p>To refer to app resources in a packaged app, the URL begins with app: using the following format:</p>
-<p><code>app://<em>identifier</em>/<em>path_within_zipfile</em>/file.html</code></p>
-<p>where app:// represents the mount point for the ZIP file, and <em>identifier</em> is a UUID that is generated when the app is installed on the mobile phone. This mechanism ensures that resources referred to with an app: URL are contained in the ZIP file. The path within an app: is relative, so relative links to resources in the ZIP file are allowed.</p>
-<p>While packaged apps are primarily intended to be used for Certified or Privileged apps, regular web apps can also be packaged. However, they do not gain any increase in trust or permissions access simply because they are packaged.</p>
-<h3 id="웹에_호스트된_앱들(Hosted_Apps)">웹에 호스트된 앱들(Hosted Apps)</h3>
-<p>Hosted apps are located on a web server and loaded via HTTP. Only the app manifest is stored on the mobile phone. Everything else is stored remotely. Certain APIs are available only to privileged and certified apps, which requires the app to be packaged due to signing requirements. Therefore, a hosted app will not have access to any of the Web API operations that require privileged or certified app status.</p>
-<p>From a security point of view, hosted apps work very much like normal websites. A hosted app is loaded by invoking a hard-coded, fully-qualified URL that points to the startup page in the root directory of the app on that web server. Once a hosted app is loaded, the mobile phone links to pages using the same URLs that are used when browsing the web site.</p>
-<h2 id="앱_Manifest(App_Manifest)">앱 Manifest(App Manifest)</h2>
-<p>An Open Web App manifest contains information that a Web browser needs in order to interact with an app. A manifest is a JSON file with (at a minimum) a name and description for the app. For further details, refer to <a href="https://developer.mozilla.org/en-US/docs/Apps/FAQs/About_app_manifests" title="/en-US/docs/Apps/FAQs/About_app_manifests">FAQs about app manifests</a>.</p>
-<h3 id="Manifest_예제">Manifest 예제</h3>
-<p>다음의 예제는 간단한 설정이 되어있는 앱 Manifest(App Manifest)를 보여줍니다.</p>
-<pre class="brush:text">{
- "name": "My App",
- "description": "My elevator pitch goes here",
- "launch_path": "/",
- "icons": {
- "128": "/img/icon-128.png"
- },
- "developer": {
- "name": "Your name or organization",
- "url": "http://your-homepage-here.org"
- },
- "default_locale": "en"
-}</pre>
-<h3 id="App_Manifest에서의_보안_설정">App Manifest에서의 보안 설정</h3>
-<p>아래 보안 항목들처럼 App Manifest는 여러가지 다른 항목을 포함할수 있습니다:</p>
-<table>
- <thead>
- <tr>
- <th style="width: 152px;">
- <p>항목</p>
- </th>
- <th style="width: 479px;">
- <p>설명</p>
- </th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td style="width: 152px;">
- <p>permissions</p>
- </td>
- <td style="width: 479px;">
- <p>Permissions required by the app. An app must list every Web API it intends to use that requires user permission. Most permissions make sense for privileged apps or certified apps, but not for hosted apps. Properties per API:</p>
- <ul>
- <li><strong>description</strong> - A string specifying the intent behind requesting use of this API. Required.</li>
- <li><strong>access</strong> - A string specifying the type of access required for the permission. Implicit permissions are granted at install time. Required for only a few APIs. Accepted values: <strong>read</strong>, <strong>readwrite</strong>, <strong>readcreate</strong>, and <strong>createonly</strong>.</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td style="width: 152px;">
- <p>installs_allowed_from</p>
- </td>
- <td style="width: 479px;">
- <p>Origin of the app. Array of origins (scheme+unique hostname) that are allowed to trigger installation of this app. Allows app providers to restrict installs from only an authorized Marketplace (such as <a href="https://marketplace.firefox.com/">https://marketplace.firefox.com/</a>).</p>
- </td>
- </tr>
- <tr>
- <td style="width: 152px;">
- <p>csp</p>
- </td>
- <td style="width: 479px;">
- <p>Content Security Policy (CSP). Applied to all pages loaded in the app. Used to harden the app against bugs that would allow an attacker to inject code into the app. If unspecified, privileged and certified apps have system-defined defaults. Syntax:<br>
- <a href="https://developer.mozilla.org/en-US/docs/Apps/Manifest#csp">https://developer.mozilla.org/en-US/docs/Apps/Manifest#csp</a></p>
- <p><em>Note that this directive can only increase the CSP applied. You cannot use it, for example, to reduce the CSP applied to a privileged App.</em></p>
- </td>
- </tr>
- <tr>
- <td style="width: 152px;">
- <p>type</p>
- </td>
- <td style="width: 479px;">
- <p>애플리케이션의 종류 (web, privileged, or certified).</p>
- </td>
- </tr>
- </tbody>
-</table>
-<p>Firefox OS requires that the manifest be served with a specific mime-type ("application/x-web-app-manifest+json") and from the same fully-qualified host name (origin) from which the app is served. This restriction is relaxed when the manifest app (and thus the app manifest) is same-origin with the page that requested the app to be installed. This mechanism is used to ensure that it's not possible to trick a website into hosting an application manifest.</p>
-<h2 id="샌드박스화된_실행">샌드박스화된 실행</h2>
-<p>이 항목은 샌드박스화된 응용프로그램과 실행에 관해서 설명합니다.</p>
-<h3 id="응용프로그램_샌드박스">응용프로그램 샌드박스</h3>
-<p>The Firefox OS security framework uses sandboxing as a defense-in-depth strategy to mitigate risks and protect the mobile phone, platform, and data. Sandboxing is a way of putting boundaries and restrictions around an app during run-time execution. Each app runs in its own worker space and it has access only to the Web APIs and the data it is permitted to access, as well as the resources associated with that worker space (IndexedDB databases, cookies, offline storage, and so on). For details, see <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Security_model">https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Security/Security_model</a>.</p>
-<p>The following figure provides an overview of this security model.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5025/sandbox.png"></p>
-<p>By isolating each app, its impact is contained within its own worker space. It cannot interfere with anything (such as other apps or their data) outside of that worker space.</p>
-<h3 id="실행_샌드박스">실행 샌드박스</h3>
-<p>B2G (Gecko) runs in a highly-privileged system process that has access to hardware features in the mobile phone. At runtime, each app runs inside an execution environment that is a child process of the B2G system process. Each child process has a restricted set of OS privileges – for example, a child process cannot directly read or write arbitrary files on the file system. Privileged access is provided through Web APIs, which are mediated by the parent B2G process. The parent ensures that, when a child process requests a privileged API, it has the necessary permission to perform this action.</p>
-<p>Apps communicate only with the B2G core process, not with other processes or apps. Apps do not run independently of B2G, nor can apps open each other. The only “communication” between apps is indirect (for example, when a listener process detects an event generated by some other process), and is mediated through the B2G process.</p>
-<h3 id="하드웨어_접근을_Web_API만으로_통할수_있게_제약">하드웨어 접근을 Web API만으로 통할수 있게 제약</h3>
-<p>Web apps have only one entry point to access mobile phone functionality: the Firefox OS Web APIs, which are implemented in Gecko. Gecko provides the sole gateway to the mobile device and underlying services. The only way to access device hardware functionality is to make a Web API call. There is no “native” API and there are no other routes (no “back doors”) to bypass this mechanism and interact directly with the hardware or penetrate into low-level software layer.</p>
-<h1 id="보안_인프라">보안 인프라</h1>
-<p>The following figure shows the components of this security framework:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5027/securityframework.png" style="width: 979px; height: 591px;"></p>
-<ul>
- <li><strong>Permission Manager</strong>: Gateway to accessing functionality in the Web API, which is the only access to the underlying hardware.</li>
- <li><strong>Access Control List</strong>: Matrix of roles and permissions required to access Web API functionality.</li>
- <li><strong>Credential Validation</strong>: Authentication of apps/users.</li>
- <li><strong>Permissions Store</strong>: Set of privileges required to access Web API functionality.</li>
-</ul>
-<h2 id="관리(Management)와_시행(Enforcement)를_위한_퍼미션">관리(Management)와 시행(Enforcement)를 위한 퍼미션</h2>
-<p>Firefox OS security is designed to verify and enforce the permissions granted to web apps.<br>
- The system grants a particular permission to an app only if the content requests it, and only if it has the appropriate permissions requested in the app’s manifest. Some permissions require further authorization from the user, who is prompted to grant permission (as in the case of an app requesting access to the user’s current location). This app-centric framework provides more granular control over permissions than traditional role-centric approaches (in which individual roles are each assigned a set of permissions).</p>
-<p>A given Web API has a set of actions and listeners. Each Web API has a required level of permission. Every time a Web API is called, Gecko checks permission requirements (role lookup) based on:</p>
-<ul>
- <li>permissions associated with calling app (as specified in the manifest and based on the app type)</li>
- <li>permissions required to execute the requested operation (Web API call)</li>
-</ul>
-<p>If the request does not meet the permission criteria, then Gecko rejects the request. For example, untrusted apps cannot execute any Web APIs that are reserved for trusted apps.</p>
-<h2 id="유저에게_권한에_대해서_물어보기">유저에게 권한에 대해서 물어보기</h2>
-<p>In addition to permissions that are implicitly associated with the web apps, certain operations require explicit permission from the user before they can be executed. For these operations, web apps are required to specify, in their manifest, their justification for requiring this permission. This <em>data usage intention</em> informs users about what the web app intends to do with this data if permission is granted, as well as any risk involved. This allows users to make informed decisions and maintain control over their data.</p>
-<h2 id="보안_앱_업데이트_과정">보안 앱 업데이트 과정</h2>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5029/updateprocess.png" style="width: 979px; height: 102px;"></p>
-<p>For app upgrades and patches to a <em>privileged</em> app, app providers submit the updated package to an authorized Marketplace, where it is reviewed and, if approved, signed and made available to users. On Firefox OS devices, an App Update Utility periodically checks for app updates. If an update is available, then the user is asked whether they want to install it. Before a update is installed on the mobile device, the package is verified for:</p>
-<ul>
- <li>update origin (verify the source location protocol:domain:port of the update and manifest)</li>
- <li>file integrity (SHA-256 hash check)</li>
- <li>code signature (certificate check against a trusted root)</li>
-</ul>
-<p>Rigorous checks are in place to ensure that the update is applied properly to the mobile phone.<br>
- The complete update package must be downloaded in a specific and secure location before the update process begins. Installation does not overwrite any user data.</p>
-<h1 id="기기_보안(하드웨어)">기기 보안(하드웨어)</h1>
-<p>Security mechanisms for the mobile device hardware are typically handled by the OEM. For example, an OEM might offer SIM (Subscriber Identity Module) card locks, along with PUK (PIN Unlock Key) codes to unlock SIM cards that have become locked following incorrect PIN entries. Contact the OEM for details. Firefox OS does allow users to configure passcodes and timeout screens, which are described in the next section.</p>
-<h1 id="데이터_보안">데이터 보안</h1>
-<p>Users can store personal data on their phone that they want to keep private, including contacts, financial information (bank &amp; credit card details), passwords, calendars, and so on. Firefox OS is designed to protect against malicious apps that could steal, exploit, or destroy sensitive data.</p>
-<h2 id="비밀번호와_자동으로_꺼지는_화면">비밀번호와 자동으로 꺼지는 화면</h2>
-<p>Firefox OS allows users to set a passcode to their mobile phone so only those who supply the passcode can use the phone. Firefox OS also provides a timeout screen that is displayed after a configurable period of phone inactivity, requiring passcode authentication before resuming use of the phone.</p>
-<h2 id="샌드박스화된_데이터">샌드박스화된 데이터</h2>
-<p>As described earlier, apps are sandboxed at runtime. This prevents apps from accessing data that belongs to other apps <em>unless</em> that data is explicitly shared, and the app has sufficient permissions to access it.</p>
-<h2 id="시리얼화된_데이터">시리얼화된 데이터</h2>
-<p>Web apps do not have direct read and write access to the file system. Instead, all access to storage occurs only through Web APIs. Web APIs read from, and write to, storage via an intermediary SQLite database. There is no direct I/O access. Each app has its own data store, which is serialized to disk by the database.</p>
-<h2 id="데이터_파기">데이터 파기</h2>
-<p>When a user uninstalls an app, all of the data (cookies, localStorage, Indexeddb, and so on) associated with that application is deleted.</p>
-<h2 id="프라이버시">프라이버시</h2>
-<p>Mozilla is committed to protecting user privacy and user data according to its privacy principles (<a href="https://www.mozilla.org/privacy/">https://www.mozilla.org/privacy/</a>), which stem from the Mozilla Manifesto (<a href="https://www.mozilla.org/about/manifesto.html">https://www.mozilla.org/about/manifesto.html</a>). The Mozilla Firefox Privacy Policy describes how Mozilla collects and uses information about users of the Mozilla Firefox web browser, including what Firefox sends to websites, what Mozilla does to secure data, Mozilla data practices, and so on. For more information, see:</p>
-<ul>
- <li><a href="http://www.mozilla.org/en-US/legal/privacy/firefox.html">http://www.mozilla.org/en-US/legal/privacy/firefox.html</a></li>
- <li><a href="https://blog.mozilla.org/privacy/">https://blog.mozilla.org/privacy/</a></li>
- <li><a href="http://support.mozilla.org/en-US/kb/privacy-and-security-settings-firefox-os-phones">http://support.mozilla.org/en-US/kb/privacy-and-security-settings-firefox-os-phones</a></li>
-</ul>
-<p>Firefox OS는 이런 원칙들을 어디에 자신의 개인 정보가 갈지 결정하는 유저들에게 제어권을 줌으로서 적용합니다. Firefox OS는 다음과 같은 기능들을 제공합니다:</p>
-<ul>
- <li>Do Not Track 옵션</li>
- <li>Firefox Browser의 cooking 옵션을 끌수있는 옵션</li>
- <li>Firefox의 웹 브라우징 기록들을 지울수 있는 옵션</li>
-</ul>
diff --git a/files/ko/archive/b2g_os/simulator/index.html b/files/ko/archive/b2g_os/simulator/index.html
deleted file mode 100644
index 0250696f04..0000000000
--- a/files/ko/archive/b2g_os/simulator/index.html
+++ /dev/null
@@ -1,280 +0,0 @@
----
-title: Firefox OS 시뮬레이터
-slug: Archive/B2G_OS/Simulator
-translation_of: Archive/B2G_OS/Simulator
----
-<div class="note">
- <p><span id="result_box" lang="ko"><span class="hps atn">Firefox OS 시뮬레이터는</span> <span class="hps">아직</span> <span class="hps atn">개발 초기 단계</span><span>입니다. </span><span class="hps atn">저희가 원하는</span><span class="atn">만큼</span><span>의 안정성과</span> <span class="hps atn">완성도</span><span>가</span> <span class="hps">없습니다.</span></span></p>
- <p>버그를 발견하셨다면 <a href="https://github.com/mozilla/r2d2b2g/issues?state=open">GitHub에 보고</a> 해주세요. 만약에 물어보실게 있으시다면 <a href="https://lists.mozilla.org/listinfo/dev-developer-tools">개발자 도구 메일링 리스트</a>나<a href="irc://irc.mozilla.org/#devtools"> irc.mozilla.org의 #devtools</a>에서 질문해 주세요.</p>
- <p>도움 받기 항목의 Verbose logging을 활성화 하는 방법과 최신 빌드를 받는 법을 읽어 주세요.</p>
-</div>
-<p><span id="result_box" lang="ko"><span class="hps">Firefox OS 시뮬레이터</span> <span class="hps atn">부가 기능</span><span>을 이용해</span> <span class="hps">데스크톱</span> <span class="hps atn">환경</span><span>에서</span> <span class="hps">Firefox OS</span> <span class="hps atn">응용 프로그램</span><span>을 테스트하고 디버깅</span> <span class="hps">할 수</span> <span class="hps">있습니다.</span> <span>시뮬레이터에서는</span> <span class="hps atn">실제 장치</span><span>를</span> <span class="hps">사용하는 것보다도</span> <span class="hps atn">Code</span><span class="atn">-</span><span class="atn">Test</span><span class="atn">-</span><span class="atn">Debug </span><span>주기가</span> <span class="hps atn">빨라집니다</span><span>.</span> <span class="hps">또한</span> <span class="hps">당연히</span> 시뮬레이터를 <span class="hps">사용하기 위해</span> <span class="hps">실제</span> <span class="hps">디바이스가 필요</span> <span class="hps">없습니다.</span></span></p>
-<p><span class="short_text" id="result_box" lang="ko"><span class="hps">근본적으로,</span> <span class="hps">시뮬레이터 부가 </span><span class="hps atn">기능</span><span>을</span> <span class="hps">구성하는 것은</span> <span class="hps">다음과 같습니다</span> <span class="hps">:</span></span></p>
-<ul>
- <li><strong>시뮬레이터</strong>:<span id="result_box" lang="ko"><span class="hps">여기에는</span> <span class="hps">Firefox OS</span> <span class="hps atn">데스크톱 클라이언트</span><span>가</span> <span class="hps">포함되어</span> <span class="hps">있습니다.</span> <span class="hps">이것은</span> <span class="hps atn">데스크탑 환경</span><span>에서 실행되는</span> <span class="hps">Firefox OS</span> <span class="hps">고수준</span> <span class="hps">계층</span> <span class="hps">버전입니다.</span> 시뮬레이터<span>에는</span> <span class="hps">표준</span> <span class="hps">Firefox OS</span> <span class="hps atn">데스크톱 빌드</span><span class="atn">에는</span><span> 없는</span> <span class="hps">추가적인</span> <span class="hps">에뮬레이션</span> <span class="hps">기능도</span> <span class="hps">포함되어</span> <span class="hps">있습니다.</span></span></li>
- <li><strong>대시보드</strong>: <span id="result_box" lang="ko"><span class="hps atn">시뮬레이터</span><span>의</span> <span class="hps">시작과 종료</span> <span class="hps">및 응용 프로그램의</span> <span class="hps">설치</span>,<span class="hps">제거</span> 및 <span class="hps">디버깅을</span> <span class="hps">가능하게하는</span> <span class="hps atn">Firefox 브라우저</span><span>에서</span> <span class="hps">제공하는</span> <span class="hps">도구입니다.</span> <span class="hps">또한</span> <span class="hps">Dashboard</span> <span class="hps atn">앱</span><span>을</span> <span class="hps">실제 디바이스에</span> <span class="hps atn">푸시</span><span>하거나</span> <span class="hps atn">앱 매니페스트</span><span>에 대한</span> <span class="hps">일반적인</span> <span class="hps">문제를 확인</span> <span class="hps">할</span> <span class="hps">수 있습니다.</span></span></li>
-</ul>
-<p><span class="short_text" id="result_box" lang="ko"><span class="hps">아래 스크린</span> <span class="hps atn">샷</span><span>은</span> 시뮬레이터를 <span class="hps">사용한</span> <span class="hps">디버깅 세션을</span> <span class="hps atn">보여줍니다</span><span>.</span></span></p>
-<p><span id="result_box" lang="ko"><span class="hps">Dashboard</span>는 오른쪽 상단의 Firefox 탭 안에서 돌아가고 있습니다<span class="hps">.</span> <span class="hps">여기에</span> <span class="hps atn">"</span><span class="atn">Where am I</span><span class="atn">?</span><span class="atn">"</span><span>라는 이름의 패키지</span><span class="hps">형</span> <span class="hps atn">애플리케이션</span><span>을</span> <span class="hps atn">추가</span><span>했습니다.</span> <span>상좌단의 앱은 시뮬레이터를 돌리고 있습니다.</span> <span class="hps">또한</span> 아래쪽의 패널에서 보시다시피 <span class="hps">디버깅</span> <span class="hps">도구와</span> <span class="hps atn">연결</span><span>하고 있습니다. </span><span class="hps">콘솔</span> <span class="hps">창에</span> <span class="hps">앱에 대한</span> <span class="hps">메시지가</span> <span class="hps atn">표시</span><span>되는</span> <span class="hps atn">것을</span><span>보실 수</span> <span class="hps">있습니다.</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5513/Simulator-overview-4.0.png"></p>
-<p>이 가이드는 다음과 같은 주제를 다룹니다:</p>
-<ul>
- <li><a href="#시뮬레이터 설치하기" title="#Installing">시뮬레이터 부가 기능을 설치하기</a></li>
- <li><a href="#Adding-updating-removing" title="#Adding-updating-removing">앱을 추가하고-제거하고-새로고침하기</a></li>
- <li><a href="#Manifest-validation" title="#Manifest-validation">manifest validation</a></li>
- <li><a href="#Running-the-Simulator" title="#Running-the-Simulator">how to run the Simulator</a></li>
- <li><a href="#Attaching-developer-tools" title="#Attaching-developer-tools">how to connect developer tools such as the JS debugger to apps running in the Simulator</a></li>
- <li><a href="#Simulator-receipts" title="#Simulator-receipts">how to get test receipts for a paid app</a></li>
- <li><a href="#Push-to-device" title="#Push-to-device">how to push apps to a connected device</a></li>
- <li><a href="#Limitations" title="#Limitations">the limitations of the Simulator compared with a real Firefox OS device</a></li>
-</ul>
-<div class="note">
- <span id="result_box" lang="ko"><span class="hps">실제</span> <span class="hps">Web</span> <span class="hps atn">응용 프로그램</span><span>을 디버깅하는데 </span> <span class="hps">Simulator를</span> <span class="hps">사용하는 방법을</span> <span class="hps">보여주는</span> <span class="hps">실질적인</span> <span class="hps">자세한</span> <span class="hps">설명은</span> <span class="hps">Simulator Walkthrough</span> <span class="hps atn">페이지</span><span>를 참조하십시오.</span></span></div>
-<h2 id="Installing_the_Simulator_add-on" name="Installing_the_Simulator_add-on"><a name="시뮬레이터 설치하기">시뮬레이터 설치하기</a></h2>
-<p><span id="result_box" lang="ko"><span title="Simulator は、Firefox のアドオンとしてパッケージ化および頒布しています。">시뮬레이터 는 Firefox 부가 기능 에서 배포 하고 있습니다 . </span><span title="インストール方法は以下のとおりです:">설치 방법은 다음과 같습니다 :</span></span><br>
-  </p>
-<ol>
- <li><span title="Firefox で addons.mozilla.org 内の Simulator のページを訪れてください。">Firefox에서 addons.mozilla.org 에서 시뮬레이터 페이지 를 방문 하십시오.</span></li>
- <li><span lang="ko"><span title='"Firefox に追加" をクリックしてください。'>"Firefox 에 추가" 를 클릭 하십시오.</span></span></li>
- <li><span lang="ko"><span title='"Firefox に追加" をクリックしてください。'> </span><span title='アドオンをダウンロードすると確認のメッセージが表示されますので、"今すぐインストール" をクリックしてください。'>기능을 다운로드 한뒤 확인 메시지가 표시 되면 " 지금 설치 " 를 클릭 하십시오.</span></span></li>
-</ol>
-<p><br>
- <span lang="ko"><span title='アドオンのサイズの都合上、インストール中に Firefox が数秒間フリーズしたり、"警告: 応答のないスクリプト" というタイトルのダイアログが表示される場合があります。'>부가 기능의 크기가 큰 관계로 설치 중에 Firefox가 몇 초 동안 정지되거나 "경고 : 응답하지 않는 스크립트" 라는 제목의 대화 상자가 표시 될 수 있습니다. </span><span title='ダイアログが表示された場合は、インストールが完了するまで待つために "処理を続行" をクリックしてください。'>대화 상자가 표시 되면 설치가 완료 될 때까지 기다리기 위하여 " 처리 를 계속 " 을 클릭 하십시오.</span><span title="この問題は bug 814505 で追跡しています。"> 이 문제는 Firefox 27부터 발생하지 않습니다.</span><br>
- <br>
- <span title="Simulator アドオンのインストールが完了すると、Firefox は定期的に新しいバージョンを確認して最新の状態を維持します。">시뮬레이터 부가 기능 의 설치 가 완료되면 Firefox는 정기적으로 새로운 버전을 확인 하여 최신 상태 를 유지 합니다.</span><br>
- <br>
- <span title='Simulator をインストールすると Dashboard が自動的に開きますが、"Firefox" メニュー (または OS X や Linux では "ツール" メニュー) の "Web 開発" で "Firefox OS Simulator" を選択することで、いつでも Dashboard を開く'>시뮬레이터를 설치 하면 대시보드가 자동으로 열리지 만 "Firefox" 메뉴 (OS X 및 Linux에서는 "도구" 메뉴 ) 의 "웹 개발 도구" 에서 " Firefox OS 시뮬레이터 " 를 선택하여 언제든지 대시보드를 열 </span><span title="ことができます:">수 있습니다 :</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5141/simulator-open-on-windows-7.png" style="margin-right: auto; margin-left: auto; display: block;"><br>
- <span id="result_box" lang="ko"><span class="hps atn">아래 보여지는 대시보드는</span> <span class="hps">애플리케이션</span> 시뮬레이터에<span class="atn"> 추가</span><span class="atn">하고 실행</span><span class="atn">하는 데 사용</span><span>하는 도구입니다:</span></span><img alt="" src="https://mdn.mozillademos.org/files/5491/dashboard-4.0.png"></p>
-<h2 id="앱을_추가하고_제거하고_새로고침하기"><a name="추가하고-제거하고-새로고침하기">앱을 추가하고, 제거하고, 새로고침하기</a></h2>
-<h3 id="앱_추가하기">앱 추가하기</h3>
-<p><span id="result_box" lang="ko"><span title='パッケージ型アプリを Simulator に追加するには、Dashboard を開いて "Add Directory" をクリックします。'><a href="https://developer.mozilla.org/ko/docs/Apps/Packaged_apps">패키지 형 응용 프로그램</a>을 시뮬레이터 에 추가 하려면 대시보드를 열고 " Add Directory " 를 클릭합니다. </span><span title="そして、アプリのマニフェストファイルを選択してください。">그리고 앱의 <a href="https://developer.mozilla.org/ko/docs/Web/Apps/Developing/Manifest/Manifest">매니페스트 파일</a>을 선택 하십시오.</span><br>
- <br>
- <span title='ホスト型アプリを追加するには、"URL for page or manifest.webapp" と表示されているテキストボックスに URL を入力して "Add URL" をクリックしてください。'>호스트 형 응용 프로그램을 추가 하려면 " URL for page or manifest.webapp "라고 표시 되는 텍스트 상자에 URL 을 입력 하고 " Add URL " 을 클릭 하십시오. </span><span title="URL がマニフェストを指している場合は、そのマニフェストが使用されます。">URL이 매니페스트를 가리키는 경우 해당 매니페스트가 사용 됩니다. </span><span title="そうでない場合は、Dashboard が当該 URL 向けのマニフェストを生成します: よって、URL を入力するだけで任意の Web サイトをアプリとして追加できます。">그렇지 않은 경우 는 Dashboard 가 해당 URL 위한 매니페스트를 생성 합니다 : 따라서, URL을 입력 하는 것만으로 모든 Web 사이트를 앱 으로 추가 할 수 있습니다 .</span><br>
- <br>
- <span title="アプリを追加すると、Dashboard がマニフェストファイルに対して一連のテストを行って、一般的な問題のチェックを行います。">앱 을 추가 하면 대시보드가 매니페스트 파일 에 대해 일련 의 테스트 를 수행하여 일반적인 문제를 확인 합니다. </span><span title="どのようなテストを行うかについて詳しくは、マニフェストの検証の章をご覧ください。">어떤 테스트 를 실시할지 에 대한 자세한 내용 은 매니페스트 검증 섹션을 참조하십시오.</span><br>
- <br>
- <span title="マニフェストの検証でアプリにエラーが発見されなければ、Dashboard は自動的に Simulator でアプリを実行します。">매니페스트 유효성 검사 응용 프로그램 오류가 발견 되지 않으면 대시보드는 자동으로 시뮬레이터에서 응용 프로그램을 실행 합니다.</span></span></p>
-<h3 id="앱_관리하기">앱 관리하기</h3>
-<p><span class="short_text" id="result_box" lang="ko"><span class="hps atn">앱</span><span>을</span> <span class="hps atn">추가</span><span>하면</span> <span class="hps atn">매니저</span><span>에서</span> <span class="hps">설치된</span> <span class="hps atn">응용 프로그램 목록</span><span class="atn">에 표시</span><span>됩니다</span> <span class="hps">:</span></span><br>
- <img alt="" src="https://mdn.mozillademos.org/files/5493/dashboard-list-apps-4.0.png"><br>
- <span class="short_text" id="result_box" lang="ko"><span class="hps">각</span> <span class="hps">항목은</span> <span class="hps">앱에 대한</span> <span class="hps">다음과 같은 </span><span class="hps">정보를</span> <span class="hps">보여줍니다:</span></span></p>
-<ul>
- <li>매니페스트 내에 써 있는 앱의 이름</li>
- <li>앱의 타입(패키지형, 호스팅형, 생성형)</li>
- <li>매니페스트 파일로의 링크</li>
- <li>매니페스트 검증의  결과</li>
-</ul>
-<p>또 다음과 같은 네개의 명령을 제공합니다.</p>
-<ul>
- <li><strong>"Refresh":</strong> <span id="result_box" lang="ko"><span class="hps atn">앱</span><span class="atn">에 대한 변경</span><span>을 한</span> <span class="hps">후</span> 시뮬레이터 <span class="hps">응용 프로그램을</span> <span class="hps">업데이트</span> <span class="hps">및</span> <span class="hps atn">다시 로드</span><span>합니다.</span> <span class="hps">또한</span> 대시보드에서 <span class="hps">매니페스트</span> 검증을 <span class="hps atn">다시 실행</span><span>합니다.</span> <span>앱에 어떤 수정을 가해도 바로 변경 사항이 적용되지 않습니다</span> <span class="hps">:</span> <span class="hps atn">변경 사항</span><span>을</span> <span class="hps atn">적용</span><span>하기 위해</span> <span class="hps atn">응용 프로그램</span><span>의</span> <span class="hps atn">업데이트</span><span>가 필요합니다.</span></span></li>
- <li><strong>"Connect":<span id="result_box" lang="ko"><span class="hps"> </span></span></strong><span lang="ko"><span class="hps">선택한</span> <span class="hps">애플리케이션</span>의<span class="hps"> 개발</span> <span class="hps atn">도구</span><span>에</span> <span class="hps">연결합니다.</span> <span class="hps atn">앱</span><span>을</span> <span class="hps atn">실행</span><span>하지 않는</span> <span class="hps">경우</span> <span class="hps atn">대시보드가</span> 시뮬레이터 <span class="hps">및</span> <span class="hps atn">응용 프로그램을 자동으로 시작</span><span>합니다.</span></span></li>
- <li><strong>"Remove" ("X"):</strong> <span id="result_box" lang="ko"><span class="hps">애플리케이션</span>을 시뮬레이터 <span class="hps">및</span> 대시보드에서 <span class="hps">삭제합니다.</span> 대시보드를<span class="atn"> 열고</span><span class="atn">있는 동안</span><span class="atn">에는 작업</span><span>을</span> <span class="hps">실행취소 할 수</span> <span class="hps">있습니다.</span></span></li>
- <li><strong>"Receipt":</strong> 유료 앱의<span id="result_box" lang="ko"> <span class="hps">영수증</span> <span class="hps">검증</span> <span class="hps atn">테스트</span><span>를</span> <span class="hps">수행합니다.</span> <span class="hps">테스트하려는</span> <span class="hps atn">영수증</span><span>의</span> <span class="hps atn">종류</span><span>를</span> <span class="hps atn">선택</span><span>하면</span> <span class="hps">테스트</span> <span class="hps atn">영수증</span><span>과 함께</span> <span class="hps">응용 프로그램을 다시</span> <span class="hps atn">설치</span><span>합니다.</span></span></li>
-</ul>
-<div class="note">
- <p><span id="result_box" lang="ko"><strong><span class="hps">시뮬레이터</span> <span class="hps">창에서</span> <span class="hps">애플리케이션</span> </strong><span class="hps"><strong>업데이트</strong> :</span> <span class="hps atn">애플리케이션</span><span>을</span> <span class="hps">실행하는</span> <span class="hps">경우 메뉴</span> <span class="hps atn">바</span><span>에서</span> <span class="hps">작업</span> <span class="hps">또는</span> <span class="hps">할당 된</span> <span class="hps">바로 가기</span> <span class="hps">키로 </span><span class="hps">시뮬레이터 </span><span class="hps">창에서</span> <span class="hps atn">직접 응용 프로그램</span><span>을</span> <span class="hps">업데이트</span> <span class="hps">및</span> <span class="hps">다시로드</span> <span class="hps">할 수 있습니다.</span></span></p>
-</div>
-<h3 id="매니페스트_검증"><a name="매니페스트 인증">매니페스트 검증</a></h3>
-<p><span id="result_box" lang="ko"><span title="マニフェストを与えると、Manager はマニフェストの検証テストをいくらか実行します。">매니페스트를 제출하면 매니저는 매니페스트 여러개의 검증 테스트를 실행 합니다. 검증 테스트는</span><span title="これは、3 つのカテゴリについて問題を報告します:"> 세 가지 범주 에 대해 문제를 보고합니다 :</span></span><br>
-  </p>
-<ul>
- <li><span title="manifest errors: アプリのインストールや実行ができなくなる問題です。">manifest errors : 응용 프로그램을 설치 및 실행을 할 수가 없게되는 문제입니다.</span></li>
- <li><span lang="ko"><span title="manifest warnings: アプリの正常な動作を妨げる問題です。">manifest warnings : 응용 프로그램 의 정상적인 작동을 방해</span></span>하는 문제입니다.</li>
- <li><span lang="ko"><span title="simulator-specific warnings: アプリが使用している機能で、Simulator が未サポートであるものです。">simulator - specific warnings : 응용 프로그램이 사용하는 기능중에 시뮬레이터가 제공하지 않는 기능이 있는 경우입니다.</span></span></li>
-</ul>
-<p>이것은 앱 의 항목에 발생한 문제의 간략적인 정보를 제공합니다 : 요약된 항목을 클릭 하면 세부 정보가 표시 됩니다.</p>
-<h4 id="매니페스트_에러">매니페스트 에러</h4>
-<p>대시보드 는 다음과 같은 상황을 오류로 보고 합니다. 이 문제를 해결 하지 않으면 해당 응용 프로그램은 시뮬레이터에서 실행되지 않을 것입니다:</p>
-<ul>
- <li>매니페스트 필수 필드 " name " 이 없다.</li>
- <li>매니페스트가 올바른 JSON가 아니다.</li>
- <li>응용 프로그램은 호스트형 애플리케이션 이지만, 매니페스트의 type 필드를 패키지형에만 사용할수 있는 " privileged " 또는 " certified " 이다.</li>
- <li>일반적인 appCache 오류 (패키지 형 응용 프로그램은 appCache 를 사용할수 없습니다. 매니페스트 파일을 요청하면 HTTP 리디렉션 또는 HTTP 오류 상태를 반환할 것입니다.)</li>
-</ul>
-<p>다음은 매니페스트 필수 필드 "name"이 없는 매니페스트를 추가하려고 할 때의 예시입니다.<br>
- <img alt="" src="https://mdn.mozillademos.org/files/5495/dashboard-missing-name-4.0.png"></p>
-<h4 id="매니페스트_경고">매니페스트 경고</h4>
-<p>대시보드는 다음과 같은 매니페스트 이슈들의 대한 경고를 보고할 것입니다:</p>
-<ul>
- <li>아이콘이 없음</li>
- <li>아이콘이 128픽셀보다 작음: Marketplace에 올려지는 모든 앱들은 최소 128픽셀의 1개의 아이콘을 가져야 합니다.</li>
- <li> <a href="/en-US/docs/Apps/Manifest#type" title="/en-US/docs/Apps/Manifest#type">type</a>필드가 인식되지 않습니다.</li>
- <li>매니페스트가 알려지지 않은 <a href="/en-US/docs/Apps/Manifest#permissions" title="/en-US/docs/Apps/Manifest#permissions">permission</a>(권한)을 요구한다.</li>
- <li>매니페스트가 거부될 <a href="/en-US/docs/Apps/Manifest#permissions" title="/en-US/docs/Apps/Manifest#permissions">permission</a>(권한)을 요구한다.</li>
- <li>접근할수 있는지 규정할수 없는 <a href="/en-US/docs/Apps/Manifest#permissions" title="/en-US/docs/Apps/Manifest#permissions">permission</a>(권한)을 요구한다.</li>
-</ul>
-<h4 id="시뮬레이터_한정_경고들">시뮬레이터 한정 경고들</h4>
-<p>마지막으로, 매니저는 앱이 사용하는 Firefox OS 기능중 시뮬레이터에서 완벽하게 지원되지 않는 기능들에 관해서 경고를 할 것입니다:</p>
-<ul>
- <li><a href="/en-US/docs/Apps/Manifest#type" title="/en-US/docs/Apps/Manifest#type">type</a> 필드가 인증됨(certified)일 경우, 인증된 앱들은 시뮬레이터에서 완벽하게 지원하지 않습니다.</li>
- <li>앱이 요구하는 API로의 permission(권한)중 시뮬레이터가 아직 지원하지 않는 API가 있을때</li>
-</ul>
-<h2 id="시뮬레이터_돌리기"><a name="시뮬레이터 돌리기">시뮬레이터 돌리기</a></h2>
-<p>시뮬레이터를 실행시키는 방법엔 다음과 같은 두가지 방법이 있습니다:</p>
-<ul>
- <li>만약에 앱을 추가하셨거나 앱 추가 옆에 있는  "Refresh"나 "Connect" 버튼을 다음에 클릭하셨으면, 대시보드는 자동으로 추가하신 앱이 띄워저 있는 시뮬레이터를 실행할 것입니다.</li>
- <li>만약에 대시보드의 좌측에 있는 "Stopped"를 클릭하신다면, 시뮬레이터는 홈 스크린으로 시작할 것이며, 여러분은 수동적으로 여러분의 앱을 실행시켜야 합니다.</li>
-</ul>
-<p>어떤 방법을 쓰던지와 상관 없이 시뮬레이터가 작동하기 시작되면, "Stopped"라고 써 있던 버튼이 초록색으로 된 "Running"라고 써 있는 버튼이 됩니다. 시뮬레이터를 정지하실려면 이 버튼을 한번 더 클릭해 주세요.<br>
-  </p>
-<p>시뮬레이터는 320x480 픽셀의 시뮬레이션된 화면과 하단에 툴바와 상단에 메뉴바를 가지는 분리된 새로운 창으로 나타납니다:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5505/simulator-bars.png" style="margin-right: auto; margin-left: auto; display: block;"></p>
-<p>터치 이벤트를 시뮬레이션 하기 위해서는 마우스 버튼 클릭을 유지하면서 드래그 해 주세요. 홈스크린에서 오른쪽으로부터 왼쪽으로 클릭하시고 드래그 하시는걸 통해서 여러분은 여러분이 추가한 앱들과 내장된 앱들을 보실수 있습니다:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5517/simulator-homescreen.png"></p>
-<h3 id="시뮬레이터_툴바"><a name="시뮬레이터 툴바">시뮬레이터 툴바</a></h3>
-<p>하단 툴바에는 왼쪽에서부터 오른쪽으로 <strong>홈 버튼</strong>, <strong>스크린 회전 버튼</strong>, 그리고<strong> Geolocation 버튼</strong>이 있습니다.</p>
-<ul>
- <li><strong>홈 버튼</strong>은 여러분을 홈 스크린으로 데리고 갑니다(혹은 길게 몇초간 누르시면 최근 태스크 리스트로 데리고 갑니다)</li>
- <li><strong>스크린 회전 버튼</strong>은 시뮬레이터 화면의 방향을 가로나 세로로 변경합니다. 이 버튼은 <a href="https://developer.mozilla.org/en-US/docs/WebAPI/Managing_screen_orientation#Listening_orientation_change" title="/en-US/docs/WebAPI/Detecting_device_orientation">orientationchange</a> 이벤트를 일으킬 것입니다.</li>
- <li><strong>Geolocation 버튼</strong>은 여러분의 위치나 따로 지정한 위치를 물어보게 합니다: 이 위치는 <a href="/en-US/docs/WebAPI/Using_geolocation" title="/en-US/docs/WebAPI/Using_geolocation">Geolocation API</a>을 이용해 여러분의 앱에서 설정할수 있습니다.</li>
-</ul>
-<p><a href="https://mdn.mozillademos.org/files/5511/simulator-geolocation.png"><img alt="" src="https://mdn.mozillademos.org/files/5511/simulator-geolocation.png" style="width: 520px; height: 309px;"></a><a href="https://mdn.mozillademos.org/files/5519/simulator-screen-orientation.png"><img alt="" src="https://mdn.mozillademos.org/files/5519/simulator-screen-orientation.png" style="width: 500px; height: 297px;"></a></p>
-<h3 id="시뮬레이터_메뉴바"><a name="시뮬레이터 메뉴바"></a>시뮬레이터 메뉴바</h3>
-<p>상단 메뉴바에서는 여러분은 개발을 더 효율적으로 만들수 있게 해주는 여러 명령들을 쓰실수 있습니다.</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5525/simulator-menubar.png"></p>
-<ul>
- <li><strong>File -&gt; Quit</strong> (<em>Ctrl/Cmd - Q</em>): 시뮬레이터를 종료합니다.</li>
- <li><strong>App -&gt; Refresh</strong> (<em>Ctrl/Cmd - R</em>): 시뮬레이터를 새로고침합니다.</li>
-</ul>
-<p>"<strong>App Refresh</strong>"를 실행하는 키보드 단축키는 앱을 웹 페이지처럼 반복적으로 개발하는걸 가능하게 합니다:</p>
-<ul>
- <li>코드에 대한 변경을 만듬 (그리고 필요하다면 빌드 툴을 다시 동작함, e.g. volo / yeoman / grunt)</li>
- <li>키보드 단축키를 입력하셔서 시뮬레이터에서 실행중인 앱을 새로 고침한다.</li>
-</ul>
-<div class="note">
- <p><strong>"앱을 새로 고침하고 데이터를 제거하기" 숨겨진 지름길:</strong> 가끔씩 시뮬레이터가 앱을 위해서 저장한 데이터를 초기화 시키는게 도움이 될 때도 있습니다, 그래서 시뮬레이터는 이와 관련된 숨겨진 단축키를 가지고 있습니다. <em>Shift - Ctrl/Cmd - R를 이용하면 시뮬레이터는 다음과 같은 여러 데이터를 초기화한뒤 앱을 새로 고침할 것입니다:</em></p>
- <ul>
- <li>
- <p>로컬 스토리지 / 세션 스토리지</p>
- </li>
- <li>
- <p>쿠키</p>
- </li>
- <li>
- <p>인덱스된 DB</p>
- </li>
- <li>
- <p>앱 캐시</p>
- </li>
- </ul>
-</div>
-<h2 id="개발자_도구들과_연결하기"><a name="개발자 도구들과 연결하기">개발자 도구들과 연결하기</a></h2>
-<p>여러분의 앱의 디버깅에 도움을 주기 위해 여러가지 개발자 도구들을 시뮬레이터 연결하실수 있습니다. 지금부로는 오직 <a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Debugger">JavaScript Debugger</a>, <a href="/en-US/docs/Tools/Web_Console" title="/en-US/docs/Tools/Web_Console">Web Console</a>, <a href="/en-US/docs/Tools/Style_Editor" title="/en-US/docs/Tools/Style_Editor">Style Editor</a>, <a href="/en-US/docs/Tools/Profiler" title="/en-US/docs/Tools/Profiler">Profiler</a> 그리고 <a href="/en-US/docs/Tools/Network_Monitor" title="/en-US/docs/Tools/Network_Monitor">Network Monitor</a>만 연결할수 있지만, 저희는 더 많은 <a href="https://developer.mozilla.org/en-US/docs/Tools/DevTools_Window" title="https://developer.mozilla.org/en-US/docs/Tools/DevTools_Window">developer tools</a>을 연결할수 있도록 노력중입니다.</p>
-<div class="geckoVersionNote">
- <p>이 중에 몇몇 툴은 파이어폭스의 베타, Aurora 혹은 Nightly builds 버전에서만 이용하실수 있습니다.</p>
-</div>
-<p>개발자 도구들을 시뮬레이터와 연결하실려면, <strong>"Connect" </strong>버튼을 클릭해 주세요:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5497/connect-to-app-button.png" style="margin-right: auto; margin-left: auto; display: block;"></p>
-<p>대시보드는 대시보드 하단에 개발자 도구 창을 열고 앱과 연결합니다:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5501/simulator-devtools-connected.png" style="margin-right: auto; margin-left: auto; display: block;"></p>
-<h3 id="웹_콘솔">웹 콘솔</h3>
-<p>앱은 <a href="/en-US/docs/DOM/console" title="/en-US/docs/DOM/console">console</a> object(콘솔 객체)를 이용해 log를 남길수 있습니다. 웹 콘솔은 다음과 같은 앱이 작성한 메세지를 표시합니다: 네트워크 요구, CSS 그리고 J S 경고/오류, 보안 오류들. (<a href="/en-US/docs/Tools/Web_Console" title="/en-US/docs/Tools/Web_Console">Learn more about the Web Console.</a>)</p>
-<h3 id="디버거">디버거</h3>
-<p>문제를 더 빨리 발견하고 해결하기 위해 디버거를 사용하면 여러분은 손쉽게 연결된 앱의 자바스크립트의 단계별 실행 , 분기점 관리, 식 보기 등을 할수가 있습니다. (<a href="/en-US/docs/Tools/Debugger" title="/en-US/docs/Tools/Web_Console">Learn more about the Debugger.</a>)</p>
-<h3 id="스타일_편집기">스타일 편집기</h3>
-<p><span id="result_box" lang="ko"><span class="hps">스타일</span> <span class="hps">편집기를</span> <span class="hps atn">연결</span><span>하면</span> <span class="hps atn">앱</span><span>에서</span> <span class="hps">참조하는</span> <span class="hps atn">CSS 파일</span><span>의 열람이나</span> <span class="hps atn">편집</span><span class="atn">이 가능</span><span>합니다.</span> <span class="hps">변경 한</span> <span class="hps">부분은</span> <span class="hps atn">앱</span><span>을</span> <span class="hps">업데이트</span> <span class="hps">할</span> <span class="hps">필요없이</span> <span class="hps">실시간으로</span> <span class="hps atn">앱</span><span>에</span> <span class="hps atn">반영</span><span>됩니다.</span></span> (<a href="/en-US/docs/Tools/Style_Editor" title="/en-US/docs/Tools/Web_Console">Learn more about the Style Editor.</a>)</p>
-<h3 id="프로파일러">프로파일러</h3>
-<p><span id="result_box" lang="ko"><span class="hps atn">앱</span><span>에 연결된 </span><span class="hps">프로파일러</span> <span class="hps">도구를</span> <span class="hps">사용하여</span> <span class="hps atn">JavaScript 코드</span><span>에서</span> <span class="hps atn">시간이 너무 많이 소요하는 구간을 찾을수 있습니다</span><span class="hps">.</span> <span class="hps">프로파일러는</span> <span class="hps">JavaScript</span> <span class="hps atn">최근 호출 스택을 샘플하고</span> <span class="hps">컴파일</span> <span class="hps">상태를</span> <span class="hps">주기적으로</span> <span class="hps atn">샘플링</span><span>합니다.</span></span> (<a href="/en-US/docs/Tools/Profiler" title="/en-US/docs/Tools/Web_Console">Learn more about the Profiler.</a>)</p>
-<h3 id="네트워크_모니터">네트워크 모니터</h3>
-<p><span id="result_box" lang="ko"><span class="hps">새로운</span> <span class="hps">네트워크</span> <span class="hps">모니터</span> <span class="hps">덕분에,</span> <span class="hps">앱이</span> <span class="hps">시작한</span> <span class="hps">모든</span> <span class="hps">네트워크</span> <span class="hps">요청 상태</span> <span class="hps atn">헤더</span><span>, 콘텐츠</span> <span class="hps atn">타이밍</span><span>을</span> <span class="hps">사용자</span> <span class="hps">친화적인 인터페이스를</span> 통해 <span class="hps">분석</span> <span class="hps">할 수 있습니다.</span></span>(<a href="https://hacks.mozilla.org/2013/06/network-monitor-now-in-firefox-beta/" title="https://hacks.mozilla.org/2013/06/network-monitor-now-in-firefox-beta/">Learn more about the Network Monitor.</a>)</p>
-<h2 id="영수증"><a name="Simulator-receipts"></a>영수증</h2>
-<p>만약에 여러분이 유료 앱을 개발중이시라면 여러분은 여러분의 앱의 유효한 (cryptographically signed) 영수증(valid receipt)을 가진 영수증 인증 코드 (receipt validation code, 코드는 유저가 이미 앱을 구매했거나 환불을 요구했음을 보여주고 유저에게 앱의 기능을 제한하거나 허락함을 알립니다)를 테스트 하셔야 합니다.</p>
-<p><span id="result_box" lang="ko">시뮬레이터의 대시보드의 <span class="hps">각</span> <span class="hps atn">앱</span><span>의</span> <span class="hps atn">항목에있는 "</span><strong><span class="atn">Receipts</span></strong><span class="atn">"</span><span>메뉴를 이용해 각 앱을</span> <span class="hps atn">"</span><strong><span class="atn">Valid</span></strong><span class="atn">, "</span><strong><span class="atn">Invalid</span></strong><span class="atn">", "</span><strong><span class="atn">Refunded</span></strong><span class="atn">"</span><span> 테스트</span> <span class="hps atn">영수증</span><span>과 </span>함께 설치할수 있습니다. <span class="hps">테스트하려는</span> <span class="hps atn">영수증</span><span>의</span> <span class="hps atn">종류</span><span>를</span> <span class="hps">선택하면</span> <span class="hps atn">대시보드가</span> <span class="hps atn">Marketplace</span><span>의</span> <span class="hps">영수증</span> <span class="hps atn">서비스</span><span>에서</span> <span class="hps">그</span> <span class="hps atn">종류</span><span>의</span> <span class="hps">테스트</span> <span class="hps">영수증을</span> <span class="hps">가져오고</span> 시뮬레이터에서 <span class="hps">테스트</span> <span class="hps atn">영수증</span><span>과 함께</span> <span class="hps">응용 프로그램을 다시</span> <span class="hps atn">설치</span><span>합니다</span> <span class="hps">:</span></span></p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5523/simulator-receipts-selector-4.0.png"></p>
-<h2 id="기기로의_전송"><a name="기기로의 전송">기기로의 전송</a></h2>
-<p>만약에 여러분이 별도의 Firefox OS 기기들이 있으시다면, 여러분을 그 기기들을 시뮬레이터에 연결할수 있고, 추가하신 앱들을 대시보드에서 기기들로 바로 전송할수 있습니다.</p>
-<h3 id="기기에_연결하기">기기에 연결하기</h3>
-<p>기기를 연결하시려면 <a href="/en-US/docs/Mozilla/Firefox_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop" title="/en-US/docs/Mozilla/Firefox_OS/Debugging/Connecting_a_Firefox_OS_device_to_the_desktop">connecting a Firefox OS device to the desktop</a>에 있는 가이드를 따르십시오.시뮬레이터가 ADB를 미리 포함하고 있기 때문에 따로 설치를 하실 필요가 없다는걸 염두해 두세요.</p>
-<h3 id="앱을_디바이스로_전송하기">앱을 디바이스로 전송하기</h3>
-<p>일단 데스크탑과 기기를 준비하시고 기기를 데스크탑에 USB로 연결하셨다면, 대시보드에서 디바이스가 연결되었음을 알리는 "Device connected"가 뜨는걸 보실수 있습니다. 그리고 "Push"라고 되어 있는 새로운 명령 버튼이 나타납니다:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5521/simulator-push2device.png"></p>
-<p> <strong>"Push"</strong>버튼을 클릭하시면 선택하신 앱은 자동적으로 Firefox OS 기기에 전송되었을 것입니다.</p>
-<div class="note">
- <p><strong>수동적 방법:</strong></p>
- <ul>
- <li>
- <p><span id="result_box" lang="ko"><span class="hps">응용 프로그램을</span> <span class="hps atn">장치</span><span>에</span> <span class="hps atn">푸시한뒤</span> <span class="hps">업데이트 된</span> <span class="hps atn">콘텐츠</span><span>를</span> <span class="hps">얻기 위해선</span> <span class="hps">수동으로</span> <span class="hps">응용 프로그램을</span> <span class="hps atn">닫고 다시 시작</span><span class="atn">해야</span><span>합니다.</span></span></p>
- </li>
- <li>
- <p>매니페스트에 어떤 변경(예를 들어서 앱 이름, 화면 방향, 타입, 권한)을 한 경우에는 운영체제를 재부팅 해야지 효과를 적용할수 있습니다.</p>
- </li>
- </ul>
-</div>
-<h3 id="Firefox_OS_기기_연결_확인">Firefox OS 기기 연결 확인</h3>
-<p>어느 기기에서 재부팅 할때나 첫번째 "<strong>Push"(전송) </strong>요구는 디바이스에서 확인되어야 합니다:</p>
-<p><img alt="" src="https://mdn.mozillademos.org/files/5527/device-push-confirmation.png" style="width: 320px; height: 480px;"></p>
-<h3 id="Linux에서_문제해결">Linux에서 문제해결</h3>
-<p>udev rules를 생성하신뒤에 기기에 연결이 안 된다면 이 <a href="https://github.com/mozilla/r2d2b2g/issues/515" title="https://github.com/mozilla/r2d2b2g/issues/515">bug</a>를 참조하세요.</p>
-<h2 id="시뮬레이터의_제약"><a name="제약">시뮬레이터의 제약</a></h2>
-<p>Firefox OS 시뮬레이터가 완벽한 시뮬레이션을 제공하지 않음을 염두해 두세요.</p>
-<h3 id="하드웨어_제약">하드웨어 제약</h3>
-<p>스크린 사이즈를 제외하고도, Firefox OS 시뮬레이터는 Firefox OS 기기들의 CPU 속도나 메모리같은 하드웨어 제약을 시뮬레이트하지 않습니다.</p>
-<h3 id="오디오비디오_코덱">오디오/비디오 코덱</h3>
-<p>다음과 같은 코덱들은 하드웨어 가속에 의존하므로 아직 지원되지 않습니다:</p>
-<ul>
- <li>MP3</li>
- <li>AAC</li>
- <li>H.264 (MP4)</li>
- <li>WebM</li>
-</ul>
-<p>이것은 위에 리스트 되어있는 코덱을 사용하는 앱이나 유튜브같은 웹사이트들은 작동하는것이 불가능하다는걸 의미합니다.</p>
-<h3 id="지원되지_않는_API들"><a name="지원되지 않는 API들">지원되지 않는 API들</a></h3>
-<p>데스크탑 하드웨어의 제약 때문에, 몇가지의 API들은 시뮬레이터에서 작동을 하지 않습니다. 저희는 geolocation과 같은 몇몇 API들을 위한 시뮬레이션을 넣었습니다. 하지만, 지금으로서는 다음 리스트에 있는 API들은 작동하지 않습니다. 다음과 같은 API를 사용하면 에러가 뜨거나 맞지 않은 결과를 가져다 줄 것입니다:</p>
-<ul>
- <li><a href="/en-US/WebAPI/WebTelephony" title="/en-US/WebAPI/WebTelephony">Telephony</a></li>
- <li><a href="/en-US/docs/WebAPI/WebSMS" title="/en-US/docs/WebAPI/WebSMS">WebSMS</a></li>
- <li><a href="/en-US/docs/WebAPI/WebBluetooth" title="/en-US/docs/WebAPI/WebBluetooth">WebBluetooth</a></li>
- <li><a href="/en-US/docs/WebAPI/Using_Light_Events" title="/en-US/docs/WebAPI/Using_Light_Events">Ambient Light</a></li>
- <li><a href="/en-US/docs/WebAPI/Proximity" title="/en-US/docs/WebAPI/Proximity">Proximity</a></li>
- <li><a href="/en-US/docs/WebAPI/Network_Information" title="/en-US/docs/WebAPI/Network_Information">Network Information</a></li>
- <li><a href="/en-US/docs/Online_and_offline_events" title="/en-US/docs/Online_and_offline_events">navigator.onLine and offline events</a></li>
- <li><a href="/en-US/docs/WebAPI/Vibration" title="/en-US/docs/WebAPI/Vibration">Vibration</a></li>
-</ul>
-<h2 id="도움_받기"><a name="Simulator-help"></a>도움 받기</h2>
-<p><span id="result_box" lang="ko"><span class="hps atn">Firefox OS 시뮬레이터는</span> <span class="hps">아직</span> <span class="hps atn">개발 초기 단계</span><span>입니다. </span><span class="hps atn">저희가 원하는</span><span class="atn">만큼</span><span>의 안정성과</span> <span class="hps atn">완성도</span><span>가</span> <span class="hps">없습니다.</span></span></p>
-<p>버그를 발견하셨다면 <a href="https://github.com/mozilla/r2d2b2g/issues?state=open">GitHub에 보고</a> 해주세요. 만약에 물어보실게 있으시다면 <a href="https://lists.mozilla.org/listinfo/dev-developer-tools">개발자 도구 메일링 리스트</a>나<a href="irc://irc.mozilla.org/#devtools"> irc.mozilla.org의 #devtools</a>에서 질문해 주세요.</p>
-<h3 id="verbose_logging을_활성화하는_방법"><a name="Simulator-verbose-logging"></a>verbose logging을 활성화하는 방법</h3>
-<p>설정하기 위해 about:config를 사용해 주세요. <a href="mailto:extensions.r2d2b2g@mozilla.org.sdk.console.logLevel">extensions.r2d2b2g@mozilla.org.sdk.console.logLevel</a>를 정수값 0으로 설정해 주세요, 그리고 부가 기능을 비활성화하고 재활성화를 해주세요. 시뮬레이터 구동에 관련한 추가적 메세지들은 에러 콘솔에서 나타날 것입니다(혹은 최신 버전의 Firefox의 브라우저 콘솔에서)</p>
-<h3 id="어떻게_시뮬레이터의_가장_최신_프리뷰_빌드를_받을수_있을까요"><a name="시뮬레이터 최신 프리뷰 빌드 받기"></a>어떻게 시뮬레이터의 가장 최신 프리뷰 빌드를 받을수 있을까요?</h3>
-<p>이 문서의 한 섹션이 설명하는 대로, 여러분은 최신 Firefox OS 빌드 추가기능을 <a href="https://addons.mozilla.org/en-US/firefox/addon/firefox-os-simulator/">addons.mozilla.org</a>에서 받을수 있습니다.</p>
-<p>가끔 여러분은 아직 공식적으로 릴리즈 되지 않는 기능들을 사용할수도 있을텐데요. 그렇다면, 여러분들은 최신 프리뷰 빌드들을 다음과 같은 URL들에서 받으실수 있습니다.</p>
-<ul>
- <li>Windows: <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-windows.xpi">https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-windows.xpi</a></li>
- <li>Mac: <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-mac.xpi">https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-mac.xpi</a></li>
- <li>Linux: <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-linux.xpi">https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-linux.xpi</a></li>
-</ul>
-<p>프리뷰 빌드들은 릴리즈된 빌드들보다 덜 안정적이고 테스트 되어야 함을 염두해 두세요.</p>
-<h2 id="Subnav">Subnav</h2>
-<ol>
- <li><a href="/en-US/docs/Tools/Toolbox">Toolbox</a>
- <ol>
- <li><a href="/en-US/docs/Tools/Page_Inspector" title="Tools/Page_Inspector">Page Inspector</a></li>
- <li><a href="/en-US/docs/Tools/Web_Console" title="Web Console">Web Console</a></li>
- <li><a href="/en-US/docs/Tools/Style_Editor" title="Style Editor">Style Editor</a></li>
- <li><a href="/en-US/docs/Tools/Debugger" title="Debugger">Debugger</a></li>
- <li><a href="/en-US/docs/Tools/Profiler" title="Profiler">Profiler</a></li>
- <li><a href="/en-US/docs/Tools/Network_Monitor" title="Network Monitor">Network Monitor</a></li>
- <li><a href="/en-US/docs/Tools/Shader_Editor">Shader Editor</a></li>
- </ol>
- </li>
- <li><a href="#">Mobile</a>
- <ol>
- <li><a href="/en-US/docs/Tools/Remote_Debugging" title="Remote Debugging">Remote Debugging</a></li>
- <li><a href="https://developer.mozilla.org/ko/docs/%EB%8F%84%EA%B5%AC%EB%93%A4/Firefox_OS_Simulator">Firefox OS 시뮬레이터</a></li>
- <li><a href="/en-US/docs/Tools/Responsive_Design_View" title="Responsive Design View">Responsive Design View</a></li>
- </ol>
- </li>
- <li><a href="#">Standalone tools</a>
- <ol>
- <li><a href="/en-US/docs/Tools/Scratchpad" title="Scratchpad">Scratchpad</a></li>
- <li><a href="/en-US/docs/Tools/Browser_Console" title="Browser Console">Browser Console</a></li>
- <li><a href="/en-US/docs/Tools/GCLI" title="GCLI">Developer Toolbar</a></li>
- <li><a href="/en-US/docs/Tools/3D_View" title="3D View">3D View</a></li>
- <li><a href="/en-US/docs/Tools/Paint_Flashing_Tool" title="Paint Flashing Tool">Paint Flashing Tool</a></li>
- <li><a href="/en-US/docs/Tools/Browser_Toolbox" title="Browser Toolbox">Browser Toolbox</a></li>
- </ol>
- </li>
-</ol>
-<p> </p>
-<p> </p>
diff --git a/files/ko/archive/b2g_os/성능/index.html b/files/ko/archive/b2g_os/성능/index.html
deleted file mode 100644
index dd7ccb98ee..0000000000
--- a/files/ko/archive/b2g_os/성능/index.html
+++ /dev/null
@@ -1,146 +0,0 @@
----
-title: 성능
-slug: Archive/B2G_OS/성능
-translation_of: Web/Performance/Fundamentals
----
-<p><span id="result_box" lang="ko"><span class="hps atn">성능</span><span>은</span> <span class="hps atn">광범위한 주제</span><span>입니다.</span> <span class="hps">본</span> <span class="hps">문서는</span> <span class="hps atn">Firefox OS</span><span>가</span> <span class="hps">어떻게</span> <span class="hps">설계</span> <span class="hps atn">및 최적화</span><span>되어</span> <span class="hps atn">있는지</span><span>의 관해</span> <span class="hps">대략적인</span> <span class="hps atn">개요</span><span>를</span> <span class="hps">설명합니다.</span> 그리고 <span class="hps">개발자가</span> <span class="hps atn">자신</span><span>의</span> <span class="hps">코드</span> <span class="hps atn">성능을 향상</span><span>시키는</span> <span class="hps">데 사용할 수있는</span> <span class="hps">도구와</span> <span class="hps">프로세스를</span> <span class="hps atn">소개</span><span>합니다.</span></span></p>
-<h2 id="성능이란_무엇인가요">성능이란 무엇인가요?</h2>
-<p><span id="result_box" lang="ko"><span class="hps atn">성능</span><span>은 전적으로</span> <span class="hps atn">사용자</span><span class="atn">에 의해 인식</span><span>됩니다.</span> <span class="hps">사용자가</span> <span class="hps atn">터치</span><span>, 이동,</span> <span class="hps">대화를 통해</span> <span class="hps atn">시스템</span><span>에</span> <span class="hps">입력</span> <span class="hps atn">정보를 제공</span><span>할때 </span><span class="hps">그</span> <span class="hps">대가로</span> <span class="hps atn">사용자</span><span>는</span> <span class="hps atn">시각적</span><span>,</span> <span class="hps">촉각</span> <span class="hps atn">적</span><span>,</span> <span class="hps">청각 적</span> <span class="hps atn">피드백 방식</span><span>에 의해</span> <span class="hps">출력</span> <span class="hps atn">정보</span><span>를 받습니다.</span> <span class="hps">성능은</span> <span class="hps">그</span> <span class="hps atn">입력</span><span class="atn">에 대한 응답</span><span>의</span> <span class="hps">출력</span> <span class="hps atn">품질</span><span>입니다.</span></span></p>
-<p>유저 인식 성능(이 다음부터는 UPP라 부릅니다) 대신 다른 목적으로 최적화된 코드는 여러가지 타겟을 동등하게 최적화된 코드와 비교해서 떨어질수밖에 없습니다. 사용자는 프로세싱 성능이 떨어져도 응답성이 좋고 부드러운 응용 프로그램들을 선호합니다. 예를 들자면, 사용자들은 응답성이 좋으면서 부드럽지만 초당 1,000개의 데이터베이스 트렌젝션 처리를 하는 앱을 응답성이 좋지 않고 부드럽지 않지만 초당 100,000,000개의 데이터베이스 트렌젝션 처리를 하는 앱보다 선호할 것입니다.</p>
-<p>당연히 데이터베이스 초당 트렌젝션 수같은 성능을 빠르게 처리하는게 의미가 없다는게 아닙니다; 그런건 당연히 의미가 있죠. 저희가 말하려는건 이런 것에 주를 두지 말고, UPP를 개선하는데 주를 둬야 한다는 것입니다.</p>
-<p><span id="result_box" lang="ko"><span class="hps">성능에 관한 주요 </span><span class="hps atn">지표</span><span>는</span> <span class="hps">여러 가지</span>가 있습니다<span class="hps">.</span> <span class="hps">첫번째로</span> <span class="hps atn">"</span><span>응답성</span> <span class="hps atn">(</span><span class="atn">responsiveness</span><span class="atn">)</span><span class="atn">"</span><span>입니다.</span> 응답성은 <span class="hps">단순히</span> <span class="hps atn">사용자</span><span>의</span> <span class="hps atn">입력</span><span>에 대한 </span><span class="hps">시스템</span> <span class="hps">출력</span><span class="hps atn">(복수가</span><span> 될 수도</span> <span class="hps atn">있습니다</span><span class="atn">)의</span> <span class="hps">반환</span> <span class="hps atn">속도</span><span>입니다.</span> <span class="hps">예를 들어</span> <span class="hps">사용자가</span> <span class="hps atn">스크린</span><span>을</span> <span class="hps">누를</span> <span class="hps">때</span> 사용자들은<span class="hps"> </span><span class="hps atn">픽셀</span><span>에 어떤</span> <span class="hps">변화가</span> <span class="hps">일어난다고</span> <span class="hps">생각합니다.</span> <span class="hps atn">이 경우에는 "</span><span class="atn">탭</span><span class="atn">"</span><span class="atn">제스처</span><span>에서</span> <span class="hps atn">픽셀</span><span>이</span> <span class="hps">변경 될 때까지</span> <span class="hps">걸린 시간이</span> <span class="hps atn">응답성의 지표가 됩니다</span><span>.</span></span></p>
-<p><span id="result_box" lang="ko"><span class="hps atn">응답성은</span> 자주 여러 단계의 피드백을  <span class="hps atn">필요로</span><span>합니다.</span> <span class="hps atn">응용 프로그램</span><span>의</span> <span class="hps atn">시작</span><span>은</span> <span class="hps">특히</span> <span class="hps">중요한</span> <span class="hps">사례</span> <span class="hps atn">중 하나이며</span><span>,</span> <span class="hps">이에 대해서는 나중에</span> <span class="hps atn">자세히 설명</span><span>합니다.</span></span></p>
-<p>응답성은 간단히 아무도 무시되는걸 원하지 않는다는 단순한 이유 때문에 중요합니다. 사용자가 입력을 한 후에 시스템이 반응하기까지의 시간은 유저가 무시되는 시간입니다. 무시되는 것은 짜증과 화를 유발합니다.</p>
-<p><span id="result_box" lang="ko"><span class="hps">다음으로 중요한</span> <span class="hps atn">지표</span><span>는</span> <span class="hps atn">"</span><span class="atn">프레임 레이트</span><span class="atn">"</span><span>입니다. 프레임 레이트란 </span><span class="hps atn">시스템</span><span>이</span> <span class="hps atn">사용자에게 표시</span><span class="atn">하는 픽셀</span><span>을</span> <span class="hps">변경</span>하는 속도입니다<span>.</span> <span class="hps">이것은 </span>흔한 컨셉이고<span class="hps"> </span><span class="hps">모두가</span> 좋아합니다<span>. 예를 들어 모든 사람은 </span> <span class="hps">초당 60</span> <span class="hps">프레임 레이트를 보여주는 게임은 </span><span>이유를</span> <span class="hps">설명</span> <span class="hps">할 수 없어도</span> <span class="hps">초당</span> <span class="hps">10</span> <span class="hps atn">프레임</span><span> 레이트를 보여주는</span> <span class="hps atn">게임</span><span>보다</span> </span>더 선호할 것입니다.</p>
-<p>프레임 레이트는 "서비스의 질"의 지표로서 중요합니다. 컴퓨터의 디스플레이는 전자를 움직여서 현실을 모사하여 사용자들의 눈을 속이도록 디자인되어 있습니다. <span id="result_box" lang="ko"><span class="hps">예를 들자면, </span><span class="hps">문서</span> <span class="hps atn">리더</span><span>의</span> <span class="hps atn">디스플레이</span><span>는 실제</span> <span class="hps">종이의</span> <span class="hps">선명한</span> <span class="hps atn">텍스트</span><span>에</span> <span class="hps atn">반사되는 빛</span><span>과</span> <span class="hps">같은 패턴으로</span> <span class="hps atn">사용자</span><span>의</span> <span class="hps atn">망막</span><span>에</span> <span class="hps">닿는</span> <span class="hps">빛을</span> <span class="hps">생성하도록</span> <span class="hps">설계된</span> <span class="hps">디스플레이</span> <span class="hps atn">픽셀</span><span>을</span> <span class="hps atn">만들어 텍스트</span><span>를</span> <span class="hps">표시합니다.</span></span></p>
-<p>현실에서는 동작은 "연속적입니다" (저희 두뇌가 알려주는 바에 따르면요); it's not jerky and discrete, but rather "updates" smoothly. (Strobe lights are fun because they turn that upside down, starving our brains of inputs to create the illusion of discrete reality.) On a computer display, a higher framerate simply allows the display to imitate reality more faithfully.</p>
-<p>(흥미로운 점은 인간은 보통 60Hz 이상의 프레임 레이트를 구분하지 못한다는 것입니다. 그렇기 때문에 대부분의 현대의 전자식 디스플레이들은 60Hz로 디자인 되어 있습니다. 예를 들자면 TV 스크린은 벌새에게는 비자연스럽고 끊기는 것처럼 보일 것입니다.)</p>
-<p>Memory usage is another key metric. Unlike responsiveness and framerate, users don't directly perceive memory usage. However, memory usage is a close approximation to "user state". An ideal system would maintain 100% of user state at all times: all applications in the system would run simultaneously, and all applications would retain the state created by the user the last time the user interacted with the application. (Application state is stored in computer memory, which is why the approximation is close.)</p>
-<p>An important corollary of this is contrary to popular belief: a well-designed system should not be optimized to maximize the amount of <strong>free</strong> memory. Memory is a resource, and free memory is a unused resource. Rather, a well-designed system should be optimized to <strong>use</strong> as much memory as possible in service of maintaining user state, while meeting other UPP goals.</p>
-<p>Optimizing a system to use memory doesn't mean it should <strong>waste</strong> memory. Using more memory than is required to maintain some particular user state is wasting a resource that could be used to retain some other user state.</p>
-<p>In reality, no system can maintain all user state. Intelligently allocating memory to user state is an important concern that's discussed in more detail below.</p>
-<p>The final metric discussed here is power usage. Like memory usage, users don't directly perceive power usage. Users perceive power usage indirectly by their devices being able to maintain all other UPP goals for a longer duration. In service of meeting UPP goals, the system must use only the minimum amount of power required.</p>
-<p>The remainder of this document will discuss performance in terms of these metrics.</p>
-<h2 id="폴랫폼_성능">폴랫폼 성능</h2>
-<p>이 부분은 Firefox OS가 응용 프로그램 아래서 보통 어떻게 성능을 향상시키기 위해 공헌하는지에 대한 간략적 요약입니다. 앱 개발자나 유저의 입장에서 "이 폴랫폼이 저를 위해서 뭘 해줄수 있나요?" 라는 질문에 대한 대답입니다.</p>
-<p>This section assumes the reader is familiar with the basic conceptual design of Firefox OS.</p>
-<p>Firefox OS is optimized for applications built with web technologies, HTML/CSS/JavaScript and so on. Except for a handful of basic system services, all the code that runs in Firefox OS is web applications and the Gecko engine. Even the operating system window manager is written in HTML/CSS/JS.</p>
-<p>Because the core operating system is built with the same web technologies that applications are built with, the performance of those technologies is critical. There's no "escape hatch". This greatly benefits developers because all the optimizations that enable a performant OS window manager, for example, are available to third-party applications as well. There's no "magic performance sauce" available only to preinstalled code.</p>
-<p>The web platform provides many tools, some better suited for particular jobs than others. All application logic is written in JavaScript. For displaying graphics, developers can choose between the high-level declarative languages of HTML/CSS, or use low-level imperative interfaces offered by the canvas element.</p>
-<p>HTML과 CSS는 생산성을 크게 증가시킵니다, pixel-level control over rendering or a few frames per second. Text and images are reflowed automatically, the system theme is applied to UI elements by default, and "built-in" support is provided for some use cases developers may not think about initially, like different-resolution displays or right-to-left languages.</p>
-<p>The canvas element offers a pixel buffer directly to developers to draw on. This gives pixel-level control over rendering and precise control of framerate to developers. But it comes at the expense of extra work needed to deal with multiple resolutions and orientations, right-to-left languages, and so forth. Developers draw to canvases using either a familiar 2D drawing API, or WebGL, a "close to the metal" binding that mostly follows OpenGL ES 2.0.</p>
-<p>(Somewhere "in between" HTML/CSS and canvas is SVG, which is beyond the scope of this document.)</p>
-<p>The Gecko JavaScript engine supports just-in-time (JIT) compilation. This enables application logic to perform comparably to other virtual machines, such as Java virtual machines, and in some cases close to "native code".</p>
-<p>The graphics pipeline in Gecko underlying HTML/CSS and canvas is optimized in several ways. The HTML/CSS layout and graphics code in Gecko minimizes invalidation and repainting for common cases likes scrolling; developers get this support "for free". Pixel buffers painted by both Gecko "automatically" and applications to canvas "manually" minimize copies when being drawn to the display framebuffer. This is done by avoiding intermediate surfaces where they would create overhead (such as per-application "back buffers" in many other operating systems), and by using special memory for graphics buffers that can be directly accessed by the compositor hardware. Complex scenes are rendered using the device's GPU for maximum performance. To improve power usage, simple scenes are rendered using special dedicated composition hardware, while the GPU idles or turns off.</p>
-<p>Fully static content is the exception rather than the rule for rich applications. Rich applications use dynamic content with animations, transitions, and other effects. Transitions and animations are particularly important to applications. Developers can use CSS to declare even complicated transitions and animations with a simple, high-level syntax. In turn, Gecko's graphics pipeline is highly optimized to render common animations efficiently. Common-case animations are "offloaded" to the system compositor, which can render them both performantly and power efficiently.</p>
-<p>The runtime performance of applications is important, but just as important is their startup performance. Firefox OS improves startup experience in several ways.</p>
-<p>Gecko is optimized to load a wide variety of content efficiently: the entire Web! Many years of improvements targeting this content, like parallel HTML parsing, intelligent scheduling of reflows and image decoding, clever layout algorithms, etc, translate just as well to improving web applications on Firefox OS. The content is written using the same technologies.</p>
-<p>Each web application has its own instance of the Gecko rendering engine. Starting up this large, complicated engine is not free, and because of that, Firefox OS keeps around a preallocated copy of the engine in memory. When an app starts up, it takes over this preallocated copy and can immediately begin loading its application resources.</p>
-<p>Applications "start" most quickly when they're already running. To this end, Firefox OS tries to keep as many applications running in the background as possible, while not regressing the user experience in foreground applications. This is implemented by intelligently prioritizing applications, and discarding background applications according to their priorities when memory is low. For example, it's more disruptive to a user if their currently-playing music player is discarded in the background, while their background calculator application keeps running. So, the music player is prioritized above the calculator automatically by Firefox OS and the calculator is discarded first when memory is low.</p>
-<p>Firefox OS prevents applications that are running in the background from impacting the user experience of foreground applications through two mechanisms. First, timers created by background apps are "throttled" to run at a low frequency. Second, background applications are given a low CPU priority, so that foreground applications can get CPU time when they need it.</p>
-<p>In addition to the above, Firefox OS includes several features designed to improve power usage that are common to mobile operating systems. The Firefox OS kernel will eagerly suspend the device for minimal power usage when the device is idle. Relatedly, ICs like the GPU, cellular radio, and Wifi radio are powered down when not being actively used. Firefox OS also takes advantage of hardware support for media decoding.</p>
-<h2 id="응용_프로그램_성능">응용 프로그램 성능</h2>
-<p>This section is intended for developers asking the question: "how can I make my app fast"?</p>
-<h3 id="시작_시간_성능">시작 시간 성능</h3>
-<p>Application startup is punctuated by three user-perceived events, generally speaking. The first is the application "first paint": the point at which sufficient application resources have been loaded to paint an initial frame. Second is when the application becomes interactive; for example, users are able to tap a button and the application responds. The final event is "full load", for example when all the user's albums have been listed in a music player.</p>
-<p>The key to fast startup is to keep two things in mind: UPP is all that matters, and there's a "critical path" to each user-perceived event above. The critical path is exactly and only the code that must run to produce the event.</p>
-<p>For example, to paint an application's first frame that comprises visually some HTML and CSS to style that HTML, (i) the HTML must be parsed; (ii) the DOM for that HTML must be constructed; (iii) resources like images in that part of the DOM have to be loaded and decoded; (iv) the CSS styles must be applied to that DOM; (v) the styled document has to be reflowed. Nowhere in that list is "load the JS file needed for an uncommon menu"; "fetch and decode the image for the High Scores list"; etc. Those work items are not on the critical path to painting the first frame.</p>
-<p>It seems obvious, but to reach a user-perceived startup event more quickly, the main "trick" is to just not run code that's off the critical path. Alternatively, shorten the critical path by simplifying the scene.</p>
-<p>The web platform is highly dynamic. JavaScript is a dynamically-typed language, and the web platform allows loading code, HTML, CSS, images, and other resources dynamically. These features can be used to defer work at startup that's off the critical path, by loading the unnecessary content "lazily" some time after startup.</p>
-<p>Another problem that can delay startup is idle time, caused by waiting on responses to requests like database loads. To avoid this problem, applications can "front load" the work by issuing requests as early as possible in startup. Then when the data is needed later, it's hopefully already been fetched and the application doesn't need to wait.</p>
-<p>Relatedly, it's important to separate network requests for dynamic data from static content that can be cached locally. Locally-cached resources can be loaded much more quickly than they can be fetched over high-latency and lower-bandwidth mobile networks. Network requests should never be on the critical path to early application startup. Caching resources locally is also the only way applications can be used when "offline". Firefox OS allows applications to cache resources by either being "packaged" in a compressed ZIP file or "hosted" through HTML5 appcache. How to choose between these options for a particular type of application is beyond the scope of this document, but in general application packages provide optimal load performance; appcache is slower.</p>
-<p>A few other hints are listed below:</p>
-<ul>
- <li>
- <p>Don't include scripts or stylesheets that don't participate in the critical path in your startup HTML file. Load them when needed.</p>
- </li>
- <li>
- <p>Use the "defer" or "async" attribute on script tags needed at startup. This allows HTML parsers to process documents more efficiently.</p>
- </li>
- <li>
- <p>Don't force the web engine to construct more DOM than is needed. A "hack" to do this simply is to leave your HTML in the document, but commented out.</p>
- <pre>&lt;div id="foo"&gt;&lt;!--
- &lt;div&gt; ...
---&gt;&lt;/div&gt;</pre>
- </li>
- <li>
- <p>When that part of the document needs to be rendered, load the commented HTML.</p>
- <pre>foo.innerHTML = foo.firstChild.nodeValue;</pre>
- </li>
- <li>
- <p>Use Web Worker Threads for background processing. Only the application "main thread" can process user events and render primary UI. But a common use case is to fetch some data, process it, then update the UI. Use Worker Threads for this work and keep the main thread free for interacting with the user.</p>
- </li>
-</ul>
-<h3 id="프레임레이트">프레임레이트</h3>
-<p>The first important consideration for achieving high framerate is to select the right tool for the job. Mostly static content that's scrolled and infrequently animated is usually best implemented with HTML/CSS. Highly dynamic content like games that need tight control over rendering, and don't need theming, is often best implemented with canvas.</p>
-<p>For content drawn using canvas, it's up to the developer to hit framerate targets: they have direct control over what's drawn.</p>
-<p>For HTML/CSS content, the path to high framerate is to use the right primitives. Firefox OS is highly optimized to scroll arbitrary content; this is usually not a concern. But often trading some generality and quality for speed, such as using a static rendering instead of a CSS radial gradient, can push scrolling framerate over a target. CSS media queries allow these compromises to be restricted only to devices that need them.</p>
-<p>Many applications use transitions or animations through "pages", or "panels". For example, the user taps a "Settings" button to transition into an application configuration screen, or a settings menu "pops up". Firefox OS is highly optimized to transition and animate scenes that</p>
-<ul>
- <li>Use pages/panels that are approximately the size of the device screen or smaller</li>
- <li>Transition/animate the CSS transform and opacity properties</li>
-</ul>
-<p>Transitions and animations that adhere to these guidelines can be offloaded to the system compositor and run maximally efficiently.</p>
-<p>To help diagnose low framerates, see the section below.</p>
-<h3 id="메모리와_전원_사용량">메모리와 전원 사용량</h3>
-<p>Improving memory and power usage is a similar problem to speeding up startup: don't do unnecessary work; use efficient data structures; lazily load uncommonly-used UI resources; ensure resources like images are optimized well.</p>
-<p>Modern CPUs can enter a lower-power mode when mostly idle. Applications that constantly fire timers or keep unnecessary animations running prevent CPUs from entering low-power mode. Power-efficient applications don't do that.</p>
-<p>When applications are sent to the background, a visibilitychange event is fired on their documents. This event is a developer's friend; applications should listen for it. As mentioned above, Firefox OS tries to keep as many applications running simultaneously as it can, but does have to discard applications sometimes. Applications that drop as many loaded resources as possible when sent to the background will use less memory and be less likely to be discarded. This in turn means they will "start up" faster (by virtue of already being running) and have better UPP.</p>
-<p>Similarly, applications should prepare for the case when they
- <i>
- are</i>
- discarded. To improve user-perceived memory usage, that is to say, making the user feel that more of their state is being preserved, applications should save the state needed to return the current view if discarded. If the user is editing an entry, for example, the state of the edit should be saved when entering the background.</p>
-<h2 id="성능을_측정하고_문제를_분석하기">성능을 측정하고 문제를 분석하기</h2>
-<p>성능을 측정하고 문제를 분석하기 전에, 이걸 기억하세요:</p>
-<div class="geckoVersionNote">
- <blockquote>
-  </blockquote>
- <blockquote>
- 절대. 기기. 위에서. 테스트. 하세요.</blockquote>
- <blockquote>
-  </blockquote>
-</div>
-<p>A great strength of the web platform is that the same code written for "desktop" web browsers runs on Firefox OS on mobile devices. Developers should use this to improve productivity: develop on "desktops", in comfortable and productive environments, as much as possible.</p>
-<p>But when it comes time to test performance, mobile devices must be used. Modern desktops can be more than 100x more powerful than mobile hardware. The lower-end the mobile hardware tested on, the better.</p>
-<p>With that caveat, the sections below describe tools and processes for measuring and diagnosing performance issues.</p>
-<h3 id="성능을_측정하기">성능을 측정하기</h3>
-<p>Firefox OS comes built-in with some convenient and easy-to-use tools that, when used properly, can be used to quickly measure performance. The first tool is the "framerate monitor". This can be enabled in the Firefox OS Settings application.</p>
-<p>The framerate monitor continuously reports two numbers. The values reported are an average of recent results within a sliding window, meant to be "instantaneous" but fairly accurate. As such, both numbers are "guesses". The left number is the "composition rate": the estimated number of times per second Firefox OS is drawing frames to the hardware framebuffer. This is an estimate of the user-perceived framerate, and only an estimate. For example, the counter may report 60 compositions per second even if the screen is not changing. In that case the user-perceived framerate would be 0. However, when used with this caveat in mind and corroborated with other measurements, the monitor can be a useful and simple tool.</p>
-<p><img alt="Screenshot of fps counter" src="http://people.mozilla.com/~cjones/mdn/enable-fps-counter.png" style="width: 320px; height: 480px;"></p>
-<p>The rightmost number is the "layer transaction rate", the estimated number of times per second processes are repainting and notifying the compositor. This number is mostly useful for Gecko platform engineers, but it should be less than or equal to the composition rate number on the left.</p>
-<p>Firefox OS also has a tool that can help measure startup time, specifically the "first paint" time described above. This "time-to-load" tool can be enabled using the Settings application. The value shown by the tool is the elapsed time between when the most recent application was launched, and an estimate of the first time that application painted its UI. This number only approximates the real "first paint" time, and in particular underestimates it. However, lowering this number almost always correlates to improvements in real startup time, so it can be useful to quickly measure optimization ideas.</p>
-<p><img alt="Screenshot of enabling ttl" src="http://people.mozilla.com/~cjones/mdn/enable-ttl.png" style="width: 320px; height: 480px;"></p>
-<p>For accurately measuring both startup times and responsiveness, a high-speed camera is indispensable. "High-speed" means that the camera can record 120 frames per second or above. The higher the capture rate, the more accurate the measurements that can be made. This may sound like exotic technology, but consumer models can be purchased for a few hundred US dollars.</p>
-<p><a href="http://people.mozilla.com/~cjones/mdn/hs-example.webm" title="http://people.mozilla.com/~cjones/mdn/hs-example.webm">Link to example video of high-speed capture that I can't upload</a></p>
-<p>The measuring process with these cameras is simple: record the action to be studied, and then play back the capture and count the number of frames that elapse between the input (say, a tap gesture) and the desired output (pixels changing in some way). Divide the number of counted frames by the capture rate, and the resulting number is the measured duration.</p>
-<p>Mozilla built an automated tool called Eideticker which operates on the same principle as described above. The difference is that Eideticker uses synthetic user input events and HDMI capture to measure durations. The code is available and can be used with any device with an HDMI output.</p>
-<p>Measuring power can be more difficult. It's possible to jury-rig measurement apparatus with a soldering iron, but a good approximation of power usage can be gathered by observing CPU load. Simple command-line tools like |top| allow monitoring CPU usage continuously.</p>
-<p>In general, when measuring performance, don't be proud! "Primitive technology" like a stopwatch or logging, when used effectively, can provide eminently usable data.</p>
-<h3 id="성능_문제를_분석하기">성능 문제를 분석하기</h3>
-<p>If performance measurements show an application is below its targets, how can the underlying problem be diagnosed?</p>
-<p>The first step of any performance work is to create a reproducible workload and reproducible measurement steps. Then gather baseline measurements, before any code changes are made. It seems obvious, but this is required to determine whether code changes actually improve performance! The measurement process selected isn't too important; what's important is that the process be (i) reproducible; (ii) realistic, in that it measures what users will perceive as closely as possible; (iii) precise as possible; (iv) accurate as possible. Even stopwatch timings can fit this spec.</p>
-<p>Firefox OS includes two built-in tools for quickly diagnosing some performance issues. The first is a render mode called "paint flashing". In this mode, every time a region of the screen is painted by Gecko, Gecko blits a random translucent color over the painted region. Ideally, only parts of the screen that visually change between frames will "flash" with a new color. But sometimes more area than is needed is repainted, causing large areas to "flash". This symptom may indicate that application code is forcing too much of its scene to update. It may also indicate bugs in Gecko itself.</p>
-<p><img alt="Enable paint flashing" src="http://people.mozilla.com/~cjones/mdn/enable-paint-flashing.png" style="width: 320px; height: 480px;"></p>
-<p><img alt="Paint flashing after scrolling down from previous image" src="http://people.mozilla.com/~cjones/mdn/enable-paint-flashing-scroll-down.png" style="width: 320px; height: 480px;"></p>
-<p>The second tool is called "animation logging", and can also be enabled in Settings. This tool tries to help developers understand why animations are not offloaded to the compositor to be run efficiently as possible. It reports "bugs" like trying to animate elements that are too large, or trying to animate CSS properties that can't be offloaded.</p>
-<p><img alt="Enable animation logging" src="http://people.mozilla.com/~cjones/mdn/enable-log-animations.png" style="width: 320px; height: 480px;"></p>
-<p><img alt="Start of animation not offloaded" src="http://people.mozilla.com/~cjones/mdn/enable-log-animations-1.png" style="width: 320px; height: 480px;"></p>
-<pre>I/Gecko ( 5644): Performance warning: Async animation disabled because frame size (1280, 410) is bigger than the viewport (360, 518) [div with id 'views']
-</pre>
-<p><img alt="End of animation not offloaded" src="http://people.mozilla.com/~cjones/mdn/enable-log-animations-2.png" style="width: 320px; height: 480px;"></p>
-<div class="note">
- <p>A common pitfall is to animate left/top/right/bottom properties instead of using CSS transforms to achieve the same effect. For a variety of reasons, the semantics of transforms make them easier to offload, but left/top/right/bottom are much more difficult. Animation logging will report this.</p>
-</div>
-<p>These tools can help quickly assess a performance problem, but they often show only what developers should be "looking for": hints at deeper problems. When more information is required, the Gecko Profiler can be used. A full description of the profiler is beyond the scope of this document; see <a href="/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler" title="/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler">[here]</a>. Briefly, the profiler shows mixed JavaScript/C++ "samples" of what all Firefox OS processes are doing over a rolling time interval. Developers can use these profiles to see what their code and Gecko itself are doing. Warnings are built into the profiler UI for many common pitfalls like excessive garbage collection (caused by creating too many JS objects), and forcing "synchronous reflows". Sync reflows are bad because Gecko is optimized to do expensive work like reflows in big batches, when needed. Forced reflows throw off this "schedule", and can cause more work to be done than necessary.</p>
-<p>Similarly, advanced users may wish to use a whole-system profiler like the linux |perf| tool. This is mostly useful for platform engineers, though.</p>
-<p>As with measuring performance, don't be proud about tools used to diagnose it! A few well-placed Date.now() calls with logging can often provide a quick and accurate answer.</p>
-<p>Finally, the only way to keep improving performance is to not regress it. The only way to not regress performance is to test it, preferably with automated tests. A full discussion of that topic is beyond the scope of this document, though.</p>
-<h2 id="파리_Firefox_OS_성능_최적화_워크샵_3월_4_-_8일_2013">파리 Firefox OS 성능 &amp; 최적화 워크샵, 3월 4 - 8일, 2013</h2>
-<p>To illustrate these concepts here are some videos and slides from the Paris Workshop dedicated to performances and optimizations.</p>
-<p>파트 1: Technical basics and more (Gabriele &amp; Thomas)</p>
-<ul>
- <li>비디오: <a href="https://docs.google.com/file/d/0ByB4v6HDNT-ZdHAtam5IdWpWWkE/edit?usp=sharing" title="https://docs.google.com/file/d/0ByB4v6HDNT-ZdHAtam5IdWpWWkE/edit?usp=sharing">Technical considerations</a></li>
- <li>슬라이드: <a href="https://docs.google.com/file/d/0ByB4v6HDNT-ZNGRxS3A1X21tMjQ/edit?usp=sharing" title="https://docs.google.com/file/d/0ByB4v6HDNT-ZNGRxS3A1X21tMjQ/edit?usp=sharing">Presentation</a></li>
-</ul>
-<p>파트 2: <a href="https://docs.google.com/file/d/0ByB4v6HDNT-ZWFNkRGtyTHd5TUU/edit?usp=sharing" title="https://docs.google.com/file/d/0ByB4v6HDNT-ZWFNkRGtyTHd5TUU/edit?usp=sharing">Performances in a UX point of view</a> (Josh)</p>
-<p>파트 3: <a href="https://docs.google.com/file/d/0ByB4v6HDNT-ZdUVadVBmeDlXaW8/edit?usp=sharing" title="https://docs.google.com/file/d/0ByB4v6HDNT-ZdUVadVBmeDlXaW8/edit?usp=sharing">Performances measurement &amp; automation</a> (Julien &amp; Anthony)</p>
diff --git a/files/ko/archive/b2g_os/앱_관리자_사용하기/index.html b/files/ko/archive/b2g_os/앱_관리자_사용하기/index.html
deleted file mode 100644
index 392a32866e..0000000000
--- a/files/ko/archive/b2g_os/앱_관리자_사용하기/index.html
+++ /dev/null
@@ -1,247 +0,0 @@
----
-title: 앱 관리자 사용하기
-slug: Archive/B2G_OS/앱_관리자_사용하기
-translation_of: Archive/B2G_OS/Using_the_App_Manager
----
-<div class="summary">
-<p>앱 관리자는 Firefox 데스크톱에서 제공하는 새로운 도구로, Firefox OS phone과 Firefox OS 시뮬레이터에서 HTML5 웹앱을 테스트, 배치, 디버그할 수 있도록 돕는 여러 도구들을 브라우저에서 직접 제공합니다.</p>
-</div>
-
-<p style="text-align: center;"></p><div class="intrinsic-wrapper"><div class="intrinsic-container "><iframe src="https://www.youtube.com/embed/z1Bxg1UJVf0?rel=0&amp;html5=1"></iframe></div></div><p></p>
-
-<p>앱 관리자는 다음과 같이 구성되어 있습니다:</p>
-
-<ul>
- <li><em><a href="#Apps_panel">앱 패널</a></em>:<em> </em>로컬 앱(소스코드가 자신의 컴퓨터에 위치)과 외부에서 호스팅되는 앱을 관리합니다. 이들을 패키징하고 장치나 시뮬레이터에 설치할 수 있으며 툴박스를 사용해 디버그도 할 수 있습니다.</li>
- <li><em><a href="#Device_panel">장치 패널</a></em>: 연결된 장치의 Firefox OS버전, 장치 API 사용에 필요한 퍼미션, 설치된 앱들에 대한 정보를 표시합니다.</li>
- <li><em><a href="/en-US/docs/Tools_Toolbox">툴박스</a>: </em> 앱 패널을 통해 실행중인 앱에 연결하고 디버깅 동작을 수행할 수 있는 개발도구(웹 콘솔, 인스펙터, 디버거 등)들의 세트입니다.</li>
-</ul>
-
-<h2 id="빠른_설정"><a name="Configuring_device">빠른 설정:</a></h2>
-
-<p>이 섹션에서는 가능한한 빠르게 준비하는 법을 다룹니다. 보다 자세한 내용은 <a href="#device_and_system_config">장치 및 시스템 설정</a> 섹션으로 넘어가십시오. 그리고 문제가 있을 경우 <a href="#Troubleshooting">Troubleshooting</a> 섹션을 읽어보세요.</p>
-
-<ol>
- <li>Firefox 데스크톱 26 이상을 설치했는지 확인하세요.</li>
- <li>앱 관리자를 엽니다. (URL바에 <code>about:app-manager</code>을 입력합니다)</li>
- <li>실제 장치가 없는 경우:
- <ol>
- <li><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/">Firefox OS 시뮬레이터를 설치합니다.</a></li>
- <li>앱 관리자의 아래쪽 툴바에서 <em>시뮬레이터 시작</em>을 클릭하고 뒤이어 표시되는 설치된 시뮬레이터의 이름을 클릭합니다.</li>
- </ol>
- </li>
- <li>실제 장치가 있는 경우:
- <ol>
- <li>장치가 Firefox OS 1.2 이상을 구동중인지 확인하세요.</li>
- <li>Windows의 경우, 폰 제조사에서 제공하는 드라이버의 설치를 확인하세요. </li>
- <li>장치의 설정에서 화면 잠금을 비활성화하고 (<code>Settings &gt; <code>Screen Lock</code></code>) 원격 디버깅을 활성화합니다(<code>Settings &gt; Device information &gt; More information &gt; Developer</code>).</li>
- <li>Firefox Desktop에 <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/">ADB Helper</a> 추가기능을 설치합니다.</li>
- <li>USB케이블로 장치와 컴퓨터를 연결하세요.</li>
- <li>앱 관리자 하단에 장치의 이름이 나타나면 클릭합니다.</li>
- </ol>
- </li>
- <li>하단 바에 "xxx에 연결됨"이 표시됩니다.</li>
- <li>앱 패널을 클릭해 앱을 추가합니다(패키지 또는 hosted).</li>
- <li>The <em>Refresh</em> button validates your app and installs it on the Simulator/Device</li>
- <li>The <em>Debug</em> button connects the developer tools to the running app</li>
- <li><strong>문제가 발생한다면 <a href="#Troubleshooting">Troubleshooting</a>섹션을 참조하세요.</strong></li>
-</ol>
-
-<h2 id="장치_및_시스템_설정"><a name="device_and_system_config"></a>장치 및 시스템 설정</h2>
-
-<p>앱 관리자를 사용할 때 가장 처음 해야할 일은 여러분의 시스템과 폰이 제대로 설정되었는지 확인하는 것입니다. 이 섹션에서 필요한 단계들을 알아보겠습니다.</p>
-
-<h3 id="Firefox_1.2_이상_필요">Firefox 1.2 이상 필요</h3>
-
-<p>장치가 Firefox OS 1.2/Boot2Gecko 1.2 또는 그 이상을 구동중인지 확인하세요. 장치의 Firefox OS 버전을 확인하려면 <code>Settings &gt; Device Information &gt; Software로 이동하십시오.</code></p>
-
-<p>If you don't have a high enough version installed, depending on what phone you have you will need to either install an available nightly build of Firefox 1.2+, or configure and build it yourself from source.</p>
-
-<p>Builds available:</p>
-
-<p><a href="http://downloads.geeksphone.com/">Geeksphone Keon/Peak builds</a> (to find out more about using these, read <a href="/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/Updating_and_Tweaking_Geeksphone">Updating and Tweaking your Firefox OS Developer Preview phone/Geeksphone</a>)</p>
-
-<p>More to follow</p>
-
-<p>To build your own Firefox OS 1.2+ distribution, follow the instructions located at <a href="/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS">Building and installing Firefox OS</a>, starting with <a href="/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites">Firefox OS build prerequisites</a>.</p>
-
-<h3 id="원격_디버깅(Remote_debugging)">원격 디버깅(Remote debugging)</h3>
-
-<p>Next, you need to enable remote debugging in Firefox OS. To do so, go to <code>Settings &gt; Device information &gt; More information &gt; Developer</code> and check the Remote Debugging checkbox.</p>
-
-<h3 id="Adb_Helper_Add-on" name="Adb_Helper_Add-on">ADB or ADB helper</h3>
-
-<p>The process uses the Android Debug Bridge (ADB) to handle the device-computer connection and communication. There are two options for running ADB:</p>
-
-<p>Let Firefox handle ADB (recommended). <a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/">Install the ADB Helper add-on</a>, which makes the process easier. With this installed, there's no need to install the ADB, and no need to type the <code>adb forward</code> command: everything is handled by the add-on.</p>
-
-<p><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/" style="margin-bottom: 20px; padding: 10px; text-align: center; border-radius: 4px; display: inline-block; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;" title="https://addons.mozilla.org">ADB Helper 확장기능 다운로드</a></p>
-
-<p>Use ADB manually. You need to have it installed on your computer - download and install <code>adb</code> (see the <a href="http://developer.android.com/sdk/index.html">Get the Android SDK</a>) as part of the Android SDK package. You'll need to enable port forwarding by entering the following command into your terminal:Note that you'll need to do this every time the phone is restarted or unplugged then re-plugged.</p>
-
-<div class="note">
-<p>Note: ADB Helper 확장기능을 설치했다면 이 명령을 실행할 필요가 없습니다.</p>
-</div>
-
-<h2 id="Connecting_your_device_to_the_App_Manager">Connecting your device to the App Manager</h2>
-
-<p>With all your configuration done, it's now time to plug your device into your computer and start the App Manager:</p>
-
-<ol>
- <li>Plug the device into your computer via USB.</li>
- <li>Disable Screen lock on your device by going to <code>Settings &gt; Screen Lock</code> and unchecking the <code>Lock Screen</code> checkbox. This is a good idea because when the screen gets locked, the phone connection gets lost, meaning it is no longer available for debugging.</li>
- <li>Start the App Manager — In Firefox Desktop select the <code>Tools &gt; Web Developer &gt; App Manager</code> menu option, or type <code>about:app-manager</code> in the URL bar.</li>
- <li>At the bottom of the App Manager tab, you will see a connection status bar (see screenshot below). You should be able to connect your device by clicking the "Connect to localhost:6000" button.</li>
- <li>If this works successfully, a prompt should appear on your device: "An incoming request to permit remote debugging connection was detected. Allow connection?". Tap the OK button (You may also have to press the power button on the phone so you can see the prompt.) The connection status bar should update to say "Connected to B2G", with a Disconnect button available to press if you want to cancel the connection.</li>
-</ol>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6263/connection-status.png" style="width: 600px; height: 30px; display: block; margin: 0px auto;"></p>
-
-<div class="note">
-<p>Note that the other controls in the connection status bar allow you to connect a simulator to the App Manager, which we cover in the next section, below, and change the port that the connection happens on. If you change the port, you'll also need to enable port forwarding for this port as well, as instructed in the <a href="#Enable_port_forwarding">Enable port forwarding</a> section, above.</p>
-</div>
-
-<h2 id="Firefox_OS_시뮬레이터_추가기능_사용하기"><a name="Simulator">Firefox OS 시뮬레이터 추가기능 사용하기</a></h2>
-
-<p>If you haven't got a real device available to use with App Manager, you can still try it out using a <a href="/en-US/docs/Tools/Firefox_OS_Simulator">Firefox OS Simulator</a> Add-on. To start off, install the appropriate simulator for your operating system:</p>
-
-<p><a href="https://ftp.mozilla.org/pub/mozilla.org/labs/fxos-simulator/" style="margin-bottom: 20px; padding: 10px; text-align: center; border-radius: 4px; display: inline-block; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;">시뮬레이터 설치하기</a></p>
-
-<div class="note">
-<p>앞으로 더 많은 것들이 등장하겠지만, 지금은 Firefox OS 1.2 시뮬레이터만 이용할 수 있습니다.</p>
-</div>
-
-<p>Once you've installed the simulator, you need to go to the connection status bar at the bottom of the App Manager tab, and click the "Start simulator" button. Three buttons will appear:</p>
-
-<ul>
- <li>"Firefox OS 1.2" ... etc (or something similar): the leftmost button contains the name of the simulator version you have installed. Click it to start the connection to the simulator.</li>
- <li>"Add": the middle button navigates to the simulator install links in this article, so you can add more Simulators (Firefox OS 1.2, Firefox OS 1.3, ...).</li>
- <li>"Cancel": the right hand button cancels the connection.</li>
-</ul>
-
-<h2 id="앱_패널"><a name="Apps_panel">앱 패널</a></h2>
-
-<p>Now everything is working, let's review the functionality available inside the App Manager, starting with the Apps panel. From here, you can import an existing app to push onto your device and debug:</p>
-
-<ul>
- <li>To install a local app, click on the plus next to the "Add Packaged App" label and use the resulting file chooser dialog to select the directory your app is contained inside.</li>
- <li>To install an externally hosted app, enter the absolute URL of the app's manifest file into the text field inside the "Add Hosted App" box, then press the plus button.</li>
-</ul>
-
-<p>Information about your app should appear on the right hand side of the window, as seen below:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6261/apps-panel.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<h3 id="Manifest_편집기">Manifest 편집기</h3>
-
-<p>From Firefox 28 onwards, the Apps Panel includes an editor for the app manifest:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6613/apps-panel-fx-28.png" style="width: 600px; display: block; margin: 0px auto;"></p>
-
-<h3 id="Debugging">Debugging</h3>
-
-<p>Clicking on <em>"Update"</em> will update (install) the app on the device. Clicking on <em>"debug"</em> will connect a toolbox to the app, allowing you to debug its code directly:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6265/debug.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<div class="note">
-<p>Note: You'll enjoy playing around with the toolbox — try altering the DOM, CSS etc. and you'll see the updates reflected on the device in realtime. Such updates will be saved on the installed app code; you'll see them next time you open the app on the device.</p>
-</div>
-
-<p>Before Firefox 28, the tools are launched in a separate window. From Firefox 28 onwards, the tools are launched in a separate tab in the App Manager itself, alongside the Apps and Device tabs. The tab is given your app's icon so it's easy to find:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6615/toolbox-fx-28.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<h3 id="Errors">Errors</h3>
-
-<p>If an app was not added successfully — for example if the URL was incorrect, or you selected a packaged app folder — an entry will be added to the page for this app, but this will include error information.</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6259/apps-error.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<p>You can also delete an app from this view, by hovering over the App name/description on the left of the window, and pressing the "X" button that appears in each case. This however doesn't remove the app from the device. To do that you need to manually remove the app using the device itself.</p>
-
-<h2 id="Device_panel_2"><a name="Device_panel">Device panel</a></h2>
-
-<p>The <em>Device</em> tab displays information about the connected device. From the <em>"</em>Installed Apps<em>"</em> window, apps on the device can be started and debugged.</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6267/device-tab.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<div class="note">
-<p>Note: Certified Apps are not listed by default. <a href="#Debugging_Certified_Apps">See how to debug certified apps</a>.</p>
-</div>
-
-<p><a name="permissions"></a>The "Permissions" window shows the required priviledges for different <a href="/en-US/docs/WebAPI">Web APIs</a> on the current device:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6269/permissions.png" style="width: 600px; height: 375px; display: block; margin: 0px auto;"></p>
-
-<p>Finally, you can take a screenshot of the current device display by clicking the "Screenshot" button. The screenshot appears in a new tab on Firefox, and from there you can save or discard it as you wish.</p>
-
-<h2 id="Debugging_Certified_Apps_2"><a name="Debugging_Certified_Apps">Debugging Certified Apps</a></h2>
-
-<p>Currently only devices running a development build of Firefox OS 1.2 are capable of debugging certified apps. If you have a development build, you can enable certified app debugging by changing the pref <code>devtools.debugger.forbid-certified-apps</code> to <code>false</code> in your profile. To do this, follow the steps below:</p>
-
-<ol>
- <li>
- <p>On your computer, enter the following command in Terminal/console to enter your device's filesystem via the shell:</p>
-
- <pre class="brush: bash">adb shell</pre>
-
- <p>Your prompt should change to <code>root@android</code>.</p>
- </li>
- <li>
- <p>Next, stop B2G running using the following command:</p>
-
- <pre class="brush: bash">stop b2g</pre>
- </li>
- <li>
- <p>Navigate to the following directory:</p>
-
- <pre>cd /data/b2g/mozilla/*.default/</pre>
- </li>
- <li>
- <p>Here, update the prefs.js file with the following line:</p>
-
- <pre class="brush: js">echo 'user_pref("devtools.debugger.forbid-certified-apps", false);' &gt;&gt; prefs.js</pre>
- </li>
- <li>
- <p>After you've finished editing and saving the file, start B2G again using the following command:</p>
-
- <pre class="brush: bash">start b2g</pre>
- </li>
- <li>
- <p>Exit the android filesystem using the <code>exit</code> command; this will return you to your normal terminal prompt.</p>
- </li>
- <li>
- <p>Next, reconnect to the App Manager and you should see certified apps appear for debugging.</p>
- </li>
-</ol>
-
-<div class="note">
-<p>Note: If you want to add this preference to your Gaia build you can run <code>make DEVICE_DEBUG=1 reset-gaia</code>.</p>
-</div>
-
-<h2 id="Troubleshooting_2"><a name="Troubleshooting">Troubleshooting</a></h2>
-
-<p id="My_device_is_not_recognized">장치가 인식되지 않을 경우:</p>
-
-<ul>
- <li>Read the <a href="#Configuring_device">Device and system configuration</a> section thoroughly, and make sure all the steps are followed:</li>
- <li>장치가 최소 Firefox OS 1.2를 구동중인가요?</li>
- <li>Don't see all the apps? Do you need to enable <a href="#Debugging_Certified_Apps">Certified Apps debugging</a>?</li>
- <li>폰의 settings에서 "원격 디버깅"을 활성화했습니까?</li>
- <li><a href="#Adb_Helper_Add-on">ADB Helper 확장기능</a>을 사용중이라면:
- <ul>
- <li><code>adb forward</code> 명령을 성공적으로 실행했습니까?</li>
- </ul>
- </li>
- <li>If you are using the <a href="#Adb_Helper_Add-on">ADB Helper add-on</a> and your device is not listed in the bottom toolbar:
- <ul>
- <li>If you use Linux, <a href="http://developer.android.com/tools/device.html#setting-up">make sure to setup udev correctly</a></li>
- <li>If you use Windows, <a href="http://developer.android.com/tools/device.html#setting-up">make sure to install the appropriate drivers</a></li>
- </ul>
- </li>
- <li>Linux상의 장치이름 대신 "???????"가 보이나요? 퍼미션에 문제가 있습니다.  <a href="http://developer.android.com/tools/device.html#setting-up">udev 설정을 확인해 보십시오</a>.</li>
- <li>폰의 화면잠금이 해제되었습니까?</li>
-</ul>
-
-<p>Can't connect your device to the App Manager or start the simulator? <a href="https://wiki.mozilla.org/DevTools/GetInvolved#Communication">Let us know</a> or <a href="https://bugzilla.mozilla.org/enter_bug.cgi?alias=&amp;assigned_to=nobody%40mozilla.org&amp;attach_text=&amp;blocked=&amp;bug_file_loc=http%3A%2F%2F&amp;bug_ignored=0&amp;bug_severity=normal&amp;bug_status=NEW&amp;cf_blocking_b2g=---&amp;cf_crash_signature=&amp;cf_status_b2g18=---&amp;cf_status_b2g_1_1_hd=---&amp;cf_status_b2g_1_2=---&amp;cf_status_firefox24=---&amp;cf_status_firefox25=---&amp;cf_status_firefox26=---&amp;cf_status_firefox27=---&amp;cf_status_firefox_esr17=---&amp;cf_status_firefox_esr24=---&amp;cf_tracking_b2g18=---&amp;cf_tracking_firefox24=---&amp;cf_tracking_firefox25=---&amp;cf_tracking_firefox26=---&amp;cf_tracking_firefox27=---&amp;cf_tracking_firefox_esr17=---&amp;cf_tracking_firefox_esr24=---&amp;cf_tracking_firefox_relnote=---&amp;cf_tracking_relnote_b2g=---&amp;comment=&amp;component=Developer%20Tools%3A%20App%20Manager&amp;contenttypeentry=&amp;contenttypemethod=autodetect&amp;contenttypeselection=text%2Fplain&amp;data=&amp;defined_groups=1&amp;dependson=&amp;description=&amp;flag_type-203=X&amp;flag_type-37=X&amp;flag_type-41=X&amp;flag_type-5=X&amp;flag_type-607=X&amp;flag_type-720=X&amp;flag_type-721=X&amp;flag_type-737=X&amp;flag_type-748=X&amp;flag_type-781=X&amp;flag_type-787=X&amp;flag_type-791=X&amp;flag_type-799=X&amp;flag_type-800=X&amp;flag_type-802=X&amp;flag_type-803=X&amp;flag_type-809=X&amp;flag_type-825=X&amp;form_name=enter_bug&amp;keywords=&amp;maketemplate=Remember%20values%20as%20bookmarkable%20template&amp;op_sys=All&amp;priority=--&amp;product=Firefox&amp;qa_contact=developer.tools%40firefox.bugs&amp;rep_platform=x86&amp;requestee_type-203=&amp;requestee_type-41=&amp;requestee_type-5=&amp;requestee_type-607=&amp;requestee_type-748=&amp;requestee_type-781=&amp;requestee_type-787=&amp;requestee_type-791=&amp;requestee_type-800=&amp;short_desc=&amp;status_whiteboard=&amp;target_milestone=---&amp;version=Trunk">file a bug</a>.</p>
diff --git a/files/ko/archive/css3/index.html b/files/ko/archive/css3/index.html
deleted file mode 100644
index b884c02e7c..0000000000
--- a/files/ko/archive/css3/index.html
+++ /dev/null
@@ -1,582 +0,0 @@
----
-title: CSS3
-slug: Archive/CSS3
-translation_of: Archive/CSS3
----
-<p><span class="seoSummary"><strong>CSS3는 </strong><em>Cascading Style Sheets(CSS)</em> 언어의 가장 최신 버전이고 CSS2.1을 상속하는 것을 목표로  합니다.  CSS3는 개발자들이 오랫동안 기다려온 새로운 기능들을 지원하게 되었습니다. 다중열(</span><a href="/en-US/docs/Web/Guide/CSS/Using_multi-column_layouts" style="line-height: 1.5;" title="Using CSS multi-column layouts">multi-columns</a>)<span style="line-height: 1.5;">, 유동적인 상자(flexible box), 격자 배치(grid layouts) 뿐만 아니라 둥그런 모서리(</span><span class="seoSummary" style="line-height: 1.5;">rounded corners), 그림자( shadows) , 부드러운 색의 변이(<a href="/en-US/docs/Web/Guide/CSS/Using_CSS_gradients" title="Using CSS gradients">gradients</a>) , 변이(<a href="/en-US/docs/Web/Guide/CSS/Using_CSS_transitions" title="CSS transitions">transitions</a>), 움직임(<a href="/en-US/docs/Web/Guide/CSS/Using_CSS_animations" title="CSS animations">animations</a>) 등도 지원합니다.</span><span style="line-height: 1.5;"> 실험적인 부분(experimental parts)은 브라우저 공급자(vender)의 구현에 따라 다를 수 있고 미래에 문법이나 의미가 변할 수 있습니다. 따라서 환경에 따라 해당 스펙을 사용하는 것을 피하거나, 사용하더라도 매우 신중히 사용해야합니다.  </span></p>
-
-<h2 id="모듈과_표준화_과정(Modules_and_the_standardization_process)">모듈과 표준화 과정<span style="font-size: 2.14285714285714rem;">(Modules and the standardization process)</span></h2>
-
-<p>2002년 8월부터 2011년 6월까지 CSS Level2가 권장(Recommendation)단계에 이르기 까지 총 9년이 걸렸습니다. 이는 몇몇 부차적인 기능들이 전체 명세(specification)의 진행을 더디게 만들었기 때문입니다. W3C의 <a class="external" href="http://www.w3.org/blog/CSS/" style="line-height: 1.5;" title="http://www.w3.org/blog/CSS/">CSS Working Group</a>은 문제를 일으키는 몇몇 기능을 제외한 나머지 기능들의 표준화 작업을 보다 빠르게 진행하기 위하여 <a class="external" href="http://fantasai.inkedblade.net/weblog/2011/inside-csswg/modules" style="line-height: 1.5;" title="http://fantasai.inkedblade.net/weblog/2011/inside-csswg/modules">Beijing doctrine</a>에 따라 <span style="line-height: 1.5;">CSS를 보다 작은 컴포넌트 단위로 나눴고, 이를 모듈(module)이라 부릅니다. 현재 각각의 모듈은 서로 </span><span style="line-height: 1.5;">독립적으로 표준화 과정을 거치고 있습니다. 이미 몇몇 모듈은 W3C Rocommendations 에 이르렀으나, 나머지는 여진히 Working Drafts 단계에 머물러 있습니다. 또한 새로운 요구사항(needs)이 발생할 때 마다 계속해서 새로운 모듈이 추가되고 있습니다.</span></p>
-
-<p><a href="/@api/deki/files/6120/=CSS_Modules_and_Snapshots.png" title="CSS_Modules_and_Snapshots.png"><img alt="CSS Modules and Snapshots as defined since CSS3" class="internal lwrap" src="/files/3623/CSS_Modules_and_Snapshots.png" style="float: left; width: 550px;"> </a>공식적으로 CSS3 자체 표준은 존재하지 않습니다. 각각의 모듈이 독립적으로 표준화 되고 있고, 표준 CSS는 모듈을 통해 CSS2.1을 수정하여 상속(extends)하는 것으로 구성되어있서 항상 같은 level number를 갖는 것은 아닙니다. 특정 시점의 CSS2.1과 완성된 모듈들로 구성된 CSS표준 스냅샷을 정의할 수 있습니다. W3C는 주기적으로 이런 스냅샷을 발표하고 있습니다. (<a class="external" href="http://www.w3.org/TR/css-beijing/" style="line-height: 1.5;" title="http://www.w3.org/TR/css-beijing/">2007</a><span style="line-height: 1.5;"> / </span><a class="external" href="http://www.w3.org/TR/css-2010/" style="line-height: 1.5;" title="http://www.w3.org/TR/css-2010/">2010</a>)</p>
-
-<p>아직까지 lever 3보다 높은 level을 가진 모듈은 없지만 곧 생길 것입니다. Selector 4나 CSSborder 4, Background 4와 같은 몇몇 모듈은 Working Draft가 공개된적은 없지만 이미 Editor's Draft는 작성되어 있습니다.</p>
-
-<h2 id="sect1" style=""> </h2>
-
-<h2 id="CSS_모듈의_상태(CSS_modules_status)" style="">CSS 모듈의 상태(CSS modules status)</h2>
-
-<h3 id="안정적인_모듈(Stable_modules)">안정적인 모듈(Stable modules)</h3>
-
-<p>몇개의 모듈은 이미 상당히 안정적이고, CSSWG의 recommendation 3단계(Candidate Recommendation, Propesed Recommendation, Recommendation) 중 하나에 도달했습니다. 이 모듈들은 별도의 과정없이도 꽤 안정적으로 사용할 수 있습다. 하지만 몇몇 기능은 여전히 Candidate Recommendation 단계에 머물러 있습니다.</p>
-
-<p>모듈들은 명세(spec)의 핵심이 되는 CSS2.1을 수정, 상속하고 있습니다. 이것을 포함한 모듈들이 CSS3 명세의 스냅샷이 됩니다.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td class="thirdColumn greenBg"><strong>{{ SpecName("CSS3 Colors", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Colors") }} since June 7th, 2011</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>{{ cssxref("opacity") }} 프로퍼티(property)와 {{cssxref("&lt;color&gt;")}} 밸류를 생성하기 위한 the <code>hsl</code><code>()</code>, <code>hsla()</code>, <code>rgba(),</code> <code>rgb()</code> 함수를 추가합니다. 또한 the <code>currentColor</code> keyword로 유효한 색상을 얻을 수 있습니다.</p>
-
- <p><code style="font-style: normal; line-height: 1.5;">alpha channel의 지원으로 </code><span style="font-family: courier new,andale mono,monospace; line-height: 1.5;">rgba(0,0,0,0.0)의 별칭인 </span><code style="font-style: normal; line-height: 1.5;">transparent를 사용할 수 있습니다.</code></p>
-
- <p> 더이상 사용해선 안되는 <a href="http://www.w3.org/TR/CSS2/ui.html#system-colors">system-color </a>키워드를 deprecates 합니다.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Selectors", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Selectors") }} since September 29th, 2011</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>다음이 추가되었습니다.</p>
-
- <ul>
- <li>attribute와 일치하는 부분문자열 selector : <code>E[attribute^="value"]</code> , <code>E[attribute$="value"]</code> , <code>E[attribute*="value"]</code> .</li>
- <li>새로운 pseudo-class : {{ cssxref(":target") }}, {{ cssxref(":enabled") }} and {{ cssxref(":disabled") }}, {{ cssxref(":checked") }}, {{ cssxref(":indeterminate") }}, {{ cssxref(":root") }}, {{ cssxref(":nth-child") }} and {{ cssxref(":nth-last-child") }}, {{ cssxref(":nth-of-type") }} and {{ cssxref(":nth-last-of-type") }}, {{ cssxref(":last-child") }}, {{ cssxref(":first-of-type") }} and {{ cssxref(":last-of-type") }}, {{ cssxref(":only-child") }} and {{ cssxref(":only-of-type") }},{{ cssxref(":empty") }}, and {{ cssxref(":not") }}.</li>
- <li>Pseudo-elements는 콜론을 하나가 아니라 둘을 사용하도록 함 : <code>:after</code> 가  {{ cssxref("::after") }}로, <code>:before</code> 가 {{ cssxref("::before") }}로, <code>:first-letter</code> 가 {{ cssxref("::first-letter") }}로, <code>:first-line</code> 가 {{ cssxref("::first-line") }}로 바뀌었음.</li>
- <li>새로운 <em>general sibling combinator</em> ( <code>h1~pre</code> ).</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>아직 Working Draft로 공개되진 않았지만, <a class="external" href="http://dev.w3.org/csswg/selectors4/" title="http://dev.w3.org/csswg/selectors4/">셀렉터 명세의 다음 버전</a>이 이미 진행중입니다.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Namespaces", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Namespaces") }} since September 29th, 2011</td>
- </tr>
- <tr>
- <td colspan="2">
- <p><em>CSS qualified name</em><span style="line-height: 1.5;">의 개념을 정의하여 </span><span style="line-height: 1.5;">XML Namespaces에 대한 지원이 추가됩니다. </span><span style="line-height: 1.5;"> 이를 위해 ' </span><code style="font-style: normal; line-height: 1.5;">|</code><span style="line-height: 1.5;"> ' 문법을 사용하고 </span><span style="line-height: 1.5;">{{ cssxref("@namespace") }} CSS at-rule을 더합니다.</span></p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Media Queries", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Media Queries") }} since June 19th, 2012</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>이전의 media type ( <code>print</code>, <code>screen</code>, <code>…</code> )을 <span style="font-family: courier new,andale mono,monospace; line-height: 1.5;">only screen and (color)와 같이 </span><a href="/en/CSS/Media_queries" style="line-height: 1.5;" title="en/CSS/Media_queries">디바이스의 media capabilities에 대한 질의</a><span style="line-height: 1.5;">가 가능한 full language로 확장합니다.</span></p>
-
- <p>미디어 쿼리는 CSS 문서에서만 사용되는 것이 아니라 {{ HTMLElement("link") }}의 {{ htmlattrxref("media","link") }}어트리뷰트와 같이 일부 HTML 엘리먼트에서도 사용할 수 있습니다. .</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p><code style="font-style: normal; line-height: 1.5;"><code style="font-style: normal; line-height: 1.5;">사</code><span style="font-family: open sans,sans-serif; line-height: 1.5;">용자 에이전트의 입력 메소드에 대해 잘 맞는 </span>웹사이트를 제작할 수 있게 해줄</code><span style="line-height: 1.5;"> </span><span style="line-height: 1.5;"> </span><a href="http://dev.w3.org/csswg/mediaqueries4" style="line-height: 1.5;" title="http://dev.w3.org/csswg/mediaqueries4">이 명세의 다음 버전이</a><span style="line-height: 1.5;"> 진행중입니다.</span><span style="line-height: 1.5;"> </span><code style="font-style: normal; line-height: 1.5;">hover나</code><span style="line-height: 1.5;"> </span><code style="font-style: normal; line-height: 1.5;">pointerd와 같은 새로운 미디어 기능을 포함하고 있습니다. </code><code style="font-style: normal; line-height: 1.5;">script</code><span style="line-height: 1.5;"> media features를 이용해 EcmaScript에서도 감지할 수 있도록 제안되었습니다.</span></p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(128,255,128);"><strong>{{ SpecName("CSS3 Style", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Style") }} since November 7th, 2013</td>
- </tr>
- <tr>
- <td colspan="2">HTML <a href="/en/HTML/Global_attributes#attr-style" title="en/HTML/Global_attributes#attr-style"><code>style</code> </a> 전역 특성(global attribute)의 내용(contents)에 관한 문법을 공식적으로 정의합니다.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Backgrounds", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Backgrounds") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>다음이 추가되었습니다. </p>
-
- <ul>
- <li><code>uri()</code> 를 통해 정의된 이미지 뿐 아니라 모든 종류의 {{cssxref("&lt;image&gt;")}}에 backgrounds를 지원.</li>
- <li>다중 background 이미지를 지원.</li>
- <li>{{ cssxref("background-repeat") }}의 밸류로 <code>space</code> 와 <code>round가 추가.</code></li>
- <li>The {{ cssxref("background-attachment") }} <code>local</code> value.</li>
- <li>The CSS {{ cssxref("background-origin") }}, {{ cssxref("background-size") }},  {{ cssxref("background-clip") }} 프로퍼티</li>
- <li>CSS {{ cssxref("border-radius") }}, {{ cssxref("border-top-left-radius") }}, {{ cssxref("border-top-right-radius") }}, {{ cssxref("border-bottom-left-radius") }},{{ cssxref("border-bottom-right-radius") }} 프로퍼티를 통해 곡선 형태의 테투리를 지원.</li>
- <li> CSS {{ cssxref("border-image") }}, {{ cssxref("border-image-source") }}, {{ cssxref("border-image-slice") }}, {{ cssxref("border-image-width") }}, {{ cssxref("border-image-outset") }}, and {{ cssxref("border-image-repeat") }} 프로퍼티를 이용해 {{cssxref("&lt;image&gt;")}}를 테두리로 사용할 수 있음.</li>
- <li> CSS {{ cssxref("box-shadow") }} 프로퍼티를 이용해 엘리먼트에 그림자 효과 부여 가능.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p> 아직 Working Draft의 초안이 공개되진 않았지만 <a class="external" href="http://dev.w3.org/csswg/css4-background/" title="http://dev.w3.org/csswg/css4-background/">CSS4 Backgrounds 와 Borders 명세의 다음 버전</a>이 이미 진행중입니다. 테두리를 잘라내는 기능(CSS {{ cssxref("border-clip") }}, {{ cssxref("border-clip-top") }}, {{ cssxref("border-clip-right") }}, {{ cssxref("border-clip-bottom") }}와 {{ cssxref("border-clip-left") }} 프로퍼티를 사용)이나 테투리의 모서리 모양을 조절하는 기능 (CSS {{ cssxref("border-corner-shape") }} 프로퍼티를 사용)을 추가할 계획입니다.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Multicol", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Multicol") }}</td>
- </tr>
- <tr>
- <td colspan="2">CSS {{ cssxref("columns") }}, {{ cssxref("column-count") }}, {{ cssxref("column-fill") }}, {{ cssxref("column-gap") }}, {{ cssxref("column-rule") }}, {{ cssxref("column-rule-color") }}, {{ cssxref("column-rule-style") }}, {{ cssxref("column-rule-width") }}, {{ cssxref("column-span") }}, {{ cssxref("column-width") }}, {{ cssxref("break-after") }}, {{ cssxref("break-before") }},  {{ cssxref("break-inside") }}를 이용해 쉽게 다중 열 레이아웃을 만들 수 있습니다.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Speech", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Speech") }}</td>
- </tr>
- <tr>
- <td colspan="2"><code>청각 포맷 모델과 사용자 에이전트의 speech-rendering에 특화된 수많은 프로퍼티를 내용으로 하는 speech</code> 미디어 타입을 정의합니다. </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Images", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Images") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>{{cssxref("&lt;image&gt;")}} 데이터 타입을 정의합니다.</p>
-
- <p>미디어 프래그먼트를 이용해 이미지를 자를 수 있도록 <code style="font-style: normal; line-height: 1.5;">url()</code><span style="line-height: 1.5;"> 을 상속합니다.</span></p>
-
- <p>다음이 추가되었습니다 :</p>
-
- <ul>
- <li>{{cssxref("&lt;resolution&gt;")}} 데이터 타입에 대한 단위인 <code style="font-style: normal;">dppx</code>.</li>
- <li><code><font face="Open Sans, sans-serif">url로 부터 이미지를 정의하는 데 있어 </font></code><code>url()</code> 보다 더 유연한 <code style="font-style: normal;">image()</code> 함수.<br>
- <em><strong>주의</strong>  </em><strong><em>:</em> </strong><em>브라우저의 불충분한 지원으로  <code>image()</code> 함수의 표준화는 이 모듈의 다음 버전으로 연기될 수 있습니다.</em></li>
- <li><code>linear-gradient()</code>, <code>repeating-linear-gradient()</code>, <code>radial-gradient()<font face="Open Sans, sans-serif">, </font></code><code>repeating-radial-gradient()을 지원</code>.</li>
- <li>CSS {{ cssxref("object-fit") }} 프로퍼티를 이용해 교체된 엘리먼트가 어떻게 맞춰져야할지 정의할 수 있음.<br>
- <em><em><strong>주의</strong>  </em><strong><em>:</em> </strong><em>브라우저의 불충분한 지원으로  <em>{{ cssxref("object-fit") }}</em>의 표준화는 이 모듈의 다음 버전으로 연기될 수 있습니다.</em> </em></li>
- <li>CSS {{ cssxref("image-resolution") }} 와 {{ cssxref("image-orientation") }} 프로퍼티를 이용해 외부 이미지의 방향과 해상도를 오버라이드 할수 있음<br>
- <em><em><strong>주의</strong>  </em><strong><em>:</em> </strong><em>브라우저의 불충분한 지원으로  <em> {{ cssxref("image-resolution") }} 와 {{ cssxref("image-orientation") }}</em>의 표준화는 이 모듈의 다음 버전으로 연기될 수 있습니다.</em> </em></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>CSS Image Level 3를 대체할  <a href="#Images_(Level_4)" style="line-height: 1.5;">CSS Image Values 와 Replaced Content Level 4</a><span style="line-height: 1.5;"> 는 현재 개발중에 있고 {{Spec2("CSS4 Images")}} 입니다.</span></p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Values", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Values") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p><code>initial</code> 키워드와 <code>inherit</code> 키워드를 모든 CSS 프로퍼티에 대해 사용할 수 있습니다.</p>
-
- <p><span style="line-height: 1.5;">문법적 토큰과 원문의 정도(Precision)의해 </span><span style="line-height: 1.5;">암묵적으로 </span><span style="line-height: 1.5;">정의했던 CSS2.1의 CSS 데이터 타입을 </span><span style="line-height: 1.5;">공식적으로  </span><span style="line-height: 1.5;">정의합니다. </span></p>
-
- <p>다음이 추가되었습니다 :</p>
-
- <ul>
- <li>폰트에 상대적인 길이 단위에 대한 정의 : <code>rem</code> , <code>ch</code> .</li>
- <li>뷰포트에 상대적인 길이 단위에 대한 정의: <code>vw</code>, <code>vh</code>, <code>vmax</code>, <code>vmin</code> .</li>
- <li>절대 길이 단위의 실제 사이즈에 대한 정도(Precision). 절대 길이는 실제로는 '절대치'가 아니며 <em>reference pixel</em>에 대하여 상대적으로 정의.</li>
- <li>{{ cssxref("&lt;angle&gt;") }}, {{cssxref("&lt;time&gt;")}}, {{cssxref("&lt;frequency&gt;")}}, {{cssxref("&lt;resolution&gt;")}}에 대한 정의.</li>
- <li> {{cssxref("&lt;color&gt;")}}, {{cssxref("&lt;image&gt;")}}, {{ cssxref("&lt;position&gt;") }}의 정의에 대한 규범적인 밸류.</li>
- <li>{{ cssxref("calc", "calc()") }}, {{ cssxref("attr", "attr()")}}에 대한 정의와 <code>toggle()의</code> 표기법<br>
- <em><strong>주의 :</strong><em><em>브라우저의 불충분한 지원으로  <em> </em></em></em><code>calc()</code>, <code>attr()</code>, <code>ooggle()</code> 표기법의 표준화는 이 모듈의 다음 버전으로 연기될 수 있습니다.</em></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p> <code>&lt;ident&gt;</code> ,<code>&lt;custom-ident&gt;같은 몇몇 정의는 </code>CSS Values and Units Module Level 4로 미뤄졌습니다..</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Flexbox", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Flexbox") }}</td>
- </tr>
- <tr>
- <td colspan="2">CSS {{ cssxref("display") }} 프로퍼티에 flexbox layout과 이것을 제어할 몇몇 새 CSS 프로퍼티가 추가되었습니다 : {{ cssxref("flex") }}, {{ cssxref("flex-align") }}, {{ cssxref("flex-direction") }}, {{ cssxref("flex-flow") }}, {{ cssxref("flex-item-align") }}, {{ cssxref("flex-line-pack") }}, {{ cssxref("flex-order") }}, {{ cssxref("flex-pack") }}, and {{ cssxref("flex-wrap") }}.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Conditional", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Conditional") }}</td>
- </tr>
- <tr>
- <td colspan="2">스타일 시트의 몇몇 부분을 특정 조건하에 처리하기 위한 기능이 추가되었습니다. 스타일시트가 적용될 문서나 브라우저의 능력에 따라 작동하게 됩니다{{ cssxref("@media") }}의 하위에 들여쓰기된 앳-룰(at-rule)을 사용할 수 있고, 새로운 CSS 앳-룰인 {{ cssxref("@supports") }}와 새 DOM 메소드인 {{domxref("CSS.supports()")}}가 추가되었습니다.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220, 255, 220);"><strong>{{ SpecName("CSS3 Text-decoration", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Text-decoration") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Extends:</p>
-
- <ul>
- <li>the CSS {{ cssxref("text-decoration") }} property by making it a shorthand for the CSS {{ cssxref("text-decoration-line") }}, {{ cssxref("text-decoration-color") }}, and {{ cssxref("text-decoration-style") }} properties. And adds the {{ cssxref("text-decoration-skip") }}, and {{ cssxref("text-underline-position") }} properties.</li>
- </ul>
-
- <p>Adds:</p>
-
- <ul>
- <li>Support for East-Asian-script emphasis marks with the CSS {{ cssxref("text-emphasis") }}, {{ cssxref("text-emphasis-style") }}, {{ cssxref("text-emphasis-color") }}, and {{ cssxref("text-emphasis-position") }} properties.</li>
- <li>Support for script shadows with the CSS {{ cssxref("text-shadow") }} property.</li>
- </ul>
-
- <p>Precises:</p>
-
- <ul>
- <li>The paint order of the decorations.</li>
- </ul>
-
- <p><em><strong>At risk:</strong> due to insufficient browser support, standardization of the <code>text-decoration-skip</code>, line positioning rules and the ability to place both emphasis marks and ruby above the same base text may be postponed to </em> <em>the next iteration of this module</em><em>.</em></p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Fonts", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Fonts") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Amends the CSS2.1 Font matching algorithm to be closer to what is really implemented.</p>
-
- <p>Adds:</p>
-
- <ul>
- <li>Support for downloadable fonts via the CSS {{ cssxref("@font-face") }} at-rule.</li>
- <li>The control of the contextual inter-glyph spacing via the CSS {{ cssxref("font-kerning") }} property.</li>
- <li>The choice of language-specific glyphs via the CSS {{ cssxref("font-language-override") }} property.</li>
- <li>The choice of glyphs with specific OpenType features via the CSS {{ cssxref("font-feature-settings") }} property.</li>
- <li>The control of the aspect ratio to use when fallback fonts are selected via the CSS {{ cssxref("font-size-adjust") }} property.</li>
- <li>The choice of alternative font faces using the CSS {{ cssxref("font-stretch") }}, {{ cssxref("font-variant-alternates") }}, {{ cssxref("font-variant-caps") }}, {{ cssxref("font-variant-east-asian") }}, {{ cssxref("font-variant-ligatures") }}, {{ cssxref("font-variant-numeric") }}, and {{ cssxref("font-variant-position") }} properties. It also extends the related CSS {{ cssxref("font-variant") }} shorthand property and introduces the {{ cssxref("@font-features-values") }} at-rule.</li>
- <li>The control of the automatic generation of an oblique or bold face when none are found via the CSS {{ cssxref("font-synthesis") }} property.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(220,255,220);"><strong>{{ SpecName("CSS3 Syntax", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Syntax") }}</td>
- </tr>
- <tr>
- <td colspan="2">Precises how charsets are determined; minor changes in parsing and tokenization algorithms.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modules_in_the_refining_phase">Modules in the refining phase</h3>
-
-<p>Specifications that are deemed to be in the <em>refining phase</em> are already fairly stable. Though changes are still expected, they shouldn't create incompatibilities with current implementations; they should mainly define behavior in edge cases.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Basic UI", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Basic UI") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Adds:</p>
-
- <ul>
- <li>The ability to tweak the box model using the CSS {{ cssxref("box-sizing") }} property.<br>
- <strong><em>At risk:</em> </strong> <em> due to insufficient browser support, standardization of the <code>padding</code><code>-box</code> value may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>Allow the styling of forms according their content using the CSS {{ cssxref(":indeterminate") }}, {{ cssxref(":default") }}, {{ cssxref(":valid") }}, {{ cssxref(":invalid") }}, {{ cssxref(":in-range") }}, {{ cssxref(":out-of-range") }}, {{ cssxref(":required") }}, {{ cssxref(":optional") }}, {{ cssxref(":read-only") }}, and {{ cssxref(":read-write") }} pseudo-classes and the {{ cssxref("::value") }}, {{ cssxref("::choices") }}, {{ cssxref("::repeat-item") }}, and {{ cssxref("::repeat-index") }} pseudo-elements.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the pseudo-elements {{ cssxref("::value") }}, {{ cssxref("::choices") }}, {{ cssxref("::repeat-item") }}, and {{ cssxref("::repeat-index") }} may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>Support for icons, defined by the CSS {{ cssxref("icon") }} property simultaneously with the new <code>icon</code> value of the CSS {{ cssxref("content") }} property.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the {{ cssxref("icon") }} property and the <code>icon</code> value may be postponed to CSS4. </em></li>
- <li>Support for the CSS {{ cssxref("outline-offset") }} property giving more control on the position of the outline.</li>
- <li>Support for the CSS {{ cssxref("resize") }} property allowing Web authors to control if and how elements should be resized.</li>
- <li>Support for the CSS {{ cssxref("text-overflow") }} property defining how text overflows, if needed.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, the 2-value syntax of this property as well as the support for {{cssxref("&lt;string&gt;")}} values may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>The ability to define the hotspot of a cursor as well as the new <code>none</code>, <code>context-menu</code>, <code>cell</code>, <code>vertical-text</code>, <code>alias</code>, <code>copy</code>, <code>no-drop</code>, <code>not-allowed</code>, <code>nesw-</code><code>resize</code>, <code>nwse-</code><code>resize</code>, <code>col-resize</code>, <code>row-resize</code>, <code>all-scroll</code>, <code>zoom-in</code>, <code>zoom-out</code>, extending the {{ cssxref("cursor") }} property.</li>
- <li>The ability to specify the sequential navigation order (that is the <em>tabbing order</em> ) using the CSS {{ cssxref("nav-index") }}, {{ cssxref("nav-up") }}, {{ cssxref("nav-right") }}, {{ cssxref("nav-left") }}, {{ cssxref("nav-down") }} properties.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the navigation properties may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- <li>The ability to control the usage of an IME editor, using the CSS {{ cssxref("ime-mode") }} property.<br>
- <em><strong>At risk:</strong> due to insufficient browser support, standardization of the {{ cssxref("ime-mode") }} property may be postponed to </em> <em>the next iteration of this module</em> <em>.</em></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>An early list of what could be in the next iteration of the CSS Basic User Interface Module is <a class="external" href="http://wiki.csswg.org/spec/css4-ui" title="http://wiki.csswg.org/spec/css4-ui">available</a>.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Transitions", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Transitions") }}</td>
- </tr>
- <tr>
- <td colspan="2">Allows the definition of transitions effects between two properties values by adding the CSS {{ cssxref("transition") }}, {{ cssxref("transition-delay") }}, {{ cssxref("transition-duration") }}, {{ cssxref("transition-property") }}, and {{ cssxref("transition-timing-function") }} properties.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Animations", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Animations") }}</td>
- </tr>
- <tr>
- <td colspan="2">Allows the definition of animations effects by adding the CSS {{ cssxref("animation") }}, {{ cssxref("animation-delay") }},{{ cssxref("animation-direction") }}, {{ cssxref("animation-duration") }}, {{ cssxref("animation-fill-mode") }}, {{ cssxref("animation-iteration-count") }}, {{ cssxref("animation-name") }}, {{ cssxref("animation-play-state") }}, and {{ cssxref("animation-timing-function") }} properties, as well as the {{ cssxref("@keyframes") }} at-rule.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Transforms", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Transforms") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Adds:</p>
-
- <ul>
- <li>the support of bi-dimensional transforms to be applied to any element using the CSS {{ cssxref("transform") }} and {{ cssxref("transform-origin") }} properties. The supported transforms are: <code>matrix</code><code>()</code>, <code>translate()</code>, <code>translateX()</code>, <code>translateY()</code>, <code>scale()</code>, <code>scaleX()</code>, <code>scaleY()</code>, <code>rotate()</code>, <code>skewX()</code>, and <code>skewY()</code>.</li>
- <li>the support of tri-dimensional transforms to be applied to any element by adding the CSS {{ cssxref("transform-style") }}, {{ cssxref("perspective") }}, {{ cssxref("perspective-origin") }}, and {{ cssxref("backface-visibility") }} properties and extended the {{ cssxref("transform") }} property with the following transforms are: <code>matrix</code> <code>3d()</code>, <code>translate3d()</code>, <code>translateZ()</code>,  <code>scale3d()</code>, <code>scaleZ()</code>, <code>rotate3d()</code>, <code>rotateX</code><code>()</code> ,<code>rotateY</code><code>()</code>, <code>rotateZ()</code>, and <code>perspective()</code>.</li>
- </ul>
-
- <p><em><strong>Note:</strong> this specification is a merge of CSS 2D-Transforms, CSS 3D-Transforms and SVG transforms. </em></p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255, 255, 220);"><strong>{{ SpecName("CSS3 Fragmentation", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Fragmentation") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines how partitions of a Web page should happen, that is page, column breaks, and widows and orphans handling.
- <p>Adds:</p>
-
- <ul>
- <li>Support for defining the behavior of decorations, that is borders and background colors or images, when a box is breaked (at a page, column or line-break) with the CSS {{ cssxref("box-decoration-break") }} property.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Text", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Text") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Extends:</p>
-
- <ul>
- <li>the CSS {{ cssxref("text-transform") }} property with the value <code>full-width</code>.</li>
- <li>the CSS {{ cssxref("text-align") }} property with the value <code>start</code>, <code>end</code>, <code>start end</code>, and <code>match-parent</code> for a better support of documents with multiple directionalities of text.</li>
- <li>the CSS {{ cssxref("text-align") }} property with a {{cssxref("&lt;string&gt;")}} value to align on that character. This is useful to align number on the decimal point.</li>
- <li>the CSS {{ cssxref("word-spacing") }} and {{ cssxref("letter-spacing") }} properties with range constraints to control flexibility in justification.</li>
- </ul>
-
- <p>Adds:</p>
-
- <ul>
- <li>Control on how whitespaces are displayed using the CSS {{ cssxref("text-space-collapse") }} and {{ cssxref("tab-size") }} properties.</li>
- <li>Control on line breaks and word boundaries using the CSS {{ cssxref("line-break") }}, {{ cssxref("word-break") }}, {{ cssxref("hyphens") }}, {{ cssxref("text-wrap") }}, {{ cssxref("overflow-wrap") }}, and {{ cssxref("text-align-last") }} properties.</li>
- <li>Control on how justification is happening, in order to support more type of scripts, using the CSS {{ cssxref("text-justify") }} property.</li>
- <li>Control on edge effect using the CSS {{ cssxref("text-indent") }} and {{ cssxref("hanging-punctuation") }} properties.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>A few features present in early CSS Text Level 3 draft have being <a class="external" href="http://dev.w3.org/csswg/css3-text/#recent-changes" title="http://dev.w3.org/csswg/css3-text/#recent-changes">postponed to the next iteration of this module</a> .</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,255,220);"><strong>{{ SpecName("CSS3 Variables", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Variables") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines a mechanism allowing to define variables in CSS.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modules_in_the_revising_phase">Modules in the revising phase</h3>
-
-<p>Modules that are in the revising phase are much less stable than those in the refining phase. Often the syntax is still under scrutiny and may evolve a lot, in a non-compatible way. Alternative syntax are tested and often implemented.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: rgb(255,160,100);"><strong>{{ SpecName("CSS3 Writing Modes", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Writing Modes") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines the writing modes of both horizontal and vertical scripts and precises how the CSS {{ cssxref("direction") }} and {{ cssxref("unicode-bidi") }} properties interact with the new CSS {{ cssxref("text-orientation") }} property, and extends them where needed.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Modules_in_the_exploring_phase">Modules in the exploring phase</h3>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS4 Images", "", "") }}</strong></td>
- <td>{{ Spec2("CSS4 Images") }}</td>
- </tr>
- <tr>
- <td colspan="2">
- <p>Extends:</p>
-
- <ul>
- <li>the <code>image()</code> functional notation to describe the directionality of the image (<code>rtl</code> or <code>ltr</code>), allowing for bidi-sensitive images.</li>
- <li>the {{ cssxref("image-orientation") }} property by adding the keyword <code>from-image</code>, allowing to follow EXIF data stored into images to be considered.</li>
- </ul>
-
- <p>Adds:</p>
-
- <ul>
- <li>the <code>image-set()</code> functional notation to allow the definition to equivalent images at different resolution allowing for resolution-negotiated selection of images.</li>
- <li>the <code>element()</code> functional notation allowing the use of part of the page as image.</li>
- <li>the <code>cross-fade()</code> functional notation allowing to refer to intermediate images when transitioning between two images and defines the interpolation between two images.</li>
- <li>the <code>conic-gradient()</code> and <code>repeating-conic-gradient()</code> functional notation describing a new type of gradient.</li>
- <li>the {{cssxref("image-rendering")}} property that allow to define how resize of the object should be handled.</li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Device", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Device") }}</td>
- </tr>
- <tr>
- <td colspan="2">Adds a new at-rule, {{ cssxref("@viewport") }}, allowing to specify the size, zoom factor, and orientation of the viewport that is used as the base for the initial containing block.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table" style="width: 100%;">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Grid", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Grid") }}</td>
- </tr>
- <tr>
- <td colspan="2">Add a grid layout to the CSS <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display" title=""><code>display</code></a> property and several new CSS properties to control it: {{cssxref("grid")}}, {{cssxref("grid-area")}}, {{cssxref("grid-auto-columns")}}, {{cssxref("grid-auto-flow")}}, {{cssxref("grid-auto-position")}}, {{cssxref("grid-auto-rows")}}, {{cssxref("grid-column")}}, {{cssxref("grid-column-start")}}, {{cssxref("grid-column-end")}}, {{cssxref("grid-row")}}, {{cssxref("grid-row-start")}}, {{cssxref("grid-row-end")}}, {{cssxref("grid-template")}}, {{cssxref("grid-template-areas")}}, {{cssxref("grid-template-rows")}}, and {{cssxref("grid-template-columns")}}.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 GCPM", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 GCPM") }}</td>
- </tr>
- <tr>
- <td colspan="2">Adds the ability to tailor printed version of a document by allowing to control header, footer but also references tables like indexes or tables of content.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Exclusions and Shapes", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Exclusions and Shapes") }}</td>
- </tr>
- <tr>
- <td colspan="2">Extends the floats mechanism to define exclusion regions in any positioning scheme. Adds the notion of shapes, in which content must flows.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Lists", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Lists") }}</td>
- </tr>
- <tr>
- <td colspan="2">Extends the list counter mechanism so that list markers can be styled and Web developers can define new list counter schemes.</td>
- </tr>
- </tbody>
-</table>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td style="width: 30%; background-color: #F66;"><strong>{{ SpecName("CSS3 Regions", "", "") }}</strong></td>
- <td>{{ Spec2("CSS3 Regions") }}</td>
- </tr>
- <tr>
- <td colspan="2">Defines a new mechanism allowing content to flow across, eventually non-contiguous, multiple areas called regions.</td>
- </tr>
- </tbody>
-</table>
-
-<p> </p>
diff --git a/files/ko/archive/index.html b/files/ko/archive/index.html
deleted file mode 100644
index b2d6f1116d..0000000000
--- a/files/ko/archive/index.html
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: 쓸모 없는 구식 문서들
-slug: Archive
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive
----
-<p>Here at MDN, we try to avoid outright deleting content that might be useful to people targeting legacy platforms, operating systems, and browsers. Perhaps your target audience is people that are using older hardware, for example, and can't upgrade to the latest and greatest browsers. Or for "reasons," your company is required to use very old software and you need to build Web content that runs on that software. Or perhaps you're just curious about the history of an obsolete feature or API, and how it worked.</p>
-
-<p>There are many reasons older documentation can be useful. So, we've established this area into which we can archive older documentation. Material in this Archived content zone should <strong>not</strong> be used for building new Web sites or apps for modern browsers. It's here for historical reference only.</p>
-
-<div class="note">
-<p><strong>Note to writers:</strong> We need to try to keep the subpages here organized instead of all dumped into one large folder. Try to create subtrees for categories of material. Also, only move pages here that are <strong>extremely</strong> obsolete. If anyone might realistically need the information in a living product, it may not be appropriate to move it here. In general, it may be best to discuss it in the <a href="https://chat.mozilla.org/#/room/#mdn:mozilla.org">MDN Web Docs chat room</a> before moving content here.</p>
-</div>
-
-<p>{{SubpagesWithSummaries}}</p>
-
-<h2 id="Subnav">Subnav</h2>
-
-<p>{{ListSubpages("/en-US/docs/Archive", 2, 0, 1)}}</p>
diff --git a/files/ko/archive/mdn/index.html b/files/ko/archive/mdn/index.html
deleted file mode 100644
index 9e550840e3..0000000000
--- a/files/ko/archive/mdn/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: MDN Archive
-slug: Archive/MDN
-tags:
- - Archive
- - MDN
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/MDN
----
-<p>{{MDNSidebar}}</p>
-
-<div class="blockIndicator obsolete">
-<p><strong>Obsolete</strong><br>
- This documentation is obsolete.</p>
-</div>
-
-<p>The documentation listed below is archived, obsolete material about MDN itself.</p>
-
-<p>{{LandingPageListSubpages}}</p>
diff --git a/files/ko/archive/meta_docs/index.html b/files/ko/archive/meta_docs/index.html
deleted file mode 100644
index dcca5c09ac..0000000000
--- a/files/ko/archive/meta_docs/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: MDN "meta-documentation" archive
-slug: Archive/Meta_docs
-tags:
- - Archive
- - MDN
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Meta_docs
----
-<p>Here you'll find archived "meta-documentation"; that is, documentation about how to write documentation on MDN. The articles here are obsolete and should no longer be referenced; we are retaining them here for reference while we migrate some content to new places, but very little of this is useful.</p>
-<p></p><div class="row topicpage-table">
- <div class="section"><dl><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Article_page_layout_guide">Article page layout guide</a></dt><dd class="landingPageList">An <strong>article</strong> is any page that explains or teaches something. These are non-reference pages which are also not landing pages. In general, if a page is primarily prose and/or sample code, it's an article.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Blog_posts_to_integrate_into_documentation">Blog posts to integrate into documentation</a></dt><dd class="landingPageList">Often, Mozilla developers and community members write blog posts. And often, those blog posts are really, really awesome. And, often, those blog posts include information that really ought to be included on MDN. Sometimes, it's the entire blog post that could be adapted into a tutorial on MDN (but please check with the author first, unless they're known to have given blanket permission!), and other times, there are just details about changes to Firefox or web technologies that we need to be sure are reflected in the right places in the docs.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Current_events">Current events</a></dt><dd class="landingPageList"></dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Custom_classes">Custom CSS classes for MDN</a></dt><dd class="landingPageList">The following are the custom CSS classes that we have defined for the Devmo wiki. If, for whatever reason, you need a custom class defined in the CSS for this wiki, feel free to contact the <a href="mailto:eshepherd@mozilla.com?subject=Idea%20for%20a%20new%20custom%20CSS%20class%20for%20MDN&amp;body=I%20was%20looking%20at%20the%20%22Custom%20CSS%20Classes%22%20page%20and%20had%20an%20idea%20for%20a%20class%20we%20need%3A" title="mailto:eshepherd@mozilla.com?subject=Idea%20for%20a%20new%20custom%20CSS%20class%20for%20MDN&amp;body=I%20was%20looking%20at%20the%20%22Custom%20CSS%20Classes%22%20page%20and%20had%20an%20idea%20for%20a%20class%20we%20need%3A">documentation team lead</a>.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/MDC_design_document">Design Document</a></dt><dd class="landingPageList"></dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/DevEdge">DevEdge</a></dt><dd class="landingPageList">This is a temporary Index of the content that has been migrated from DevEdge to this wiki. The original list and mirror are linked below.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Documentation_process">Developer documentation process</a></dt><dd class="landingPageList">In order to improve the quality of our documentation, and our ability to coordinate among the various members of the Mozilla documentation community, we have a process by which documentation is maintained. This article describes how this works and offers useful links to help you ensure that the work you do is as helpful and useful as possible to the community of Web and Mozilla developers.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Disambiguation">Disambiguation</a></dt><dd class="landingPageList"><strong>Disambiguation</strong> in the MDC wiki is the <strong>process</strong> of resolving <em>ambiguity,</em> referring to the conflicts that occur when articles about two or more different topics have the same "natural" title.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Planning">Documentation planning and tracking</a></dt><dd class="landingPageList">We are in the process of trying to use scrumbugs to track documentation from the point at which the bug is filed through prioritization, assignment to a writer, and eventual completion. This page will cover some details of how we use it.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Documentation_wishlist">Documentation Wishlist</a></dt><dd class="landingPageList">Is there a specific <strong>article or piece of documentation</strong> we're missing that you really wish we had? Add it to the <a href="/en-US/docs/Project:Documentation_Wishlist#Wishlist">list</a> below. Unless you're sure there is no documentation on the topic you're interested in, please ask in the relevant newsgroup and/or on the <a href="/en-US/docs/Project:Community">MDC mailing list</a> first. Also, please make your request easy to understand; add a link to a longer description of the request if needed.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Editing_MDN_pages">Editing MDN pages</a></dt><dd class="landingPageList">This page describes some common tasks when editing MDN pages.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Examples">Examples</a></dt><dd class="landingPageList"></dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Existing_Content_DOM_in_Mozilla">Existing Content/DOM in Mozilla</a></dt><dd class="landingPageList">&lt; <a>MDC:Existing Content</a></dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/External_redirects">External Redirects</a></dt><dd class="landingPageList">The MDC wikis have the ability to redirect to external websites. We have done this so we can have links to external pages within the wiki that will be included in the wiki <a href="en-US/docs/tag/All_Categories">category</a> pages.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Finding_the_right_place_to_document_bugs">Finding the right place to document bugs</a></dt><dd class="landingPageList">Bugzilla is big. Really really big. MDN is big too. This page helps to put two big things together. It:</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Getting_started">Getting started as a new MDN contributor</a></dt><dd class="landingPageList">The <strong>Mozilla Developer Network</strong> (MDN) is a wiki, where <strong>anyone</strong> can add and edit content. You don't need to be a programmer or an expert on the latest technology. There is a wide range of tasks that need to be done, ranging from the simple, such as proofreading and correcting typos, to the more complex, like writing API documentation.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Landing_page_layout_guide">Landing page layout guide</a></dt><dd class="landingPageList">A <strong>landing page</strong> serves as a menu, of sorts, for all of its subpages. It opens with a brief summary of the topic, then presents a structured list of links to subpages, and, optionally, additional material that may be of use.</dd></dl></dl></div>
- <div class="section"><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/MDN_content_on_WebPlatform.org">MDN content on WebPlatform.org</a></dt><dd class="landingPageList"><a href="http://www.webplatform.org/" title="http://www.webplatform.org/">Web Platform Docs</a> (WPD) is a site for documentation and education about Web standards, run by <a href="http://www.w3.org/" title="http://www.w3.org/">W3C</a> and supported by Mozilla, among others. Anyone is welcome to contribute content from MDN to WebPlatform.org, under the terms of MDN's <a href="http://creativecommons.org/licenses/by-sa/2.5/" title="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Share-Alike 2.5</a> (CC-BY-SA) license. Content that originates from MDN must be attributed to MDN, with a link to the source article. The Web Platform Docs site provides support for doing this in a systematic way.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/MDN_page_layout_guide">MDN page layout guide</a></dt><dd class="landingPageList">These guides supplement the <a href="/en-US/docs/MDN/Contribute/Content/Style_guide">MDN style guide</a> with specific layouts for the various types of pages on MDN. This helps contributors create new content that's structurally consistent with the rest of MDN.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Subprojects">MDN subproject list</a></dt><dd class="landingPageList">In order to turn the work of building documentation of All Things Open Web (not to mention All Things Mozilla) into something less daunting, sometimes it's helpful to split it up into subprojects. This page offers a list of links to MDN subproject organizational content.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Needs_redirect">Needs Redirect</a></dt><dd class="landingPageList">If you have</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Page_types">Page types</a></dt><dd class="landingPageList">Before working on the MDN style guide (and the redesign that goes hand-in-hand with it), we need to figure out what types of pages we have, then what those pages look like. This is a list of the types of pages and key attributes of those pages.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/RecRoom_plan">RecRoom documentation plan</a></dt><dd class="landingPageList"><strong>RecRoom</strong> is the codename of a new MDN area that will provide resources for beginning <a href="/en-US/docs/Apps">Web app</a> developers, as well as overall best practices guides for app development.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Remove_in-content_iframes">Remove in-content iframes</a></dt><dd class="landingPageList">Each of the documents listed below has at least one in-place use of the <a href="/en-US/docs/Web/HTML/Element/iframe" title="The HTML &lt;iframe> element represents a nested browsing context, effectively embedding another HTML page into the current page. In HTML 4.01, a document may contain a head and a body or a head and a frameset, but not both a body and a frameset. However, an &lt;iframe> can be used within a normal document body. Each browsing context has its own session history and active document. The browsing context that contains the embedded content is called the parent browsing context. The top-level browsing context (which has no parent) is typically the browser window."><code>&lt;iframe&gt;</code></a> element within it. In order to improve performance and allow us to more easily revise and correct layout in the future, we need to quickly update all of these pages to use macros instead.  This is somewhat urgent, as there is work that needs to be done by our development team that cannot begin until all of these are fixed. That's where you come in!</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Team_status_board">Team status board</a></dt><dd class="landingPageList">This table is a list of MDN contributors and what they're currently working on. Feel free to add yourself and what you're up to to this list, but keep in mind that we will purge out-of-date entries regularly, so if you choose to add yourself, do your best to keep your information current (even if all you do is update the "last updated" so we know you're keeping it current, despite your work taking a long time to finish).</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Trello">Trello</a></dt><dd class="landingPageList">The MDN community uses a <a href="https://trello.com/b/HAhl54zz/mdn-content-team-status">Trello board</a> to organize and keep track of the things that need to be done to improve, update, and add to our content. This guide will help you learn what Trello is and how we use it.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Using_the_Mozilla_Developer_Center">Using the Mozilla Developer Center</a></dt><dd class="landingPageList">Welcome to the Mozilla Developer Center! Here you'll find documentation for not only working on the code and other components of the Mozilla project, but also for developing add-ons for Mozilla-based software, creating new software based on Mozilla code, and web development for the open Web.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Welcome">Welcome to the Mozilla Developer Network</a></dt><dd class="landingPageList">The Mozilla Developer Network is the most comprehensive and accurate resource for Web development, as written by you, the developers.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Chrome_code">Writing chrome code documentation plan</a></dt><dd class="landingPageList">We need a good guide to writing chrome JavaScript code. This plan proposes a project to produce that documentation.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Meta_docs/Writing_content">Writing content</a></dt><dd class="landingPageList">There are always things that can be added or updated on MDN. Whether it's all-new documentation for a sparkling new API or a revision to an older API that's changed subtly, you'll find lots of opportunities to help.</dd></dl></div>
- </div><p></p>
diff --git a/files/ko/archive/misc_top_level/index.html b/files/ko/archive/misc_top_level/index.html
deleted file mode 100644
index 95bf3b61ab..0000000000
--- a/files/ko/archive/misc_top_level/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Misc top level
-slug: Archive/Misc_top_level
-translation_of: Archive/Misc_top_level
----
-<p>In progress. These pages were moved from the top level of MDN in a spate of furious reorganization.</p>
-
-<p></p>
diff --git a/files/ko/archive/misc_top_level/same-origin_policy_for_file_colon__uris/index.html b/files/ko/archive/misc_top_level/same-origin_policy_for_file_colon__uris/index.html
deleted file mode 100644
index 1dcaa96557..0000000000
--- a/files/ko/archive/misc_top_level/same-origin_policy_for_file_colon__uris/index.html
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: 'file: URI를 위한 동일 출처 정책'
-slug: 'Archive/Misc_top_level/Same-origin_policy_for_file:_URIs'
-translation_of: 'Archive/Misc_top_level/Same-origin_policy_for_file:_URIs'
----
-<p>Gecko 1.8 이전 버전에서, 임의의 두 <code>file:</code> URI들은 같은 출처로 간주됩니다. 즉, 로컬 디스크에 있는 HTML 파일은 로컬 디스크에 있는 다른 파일을 읽을 수 있습니다.</p>
-
-<p>Gecko 1.9 버전부터, 파일은 다른 특정 파일만 읽을 수 있습니다. 특히, 파일은 <em>originating file</em>과 <em>target file</em>의 상위 폴더가 같은 경우에만 다른 파일을 읽을 수 있습니다. 하지만 이 방법으로 폴더를 다운로드할 수는 없습니다.</p>
-
-<p>예를 들어, <code>bar.html</code>에 접근하는 <code>foo.html</code>가 있고 <code>index.html</code>에서 이 파일로 이동한 경우, <code>bar.html</code>가  <code>index.html</code>와 같은 폴더나 하위 폴더에 있어야만 로드가 성공합니다.</p>
-
-<p>이 정책은 <a class="internal" href="/en/DOM/XMLHttpRequest" title="En/XMLHttpRequest"><code>XMLHttpRequest</code></a>, XSLT, XBL을 비롯한 모든 동일 출처를 확인하는데 영향을 줍니다.</p>
-
-<p>다른 window의 DOM에 접근할 경우, 각 파일은 별도의 출처로 처리됩니다. 한 가지 예외적으로 파일을 로드할 수 있는 다른 파일에서 로드된 경우 동일 출처 정책에 따라 동일한 출처로 간주됩니다.  이 로드는 subframe, link, location 설정, <a class="internal" href="/en/DOM/window.open" title="En/DOM/Window.open"><code>window.open()</code></a> 호출 등을 통해 발생할 수 있습니다.</p>
-
-<p>예를 들어, <code>/home/user/foo.html</code>이 frameset이고 <code>/home/user/subdir/bar.html</code>이 frame 중 하나라면, frame과 frameset은 동일한 출처로 간주됩니다.  반대로, <code>/home/user/subdir/foo.html</code>이 frameset이고 <code>/home/user/bar.html</code>가 프레임이라면, frame과 frameset은 다른 출처로 간주됩니다.</p>
-
-<p>기본 값이 <code>true</code>인 새로운 <code>security.fileuri.strict_origin_policy</code> 환경설정은 <code>file:</code> URI에 대해서 출처 정책을 엄격하게 적용하고 싶지 않으면 <code>false</code>로 설정할 수 있습니다.</p>
diff --git a/files/ko/archive/misc_top_level/using_content_preferences/index.html b/files/ko/archive/misc_top_level/using_content_preferences/index.html
deleted file mode 100644
index 247939c43a..0000000000
--- a/files/ko/archive/misc_top_level/using_content_preferences/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: Using content preferences
-slug: Archive/Misc_top_level/Using_content_preferences
-tags:
- - Firefox 3
-translation_of: Archive/Misc_top_level/Using_content_preferences
----
-<p> Firefox 3는 내용 선택 사항(content preferences)이라는 개념을 도입하고 있습니다. 이는 크롬 안에서 실행하는 코드(달리 이야기하면, 웹 사이트가 아닌 확장과 브라우저 자체)가 사이트 별 선택 사항을 지역적으로 저장할 수 있도록 합니다. 이를 이용하면 사용자가 웹 사이트의 외양을 커스터마이즈할 수 있는(예를 들어, 불편할 만큼 작은 글꼴을 사용하는 웹 사이트에) 확장을 작성하는 것이 가능합니다.</p>
-<p>내용 선택 사항 서비스는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentPrefService" title="">nsIContentPrefService</a></code>에 의해 구현되며 특정 사이트에 대한 선택 사항을 지정하고 구하는 기능과 이를 전역 선택 사항 공간에 저장하는 기능을 제공합니다. 전역 선택 사항은 사이트에 특정한 선택 사항을 이용할 수 없을 때 이용합니다.</p>
-<h3 id=".EC.98.88.EC.A0.9C:_.EC.84.A0.ED.83.9D_.EC.82.AC.ED.95.AD.EC.9D.84_.EC.A7.80.EC.A0.95.ED.95.98.EA.B3.A0_.EA.B5.AC.ED.95.98.EA.B8.B0" name=".EC.98.88.EC.A0.9C:_.EC.84.A0.ED.83.9D_.EC.82.AC.ED.95.AD.EC.9D.84_.EC.A7.80.EC.A0.95.ED.95.98.EA.B3.A0_.EA.B5.AC.ED.95.98.EA.B8.B0">예제: 선택 사항을 지정하고 구하기</h3>
-<p>이 예제는 선택 사항을 저장하고 그 값을 구하는 방법을 보여줍니다.</p>
-<pre class="eval">var ioSvc = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(Components.interfaces.nsIIOService);
-var prefService = Components.classes["@mozilla.org/content-pref/service;1"]
- .getService(Components.interfaces.nsIContentPrefService);
-
-// Create a URI object referencing the site to save a preference for
-var uri = ioSvc.newURI("<span class="nowiki">http://developer.mozilla.org/</span>", null, null);
-
-// Set the value of the "devmo.somesetting" preference to "foo".
-
-prefService.setPref(uri, "devmo.somesetting", "foo");
-
-...
-
-// Retrieve the value of the "devmo.somesetting" preference.
-
-var value = prefService.getPref(uri, "devmo.somesetting");
-</pre>
-<h3 id="See_also" name="See_also">See also</h3>
-<p><code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentPrefService" title="">nsIContentPrefService</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIContentPrefObserver" title="">nsIContentPrefObserver</a></code></p>
-<p> </p>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html b/files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html
deleted file mode 100644
index f2755cc4d3..0000000000
--- a/files/ko/archive/mozilla/creating_a_skin_for_seamonkey_2.x/index.html
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Creating a Skin for SeaMonkey 2.x
-slug: Archive/Mozilla/Creating_a_Skin_for_SeaMonkey_2.x
-tags:
- - NeedsTranslation
- - SeaMonkey
- - TopicStub
-translation_of: Archive/Mozilla/Creating_a_Skin_for_SeaMonkey_2.x
----
-<h2 id="Introduction">Introduction</h2>
-
-
-<p>You're going to make a theme for SeaMonkey 2, but don't know how? I hope this manual will help you.</p>
-
-
-<h2 id="Contents">Contents</h2>
-<ul>
- <li><a href="/en-US/docs/Creating_a_Skin_for_SeaMonkey_2.x/Getting_Started">Getting Started</a></li>
-</ul>
diff --git a/files/ko/archive/mozilla/drag_and_drop/index.html b/files/ko/archive/mozilla/drag_and_drop/index.html
deleted file mode 100644
index adc89768c1..0000000000
--- a/files/ko/archive/mozilla/drag_and_drop/index.html
+++ /dev/null
@@ -1,148 +0,0 @@
----
-title: Drag and Drop
-slug: Archive/Mozilla/Drag_and_drop
-tags:
- - NeedsTranslation
- - TopicStub
- - XUL
-translation_of: Archive/Mozilla/Drag_and_drop
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Drag_and_Drop_JavaScript_Wrapper">다음 »</a></p>
-</div><p></p>
-<p></p><div class="overheadIndicator deprecated deprecatedHeader">
- <p><strong><span title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span> Deprecated Gecko 1.9.1 (Firefox 3.5 / Thunderbird 3.0 / SeaMonkey 2.0)</strong><br>This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Avoid using it and update existing code if possible; see the <a href="#Browser_compatibility">compatibility table</a> at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.</p>
- </div><p></p>
-<div class="warning">
- As of Gecko 1.9.1 (Firefox 3.5), these APIs are officially deprecated <a href="/En/DragDrop/Drag_and_Drop" title="en/DragDrop/Drag and Drop">the newer, simpler, portable API</a> should be used in their place.</div>
-<p>This section describes how to implement objects that can be dragged around and dropped onto other objects.</p>
-<h3 id="The_Drag_and_Drop_Interface" name="The_Drag_and_Drop_Interface">The Drag and Drop Interface</h3>
-<p>Many user interfaces allow one to drag particular objects around within the interface. For example, dragging files to other directories, or dragging an icon to another window to open the document it refers to. Mozilla and <a href="/en/XUL" title="en/XUL">XUL</a> provide a number of events that can handle when the user attempts to drag objects around.</p>
-<p>A user can start dragging by holding down the mouse button and moving the mouse. The drag stops when the user releases the mouse. Event handlers are called when the user starts and ends dragging, and at various points in-between.</p>
-<p>Mozilla implements dragging by using a drag session. When a user requests to drag something that can be dragged, a drag session should be started. The drag session handles updating the mouse cursor and where the object should be dropped. If something cannot be dragged, it should not start a drag session. Because the user generally has only one mouse, only one drag session is in use at a time.</p>
-<p>Note that drag sessions can be created from within Mozilla itself or from other applications. Mozilla will translate the data being dragged as needed.</p>
-<p>The list below describes the event handlers that can be called, which may be placed on any element. You only need to put values for the handlers where you need to do something when the event occurs.</p>
-<dl>
- <dt>
- ondrag </dt>
- <dd>
- Called periodically throughout the drag and drop operation.</dd>
- <dt>
- ondraggesture </dt>
- <dd>
- Called when the user starts dragging the element, which normally happens when the user holds down the mouse button and moves the mouse. The script in this handler should set up a drag session.</dd>
- <dt>
- ondragstart  </dt>
- <dd>
- An alias for <code>ondraggesture</code>; this is the HTML 5 spec name for the event and may be used in HTML or XUL; however, for backward compatibility with older versions of Firefox, you may wish to continue using <code>ondraggesture</code> in XUL.</dd>
- <dt>
- ondragover </dt>
- <dd>
- This event handler is called for an element when something is being dragged over top of it. If the object can be dropped on the element, the drag session should be notified.</dd>
- <dt>
- ondragenter </dt>
- <dd>
- Called for an element when the mouse pointer first moves over the element while something is being dragged. This might be used to change the appearance of the element to indicate to the user that the object can be dropped on it.</dd>
- <dt>
- ondragexit </dt>
- <dd>
- Called for an element when the mouse pointer moves out of an element while something is being dragged. The is also called after a drop is complete so that an element has a chance to remove any highlighting or other indication.</dd>
- <dt>
- ondragdrop </dt>
- <dd>
- This event handler is called for an element when something is dropped on the element. At this point, the user has already released the mouse button. The element can simply ignore the event or can handle it some way, such as pasting the dragged object into itself.</dd>
- <dt>
- ondragend  </dt>
- <dd>
- Called when the drag operation is finished.</dd>
-</dl>
-<p>There are two ways that drag and drop events can be handled. This first involves using the drag and drop <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a> interfaces directly. The second is to use a <a href="/en/Drag_and_Drop_JavaScript_Wrapper" title="en/Drag_and_Drop_JavaScript_Wrapper">JavaScript wrapper</a> object that handles some of this for you. The code for this wrapper can be found in a file named <code><a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/content/nsDragAndDrop.js nsDragAndDrop.js" rel="custom">toolkit/content/nsDragAndDrop.js nsDragAndDrop.js</a></code> which is contained in the widget-toolkit (or global) package.</p>
-<h3 id="XPCOM_Drag_and_Drop_interfaces" name="XPCOM_Drag_and_Drop_interfaces">XPCOM Drag and Drop interfaces</h3>
-<p>Two interfaces are used to support drag and drop. The first is a drag service, <a href="/en/XPCOM_Interface_Reference/nsIDragService" title="en/nsIDragService">nsIDragService</a> and the second is the drag session, <a href="/en/XPCOM_Interface_Reference/nsIDragSession" title="en/nsIDragSession">nsIDragSession</a>.</p>
-<p>The <a href="/en/XPCOM_Interface_Reference/nsIDragService" title="en/nsIDragService">nsIDragService</a> is responsible for creating drag sessions when a drag starts, and removing the drag session when the drag is complete. The function <code>invokeDragSession</code> should be called to start a drag inside an <code>ondraggesture</code> event handler. Once this function is called, a drag has started.</p>
-<p>The function invokeDragSession takes four parameters, as described below:</p>
-<pre class="eval">invokeDragSession(element,transferableArray,region,actions)
-</pre>
-<dl>
- <dt>
- element </dt>
- <dd>
- A reference to the element that is being dragged. This can be retrieved by getting the property <code>event.target</code> during the event handler.</dd>
- <dt>
- transferableArray </dt>
- <dd>
- An array of <a href="/en/NsITransferable" title="en/NsITransferable">nsITransferable</a> objects, one for each item being dragged. An array is used because you might want to drag several objects at once, such as a set of files.</dd>
- <dt>
- region </dt>
- <dd>
- A region used for feedback indication. This should usually be set to null.</dd>
- <dt>
- actions </dt>
- <dd>
- The actions that the drag uses. This should be set to one of the following constants, or several added together. The action can be changed during the drag depending on what is being dragged over.</dd>
-</dl>
-<dl>
- <dt>
- nsIDragService.DRAGDROP_ACTION_NONE </dt>
- <dd>
- <dl>
- <dt>
- Used to indicate that no drag is valid.</dt>
- <dt>
- nsIDragService.DRAGDROP_ACTION_COPY </dt>
- <dd>
- The item being dragged should be copied to its dropped location.</dd>
- <dt>
- nsIDragService.DRAGDROP_ACTION_MOVE </dt>
- <dd>
- The item being dragged should be moved to its dropped location.</dd>
- <dt>
- nsIDragService.DRAGDROP_ACTION_LINK </dt>
- <dd>
- A link (or shortcut or alias) to the item being dragged should be created in the dropped location.</dd>
- </dl>
- </dd>
-</dl>
-<p>The interface <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDragService" title="">nsIDragService</a></code> also provides the function <code>getCurrentSession</code> which can be called from within the drag event handlers to get and modify the state of the drag. The function returns an object that implements <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDragSession" title="">nsIDragSession</a></code>.</p>
-<p>The interface <a href="/en/XPCOM_Interface_Reference/nsIDragSession" title="en/nsIDragSession">nsIDragSession</a> is used to get and set properties of the drag that is currently occuring. The following properties and methods are available:</p>
-<dl>
- <dt>
- canDrop </dt>
- <dd>
- Set this property to <code>true</code> if the element the mouse is currently over can accept the object currently being dragged to be dropped on it. Set the value to <code>false</code> if it doesn't make sense to drop the object on it. This should be changed in the <code>ondragover</code> and <code>ondragenter</code> event handlers.</dd>
- <dt>
- dragAction </dt>
- <dd>
- Set to the current action to be performed, which should be one or more of the constants described earlier. This can be used to provide extra feedback to the user.</dd>
- <dt>
- numDropItems </dt>
- <dd>
- The number of items being dragged. For example, this will be set to 5 if five bookmarks are being dragged.</dd>
- <dt>
- getData(transfer,index) </dt>
- <dd>
- Get the data being dragged. The first argument should be an <a href="/en/NsITransferable" title="en/NsITransferable">nsITransferable</a> object to hold the data. The second argument, <code>index</code>, should be the index of the item to return.</dd>
- <dt>
- sourceDocument </dt>
- <dd>
- The document where the drag started.</dd>
- <dt>
- sourceNode </dt>
- <dd>
- The <a href="/en/DOM" title="en/DOM">DOM</a> node where the drag started.</dd>
- <dt>
- isDataFlavorSupported(flavor) </dt>
- <dd>
- Returns <code>true</code> if the data being dragged contains data of the specified flavor.</dd>
-</dl>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Drag_and_Drop_JavaScript_Wrapper">다음 »</a></p>
-</div><p></p>
-<div class="originaldocinfo">
- <h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
- <ul>
- <li>Author(s): <a class="link-mailto" href="mailto:enndeakin@sympatico.ca">Neil Deakin</a></li>
- <li>Original Document:</li>
- <li>Copyright Information: Copyright (C) <a class="link-mailto" href="mailto:enndeakin@sympatico.ca">Neil Deakin</a></li>
- </ul>
-</div>
diff --git a/files/ko/archive/mozilla/firefox/index.html b/files/ko/archive/mozilla/firefox/index.html
deleted file mode 100644
index 9e61c718ff..0000000000
--- a/files/ko/archive/mozilla/firefox/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Firefox
-slug: Archive/Mozilla/Firefox
-translation_of: Archive/Mozilla/Firefox
----
-<p>In progress. Out-of-date information about the Firefox project.</p>
-
-<p></p>
diff --git a/files/ko/archive/mozilla/firefox/using_microformats/index.html b/files/ko/archive/mozilla/firefox/using_microformats/index.html
deleted file mode 100644
index b7fcdf224f..0000000000
--- a/files/ko/archive/mozilla/firefox/using_microformats/index.html
+++ /dev/null
@@ -1,144 +0,0 @@
----
-title: Using microformats
-slug: Archive/Mozilla/Firefox/Using_microformats
-tags:
- - Firefox 3
- - Microformats
-translation_of: Archive/Mozilla/Firefox/Using_microformats
----
-<p>{{ Fx_minversion_header(3) }}
-</p><p>마이크로포맷(Microformats)을 이용하면 문서 자체를 분석하는 방법을 알아야 할 필요없이 페이지의 정보에 대한 요약을 표시할 수 있도록 웹 사이트가 의미 데이터(semantic data)를 브라우저에 제공할 수 있습니다. Firefox 3는 마이크로포맷에 대한 접근을 제공하는 전역 <code>Microformats</code> 개체를 구현합니다. 이 개체와 API를 이용하면 마이크로포맷을 쉽게 찾고 읽을 수 있습니다.
-</p>
-<h2 id=".EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7_API_.EB.A1.9C.EB.93.9C.ED.95.98.EA.B8.B0" name=".EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7_API_.EB.A1.9C.EB.93.9C.ED.95.98.EA.B8.B0">마이크로포맷 API 로드하기</h2>
-<p><code>Microformats</code> 개체는 Firefox 3에 추가된 새로운 자바스크립트 로더를 이용하여 생성합니다. API를 사용하려면 먼저 개체를 로드해야 합니다:
-</p>
-<pre class="eval"><span class="nowiki">Components.utils.import("resource://gre/modules/Microformats.js");</span>
-</pre>
-<p>마이크로포맷 API를 로드하고 나면 아래에 나열한 메소드를 이용하여 마이크로포맷을 다룰 수 있습니다. 마이크로포맷을 파싱하는 방법에 대한 정보는 <a href="ko/Parsing_microformats_in_JavaScript">Parsing microformats in JavaScript</a>를 참고하십시오.
-</p>
-<h2 id=".EB.AF.B8.EB.A6.AC_.EC.A0.95.EC.9D.98.EB.90.9C_.EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7" name=".EB.AF.B8.EB.A6.AC_.EC.A0.95.EC.9D.98.EB.90.9C_.EB.A7.88.EC.9D.B4.ED.81.AC.EB.A1.9C.ED.8F.AC.EB.A7.B7">미리 정의된 마이크로포맷</h2>
-<p>Firefox 3는 몇 가지 일반적인 마이크로포맷을 구현한 정의를 제공합니다.
-</p>
-<dl><dt><code><a href="ko/The_adr_microformat">adr</a></code>
-</dt><dd>주소를 표시합니다.
-</dd><dt><code><a href="ko/The_geo_microformat">geo</a></code>
-</dt><dd>위도와 경도를 이용한 지리적 위치를 표시합니다.
-</dd><dt><code><a href="ko/The_hCard_microformat">hCard</a></code>
-</dt><dd>사람에 대한 연락 정보를 표시합니다.
-</dd><dt><code><a href="ko/The_hCalendar_microformat">hCalendar</a></code>
-</dt><dd>달력의 일정 항목을 표시합니다.
-</dd><dt><code><a href="ko/The_tag_microformat">tag</a></code>
-</dt><dd>다른 마이크로포맷에 태그를 추가하는데 사용합니다.
-</dd></dl>
-<h2 id=".EB.A9.94.EC.86.8C.EB.93.9C" name=".EB.A9.94.EC.86.8C.EB.93.9C">메소드</h2>
-<h3 id="add.28.29" name="add.28.29">add()</h3>
-<p>마이크로포맷 모듈에 새로운 마이크로포맷을 추가합니다.
-</p><p>{{ Note("지정한 이름을 가진 마이크로포맷이 이미 존재하면 새로운 것으로 바뀝니다.") }}
-</p>
-<pre class="eval">add(name, definition);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98">매개변수</h6>
-<dl><dt>&lt;tt&gt;name&lt;/tt&gt;
-</dt><dd>마이크로포맷 모듈에 추가하려는 마이크로포맷의 이름.
-</dd><dt>&lt;tt&gt;definition&lt;/tt&gt;
-</dt><dd>마이크로포맷을 기술하는 자바스크립트 구조. 자세한 사항은 <a href="ko/Describing_microformats_in_JavaScript">Describing microformats in JavaScript</a>를 참고.
-</dd></dl>
-<h3 id="count.28.29" name="count.28.29">count()</h3>
-<p>지정한 조건을 만족하는 문서에 있는 마이크로포맷의 개수를 구합니다.
-</p>
-<pre class="eval">numMicroformats = Microformats.count(name, rootElement, recurseFrames);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_2" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_2">매개변수</h6>
-<dl><dt>&lt;tt&gt;name&lt;/tt&gt;
-</dt><dd>검색하려는 마이크로포맷의 이름
-</dd><dt>&lt;tt&gt;rootElement&lt;/tt&gt;
-</dt><dd>검색을 시작할 DOM 요소. 전체 문서에서 검색하려면 <code>content.document</code>를 명시해야 합니다.
-</dd><dt>&lt;tt&gt;options&lt;/tt&gt;
-</dt><dd>선택사항. 아래 플래그를 포함하는 자바스크립트 개체:
-</dd></dl>
-<blockquote>
-<dl><dt>&lt;tt&gt;recurseExternalFrames&lt;/tt&gt;
-</dt><dd><code>true</code>이면 자식 프레임을 검색에 포함. 기본 값은 <code>true</code>.
-</dd><dt>&lt;tt&gt;showHidden&lt;/tt&gt;
-</dt><dd><code>true</code>이면 숨겨진 마이크로포맷을 추가하고 그렇지 않으면 생략. 기본 값은 <code>false</code>.
-</dd><dt>&lt;tt&gt;debug&lt;/tt&gt;
-</dt><dd>디버그 모드를 사용하려면 <code>true</code>로 지정하고 그렇지 않으면 <code>false</code>로 지정. 기본 값은 <code>false</code>.</dd></dl></blockquote> <h6 id=".EB.B0.98.ED.99.98_.EA.B0.92" name=".EB.B0.98.ED.99.98_.EA.B0.92">반환 값</h6>
-<p>지정한 조건을 만족하는 마이크로포맷 개수를 가리키는 정수 값.
-</p>
-<h3 id="debug.28.29" name="debug.28.29">debug()</h3>
-<p>마이크로포맷 개체를 설명하는 문자열을 반환합니다.
-</p><p>{{ Note("마이크로포맷 개체에 대해 <code>debug()</code>를 호출할 수 있습니다: 이 메소드 대신 <code>microformatObject.debug()</code>를 이용할 수도 있습니다.") }}
-</p>
-<pre class="eval">dumpString = debug(microformatObject)
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_3" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_3">매개변수</h6>
-<dl><dt>&lt;tt&gt;microformatObject&lt;/tt&gt;
-</dt><dd>정보를 표시할 마이크로포맷 개체.
-</dd></dl>
-<h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_2" name=".EB.B0.98.ED.99.98_.EA.B0.92_2">반환 값</h6>
-<p>지정한 마이크로포맷 개체의 내용을 설명하는 문자열.
-</p>
-<h3 id="get.28.29" name="get.28.29">get()</h3>
-<p>지정한 조건에 따라 검색한 마이크로포맷에 해당하는 마이크로포맷 개체의 배열을 반환합니다.
-</p>
-<pre class="eval">microformatsArray = Microformats.get(name, rootElement, options, targetArray);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_4" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_4">매개변수</h6>
-<dl><dt>&lt;tt&gt;name&lt;/tt&gt;
-</dt><dd>검색하려는 마이크로포맷의 이름
-</dd><dt>&lt;tt&gt;rootElement&lt;/tt&gt;
-</dt><dd>검색을 시작할 DOM 요소. 전체 문서에서 검색하려면 <code>content.document</code>를 명시해야 합니다.
-</dd><dt>&lt;tt&gt;options&lt;/tt&gt;
-</dt><dd>선택사항. 아래 플래그를 포함하는 자바스크립트 개체:
-</dd></dl>
-<blockquote>
-<dl><dt>&lt;tt&gt;recurseExternalFrames&lt;/tt&gt;
-</dt><dd><code>true</code>이면 자식 프레임을 검색에 포함. 기본 값은 <code>true</code>.
-</dd><dt>&lt;tt&gt;showHidden&lt;/tt&gt;
-</dt><dd><code>true</code>이면 숨겨진 마이크로포맷을 추가하고 그렇지 않으면 생략. 기본 값은 <code>false</code>.
-</dd><dt>&lt;tt&gt;debug&lt;/tt&gt;
-</dt><dd>디버그 모드를 사용하려면 <code>true</code>로 지정하고 그렇지 않으면 <code>false</code>로 지정. 기본 값은 <code>false</code>.</dd></dl></blockquote> <dl><dt>&lt;tt&gt;targetArray&lt;/tt&gt;
-</dt><dd>선택사항. 검색 결과를 추가할 마이크로포맷 개체의 배열.
-</dd></dl> <h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_3" name=".EB.B0.98.ED.99.98_.EA.B0.92_3">반환 값</h6>
-<p>검색 조건을 만족하는 마이크로포맷 개체의 새로운 배열, 혹은 발견한 마이크로포맷 개체를 추가한 &lt;tt&gt;microformats&lt;/tt&gt;에서 지정한 배열.
-</p>
-<h3 id="getNamesFromNode.28.29" name="getNamesFromNode.28.29">getNamesFromNode()</h3>
-<p>지정한 마이크로포맷 노드에 해당하는 공백으로 구별되는 마이크로포맷 이름의 목록을 반환합니다.
-</p>
-<pre class="eval">nameList = Microformats.getNamesFromNode(node);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_5" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_5">매개변수</h6>
-<dl><dt>&lt;tt&gt;node&lt;/tt&gt;
-</dt><dd>마이크로포맷 이름 목록을 구할 노드
-</dd></dl>
-<h6 id="Return_value" name="Return_value">Return value</h6>
-<p>지정한 노드가 마이크로포맷인 경우 노드에 해당하는 모든 마이크로포맷의 이름을 공백으로 구별하여 나열하는 문자열. 해당 노드가 마이크로포맷이 아닌 경우에는 아무것도 반환하지 않음.
-</p>
-<h3 id="getParent.28.29" name="getParent.28.29">getParent()</h3>
-<p>지정한 마이크로포맷이나 마이크로포맷 자식의 부모 노드를 반환합니다.
-</p>
-<pre class="eval">parentNode = Microformats.getParent(node);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_6" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_6">매개변수</h6>
-<dl><dt>&lt;tt&gt;node&lt;/tt&gt;
-</dt><dd>부모 노드를 구할 노드
-</dd></dl>
-<h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_4" name=".EB.B0.98.ED.99.98_.EA.B0.92_4">반환 값</h6>
-<p>지정한 노드의 부모. 지정한 노드가 마이크로포맷이 아니거나 마이크로포맷의 자식이 아닌 경우에는 아무것도 반환하지 않음.
-</p>
-<h3 id="isMicroformat.28.29" name="isMicroformat.28.29">isMicroformat()</h3>
-<p>지정한 DOM 노드가 마이크로포맷인지 구별합니다.
-</p>
-<pre class="eval">flag = Microformats.isMicroformat(node);
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_7" name=".EB.A7.A4.EA.B0.9C.EB.B3.80.EC.88.98_7">매개변수</h6>
-<dl><dt>&lt;tt&gt;node&lt;/tt&gt;
-</dt><dd>마이크로포맷 여부를 확인할 DOM 노드.
-</dd></dl>
-<h6 id=".EB.B0.98.ED.99.98_.EA.B0.92_5" name=".EB.B0.98.ED.99.98_.EA.B0.92_5">반환 값</h6>
-<p>노드가 마이크로포맷이면 <code>true</code>, 그렇지 않으면 <code>false</code>.
-</p><p>{{ Note("만약 노드가 마이크로포맷의 자식이면 이 메소드는 <code>true</code>를 반환하지 <i>않습니다</i>.") }}
-</p>
-<div class="noinclude">
-</div>
-{{ languages( { "en": "en/Using_microformats", "fr": "fr/Utilisation_de_microformats", "ja": "ja/Using_microformats", "pl": "pl/Zastosowanie_mikroformat\u00f3w" } ) }}
diff --git a/files/ko/archive/mozilla/index.html b/files/ko/archive/mozilla/index.html
deleted file mode 100644
index c6ccfa68f2..0000000000
--- a/files/ko/archive/mozilla/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: Archived Mozilla and build documentation
-slug: Archive/Mozilla
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Mozilla
----
-<p>These articles are archived, obsolete documents about Mozilla, Gecko, and the process of building Mozilla projects.</p>
-<p></p><dl><dt class="landingPageList"><a href="/ko/docs/Archive/Mozilla/Drag_and_drop">Drag and Drop</a></dt><dd class="landingPageList">This section describes how to implement objects that can be dragged around and dropped onto other objects.</dd><dt class="landingPageList"><a href="/ko/docs/XPInstall">XPInstall</a></dt><dd class="landingPageList"><span class="comment">Categories</span></dd></dl><p></p>
diff --git a/files/ko/archive/mozilla/rdf_datasource_how-to/index.html b/files/ko/archive/mozilla/rdf_datasource_how-to/index.html
deleted file mode 100644
index 96509ff68a..0000000000
--- a/files/ko/archive/mozilla/rdf_datasource_how-to/index.html
+++ /dev/null
@@ -1,224 +0,0 @@
----
-title: RDF Datasource How-To
-slug: Archive/Mozilla/RDF_Datasource_How-To
-tags:
- - RDF
-translation_of: Archive/Mozilla/RDF_Datasource_How-To
----
-<div class="warning">
- <p>이 문서는 최신의 정보를 포함하지 않을 수 있습니다. 가능하면 이 문서가 최신 정보로 유지될 수 있도록 도와주시기 바랍니다. <span class="comment">XPCOM 등록(registration) 부분과 "As of this writing, it is not currently possible to implement JavaScript XPCOM components" 부분이 최신 정보와 다른 것 같습니다. 전체 문서를 다 체크해 보지는 않았습니다.</span></p>
-</div>
-<p>이 문서는 Mozilla 의 <a href="ko/RDF">RDF</a> 구현과 함께 동작하는
- <i>
- 고유한(native), 클라이언트 측 데이터 소스</i>
- 를 생성하는 방법을 설명하는 cookbook 문서입니다. 이 문서는 <a class="link-mailto" href="mailto:rjc@netscape.com">Robert Churchill</a> 이 작성한 <a class="external" href="http://www.mozilla.org/rdf/doc/rdfdatasources.html">원본 문서</a>를 대체하며 많은 부분은 원본 문서에서 가져온 것입니다.</p>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F">데이터 소스란 무엇인가?</h3>
-<p>"RDF의 세계"는 인터넷
- <i>
- 자원</i>
- 들을 설명하는
- <i>
- 문장</i>
- (statement)으로 이루어진다. 예를 들어, "내 홈페이지의 최종 변경일은 4월 2일이다" 라던가 "이 뉴스 기사는 밥(Bob)이 보내온 것이다" 등이 있을 것이다. 가장 추상적인 단계에서 볼 때,
- <i>
- 데이터 소스</i>
- 는 이러한 문장들의 모임(collection)이다.</p>
-<p>더 자세히 살펴보면, 데이터 소스는 어떤 정보를 RDF 문장의 모임으로
- <i>
- 변환</i>
- 하는 역할을 한다. 예를 들어, "파일 시스템 데이터 소스"라면 파일 시스템 정보를 다음과 같은 문장들로 변환할 것이다: "/tmp 는 디렉토리이다", "/tmp/foo 는 /tmp 안에 포함되어 있다". "IMAP 데이터 소스"라면 IMAP 프로토콜을 이용하여 당신의 메일함에 있는 데이터를 다음과 같은 문장으로 변환할 것이다: "126번 메시지의 제목은 '인터넷으로 쉽게 돈벌기'이다", "126번 메시지를 보낸 사람은 <a class="link-mailto" href="mailto:'spammer128@hotmail.com'이다" rel="freelink">'spammer128@hotmail.com'이다</a>". "주소록 데이터 소스"라면 데이터베이스 파일을 다음과 같은 문장으로 변환할 것이다: "<a class="link-mailto" href="mailto:spammer128@hotmail.com의" rel="freelink">spammer128@hotmail.com의</a> 실제 이름은 'Billy Dumple'이다", "<a class="link-mailto" href="mailto:spammer128@hotmail.com은" rel="freelink">spammer128@hotmail.com은</a> '중요한 친구'이다".</p>
-<p>한 데이터 소스 내에 존재하는 문장은
- <i>
- composite datasource</i>
- 를 사용해서 다른 데이터 소스에 있는 문장과 결합(combine)될 수 있다. IMAP 데이터 소스와 주소록 데이터 소스를 결합하면, 위의 예제에서 "126번 메시지"를 보낸 사람은 "중요한 친구"라는 것을 알 수 있다.</p>
-<h3 id=".EC.96.B4.ED.9C.98_.EC.84.A0.ED.83.9D.ED.95.98.EA.B8.B0" name=".EC.96.B4.ED.9C.98_.EC.84.A0.ED.83.9D.ED.95.98.EA.B8.B0">어휘 선택하기</h3>
-<p>
- <i>
- 어휘</i>
- (vocabulary)는 데이터 모델 내에서 원소(자원이나 문자열)들간의 관계를 표현하기 위해 사용하는 속성들의 집합입니다. 제일 먼저 생각해야 할 것은 '기존의 어휘를 사용해야 할지? 아니면 새로운 어휘를 만들어야 할지?'에 대한 것입니다.
- <i>
- 반드시</i>
- 새로운 어휘를 만들어야 필요가 있는 경우가 아니라면 당연히 기존의 어휘를 쓰는 것이 좋습니다. 그러면 당신이 만든 데이터 소스를 손쉽게 다른 데이터 소스와 통합할 수 있게 됩니다.</p>
-<p>이미 만들어진 다음과 같은 여러 종류의 어휘들이 있습니다.</p>
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/PR-rdf-schema/">RDF 스키마(Schema) 명세</a>. 이 어휘는 다른 어휘들을 설명하기 위한 "메타 어휘(meta vocabulary)"입니다.</li>
- <li><a class="external" href="http://purl.oclc.org/dc/">더블린 코어(The Dublin Core)</a>. 이 어휘는 웹 상의 자원(electronic resouces)들을 설명하기 위해 사용되는 어휘입니다. 여기에는 작성자, 주제, 공개일(출판일) 등의 원소가 포함됩니다.</li>
-</ul>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0.EB.A5.BC_.EB.85.B8.EB.93.9C.EC.99.80_.EC.95.84.ED.81.AC.28arc.29.EB.A1.9C_.EB.A7.A4.ED.95.91.ED.95.98.EA.B8.B0" name=".EB.8D.B0.EC.9D.B4.ED.84.B0.EB.A5.BC_.EB.85.B8.EB.93.9C.EC.99.80_.EC.95.84.ED.81.AC.28arc.29.EB.A1.9C_.EB.A7.A4.ED.95.91.ED.95.98.EA.B8.B0">데이터를 노드와 아크(arc)로 매핑하기</h3>
-<p><b>{{ mediawiki.external('write me!') }}</b></p>
-<h3 id="nsIRDFDataSource_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_.EA.B5.AC.ED.98.84.ED.95.98.EA.B8.B0" name="nsIRDFDataSource_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_.EA.B5.AC.ED.98.84.ED.95.98.EA.B8.B0">&lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스 구현하기</h3>
-<p>가장 먼저 해야할 일은 &lt;tt&gt;<a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/base/idl/nsIRDFDataSource.idl">nsIRDFDataSource</a>&lt;/tt&gt; 인터페이스를 구현하는 일입니다. 이를 위한 두 가지 기본적인 방법이 있습니다:</p>
-<ol>
- <li>
- <p>
- <i>
- 내부 프록시(inner proxy)에 위임(delegate)하기</i>
- . 예를 들면, &lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스를 구현한 일반적인 데이터 소스인
- <i>
- 메모리 상의 데이터 소스(in-memory datasource)</i>
- 에 위임할 수 있습니다.</p>
- <p>일반적으로, 해당 저장 장치(즉, 데이터 파일)를 위한 구문 분석기(parser)를 제공해야 합니다. 구문 분석기는 데이터 파일을 메모리 상의 데이터 소스로 구성하기 위한 일련의 &lt;tt&gt;Assert()&lt;/tt&gt; 문으로 변환합니다. &lt;tt&gt;Flush()&lt;/tt&gt; 문이 호출되거나, 데이터 소스에 대한 마지막 참조가 해제되는 경우에는 메모리 상의 데이터 소스를 순환하여 그래프(데이터)를 원래의 파일 형식으로 다시 저장합니다(re-serialize). 아래의 예제를 살펴보기 바랍니다. <a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/base/src/nsRDFXMLDataSource.cpp">RDF/XML 데이터 소스</a> 혹은 <a class="external" href="http://lxr.mozilla.org/seamonkey/source/xpfe/components/bookmarks/src/nsBookmarksService.cpp">북마크 데이터 소스</a>.</p>
- <p>기존의 데이터들을 "래핑"(wrapping)하기 위한 목적이라면 이 구현 방식을 선택하면 됩니다. 이 구현은 기존의 데이터 저장 공간이 다른 에이전트들에 의해 "동적으로"(on-the-fly) 변경되고 있다면 문제를 일으킬 수도 있습니다.</p>
- </li>
- <li>
- <p>
- <i>
- 메모리 상의 데이터 소스를 모으기(aggregate)</i>
- . 이 방법은 위임의 극단적인 경우로서, XPCOM
- <i>
- 모음</i>
- (aggregation)을 이용하여 &lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스를 구현하는 것입니다. 기술적인 자세한 사항은 <a href="ko/Aggregating_the_In-Memory_Datasource">메모리 상의 데이터 소스 모으기</a> 문서를 참고하기 바랍니다.</p>
- <p>이 방법은 선택한다면, &lt;tt&gt;nsIRDFDataSource&lt;/tt&gt; 인터페이스의 메소드들을 선택적으로 구현할 수 없으며, 대신
- <i>
- 모든</i>
- 메소드들은 메모리 상의 데이터 소스로 보내져야 합니다(forwarding). 이것은 당신이 가진 데이터 소스들이 "읽기 전용"인 경우에 유용하며 &lt;tt&gt;Assert()&lt;/tt&gt; 등의 메소드를 이용한 데이터의 변경에 대한 걱정이 필요없게 됩니다.</p>
- </li>
- <li>
- <p>
- <i>
- 직접 인터페이스를 구현하기</i>
- . 이 방법을 선택한다면, &lt;tt&gt;nsIRDFDataStore&lt;/tt&gt; 인터페이스의 모든 메소드들을 "직접" 구현해야 합니다. 비록 이 방법에는 더 많은 작업이 요구되지만, 이것은 다른 외부 에이전트들에 의해 변경될 수 있는 "라이브"(live) 데이터 소스를 생성하기 위한 유일한 방법입니다.</p>
- <p><a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/datasource/src/nsFileSystemDataSource.cpp">파일 시스템 데이터 소스</a>와 <a class="external" href="http://lxr.mozilla.org/seamonkey/source/mailnews/local/src/nsMSGFolderDataSource.cpp">로컬 메일 데이터 소스</a> 는 이 방법을 이용해 구현된 좋은 예제입니다.</p>
- <p>만약 당신의 데이터 소스가 "라이브" 데이터 소스 - 새로운 메일이 도착하는 것과 같이 외부 에이전트에 의해 데이터가 변경될 수 있는 데이터 소스 - 라면 이 방법을 선택해야 합니다. 또한 데이터 소스가 (전체 파일 시스템 구조와 같이) 아주 크고 많은 데이터를 위해 모델링된 경우에도 이 방법을 선택해야 합니다.</p>
- </li>
-</ol>
-<p><b>{{ mediawiki.external('각 방법들에 필요한 더 많은 정보가 제공되어야 함') }}</b></p>
-<h4 id="RDF_.EC.BB.A4.EB.A7.A8.EB.93.9C" name="RDF_.EC.BB.A4.EB.A7.A8.EB.93.9C">RDF 커맨드</h4>
-<p><b>{{ mediawiki.external('커맨드의 종류와 커맨드를 구현한 이유 등을 설명') }}</b></p>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8_.EB.93.B1.EB.A1.9D.ED.95.98.EA.B8.B0" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8_.EB.93.B1.EB.A1.9D.ED.95.98.EA.B8.B0">데이터 소스 컴포넌트 등록하기</h3>
-<p>데이터 소스는 <a href="ko/XPCOM">XPCOM</a> 컴포넌트입니다. 따라서 다음과 같은 특징을 가집니다.</p>
-<ol>
- <li>데이터 소스 구현체를 구분(identify)하기 위한 XPCOM
- <i>
- CLSID</i>
- </li>
- <li>DLL 내에 코드가 존재하는 (CLSID에 대응하는) 구현 클래스. DLL은 XPCOM &lt;tt&gt;components&lt;/tt&gt; 디렉토리 내에 존재해야 함.</li>
- <li>저장소 내에 존재(instantiate)하기 위해 XPCOM
- <i>
- ProgID</i>
- 에
- <i>
- 등록</i>
- 할
- <i>
- 팩토리</i>
- (factory)</li>
-</ol>
-<p>컴포넌트를 위해 DLL을 구성하는 방법에 대한 것은 이 문서의 범위를 넘어가므로 생략합니다. 이에 대한 내용은 <a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/build/nsRDFFactory.cpp">the RDF factory</a>를 참조해 보기 바랍니다.</p>
-<p>RDF 데이터 소스를 등록하는 것은 꽤 간단합니다. DLL의 &lt;tt&gt;NSRegisterSelf()&lt;/tt&gt; 메소드에서
- <i>
- 컴포넌트 관리자</i>
- 의 &lt;tt&gt;RegisterComponent()&lt;/tt&gt; 메소드를 호출하기만 하면 됩니다.</p>
-<pre class="eval">extern "C" PR_IMPLEMENT(nsresult)
-NSRegisterSelf(nsISupports* aServiceManager, const char* aPath)
-{
- nsresult rv;
- ...
- // compMgr 는 컴포넌트 관리자 객체를 참조하고 있다고 가정합니다.
- rv = compMgr-&gt;RegisterComponent(kMyDataSourceCID,
- "My Data Source",
- NS_RDF_DATASOURCE_PROGID_PREFIX "my-datasource",
- aPath, PR_TRUE, PR_TRUE);
- ...
-}
-</pre>
-<p>&lt;tt&gt;kMyDataSourceCID&lt;/tt&gt; 를 당신의 CLSID 로 대체하고 &lt;tt&gt;"My Data Source"&lt;/tt&gt; 부분을 저장소에 표시될 데이터 소스에 대한 설명을 포함하는 문장으로 대체합니다. 마지막으로, &lt;tt&gt;"my-datasource"&lt;/tt&gt; 를 당신의 데이터 소스에 알맞은 값으로 바꿉니. 이 값은 &lt;tt&gt;"rdf:"&lt;/tt&gt; 라는 접두어가 붙은 경우
- <i>
- 데이터 소스 ID</i>
- 가 되고, &lt;tt&gt;<a class="external" href="http://lxr.mozilla.org/seamonkey/source/rdf/base/idl/nsRDFInterfaces.idl#384">nsIRDFService::GetDataSource()</a>&lt;/tt&gt; 메소드를 이용하여 RDF 서비스로부터 당신의 데이터 소스를 얻어오기 위해 사용됩니다. 예를 들어 위의 데이터 소스는 아래와 같은 방법으로 접근할 수 있습니다.</p>
-<pre class="eval">nsIRDFService* rdf;
-rv = nsServiceManager::GetService(kRDFServiceCID,
- kIRDFServiceIID,
- (nsISupports**) &amp;rdf);
-
-if (NS_SUCCEEDED(rv)) {
- nsIRDFDataSource* myDataSource;
- rv = rdf-&gt;GetDataSource("rdf:my-datasource",
- &amp;myDataSource);
-
- if (NS_SUCCEEDED(rv)) {
- // 이 부분에서 myDataSource 를 이용하여 원하는 작업을 수행합니다...
- NS_RELEASE(myDataSource);
- }
- nsServiceManager::ReleaseService(kRDFServiceCID, rdf);
-}
-</pre>
-<h3 id="RDF.EC.9D.98_.EB.82.B4.EC.9A.A9.EC.9D.84_.ED.91.9C.EC.8B.9C.ED.95.98.EA.B8.B0" name="RDF.EC.9D.98_.EB.82.B4.EC.9A.A9.EC.9D.84_.ED.91.9C.EC.8B.9C.ED.95.98.EA.B8.B0">RDF의 내용을 표시하기</h3>
-<p>지금까지 당신이 가지고 있는 정보를 데이터 소스로 표현하기 위해 험난한 길을 헤져 왔다면, 이제 그 정보를 프로그램 상에
- <i>
- 표시</i>
- 하고 싶을 것입니다. <a class="external" href="http://www.mozilla.org/xpfe/languageSpec.html">XUL</a>을 이용하면, 데이터 소스의 내용을
- <i>
- 트리 컨트롤</i>
- 혹은
- <i>
- 메뉴</i>
- 또는
- <i>
- 툴바</i>
- 에 표시할 수 있습니다. 사실, <a href="ko/XUL/Template_Guide">XUL 템플릿</a>을 이용하면
- <i>
- 어떠한</i>
- 형태의 컨텐트 모델에도 RDF 의 내용을 표시할 수 있습니다.</p>
-<p>다음의 XUL 코드는 데이터 소스가 설명하는 자원(&lt;tt&gt;<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>&lt;/tt&gt;)을 "루트"로 하는 트리 컨트롤을 생성하는 방법을 설명합니다.</p>
-<pre class="eval">&lt;window
- xmlns:html="<a class="external" href="http://www.w3.org/1999/xhtml" rel="freelink">http://www.w3.org/1999/xhtml</a>"
- xmlns:rdf="<a class="external" href="http://www.w3.org/TR/WD-rdf-syntax#" rel="freelink">http://www.w3.org/TR/WD-rdf-syntax#</a>"
- xmlns="<a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"&gt;
-
- &lt;tree <b>datasources="rdf:my-datasource" ref="<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>"</b>&gt;
- <b>&lt;template&gt;</b>
- <b>&lt;treechildren&gt;</b>
- <b>&lt;treeitem uri="..."&gt;</b>
- <b>&lt;treerow&gt;</b>
- <b>&lt;treecell&gt;</b>
- <b>&lt;text value="rdf:<a class="external" href="http://home.netscape.com/NC-rdf#Name" rel="freelink">http://home.netscape.com/NC-rdf#Name</a>" /&gt;</b>
- <b>&lt;/treecell&gt;</b>
- <b>&lt;treecell&gt;</b>
- <b>&lt;text value="rdf:<a class="external" href="http://home.netscape.com/NC-rdf#URL" rel="freelink">http://home.netscape.com/NC-rdf#URL</a>" /&gt;</b>
- <b>&lt;/treecell&gt;</b>
- <b>&lt;/treerow&gt;</b>
- <b>&lt;/treeitem&gt;</b>
- <b>&lt;/treechildren&gt;</b>
- <b>&lt;/template&gt;</b>
-
- &lt;treehead&gt;
- &lt;treeitem&gt;
- &lt;treecell&gt;Name&lt;/treecell&gt;
- &lt;treecell&gt;URL&lt;/treecell&gt;
- &lt;/treeitem&gt;
- &lt;/treehead&gt;
-
- &lt;!-- treechildren은 여기에 빌드되어 있습니다. --&gt;
- &lt;/tree&gt;
-
-&lt;/window&gt;
-</pre>
-<p>위에서 굵은 글씨로 표시된 중요한 "매직 속성"들은 다음과 같습니다:</p>
-<ul>
- <li>
- <p>&lt;tt&gt;datasources="rdf:my-datasource"&lt;/tt&gt;. 이것은 공백 문자로 구분되는 (위에서 설명한) 내부의 XPCOM 데이터 소스 "ID" 와 로컬이나 원격 RDF/XML 문서의 URI 들을 포함합니다. 목록에 포함된 각 데이터 소스는 로드되어 데이터 소스 내에 포함된 어서션(assertion)들이 트리 콘트롤을 구성하여 표시될 것입니다.</p>
- </li>
- <li>
- <p>&lt;tt&gt;ref="<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>"&lt;/tt&gt;. 이것은 당신의 컨텐츠 모델 내의 그래프의 루트가 됩니다. &lt;tt&gt;tree&lt;/tt&gt; 태그는 &lt;tt&gt;<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>&lt;/tt&gt; 라는 값의 &lt;tt&gt;ID&lt;/tt&gt; 속성을 가진 것처럼 처리됩니다.</p>
- </li>
- <li>
- <p>&lt;tt&gt;&lt;template&gt;...&lt;/template&gt;&lt;/tt&gt;. 그래프로 부터 컨텐츠를 구성하는 XUL
- <i>
- 템플릿</i>
- 입니다. &lt;tt&gt;tree&lt;/tt&gt; 원소에 해당하는 자원(여기서는 &lt;tt&gt;<a class="external" href="http://foo.bar.com/" rel="freelink">http://foo.bar.com/</a>&lt;/tt&gt;에 해당합니다)을 지정하는 것으로 시작해서, 그래프를 순회하여 &lt;tt&gt;template&lt;/tt&gt; 태그 내에 지정된 패턴들을 사용해서 컨텐츠를 구성합니다.</p>
- </li>
-</ul>
-<p>RDF에서 어떻게 컨텐츠가 구성되는지에 대한 자세한 설명을 원한다면 <a href="ko/XUL/Template_Guide">XUL 템플릿 가이드</a> 문서를 살펴보기 바랍니다.</p>
-<hr>
-<p><br>
- 연락처: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a> <a class="link-mailto" href="mailto:(waterson@netscape.com)" rel="freelink">(waterson@netscape.com)</a></p>
-<div class="originaldocinfo">
- <h2 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원본 문서 정보</h2>
- <ul>
- <li>저자: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
- <li>최종 변경일: 2000년 6월 19일</li>
- <li>저작권: Copyright (C) <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
- </ul>
-</div>
-<p> </p>
diff --git a/files/ko/archive/mozilla/xbl/index.html b/files/ko/archive/mozilla/xbl/index.html
deleted file mode 100644
index 1dcff4d284..0000000000
--- a/files/ko/archive/mozilla/xbl/index.html
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: XBL
-slug: Archive/Mozilla/XBL
-tags:
- - XBL
-translation_of: Archive/Mozilla/XBL
----
-<p><b>XML Binding Language</b>(<b>XBL</b>, 종종 Extensible Bindings Language로도 불림)는 다른 문서의 요소에 덧붙일 수 있는 바인딩을 기술하는 언어입니다. 바인딩이 덧붙는 요소는 "바운드 요소"라 부르고 바인딩이 지정한 새 behavior를 얻습니다.</p>
-<p>바인딩은 바운드 요소에 등록되는 이벤트 핸들러, 바운드 요소로부터 접근하게 되는 새 메소드와 특성(property)의 구현, 바운드 요소 아래에 끼워 넣는 익명(anonymous) 컨텐트를 포함할 수 있습니다.</p>
-<p>대다수의 <a href="ko/XUL">XUL</a> 위젯이 적어도 일부분은 XBL를 써서 구현됩니다. XBL을 써서 기존 <a href="ko/XUL">XUL</a>, <a href="ko/HTML">HTML</a>, <a href="ko/SVG">SVG</a>, 그 밖의 다른 원시 요소(primitive)에서 재사용 가능한 위젯을 빌드할 수 있습니다.</p>
-<h3 id=".EB.AA.85.EC.84.B8" name=".EB.AA.85.EC.84.B8">명세</h3>
-<p>XBL 1.0은 <a href="ko/XBL/XBL_1.0_Reference">XBL 1.0 레퍼런스</a>에 명기되어 있습니다. 불행하게도, Mozilla의 실제 구현은 명세와 다르며 그 차이를 기술한 문서는 아직 알려지지 않았습니다. 레퍼런스가 이 차이를 기술하도록 갱신되기를 희망합니다.</p>
-<p>XBL 1.0은 Mozilla만의 기술이고 <a class="external" href="http://w3.org/">W3C</a> 표준이 아닙니다. 그러나, 적어도 두 개의 표준(sXBL과 XBL 2.0)이 작업 중에 있습니다.</p>
-<ul>
- <li>W3C <a class="external" href="http://w3.org/TR/sXBL/">sXBL</a>(현재 working draft)은
- <i>
- SVG's XML Binding Language</i>
- 를 뜻합니다. <a href="ko/SVG">SVG</a>에 필요한 XBL 2.0 기능의 부분 집합(subset)을 포함할 예정입니다. Mozilla의 XBL과 비슷한 목적을 가지고 있으나 미묘한(또 그리 미묘하지 않은) 차이가 몇 가지 있습니다. 예를 들면, 요소의 이름이 다릅니다. 또한 sXBL은 바인딩 상속과 바운드 요소에 메소드/속성을 정의하는 것 같이 XBL에 있는 몇몇 기능이 빠져 있습니다.</li>
-</ul>
-<ul>
- <li><a class="external" href="http://www.mozilla.org/projects/xbl/xbl2.html">XBL 2.0</a>(<a class="external" href="http://w3.org/TR/XBL/">W3C working draft</a>)은 XBL 1.0에서 발견한 문제점을 처리하고 더 많은 웹 브라우저를 지원하도록 개발하고 있습니다.</li>
-</ul>
-<p>sXBL과 XBL2 사이의 차이는 <a class="external" href="http://annevankesteren.nl/2005/11/xbl">Anne van Kesteren의 글</a>에 나열되어 있습니다.</p>
-<h3 id=".EB.8D.94_.EB.B3.B4.EA.B8.B0" name=".EB.8D.94_.EB.B3.B4.EA.B8.B0">더 보기</h3>
-<ul>
- <li><a href="ko/XUL_Tutorial/Introduction_to_XBL">Introduction to XBL</a> from the <a href="ko/XUL_Tutorial">XUL Tutorial</a>.</li>
- <li><a class="external" href="http://mb.eschew.org/15.php">XBL chapter</a> of <a class="external" href="http://mb.eschew.org/">"Rapid Application Development with Mozilla"</a></li>
-</ul>
-<ul>
- <li><a>More XBL resources...</a></li>
-</ul>
-<p></p>
diff --git a/files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html b/files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html
deleted file mode 100644
index 9f0eab90c9..0000000000
--- a/files/ko/archive/mozilla/xbl/xbl_1.0_reference/elements/index.html
+++ /dev/null
@@ -1,387 +0,0 @@
----
-title: Elements
-slug: Archive/Mozilla/XBL/XBL_1.0_Reference/Elements
-translation_of: Archive/Mozilla/XBL/XBL_1.0_Reference/Elements
----
-<p> </p>
-<h2 id="bindings" name="bindings">bindings</h2>
-<p><span class="comment">This section is tested and adjusted for the current Firefox implementation. Please edit only if an actual behavior differs from the described one. Please do not edit only on the basis of another XBL specification.</span></p>
-<pre>&lt;!ELEMENT bindings ( binding* ) &gt;
-
-Hierarchy: root element
-May contain: &lt;binding&gt;
-</pre>
-<p>The <code>bindings</code> element is the root element of any XBL document. It should usually declare XBL as the default namespace (unless an XBL namespace prefix is used) and it may additionally declare other namespace prefixes used in your binding.</p>
-<p><code>bindings</code> contains zero or more <code><a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a></code> elements as children. Each <code><a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a></code> child element defines a unique binding that can be attached to elements in other documents.</p>
-<p>An element can have only one binding attached (explicitly or inherited) at one moment. From several bindings only the last in the sequence will be used (like with any CSS rule).</p>
-<pre>HelloWorld example:
-
-&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"&gt;
-&lt;html&gt;
-&lt;head&gt;
-&lt;title&gt;Hello world!&lt;/title&gt;
-&lt;style type="text/css"&gt;
-p {
- -moz-binding: url(hello.xml#default);
-}
-#p03 {
- -moz-binding: url(hello.xml#hello2);
-}
-&lt;/style&gt;
-&lt;/head&gt;
-&lt;body
-
- &lt;p&gt;Default content&lt;/p&gt;
- &lt;p&gt;Default content&lt;/p&gt;
- &lt;p id="p03"&gt;Default content&lt;/p&gt;
-
-&lt;/body&gt;
-&lt;/html&gt;
-
-// hello.xml
-
-&lt;?xml version="1.0"?&gt;
-&lt;bindings xmlns="http://www.mozilla.org/xbl"
- xmlns:html="http://www.w3.org/1999/xhtml"&gt;
- &lt;binding id="default"&gt;
- &lt;content&gt;&lt;html:b&gt;Hello world! &lt;/html:b&gt;&lt;children/&gt;&lt;/content&gt;
- &lt;/binding&gt;
- &lt;binding id="hello2"&gt;
- &lt;content&gt;&lt;html:b&gt;Hello from my binding! &lt;/html:b&gt;&lt;children/&gt;&lt;/content&gt;
- &lt;/binding&gt;
-&lt;/bindings&gt;
-</pre>
-<p><a class="external" href="http://www.nskom.com/external/xbl/mdc/HelloWorld.html">View this example</a></p>
-<p>Next: <code>&lt;big&gt;bindings &gt; <a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a>&lt;/big&gt;</code> element.</p>
-<h3 id="Notes" name="Notes">Notes</h3>
-<ul>
- <li>In the current stable releases of Mozilla products (e.g. Firefox 2) it is impossible to attach bindings to table sub-elements (rows, cells etc.) You can attach binding only to the table element itself. This has been fixed for future versions of Mozilla products. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=83830" title="FIXED: Binding TD cells (with XBL) doesn't work, at all">bug 83830</a> for more information and for workarounds.</li>
- <li>Default encoding in XML documents (including XBL files) is UTF-8. An explicit encoding declarations may be present to override the default, for example <code>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;</code></li>
- <li>URI in namespace declarations is an opaque string used to uniquely identify the namespace. It doesn't have to (and often it doesn't) point to some actual schema or a namespace-related resource. <a class="external" href="http://www.w3.org/TR/REC-xml-names/#ns-decl">Namespaces in XML</a></li>
- <li>Besides the default namespace, you can declare any amount of additional namespaces to handle your content. The most useful namespaces could be HTML/XHTML, <a href="ko/XUL">XUL</a> (XML User Interface Language), <a href="ko/SVG">SVG</a> (Scalable Vector Graphics) and <a class="external" href="http://www.w3.org/TR/xlink/">XLink</a>. This way a more-or-less universal namespace declaration in your <code>bindings</code> could be like:</li>
-</ul>
-<pre>&lt;bindings xmlns="http://www.mozilla.org/xbl"
- xmlns:html = "http://www.w3.org/1999/xhtml"
- xmlns:xul = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- xmlns:svg = "http://www.w3.org/2000/svg"
- xmlns:xlink= "http://www.w3.org/1999/xlink"&gt;
-</pre>
-<h2 id=".EB.B0.94.EC.9D.B8.EB.94.A9" name=".EB.B0.94.EC.9D.B8.EB.94.A9">바인딩</h2>
-<pre>&lt;!ENTITY % binding-content "(resources?,content?,implementation?,handlers?)"&gt;
-&lt;!ELEMENT binding %binding-content;&gt;
-&lt;!ATTLIST binding
- id ID #REQUIRED
- extends CDATA #IMPLIED
- display CDATA #IMPLIED
- inheritstyle true #IMPLIED
-&gt;
-</pre>
-<p><code>binding</code> 요소는 단일 XBL 바인딩을 기술합니다. XBL 바인딩은 HTML/XML 요소에
- <i>
- <a href="ko/XBL/XBL_1.0_Reference/Elements#_content">anonymous content</a></i>
- ,
- <i>
- <a href="ko/XBL/XBL_1.0_Reference/Elements#field">fields</a></i>
- ,
- <i>
- <a href="ko/XBL/XBL_1.0_Reference/Elements#property">properties</a></i>
- ,
- <i>
- <a href="ko/XBL/XBL_1.0_Reference/Elements#method">methods</a></i>
- ,
- <i>
- <a href="ko/XBL/XBL_1.0_Reference/Elements#handlers">event handlers</a></i>
- 를 추가할 수 있습니다.</p>
-<p>단일 XBL 바인딩은 스타일 시트나 스크립팅을 사용하여 요소에 붙일 수 있습니다 (&lt;table&gt;에 특정한 사항은 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=83830" title="FIXED: Binding TD cells (with XBL) doesn't work, at all">bug 83830</a>를 참고하십시오).</p>
-<p>CSS:</p>
-<pre>div {
- -moz-binding: url(myBinding.xml#default);
-}
-</pre>
-<p>DOM:</p>
-<pre>elementReference.style.MozBinding = "url(myBinding.xml#default}";
-</pre>
-<p>위의 두 가지 경우 모두는 <code>myBinding.xml</code>에 포함된 <code>id="default"</code>를 가진 바인딩을 사용하고 있습니다.</p>
-<p> Firefox 3부터는 바인딩을 인라인으로 삽입하기 위해 <code>data:</code> URL을 사용할 수 있습니다.</p>
-<pre>div {
- -moz-binding: url(data:text/xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%3Cbindings%20id%3D%22xbltestBindings%22%20xmlns%3D%22http%3A//www.mozilla.org/xbl%22%3E%0A%20%20%3Cbinding%20id%3D%22xbltest%22%3E%3Ccontent%3EPASS%3C/content%3E%3C/binding%3E%0A%3C/bindings%3E%0A);
-}
-</pre>
-<p><code>data:</code> URL은 부분 식별자(fragment identifier)를 지원하지 않기 때문에 대신 삽입된 XML에서 발견한 첫 번째 바인딩을 사용합니다. 바인딩은 참조하지 않더라도 아이디가 있어야 한다는 점을 염두해 두십시오.</p>
-<p>앞선 예제의 삽입된 XML은 다음과 같습니다.</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;bindings id="xbltestBindings" xmlns="http://www.mozilla.org/xbl"&gt;
- &lt;binding id="xbltest"&gt;&lt;content&gt;PASS&lt;/content&gt;&lt;/binding&gt;
-&lt;/bindings&gt;
-</pre>
-<p>CSS 선언만이 바인딩을 임의의 요소 집합에 붙이는 쉬운 방법을 제공합니다. 이는 또한 스크립팅이 비할성화되어 있을 때 바인딩이 부분적으로 동작하게 만듭니다. 이 경우 모든 메소드와 핸들러는 차단되지만 익명의 내용과 스타일은 계속 사용됩니다. 그러므로 실행 중에 개별 요소에 바인딩을 추가할 필요가 없다면 항상 CSS 선언을 사용해야 합니다.</p>
-<p><code>binding</code> 요소는 <a href="ko/XBL/XBL_1.0_Reference/Elements#resources">resources</a> 태그, <a href="ko/XBL/XBL_1.0_Reference/Elements#_content">content</a> 태그, <a href="ko/XBL/XBL_1.0_Reference/Elements#implementation">implementation</a> 태그, <a href="ko/XBL/XBL_1.0_Reference/Elements#handlers">handlers</a> 태그를 포함할 수 있습니다.</p>
-<ul>
- <li><code><b>id</b></code> - <code>id</code> 속성은 문서에서 유일한(document-unique) 식별자입니다. <code>binding</code> 요소에서 이 속성은 바인딩을 붙이는데 사용되므로 꼭 필요합니다.</li>
- <li><code><b>extends</b></code> - <code>extends</code> 속성은 이 바인딩이 물려 받은 바인딩의 URL을 지정하는데 사용합니다 (<a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Inheritance_of_Implementations">Inheritance of Implementations</a> 참고). URL은 특정한 바인딩 문서를 지정합니다. 바인딩 문서 내에서 특정 바인딩 <code>id</code>를 가리키려면 # 표시를 꼭 사용해야 합니다. 내용은 상속할 수 없으며 동작만 상속된다는 점에 주의하십시오.</li>
- <li><code><b>display</b></code> - 이 속성은 태그가 표시되는 방법을 지정합니다. 이 속성을 지정함으로써 기존 요소의 레이아웃과 표시 특성을 가진 요소를 가질 수 있습니다. 예를 들어, 'xul:button' 값을 사용하면 버튼처럼 표시되는 요소를 생성할 수 있습니다. 콜론 이전의 부분은 이름 공간 접두어이므로 XUL 이름 공간도 정의해야 합니다. 다음 XML 표시 형식을 사용할 수 있습니다: browser, button, checkbox, description, editor, grippy, iframe, image, label, menu, menuitem, menubar, progressmeter, radio, resizer, scrollbar, scrollbox, spacer, splitter, titlebar, treechildren, treecol. 또한 다수의 HTML, MathML, SVG 태그를 사용할 수 있습니다. 'display' 속성은 <code>extends</code> 속성이 지정되지 않으면 동작하지 않는데, 이는 버그 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=119389" title="display= doesn't work if extends= is not present">bug 119389</a>를 참고하십시오. 이러한 경우에는 <code>display</code> 속성의 값을 <code>extends</code>에 넣으십시오.</li>
- <li><code><b>inheritstyle</b></code> - <code>inheritstyle</code> 속성은 문서의 스타일 규칙이 XBL 바인딩이 생성한 익명의 내용에 영향을 미칠 것인지 가리킵니다. 속성이 true이면 문서의 스타일은 XBL이 생성한 익명의 내용에도 영향을 미칩니다.</li>
-</ul>
-<p> </p>
-<h2 id="content" name="content">content</h2>
-<pre>&lt;!ELEMENT content ANY&gt;
-&lt;!ATTLIST content
- id ID #IMPLIED
-&gt;
-</pre>
-<p>A binding can specify new content that is placed inside the bound element. Although you can see this content on screen as if it was directly in the file, this content is anonymous and is hidden from the normal <a href="ko/DOM">DOM</a>. To access anonymous nodes on an XBL bound element, you can use the <a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#getAnonymousElementByAttribute">getAnonymousElementByAttribute</a> and <a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#getAnonymousNodes">getAnonymousNodes</a> functions. The only XBL element that can appear inside the content tag is the <a href="ko/XBL/XBL_1.0_Reference/Elements#children">children</a> tag. Attributes on the &lt;content&gt; element in the binding are set on the bound element.</p>
-<ul>
- <li><code><b>id</b></code> - The id attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="children" name="children">children</h2>
-<pre>&lt;!ELEMENT children EMPTY&gt;
-&lt;!ATTLIST children
- id ID #IMPLIED
- includes CDATA #IMPLIED
-&gt;
-</pre>
-<p>Specifies the location where any child elements of the bound element are placed in the generated content.</p>
-<p>Normally, if the element bound to has its own content, the anonymous content is not generated. However, with a <code>children</code> element, you can merge the content from the HTML/XML element and the XBL content.</p>
-<p>If the children tag contains content itself, that content will become the default content. If the element the binding is attached to contains content, the default content will be ignored. If the element does not contain content, the default content will be added.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>includes</b></code> - The <code>includes</code> attribute can be used to indicate that only certain content should be placed at the insertion point specified by the <code>children</code> element. Its value can be a tag name or multiple tag names separated by commas. A child can only be placed within the insertion point if it is matched by the value in the <code>includes</code> attribute. Only immediate children are matched against the selector. For example, an XML fragment <code>&lt;customElement&gt;&lt;foobar&gt;&lt;hoge/&gt;&lt;/foobar&gt;&lt;/customElement&gt;</code> with an binding definition <code>&lt;binding id="customElement"&gt;&lt;content&gt;&lt;xul:box&gt;&lt;children includes="hoge"/&gt;&lt;/xul:box&gt;&lt;/content&gt;&lt;/binding&gt;</code> for the <code>customElement</code> element, <code>&lt;xul:box/&gt;</code> becomes empty because the selector <code>includes="hoge"</code> doesn't match for the immediate child <code>foobar</code> element.</li>
-</ul>
-<h2 id="implementation" name="implementation">implementation</h2>
-<pre>&lt;!ENTITY % implementation-content "(method|property)*"&gt;
-&lt;!ELEMENT implementation %implementation-content;&gt;
-&lt;!ATTLIST implementation
- id ID #IMPLIED
- name CDATA #IMPLIED
- implements CDATA #IMPLIED
-&gt;
-</pre>
-<p>The <code>implementation</code> element describes the set of methods and properties that are attached to the bound element. Once the binding is attached, these methods and properties can be invoked directly from the bound element.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>name</b></code> - The <code>name</code> attribute can be used to provide a specific name for an implementation. This name can then be used to reference the implementation. For example, in JavaScript the value of this attribute represents the name of the corresponding class that is constructed for the implementation. If no name attribute is specified then the binding's document URI and id are used to uniquely reference the binding's implementation.</li>
- <li><code><b>implements</b></code> - The <code>implements</code> attribute can be used to describe the set of interfaces that are implemented by the binding. Its value is a comma-separated list of named interfaces. If supported, in strongly typed languages the bound element can be referenced not only as any of the interfaces that the element might already support (e.g., HTMLElement) but also as any of the interfaces described by this attribute. Support of this capability is optional.</li>
-</ul>
-<h2 id="constructor" name="constructor">constructor</h2>
-<p>The code inside the <code>constructor</code> is called when a <code>binding</code> has just been attached to an element. So full access to anonymous nodes generated by the binding is already possible. The <code>constructor</code> tag must be placed inside the <code>implementation</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<div class="note">
- <b>Note:</b> Prior to Firefox 3, the constructor could be called at a time when reflow of the document layout was locked down, so that attempting to get layout information from within the constructor could return out of date information. In Firefox 3 and later, the constructor is called when reflow can take place, which results in up-to-date information being returned. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=398404" title="FIXED: [FIX]Disallow reflow while processing constructors">bug 398404</a> for details.</div>
-<h2 id="destructor" name="destructor">destructor</h2>
-<p>The code inside the <code>destructor</code> is called when a <code>binding</code> is being removed from an element. You can use this to unload resources to free memory. However the <code>destructor</code> is often not called when it should, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=230086" title="Destructor of XBL element isn't called when I remove this element from DOM">bug 230086</a>. The <code>destructor</code> tag must be placed inside the <code>implementation</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="method" name="method">method</h2>
-<pre>&lt;!ENTITY % method-content "(parameter*,body?)"&gt;
-&lt;!ELEMENT method %method-content;&gt;
-&lt;!ATTLIST method
- id ID #IMPLIED
- name CDATA #REQUIRED
- type CDATA #IMPLIED
-&gt;
-</pre>
-<p>The <code>method</code> element is used to describe a single method of a binding implementation.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>name</b></code> - The <code>name</code> attribute's value is the name given to the method when it is attached to the bound element. The method can be invoked directly from the bound element using this value.</li>
-</ul>
-<p>
- <i>
- Example</i>
-</p>
-<pre>&lt;method name="scrollTo"&gt;
- &lt;parameter name="index"/&gt;
- &lt;body&gt;
- this.setAttribute("scrollpos", index);
- &lt;/body&gt;
-&lt;/method&gt;
-</pre>
-<h2 id="parameter" name="parameter">parameter</h2>
-<pre>&lt;!ELEMENT parameter EMPTY&gt;
-&lt;!ATTLIST parameter
- id ID #IMPLIED
- name CDATA #REQUIRED
-&gt;
-</pre>
-<p>The <code>parameter</code> element is used inside a <code>method</code> element. It represents a single parameter of a method.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>name</b></code> - The value of the <code>name</code> attribute is used by script within a method's <code>body</code> element to reference this parameter.</li>
-</ul>
-<h2 id="body" name="body">body</h2>
-<pre>&lt;!ELEMENT body CDATA&gt;
-&lt;!ATTLIST body
- id ID #IMPLIED
-&gt;
-</pre>
-<p>The <code>body</code> element represents the implementation of its corresponding <code>method</code>. Its contents are the script that is executed when the method is invoked.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="field" name="field">field</h2>
-<pre>&lt;!ELEMENT field EMPTY&gt;
-&lt;!ATTLIST field
- id ID #IMPLIED
- name CDATA #REQUIRED
- readonly (true|false) #IMPLIED
-&gt;
-</pre>
-<p>A field is similar to a <code><a href="ko/XBL/XBL_1.0_Reference/Elements#property">property</a></code>, except that it should not have a getter or setter. It is useful as a simple holder for a value. The field element must have content which is code that determines the initial value of the field. The <code>field</code> tag must be inside the <code>implementation</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>name</b></code> - The name of the field. This is the name used to refer to the field on the bound element.</li>
- <li><code><b>readonly</b></code> - If true, this field is read-only. If this attribute is omitted, the field will be readable and writable.</li>
-</ul>
-<div class="note">
- <b>Note:</b> In Firefox 3, fields are now evaluated the first time they're accessed instead of at binding attachment time. This shouldn't cause any problems in typical use cases, but there are cases in which this will impact the behavior of your code. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=372769" title="FIXED: [FIX]&lt;field> evaluation happens at an unsafe time">bug 372769</a> for details.</div>
-<p>Here are some examples of cases in which the behavior of your code may change due to this change in Firefox 3:</p>
-<ol>
- <li>If you have two fields, one named <code>A</code> and one named <code>B</code>, and field <code>A</code> sets <code>.B</code>, the value of <code>.B</code> will depend on whether or not <code>.A</code> has already been accessed.</li>
- <li>If a proto is inserted into the proto chain after binding instantiation, doing so may affect field values (this wasn't the case in prior versions of Firefox).</li>
- <li>At binding attachment time, <code><span class="nowiki">&lt;field name="parentNode"&gt;this.parentNode&lt;/field&gt;</span></code> is undefined instead of the value of <code>parentNode</code>.</li>
- <li>A field no longer changes the value of a property set on the object itself (rather than a proto) before binding attachment.</li>
-</ol>
-<h2 id="property" name="property">property</h2>
-<pre>&lt;!ENTITY % property-content "(getter?,setter?)"&gt;
-&lt;!ELEMENT property %property-content;&gt;
-&lt;!ATTLIST property
- id ID #IMPLIED
- name CDATA #REQUIRED
- readonly (true|false) #IMPLIED
- onget CDATA #IMPLIED
- onset CDATA #IMPLIED
-&gt;
-</pre>
-<p>The <code>property</code> element represents a single property of an implementation. A property consists of a pair of getter/setter functions that can be defined using <code>onget</code>/<code>onset</code> attributes or <a href="ko/XBL/XBL_1.0_Reference/Elements#getter">getter</a>/<a href="ko/XBL/XBL_1.0_Reference/Elements#setter">setter</a> elements underneath the <code>property</code> element. Like methods, once the binding is attached, the property can be obtained directly from the bound element. The <code>property</code> tag must be inside the <code>implementation</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>name</b></code> - The name of the property. This is the name used to refer to the property on the bound element.</li>
- <li><code><b>readonly</b></code> - The <code>readonly</code> attribute is used to designate a property as read-only. If set to <code>true</code>, the value of the property cannot be altered. If this attribute is omitted, the property will be readable and writable.</li>
- <li><code><b>onget</b></code> - The <code>onget</code> attribute's value is a script that executes when the value of the property is requested. If this attribute is set, any initial value contained underneath the element will be ignored. The return value of the script represents the value of the property that will be returned to the requestor. A property getter can also be specified as a child of the <code>property</code> element using the <code>getter</code> tag.</li>
- <li><code><b>onset</b></code> - The <code>onset</code> attribute's value is a script that executes when the value of the property is being altered. If this attribute is set, any initial value contained underneath the element will be ignored. Within the script, the parameter <code>val</code> represents the new value being assigned. The script should always return the actual value assigned in order to allow for chained assignment operations. A property setter can also be specified as a child of the <code>property</code> element using a <code>setter</code> tag.</li>
-</ul>
-<h2 id="getter" name="getter">getter</h2>
-<pre>&lt;!ELEMENT getter PCDATA&gt;
-&lt;!ATTLIST getter
- id ID #IMPLIED
-&gt;
-</pre>
-<p>The <code>getter</code> element contains script that gets executed when a specific property gets called. The <code>getter</code> tag must be inside the <code>property</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="setter" name="setter">setter</h2>
-<pre>&lt;!ELEMENT setter PCDATA&gt;
-&lt;!ATTLIST setter
- id ID #IMPLIED
-&gt;
-</pre>
-<p>The <code>setter</code> element contains script that gets executed when a specific property is being set. The <code>setter</code> tag must be inside the <code>property</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="handlers" name="handlers">handlers</h2>
-<pre>&lt;!ENTITY % handlers-content "handler*"&gt;
-&lt;!ELEMENT handlers %handlers-content;&gt;
-&lt;!ATTLIST handlers
- id ID #IMPLIED
-&gt;
-</pre>
-<p>The <code>handlers</code> element contains event handlers that can be attached to elements within the bound document. These handlers are installed when the binding is attached and removed when the binding is detached. The <code>handlers</code> tag must be inside the <code>binding</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="handler" name="handler">handler</h2>
-<pre>&lt;!ENTITY % handler-content "PCDATA"&gt;
-&lt;!ELEMENT handler %handler-content;&gt;
-&lt;!ATTLIST handler
- id ID #IMPLIED
- event NMREF #REQUIRED
- action CDATA #IMPLIED
- phase (capturing|bubbling|target) #IMPLIED
- button (1|2|3) #IMPLIED
- modifiers CDATA #IMPLIED
- keycode CDATA #IMPLIED
- key CDATA #IMPLIED
- charcode CDATA #IMPLIED
- clickcount (1|2|3) #IMPLIED
- command ID #IMPLIED
- preventdefault false|true #IMPLIED
-&gt;
-</pre>
-<p>The <code>handler</code> element describes a single event handler. This handler is attached to its target at the time the binding is attached and unhooked when the binding is detached from the bound element. The script inside the <code>handler</code> is executed when the event handler is matched. The <code>handler</code> tag must be inside the <code>handlers</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>event</b></code> - The <code>event</code> attribute describes the specific event that this handler is listening for. Its value can be any legal DOM event name (including custom events created using the DocumentEvent interface of the DOM).</li>
- <li><code><b>action</b></code> - The <code>action</code> attribute contains script that is invoked when the handler fires. The <code>type</code> attribute on the enclosing <code>handlers</code> element determines the language of the script. The handler script can also be specified as a child of the <code>handler</code> element.</li>
- <li><code><b>phase</b></code> - This attribute specifies the phase of the event flow that this handler should monitor. The possible values are <code>capturing</code>, <code>bubbling</code>, and <code>target</code>. If a phase is specified, the handler will only be invoked during that phase of the event handling process. If no phase is specified, a default of <code>bubbling</code> is assumed.</li>
- <li><code><b>button</b></code> - The <code>button</code> attribute imposes a
- <i>
- filter</i>
- on the handler. It is used with mouse handlers to specify a particular button. The event handler will only be matched if the value of the <code>button</code> field in the DOM mouse event object matches the value of the attribute.</li>
- <li><code><b>modifiers</b></code> - The <code>modifiers</code> attribute imposes a filter on key and mouse handlers. Its value is a whitespace- or comma-separated list of modifier keys. If present in the list, then the modifier key must be set in the DOM event object in order for the handler to be matched. If the <code>modifiers</code> is not empty and the modifier is not present in the list, then the modifier key must not be set in the DOM event object in order for the handler to be matched.<br>
- Supported modifiers are:
- <ul>
- <li><code>shift</code></li>
- <li><code>alt</code></li>
- <li><code>control</code></li>
- <li><code>meta</code></li>
- <li><code>accel</code> - the platform's primary accelerator key. It is left up to the user agent to decide which modifier key represents the primary key. (It's the Control key on Windows and Meta on Mac.)</li>
- <li><code>accesskey</code> - the platform's primary shortcut mnemonic key should be used (the Alt key on Windows and Linux, has no effect on Mac).</li>
- </ul>
- </li>
- <li><code><b>keycode</b></code> - The <code>keycode</code> attribute imposes a filter on key handlers. Its value is a key identifier for a specific keycode, e.g., <code>vk_enter</code>.<br>
- <i>
- [Editor's Note: A forthcoming DOM events specification will presumably outline the list of valid keycode strings.]</i>
- <br>
- If this attribute is present, then its value must match the <a href="ko/DOM/event.keyCode">keyCode</a> field of the DOM key event object in order for the handler to fire.</li>
- <li><code><b>charcode</b></code> - The <code>charcode</code> attribute imposes a filter on key handlers. Its value is a single character, e.g., "<code>z</code>". If this attribute is present, then its value must match the <a href="ko/DOM/event.charCode">charCode</a> field of the DOM key event object in order for the handler to fire.<br>
- <i>
- [Editor's note: As DOM Events mature more attributes may be added. For example, mutation events define several new fields such as relatedTarget that could be supported in the filtering syntax.]</i>
- </li>
- <li><code><b>key</b></code> - The <code>key</code> attribute has the same meaning as <code>charcode</code>.</li>
- <li><code><b>clickcount</b></code> - The <code>clickcount</code> attribute imposes a
- <i>
- filter</i>
- on the handler. It is used with mouse handlers to specify how many times a button has been clicked. The event handler will only be matched if the value of the <code>clickcount</code> field in the DOM mouse event object matches the value of the attribute.</li>
- <li><code><b>command</b></code> - The id of a command to invoke when the event occurs. If used in a non-chrome document, the entire handler will be ignored.</li>
- <li><code><b>preventdefault</b></code> - If set to true, the default action of the event is not performed. See also <a href="ko/DOM/event.preventDefault">preventDefault</a> method of the Event object.</li>
-</ul>
-<h2 id="resources" name="resources">resources</h2>
-<pre>&lt;!ENTITY % resources-content "(image?,stylesheet?)"&gt;
-&lt;!ELEMENT resources %resources-content;&gt;
-&lt;!ATTLIST property
- id ID #IMPLIED
-&gt;
-</pre>
-<p>Used for inclusion of <a href="ko/XBL/XBL_1.0_Reference#image">image</a> elements, to cache them for later use, and for inclusion of <a href="ko/XBL/XBL_1.0_Reference#stylesheet">stylesheet</a> elements. The <code>resources</code> tag must be used directly inside the <code>binding</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
-</ul>
-<h2 id="stylesheet" name="stylesheet">stylesheet</h2>
-<pre>&lt;!ELEMENT stylesheet EMPTY&gt;
-&lt;!ATTLIST stylesheet
- id ID #IMPLIED
- src URI #REQUIRED
-&gt;
-</pre>
-<p>The <code>stylesheet</code> element declares a style sheet used by the binding. The style rules in the style sheet will only be applied to the binding, not to other elements in the document. The <code>stylesheet</code> tag must be inside the <code>resources</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>src</b></code> - The URL of the style sheet to apply to the binding content.</li>
-</ul>
-<h2 id="image" name="image">image</h2>
-<pre>&lt;!ELEMENT image EMPTY&gt;
-&lt;!ATTLIST image
- id ID #IMPLIED
- src URI #REQUIRED
-&gt;
-</pre>
-<p>Declares an image resource used by the binding. The image is loaded as soon as the binding is used. You can use this to preload a number of images for later use. The <code>image</code> tag must be inside the <code>resources</code> tag.</p>
-<ul>
- <li><code><b>id</b></code> - The <code>id</code> attribute is a document-unique identifier.</li>
- <li><code><b>src</b></code> - The URL of the image to load.</li>
-</ul>
diff --git a/files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html b/files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html
deleted file mode 100644
index 044d638e52..0000000000
--- a/files/ko/archive/mozilla/xbl/xbl_1.0_reference/index.html
+++ /dev/null
@@ -1,118 +0,0 @@
----
-title: XBL 1.0 Reference
-slug: Archive/Mozilla/XBL/XBL_1.0_Reference
-tags:
- - XBL
-translation_of: Archive/Mozilla/XBL/XBL_1.0_Reference
----
-<h3 id=".EC.B4.88.EB.A1.9D" name=".EC.B4.88.EB.A1.9D">초록</h3>
-<p>This document describes Extensible Binding Language (<a href="ko/XBL">XBL</a>) 1.0 as implemented in <a href="ko/Gecko">Gecko</a> browsers.</p>
-<p>Extensible Binding Language is a <a href="ko/XML">XML</a>-based markup language to implement reusable components (
- <i>
- bindings</i>
- ) that can be bound to elements in other documents. The element with a binding specified, called the
- <i>
- bound element</i>
- , acquires the new behavior specified by the binding. Bindings can be bound to elements using Cascading Style Sheets (<a href="ko/CSS">CSS</a>) or <a href="ko/DOM">DOM</a>. One element can be be bound to several bindings at once.</p>
-<p>Functionally bindings should be correlated with <a class="external" href="http://msdn.microsoft.com/workshop/components/htc/reference/htcref.asp">Behaviors</a> and <a class="external" href="http://msdn.microsoft.com/workshop/author/behaviors/overview/viewlink_ovw.asp">Viewlink</a> but being implemented as one integrated XML solution.</p>
-<p>Bindings can contain event handlers that are registered on the bound element, an implementation of new methods and properties that become accessible from the bound element, and anonymous content that is inserted around the bound element.</p>
-<div class="note">
- <p>There are numerous adjustments in the current implementation in comparison of <a class="external" href="http://www.w3.org/TR/xbl/">earlier XBL proposals</a>, and not all of them are reflected yet in this document. The documentation process is still in progress: please keep it in your mind while using the provided information.</p>
-</div>
-<h3 id="XBL_.EC.9A.94.EC.86.8C" name="XBL_.EC.9A.94.EC.86.8C"><a href="ko/XBL/XBL_1.0_Reference/Elements">XBL 요소</a></h3>
-<ul>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#bindings">bindings</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#binding">binding</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#_content">content</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#children">children</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#implementation">implementation</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#constructor">constructor</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#destructor">destructor</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#field">field</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#property">property</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#getter">getter</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#setter">setter</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#method">method</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#parameter">parameter</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#body">body</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#handlers">handlers</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#handler">handler</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#resources">resources</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#stylesheet">stylesheet</a></code></li>
- <li><code><a href="ko/XBL/XBL_1.0_Reference/Elements#image">image</a></code></li>
-</ul>
-<h3 id="Binding_Attachment_and_Detachment" name="Binding_Attachment_and_Detachment"><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment">Binding Attachment and Detachment</a></h3>
-<ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#Attachment_using_CSS">Attachment using CSS</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#Attachment_using_element.style_property">Attachment using element.style property</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#.3Cconstructor.3E_call">&lt;constructor&gt; call</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#.3Cdestructor.3E_call">&lt;destructor&gt; call</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Attachment_and_Detachment#Binding_Documents">Binding Documents</a></li>
-</ul>
-<h3 id="DOM_Interfaces" name="DOM_Interfaces"><a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces">DOM Interfaces</a></h3>
-<ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#The_DocumentXBL_Interface">The DocumentXBL Interface</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#The_ElementXBL_Interface">The ElementXBL Interface</a></li>
-</ul>
-<h3 id="Anonymous_Content" name="Anonymous_Content"><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content">Anonymous Content</a></h3>
-<ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Introduction">Introduction</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Scoping_and_Access_Using_the_DOM">Scoping and Access Using the DOM</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Content_Generation">Content Generation</a>
- <ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Rules_for_Generation">Rules for Generation</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#The_contentgenerated_Event">The contentgenerated Event</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#The_contentdestroyed_Event">The contentdestroyed Event</a></li>
- </ul>
- </li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Attribute_Forwarding">Attribute Forwarding</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Insertion_Points">Insertion Points</a>
- <ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#.3Cchildren.3E_and_.3Celement.3E">&lt;children&gt; and &lt;element&gt;</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Handling_DOM_Changes">Handling DOM Changes</a></li>
- </ul>
- </li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Event_Flow_and_Targeting">Event Flow and Targeting</a>
- <ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Flow_and_Targeting_Across_Scopes">Flow and Targeting Across Scopes</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Focus_and_Blur_Events">Focus and Blur Events</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Mouseover_and_Mouseout_Events">Mouseover and Mouseout Events</a></li>
- </ul>
- </li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Anonymous_Content_and_CSS">Anonymous Content and CSS</a>
- <ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Selectors_and_Scopes">Selectors and Scopes</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Anonymous_Content#Binding_Stylesheets">Binding Stylesheets</a></li>
- </ul>
- </li>
-</ul>
-<h3 id="Binding_Implementations" name="Binding_Implementations"><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations">Binding Implementations</a></h3>
-<ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Introduction">Introduction</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Methods">Methods</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Properties">Properties</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Binding_Implementations#Inheritance_of_Implementations">Inheritance of Implementations</a></li>
-</ul>
-<h3 id="Event_Handlers" name="Event_Handlers"><a href="ko/XBL/XBL_1.0_Reference/Event_Handlers">Event Handlers</a></h3>
-<h3 id="Example_-_Sticky_Notes" name="Example_-_Sticky_Notes"><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes">Example - Sticky Notes</a></h3>
-<p>Updated and adjusted for the current Firefox implementation.</p>
-<div class="note">
- <p>This example is targeted to demonstrate the XBL usage rather than to be a practically useful application. For this reason it contains many comments and some blocks could be avoided in a more compact solution yet used here for demonstration purposes.</p>
-</div>
-<ul>
- <li><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes#notes.html">notes.html</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes#notes.xml">notes.xml</a></li>
- <li><a href="ko/XBL/XBL_1.0_Reference/Example_Sticky_Notes#notes.css">notes.css</a></li>
-</ul>
-<p><a class="external" href="http://www.nskom.com/external/xbl/notes.html">View this example</a></p>
-<p><br>
- <span class="comment"><a class="external" href="http://www.nskom.com/external/xbl/notes.zip" title="http://www.nskom.com/external/xbl/notes.zip">Download all files (.zip archive)</a> need to ask to adjust the server - it gives "Access denied" for zip files (?)</span></p>
-<h3 id="References" name="References">References</h3>
-<p><a class="external" href="http://www.w3.org/TR/xbl/">Initial XBL 1.0 proposal submitted as a Note to W3C</a></p>
-<p><a class="external" href="http://www.mozilla.org/projects/xbl/xbl2.html">XBL 2.0 Project</a></p>
-<div class="originaldocinfo">
- <h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
- <ul>
- <li>Last Updated Date: April 24, 2006</li>
- </ul>
-</div>
diff --git a/files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html b/files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html
deleted file mode 100644
index 33b4f14f44..0000000000
--- a/files/ko/archive/mozilla/xulrunner/dialogs_in_xulrunner/index.html
+++ /dev/null
@@ -1,121 +0,0 @@
----
-title: Dialogs in XULRunner
-slug: Archive/Mozilla/XULRunner/Dialogs_in_XULRunner
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner/Dialogs_in_XULRunner
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Windows_and_menus_in_XULRunner" style="float: left;">« 이전</a><br></p>
-</div><p></p>
-<p><a href="ko/Windows_and_menus_in_XULRunner">이전 기사에서는</a> 창, 메뉴, 도구바를 만드는데 사용되는 간단한 XUL에 대해 알아봤습니다. 이번에는 사용자 정의 대화상자와 표준 운영체제(공통) 대화상자에 대해 알아보겠습니다. 대화상자는 데스크탑 응용 프로그램를 구성하는 기본 요소들입니다. 어떤 종류의 대화상자는 너무 자주 사용되므로 OS에서 기본적인 구현을 제공하기도 합니다. 파일 열기와 저장 대화상자가 대표적인 예입니다. 가능하면 응용 프로그램간의 사용자가 느끼는 일관된 체험(일관성)을 유지하기 위해 제공되는 "기본(native)" 대화상자를 재활용하는 것이 좋습니다.</p>
-<h2 id=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.A0.95.EC.9D.98_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90" name=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.A0.95.EC.9D.98_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90">사용자 정의 대화상자</h2>
-<p>XUL로 대화상자를 만드는 것은 윈도우를 만드는 것과 아주 유사합니다. 대화상자는 독립된 XUL 파일에 정의됩니다. XUL에서는 대화상자의 컨테이너로 동작하는 <code><a href="/ko/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code> 요소를 제공합니다. 대화상자 XUL 파일은 윈도우와 마찬가지로 DTD, CSS, JavaScript를 포함할 수 있습니다. 아래는 XUL 대화상자의 예제입니다.</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;dialog id="myDialog" title="My Dialog"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- onload="window.sizeToContent();"
- buttons="accept,cancel"
- buttonlabelaccept="Set Favorite"
- buttonaccesskeyaccept="S"
- ondialogaccept="return doSave();"
- buttonlabelcancel="Cancel"
- buttonaccesskeycancel="n"
- ondialogcancel="return doCancel();"&gt;
-
- &lt;script&gt;
- function doSave(){
- //doSomething()
- return true;
- }
-
- function doCancel(){
- return true;
- }
- &lt;/script&gt;
-
- &lt;dialogheader title="My dialog" description="Example dialog"/&gt;
- &lt;groupbox flex="1"&gt;
- &lt;caption label="Select favorite fruit"/&gt;
- &lt;radiogroup&gt;
- &lt;radio id="1" label="Oranges because they are fruity"/&gt;
- &lt;radio id="2" selected="true" label="Strawberries because of color"/&gt;
- &lt;radio id="3" label="Bananna because it pre packaged"/&gt;
- &lt;/radiogroup&gt;
- &lt;/groupbox&gt;
-
-&lt;/dialog&gt;
-</pre>
-<p>XUL window 요소는 대화상자를 여는데(open) 사용되는 <code><a href="ko/DOM/window.openDialog">window.openDialog()</a></code>라는 특별한 메소드를 가지고 있습니다. 다음은 대화상자를 여는데 사용되는 코드입니다.</p>
-<pre class="eval">function openDialog() {
- window.openDialog("<a class="external" rel="freelink">chrome://basicapp/content/dialog.xul</a>", "newdlg", "modal");
-}
-</pre>
-<p>Windows 200에서 위 코드로 열린 대화상자는 다음과 같으며, 다른 운영체제도 비슷한 모양세일 것입니다.</p>
-<p><img alt="Image:XULDialogExample.png"></p>
-<p><code><a href="/ko/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code> 요소에서 나의 눈을 사로잡은 첫번째는 버튼과 관련된 속성입니다. 개발자들이 좀 더 쉽게 접근하고 사용자들에게 일관성을 제공하기 위해 XUL은 핵심적인 대화상자 버튼("확인", "취소", "도움말" 등)들을 자동으로 만들고 배치해주는 메커니즘을 제공하고 있습니다.</p>
-<p>개발자는 필요한 버튼들을 명시하고 각 버튼에 대한 제목과 단축키 그리고 버튼이 눌러졌을 때 호출될 JavaScript 함수를 지정하기만 하면 됩니다. XUL이 대화상자내에서 버튼에 대한 위치와 스타일을 알아서 처리해 줍니다. 이러한 방식은, 운영체제들마다 대화상자 내 버튼의 위치가 고유의 컨벤션을 가지고 있다는 점을 생각해 보면, 크로스 플랫폼(cross-platform) 응용 프로그램을 개발하는데 있어 아주 좋은 환경을 제공해 준다고 할 수 있습니다.</p>
-<p>아래는 <code><a href="/ko/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code>에서 버튼과 관련된 속성들 중 일부 입니다. 도 참조해 보세요.</p>
-<dl>
- <dt>
- <code><a href="ko/XUL/Attribute/buttons">buttons</a></code></dt>
- <dd>
- 대화상자에 표시할 버튼들의 쉼표로 분리된 목록(<code>accept</code>, <code>cancel</code>, <code>help</code>, <code>extra1</code>, and <code>extra2</code>).</dd>
- <dt>
- <code><a href="ko/XUL/Attribute/buttonlabelaccept">buttonlabelaccept</a></code></dt>
- <dd>
- 확인 버튼을 위한 라벨, 다른 버튼에도 비슷한 속성이 존재합니다.</dd>
- <dt>
- <code><a href="ko/XUL/Attribute/buttonaccesskeyaccept">buttonaccesskeyaccept</a></code></dt>
- <dd>
- 확인 버튼에 사용되는 단축키, 다른 버튼에도 비슷한 속성이 존재합니다.</dd>
- <dt>
- <code><a href="ko/XUL/Attribute/ondialogaccept">ondialogaccept</a></code></dt>
- <dd>
- 확인 버튼이 눌러졌을때 실행될 JavaScript, 다른 버튼에도 비슷한 속성이 존재합니다.</dd>
-</dl>
-<p>XUL에는 다양한 종류의 입력 컨트롤들이 존재하며, 대화상자에도 사용할 수 있습니다. 이 후 기사에서는 현재 사용되고 있는, 그리고 앞으로 계획된 XUL 입력 컨트롤에 대해 좀 더 자세히 알아보려고 합니다. 제가 <code><span class="nowiki">&lt;dialogheader&gt;</span></code>를 사용하게 될지 확실하지 않지만, 이 하나의 요소만으로 간단하게 헤더를 만드는데 시간을 줄여줍니다.</p>
-<h2 id=".EA.B3.B5.ED.86.B5_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90" name=".EA.B3.B5.ED.86.B5_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90">공통 대화상자</h2>
-<p>가장 자주 사용되는 공통 대화상자는 파일 열기와 저장하기 입니다. 예를 들어 윈도우즈에서는 예전부터 내장된 파일 열기와 저장하기 대화상자를 제공하고 있고 Mac 또한 마찬가지 있습니다. 이러한 것들은 응용 프로그램 개발자들을 편하게 해 줄 뿐만 아니라 사용자들에게도 일관성 있는 인터페이스를 제공하여 사용하기 쉽게 해 줍니다. XUL에서도 filepicker(Mozilla에서는 파일 열기와 저장하기 대화상자를 이렇게 부릅니다)의 네이티브 구현을 지원하고 있습니다. 향후 릴리즈에서는 사용자가 원한다면 설정을 통해 XUL filepicker로 전환할 수 있는 기능을 제공할 것입니다. XUL filepicker는 <a href="ko/XPCOM">XPCOM</a> 컴포넌트로, 사용 전에 다음과 같이 초기화되어야 합니다.</p>
-<pre>function doFileOpen() {
- /* See: http://developer.mozilla.org/en/docs/XUL_Tutorial:Open_and_Save_Dialogs */
-
- var nsIFilePicker = Components.interfaces.nsIFilePicker;
- var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
-
- fp.init(window, "Open File", nsIFilePicker.modeOpen);
- fp.appendFilters(nsIFilePicker.filterText | nsIFilePicker.filterAll);
-
- var res = fp.show();
- if (res == nsIFilePicker.returnOK) {
- var thefile = fp.file;
- alert(thefile.leafName);
- // --- do something with the file here ---
- }
-}
-</pre>
-<p>XUL에서 현재는 다른 공통 대화상자를 제공하고 있지는 못합니다. 향후 버전에서는 수정될 것입니다. Firefox와 Thunderbird는 모두 페이지 설정과 인쇄 공통 대화상자를 지원하고 있습니다. 또한 XUL에서는 마법사를 만드는 요소를 지원합니다.</p>
-<p>본 시리즈의 향후 기사들에서는 입력 컨트롤, 인쇄, 클립보드, XPCOM에 대해서 알아볼 것입니다.</p>
-<h2 id=".EC.B0.B8.EA.B3.A0_.EB.AC.B8.EC.84.9C" name=".EC.B0.B8.EA.B3.A0_.EB.AC.B8.EC.84.9C">참고 문서</h2>
-<ul>
- <li><a href="ko/XUL/dialog">XUL:dialog</a></li>
- <li><a class="external" href="http://www.xulplanet.com/tutorials/xultu/dialogs.html">Creating dialogs</a></li>
- <li><a href="ko/XUL_Tutorial/Creating_Dialogs">XUL Tutorial:Creating Dialogs</a></li>
- <li><a href="ko/NsIFilePicker">nsIFilePicker</a></li>
- <li><a href="ko/XUL_Tutorial/Open_and_Save_Dialogs">XUL Tutorial:Open and Save Dialogs</a></li>
-</ul>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Windows_and_menus_in_XULRunner" style="float: left;">« 이전</a><br></p>
-</div><p></p>
-<div class="originaldocinfo">
- <h2 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C">원본 문서</h2>
- <ul>
- <li>저자: Mark Finkle</li>
- <li>최종 수정일: October 2, 2006</li>
- </ul>
-</div>
-<div class="noinclude">
-  </div>
diff --git a/files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html b/files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html
deleted file mode 100644
index 2207ae7ae0..0000000000
--- a/files/ko/archive/mozilla/xulrunner/getting_started_with_xulrunner/index.html
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: Getting started with XULRunner
-slug: Archive/Mozilla/XULRunner/Getting_started_with_XULRunner
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner/Getting_started_with_XULRunner
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Windows_and_menus_in_XULRunner">다음 »</a></p>
-</div><p></p>
-<p>본 기사에서는 <a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a>를 이용하여 기본적인 데스크탑 응용프로그램을 개발해봄으로써 Mozilla 플랫폼에 대해 알아보겠습니다. Firefox, Thunderbird, 기타 다양한 응용프로그램들이 이 플랫폼을 이용하여 작성되었으며, 기본적인 응용 프로그램을 개발하기에 사용될 수 있을 만큼 충분히 안정적입니다.</p>
-<p>여러분이 XUL 기반의 데스크탑 응용 프로그램을 개발려고자 한다면, XULRunner를 설치해야 할 것입니다. 먼저 XULRunner를 설치한 후, 골격만 있는 프로그램을 실행해서 제대로 동작하는지 확인해 보겠습니다.</p>
-<h2 id="1.EB.8B.A8.EA.B3.84:_XULRunner_.EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C" name="1.EB.8B.A8.EA.B3.84:_XULRunner_.EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C">1단계: XULRunner 다운로드</h2>
-<p>여러분은 MDC의 메인 <a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a> 페이지에서 다운로드 링크를 찾을 수 있습니다.</p>
-<p>Windows 버전의 XULRunner는 인스톨러가 아니고 zip 파일로 제공됩니다. 개발자 입장에서는 내 장비에 압축을 해제하기만 하면 된다는 아이디어가 마음에 듭니다. Windwos 시스템을 건드릴 필요가 없을 것 같아서 좋습니다.</p>
-<p>Mac 버전의 경우는 표준 Mac OS X 인스톨러로 배포됩니다.</p>
-<h2 id="2.EB.8B.A8.EA.B3.84:_XULRunner_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0" name="2.EB.8B.A8.EA.B3.84:_XULRunner_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0">2단계: XULRunner 설치하기</h2>
-<p>Windows에서는 적당한 위치에 압축을 해제하세요. 나는 <code>C:\program files\xulrunner</code> 폴더를 새로 만들고 이곳에 압축을 풀었습니다. 지금까지는 꽤 간단합니다. Mac의 경우에는 그냥 인스톨러를 실행하면 <code>/Library/Frameworks</code> 디렉토리에 <code>XUL.Framework</code>로 설치되게 됩니다.</p>
-<p>이제 간단한 뼈대만 있는 간단한 응용 프로그램 껍데기를 만들 시간입니다. 괜찮다면 이 프로그램을 XUL 버전의 "Hello World"라고 하겠습니다. Google 검색을 해보면 <a class="external" href="http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx">괜찮은 자습서</a>를 발견할 수 있습니다. 읽어볼만 합니다. 자습서를 읽고서 나는 간단한 시작 응용 프로그램을 만들었습니다. 아래에 있는 내용들은 모두 Ryans의 자습서과 이곳 MDC에 있는 <a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a>에서도 볼 수 있는 내용들입니다.</p>
-<h2 id="3.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.ED.8F.B4.EB.8D.94_.EA.B5.AC.EC.A1.B0_.EC.83.9D.EC.84.B1" name="3.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.ED.8F.B4.EB.8D.94_.EA.B5.AC.EC.A1.B0_.EC.83.9D.EC.84.B1">3단계: 응용 프로그램 폴더 구조 생성</h2>
-<p>윈도우에서, 내 경우 루트 폴더를 <code>c:\program files\myapp</code>로 생성했지만, 아무곳이나 괜찮습니다. 다음은 하위 폴더 구조입니다.</p>
-<pre>/myapp
- /chrome
- /content
- main.xul
- chrome.manifest
- /defaults
- /preferences
- prefs.js
- application.ini
-</pre>
-<p>위의 폴더 구조에 4개의 파일 - <code>application.ini</code>, <code>chrome.manifest</code>, <code>prefs.js</code>, <code>main.xul</code> - 이 있다는 것을 명심하세요.</p>
-<h2 id="4.EB.8B.A8.EA.B3.84:_application.ini_.EC.84.A4.EC.A0.95" name="4.EB.8B.A8.EA.B3.84:_application.ini_.EC.84.A4.EC.A0.95">4단계: <code>application.ini</code> 설정</h2>
-<p><code><a href="/ko/XUL_Application_Packaging" title="ko/XUL_Application_Packaging">application.ini</a></code> 파일은 여러분이 작성하는 응용 프로그램에 대한 XULRunner의 시작점입니다. 이 파일에서는 여러분이 작성한 응용 프로그램이 XULRunner 플랫폼을 어떤 의도로 사용할 것인가를 제시하며, XULRunner가 응용 프로그램을 실행하는데 필요한 정보들에 대한 설정을 포함합니다. 제가 작성한 것은 다음과 같습니다.</p>
-<pre>[App]
-Vendor=Finkle
-Name=Test App
-Version=1.0
-BuildID=20060101
-Copyright=Copyright (c) 2006 Mark Finkle
-ID=xulapp@starkravingfinkle.org
-
-[Gecko]
-MinVersion=1.8
-MaxVersion=1.8
-</pre>
-<p><span class="comment">not really... You can find more information about the &lt;tt&gt;application.ini&lt;/tt&gt; file in the article <a href="/ko/XULRunner/Deploying_XULRunner_1.8">XULRunner:Deploying XULRunner 1.8</a>.</span></p>
-<p><em>주의:</em> 2007 nightly trunk XULRunner build에서 본 예제 프로그램을 실행시키기려면 MaxVersion을 1.9로 수정하세요.</p>
-<h2 id="5.EB.8B.A8.EA.B3.84:_Chrome_.EC.84.A0.EC.96.B8_.EC.84.A4.EC.A0.95" name="5.EB.8B.A8.EA.B3.84:_Chrome_.EC.84.A0.EC.96.B8_.EC.84.A4.EC.A0.95">5단계: Chrome 선언 설정</h2>
-<p><a href="/ko/Chrome_Registration" title="ko/Chrome_Registration">Chrome 선언</a> 파일은 응용 프로그램에 포함된 자원(resource)의 위치를 나타내기 위해 XULRunner가 사용하는 URI들을 정의합니다. 이는 "chrome://" URI가 사용되는 방법을 보면 잘 알 수 있습니다. 응용 프로그램 chrome은 하나 혹은 몇개의 JAR 파일로 구성되거나 또는 압축되지 않은 폴더와 파일로 구성될 수 있습니다. 여기서는 압축되지 않은 방법을 사용할 것입니다. 내가 작성한 선언 파일은 다음과 같습니다.</p>
-<pre class="eval"> content myapp file:content/
-</pre>
-<div class="note">주의: 응용 프로그램 이름은 소문자이고 3자 이상이어야 합니다.</div>
-<h2 id="6.EB.8B.A8.EA.B3.84:_.ED.99.98.EA.B2.BD_.EC.84.A4.EC.A0.95_.EA.B5.AC.EC.84.B1" name="6.EB.8B.A8.EA.B3.84:_.ED.99.98.EA.B2.BD_.EC.84.A4.EC.A0.95_.EA.B5.AC.EC.84.B1">6단계: 환경 설정 구성</h2>
-<p><code>prefs.js</code> 파일에는 XULRunner가 메인 윈도우로 사용할 XUL 파일명에 대한 정보가 포함되어 있습니다. 내 것은 다음과 같습니다.</p>
-<pre class="eval"> pref("toolkit.defaultChromeURI", "<a class=" external" rel="freelink">chrome://myapp/content/main.xul</a>");
-</pre>
-<p>XULRunner 환경 설정에는 다음과 같은 것들이 포함됩니다.</p>
-<dl> <dt><code><a href="/ko/Toolkit.defaultChromeURI" title="ko/Toolkit.defaultChromeURI">toolkit.defaultChromeURI</a></code></dt> <dd>응용 프로그램이 실행될 때 열릴 기본 윈도우를 지정합니다.</dd> <dt><code><a href="/ko/Toolkit.defaultChromeFeatures" title="ko/Toolkit.defaultChromeFeatures">toolkit.defaultChromeFeatures</a></code></dt> <dd>메인 윈도우가 열릴 때 <code><a href="/ko/Window.open" title="ko/Window.open">window.open()</a></code> 코드에 포함될 기능(feature)들을 지정합니다.</dd> <dt><code><a href="/ko/Toolkit.singletonWindowType" title="ko/Toolkit.singletonWindowType">toolkit.singletonWindowType</a></code></dt> <dd>응용 프로그램이 한번에 하나의 인스터스만을 가지도록 설정합니다.</dd>
-</dl>
-<p>이 내용들은 <a href="/ko/XULRunner/Specifying_Startup_Chrome_Window" title="ko/XULRunner/Specifying_Startup_Chrome_Window">XULRunner:Specifying Startup Chrome Window</a>에 좀 더 자세히 설명되어 있습니다.</p>
-<h2 id="7.EB.8B.A8.EA.B3.84:_XUL_.EB.A7.8C.EB.93.A4.EA.B8.B0" name="7.EB.8B.A8.EA.B3.84:_XUL_.EB.A7.8C.EB.93.A4.EA.B8.B0">7단계: XUL 만들기</h2>
-<p>마지막으로 간단한 XUL 윈도우를 만들어야 하는데, 이는 <code>main.xul</code> 파일에 잘 나와 있습니다. 여기 있는 내용은 특별한 건 없고 창을 만들기 위해 필요한 최소한의 것들만 포함되어 있습니다.</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;window id="main" title="My App" width="300" height="300"
-xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
- &lt;caption label="Hello World"/&gt;
-&lt;/window&gt;
-</pre>
-<div class="note">주의: XML/XUL 파일의 맨 처음에 공백이 있으면 안됩니다.</div>
-<h2 id="8.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0" name="8.EB.8B.A8.EA.B3.84:_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0">8단계: 응용 프로그램 실행하기</h2>
-<p>결정적 순간입니다. 응용 프로그램을 실행하기 위해 XULRunner가 필요합니다. Windows의 명령창을 열고 <code>C:\program files\myapp</code> 폴더로 이동한 후 다음의 명령어를 실행하세요.</p>
-<pre class="eval"> xulrunner.exe application.ini
-</pre>
-<p>물론, xulrunner.exe는 <code>PATH</code>에 포함되어 있어야 합니다. xulrunner.exe가 경로에 포함되어 있지 않다면 다음과 같이 실행할 수 있습니다.</p>
-<pre class="eval"> ..\xulrunner\xulrunner.exe application.ini
-</pre>
-<p>Mac에서는 터미널 창을 열고 <code>myapp</code> 디렉토리로 이동한 후 다음과 같이 입력하시면 됩니다.</p>
-<pre class="eval"> /Library/Frameworks/XUL.framework/xulrunner-bin application.ini
-</pre>
-<p>여러분은 다음과 같이 생긴 창을 볼 수 있을 것입니다. 다음 화면은 Ubuntu에서의 화면입니다.</p>
-<p><img alt="Image:XULSampleMyapp.png" class=" internal" src="/@api/deki/files/2089/=XULSampleMyapp.png"></p>
-<h3 id=".EB.8B.A4.EB.A5.B8_.EB.B0.A9.EB.B2.95:_Firefox3_-app.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.B4_XUL_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.84_.EC.8B.A4.ED.96.89.EC.8B.9C.ED.82.A4.EA.B8.B0" name=".EB.8B.A4.EB.A5.B8_.EB.B0.A9.EB.B2.95:_Firefox3_-app.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.B4_XUL_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.9D.84_.EC.8B.A4.ED.96.89.EC.8B.9C.ED.82.A4.EA.B8.B0">다른 방법: Firefox3 -app를 이용해 XUL 응용 프로그램을 실행시키기</h3>
-<p>Firefox 3에서는 커맨드 라인을 통해 브라우저 대신 XUL 응용 프로그램이 실행되도록 할 수 있습니다. 이는 XULRunner를 이용하여 XUL 응용 프로그램을 실행하는 것과 비슷합니다. <a href="/ko/XULRunner_tips#Using_Firefox_3_to_run_XULRunner_applications" title="ko/XULRunner_tips#Using_Firefox_3_to_run_XULRunner_applications">Firefox 3를 이용한 XULRunner 응용 프로그램 실행하기</a>를 참조하세요.</p>
-<p><a class="external" href="http://developer.mozilla.org/samples/xulrunner/myapp.zip">예제 프로젝트</a> 다운받기.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Windows_and_menus_in_XULRunner">다음 »</a></p>
-</div><p></p>
-<div class="originaldocinfo">
-<h2 id=".EC.9B.90.EB.B3.B8_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EC.A0.95.EB.B3.B4">원본 정보</h2>
-<ul> <li>저자: Mark Finkle</li> <li>최종 수정일: 2006년 10월 2일</li>
-</ul>
-</div>
-
-<p> </p>
diff --git a/files/ko/archive/mozilla/xulrunner/index.html b/files/ko/archive/mozilla/xulrunner/index.html
deleted file mode 100644
index 8e736dc6f8..0000000000
--- a/files/ko/archive/mozilla/xulrunner/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: XULRunner
-slug: Archive/Mozilla/XULRunner
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner
----
-<p> </p>
-<div class="callout-box"><strong><a href="/ko/Getting_started_with_XULRunner" title="ko/Getting_started_with_XULRunner"> XULRunner 입문서</a></strong><br>
-XULRunner에 대한 간단한 소개.</div>
-<div>
-<p><strong>XULRunner</strong>는 Mozilla 실행시 동작하는(runtime) 패키지로서 Firefox와 Thunderbird의 기능을 풍부하게 하는 XUL과 XPCOM을 불러오게(bootstrap)할 수 있습니다. XULRunner는 XUL 혹은 XPCOM 프로그램을 설치, 업그레이드 그리고 삭제할 수 있는 기능을 제공합니다. XULRunner는 또한 libxul을 지원하는데 이는 다른 프로젝트 혹은 프로그램에 Mozilla를 내장시킬 수 있게 하는 것입니다.</p>
-</div>
-<table class="topicpage-table"> <tbody> <tr> <td> <h4 id=".EC.A0.9C.ED.92.88_.EC.86.8C.EA.B0.9C" name=".EC.A0.9C.ED.92.88_.EC.86.8C.EA.B0.9C">제품 소개</h4> <div class="note"> <p>XULRunner trunk (XULRunner 1.9)의 nightly builds는 <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/">Mozilla FTP 사이트</a>에서 다운로드 받을 수 있습니다. 설치, 제거, 그 외 정보들은 <a href="/ko/XULRunner_1.8.0.4_Release_Notes" title="ko/XULRunner_1.8.0.4_Release_Notes">1.8 제품 소개서</a>를 읽어보세요.</p> <p>Firefox 3 beta에는 전용 XULRunner 패키지가 포함되어 있으며, 이를 이용해 다른 XULRunner 응용 프로그램을 실행할 수 있습니다.</p> <p><a href="/ko/XULRunner//Old_Releases" title="ko/XULRunner//Old_Releases">이전 빌드</a>들도 사용 가능합니다.</p> </div> <h4 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94">개요</h4> <ul> <li><a class="wikimo" href="https://wiki.mozilla.org/XULRunner:Roadmap" title="개발 로드맵">개발 로드맵</a></li> <li><a href="/ko/XULRunner/What_XULRunner_Provides" title="ko/XULRunner/What_XULRunner_Provides">XULRunner가 제공하는 기능</a></li> <li><a href="/ko/XULRunner_FAQ" title="ko/XULRunner_FAQ">자주 하는 질문</a></li> <li>Nightly builds: <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/">unstable-trunk</a></li> </ul> <h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"><a href="/Special:Tags?tag=XULRunner&amp;language=ko" title="Special:Tags?tag=XULRunner&amp;language=ko">문서</a></h4> <dl> <dt><a href="/Special:Tags?tag=XULRunner&amp;language=ko" title="Special:Tags?tag=XULRunner&amp;language=ko">모두 보기...</a></dt> </dl> <dl> <dt><a href="/ko/Getting_started_with_XULRunner" title="ko/Getting_started_with_XULRunner"> XULRunner 입문서</a></dt> <dd><small>XULRunner로 데스크탑 응용프로그램을 개발하는 간단한 자습서.</small></dd> </dl> <dl> <dt><a class="external" href="http://zenit.senecac.on.ca/wiki/index.php/XULRunner_Guide">XULRunner 가이드</a></dt> <dd><small>A fairly complete introduction and tutorial for XULRunner which collates much of the documentation found here.</small></dd> </dl> <dl> <dt><a class="external" href="http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx">XULRunner 배우기</a></dt> <dd><small>XULRunner에 관한 간단한 소개.</small></dd> </dl> <dl> <dt><a href="/ko/XULRunner_tips" title="ko/XULRunner_tips">XULRunner tips</a></dt> <dd><small>XULRunner를 사용하는 데 있어서의 팁 모음</small></dd> </dl> <dl> <dt><a href="/ko/XULRunner/Deploying_XULRunner_1.8" title="ko/XULRunner/Deploying_XULRunner_1.8">XULRunner 1.8 배포하기</a></dt> <dd><small>XULRunner 1.8는 현재 stable developer preview release 입니다. 이 문서는 단일형식(standalone)의 XUL 응용프로그램을 개발환경에서 배포하는데 XULRunner가 어떻게 사용되는가에 관한 내용입니다. </small></dd> </dl> <dl> <dt><a href="/ko/XULRunner_Hall_of_Fame" title="ko/XULRunner_Hall_of_Fame">XULRunner 명예의 전당</a></dt> <dd><small>XULRunner을 기반으로한 모든 응용프로그램들을 찾아보실 수 있습니다.</small></dd> </dl> <dl> <dt><a href="/ko/Build_Documentation" title="ko/Build_Documentation">Build Documentation</a></dt> <dd><small>소스를 가져와서 빌드하는 방법을 배울 수 있습니다.</small></dd> </dl> <dl> <dt><a href="/ko/Debugging_a_XULRunner_Application" title="ko/Debugging_a_XULRunner_Application">Debug Documentation</a></dt> <dd><small>여러분의 응용 프로그램을 디버그하기 위해 Venkman을 설정하는 방법</small></dd> </dl> </td> <td> <h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0">커뮤니티</h4> <ul> <li>Mozilla 포럼 보기...</li> </ul> <p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-platform"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.platform"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.platform/feeds"> 웹 Feed</a></li>
-</ul><p></p> <ul> <li><a class="link-irc" href="irc://irc.mozilla.org/#xulrunner">#xulrunner on irc.mozilla.org</a></li> <li><a href="/ko/XULRunner/Community" title="ko/XULRunner/Community">Other community links...</a></li> </ul> <h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C">관련 주제</h4> <dl> <dd><a href="/ko/XUL" title="ko/XUL">XUL</a></dd> </dl> </td> </tr> </tbody>
-</table>
-<p><span class="comment">Categories</span></p>
-<p><span class="comment">Interwiki Language Links</span></p>
-<p> </p>
-<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html b/files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html
deleted file mode 100644
index c4b6c5ed6f..0000000000
--- a/files/ko/archive/mozilla/xulrunner/what_xulrunner_provides/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: What XULRunner Provides
-slug: Archive/Mozilla/XULRunner/What_XULRunner_Provides
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner/What_XULRunner_Provides
----
-<p> </p>
-<p><a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a>의 목적은 XUL 어플리케이션(주요하게 파이어폭스와 썬더버드)을 구축하기 위한 방안 뿐만 아니라 내장 기법을 제공하는 것입니다. 다음 특징이 이미 구현되어 있거나 계획되어 있습니다.</p>
-<p> </p>
-<h3 id="Gecko_Features" name="Gecko_Features">Gecko Features</h3>
-<ul>
- <li><a href="/ko/XPCOM" title="ko/XPCOM">XPCOM</a></li>
- <li>네트워킹</li>
- <li>Gecko 렌더링 엔진</li>
- <li>DOM 편집과 트랜잭션 지원 (no UI)</li>
- <li>암호화</li>
- <li><a href="/ko/XBL" title="ko/XBL">XBL</a> (XBL2 계획됨)</li>
- <li><a href="/ko/XUL" title="ko/XUL">XUL</a></li>
- <li><a href="/ko/SVG" title="ko/SVG">SVG</a></li>
- <li><a href="/ko/XSLT" title="ko/XSLT">XSLT</a></li>
- <li>XML Extras (<code><a href="/ko/XMLHttpRequest" title="ko/XMLHttpRequest">XMLHttpRequest</a></code>, <code><a href="/ko/DOMParser" title="ko/DOMParser">DOMParser</a></code>, etc.)</li>
- <li>웹서비스 (SOAP)</li>
- <li>자동 업데이트 지원 <em>(아직 완성 안됨)</em></li>
- <li>Type ahead find toolbar</li>
- <li>히스토리 구현 (the places implementation in the 1.9 cycle)</li>
- <li>Accessibility 지원</li>
- <li>gecko 기반 어플리케이션 간의 IPC 서비스 <em>(아직 완성 안됨)</em></li>
- <li><a href="/ko/Storage" title="ko/Storage">Storage</a>/sqlite interfaces <em>(기본으로 활성화되지 않음)</em></li>
-</ul>
-<h3 id=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_Features" name=".EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4_Features">사용자 인터페이스 Features</h3>
-<p>XULRunner는 다음과 같은 사용자 인터페이스를 제공하며, 특정 조건하에 XULRunner기반 어플리케이션에서 사용하게 됩니다.</p>
-<ul>
- <li>XUL 어플리케이션을 설치 및 제거하고 업그레이드하는데 필요한 API와 사용자 인터페이스를 제공합니다. 더 많은 정보는 <a class="wikimo" href="https://wiki.mozilla.org/XUL:Installation_Story" title="wikimo:XUL:Installation Story">wikimo:XUL:Installation Story</a>를 보세요.</li>
- <li>Extension Manager</li>
- <li>File picker (uses native OS filepicker as appropriate)</li>
- <li>Find toolbar</li>
- <li>Helper app dialog/UI</li>
- <li>Security UI (maintenance of SSL keychains, etc)</li>
-</ul>
-<h3 id="Embedding_APIs" name="Embedding_APIs">Embedding APIs</h3>
-<p>XULRunner는 다음과 같은 임베딩 API를 제공합니다.</p>
-<ul>
- <li>크로스 플랫폼 임베딩(Cross-platform embedding) (XRE_InitEmbedding)</li>
- <li><a href="/ko/JavaXPCOM" title="ko/JavaXPCOM">JavaXPCOM</a> 임베딩</li>
- <li>gtkmozembed (리눅스 only)</li>
- <li>ActiveX 콘트롤 (윈도즈 only) <em>(아직 완성 안됨)</em></li>
- <li>NSView 기반 위젯 (Mac OS X only) <em>(아직 완성 안됨)</em></li>
-</ul>
-<h3 id="The_.22Maybe.22_List" name="The_.22Maybe.22_List">The "Maybe" List</h3>
-<p>다음 기능은 이미 논의되어왔고 향후 추가될 예정입니다.</p>
-<ul>
- <li>LDAP 지원</li>
- <li>Spellchecking 지원 (사전 제공 또는 제공없이) <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=285977">bug 285977</a>참고</li>
- <li>프로파일 로밍을 위한 코어 지원(with application-specific extensibility)</li>
- <li><a href="/ko/PyXPCOM" title="ko/PyXPCOM">PyXPCOM</a> 임베딩 <em>(아직 완성 안됨)</em></li>
-</ul>
-<h3 id="What.27s_out" name="What.27s_out">What's out</h3>
-<p>다음과 같은 기능은 제공하지 않습니다.</p>
-<ul>
- <li>북마크 또는 히스토리 UI (애플리케이션에 의해 관리되어야함)</li>
- <li>XForms (XForms은 확장으로 제공됨)</li>
-</ul>
diff --git a/files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html b/files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html
deleted file mode 100644
index 498bee239e..0000000000
--- a/files/ko/archive/mozilla/xulrunner/xul_application_packaging/index.html
+++ /dev/null
@@ -1,107 +0,0 @@
----
-title: XUL Application Packaging
-slug: Archive/Mozilla/XULRunner/XUL_Application_Packaging
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner/XUL_Application_Packaging
----
-<p><a href="ko/XULRunner">XULRunner</a> 응용프로그램 꾸러미(package)는 (Firefox 확장 기능처럼) 표준 <a href="ko/Bundles">toolkit 묶음</a>인데, 응용프로그램 기술을 돕는 추가 manifest 파일(&lt;tt&gt;application.ini&lt;/tt&gt;)을 하나 갖습니다. XUL 응용프로그램 꾸러미는 대체로 ZIP으로 압축되며 확장자는 .xulapp나 .xpi입니다. XULRunner 명령줄 flag "-install-app"로 설치할 수 있습니다(<a href="ko/XULRunner_1.8.0.4_Release_Notes">XULRunner 1.8.0.4 출시 노트</a> 참조).</p>
-<h3 id="application.ini" name="application.ini">application.ini</h3>
-<p>&lt;tt&gt;application.ini&lt;/tt&gt; manifest는 확장기능의 루트에 위치하고 XULRunner가 바르게 응용프로그램을 띄우게 하는 메타데이터(metadata)를 제공합니다. 파일은 &lt;tt&gt;[Headings]&lt;/tt&gt;와 &lt;tt&gt;Key=Value&lt;/tt&gt; 쌍을 갖는 Windows 방식 INI 파일로 분석됩니다. &lt;tt&gt;;&lt;/tt&gt;이나 &lt;tt&gt;#&lt;/tt&gt;으로 시작하는 줄은 주석으로 여깁니다.</p>
-<p>본보기 application.ini 파일은 <a href="https://dxr.mozilla.org/mozilla-central/source/xulrunner/examples/simple/application.ini" rel="custom">mozilla source tree</a>에 있습니다.</p>
-<h4 id=".5BApp.5D_.EC.A0.88" name=".5BApp.5D_.EC.A0.88">[App] 절</h4>
-<p>&lt;tt&gt;App&lt;/tt&gt; 절(section)은 응용프로그램에 관한 메타데이터를 지정합니다.</p>
-<p> </p>
-<dl>
- <dt>
- Name</dt>
- <dd>
- 응용프로그램 이름을 지정합니다.<br>
- 필수.<br>
- 보기: &lt;tt&gt;Name=TestApplication&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- Version</dt>
- <dd>
- 응용프로그램 판 번호를 지정합니다.<br>
- 필수.<br>
- 판 번호 매김 세부 사항은 <a href="ko/Toolkit_version_format">Toolkit 판 구성</a> 참조.<br>
- 보기: &lt;tt&gt;Version=0.1&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- BuildID</dt>
- <dd>
- 유일한 build 식별자(identifier)를 지정합니다. 이는 대체로 날짜 식별자이고 매 응용프로그램 출시 때마다 달라야 합니다.<br>
- 필수.<br>
- 보기: &lt;tt&gt;BuildID=20060201&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- ID</dt>
- <dd>
- 유일한 응용프로그램 ID를 지정합니다.<br>
- 필수.<br>
- 응용프로그램 ID는, <a href="ko/Install_Manifests#id">확장 기능 ID</a>와 같이, email &lt;tt&gt;<a class="link-mailto" href="mailto:ApplicationName@vendor.tld" rel="freelink">ApplicationName@vendor.tld</a>&lt;/tt&gt;이나 UUID &lt;tt&gt;{12345678-1234-1234-1234-123456789abc}&lt;/tt&gt; 형식 중 하나처럼 구성할 수 있습니다. 새로 개발된 응용프로그램은 email 형식을 권장합니다.<br>
- 보기: &lt;tt&gt;<a class="link-mailto" href="mailto:ID=TestApplication@example.tld" rel="freelink">ID=TestApplication@example.tld</a>&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- Vendor</dt>
- <dd>
- 응용프로그램 vendor를 지정합니다.<br>
- 선택.<br>
- 보기: &lt;tt&gt;Vendor=Grinch Productions&lt;/tt&gt;
- <p> </p>
- </dd>
-</dl>
-<h4 id=".5BGecko.5D_.EC.A0.88" name=".5BGecko.5D_.EC.A0.88">[Gecko] 절</h4>
-<p>&lt;tt&gt;Gecko&lt;/tt&gt; 절은 응용프로그램에 필요한 XULRunner 판을 지정합니다.</p>
-<p> </p>
-<p> </p>
-<dl>
- <dt>
- MinVersion</dt>
- <dd>
- 이 응용프로그램에 필요한 XULRunner 최소판을 지정합니다.<br>
- 필수.<br>
- 보기: &lt;tt&gt;MinVersion=1.8&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- MaxVersion</dt>
- <dd>
- 이 응용프로그램에 필요한 XULRunner 최대판을 지정합니다.<br>
- 선택 - 기본값은 XULRunner 2판보다 작은 판입니다.<br>
- 보기: &lt;tt&gt;MaxVersion=1.8.0.*&lt;/tt&gt;
- <p> </p>
- </dd>
-</dl>
-<h4 id=".5BXRE.5D_.EC.A0.88" name=".5BXRE.5D_.EC.A0.88">[XRE] 절</h4>
-<p>&lt;tt&gt;XRE&lt;/tt&gt; 절은 사용할 수 있는 다양한 XULRunner 시동 기능들을 지정합니다.</p>
-<p> </p>
-<p> </p>
-<dl>
- <dt id="em">
- EnableExtensionManager</dt>
- <dd>
- 확장 기능과 확장 기능 관리를 사용 여부를 지정합니다. 맞는 값은 1과 0입니다.<br>
- 선택 - 기본값은 0입니다.<br>
- 주의: 이 옵션은 확장 기능/테마 관리자를 UI에서 이용할 수 있게 하는 메뉴 항목을 추가하지 않습니다; 그 일은 응용프로그램 제작자 몫입니다.<br>
- 보기: &lt;tt&gt;EnableExtensionManager=1&lt;/tt&gt;
- <p> </p>
- </dd>
- <dt>
- EnableProfileMigrator&lt;/dt&gt;</dt>
- <dd>
- 응용프로그램을 처음으로 띄우고 프로파일이 없을 때, nsIProfileMigrator 인터페이스를 통해 프로파일 이전 코드 사용 여부를 지정합니다. 맞는 값은 1과 0입니다.<br>
- 선택 - 기본값은 0입니다.<br>
- 주의: 응용프로그램 제작자에게 <a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/profile/public/nsIProfileMigrator.idl" rel="custom">nsIProfileMigrator 인터페이스</a>를 구현할 책임이 있습니다; 만약 구현이 없으면 이전이 수행되지 않습니다.<br>
- 보기: &lt;tt&gt;EnableProfileMigrator=1&lt;/tt&gt;
- <p> </p>
- </dd>
-</dl>
-<p><span class="comment">Interwiki Language Links</span></p>
-<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html b/files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html
deleted file mode 100644
index 35b81ee4da..0000000000
--- a/files/ko/archive/mozilla/xulrunner/xulrunner_faq/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: XULRunner FAQ (자주 하는 질문)
-slug: Archive/Mozilla/XULRunner/XULRunner_FAQ
-tags:
- - FAQ
- - XUL
- - XULRunner
- - 도움말
- - 주요문의
- - 질문과 답변
-translation_of: Archive/Mozilla/XULRunner/FAQ
----
-<p> </p>
-<p>이 페이지는 <a href="/en-US/docs/XULRunner" style="line-height: inherit;" title="/en-US/docs/XULRunner">XULRunner</a>에 관한 많은 분들의 질문들에 대한 답변과 공통적으로 오해하는 내용들을 바로잡기 위해 작성되었습니다.</p>
-<p> </p>
-<dl>
- <dt>
- XULRunner는 브라우저인가요?</dt>
- <dd>
- 아니오. 브라우저<span style="line-height: inherit;">(</span><a class="external" href="http://benjamin.smedbergs.us/xulrunner/" style="line-height: inherit;">제가 만든 브라우저 예제</a><span style="line-height: inherit;"> 또는  Firefox)를 만들기 위해 XULRunner를 사용하실 수는 있습니다. 하지만 </span><span style="line-height: inherit;">"XULRunner browser" 같은 건 없습니다.</span></dd>
- <dt>
- XULRunner는 개발 도구인가요?</dt>
- <dd>
- 딱히 그렇다고 볼 순 없습니다. XULRunner는 인터넷 기술 실행도구(Runtime)입니다. XULRunner는 (예를 들면 <a class="external" href="http://www.alphaworks.ibm.com/tech/ajaxtk" style="line-height: inherit;">AJAX Toolkit Framework</a><span style="line-height: inherit;"> 같은) </span><span style="line-height: inherit;">개발 도구의 제작에 활용될 수 있습니다.</span><span style="line-height: inherit;"> 훗날에는 다양한 개발 도구들을 포함하는 XULRunner 개발 키트(Developer Kit)가 나올 수도 있겠지요.</span></dd>
- <dt>
- XULRunner를 Java, .NET(또는 Python) 등의 다른 실행도구(Runtime)들과 비교하면 어떻게 다른가요?</dt>
- <dd>
- XULRunner의 목적은 인터넷 응용프로그램의 개발과 배포를 더욱 빠르게 해주기 위한 것입니다. 그렇기 때문에 모든 기능을 포함하는 실행도구가 될 필요가 없는 것이지요. 이러한 이유로 다른 여타의 방대한 기능을 제공하는 실행도구들에 비해, XULRunner는 아주 약간의 변화와 더욱 간소화된 배포 전략을 취할 수 있었습니다.</dd>
- <dt>
- XULRunner를 사용한다면 저의 응용 프로그램을 XUL로 작성해야만 하나요?</dt>
- <dd>
- 아닙니다! 여러분은 Mozilla 웹 플랫폼<span style="line-height: inherit;">(HTML, XHTML, SVG 또는 XUL이 포함됨)</span><span style="line-height: inherit;">에 의해 지원되는 어떠한 언어로도 응용 프로그램을 만드실 수 있습니다.</span></dd>
- <dt>
- 그렇다면 왜 XULRunner이라고 불러야 하죠? HTMLRunner나 다른 이름으로도 불러도 될텐데?</dt>
- <dd>
- XUL은 mozilla의 응용 프로그램의 UI에 항상 선택되어 왔던 기본 언어였습니다. 그리고  메인 라이브러리의 명칭이 libXUL이였습니다. 이런 이유들로 불리워진 이름이 고착화 되어서 지금에 이르게 된 것이지요.</dd>
- <dt>
- 언제쯤이면 Firefox가 XULRunner 기반으로 제작될 예정이지요?</dt>
- <dd>
- FireFox의 공식 배포 버전을 그렇게 변경하지는 않을 것입니다. 이미 XULRunner 기반으로 FireFox를 실행하는 것은 지금도 가능하고, 일부 Linux 배포판에서도 이미 이런 식으로 구동이 되고 있습니다.</dd>
- <dt>
- XULRunner의 설치는 왜 그리 어려운가요? 쉽고 편리한 설치 도구는 없나요?</dt>
- <dd>
- 왜나하면 아직 아무도 그런 코드를 만들지 않아서입니다! 다음은 개발자 프리뷰 배포 내용입니다.</dd>
- <dd>
- XULRunner 및 XULRunner 기반 응용 프로그램의 설치와 배포를 위한 추가 기능들은 차후의 릴리즈에 반영될 것입니다.</dd>
- <dt>
- XUL 응용 프로그램을 제작 중인데요, 저의 사용자들에게 어떻게 응용 프로그램을 배포할 수 있나요?</dt>
- <dd>
- 지금 현재로써 Mozilla는 각각의 응용 프로그램별로 XULRunner를 따로 포함시켜 배포하시기를 권해 드립니다. 더 자세한 정보는 <a href="https://developer.mozilla.org/en/XULRunner/Deploying_XULRunner_1.8" style="line-height: inherit;" title="en/XULRunner/Deploying_XULRunner_1.8">XULRunner 1.8 배포하기</a><span style="line-height: inherit;">를 확인하세요.</span></dd>
- <dt>
- 소스 코드는 어디에서 찾을 수 있나요?</dt>
- <dd>
- <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/source/xulrunner-1.8.0.4-source.tar.bz2" style="padding-right: 16px; background-color: transparent;">여기에서 확인하세요.</a></dd>
- <dt>
- 제가 버그를 발견한 것 같은데요, 어떻게 알려드릴 수 있나요?</dt>
- <dd>
- <a class="external link-https" href="https://bugzilla.mozilla.org/" style="padding-right: 16px; background-color: transparent;">bugzilla.mozilla.org</a> 사이트는 모든 Mozilla 제품들의 버그를 추적하기 위해 이용됩니다. 미리 검색을 해서 여러분의 버그가 아직 보고되지 않은 것임을 확인해 주세요.</dd>
- <dt>
- 어떻게 도움을 줄 수 있나요?</dt>
- <dd>
- XULRunner에 도움을 주고 싶지만 어디에서부터 시작해야 할지를 모르신다면, <a href="https://developer.mozilla.org/en/XULRunner/Community" title="en/XULRunner/Community">XULRunner:커뮤니티</a> 페이지를 방문해서 뉴스그룹이나 IRC 채널에서 질문해 보세요.</dd>
-</dl>
-<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html b/files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html
deleted file mode 100644
index ed5384c6b1..0000000000
--- a/files/ko/archive/mozilla/xulrunner/xulrunner_hall_of_fame/index.html
+++ /dev/null
@@ -1,178 +0,0 @@
----
-title: XULRunner Hall of Fame
-slug: Archive/Mozilla/XULRunner/XULRunner_Hall_of_Fame
-tags:
- - XUL
- - XULRunner
- - enterprise
-translation_of: Archive/Mozilla/XULRunner/Hall_of_Fame
----
-<p> </p>
-<h3 id="XULRunner_.EA.B8.B0.EB.B0.98_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8" name="XULRunner_.EA.B8.B0.EB.B0.98_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8">XULRunner 기반 프로그램</h3>
-<ul>
- <li><a class="external" href="http://chatzilla.rdmsoft.com/xulrunner/">ChatZilla</a>
- <ul>
- <li>ChatZilla IRC client 독립 프로그램.</li>
- </ul>
- </li>
- <li><a class="external" href="http://ffsearchplugins.free.fr/clines/index.php#xulrunner">Clines</a>
- <ul>
- <li>Color Lines 게임 프로그램</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.psyc.us">CocoaPSYC.app</a>
- <ul>
- <li>A <a class="external" href="http://about.psyc.eu">PSYC</a> IM/Chat client for Mac OS X (Also available as a Firefox extension)</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.twinsoft.com/intl/en/cariocaweb/convertigo-ems-enterprise-mashup-server.htm">Convertigo Enterprise Mashup Server</a>
- <ul>
- <li>기업형 매쉬업 서비스를 만들기 위한 프로그램</li>
- </ul>
- </li>
- <li><a class="external" href="http://daim.project.free.fr/">DAIM (fr)</a> / <a class="external" href="http://daim.project.free.fr/index_en.html">DAIM (English)</a>)
- <ul>
- <li>superb tool for image analysis build on top of a professional imagelib</li>
- </ul>
- </li>
- <li><a class="external" href="http://developer.emusic.com/">eMusic Remote</a>
- <ul>
- <li>The eMusic Remote makes downloading from eMusic a snap.</li>
- </ul>
- </li>
- <li><a class="external" href="http://open-ils.org/">Evergreen - Staff Client</a>
- <ul>
- <li>Evergreen is an open source library system.</li>
- </ul>
- </li>
- <li><a class="external" href="http://mathijs.jurresip.nl/findthatfont/">FindThatFont!</a>
- <ul>
- <li>Font managing tool for Windows and Linux, that helps you find the font you're looking for.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.jakinbidea.com/?page_id=39">GencatRss</a>
- <ul>
- <li>An RSS feeds manager.</li>
- </ul>
- </li>
- <li><a class="external" href="http://services.google.com/adwordseditor/index.html">Google AdWords Editor</a>
- <ul>
- <li>AdWords Editor is Google's free, downloadable account management application for your computer.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.birgin.de/produkte/ida/index_EN.php">IDA</a>
- <ul>
- <li>E-Learning authoring system to easily create web based learning applications</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.joost.com/">Joost</a> (previously codenamed <a class="external" href="http://www.theveniceproject.com">The Venice Project</a>)
- <ul>
- <li>"All the things you love about TV, fused with the interactive power of the internet"</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.kirix.com/">Kirix Strata</a>
- <ul>
- <li>A new specialty browser for accessing and manipulating data from the web</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.mangoproject.org/">Mango</a>
- <ul>
- <li>A Jabber client.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.getmiro.com/">Miro Media Player</a> (formerly known as Democracy Player)
- <ul>
- <li>"the free and open source internet TV platform"</li>
- </ul>
- </li>
- <li><a class="external" href="http://davidkellogg.com/wiki/Main_Page">Plain Old Webserver</a>
- <ul>
- <li>A fully-functioning webserver that runs server-side Javascript.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.songbirdnest.com/">Songbird</a>
- <ul>
- <li>"Songbird™ is a desktop Web player, a digital jukebox and Web browser mash-up"</li>
- </ul>
- </li>
- <li><a class="external" href="http://telekast.sourceforge.net/">TeleKast</a>
- <ul>
- <li>An open source teleprompter and script editor</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.tomtom.com">TomTom HOME 2</a>
- <ul>
- <li>PC application to manage TomTom GPS devices</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.openwengo.org">WengoPhone</a>
- <ul>
- <li>A SIP/XMPP-based IM/VoIP client.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www-03.ibm.com/developerworks/blogs/page/CompApps?entry=how_to_run_xul_applications">Lotus Notes / Sametime</a>
- <ul>
- <li>The latest version of IBM Lotus Notes and Sametime can embed xul application.</li>
- </ul>
- </li>
- <li><a class="external" href="http://developer.mozilla.org/en/docs/Category:Mozilla_Webclient">Embed XULRunner in Java</a></li>
-</ul>
-<h3 id=".EC.9C.A0.ED.8B.B8.EB.A6.AC.ED.8B.B0.2F.ED.94.84.EB.A1.9C.ED.86.A0.ED.83.80.EC.9E.85" name=".EC.9C.A0.ED.8B.B8.EB.A6.AC.ED.8B.B0.2F.ED.94.84.EB.A1.9C.ED.86.A0.ED.83.80.EC.9E.85">유틸리티/프로토타입</h3>
-<ul>
- <li><a class="external" href="http://www.eclipse.org/atf/">AJAX Toolkit Framework (ATF)</a>
- <ul>
- <li>A part of the Eclipse Web Tools Platform (WTP)</li>
- </ul>
- </li>
- <li>Benjamin's <a class="external" href="http://benjamin.smedbergs.us/xulrunner/">XULRunner examples</a>
- <ul>
- <li>"mybrowser is a very simple example browser", xulmine</li>
- </ul>
- </li>
- <li><a class="external" href="http://exch.mozdev.org/">Exch</a>
- <ul>
- <li>A currency conversion tool using updated data from <a class="external" href="http://finance.yahoo.com/currency" rel="freelink">http://finance.yahoo.com/currency</a>. You can use the Firefox extension or the stand-alone XUL application.</li>
- </ul>
- </li>
- <li><a class="external" href="http://opendocumentfellowship.org/odfviewer">OpenDocument Viewer</a>
- <ul>
- <li>Cross-platform viewer for OpenDocument files.</li>
- </ul>
- </li>
- <li><a class="external" href="http://blogs.acceleration.net/ryan/articles/2018.aspx">TaskPool</a>
- <ul>
- <li>TaskPool is a little application to help keep track of time. You can add tasks to a pool, turn them on and off, and it will tick off seconds.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.treebuilder.de/default.asp?file=257091.xml">SVGclock</a>
- <ul>
- <li>An SVG-based clock.</li>
- </ul>
- </li>
- <li><a class="external" href="http://simile.mit.edu/crowbar/">Crowbar</a>
- <ul>
- <li>A web scraping environment based on the use of a server-side headless mozilla-based browser.</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.jinsync.com/?q=node/9">30b</a>
- <ul>
- <li>A XULRunner-based wrapper for 30boxes.com</li>
- </ul>
- </li>
- <li><a class="external" href="http://starkravingfinkle.org/blog/xul-explorer/">XUL Explorer</a>
- <ul>
- <li>"a lightweight XUL IDE... an easy way to experiment with XUL"</li>
- </ul>
- </li>
- <li><a class="external" href="http://www.smellman.homelinux.org/mozilla/xulapp.html#foxkehclock">Foxkeh Clock</a> (for Japanese page)
- <ul>
- <li>A clock application based charactor <a class="external" href="http://www.foxkeh.com/">Foxkeh</a>.</li>
- </ul>
- </li>
- <li><a class="external" href="http://starkravingfinkle.org/blog/2007/07/webrunner-05-now-with-more-power/">WebRunner</a>
- <ul>
- <li>A simple, minimal web browser shell or "Single site browser." Useful for running web applications such as gmail in a separate browser process.</li>
- </ul>
- </li>
-</ul>
-<p></p>
diff --git a/files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html b/files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html
deleted file mode 100644
index 44d681cd22..0000000000
--- a/files/ko/archive/mozilla/xulrunner/xulrunner_tips/index.html
+++ /dev/null
@@ -1,168 +0,0 @@
----
-title: XULRunner tips
-slug: Archive/Mozilla/XULRunner/XULRunner_tips
-tags:
- - XUL
- - XULRunner
-translation_of: Archive/Mozilla/XULRunner/Tips
----
-<p>XULRunner Frequently Asked Questions. Work in progress.</p>
-<h2 id="Extension_Manager" name="Extension_Manager">Extension Manager</h2>
-<p>To be able to install any extensions, you first need to enable the Extension Manager in <a href="ko/XUL_Application_Packaging#em">application.ini</a>. XULRunner 1.8.0 does not load extensions from the application directory; only the XULRunner directory and the user profile directory are checked. The following prefs must also be set to make the XPInstall dialog, extension manager, and theme manager work:</p>
-<pre class="eval">pref("xpinstall.dialog.confirm", "<a class="external" rel="freelink">chrome://mozapps/content/xpinstall/x...allConfirm.xul</a>");
-pref("xpinstall.dialog.progress.skin", "<a class="external" rel="freelink">chrome://mozapps/content/extensions/...ul?type=themes</a>");
-pref("xpinstall.dialog.progress.chrome", "<a class="external" rel="freelink">chrome://mozapps/content/extensions/...ype=extensions</a>");
-pref("xpinstall.dialog.progress.type.skin", "Extension:Manager-themes");
-pref("xpinstall.dialog.progress.type.chrome", "Extension:Manager-extensions");
-pref("extensions.update.enabled", true);
-pref("extensions.update.interval", 86400);
-pref("extensions.dss.enabled", false);
-pref("extensions.dss.switchPending", false);
-pref("extensions.ignoreMTimeChanges", false);
-pref("extensions.logging.enabled", false);
-pref("general.skins.selectedSkin", "classic/1.0");
-// NB these point at AMO
-pref("extensions.update.url", "<a class="external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
-pref("extensions.getMoreExtensionsURL", "<a class="external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
-pref("extensions.getMoreThemesURL", "<a class="external" rel="freelink">chrome://mozapps/locale/extensions/e...ons.properties</a>");
-</pre>
-<h2 id="Useful_Chrome_URLs" name="Useful_Chrome_URLs">Useful Chrome URLs</h2>
-<p>Most of these require <a href="#Branding"> branding</a>.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>Window</th>
- <th>URL</th>
- <th>Window Type</th>
- </tr>
- <tr>
- <td>Extension Manager</td>
- <td><a class="external" rel="freelink">chrome://mozapps/content/extensions/...ype=extensions</a></td>
- <td>Extension:Manager-extensions</td>
- </tr>
- <tr>
- <td>Theme Manager</td>
- <td><a class="external" rel="freelink">chrome://mozapps/content/extensions/...ul?type=themes</a></td>
- <td>Extension:Manager-themes</td>
- </tr>
- <tr>
- <td>JavaScript Console</td>
- <td><a class="external" rel="freelink">chrome://global/content/console.xul</a></td>
- <td>global:console</td>
- </tr>
- <tr>
- <td>about:config</td>
- <td><a class="external" rel="freelink">chrome://global/content/config.xul</a></td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-<h2 id="Developer_Extensions" name="Developer_Extensions">Developer Extensions</h2>
-<p>--<a>Tlaurenzo</a> 17:34, 17 March 2006 (PST)There is another way to go about this. See my <a class="external" href="http://tjlaurenzo.blogspot.com/2006/03/getting-dev-tools-working-with.html">blog post</a> for a working method to get Venkman and the Extension Developer's Extension working in XULRunner apps.</p>
-<h3 id="Venkman" name="Venkman"><a href="ko/Venkman">Venkman</a></h3>
-<ul>
- <li>Need a custom build or a compatible extension</li>
- <li>Need to edit compatibility in
- <i>
- install.rdf</i>
- to match the id and versions in application.ini</li>
- <li>Needs a method to start venkman (usually by overlaying the main XUL file, similar to existing code for Firefox, Suite, etc.)</li>
- <li>The function toOpenWindowByType() needs to be defined. I found a working stub on <a class="external" href="http://tjlaurenzo.blogspot.com/2006/03/getting-dev-tools-working-with.html">this blog</a>. Any better suggestion?</li>
- <li>Venkman uses "<a class="external" rel="freelink">chrome://communicator/skin/</a>" as an alias for "<a class="external" rel="freelink">chrome://global/skin/</a>" and this alias was maintained in the XULRunner toolkit until XULRunner 1.9 was released. When using XULRunner 1.9 or greater, you can create your own alias"</li>
-</ul>
-<pre>in your chrome manifest add a "skin" line:
-
-skin communicator classic/1.0 skin/communicator/
-
-add a skin folder named "communicator" and add a single CSS file named "communicator.css" with this content:
-
-@import url("chrome://global/skin/");
-</pre>
-<h3 id="DOM_Inspector" name="DOM_Inspector"><a href="ko/DOM_Inspector">DOM Inspector</a></h3>
-<p>Same as venkman</p>
-<h3 id="Component_Viewer" name="Component_Viewer">Component Viewer</h3>
-<p>Need custom build, first of all. What else?</p>
-<h3 id="Extension_Developer.27s_Extension" name="Extension_Developer.27s_Extension">Extension Developer's Extension</h3>
-<p><a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">Extension Developer's Extension</a> is a useful tool, featuring Live XUL Editor and JavaScript Shell.</p>
-<p>To install the extension into your application you'll need to hack its install.rdf (see above). You'll probably also want to create menuitems that let you open the JS Shell and other tools provided by the extension.</p>
-<h2 id="Branding" name="Branding">Branding</h2>
-<p>Branding is a <a href="ko/Chrome_Registration">chrome package</a> containing product-specific information (e.g. the product name, vendor, and logo).</p>
-<p>Some XULRunner components (in particular, the <a href="#Extension_Manager"> Extension Manager</a>) depend on branding, in the sense that they expect to find certain strings in &lt;tt&gt;<a class="external" rel="freelink">chrome://branding/locale/brand.dtd</a>&lt;/tt&gt; and &lt;tt&gt;<a class="external" rel="freelink">chrome://branding/locale/brand.properties</a>&lt;/tt&gt;.</p>
-<p>In order to satisfy these dependencies, you can save Firefox's &lt;tt&gt;brand.dtd&lt;/tt&gt;/&lt;tt&gt;brand.properties&lt;/tt&gt; to &lt;tt&gt;chrome/locale/branding&lt;/tt&gt; folder, modify them appropriately, and <a href="ko/Chrome_Registration#locale">register a locale provider</a> for &lt;tt&gt;branding&lt;/tt&gt; by adding the following line to your chrome manifest:</p>
-<pre class="eval">locale branding en-US chrome/locale/branding/
-</pre>
-<p>The location you put the branding files in doesn't matter, as long as you register it appropriately in the manifest.</p>
-<p>In addition, a branding content package <a href="ko/Chrome_Registration#content">must be registered</a> to include the application logo:</p>
-<pre class="eval">content branding chrome/branding
-</pre>
-<p>2 icon files must provided in this folder :
- <i>
- icon48.png</i>
- and
- <i>
- icon64.png</i>
- . See <a class="external" href="http://mxr.mozilla.org/mozilla/source/other-licenses/branding/firefox/content/">Firefox</a> for example.</p>
-<p><span class="comment">In ''~.mozconfig'': ac_add_options --enable-branding=« branding location »</span></p>
-<h3 id="Making_Windows_display_correct_application_name_and_icon_when_buttons_are_grouped" name="Making_Windows_display_correct_application_name_and_icon_when_buttons_are_grouped">Making Windows display correct application name and icon when buttons are grouped</h3>
-<p>By default, the task bar on Windows might group windows belonging to the same process into one button to save space. This button is usually called "xulrunner.exe" and has XULRunner's icon. There are two approaches to display the branding of your application instead:</p>
-<ul>
- <li>When compiling XULRunner yourself: create a file module.ver in the directory mozilla/xulrunner/app with the contents:
- <pre>WIN32_MODULE_DESCRIPTION=MyApplication</pre>
- <p>MyApplication should be replaced by whatever you want to see as title of the button. You can also replace xulrunner.ico in the same directory to change XULRunner's icon to the icon of your application.</p>
- </li>
- <li>With a precompiled XULRunner: use xulrunner-stub.exe to start your application but rename it into MyApplication.exe. With XULRunner 1.9 this will make the desired name appear in the task bar (not with XULRunner 1.8 however). Your application's icon can also be added to this executable with a tool like <a class="external" href="http://www.angusj.com/resourcehacker/">Resource Hacker</a>.</li>
-</ul>
-<h2 id="Reading_command_line_arguments" name="Reading_command_line_arguments">Reading command line arguments</h2>
-<p>See <a href="ko/Chrome/Command_Line">Chrome: Command Line</a>. Command line arguments are handled via nsICommandLineHandler as usual.</p>
-<p><span class="comment">= Can i have JavaScript errors / warnings directed to stdout instead of the jsconsole? = See <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=306263" title="https://bugzilla.mozilla.org/show_bug.cgi?id=306263">#306263</a> This doesn't do anything (1.8.0.1): xulrunner -app application.ini -console This neither (1.8.0.1) in ''defaults/preferences/«application name».js'': pref("javascript.options.strict", true); pref("javascript.options.showInConsole", true); pref("browser.dom.window.dump.enabled", true);</span></p>
-<p> </p>
-<h2 id="Preferences_needed_for_file_download_dialogs" name="Preferences_needed_for_file_download_dialogs">Preferences needed for file download dialogs</h2>
-<p>To use the unknown-content-type and file-downloads dialogs from a &lt;browser&gt; element, you need to add the following prefs:</p>
-<pre class="eval">pref("browser.download.useDownloadDir", true);
-pref("browser.download.folderList", 0);
-pref("browser.download.manager.showAlertOnComplete", true);
-pref("browser.download.manager.showAlertInterval", 2000);
-pref("browser.download.manager.retention", 2);
-pref("browser.download.manager.showWhenStarting", true);
-pref("browser.download.manager.useWindow", true);
-pref("browser.download.manager.closeWhenDone", true);
-pref("browser.download.manager.openDelay", 0);
-pref("browser.download.manager.focusWhenStarting", false);
-pref("browser.download.manager.flashCount", 2);
-//
-pref("alerts.slideIncrement", 1);
-pref("alerts.slideIncrementTime", 10);
-pref("alerts.totalOpenTime", 4000);
-pref("alerts.height", 50);
-</pre>
-<p>If you are missing preferences that a dialog requires, you will get the following errors:</p>
-<pre class="eval">Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getBoolPref]
-
-Error: dialog has no properties
-Source File: <a class="external" rel="freelink">chrome://mozapps/content/downloads/u...ontentType.xul</a>
-Line: 1
-</pre>
-<p> </p>
-<h2 id="Enabling_Password_Manager" name="Enabling_Password_Manager">Enabling Password Manager</h2>
-<p>These preferences seem to be the default in Firefox, however, they are missing in XULRunner. Without these settings Password Manager will not store login details.</p>
-<pre class="eval">pref("signon.rememberSignons", true);
-pref("signon.expireMasterPassword", false);
-pref("signon.SignonFileName", "signons.txt");
-</pre>
-<p>You also need to get an instance of the login manager service, which internally initializes the system:</p>
-<pre class="eval">Components.classes["@mozilla.org/login-manager;1"].getService(Components.interfaces.nsILoginManager);
-</pre>
-<h2 id="Firefox_3.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.9C_XULRunner_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0" name="Firefox_3.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.9C_XULRunner_.EC.9D.91.EC.9A.A9_.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0">Firefox 3를 이용한 XULRunner 응용 프로그램 실행하기</h2>
-<p>Firefox 3에는 XULRunner 런타임(runtime)이 포함되어 있습니다. 브라우저 대신 XUL 응용 프로그램을 실행하려면 명령창에서 &lt;tt&gt;-app&lt;/tt&gt; 옵션으로 실행하면 됩니다. 예를 들어 Windows에서는 다음과 같습니다.</p>
-<pre class="eval"> firefox.exe -app<i>path\to\</i>application.ini
-</pre>
-<p>Mac에서는 다음과 같습니다.</p>
-<pre class="eval"> /Applications/Firefox.app/Contents/MacOS/firefox-bin -app<i>/path/to/</i>application.ini
-</pre>
-<p>Mac의 경우에는 전체 경로(full path)를 모두 입력해야 한다는 점에 주의하세요. 상대 경로를 사용하면 동작하지 않는거 같습니다.</p>
-<h2 id="Troubleshooting" name="Troubleshooting">Troubleshooting</h2>
-<h3 id="Window_title_missing" name="Window_title_missing">Window title missing</h3>
-<p>If the title of your XUL <code>&lt;<a href="ko/XUL/window">window</a>&gt;</code> is blank, even though you specified a title attribute, make sure the extension on your XUL file is &lt;tt&gt;.xul&lt;/tt&gt; rather than &lt;tt&gt;.xml&lt;/tt&gt;.</p>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/archive/rss/getting_started/index.html b/files/ko/archive/rss/getting_started/index.html
deleted file mode 100644
index a446858ece..0000000000
--- a/files/ko/archive/rss/getting_started/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: Getting Started
-slug: Archive/RSS/Getting_Started
-tags:
- - MDC Project
- - NeedsEditorialReview
- - RSS
- - 'RSS:Getting_Started'
-translation_of: Archive/RSS/Getting_Started
----
-<h3 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94">개요</h3>
-<p>이 입문서는 <b>Really Simple Syndication</b> (<b>RSS</b>)에 대한 것입니다.</p>
-<p>여기서는 단계별로 RSS의 기본을 따라가면서 실제로 동작하는 예를 보여줄 것입니다. 그리고
- <i>
- 무언가를 배우는 가장 좋은 방법은 직접 해보는 것이다</i>
- 라는 경구를 따라, 당신 스스로 RSS 파일을 직접 만들게 될 것입니다.</p>
-<p> </p>
-<h4 id=".EB.88.84.EA.B0.80_.EC.9D.BD.EC.96.B4.EC.95.BC_.ED.95.98.EB.8A.94.EA.B0.80.3F" name=".EB.88.84.EA.B0.80_.EC.9D.BD.EC.96.B4.EC.95.BC_.ED.95.98.EB.8A.94.EA.B0.80.3F">누가 읽어야 하는가?</h4>
-<p>이 입문서는 주로 RSS 초보자, 즉 거의 혹은 전혀 RSS를 경험해보지 못한 사람들을 대상으로 하고 있습니다. 하지만, RSS에 경험이 있는 사람에게도 모르고 있던 정보를 알게 되거나 알고 있던 것을 새롭게 환기하는 용도로 사용될 수 있습니다.</p>
-<p>이 입문서는 독자가 <a href="ko/HTML">HTML</a> (혹은 <a href="ko/XML">XML</a>)에 어느 정도 경험이 있으며, 기본적인
- <i>
- 마크업</i>
- 을 다룰 수 있다고 가정합니다. 다시 말해, 이런 코드를 어렵지 않게 읽을 수 있어야 합니다.</p>
-<pre class="eval"> 이 마크업은 &lt;b&gt;굵은 글자를&lt;/b&gt; 표시합니다.
-</pre>
-<p>이 정도라면 RSS를 배우는데 지장이 없습니다.</p>
-<div class="note">
- <p><b>NOTE</b>: 웹 개발자나 웹 개발자가 되려고 하지 않는 사람에게는 이 입문서가 해당되지 않습니다. 입문서를 잘 사용하려면
- <i>
- 마크업</i>
- 을 쓸 주 있어야 합니다.</p>
-</div>
-<h4 id=".EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0_.EC.A0.84.EC.97.90_.ED.95.84.EC.9A.94.ED.95.9C_.EA.B2.83" name=".EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0_.EC.A0.84.EC.97.90_.ED.95.84.EC.9A.94.ED.95.9C_.EA.B2.83">시작하기 전에 필요한 것</h4>
-<p>이 입문서를 잘 활용하기 위해서는, 텍스트 편집기와 RSS 리더가 필요합니다. 그리고 그 편집기와 RSS 리더의 사용법을 알고 있어야 합니다.</p>
-<div class="note">
- <p><b>NOTE</b>: 워드 프로세서는 텍스트 편집기가 아닙니다. 워드 프로세서를 사용하는 경우, RSS 파일을 저장할 때 반드시 단순한 text 형식으로 저장해야 합니다.</p>
-</div>
-<p>이 입문서의 RSS 파일들을 반드시 만들어야 하는 것은 아니고 그냥 읽기만 해도 되지만, 그것은 배우는 데 있어 좋은 방법은 아닙니다. RSS 파일을 스스로 만들 때 더 많은 것을 잘 배우게 될 것입니다.</p>
-<h4 id=".EC.9D.B4_.EC.9E.85.EB.AC.B8.EC.84.9C.EC.9D.98_.EC.82.AC.EC.9A.A9.EB.B2.95" name=".EC.9D.B4_.EC.9E.85.EB.AC.B8.EC.84.9C.EC.9D.98_.EC.82.AC.EC.9A.A9.EB.B2.95">이 입문서의 사용법</h4>
-<p>입문서의 각 장은 그것만으로도
- <i>
- 독자적인</i>
- 입문선가 될 수 있도록 쓰여졌지만, 각 장은 이전 장의 내용을 독자가 모두 알고 있다고 가정하고 있습니다. 원하는 장부터 시작해도 되지만, RSS 초보자는 순서대로 읽기를 권합니다.</p>
-<h3 id="Tutorial" name="Tutorial">Tutorial</h3>
-<ol>
- <li><b><a href="ko/RSS/Getting_Started/What_is_RSS">What is RSS</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/Why_use_RSS">Why use RSS</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/How_RSS_Works">How RSS Works</a></b></li>
- <li><b>Hello World</b> (article not yet written) <span class="comment">link removed because too many people put their hello world there</span></li>
- <li><b><a href="ko/RSS/Getting_Started/Syndicating">Syndicating</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/Blogs">Blogs</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/Broadcatching">Broadcatching</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/Microformats">Microformats</a></b></li>
- <li><b><a href="ko/RSS/Getting_Started/Advanced_Broadcatching">Advanced Broadcatching</a></b></li>
-</ol>
-<p></p>
diff --git a/files/ko/archive/rss/getting_started/what_is_rss/index.html b/files/ko/archive/rss/getting_started/what_is_rss/index.html
deleted file mode 100644
index 0ec7281c2a..0000000000
--- a/files/ko/archive/rss/getting_started/what_is_rss/index.html
+++ /dev/null
@@ -1,230 +0,0 @@
----
-title: What is RSS
-slug: Archive/RSS/Getting_Started/What_is_RSS
-tags:
- - 'RSS:Getting_Started'
-translation_of: Archive/RSS/Getting_Started/What_is_RSS
----
-<p>이 문서는 RSS가 무엇인지 설명하기 위해 만들어졌습니다. 여러분은 아직 RSS를 만들어 본 적이 없으실 겁니다. 그렇지만 RSS를 어떻게 사용하는 지 아시기도 하고, 간단한 샘플 파일을 보신적이 있으실 겁니다. RSS가 무엇이고 어떻게 만들어진 것인지 한번 알아보겠습니다.</p>
-<h3 id="RSS.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F" name="RSS.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F">RSS란 무엇인가?</h3>
-<p>가장 많이 이용하는 <a href="ko/RSS/Version">RSS 2.0 버전</a>은 데이터 연결을 위해 사용하는 <a href="ko/XML">XML</a>기반 마크업 언어 입니다. -based markup languages used for syndication. (<a href="ko/RDF">RDF</a>를 기반하는 RSS 형식도 존재합니다. 이미 사라진 <a href="ko/RSS/Version/0.90">RSS 0.90</a>과 <a href="ko/RSS/Version/1.0">RSS 1.0</a> 처럼 말이죠.) RSS를 주로 사용하는 곳은 웹 사이트 최신 소식이나 블로그, 인터넷 라디오나 TV 등의 뉴스를 전달하는 역할을 합니다.</p>
-<p>이 문서는 <a href="ko/RSS/Version/2.0">RSS 2.0</a>을 다룹니다. 물론 다른 <a href="ko/RSS/Version">RSS 버전</a>에 대한 주의 사항도 함께 다루게 됩니다..</p>
-<p>RSS는 손으로 만들지는 않습니다. 거의 서버쪽 프로그램에 의해 자동으로 만들어 집니다(PHP나 Java, C# 및 Python 같은 언어로 만들어진 것이죠.) 그러나 RSS를 배우려면 손으로 한번 RSS 스크립트를 만들 필요가 있습니다.</p>
-<h3 id="RSS.EC.97.90_.EB.8C.80.ED.95.9C_.EA.B0.84.EB.8B.A8.ED.95.9C_.EC.97.AD.EC.82.AC" name="RSS.EC.97.90_.EB.8C.80.ED.95.9C_.EA.B0.84.EB.8B.A8.ED.95.9C_.EC.97.AD.EC.82.AC">RSS에 대한 간단한 역사</h3>
-<p>In March of 1999 Netscape released <a href="ko/RSS/Version/0.90">RSS 0.90</a>. It was much much different than today's RSS. It wasn't really a format for syndication, but was a format for providing a summary of a website. In fact, back then, RSS did not stand for <b>Really Simple Syndication</b> but stood for <b>Rich Site Summary</b>.</p>
-<p>In July of 1999 <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a> was released. Like <a href="ko/RSS/Version/0.90">RSS 0.90</a>, Netscape's RSS 0.91 was also a format for providing a summary of a website, and not really a syndication format (as it is today). Netscape's RSS 0.91 was created to simplify things. RSS 0.90 was <a href="ko/RDF">RDF</a>-based. (Which many found to be overly complex.) Netscape's RSS 0.91 was only <a href="ko/XML">XML</a>-based and added a <a href="ko/DTD">DTD</a> to allow several entities (commonly found in <a href="ko/HTML">HTML</a>).</p>
-<p>So at this point Netscape deprecated the <a href="ko/RDF">RDF</a>-based <a href="ko/RSS/Version/0.90">RSS 0.90</a> and told everyone to use <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a>, which was <a href="ko/XML">XML</a>-based.</p>
-<p>In June of 2000 <a href="ko/RSS/Version/0.91/Userland">Userland's RSS 0.91</a> was released. (And yes, that means that there are 2 different version of <a href="ko/RSS/Version/0.91">RSS 0.91</a>.) The difference between the 2 different versions of <a href="ko/RSS/Version/0.91">RSS 0.91</a> -- <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a> and <a href="ko/RSS/Version/0.91/Userland">Userland's RSS 0.91</a> -- is that Userland's RSS 0.91 does not have the <a href="ko/DTD">DTD</a> that Netscape's RSS 0.91 has; and thus doesn't have the extra entities that Netscape's RSS 0.91 has (commonly found in <a href="ko/HTML">HTML</a>). Other than that though, they are the same. Technically speaking, Userland's RSS 0.91 is a subset of Netscape's RSS 0.91.</p>
-<p>In December of 2000 the RSS-DEV working group released <a href="ko/RSS/Version/1.0">RSS 1.0</a>. This version of RSS was no longer purely <a href="ko/XML">XML</a>-based, but was <a href="ko/RDF">RDF</a>-based (like the original and now deprecated <a href="ko/RSS/Version/0.90">RSS 0.90</a>). The RSS-DEV working group changed what RSS stood for, and made it stand for <b>RDF Site Summary</b>. (At least, this is what it stood for in their version of RSS.)</p>
-<p>So at this point we had <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a>, <a href="ko/RSS/Version/0.91/Userland">Userland's RSS 0.91</a>, and the RSS-DEV working group's <a href="ko/RSS/Version/1.0">RSS 1.0</a>.</p>
-<p>Later that same December Userland released <a href="ko/RSS/Version/0.92">RSS 0.92</a>. RSS 0.92 was meant to replace <a href="ko/RSS/Version/0.91/Userland">Userland's RSS 0.91</a>. (If you notice though, the RSS versioning number got all messed up at this point. RSS 0.92 is newer than <a href="ko/RSS/Version/1.0">RSS 1.0</a>.)</p>
-<p>So at this point we had <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a>, the RSS-DEV working group's <a href="ko/RSS/Version/1.0">RSS 1.0</a>, and Userland's <a href="ko/RSS/Version/0.92">RSS 0.92</a>.</p>
-<p>In April 2001 Userland released a draft for <a href="ko/RSS/Version/0.93">RSS 0.93</a>. This version of RSS was never made "final" and was only ever a draft, and never became a replacement for Userland's <a href="ko/RSS/Version/0.92">RSS 0.92</a>.</p>
-<p>In August 2002 Userland released a draft for <a href="ko/RSS/Version/0.94">RSS 0.94</a>. Like <a href="ko/RSS/Version/0.93">RSS 0.93</a>, this version of RSS was never made "final" and was only ever a draft, and never became a replacement for Userland's <a href="ko/RSS/Version/0.92">RSS 0.92</a>.</p>
-<p>So at this point we <em>still</em> had <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a>, the RSS-DEV working group's <a href="ko/RSS/Version/1.0">RSS 1.0</a>, and Userland's <a href="ko/RSS/Version/0.92">RSS 0.92</a>. (Although some were using <a href="ko/RSS/Version/0.93">RSS 0.93</a> and <a href="ko/RSS/Version/0.94">RSS 0.94</a> even though they weren't suppose to.)</p>
-<p>In September 2002 Userland released <a href="ko/RSS/Version/2.0">RSS 2.0</a>. RSS 2.0 was meant to be a replacement for <a href="ko/RSS/Version/0.92">RSS 0.92</a> (and the <a href="ko/RSS/Version/0.93">RSS 0.93</a> and <a href="ko/RSS/Version/0.94">RSS 0.94</a> drafts that no one was suppose to use). Userland bumped up the version number all the way up to <b>2.0</b> because the RSS-DEV working group already used <b>1.0</b> with their <a href="ko/RDF">RDF</a>-based <a href="ko/RSS/Version/1.0">RSS 1.0</a>.</p>
-<p>So at this point we had <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a>, the RSS-DEV working group's <a href="ko/RSS/Version/1.0">RSS 1.0</a>, and Userland's <a href="ko/RSS/Version/2.0">RSS 2.0</a>.</p>
-<p>Now, the story does not quite end there. Once in November 2002 and another time in January 2003, <a href="ko/RSS/Version/2.0">RSS 2.0</a> was changed from its original specification, by Userland. And although these are each are different, they all label themselves as RSS 2.0 on the <a href="ko/RSS/Element/rss">&lt;rss&gt;</a> element.</p>
-<p>So now, at this point, we still have <a href="ko/RSS/Version/0.91/Netscape">Netscape's RSS 0.91</a> (since Netscape never deprecated it) although most people don't use it anymore. Most people use either the <a href="ko/RDF">RDF</a>-based <a href="ko/RSS/Version/1.0">RSS 1.0</a> or the <a href="ko/XML">XML</a>-based <a href="ko/RSS/Version/2.0">RSS 2.0</a>. With the XML-based RSS 2.0 seeming to be the most popular. (This tutorial uses <a href="ko/RSS/Version/2.0">RSS 2.0</a>.)</p>
-<h3 id="How_RSS_is_Used_Today" name="How_RSS_is_Used_Today">How RSS is Used Today</h3>
-<p>Today, RSS is mostly used for syndication. Syndication is the process of telling others that you have content for them to consume. In other words, when you syndicate, you are telling everyone something like: "Hey everyone, I've got articles that I want everyone to come and read. Just subscribe to my RSS feed and you will be able to get the latest ones all the time.".</p>
-<div class="note">
- <p><b>NOTE</b>: If you provide a non-password-protected RSS feed, you are implicitly giving everyone permission to use the contents in you RSS feed in almost any way they see fit. They can read it. The can make local copies of it. They can share that local copy. They can put it on their web site. They can even re-syndicated it. And more.</p>
- <p>If you don't want any of that done, then don't put it in a non-password-protected RSS feed. (And don't make the password public of course.)</p>
-</div>
-<p>News web sites use RSS to provide everyone with a list of their newest articles. For example:</p>
-<pre class="eval"> <span class="nowiki">
- &lt;?xml version="1.0"?&gt;
-
- &lt;rss version="2.0"&gt;
-
- &lt;channel&gt;
- &lt;title&gt;Example News Site&lt;/title&gt;
- &lt;description&gt;This is an Example News Site.&lt;/description&gt;
- &lt;lastBuildDate&gt;Wed, 27 Jul 2005 00:30:30 -0700&lt;/lastBuildDate&gt;
- &lt;link&gt;http://news.example.com/&lt;/link&gt;
-
- &lt;item&gt;
- &lt;title&gt;News Flash: I Like Bread&lt;/title&gt;
- &lt;guid isPermaLink="false"&gt;4d4a0a12-f188-4c97-908b-eea27213c2fe&lt;/guid&gt;
- &lt;pubDate&gt;Wed, 27 Jul 2005 00:30:30 -0700&lt;/pubDate&gt;
- &lt;link&gt;http://news.example.com/artcle/554&lt;/link&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Big News Today: Birds Fly&lt;/title&gt;
- &lt;guid isPermaLink="false"&gt;c4a63f09-b45b-466b-8773-6ff264001ab7&lt;/guid&gt;
- &lt;pubDate&gt;Tue, 19 Jul 2005 04:32:51 -0700&lt;/pubDate&gt;
- &lt;link&gt;http://news.example.com/artcle/553&lt;/link&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Fire is Hot&lt;/title&gt;
- &lt;guid isPermaLink="false"&gt;c1795324-d5ea-44fa-95b1-b5ce2090d4f1&lt;/guid&gt;
- &lt;pubDate&gt;Sun, 15 May 2005 13:02:08 -0700&lt;/pubDate&gt;
- &lt;link&gt;http://news.example.com/artcle/552&lt;/link&gt;
- &lt;/item&gt;
- &lt;/channel&gt;
-
- &lt;/rss&gt;
- </span>
-</pre>
-<p>Bloggers use RSS to provide everyone with a list of their newest blog posts. For example:</p>
-<pre class="eval"> <span class="nowiki">
- &lt;?xml version="1.0"?&gt;
-
- &lt;rss version="2.0"&gt;
-
- &lt;channel&gt;
- &lt;title&gt;Joe Blow's Blog&lt;/title&gt;
- &lt;description&gt;This is the Weblog of Joe Blow&lt;/description&gt;
- &lt;lastBuildDate&gt;Sun, 15 May 2005 13:02:08 -0500&lt;/lastBuildDate&gt;
- &lt;link&gt;http://joe-blow.example.net/&lt;/link&gt;
-
- &lt;item&gt;
- &lt;title&gt;I Be Blogging...&lt;/title&gt;
- &lt;guid&gt;http://joe-blow.example.net/log/21&lt;/guid&gt;
- &lt;pubDate&gt;Sun, 15 May 2005 13:02:08 -0500&lt;/pubDate&gt;
- &lt;link&gt;http://joe-blow.example.net/log/21&lt;/link&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;I am so SMRT&lt;/title&gt;
- &lt;guid&gt;http://joe-blow.example.net/log/20&lt;/guid&gt;
- &lt;pubDate&gt;Sat, 14 May 2005 22:19:18 -0500&lt;/pubDate&gt;
- &lt;link&gt;http://joe-blow.example.net/log/20&lt;/link&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Huh?&lt;/title&gt;
- &lt;guid&gt;http://joe-blow.example.net/log/19&lt;/guid&gt;
- &lt;pubDate&gt;Sat, 14 May 2005 09:55:59 -0500&lt;/pubDate&gt;
- &lt;link&gt;http://joe-blow.example.net/log/19&lt;/link&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Black Cat Spotted&lt;/title&gt;
- &lt;guid&gt;http://joe-blow.example.net/log/18&lt;/guid&gt;
- &lt;pubDate&gt;Fri, 13 May 2005 13:13:13 -0500&lt;/pubDate&gt;
- &lt;link&gt;http://joe-blow.example.net/log/18&lt;/link&gt;
- &lt;/item&gt;
- &lt;/channel&gt;
-
- &lt;/rss&gt;
- </span>
-</pre>
-<p>Those who create Internet Radio use RSS to allow users to broadcatch their shows. For example:</p>
-<pre class="eval"> <span class="nowiki">
- &lt;?xml version="1.0"?&gt;
-
- &lt;rss version="2.0"&gt;
-
- &lt;channel&gt;
- &lt;title&gt;Joe's IPradio Show&lt;/title&gt;
- &lt;description&gt;The best IPradio Show on the Internet, staring Joe!&lt;/description&gt;
- &lt;lastBuildDate&gt;Mon, 15 Aug 2005 16:12:37 -0400&lt;/lastBuildDate&gt;
- &lt;link&gt;http://joe.ipradio.example.net/&lt;/link&gt;
-
- &lt;item&gt;
- &lt;title&gt;I C UR Tan Line&lt;/title&gt;
- &lt;guid&gt;http://joe.ipradio.example.net/show/55&lt;/guid&gt;
- &lt;pubDate&gt;Mon, 15 Aug 2005 16:11:57 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://joe.ipradio.example.net/show/55"
- length="4487216"
- type="application/ogg"
- /&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Car Care for Car Fanatics&lt;/title&gt;
- &lt;guid&gt;http://joe.ipradio.example.net/show/54&lt;/guid&gt;
- &lt;pubDate&gt;Mon, 8 Aug 2005 13:12:12 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://joe.ipradio.example.net/show/54"
- length="4892178"
- type="audio/x-mp3"
- /&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Best Beaches in BC&lt;/title&gt;
- &lt;guid&gt;http://joe.ipradio.example.net/show/53&lt;/guid&gt;
- &lt;pubDate&gt;Mon, 1 Aug 2005 18:22:14 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://joe.ipradio.example.net/show/53"
- length="3984215"
- type="application/ogg"
- /&gt;
- &lt;/item&gt;
- &lt;/channel&gt;
-
- &lt;/rss&gt;
- </span>
-</pre>
-<div class="note">
- <p><b>NOTE</b>: Broadcatching of Internet Radio is sometimes call <em>Podcasting</em>, <em>IPradio</em>, and <em>Audio Blogging</em>.</p>
-</div>
-<p>Those who create Internet Television use RSS to allow users to broadcatch their shows. For example:</p>
-<pre class="eval"> <span class="nowiki">
- &lt;?xml version="1.0"?&gt;
-
- &lt;rss version="2.0"&gt;
-
- &lt;channel&gt;
- &lt;title&gt;Kate's IPTV Show&lt;/title&gt;
- &lt;description&gt;Watch it or else! You know you want to.&lt;/description&gt;
- &lt;lastBuildDate&gt;Tue, 23 Aug 2005 21:02:05 -0800&lt;/lastBuildDate&gt;
- &lt;link&gt;http://katetv.example.com/&lt;/link&gt;
-
- &lt;item&gt;
- &lt;title&gt;This is Fun&lt;/title&gt;
- &lt;guid&gt;http://katetv.example.com/show/4&lt;/guid&gt;
- &lt;pubDate&gt;Tue, 23 Aug 2005 21:02:05 -0800&lt;/pubDate&gt;
- &lt;enclosure url="http://katetv.example.com/show/4"
- length="1911146"
- type="application/ogg"
- /&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Watch This&lt;/title&gt;
- &lt;guid&gt;http://katetv.example.com/show/3&lt;/guid&gt;
- &lt;pubDate&gt;Tue, 16 Aug 2005 16:11:57 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://katetv.example.com/show/3"
- length="1387442"
- type="application/ogg"
- /&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;It is me again&lt;/title&gt;
- &lt;guid&gt;http://katetv.example.com/show/2&lt;/guid&gt;
- &lt;pubDate&gt;Tue, 9 Aug 2005 13:12:12 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://katetv.example.com/show/2"
- length="1894877"
- type="video/mpeg"
- /&gt;
- &lt;/item&gt;
- &lt;item&gt;
- &lt;title&gt;Hello&lt;/title&gt;
- &lt;guid&gt;http://katetv.example.com/show/1&lt;/guid&gt;
- &lt;pubDate&gt;Tue, 2 Aug 2005 18:22:14 -0400&lt;/pubDate&gt;
- &lt;enclosure url="http://katetv.example.com/show/1"
- length="17442215"
- type="application/ogg"
- /&gt;
- &lt;/item&gt;
- &lt;/channel&gt;
-
- &lt;/rss&gt;
- </span>
-</pre>
-<p>The observant reader may have noticed that the
- <i>
- news web site</i>
- and
- <i>
- blogger</i>
- examples were the same type of RSS. And also that the
- <i>
- Internet Radio</i>
- and
- <i>
- Internet Television</i>
- examples were the same type of RSS. In fact, the only real difference between the news/blogger RSS and the Internet Radio/Internet Television RSS is that the news/blogger RSS uses the <a href="ko/RSS/Element/link">&lt;link&gt;</a> element and the Internet Radio/Internet Television RSS uses the <a href="ko/RSS/Element/enclosure">&lt;enclosure&gt;</a> element.</p>
-<div class="note">
- <p><b>NOTE</b>: These RSS examples are very very simple. And were designed to give you an idea about what RSS basically looks like. All these RSS examples are very minimal. When you create your own RSS feeds, you will likely want to make them more complex than these and include additional <a href="ko/RSS/Element">RSS elements</a> and make use of the various <a href="ko/RSS/Module">RSS Modules</a>.</p>
-</div>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/RSS:Getting_Started:Why_use_RSS">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/archive/rss/index.html b/files/ko/archive/rss/index.html
deleted file mode 100644
index e5a2a6cd60..0000000000
--- a/files/ko/archive/rss/index.html
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: RSS
-slug: Archive/RSS
-tags:
- - RSS
-translation_of: Archive/RSS
----
-<div class="callout-box"><b><a href="ko/RSS/Getting_Started">시작하기</a></b><br>
-RSS를 시작하는데 도움이 되는 안내 입문서</div>
-<div><b>Really Simple Syndication (RSS)</b>는 <a href="ko/HTML">HTML</a>과 비슷한 <a href="ko/XML">XML</a>에 기반을 둔 발행(syndication)에 쓰는 대중적인 데이터 포맷입니다. RSS는 어두운 역사와 호환성이 없는 수많은 <a href="ko/RSS/Version">RSS 버전</a>이 있습니다. (몇몇은 <a href="ko/RDF">RDF</a>를 기반으로 하고 있지만 대부분은 <a href="ko/XML">XML</a>만 기반으로 하고 있습니다.) 이러함에도 불구하고, RSS는 엄청난 활동성(momentum)으로 뉴스, 블로그 포스트, IP라디오, IPTV 발행하는데(syndicate) 사용되는 매우 대중적인 포맷입니다.</div>
-<table class="topicpage-table">
-<tbody><tr><td>
-<h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"> <a>문서</a> </h4>
-<dl><dt> <a href="ko/RSS/Article/Why_RSS_Slash_is_Popular_-_Counting_Your_Comments">Why RSS Slash is Popular - Counting Your Comments</a>
-</dt><dd> <small>Charles Iliya Krempeaux가 여러 모듈 가운데 왜 인기가 있고 댓글(comment) "count"를 주는데 어떻게 쓰는지 RSS Slash 모듈에 관해 이야기합니다.</small>
-</dd></dl>
-<dl><dt> <a href="ko/RSS/Article/Why_Well-Formed_Web_RSS_Module_is_Popular_-_Syndicating_Your_Comments">Why Well-Formed Web RSS Module is Popular - Syndicating Your Comments</a>
-</dt><dd> <small>Charles Iliya Krempeaux가 여러 모듈 가운데 왜 인기가 있고 댓글에 링크하는데 어떻게 쓰는지 적격(Well-Formed) 웹 RSS 모듈에 관해 이야기합니다.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://diveintomark.org/archives/2004/02/04/incompatible-rss">The Myth of RSS Compatibility</a>
-</dt><dd> <small>Mark Pilgrim이 여러분에게 RSS의 지저분한 역사와 관해 말해주고 각 버전 사이의 비호환성을 자세히 설명합니다.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.tbray.org/ongoing/When/200x/2005/07/27/Atomic-RSS">Atomic RSS</a>
-</dt><dd> <small>Tim Bray가 micro 포맷과 RSS 2.0용 확장 모듈(발행 포맷으로 RSS 2.0 따르지만 선택한 Atom 1.0 요소를 가져오고 쓰는)로서 Atom 1.0 사용에 관해 이야기합니다.</small>
-</dd></dl>
-<p><span class="alllinks"><a>모두 보기...</a></span>
-</p>
-</td>
-<td>
-<h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0"> 커뮤니티 </h4>
-<ul><li> 모질라 XML 포럼 보기...
-</li></ul>
-<p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-xml"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xml"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xml/feeds"> 웹 Feed</a></li>
-</ul>
-<p></p>
-<h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C"> 관련 주제 </h4>
-<dl><dd> <a href="ko/RDF">RDF</a>, <a href="ko/XML">XML</a>
-</dd></dl>
-</td></tr></tbody></table>
-<p><span class="comment">Categories</span>
-</p><p><span class="comment">Interwiki Language Links</span>
-</p><p><br>
-</p>
diff --git a/files/ko/archive/rss/module/index.html b/files/ko/archive/rss/module/index.html
deleted file mode 100644
index bdffb41ec6..0000000000
--- a/files/ko/archive/rss/module/index.html
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title: Module
-slug: Archive/RSS/Module
-tags:
- - RSS
-translation_of: Archive/RSS/Module
----
-<h2 id="RSS_.EB.AA.A8.EB.93.88_.EB.AA.A9.EB.A1.9D" name="RSS_.EB.AA.A8.EB.93.88_.EB.AA.A9.EB.A1.9D">RSS 모듈 목록</h2>
-<p>RSS 모듈은 <a href="ko/XML">XML</a> 이름공간을 써서 RSS 문서에 집어넣는 microformat입니다. 모듈은 RSS를 확장하는 방법입니다. 아래는 인기 있는 RSS 모듈 목록입니다.</p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>이름</th>
- <th>공통 접두사</th>
- <th>상태</th>
- <th>출시 일</th>
- <th>제작자</th>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/Atom">Atomic RSS</a></td>
- <td>atom</td>
- <td> </td>
- <td>2005년 07월 27일</td>
- <td>Tim Bray</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/blogChannel">blogChannel</a></td>
- <td> </td>
- <td> </td>
- <td>2002년 09월 17일</td>
- <td>Dave Winer</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/Content">Content</a></td>
- <td>content</td>
- <td> </td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/creativeCommons">creativeCommons</a></td>
- <td>cc</td>
- <td> </td>
- <td>2002년 12월 16일</td>
- <td>Dave Winer</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/Dublin_Core">Dublin Core</a></td>
- <td>dc</td>
- <td> </td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/Slash">Slash</a></td>
- <td>slash</td>
- <td> </td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Module/Well-Formed_Web">Well-Formed Web</a></td>
- <td>wfw</td>
- <td> </td>
- <td> </td>
- <td>Joe Gregorio and Chris Sells</td>
- </tr>
- </tbody>
-</table>
-<p></p>
diff --git a/files/ko/archive/rss/version/index.html b/files/ko/archive/rss/version/index.html
deleted file mode 100644
index 5b6a3c7c87..0000000000
--- a/files/ko/archive/rss/version/index.html
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title: Version
-slug: Archive/RSS/Version
-tags:
- - RSS
-translation_of: Archive/RSS/Version
----
-<h2 id="RSS_Versions" name="RSS_Versions">RSS Versions</h2>
-<p>RSS 는 복잡한 역사가 있습니다. 서로 다른 사람들이 스스로 RSS라고 부르는 명세를 일방적으로 만들어왔기 때문입니다. 어떤 RSS는 <a href="ko/XML">XML</a>형식으로 되어 있습니다. 또 어떤 RSS는 <a href="ko/RDF">RDF</a>형식으로 되어 있습니다.</p>
-<p>아래의 목록은, 발표된 시간 순으로 나열된 이제까지 알려진 RSS 버전들입니다.</p>
-<div class="note">
- <p><b>NOTE</b>: 아래 목록에서, RSS 1.0의 위치가 잘못된 것처럼 보이지만, 사실 시간순으로 맞는 위치에 있습니다.</p>
-</div>
-<div class="note">
- <p><b>NOTE</b>: <a href="ko/RSS/Version/0.91">RSS 0.91</a>에는 세 가지 다른 버전이 있습니다. Netscape의 RSS 0.91 (Revision 1), Netscape의 RSS 0.91 Revision 3 과 Userland의 RSS 0.91이 그것입니다. 엄밀히 말해서, Userland의 RSS 0.91 은 Netscape의 RSS 0.91의 부분집합입니다.</p>
-</div>
-<div class="note">
- <p><b>NOTE</b>: RSS 0.93 과 RSS 0.94 은 "drafts"만 나오고, "final"상태가 되지 못해서 실제로 사용된 적이 없습니다.</p>
-</div>
-<p> </p>
-<table class="standard-table">
- <tbody>
- <tr>
- <th>Name</th>
- <th>Status</th>
- <th>Release Date</th>
- <th>Based On</th>
- <th>Author</th>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.90">RSS 0.90</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">March 1999</td>
- <td><a href="ko/RDF">RDF</a></td>
- <td class="small">Netscape</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.91/Netscape/Revision_1">Netscape's RSS 0.91 (Revision 1)</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">?</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Netscape</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.91/Netscape/Revision_3">Netscape's RSS 0.91 Revision 3</a></td>
- <td><span title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span></td>
- <td class="small">July 10, 1999</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Netscape</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.91/Userland">Userland's RSS 0.91</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">June 4, 2000</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/1.0">RSS 1.0</a></td>
- <td>Standard</td>
- <td class="small">December 9, 2000</td>
- <td><a href="ko/RDF">RDF</a></td>
- <td class="small">RSS-DEV Working Group</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.92">RSS 0.92</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">December 25, 2000</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.93">RSS 0.93</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">April 20, 2001</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/0.94">RSS 0.94</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">August 19, 2002</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/2.0">RSS 2.0</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">September 2002</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/2.0/2002-11-11">RSS 2.0 (post 2002-11-11)</a></td>
- <td><span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span></td>
- <td class="small">November 11, 2002</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- <tr>
- <td><a href="ko/RSS/Version/2.0/2003-01-21">RSS 2.0 (post 2003-01-21)</a></td>
- <td>Standard</td>
- <td class="small">January 21, 2003</td>
- <td><a href="ko/XML">XML</a></td>
- <td class="small">Userland</td>
- </tr>
- </tbody>
-</table>
-<p></p>
diff --git a/files/ko/archive/security/index.html b/files/ko/archive/security/index.html
deleted file mode 100644
index 74823c8f52..0000000000
--- a/files/ko/archive/security/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Security
-slug: Archive/Security
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Security
----
-<p><strong><span class="seoSummary">Relying on these obsolete security articles is highly discouraged. Doing so may put your systems at risk.</span></strong></p>
-
-<div class="row topicpage-table">
- <div class="section"><dl><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Digital_Signatures">Digital Signatures</a></dt><dd class="landingPageList">Encryption and decryption address the problem of eavesdropping, one of the three Internet security issues mentioned at the beginning of this document. But encryption and decryption, by themselves, do not address another problem: tampering.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Encryption_and_Decryption">Encryption and Decryption</a></dt><dd class="landingPageList">Encryption is the process of transforming information so it is unintelligible to anyone but the intended recipient. Decryption is the process of transforming encrypted information so that it is intelligible again.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Introduction_to_Public-Key_Cryptography">Introduction to Public-Key Cryptography</a></dt><dd class="landingPageList">Public-key cryptography and related standards and techniques underlie the security features of many products such as signed and encrypted email, single sign-on, and Secure Sockets Layer (SSL) communications. This document introduces the basic concepts of public-key cryptography. For an overview of SSL, see "<a href="/en/Introduction_to_SSL" title="en/Introduction_to_SSL">Introduction to SSL</a>." For an overview of encryption and decryption, see "<a href="/en-US/docs/Encryption_and_Decryption">Encryption and Decryption</a>." Information on digital signatures is available from "<a href="/en-US/docs/Digital_Signatures">Digital Signatures</a>."</dd></dl></dl></div>
- <div class="section"><dl><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/Introduction_to_SSL">Introduction to SSL</a></dt><dd class="landingPageList">This document introduces the Secure Sockets Layer (SSL) protocol. SSL has been universally accepted on the World Wide Web for authenticated and encrypted communication between clients and servers.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/NSPR_engineering_guide">NSPR Release Engineering Guide</a></dt><dd class="landingPageList">This paper is for engineers performing formal release for the NetScape Portable Runtime (NSPR) across all platforms.</dd><dt class="landingPageList"><a href="/en-US/docs/Archive/Security/SSL_and_TLS">SSL and TLS</a></dt><dd class="landingPageList">The Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols are universally accepted standards for authenticated and encrypted communication between clients and servers. Both client and server authentication occur over SSL/TLS.</dd></dl></div>
- </div>
diff --git a/files/ko/archive/security/tcp_ip/index.html b/files/ko/archive/security/tcp_ip/index.html
deleted file mode 100644
index 983b83b308..0000000000
--- a/files/ko/archive/security/tcp_ip/index.html
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title: TCP/IP 보안
-slug: Archive/Security/TCP_IP
-translation_of: Archive/Security/TCP_IP
----
-<p>{{draft}}</p>
-
-<p>TCP/IP 는 네트워크 통신을 위해 전세계적으로 사용되고 있다.  TCP/IP 통신에서는 네 개의 계층이 관여한다. 유저가 네트워크를 통해 데이터를 보내고 싶은 경우, 데이터는 높은 계층에서 중간 계층을 거쳐 하위 계층으로 전달되며, 전달되는 과정에서 추가적인 정보들이 추가된다.  각 계층에서 logical unit은 header와 payload로 구성되어 있다. <em>Payload</em>는 이전의 계층에서 받은 정보들을 담고 있으며, <em>header</em>는 주소와 같이 계층의 상세정보를 담고있다. 응용계층에서 payload는 실제 application 데이터다. 가장 낮은 계층은 축적된 모든 정보를 물리적인 네트워크를 통해 데이터를 전달한다. 전달된 데이터는 다시 하위 계층에서 상위 계층으로 전달되어 목적지에 도달한다. 한 계층에서 캡슐화된 데이터는 하위 계층에 있는 더 큰 컨테이너에 캡슐화된다. 아래는 네 개의 TCP/IP 계층을 높은 계층 순으로 나열한 것이다.</p>
-
-<ul>
- <li><strong>응용 계층(Application Layer).</strong>  이 계층은 Domain Name System (DNS), HyperText Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP)와 같은 특정 어플리케이션들을 위해 데이터를 송수신한다.</li>
- <li><strong>전송 계층(Transport Layer).</strong> 이 계층은 네트워크 간에 응용 계층 서비스들을 위한 연결 지향적(connection-oriented), 비연결 지향적(connectionless) 서비스들을 제공한다. 전송 계층은 선택적으로 통신의 신뢰성을 보장할 수 있다.Transmission Control Protocol (TCP) 와 User Datagram Protocol (UDP)는 흔하게 사용하는 전송 계층 프로토콜이다.</li>
- <li><strong>네트워크 계층(Network Layer)</strong><strong>.</strong> 이 계층은 패킷(packet)을 네트워크 상에서 이동시키는 역할을 한다. Internet Protocol (IP)는 TCP/IP를 위한 가장 기초적인 네트워크 계층 프로토콜이다. 네트워크 계층에서 사용되는 또 다른 프로토콜은 Internet Control Message Protocol (ICMP) 와 Internet Group Management Protocol (IGMP)가 있다.</li>
- <li><strong>링크 계층(Link Layer)</strong><strong>.</strong> 이 계층은 물리적인 네트워크 구성 요소에서 사이에서 일어나는 통신을 담당한다. 가장 잘 알려진 링크 계층 프로토콜로는 이더넷(Ethernet)이 있다.</li>
-</ul>
-
-<dl>
- <dt>TCP/IP 모델에서 각 계층마다 네트워크 통신을 위한 보안 제어(security control)가 존재한다. 이전에 언급되었듯이, 데이터를 상위계층에서 하위계층으로 전달되며, 각 계층을 통과할 때마다 정보가 추가된다. 이러한 이유로, 상위 계층에서의 보안 제어(security control)는 하위 계층의 보안을 제공할 수 없다. 또한, 하위 계층에서는 상위 계층이 모르게 작동하는 부분들을 상위 계층이 커버해줄 수 없다. 각 계층에서 담당하는 보안 제어 방법들:</dt>
-</dl>
-
-<ul style="list-style-type: square;">
- <li><strong>응용계층</strong><strong>.</strong> 각 어플리케이션마다 제어 방법을 따로 수립해야한다. 예를 들어, 만약 어플리케이션이 네트워크를 통해 민감한 정보를 보내려 할 때 이 정보를 보호하고 싶다면, 어플리케이션에서의 설정을 변경하여 정보보호를 제공해 줄 수 있을것이다. 이러한 방식은 어플리케이션에 높은 수준의 보안과 유연함을 제공해주지만, 제어방법들을 추가하고 설정하는데에 많은 양의 자원과 투자가 요구된다. 암호학적으로 안전한 응용 프로토콜을 디자인하는 것은 매우 어려운 작업이며, 이를 올바르게 사용하는 것은 더욱 어렵다. 그러므로, 새로운 응용 계층 보안 프로토콜을 만드는 것은 취약점을 만들기 마련이다. 그에 더해, 특히 상용 소프트웨어들은 안전하지 않을 수 있다. 응용 계층 프로토콜들은 응용 계층의 정보를 보호할 수 있지만, 하위 계층에 존재하는 IP주소와 같은 TCP/IP 정보들은 보호하지 못한다. 가급적이면 네트워크 통신을 보호하기 위한 응용 계층의 제어 방식들은 어느 정도의 기간동안 사용되어온 표준 기반 해결책들이어야 한다. 한 가지 예로 이메일을 암호화하기 위해 쓰이는 Secure Multipurpose Internet Mail Extensions (S/MIME)가 있다.</li>
- <li><strong>전송계층</strong><strong>.</strong>  이 계층에서의 제어는 두 호스트 간에 단일 통신 세션 안에서의 데이터를 보호할 수 있다. IP주소는 네트워크 계층에서 추가되기 때문에, 전송 계층에서는 이를 보호할 방법이 없다. 전송 계층 프로토콜에서 가장 대표적으로 사용되는 것은 TLS로, HTTP 트래픽을 보호하는데에 사용된다. (TLS는 SSL 버전 3의 표준 기반 버전이다. TLS에 관한 추가 정보는 RFC 4346, <em>The TLS Protocol Version 1.1</em>, <a href="https://www.ietf.org/rfc/rfc4346.txt">https://www.ietf.org/rfc/rfc4346.txt</a>에서 찾아볼 수 있다.  또 다른 좋은 자료: NIST SP 800-52,<em> Guidelines on the Selection and Use of Transport Layer Security</em>, 에서 확인 가능<a href="https://csrc.nist.gov/publications/nistpubs/">https://csrc.nist.gov/publications/nistpubs/</a>.) TLS는 어플리케이션이 TLS를 지원해야만 사용가능하다, 그러나 응용 계층 제어와 달리, 전송 계층에서의 TLS와 같은 제어는 응용 계층에서의 작업을 이해 못하기 때문에 침입에 덜 취약하다. TLS를 사용하므로써 어플리케이션에 변동이 필요하겠지만, TLS은 많이 사용되고 있으며 많은 어플리케이션에 적용된, 잘 테스트된 프로토콜이다. 그러므로 응용 계층에 보호를 더하는 것보다 TLS를 선택하는 것이 비교적 안전한 선택이다. 관습적으로, TLS는 HTTP기반의 통신들을 보호하기 위해 사용되어 왔으며 SSL 포털 VPN을 통해 사용될 수 있다.</li>
- <li><strong>네트워크 계층</strong><strong>.</strong>  이 계층에서의 제어는 모든 어플리케이션에 적용될 수 있으나, 어플리케이션에 특화된 것은 아니다. For example, all network communications between two hosts or networks can be protected at this layer without modifying any applications on the clients or the servers.  In some environments, network layer controls such as Internet Protocol Security (IPsec) provide a much better solution than transport or application layer controls because of the difficulties in adding controls to individual applications.  Network layer controls also provide a way for network administrators to enforce certain security policies.  Another advantage of network layer controls is that since IP information (e.g., IP addresses) is added at this layer, the controls can protect both the data within the packets and the IP information for each packet.  However, network layer controls provide less control and flexibility for protecting specific applications than transport and application layer controls.  SSL tunnel VPNs provide the ability to secure both TCP and UDP communications including client/server and other network traffic, and therefore act as network layer VPNs.</li>
- <li><strong>링크 계층</strong><strong>.</strong>  Data link layer controls are applied to all communications on a specific physical link, such as a dedicated circuit between two buildings or a dial-up modem connection to an Internet Service Provider (ISP).  Data link layer controls for dedicated circuits are most often provided by specialized hardware devices known as<em> data link encryptors</em>; data link layer controls for other types of connections, such as dial-up modem communications, are usually provided through software.  Because the data link layer is below the network layer, controls at this layer can protect both data and IP information.  Compared to controls at the other layers, data link layer controls are relatively simple, which makes them easier to implement; also, they support other network layer protocols besides IP.  Because data link layer controls are specific to a particular physical link, they cannot protect connections with multiple links, such as establishing a VPN over the Internet.  An Internet-based connection is typically composed of several physical links chained together; protecting such a connection with data link layer controls would require deploying a separate control to each link, which is not feasible.  Data link layer protocols have been used for many years primarily to provide additional protection for specific physical links that should not be trusted.</li>
-</ul>
-
-<p>Because they can provide protection for many applications at once without modifying them, network layer security controls have been used frequently for securing communications, particularly over shared networks such as the Internet.  Network layer security controls provide a single solution for protecting data from all applications, as well as protecting IP information.  Nevertheless, in many cases, controls at another layer are better suited to providing protection than network layer controls.  For example, if only one or two applications need protection, a network layer control may be excessive.  Transport layer protocols such as SSL are most commonly used to provide security for communications with individual HTTP-based applications, although they are also used to provide protection for communication sessions of other types of applications such as SMTP, Point of Presence (POP), Internet Message Access Protocol (IMAP), and File Transfer Protocol (FTP).  Because all major Web browsers include support for TLS, users who wish to use Web-based applications that are protected by TLS normally do not need to install any client software or reconfigure their systems.  Newer applications of transport layer security protocols protect both HTTP and non-HTTP application communications, including client/server applications and other network traffic.  Controls at each layer offer advantages and features that controls at other layers do not.</p>
-
-<p>SSL is the most commonly used transport layer security control.  Depending on how SSL is implemented and configured, it can provide any combination of the following types of protection:</p>
-
-<ul style="list-style-type: square;">
- <li><strong>Confidentiality</strong><strong>.</strong>  SSL can ensure that data cannot be read by unauthorized parties.  This is accomplished by encrypting data using a cryptographic algorithm and a secret key—a value known only to the two parties exchanging data.  The data can only be decrypted by someone who has the secret key.</li>
- <li><strong>Integrity</strong><strong>.</strong>  SSL can determine if data has been changed (intentionally or unintentionally) during transit.  The integrity of data can be assured by generating a message authentication code (MAC) value, which is a keyed cryptographic checksum of the data.  If the data is altered and the MAC is recalculated, the old and new MACs will differ.</li>
- <li><strong>Peer Authentication</strong><strong>.</strong>  Each SSL endpoint can confirm the identity of the other SSL endpoint with which it wishes to communicate, ensuring that the network traffic and data is being sent from the expected host.  SSL authentication is typically performed one-way, authenticating the server to the client, but it can be performed mutually.</li>
- <li><strong>Replay Protection</strong><strong>.  </strong>The same data is not delivered multiple times, and data is not delivered grossly out of order.</li>
-</ul>
-
-<div class="originaldocinfo">
-<h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
-
-<ul>
- <li>Author(s): Sheila Frankel, Paul Hoffman, Angela Orebaugh, and Richard Park</li>
- <li>Title: National Institute of Standards and Technology (NIST) Special Publication 800-113, Guide to SSL VPNs</li>
- <li>Last Updated Date: July 2008</li>
- <li>Copyright Information: This document is not subject to copyright.</li>
-</ul>
-</div>
-
-<p>{{QuickLinksWithSubpages("/en-US/docs/Web/Security")}}</p>
diff --git a/files/ko/archive/web/index.html b/files/ko/archive/web/index.html
deleted file mode 100644
index fe223d9b2a..0000000000
--- a/files/ko/archive/web/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Archived open Web documentation
-slug: Archive/Web
-tags:
- - Archived
- - NeedsTranslation
- - TopicStub
- - Web
-translation_of: Archive/Web
----
-<p>The documentation listed below is archived, obsolete material about open Web topics.</p>
-<p></p><dl><dt class="landingPageList"><a href="/ko/docs/E4X">E4X</a></dt><dd class="landingPageList"><b>ECMAScript for XML</b> (<b>E4X</b>)는 <a href="ko/JavaScript">JavaScript</a>에 native <a href="ko/XML">XML</a> 지원을 더하는 프로그래밍 언어 확장기능입니다. E4X는 ECMAScript 프로그래머에게 자연스러운 형식으로 XML 문서 접근 방법을 제공하여 이를 수행합니다. 목표는 <a href="ko/DOM">DOM</a> 인터페이스를 통하기보다는 XML 문서에 접근하기 더 간단한 대체 구문 제공입니다.</dd><dt class="landingPageList"><a href="/ko/docs/XForms">XForms</a></dt><dd class="landingPageList"><span class="comment">Categories</span></dd></dl><p></p>
diff --git a/files/ko/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html b/files/ko/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html
deleted file mode 100644
index da862c184a..0000000000
--- a/files/ko/archive/web/javascript/ecmascript_7_support_in_mozilla/index.html
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: ECMAScript Next support in Mozilla
-slug: Archive/Web/JavaScript/ECMAScript_7_support_in_Mozilla
-translation_of: Archive/Web/JavaScript/ECMAScript_Next_support_in_Mozilla
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>ECMAScript 2016 는 (흔히 <a href="/en-US/docs/Web/JavaScript">JavaScript</a>로 알려져 있는) ECMA-262 표준의 차세대 버전 입니다. ECMAScript 2015이 2015년 6월 17일에 확정되었음에도 불구하고 새로운 특징들이 이미 제안되고 있습니다. 기능 제안에 대한 최신 후보들은 <a href="https://github.com/tc39/ecma262">tc39/ecma262</a> GitHub 저장소에서 보실 수 있습니다.</p>
-
-<p>현재 규격 개발에 관한 사항들은 각 기능들에 대한 <em>stages</em>와 <em>champions</em>를 안내하면서 해결할 예정입니다. 또한, 2년마다 표준을 배포하는 것이 제안되어 있습니다. post-ES2015 규격 처리방안에 대해 더 알고싶으시다면, <a href="http://slides.com/rafaelweinstein/tc39-process">Rafael Weinstein의 발표자료</a>를 참고하세요.</p>
-
-<p>ECMAScript 표준에 대한 피드백을 위한 채널은 <a href="https://mail.mozilla.org/listinfo/es-discuss">es-discuss</a> 입니다.</p>
-
-<h2 id="ECMAScript_2016">ECMAScript 2016</h2>
-
-<p> </p>
-
-<p>다음 ES2016기능들이 구현되었습니다.</p>
-
-<ul>
- <li>{{jsxref("Array.prototype.includes()")}} (Firefox 43)</li>
- <li>{{jsxref("TypedArray.prototype.includes()")}} (Firefox 43)</li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*">Generators</a> and <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Method_definitions">generator methods</a> are no longer constructable (Firefox 43)</li>
- <li>Proxy <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/enumerate">enumerate</a> handler removed (Firefox 47)</li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Exponentiation">Exponentiation operator</a> (Firefox 52)</li>
- <li>{{jsxref("Functions/rest_parameters", "Rest parameter destructuring", "#Destructuring_rest_parameters", 1)}} (Firefox 52)</li>
-</ul>
-
-<h2 id="ECMAScript_2017">ECMAScript 2017</h2>
-
-<p>다음 ES2017기능들이 구현되었습니다.</p>
-
-<p> </p>
-
-<ul>
- <li>{{jsxref("Object.values()")}} and {{jsxref("Object.entries()")}} (Firefox 47)</li>
- <li>{{jsxref("String.prototype.padEnd()")}} (Firefox 48)</li>
- <li>{{jsxref("String.prototype.padStart()")}} (Firefox 48)</li>
- <li>{{jsxref("Object.getOwnPropertyDescriptors()")}} (Firefox 50)</li>
- <li>Async Functions
- <ul>
- <li>{{jsxref("Statements/async_function", "async function")}} (Firefox 52)</li>
- <li>{{jsxref("Operators/async_function", "async function expression")}} (Firefox 52)</li>
- <li>{{jsxref("AsyncFunction")}} (Firefox 52)</li>
- <li>{{jsxref("Operators/await", "await")}} (Firefox 52)</li>
- </ul>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas">Trailing commas in function parameter lists</a> (Firefox 52)</li>
-</ul>
-
-<p> </p>
-
-<p> </p>
-
-<h2 id="실험_단계(특성)">실험 단계(특성)</h2>
-
-<p>다음 기능은 이미 구현되어 있지만,  <a href="http://nightly.mozilla.org/">Firefox Nightly channel</a>에서만 이용 가능합니다.:</p>
-
-<h3 id="Additions_to_the_ArrayBuffer_object">Additions to the <code>ArrayBuffer</code> object</h3>
-
-<ul>
- <li>{{jsxref("ArrayBuffer.transfer()")}} (<a href="https://gist.github.com/lukewagner/2735af7eea411e18cf20">spec</a>)</li>
-</ul>
-
-<h3 id="New_TypedObject_objects">New TypedObject objects</h3>
-
-<ul>
- <li>Based on <a href="https://github.com/dslomov-chromium/typed-objects-es7">Typed Objects draft</a>, and exposed via a global <code>TypedObject</code> object, e.g. <code>TypedObject.StructType</code> &amp; <code>TypedObject.ArrayType</code>. This feature is non-standard and not documented.</li>
-</ul>
-
-<div class="hidden">
-<p>See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1336740">https://bugzilla.mozilla.org/show_bug.cgi?id=1336740</a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=578700">https://bugzilla.mozilla.org/show_bug.cgi?id=578700</a>.</p>
-</div>
-
-<h3 id="New_SIMD_objects">New SIMD objects</h3>
-
-<ul>
- <li><a href="https://github.com/johnmccutchan/ecmascript_simd">SIMD specification draft and polyfill</a></li>
-</ul>
-
-<p> </p>
-
-<h3 id="New_Shared_Memory_objects">New Shared Memory objects</h3>
-
-<ul>
- <li>{{jsxref("SharedArrayBuffer")}}</li>
- <li>{{jsxref("Atomics")}}</li>
-</ul>
-
-<p> </p>
-
-<h2 id="참조">참조</h2>
-
-<ul>
- <li><a href="http://www.ecmascript.org/">ECMAScript web site</a></li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1021376">Mozilla ES2016 tracking bug</a></li>
- <li><a href="http://kangax.github.io/compat-table/es7/" title="http://kangax.github.io/es5-compat-table">ECMAScript 2016 support across browsers</a></li>
-</ul>
diff --git a/files/ko/archive/web/javascript/index.html b/files/ko/archive/web/javascript/index.html
deleted file mode 100644
index 4687b7bf23..0000000000
--- a/files/ko/archive/web/javascript/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: JavaScript
-slug: Archive/Web/JavaScript
-translation_of: Archive/Web/JavaScript
----
-<div class="hidden">{{JSRef}}</div>
-
-<p>{{Obsolete_Header}}</p>
-
-<p class="summary">Obsolete JavaScript features and unmaintained docs</p>
-
-<p>{{SubpagesWithSummaries}}</p>
diff --git a/files/ko/archive/web/javascript/legacy_generator_function/index.html b/files/ko/archive/web/javascript/legacy_generator_function/index.html
deleted file mode 100644
index 2d532f7cd9..0000000000
--- a/files/ko/archive/web/javascript/legacy_generator_function/index.html
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: 구형 생성기 함수 표현식
-slug: Archive/Web/JavaScript/Legacy_generator_function
-tags:
- - JavaScript
- - Non-standard
- - Obsolete
- - Operator
- - Reference
-translation_of: Archive/Web/JavaScript/Legacy_generator_function
----
-<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko58")}}
-<div class="warning">The legacy generator function expression was a SpiderMonkey-specific feature, which is removed in Firefox 58+. For future-facing usages, consider using the {{JSxRef("Operators/function*", "function* expression")}}.</div>
-</div>
-
-<p>The <strong><code>function</code></strong> keyword can be used to define a legacy generator function inside an expression. To make the function a legacy generator, the function body should contain at least one {{JSxRef("Operators/yield", "yield")}} expression.</p>
-
-<h2 id="Syntax">Syntax</h2>
-
-<pre class="syntaxbox">function [<em>name</em>]([<em>param1</em>[, <em>param2[</em>, ..., <em>paramN</em>]]]) {
- <em>statements</em>
-}</pre>
-
-<h3 id="Parameters">Parameters</h3>
-
-<dl>
- <dt><code>name</code></dt>
- <dd>The function name. Can be omitted, in which case the function is <em>anonymous</em>. The name is only local to the function body.</dd>
- <dt><code>paramN</code></dt>
- <dd>The name of an argument to be passed to the function. A function can have up to 255 arguments.</dd>
- <dt><code>statements</code></dt>
- <dd>The statements which comprise the body of the function. This should contain at least one {{JSxRef("Operators/yield", "yield")}} expression.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>An overview of the usage is available on the <a href="/en-US/docs/JavaScript/Guide/Iterators_and_Generators">Iterators and Generators</a> page.</p>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<p>Supported nowhere.</p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{JSxRef("Generator")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/Legacy_generator_function">The legacy generator function</a></li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/The_legacy_Iterator_protocol">The legacy Iterator protocol</a></li>
- <li>{{JSxRef("Operators/yield", "yield")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope">Functions and function scope</a></li>
- <li>{{JSxRef("Statements/function", "function")}}</li>
- <li>{{JSxRef("Operators/function", "function expression")}}</li>
- <li>{{JSxRef("Function")}}</li>
- <li>{{JSxRef("Statements/function*", "function*")}}</li>
- <li>{{JSxRef("Operators/function*", "function* expression")}}</li>
- <li>{{JSxRef("GeneratorFunction")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol">The Iterator protocol</a></li>
-</ul>
diff --git a/files/ko/archive/web/javascript/legacy_generator_function_statement/index.html b/files/ko/archive/web/javascript/legacy_generator_function_statement/index.html
deleted file mode 100644
index d4eeadb0f0..0000000000
--- a/files/ko/archive/web/javascript/legacy_generator_function_statement/index.html
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title: Legacy generator function
-slug: Archive/Web/JavaScript/Legacy_generator_function_statement
-translation_of: Archive/Web/JavaScript/Legacy_generator_function_statement
----
-<div class="warning">The legacy generator function was a SpiderMonkey-specific feature, which is removed in Firefox 58+. For future-facing usages, consider using {{jsxref("Statements/function*", "function*")}}.</div>
-
-<div>{{jsSidebar("Statements")}}</div>
-
-<p>레거시 생성 함수(<strong>legacy generator function statement)는</strong> 레거시 생성 함수를 지정된 매개 변수로 선언한다.</p>
-
-<p><code>functionBody</code> 와 함께 {{jsxref("Operators/yield", "yield")}}나 {{jsxref("Operators/Legacy_generator_function", "레거시 생성 함수 식", "", 1)}} 중 적어도 하나의  표현식을 사용하여 {{jsxref("Function")}} 생성자를 사용하여 함수를 정의할 수도 있다. </p>
-
-<h2 id="Syntax">Syntax</h2>
-
-<pre class="syntaxbox">function <em>name</em>([<em>param</em>,[, <em>param</em>,[..., <em>param</em>]]]) {
- [<em>statements</em>]
-}
-</pre>
-
-<dl>
- <dt><code>name</code></dt>
- <dd>함수의 이름.</dd>
-</dl>
-
-<dl>
- <dt><code>param</code></dt>
- <dd>함수에 전달할 인수의 이름. 함수는 최대 255개의 인수를 가질 수 있다.</dd>
-</dl>
-
-<dl>
- <dt><code>statements</code></dt>
- <dd>함수의 본문을 구성하는 문장. 적어도 하나의 {{jsxref("Operators/yield", "yield")}} 표현식을 포함해야 한다.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>사용법에 대한 개요는  <a href="/en-US/docs/JavaScript/Guide/Iterators_and_Generators">반복기 및 생성기(Iterators and Generators</a>) 페이지에서 볼 수 있다.</p>
-
-<h2 id="Browser_compatibility브라우저_호환성">Browser compatibility(브라우저 호환성)</h2>
-
-<p>Supported nowhere.</p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{jsxref("Generator")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Legacy_generator_function">The legacy generator function expression</a></li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/The_legacy_Iterator_protocol">The legacy Iterator protocol</a></li>
- <li>{{jsxref("Operators/yield", "yield")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope">Functions and function scope</a></li>
- <li>{{jsxref("Statements/function", "function")}}</li>
- <li>{{jsxref("Operators/function", "function expression")}}</li>
- <li>{{jsxref("Function")}}</li>
- <li>{{jsxref("Statements/function*", "function*")}}</li>
- <li>{{jsxref("Operators/function*", "function* expression")}}</li>
- <li>{{jsxref("GeneratorFunction")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol">The Iterator protocol</a></li>
-</ul>
diff --git a/files/ko/archive/web_standards/index.html b/files/ko/archive/web_standards/index.html
deleted file mode 100644
index 1ef58a9097..0000000000
--- a/files/ko/archive/web_standards/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: Web Standards
-slug: Archive/Web_Standards
-tags:
- - Web Standards
-translation_of: Archive/Web_Standards
----
-<div><b>웹 표준</b>은 웹 상에 출판된 어떤 문서의 수명(viability)을 장시간 보장하는 동시에 웹 사용자 최대 다수에게 최대 이익을 전달하도록 주의해서 설계되었습니다. 이 표준으로 설계하고 제작함은 더 많은 사람과 더 많은 종류의 인터넷 장치에 접근 가능한 사이트를 만드는 동시에 생산을 쉽게 하고 생산 비용을 줄이게 됩니다. 이 지침에 따라 개발한 사이트는 기존 데스크탑 브라우저가 진화하고 새 인터넷 장치가 시장에 나오더라도 계속 정확히 작동할 것입니다. <sup><a href="https://developer.mozilla.org/ko/docs/Archive/Web_Standards#endnote_1">[1]</a></sup></div>
-<table class="topicpage-table">
-<tbody><tr><td>
-<h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"> <a>문서</a> </h4>
-<dl><dt> <a href="ko/Migrate_apps_from_Internet_Explorer_to_Mozilla">Migrate apps from Internet Explorer to Mozilla</a><br>
-</dt><dd> <small>IE에 종속된 웹 응용프로그램을 Mozilla로 작업하기 위해 어려움을 겪은 적이 있으세요? 이 글에서는 웹 응용프로그램을 오픈 소스 Mozilla에 기반을 둔 브라우저로의 이관(Migration)과 관련 있는 공통 쟁점을 다룹니다.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.mozilla.org/docs/web-developer/upgrade_2.html">Using Web Standards in your Web Pages</a>
-</dt><dd> <small>이 페이지에서는 W3C 웹 표준을 따르는 웹 페이지의 컨텐츠를 업그레이드하는 과정의 개요를 제공합니다.</small>
-</dd></dl>
-<dl><dt> <a href="ko/Choosing_Standards_Compliance_Over_Proprietary_Practices">Choosing Standards Compliance Over Proprietary Practices</a>
-</dt><dd> <small>개발하다 보면, 어플리케이션을 다양한 개발 그룹에 걸쳐 설계하기 때문에 표준이 필요합니다.</small>
-</dd></dl>
-<dl><dt> <a href="ko/The_Business_Benefits_of_Web_Standards">The Business Benefits of Web Standards</a>
-</dt><dd> <small>이 기사는 웹 표준에 충실하고 회사의 사업 목표에 기여할 수 있는 독점(proprietary) 마크업과 기술을 뒤에 남기는 법에 관해 의견을 나눕니다.</small>
-</dd></dl>
-<p><span class="alllinks"><a>모두 보기...</a></span>
-</p>
-</td>
-<td>
-<h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0"> 커뮤니티 </h4>
-<h5 id=".EA.B5.AD.EB.82.B4" name=".EA.B5.AD.EB.82.B4"> 국내 </h5>
-<ul><li> <a class="external" href="http://www.webstandard.or.kr/">웹 표준화 프로젝트</a>
-</li><li> <a class="external" href="http://www.standardmag.org/">Standard Magazine</a>
-</li></ul>
-<h5 id=".EA.B5.AD.EC.99.B8" name=".EA.B5.AD.EC.99.B8"> 국외 </h5>
-<ul><li> Mozilla 포럼 보기...
-</li></ul>
-<p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-web-development"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.web-development"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.web-development/feeds"> 웹 Feed</a></li>
-</ul>
-<p></p>
-<ul><li> <a class="external" href="http://webstandards.org/">The Web Standards Project</a>
-</li><li> <a class="external" href="http://webdevfeedhouse.com/">WebDev FeedHouse</a>
-</li><li> <a href="ko/Web_Standards/Community">Other community links...</a>
-</li></ul>
-<h4 id=".EA.B0.9C.EB.B0.9C_.EB.8F.84.EA.B5.AC" name=".EA.B0.9C.EB.B0.9C_.EB.8F.84.EA.B5.AC"> 개발 도구 </h4>
-<ul><li> <a class="link-https" href="https://addons.mozilla.org/extensions/moreinfo.php?id=60&amp;application=firefox">Web Developer extension</a>
-</li><li> <a class="external" href="http://validator.w3.org/">Markup validation service (W3C)</a>
-</li><li> <a class="external" href="http://jigsaw.w3.org/css-validator/">CSS validation service (W3C)</a>
-</li></ul>
-<p><span class="alllinks"><a>모두 보기...</a></span>
-</p>
-<h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C"> 관련 주제 </h4>
-<dl><dd> <a href="ko/CSS">CSS</a>, <a href="ko/DHTML">DHTML</a>, <a href="ko/HTML">HTML</a>, <a href="ko/Web_Development">Web Development</a>, <a href="ko/XHTML">XHTML</a>, <a href="ko/XML">XML</a>
-</dd></dl>
-</td></tr></tbody></table>
-<hr>
-<p><small></small></p><div class="note"><small><strong>주의:</strong> 1</small></div><small> - <a class="external" href="http://webstandards.org/">The Web Standards Project</a></small>
-<p></p><p><span class="comment">Categories</span>
-</p><p><span class="comment">Interwiki Language Links</span>
-</p><p><br>
-</p>
diff --git a/files/ko/archive/web_standards/issues_arising_from_arbitrary-element_hover/index.html b/files/ko/archive/web_standards/issues_arising_from_arbitrary-element_hover/index.html
deleted file mode 100644
index 3d08aa525e..0000000000
--- a/files/ko/archive/web_standards/issues_arising_from_arbitrary-element_hover/index.html
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: Issues Arising From Arbitrary-Element hover
-slug: Archive/Web_Standards/Issues_Arising_From_Arbitrary-Element_hover
-tags:
- - CSS
-translation_of: Archive/Web_Standards/Issues_Arising_From_Arbitrary-Element_hover
----
-<p><span class="comment">Summary: Thanks to long-standing limitations, we're used to thinking of hover styles as applying only to hyperlinks, which has led to some sloppy authoring practices that are now causing problems for some Web sites. This technote explains the source of the problems and how to avoid encountering them.</span></p>
-<p>많은 저자들이 링크의 스타일을 위해서 CSS 슈도(pseudo)-클래스 <code>:hover</code>를 사용하고 있습니다. 처음 마이크로소프트 인터넷 익스플로러로 소개되고, 이후 CSS규약으로 받아들여진 이 혁신적인 클래스는 텍스트 링크를 스타일화 하는데, 특히, 자바스크립트로 구현되는 "롤오버(rollovers)"같은 모습과 작동을 하도록 하는 곳에 인기있게 사용되고 있습니다. 그러나 브라우저들에서 CSS지원의 이러한 향상은 몇몇 페이지에서 예기치않게 심한 호버링 현상(또는, 호버링시 반응, hovering behavior)을 야기해 왔습니다.</p>
-<h3 id="Hover_.EA.B7.B8.EB.A6.AC.EA.B3.A0_.EB.B9.84-.EB.A7.81.ED.81.AC_.EC.97.98.EB.A6.AC.EB.A8.BC.ED.8A.B8.EB.93.A4" name="Hover_.EA.B7.B8.EB.A6.AC.EA.B3.A0_.EB.B9.84-.EB.A7.81.ED.81.AC_.EC.97.98.EB.A6.AC.EB.A8.BC.ED.8A.B8.EB.93.A4">Hover 그리고 비-링크 엘리먼트들</h3>
-<p><a class="external" href="http://www.w3.org/TR/CSS2/selector.html#x36">Section 5.11.3 of CSS2</a>는 세개의 동적 슈도-클래스들(<code>:hover</code>, <code>:active</code>, 그리고 <code>:focus</code>)을 정의하고 다음과 같이 언급하고 있습니다:</p>
-<blockquote>
- CSS 는 어떤 엘리먼트들에게 위의 상태들(states)이 허용될 수 있을 지 또 어떻게 각 상태에 진입하고 빠져나갈 수 있는지 정의하지 않는다. 스크립팅으로 엘리먼트들이 사용자 이벤트들에 반응할지, 안 할지를 변경할 수 있으며, 각각의 장치와 UA들은 각기 다른 방식으로 엘리먼트들을 가리키거나 또는 작동시킬 수 있다.</blockquote>
-<p>따라서, 저자들이 보통 이들 상태들이 배타적으로 하이퍼링크에만 적용되는 것으로 생각하지만, CSS2는 그렇게 한정지어 놓고 있지 않습니다. 어떤 엘리먼트도, 이론상, 위의 3 상태중의 하나가 될 수 있으며, 따라서 이 상태들에 근거해거 스타일 지워질 수 있습니다. 과거에는 이렇지 않았습니다.</p>
-<h3 id=".EC.88.9C.28bare.29_.EC.8A.88.EB.8F.84.28Pseudo.29-.ED.81.B4.EB.9E.98.EC.8A.A4" name=".EC.88.9C.28bare.29_.EC.8A.88.EB.8F.84.28Pseudo.29-.ED.81.B4.EB.9E.98.EC.8A.A4">순(bare) 슈도(Pseudo)-클래스</h3>
-<p>두번째 문제는 선별자내의 "순" 슈도-클래스의 효과를 고려할 때 생기게 됩니다. 예를 들면:</p>
-<pre>:hover {color: red;}</pre>
-<p>이것은 다음의 CSS2 규칙과 동등합니다:</p>
-<pre>*:hover {color: red;}</pre>
-<p>..이들은 "위에 마우스 포인터가 놓이게 되는(being hovered) 어떤 엘리먼트든 표면색(foreground color)으로 붉은색을 가져야만 한다"라고 옮길 수 있습니다. 따라서 문서내의 단락, 표, 표제어 그리고 다른 어떤 엘리먼트위로 (포인터가) 떠 있게 되면 텍스트가 붉은색이 되게 할 것입니다.</p>
-<p>흔한 변형예는 순 클래스와 hover 슈도-클래스를 다음과 같이 함께 사용하는 것입니다.</p>
-<pre>.nav:hover {color: red;}</pre>
-<p><code>class</code>값 <code>nav</code>의 인스턴스만이 하이퍼링크들에 적용되는 상황에선 아무 문제가 없을 것입니다. 그러나, 이 유형의 규칙들은 보통 아래와 같은 마크업(markup)과 결부되어 나타납니다.</p>
-<pre>&lt;td class="nav"&gt;
-&lt;a href="one.html" class="nav"&gt;one&lt;/a&gt; |
-&lt;a href="two.html" class="nav"&gt;two&lt;/a&gt; |
-&lt;a href="thr.html" class="nav"&gt;three&lt;/a&gt; |
-&lt;a href="fou.html" class="nav"&gt;four&lt;/a&gt;
-&lt;/td&gt;</pre>
-<p>둘러싸고 있는 표의 셀이 <code>nave</code> <code>class</code>를 가지고 있기때문에 사용자가 마우스 포인터를 표의 셀안의 어느 곳으로든 움직이게 되면 수직-바 문자들은 붉은 색이 될것이며, 링크들도 그들 위로 (포인터가) 떠다니게 되면 붉은 색으로 바뀔 것입니다.</p>
-<h3 id="Gecko_.EC.9E.91.EB.8F.99.EB.B0.A9.EC.8B.9D" name="Gecko_.EC.9E.91.EB.8F.99.EB.B0.A9.EC.8B.9D">Gecko 작동방식</h3>
-<p>20020410 이후의 넷스케이프 Gecko 빌드(넷스케이프 6.1+)에 기반을 둔 브라우저들에선, <code>:hover</code> 스타일이 문서안의 어느 엘리먼트에든 적용될 수 있습니다. 따라서, 순 슈도-클래스들을, 또는 순 클래스와 슈도-클래스의 조합을 사용해온 저자들은 hover 스타일이 링크들 이상으로 적용되어 보여질 위험이 있습니다. 가장 믿을 만한 수정안은 다음과 같이 선별자들에 앵커 엘리먼트를 더하는 것입니다.</p>
-<pre>a:hover {color: red;}
-a.nav:hover {color: red;}</pre>
-<p>레거시(legacy) 문서들에의 문제야기를 피하기 위해서, 모질라 1.0 과 그 이후 버전(넷스케이프 7+)에 기반한 브라우저들은 문서를 "특별(quirks)"모드로 렌더링할 경우 순 슈도-클래스들이 링크에만 한정되도록 하는 코드를 포함하고 있습니다. 모질라 1.3b와 그 이후 버전에서 발견되는 엔진에 기반을 둔 브라우저들에선, 이 특별 모드를 확장해서 순 클래스 선별자와 <code>:hover</code> 슈도-클래스를 조합하는 선별자들을 커버하도록 하고 있습니다.</p>
-<h3 id=".EC.9D.B4.EB.A6.84.EC.9D.B4_.EC.A3.BC.EC.96.B4.EC.A7.84_.EC.95.B5.EC.BB.A4_.EB.AC.B8.EC.A0.9C.EB.93.A4" name=".EC.9D.B4.EB.A6.84.EC.9D.B4_.EC.A3.BC.EC.96.B4.EC.A7.84_.EC.95.B5.EC.BB.A4_.EB.AC.B8.EC.A0.9C.EB.93.A4">이름이 주어진 앵커 문제들</h3>
-<p>위에 기술한 효과들에 더해서, 저자들이 예상치 못할 수 있는 두개의 다른 상대적으로 흔한 현상들이 있습니다. 하나는 validation으로 쉽게 고칠 수 있으나, 다른 문제는 좀더 까다롭습니다.</p>
-<p>첫번째로, 이름이 주어진 앵커를 열고서는 닫지 않는 저자로부터 문제가 생깁니다. 예를 들면:</p>
-<pre>&lt;a name="pagetop"&gt;
-&lt;h2&gt;My Page&lt;/h2&gt;</pre>
-<p><code>&lt;/a&gt;</code>없이 이 이름은 문서의 나머지 부분들 모두에 영향을 끼칠 것입니다. 더 일반적으로 말하자면, 문서의 나머지 부분들이 hover 스타일을 가지게 될 것이라는 것입니다. 다음 규칙의 효과를 생각해 보세요:</p>
-<pre>a:hover {color: red;}</pre>
-<p>닫히지 않은 이름이 주어진 앵커가 있는 문서에서, 앵커의 열린 택이후에 나오는 모든 텍스트는 (다른 CSS 규칙이 끼워들지 않는 한) 붉은 색이 될것입니다.</p>
-<p>이는 두번째 흔한 문제를 불러오는 데, 그것은 이름이 주어진 앵커들이 hover스타일을 허용할 수 있다는 것입니다. 비록 저자가 선별자 <code>a:hover</code>가 하이퍼링크에만 적용되도록 의도한다 해도,선별자는 이름이 주어진 앵커에도 적용될 것입니다. 왜냐하면 선별자가 단순히 hover 상태에 있는 모든 <code>a</code> 엘리먼트들을 스타일화 할 것을 선언하고 있기 때문입니다. 이 문제를 피하기 위해서, CSS2가 기술하고 있는 조합된 슈도-클래스 문법(the combined pseudo-class syntax)을 사용해야 합니다:</p>
-<pre>a:link:hover {color: red;}
-a:visited:hover {color: maroon;}</pre>
-<p>이 구문에서 링크들에 마우스가 놓여졌을 때 방문된 그리고 아직 방문하지 않은 링크들이 다르게 스타일화 될 수 있다는 점을 볼 수가 있습니다. 이것은 단순한 <code>a:hover</code>로는 불가능 했습니다. 물론, 선별자 <code>a:link:hover</code>는 오직 아직 방문하지 않은 링크에만 적용될 것입니다. 따라서, 같은 hover스타일이 방문된 그리고 아직 방문하지 않은 링크 모두에 적용되기를 원한다면, 두 선별자를 하나의 규칙으로 그룹지어 놓아야 합니다.</p>
-<h3 id=".EA.B6.8C.EA.B3.A0_.EC.82.AC.ED.95.AD" name=".EA.B6.8C.EA.B3.A0_.EC.82.AC.ED.95.AD">권고 사항</h3>
-<p>예상치 못한 문제들을 피하기 위해서 하이퍼링크에 적용될 동적-상태(dynamic-state) 슈도-클래스(pseudo-class) 내에 엘리먼트 이름을 포함시킬 것을
- <i>
- 강력하게</i>
- 권합니다. 더나아가, 슈도-클래스들을 조합하는 것은 호버(hover) 스타일이 비-하이퍼링크 앵커에 적용되는 것을 막아줍니다. 따라서, 단지 <code>:hover</code> 대신 항상 <code>a:hover</code>이 사용되어야 하며, <code>a:link:hover</code> (그리고 <code>a:visited:hover</code>)이 보다 단순한 a:hover보다 선호됩니다.</p>
-<h3 id=".EA.B4.80.EB.A0.A8_.EB.A7.81.ED.81.AC.EB.93.A4" name=".EA.B4.80.EB.A0.A8_.EB.A7.81.ED.81.AC.EB.93.A4">관련 링크들</h3>
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/CSS2/selector.html#x36">The dynamic pseudo-classes: :hover, :active, and :focus</a></li>
-</ul>
-<div class="originaldocinfo">
- <h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
- <ul>
- <li>Author(s): Eric A. Meyer, Netscape Communications</li>
- <li>Last Updated Date: Published 07 Mar 2003; Revised 21 Mar 2003</li>
- <li>Copyright Information: Copyright © 2001-2003 Netscape. All rights reserved.</li>
- <li>Note: This reprinted article was originally part of the DevEdge site.</li>
- </ul>
-</div>
-<p> </p>
diff --git a/files/ko/archive/web_standards/mozilla_s_doctype_sniffing/index.html b/files/ko/archive/web_standards/mozilla_s_doctype_sniffing/index.html
deleted file mode 100644
index a4d28b14ad..0000000000
--- a/files/ko/archive/web_standards/mozilla_s_doctype_sniffing/index.html
+++ /dev/null
@@ -1,141 +0,0 @@
----
-title: Mozilla's DOCTYPE sniffing
-slug: Archive/Web_Standards/Mozilla_s_DOCTYPE_sniffing
-tags:
- - Web Development
-translation_of: Archive/Web_Standards/Mozilla_s_DOCTYPE_sniffing
----
-<p>이 문서는 Mozilla가 strict 모드 대 <a href="ko/Mozilla's_Quirks_Mode">호환(quirks) 모드</a>를 결정하기 위해 DOCTYPE 선언을 쓰는 법을 기술합니다. 이를 결정하는 코드는 현재 <a href="https://dxr.mozilla.org/mozilla-central/source/parser/htmlparser/src/nsParser.cpp#833" rel="custom">nsParser.cpp의 DetermineParseMode()</a>에 있습니다. 모드 결정의 역사 일부는 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1312" title='FIXED: "Standard" compatibility mode needs to be hooked to DOCTYPE'>bug 1312</a>와 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=55264" title="FIXED: [DOCTYPE] Documents with unknown DOCTYPE should be displayed in strict mode">bug 55264</a>를 참조하세요. Mozilla 1.0 쯤에 새로 생긴 거의 표준(Almost-Standards) 모드는 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=153032" title="FIXED: Implement almost-standards rendering mode">bug 153032</a>를 참조하세요. 다음이 이 행동(behavior)을 고르게 했던 목적들입니다:</p>
-<ul>
- <li>바르게 표시되도록 호환 모드일 필요가 있는 현재 웹 상의 거의 모든 <code>text/html</code> 페이지는 호환 모드를 써서 표시되어야 합니다. (전부는 아니고
- <i>
- 거의</i>
- 모두가 다음 목적 역시 고려해야 함.)</li>
- <li>현재 표준에 따라 웹 페이지를 작성하는 제작자는 strict 모드를 일으킬 수 있어야 합니다.</li>
- <li>장차 생길 DOCTYPE 선언에 공용 식별자를 써서 작성된 페이지는 strict 모드를 써서 표시되어야 합니다.</li>
-</ul>
-<p>바꿔 말하면, 이 알고리즘이 Mozilla가 웹에서 알려진 중요 사용자 에이전트가 된 뒤로 작성되었던 페이지를 결정하는 경우에 우리가 찾을 수 있는 가장 좋은 접근법입니다.</p>
-<h3 id=".EC.99.84.EC.A0.84_.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C" name=".EC.99.84.EC.A0.84_.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C">완전 표준 모드</h3>
-<p>다음이 완전 표준(full standards) 모드를 일으킵니다:</p>
-<ul>
- <li><code>text/xml</code>, <code>application/xml</code>, 또는 <code>application/xhtml+xml</code>과 같은 XML MIME type으로 보낸 문서 (sniffing이 text/html로 보낸 문서에만 발생하기 때문에).</li>
- <li>"DOCTYPE HTML PUBLIC"이 아닌 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+SYSTEM+%22http%3A%2F%2Fwww.w3.org%2FTR%2FREC-html40%2Fstrict.dtd%22%3E">"DOCTYPE HTML SYSTEM"</a>으로, 아래 언급된 IBM doctype은 뺌</li>
- <li>DTD 없는 DOCTYPE 선언, 즉, <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML%3E">&lt;!DOCTYPE HTML&gt;</a>.</li>
- <li><a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+%5B+%3C%21ELEMENT+TEST+-+-+%28P%29+%3E+%5D%3E+">internal subset</a> 있는 DOCTYPE 선언.</li>
- <li>어떤 알려지지 않은 doctype으로 다음 (기술적으로 알려진) doctype을 포함합니다:
- <ul>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.01%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.01//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+XHTML+1.0+Strict%2F%2FEN%22%3E">"-//W3C//DTD XHTML 1.0 Strict//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22ISO%2FIEC+15445:2000%2F%2FDTD+HyperText+Markup+Language%2F%2FEN%22%3E">"ISO/IEC 15445:2000//DTD HyperText Markup Language//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22ISO%2FIEC+15445:2000%2F%2FDTD+HTML%2F%2FEN%22%3E">"ISO/IEC 15445:2000//DTD HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+i18n%2F%2FEN%22%3E">"-//IETF//DTD HTML i18n//EN"</a>.</li>
- </ul>
- </li>
-</ul>
-<h3 id=".EA.B1.B0.EC.9D.98_.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C" name=".EA.B1.B0.EC.9D.98_.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C">거의 표준 모드</h3>
-<p>다음은 거의 표준 모드를 일으킵니다. <a href="ko/Gecko's_%22Almost_Standards%22_Mode">거의 표준 모드</a>는 1.0과 1.1 알파 뒤지만, 1.0.1과 1.1 베타 앞에 만들었습니다. 거의 표준 모드가 생기기 전에 이 doctype은 완전 표준 모드를 일으켰습니다.</p>
-<ul>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+XHTML+1.0+Transitional%2F%2FEN%22%3E">"-//W3C//DTD XHTML 1.0 Transitional//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+XHTML+1.0+Frameset%2F%2FEN%22%3E">"-//W3C//DTD XHTML 1.0 Frameset//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.01+Transitional%2F%2FEN%22+%22http%3A%2F%2Fwww.w3.org%2FTR%2Fhtml4%2Floose.dtd%22%3E">"-//W3C//DTD HTML 4.01 Transitional//EN"</a>으로, 시스템 식별자 있음.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.01+Frameset%2F%2FEN%22+%22http%3A%2F%2Fwww.w3.org%2FTR%2Fhtml4%2Fframeset.dtd%22%3E">"-//W3C//DTD HTML 4.01 Frameset//EN"</a>으로, 시스템 식별자 있음.</li>
-</ul>
-<h3 id=".ED.98.B8.ED.99.98_.EB.AA.A8.EB.93.9C" name=".ED.98.B8.ED.99.98_.EB.AA.A8.EB.93.9C">호환 모드</h3>
-<p>다음은 호환 모드를 일으킵니다 (이 목록은 웹 상에 이미 존재하는 페이지가 호환 모드를 일으키게 하도록 포괄할 필요가 있습니다):</p>
-<p>이 목록 준비에 다음 사이트가 유용했습니다: <a class="external" href="http://validator.w3.org/sgml-lib/catalog">W3C HTML Validator</a>, <a class="external" href="http://www.htmlhelp.com/tools/validator/lib/catalog">HTMLHelp HTML Validator</a>.</p>
-<ul>
- <li><a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=">DOCTYPE 없음</a>.</li>
- <li><a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%3Fxml+version%3D%221.0%22%3F%3E">doctype 없는 XML 선언 (pseudo-PI)</a> (바꿔 말하면, XML 선언을 무시하고 DOCTYPE 사용). 1.0과 1.1 알파 이전에는 (하지만 1.0.1이나 1.1 베타에선 아님), XML 선언이 있으면 완전 표준 모드를 일으켰습니다.</li>
- <li><a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+NOT+UNDERSTOOD%3E">이해할 수 없는</a> DOCTYPE 선언 (예, 일치하지 않는 따옴표).</li>
- <li>시스템 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+html+SYSTEM+%22http%3A%2F%2Fwww.ibm.com%2Fdata%2Fdtd%2Fv11%2Fibmxhtml1-transitional.dtd%22%3E">"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"</a> (1.5b와 1.4.2 이전에, 이는 거의 표준 모드를 일으켰습니다).</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.01+Transitional%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.01 Transitional//EN"</a>으로, 시스템 식별자 없음.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.01+Frameset%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.01 Frameset//EN"</a>으로, 시스템 식별자 없음.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0+Transitional%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.0 Transitional//EN"</a> (<a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0+Transitional%2F%2FEN%22+%22http%3A%2F%2Fwww.w3.org%2FTR%2FREC-html40%2Floose.dtd%22%3E">test with 시스템 식별자</a> 같이 보기).</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0+Frameset%2F%2FEN%22%3E">"-//W3C//DTD HTML 4.0 Frameset//EN"</a> (<a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+4.0+Frameset%2F%2FEN%22+%22http%3A%2F%2Fwww.w3.org%2FTR%2FREC-html40%2Fframeset.dtd%22%3E">test with 시스템 식별자</a> 같이 보기).</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSoftQuad+Software%2F%2FDTD+HoTMetaL+PRO+6.0::19990601::extensions+to+HTML+4.0%2F%2FEN%22%3E">"-//SoftQuad Software//DTD HoTMetaL PRO 6.0::19990601::extensions to HTML 4.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSoftQuad%2F%2FDTD+HoTMetaL+PRO+4.0::19971010::extensions+to+HTML+4.0%2F%2FEN%22%3E">"-//SoftQuad//DTD HoTMetaL PRO 4.0::19971010::extensions to HTML 4.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML%2F%2FEN%2F%2F3.0%22%3E">"-//IETF//DTD HTML//EN//3.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3O%2F%2FDTD+W3+HTML+3.0%2F%2FEN%2F%2F%22%3E">"-//W3O//DTD W3 HTML 3.0//EN//"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3O%2F%2FDTD+W3+HTML+3.0%2F%2FEN%22%3E">"-//W3O//DTD W3 HTML 3.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/$ompat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+3+1995-03-24%2F%2FEN%22%3E">"-//W3C//DTD HTML 3 1995-03-24//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+3.0%2F%2FEN%22%3E">"-//IETF//DTD HTML 3.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+3.0%2F%2FEN%2F%2F%22%3E">"-//IETF//DTD HTML 3.0//EN//"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+3%2F%2FEN%22%3E">"-//IETF//DTD HTML 3//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+3%2F%2FEN%22%3E">"-//IETF//DTD HTML Level 3//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+3%2F%2FEN%2F%2F3.0%22%3E">"-//IETF//DTD HTML Level 3//EN//3.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+3.2%2F%2FEN%22%3E">"-//IETF//DTD HTML 3.2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FAdvaSoft+Ltd%2F%2FDTD+HTML+3.0+asWedit+%2B+extensions%2F%2FEN%22%3E">"-//AS//DTD HTML 3.0 asWedit + extensions//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FAdvaSoft+Ltd%2F%2FDTD+HTML+3.0+asWedit+%2B+extensions%2F%2FEN%22%3E">"-//AdvaSoft Ltd//DTD HTML 3.0 asWedit + extensions//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict%2F%2FEN%2F%2F3.0%22%3E">"-//IETF//DTD HTML Strict//EN//3.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3O%2F%2FDTD+W3+HTML+Strict+3.0%2F%2FEN%2F%2F%22%3E">"-//W3O//DTD W3 HTML Strict 3.0//EN//"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+3%2F%2FEN%22%3E">"-//IETF//DTD HTML Strict Level 3//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+3%2F%2FEN%2F%2F3.0%22%3E">"-//IETF//DTD HTML Strict Level 3//EN//3.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22HTML%22%3E">"HTML"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML%2F%2FEN%22%3E">"-//IETF//DTD HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+2%2F%2FEN%22%3E">"-//IETF//DTD HTML Level 2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+2%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Level 2//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0+Level+2%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0 Level 2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+1%2F%2FEN%22%3E">"-//IETF//DTD HTML Level 1//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+1%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Level 1//EN//2.0$</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0+Level+1%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0 Level 1//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+0%2F%2FEN%22%3E">"-//IETF//DTD HTML Level 0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Level+0%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Level 0//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict%2F%2FEN%22%3E">"-//IETF//DTD HTML Strict//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Strict//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+2%2F%2FEN%22%3E">"-//IETF//DTD HTML Strict Level 2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+2%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Strict Level 2//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0+Strict%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0 Strict//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0+Strict+Level+2%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0 Strict Level 2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+1%2F%2FEN%22%3E">"-//IETF//DTD HTML Strict Level 1//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+1%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Strict Level 1//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.0+Strict+Level+1%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.0 Strict Level 1//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+0%2F%2FEN%22%3E">"-//IETF//DTD HTML Strict Level 0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+Strict+Level+0%2F%2FEN%2F%2F2.0%22%3E">"-//IETF//DTD HTML Strict Level 0//EN//2.0"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FWebTechs%2F%2FDTD+Mozilla+HTML%2F%2FEN%22%3E">"-//WebTechs//DTD Mozilla HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FWebTechs%2F%2FDTD+Mozilla+HTML+2.0%2F%2FEN%22%3E">"-//WebTechs//DTD Mozilla HTML 2.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FNetscape+Comm.+Corp.%2F%2FDTD+HTML%2F%2FEN%22%3E">"-//Netscape Comm. Corp.//DTD HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FNetscape+Comm.+Corp.%2F%2FDTD+HTML%2F%2FEN%22%3E">"-//Netscape Comm. Corp.//DTD HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FNetscape+Comm.+Corp.%2F%2FDTD+Strict+HTML%2F%2FEN%22%3E">"-//Netscape Comm. Corp.//DTD Strict HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+2.0+HTML%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 2.0 HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%2$DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+2.0+HTML+Strict%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 2.0 HTML Strict//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+2.0+Tables%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 2.0 Tables//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+3.0+HTML%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 3.0 HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+3.0+HTML+Strict%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 3.0 HTML Strict//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FMicrosoft%2F%2FDTD+Internet+Explorer+3.0+Tables%2F%2FEN%22%3E">"-//Microsoft//DTD Internet Explorer 3.0 Tables//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSun+Microsystems+Corp.%2F%2FDTD+HotJava+HTML%2F%2FEN%22%3E">"-//Sun Microsystems Corp.//DTD HotJava HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSun+Microsystems+Corp.%2F%2FDTD+HotJava+Strict+HTML%2F%2FEN%22%3E">"-//Sun Microsystems Corp.//DTD HotJava Strict HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FIETF%2F%2FDTD+HTML+2.1E%2F%2FEN%22%3E">"-//IETF//DTD HTML 2.1E//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FO%27Reilly+and+Associates%2F%2FDTD+HTML+Extended+1.0%2F%2FEN%22%3E">"-//O'Reilly and Associates//DTD HTML Extended 1.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FO%27Reilly+and+Associates%2F%2FDTD+HTML+Extended+Relaxed+1.0%2F%2FEN%22%3E">"-//O'Reilly and Associates//DTD HTML Extended Relaxed 1.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FO%27Reilly+and+Associates%2F%2FDTD+HTML+2.0%2F%2FEN%22%3E">"-//O'Reilly and Associates//DTD HTML 2.0//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSQ%2F%2FDTD+HTML+2.0+HoTMetaL+%2B+extensions%2F%2FEN%22%3E">"-//SQ//DTD HTML 2.0 HoTMetaL + extensions//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FSpyglass%2F%2FDTD+HTML+2.0+Extended%2F%2FEN%22%3E">"-//Spyglass//DTD HTML 2.0 Extended//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22%2B%2F%2FSilmaril%2F%2FDTD+HTML+Pro+v0r11+19970101%2F%2FEN%22%3E">"+//Silmaril//DTD HTML Pro v0r11 19970101//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+Experimental+19960712%2F%2FEN%22%3E">"-//W3C//DTD HTML Experimental 19960712//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+3.2%2F%2FEN%22%3E">"-//W3C//DTD HTML 3.2//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+3.2+Final%2F%2FEN%22%3E">"-//W3C//DTD HTML 3.2 Final//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+3.2+Draft%2F%2FEN%22%3E">"-//W3C//DTD HTML 3.2 Draft//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+HTML+Experimental+970421%2F%2FEN%22%3E">"-//W3C//DTD HTML Experimental 970421//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBL$C+%22-%2F%2FW3C%2F%2FDTD+HTML+3.2S+Draft%2F%2FEN%22%3E">"-//W3C//DTD HTML 3.2S Draft//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?doctype=%3C%21DOCTYPE+HTML+PUBLIC+%22-%2F%2FW3C%2F%2FDTD+W3+HTML%2F%2FEN%22%3E">"-//W3C//DTD W3 HTML//EN"</a>.</li>
- <li>공용 식별자 <a class="external" href="http://dbaron.org/mozilla/tests/compat?pubid=-%2F%2FMetrius%2F%2FDTD+Metrius+Presentational%2F%2FEN">"-//Metrius//DTD Metrius Presentational//EN"</a>.</li>
-</ul>
-<p>부정확한 대/소문자로 공용 식별자를 쓰는 상당수 페이지 때문에 모든 공용 식별자 비교는 대/소문자를 구별하지 않음을 주의하세요. (이는 엄밀히 말하면 틀린데, 문자열이 대/소문자를 구별하기 때문입니다.)</p>
-<h3 id=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0" name=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0">같이 보기</h3>
-<ul>
- <li><a href="ko/Web_Development">Web Development</a></li>
- <li><a href="ko/Mozilla's_Quirks_Mode">Mozilla's Quirks Mode</a></li>
- <li><a href="ko/Mozilla_Quirks_Mode_Behavior">Mozilla Quirks Mode Behavior</a></li>
-</ul>
-<div class="originaldocinfo">
- <h3 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원본 문서 정보</h3>
- <ul>
- <li>제작자: <a class="external" href="http://dbaron.org/">David Baron</a></li>
- <li>최근 업데이트 날짜: August 2, 2005</li>
- <li>저작권 정보: Copyright (C) <a class="external" href="http://dbaron.org/">David Baron</a></li>
- </ul>
-</div>
-<p> </p>
diff --git a/files/ko/archive/web_standards/rdf_in_fifty_words_or_less/index.html b/files/ko/archive/web_standards/rdf_in_fifty_words_or_less/index.html
deleted file mode 100644
index e0f739e688..0000000000
--- a/files/ko/archive/web_standards/rdf_in_fifty_words_or_less/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
----
-title: RDF in Fifty Words or Less
-slug: Archive/Web_Standards/RDF_in_Fifty_Words_or_Less
-tags:
- - RDF
-translation_of: Archive/Web_Standards/RDF_in_Fifty_Words_or_Less
----
-<p>어쩌면 이 문서는 50 단어 이상이 될 수도 있겠습니다, 하지만 핵심 사항들은 꽤 간단합니다 (핵심적인 것들만 빨리 익히고 싶어하는 관리자들을 위해 이러한 것들은 <b>굵은 글씨체</b>로 표기하였습니다). <a href="ko/RDF"><i>Resource Description Framework</i></a>, 혹은 "RDF" 라고 하는 것은 실제로는 2 가지를 말합니다.
-</p>
-<blockquote>
-<b>첫째로, RDF 는 (웹 페이지나 email 주소와 같은) 인터넷 상의 <i>자원</i>들을 설명하고 이들이 어떻게 서로 연관되어 있는지를 나타내는 그래프 기반의 모델입니다.</b>
-</blockquote>
-<p>하지만 <i>실제로는</i> 이라는 말이 어떤 의미일까요?
-Mozilla 개발자에게는 RDF 데이터 모델(그래프)이 인터넷 자원들을 통합하고 구조화하기 위한 메카니즘으로 사용될 수 있다는 것을 말합니다.
-</p><p>예제를 하나 보겠습니다: <i>북마크 (bookmark)</i>. 지금 대부분의 브라우저들은 당신이 북마크를 체계적으로 관리하도록 <i>폴더</i> 를 지정하고 있습니다. 각 북마크는 <b>URI</b> (<b>U</b>niform <b>R</b>esource <b>I</b>dentifier) 라고 하는 웹페이지를 가리키는 <i>포인터</i> 입니다.
-</p><p>하지만 웹 페이지는 단지 인터넷 자원 중의 하나일 뿐 입니다.
-이 밖에도 다른 많은 자원들 - 몇가지 예를 들자면 이메일 메시지, 유즈넷 뉴스 기사 (혹은 전체 유즈넷 뉴스 그룹), 당신이 잘 사용하는 웹 검색 엔진의 검색 결과 - 이 있습니다.
-그리고 기본적으로 이들을 "북마크"로 다루거나 이들을 그룹지어 원하는 폴더 안에 저장하지 못할 이유가 없으며,
-심지어는 당신이 특정 폴더를 열 때 마다 미리 정의된 검색을 수행하여 동적으로 컨텐츠를 생성해내는 "스마트" 폴더를 생성하는 것도 가능합니다.
-</p><p>그리고 "북마크"는 실제로 임의의 특성(arbitrary properties associated with it)을 가지고 있습니다:
-당신은 북마크를 분류하기 위한 (매킨토시의 "hot", "warm", "cool" 컬러 코딩 방식처럼) 당신만의 기준을 만들고 싶을 수도 있을 것입니다. 또는 한 북마크를 다른 북마크와 연관시키거나 한 북마크를 여러 폴더에 같이 저장시키고 싶을 수도 있습니다.
-</p><p>RDF 그래프는 위의 예제에서 언급한 "유니버설" 북마크 서비스를 구성할 수 있는 완전한 데이터 모델을 제공합니다:
-그래프는 임의의 자원을 지정할 수 있는 포인터를 포함하며, 당신이 생각할 수 있는 어떠한 방식으로도 그들을 그룹으로 묶을 수 있습니다.
-</p><p>하지만 그전에..
-</p>
-<blockquote>
-<b>
-둘째로, RDF 는 직렬화 문법(serialization syntax)입니다. 이 문법은 "에이전트" 간에 통신할 수 있는 그래프 방식의 모델을 제공합니다.</b>
-</blockquote>
-<p>이게 무슨 소리일까요? 기본적으로 RDF 데이터 모델의 일부분은 네트워크 간에
-통신할 수 있으며 그래프의 내용은 원격지의 서비스에서 도착한 정보로 동적으로 변경될 수 있다는 것을 의미합니다.
-</p><p>위의 예제를 다시 보기로 합시다. 당신의 북마크 "폴더" 중의 하나는 실제로 당신의 메일함의 받은 편지함을 가리키는 포인터라고 합시다: 당신이 그 폴더를 열었다면, 자! 밤 사이 받았던 모든 메시지들을 볼 수 있습니다.
-</p><p>하지만 어떻게 이런 일이 가능할까요?
-그 "폴더"는 사실 그래프를 확장한 RDF 를 저장하고 있는 인터넷 자원을 가리키는 포인터 였습니다.
-"인터넷 자원"은 CGI 스크립트를 가리키는 URI 였습니다.
-(즉, &lt;tt&gt;<a class=" external" href="http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&amp;folder=inbox" rel="freelink">http://www.mozilla.org/smart-mail/ge...n&amp;folder=inbox</a>&lt;/tt&gt;).
-이 CGI 스크립트가 실제 <i>직렬화된(serialized) RDF</i> 를 생성합니다. 이것은 기본적으로 <a href="ko/XML">XML</a> 을 이용한 그래프의 표현 방식입니다:
-</p>
-<pre class="eval">&lt;rdf:RDF
- xmlns:rdf="<a class=" external" href="http://www.w3.org/TR/WD-rdf-syntax#" rel="freelink">http://www.w3.org/TR/WD-rdf-syntax#</a>"
- xmlns:sm="<a class=" external" href="http://www.mozilla.org/smart-mail/schema#" rel="freelink">http://www.mozilla.org/smart-mail/schema#</a>"&gt;
- &lt;rdf:Description
- about="<a class=" external" href="http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&amp;folder=inbox" rel="freelink">http://www.mozilla.org/smart-mail/ge...n&amp;folder=inbox</a>"&gt;
- &lt;sm:message id="4025293"&gt;
- &lt;sm:recipient&gt;
- Chris Waterson "<a class=" link-mailto" href="mailto:waterson@netscape.com" rel="freelink">waterson@netscape.com</a>"
- &lt;/sm:recipient&gt;
- &lt;sm:sender&gt;
- Aunt Helga "<a class=" link-mailto" href="mailto:helga@netcenter.net" rel="freelink">helga@netcenter.net</a>"
- &lt;/sm:sender&gt;
- &lt;sm:received-by&gt;x-wing.mcom.com&lt;/sm:received-by&gt;
- &lt;sm:subject&gt;Great recipe for Yam Soup!&lt;/sm:subject&gt;
- &lt;sm:body&gt;
- <a class=" external" href="http://www.mozilla.org/smart-mail/get-body.cgi?id=4025293" rel="freelink">http://www.mozilla.org/smart-mail/ge...cgi?id=4025293</a>
- &lt;/sm:body&gt;
- &lt;/sm:message&gt;
- &lt;sm:message id="4025294"&gt;
- &lt;sm:recipient&gt;
- Chris Waterson "<a class=" link-mailto" href="mailto:waterson@netscape.com" rel="freelink">waterson@netscape.com</a>"
- &lt;/sm:recipient&gt;
- &lt;sm:sender&gt;
- Sarah Waterson "<a class=" link-mailto" href="mailto:waterson.2@postbox.acs.ohio-state.edu" rel="freelink">waterson.2@postbox.acs.ohio-state.edu</a>"
- &lt;/sm:sender&gt;
- &lt;sm:received-by&gt;x-wing.mcom.com&lt;/sm:received-by&gt;
- &lt;sm:subject&gt;We won our ultimate game&lt;/sm:subject&gt;
- &lt;sm:body&gt;
- <a class=" external" href="http://www.mozilla.org/smart-mail/get-body.cgi?id=4025294" rel="freelink">http://www.mozilla.org/smart-mail/ge...cgi?id=4025294</a>
- &lt;/sm:body&gt;
- &lt;/sm:message&gt;
- &lt;/rdf:Description&gt;
-&lt;/rdf:RDF&gt;
-</pre>
-<p>위와 같은 복잡한 데이터(monstrosity)를 받으면, RDF 엔진은 RDF 데이터를 그래프 상의 적절한 위치에 배치(fold)하며
-실제로 북마크 UI 를 구현하는 트리 컨트롤에 통지하여 (Aunt Helga 에게서 받은 Yam Soup 에 대한) 최근의 메시지에 대해 특정 아이콘을 표시하도록 합니다.
-</p><p>이것은 <a class="external" href="http://www.mozilla.org/mailnews/">SmartMail</a>이 동작하는 원리와 <i>정확히</i> 동일합니다.
-</p><p>연락처:
-<a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a> <a class=" link-mailto" href="mailto:(waterson@netscape.com)" rel="freelink">(waterson@netscape.com)</a>
-</p>
-<div class="originaldocinfo">
-<h2 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원본 문서 정보</h2>
-<ul><li> 저자: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a>
-</li><li> 최근 변경일: 1998-11-19
-</li><li> 저작권 정보: Copyright (C) <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a>
-</li></ul>
-</div>
-<p><span class="comment">Interwiki Language Links</span>
-</p>
diff --git a/files/ko/archive/web_standards/rdf_in_mozilla_faq/index.html b/files/ko/archive/web_standards/rdf_in_mozilla_faq/index.html
deleted file mode 100644
index f59bcb7e2d..0000000000
--- a/files/ko/archive/web_standards/rdf_in_mozilla_faq/index.html
+++ /dev/null
@@ -1,292 +0,0 @@
----
-title: RDF in Mozilla FAQ
-slug: Archive/Web_Standards/RDF_in_Mozilla_FAQ
-tags:
- - RDF
-translation_of: Archive/Web_Standards/RDF_in_Mozilla_FAQ
----
-<h2 id=".EC.9D.BC.EB.B0.98" name=".EC.9D.BC.EB.B0.98">일반</h2>
-<h3 id=".EC.96.B4.EB.94.94.EC.97.90.EC.84.9C.EB.B6.80.ED.84.B0_.EC.8B.9C.EC.9E.91.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F" name=".EC.96.B4.EB.94.94.EC.97.90.EC.84.9C.EB.B6.80.ED.84.B0_.EC.8B.9C.EC.9E.91.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F">어디에서부터 시작해야 하나요?</h3>
-<p><a href="ko/RDF">RDF</a> 는 Mozilla 에서 크게 두가지 기능을 제공합니다. 첫번째가, 단순히 작은 데이터 저장 공간을 위한 크로스 플랫폼의 데이터베이스 (cross-platform database for small data stores) 역할이며 두번째가 더 중요한데 RDF 모델이 <a href="ko/XUL/Template_Guide">XUL 템플릿</a>과 함께 사용되어 정보 표현을 위한 추상적인 "API" 를 제공하는 것입니다. <a href="ko/RDF_in_Fifty_Words_or_Less">RDF in Fifty Words or Less</a> 문서는 Mozilla 에서 RDF 가 어떤 작업을 수행하는지를 손쉽게, 고 수준에서 살펴볼 수 있게 해 줍니다. <a href="ko/RDF_Back-end_Architecture_(external)">RDF 백엔드 구조</a> 문서는 Mozilla 의 RDF 구현이 동작하는 방식을 더욱 자세히 설명하며, 거기에 포함된 인터페이스들에 대한 간략한 개요를 살펴볼 수 있습니다.</p>
-<h3 id="Open_Directory_.28.22dmoz.22.29_.EC.83.81.EC.9D.98_.EC.96.B4.EB.94.94.EC.97.90.EC.84.9C_.EC.A0.95.EB.B3.B4.EB.A5.BC_.EC.B0.BE.EC.95.84.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F" name="Open_Directory_.28.22dmoz.22.29_.EC.83.81.EC.9D.98_.EC.96.B4.EB.94.94.EC.97.90.EC.84.9C_.EC.A0.95.EB.B3.B4.EB.A5.BC_.EC.B0.BE.EC.95.84.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F">Open Directory ("dmoz") 상의 어디에서 정보를 찾아야 하나요?</h3>
-<p>불행히도, <em>여기는 아닙니다</em>! 음, 여기는 그저.. Open Directory 에 대한 정보는 <a class="external" href="http://www.dmoz.org/" rel="freelink">http://www.dmoz.org/</a> 를 방문해 보기 바랍니다. Open Directory 의 데이터 셋은 (거대한) RDF/XML 덤프로 이용 가능합니다. 이것은 수천개의 웹 사이트를 <a class="external" href="http://www.dublincore.org/">더블린 코어</a>(Dublin Core)의 메타데이터 어휘와 DMoz 분류법을 혼합하여 분류해 놓은 것 입니다. 더 자세한 정보는 <a class="external" href="http://dmoz.org/rdf.html">DMoz 의 RDF 페이지</a>를 살펴보시고, 거기에 사용된 데이터 형식에 관련된 업데이트 사항은 <a class="external" href="http://groups.yahoo.com/group/odp-rdf-announce/">odp-rdf-announce</a> 페이지를 살펴보기 바랍니다. <a class="external" href="http://chefmoz.org/">ChefMoz</a> 사이트(공동(collaborative) 음식점 가이드) 도 역시 <a class="external" href="http://chefmoz.org/rdf.html">RDF 페이지</a>를 제공합니다.</p>
-<p>만약 DMoz 나 ChefMoz 데이터와 관련된 문제점이 발생한다면 해당 프로젝트에 직접 연락하는 것이 좋습니다. 하지만 당신이 그 컨텐츠를 사용하여 어떤 작업을 하고 있다면 (즉, 원격 사이트에서 XUL UI 로 해당 컨텐츠를 로드하는 것처럼) <a class="link-mailto" href="mailto:mozilla-rdf@mozilla.org">mozilla-rdf</a> 와 <a class="link-mailto" href="mailto:www-rdf-interest@w3.org">RDF Interest Group</a> 메일링 리스트에 알리는 것을 잊지 마십시오. 이들은 DMoz 데이터를 삭제하고 재처리하고 저장하는 툴에 대해서도 관심을 가지고 있을 것 입니다. ODP RDF 덤프를 사용하는 사이트에 대한 정보는<a class="external" href="http://dmoz.org/Computers/Internet/Searching/Directories/Open_Directory_Project/Use_of_ODP_Data/">ODP 데이터를 사용하는 사이트들</a> 페이지를 보십시오.</p>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.28datasource.29.EA.B0.80_.EB.AD.90.EC.A3.A0.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.28datasource.29.EA.B0.80_.EB.AD.90.EC.A3.A0.3F">데이터 소스(datasource)가 뭐죠?</h3>
-<p>RDF 는 일반적으로 2가지 관점으로 볼 수 있습니다: 하나는 노드와 호(arc)로 이루어진 그래프로 보는 관점이며 다른 하나는 논리적인 구문들(logical statements)로 이루어진 "수프"(soup) 로 보는 관점이다. 데이터 소스는 특정한 기준으로 그룹지어진 하위 그래프(subgraph) (혹은 다른 관점에서 본다면 구문들의 집합) 입니다. 예를 들면, "브라우저 북마크", "브라우저 전역 방문 기록 (global history)", "IMAP 메일 계정", "NNTP 뉴스 서버", "RDF/XML 파일" 등이 있습니다.</p>
-<p>Mozilla 에서는 데이터 소스들은 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFCompositeDataSource.idl">복합 (composite) 데이터 소스</a> 기능을 사용하여 <em>통합</em>(compose) 될 수 있습니다. 이것은 그래프를 오버레이(overlay) 시키는 것이나 구문의 집합들을 병합(merge)하는 것("microtheories")과 비슷합니다. 동일한 RDF <em>자원</em>에 대한 구문은 혼용(intermingle)될 수 있습니다: 예를 들어 특정 웹사이트의 "최근 방문 시간"은 "브라우저 전역 방문 기록" 데이터 소스에서 얻을 수 있고, 해당 웹사이트로 가기 위한 "단축 키워드(shortcut keyword)"는 "브라우저 북마크" 데이터 소스에서 얻을 수 있습니다. 두 데이터 소스는 URL 을 통해 "웹사이트" 를 가리킵니다: 이것이 데이터 소스들이 효율적으로 "병합"될 수 있는 "핵심"(key)이 됩니다.</p>
-<p>데이터 소스를 <em>작성</em>하는 방법에 대한 자세한 사항은 <a href="ko/RDF_Datasource_How-To">RDF 데이터 소스 How-To</a> 문서를 참조하기 바랍니다.</p>
-<h3 id="Mozilla_.EB.8A.94_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EA.B4.80.EB.A6.AC.ED.95.98.EB.82.98.EC.9A.94.3F" name="Mozilla_.EB.8A.94_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EA.B4.80.EB.A6.AC.ED.95.98.EB.82.98.EC.9A.94.3F">Mozilla 는 어떻게 데이터 소스를 관리하나요?</h3>
-<p><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl">RDF 서비스</a>는 로드된 모든 데이터 소스의 테이블을 관리합니다. 이 테이블은 데이터 소스의 "URI" -RDF/XML 파일의 URL 이거나 내장된 데이터 소스를 가리키는 <code>rdf:</code> 로 시작하는 "특별한" URI - 를 키로 사용합니다.</p>
-<p>데이터 소스는 RDF 서비스의 <code>GetDataSource()</code> 메소드를 통해 로드됩니다. URI 인수(argument)가 XML/RDF 파일의 URL 을 가리키는 경우에는 RDF 서비스는 <em>RDF/XML 데이터 소스</em> 를 생성하고 비동기적으로 이를 구문 분석(parse)합니다. 이 데이터 소스는 자신을 가리키는 마지막 참조가 해제(release)될 때까지 메모리 상에 "캐시"(cache) 됩니다.</p>
-<p>만약 URI 인수가 내장 데이터 소스를 가리키는 경우에는, RDF 서비스는 XPCOM <em>컴포넌트 관리자</em> 를 사용하여 "특별한" URI 와 잘 알려진(well-known) 접두어 @mozilla.org/rdf/datasource;1?name=&lt;/code&gt; 를 이용해 <em>ContractID</em> 를 생성한 컴포넌트를 로드합니다.</p>
-<p>예를 들어,</p>
-<pre class="eval">rdf:foo
-</pre>
-<p>인 경우에는 아래와 같은 컴포넌트가 로드됩니다:</p>
-<pre class="eval">@mozilla.org/rdf/datasource;1?name=foo
-</pre>
-<p>RDF/XML 데이터 소스와 마찬가지로 이러한 방식으로 생성된 데이터 소스도 RDF 서비스에 의해 마지막 참조가 해제될 때까지 메모리 상에 "캐시" 됩니다.</p>
-<h3 id="RDF.2FXML_.ED.8C.8C.EC.9D.BC.EC.97.90.EC.84.9C_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.83.9D.EC.84.B1.ED.95.98.EB.82.98.EC.9A.94.3F" name="RDF.2FXML_.ED.8C.8C.EC.9D.BC.EC.97.90.EC.84.9C_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.83.9D.EC.84.B1.ED.95.98.EB.82.98.EC.9A.94.3F">RDF/XML 파일에서 어떻게 데이터 소스를 생성하나요?</h3>
-<p><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl">RDF 서비스</a>의 <code>GetDataSource()</code> 메소드를 사용하여 RDF/XML 데이터 소스를 생성할 수 있습니다:</p>
-<pre class="eval"><span class="highlightblue">// RDF 서비스를 얻습니다.</span>
-var RDF =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-<span class="highlightblue">// ...그리고 여기에서 데이터 소스를 얻습니다. 당신의 웹 브라우저가
-// 이 데이터 소스를 <b>text/xml</b> (추천) 혹은 <b>text/rdf</b>로 다루는지 확인하십시오!</span>
-var ds = RDF.GetDataSource("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// <b>ds</b> 는 비동기적으로 로드되므로, 여기에 바로 assert 를 실행한다면
-// 올바르게 동작하지 않을 것 입니다.</span>
-</pre>
-<p>또다른 방법으로는, 아래와 같이 XPCOM 컴포넌트 관리자를 사용하여 직접 생성하는 방법이 있습니다:</p>
-<pre class="eval"><span class="highlightblue">// XPCOM 컴포넌트 관리자를 사용하여 RDF/XML 데이터 소스 생성하기</span>
-var ds =
- Components
- .classes["@mozilla.org/rdf/datasource;1?name=xml-datasource"]
- .createInstance(Components.interfaces.nsIRDFDataSource);
-<span class="highlightblue">// <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFRemoteDataSource.idl">nsIRDFRemoteDataSource</a> 인터페이스는 데이터 소스를 설정하기 위한 인터페이스들을 가지고 있습니다.</span>
-var remote =
- ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
-<span class="highlightblue">// 당신의 웹 서버가 이것을 <b>text/xml</b> (추천) 혹은 <b>text/rdf</b>로 전송하는지 확인하십시오!</span>
-remote.Init("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// 로드합니다! 이것은 비동기적으로 실행된다는 것을 명심하십시오.
-// <b>aBlocking</b> 인수를 true 로 설정하면, 동기적으로 실행되게 설정할 수 있습니다.
-// 하지만 이렇게 되면 UI 가 멈춰버리기 때문에 일반적으로는 좋지 않은 아이디어입니다!</span>
-remote.Refresh(false);
-<span class="highlightblue">// <b>ds</b> 는 비동기적으로 로드되므로, 여기에 바로 assert 를 실행한다면
-// 올바르게 동작하지 않을 것 입니다.</span>
-</pre>
-<p>만약 당신이 RDF/XML 파일을 강제로 동기적으로 로드하고 싶다면 "직접"(manually) 생성할 필요가 있습니다.</p>
-<h3 id="RDF.2FXML_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EA.B0.B1.EC.8B.A0.28reload.29.ED.95.98.EB.82.98.EC.9A.94.3F" name="RDF.2FXML_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EA.B0.B1.EC.8B.A0.28reload.29.ED.95.98.EB.82.98.EC.9A.94.3F">RDF/XML 데이터 소스를 어떻게 갱신(reload)하나요?</h3>
-<p>RDF/XML 데이터 소스 (혹은 <a class="external" href="http://lxr.mozilla.org/mozilla/source/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> 를 지원하는 어떠한 데이터 소스일지라도) 는 <code>nsIRDFRemoteDataSource</code> 의 <code>Refresh()</code> 메소드를 사용하여 강제로 갱신할 수 있습니다. <code>Refresh()</code> 메소드는 수행이 동기적("blocking)으로 이루어질지 비동기적("non-blocking")으로 이루어 질지를 나타내는 하나의 인수를 가집니다. 당신은 <em>정말로</em> 그렇게 해야만 할 필요가 없다면 <em>절대</em> 동기적인 수행을 선택하지 않아야 합니다: 동기적으로 수행하도록 한다면 로드가 끝날때까지 모든 UI 가 동작하지 않을 것입니다!</p>
-<h3 id="RDF.2FXML_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EA.B0.80_.EB.A1.9C.EB.93.9C.EB.90.98.EC.97.88.EB.8A.94.EC.A7.80_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.95.8C_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F" name="RDF.2FXML_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EA.B0.80_.EB.A1.9C.EB.93.9C.EB.90.98.EC.97.88.EB.8A.94.EC.A7.80_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.95.8C_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F">RDF/XML 데이터 소스가 로드되었는지 어떻게 알 수 있나요?</h3>
-<p><a class="external" href="http://lxr.mozilla.org/mozilla/source/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> 인터페이스를 사용하면, <code>loaded</code> 속성의 값으로 데이터 소스가 로드되었는지 즉시 알아볼 수 있습니다:</p>
-<pre class="eval"><span class="highlightblue">// RDF 서비스를 얻습니다</span>
-var RDF =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-<span class="highlightblue">// 데이터 소스를 얻습니다..</span>
-var ds = RDF.GetDataSource("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// 이제 로드되었는지 살펴봅니다..</span>
-var remote =
- ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
-
-if (remote.loaded) {
- alert("the datasource was already loaded!");
-}
-else {
- alert("the datasource wasn't loaded, but it's loading now!");
-}
-</pre>
-<p>만약 아직 데이터 소스가 로드되지 <em>않았다고</em> 가정합시다. (비동기적으로 로드됩니다). 위의 API 와 자바스크립트의 <code>setTimeout()</code> 함수를 사용하면, 주기적으로 <code>loaded</code> 속성을 체크하는 <em>폴링 루프</em> 를 만들 수 있을 것입니다. 하지만 여기는 문제가 있으며, 더 큰 문제는 로드가 <em>실패</em> 하는 경우를 인식하지 못한다는 것입니다! 예를 들어, 해당 URL 에 아무 데이터도 없는 경우에는 문제가 생길 것 입니다.</p>
-<p>이를 위해 데이터 소스의 상태를 감시하기 위한 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFXMLSink.idl">감시자(observer) 인터페이스</a> 라는 것이 있습니다. 아래의 코드는 감시자 인터페이스의 사용법을 보여줍니다:</p>
-<pre class="eval"><span class="highlightblue">// RDF/XML 데이터 소스의 로드 과정을 감시할 객체입니다.</span>
-var Observer = {
- onBeginLoad: function(aSink)
- {},
-
- onInterrupt: function(aSink)
- {},
-
- onResume: function(aSink)
- {},
-
- onEndLoad: function(aSink)
- { alert("done!"); },
-
- onError: function(aSink, aStatus, aErrorMsg)
- { alert("error! " + aErrorMsg); }
-};
-<span class="highlightblue">// RDF 서비스를 얻습니다.</span>
-var RDF =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-<span class="highlightblue">// 데이터 소스를 얻습니다.</span>
-var ds = RDF.GetDataSource("<a class="external" href="http://www.mozilla.org/some-rdf-file.rdf" rel="freelink">http://www.mozilla.org/some-rdf-file.rdf</a>");
-<span class="highlightblue">// 이제 로드되었는지 살펴봅니다..</span>
-var remote =
- ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
-
-if (remote.loaded) {
- alert("the datasource was already loaded!");
-}
-else {
- alert("the datasource wasn't loaded, but it's loading now!");
- <span class="highlightblue">// RDF/XML 데이터 소스는 모두 <b>nsIRDFXMLSink</b> 입니다 (Is-a).</span>
- var sink =
- ds.QueryInterface(Components.interfaces.nsIRDFXMLSink);
- <span class="highlightblue">// 데이터 소스(= 싱크)에 감시자 인터페이스를 지정합니다.</span>
- sink.addXMLSinkObserver(Observer);
- <span class="highlightblue">// 이제 데이터 소스의 로드 상태에 따라
- // <b>감시자</b>의 메소드들이 호출(call-back)됩니다.</span>
-}
-</pre>
-<p>감시자 객체는 <code>removeXMLSinkObserver</code> 메소드가 호출되기 전까지는 계속 RDF/XML 데이터 소스와 연결(attach)되어 있을 것입니다.</p>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EB.82.B4.EC.9D.98_.EC.A0.95.EB.B3.B4.EB.8A.94_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.A0.91.EA.B7.BC.ED.95.A0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EB.82.B4.EC.9D.98_.EC.A0.95.EB.B3.B4.EB.8A.94_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.A0.91.EA.B7.BC.ED.95.A0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F">데이터 소스 내의 정보는 어떻게 접근할 수 있나요?</h3>
-<p><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl"><code>nsIRDFDataSource</code></a> 인터페이스는 데이터 소스 내의 정보에 접근하거나 검사할 수 있는 방법을 제공합니다.</p>
-<ul>
- <li><code>boolean HasAssertion(aSource, aProperty, aTarget, aTruthValue)</code>.<br>
- 이 메소드는 데이터 소스 내에 명시된 튜플이 존재하는지 검사합니다.</li>
- <li><code>nsIRDFNode GetTarget(aSource, aProperty, aTruthValue)</code>.</li>
- <li><code>nsISimpleEnumerator GetTargets(aSource, aProperty, aTruthValue)</code>.</li>
- <li><code>nsIRDFResource GetSource(aProperty, aTarget, aTruthValue)</code>.</li>
- <li><code>nsISimpleEnumerator GetSoruces(aProperty, aTarget, aTruthValue)</code>.</li>
- <li><code>nsISimpleEnumerator ArcLabelsIn(aTarget)</code>.</li>
- <li><code>nsISimpleEnumerator ArcLabelsOut(aSource)</code>.</li>
-</ul>
-<p>RDF <em>컨테이너</em> 내에 포함된 정보에 접근하기 위해서는 <a href="#How_do_I_manipulate_RDF_.22containers.22.3F">RDF 컨테이너</a> 인터페이스를 사용할 수 있습니다.</p>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EB.82.B4.EC.9D.98_.EC.A0.95.EB.B3.B4.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.B3.80.EA.B2.BD.ED.95.98.EB.82.98.EC.9A.94.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4_.EB.82.B4.EC.9D.98_.EC.A0.95.EB.B3.B4.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.B3.80.EA.B2.BD.ED.95.98.EB.82.98.EC.9A.94.3F">데이터 소스 내의 정보를 어떻게 변경하나요?</h3>
-<h3 id=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EC.9D.98_.EB.B3.80.EA.B2.BD_.EC.82.AC.ED.95.AD.EC.9D.84_RDF.2FXML_.EC.9E.90.EC.9B.90.EC.97.90_.EB.8B.A4.EC.8B.9C_.EC.A0.80.EC.9E.A5.ED.95.98.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.98.EC.A3.A0.3F" name=".EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EC.9D.98_.EB.B3.80.EA.B2.BD_.EC.82.AC.ED.95.AD.EC.9D.84_RDF.2FXML_.EC.9E.90.EC.9B.90.EC.97.90_.EB.8B.A4.EC.8B.9C_.EC.A0.80.EC.9E.A5.ED.95.98.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.98.EC.A3.A0.3F">데이터 소스의 변경 사항을 RDF/XML 자원에 다시 저장하려면 어떻게 하죠?</h3>
-<p>RDF/XML 데이터 소스는 <code>QueryInterface()</code> 메소드를 통해 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFRemoteDataSource.idl"><code>nsIRDFRemoteDataSource</code></a> 인터페이스를 얻을 수 있습니다. 이 인터페이스는 <code>Flush()</code> 메소드를 가지고 있는데, 이 메소드는 데이터 소스가 로드될 때 사용된 URL 이 가리키는 데이터 소스에 변경 사항을 다시 기록하려고 시도할 것입니다. 이것은 사용된 프로토콜에 따라 각기 다른 메커니즘을 사용합니다. (즉, <code>file:</code> 로 시작하는 URL 이라면 그저 파일에 기록하고, <code>http:</code> 로 시작하는 URL 이라면 HTTP-POST 요청을 보낼 것입니다.) <code>Flush()</code> 메소드는 오직 데이터 소스의 내용이 변경된 경우에만 기록합니다.</p>
-<h3 id=".EC.97.AC.EB.9F.AC_.EA.B0.9C.EC.9D.98_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.ED.95.98.EB.82.98.EB.A1.9C_.ED.95.A9.EC.B3.90.EC.84.9C_.EB.B3.B4.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F" name=".EC.97.AC.EB.9F.AC_.EA.B0.9C.EC.9D.98_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.ED.95.98.EB.82.98.EB.A1.9C_.ED.95.A9.EC.B3.90.EC.84.9C_.EB.B3.B4.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F">여러 개의 데이터 소스를 하나로 합쳐서 보려면 어떻게 해야 하나요?</h3>
-<h3 id=".EB.82.B4.EC.9E.A5.28built-in.29_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EC.97.90_.EC.A0.91.EA.B7.BC.ED.95.98.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.98.EB.82.98.EC.9A.94.3F" name=".EB.82.B4.EC.9E.A5.28built-in.29_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EC.97.90_.EC.A0.91.EA.B7.BC.ED.95.98.EB.A0.A4.EB.A9.B4_.EC.96.B4.EB.96.BB.EA.B2.8C_.ED.95.98.EB.82.98.EC.9A.94.3F">내장(built-in) 데이터 소스에 접근하려면 어떻게 하나요?</h3>
-<p><em>내장 데이터 소스</em> 은 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl">nsIRDFDataSource</a> 인터페이스를 구현한 로컬에 인스톨 된 컴포넌트를 말합니다. 예를 들면 <a class="external" href="http://lxr.mozilla.org/mozilla/source/xpfe/components/bookmarks/src/nsBookmarksService.cpp">북마크 서비스</a>와 같은 것이 있습니다. 먼저, <a href="#What_is_the_security_model_for_RDF.2FXML_in_XUL.3F">여기</a>를 보고 당신이 내장 데이터 소스에 접근하도록 <em>허용</em> 되었는지를 체크해 보십시오. "인증되지 않은"(untrusted) XUL 와 JS 로 부터 내장 데이터 소스에 접근에 접근하는 것을 차단하는 여러가지 보안 사항이 있습니다.</p>
-<p>내장 데이터 소스는 단지 XPCOM 컴포넌트 이기 때문에, 당신은 XPConnect 컴포넌트 관리자를 사용하여 직접 객체를 생성(instantiate)할 수 있습니다.</p>
-<pre class="eval">// 북마크 서비스를 얻기 위해 컴포넌트 관리자를 사용합니다.
-<span class="highlightgreen">var bookmarks =
- Components.
- classes["@mozilla.org/rdf/datasource;1?name=bookmarks"].
- getService(Components.interfaces.nsIRDFDataSource);</span>
-
-// 이제 관련된 작업을 수행합니다..
-if (bookmarks.HasAssertion(
- RDF.GetResource("<a class="external" href="http://home.netscape.com/NC-rdf#BookmarksRoot" rel="freelink">http://home.netscape.com/NC-rdf#BookmarksRoot</a>"),
- RDF.GetResource("<a class="external" href="http://home.netscape.com/NC-rdf#child" rel="freelink">http://home.netscape.com/NC-rdf#child</a>"),
- RDF.GetResource("<a class="external" href="http://home.netscape.com/NC-rdf#PersonalToolbarFolder" rel="freelink">http://home.netscape.com/NC-rdf#PersonalToolbarFolder</a>"),
- true) {
- // ...
-}
-</pre>
-<p>또다른 방법으로는, 특정 데이터 소스는 "특별한" RDF 와 관련된 ContractID 를 가지므로 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl"><code>nsIRDFSerivce</code></a> 의 <code>GetDataSource()</code> 메소드를 이용하거나 XUL 템플릿의 <code>datasources</code> 속성을 이용하여 손쉽게 데이터 소스 객체를 생성할 수 있습니다. 이러한 ContractID 는 다음과 같은 형식으로 표현됩니다:</p>
-<pre class="eval">@mozilla.org/rdf/datasource;1?name=<i>name</i>
-</pre>
-<p>ContractID 는 <code>GetDataSource()</code> 메소드나 <code>rdf:<i>name</i></code> 형식의 약어를 사용하여 <code>datasources</code> 속성에 접근할 수 있습니다. 예를 들어, 다음의 XUL 코드는 XUL 템플릿에 북마크 서비스를 데이터 소스로 추가하는 방법을 보여 줍니다.</p>
-<pre class="eval">&lt;tree datasources="rdf:bookmarks"&gt;
- ...
-&lt;/tree&gt;
-</pre>
-<h3 id="RDF_.22.EC.BB.A8.ED.85.8C.EC.9D.B4.EB.84.88.22.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.82.AC.EC.9A.A9.ED.95.98.EB.82.98.EC.9A.94.3F" name="RDF_.22.EC.BB.A8.ED.85.8C.EC.9D.B4.EB.84.88.22.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.82.AC.EC.9A.A9.ED.95.98.EB.82.98.EC.9A.94.3F">RDF "컨테이너"를 어떻게 사용하나요?</h3>
-<p>RDF "컨테이너"(예를 들어, <code>&lt;rdf:Seq&gt;</code>)를 사용하기 위해서는 아래의 ContractID 를 이용하여 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFContainerUtils.idl"><code>nsIRDFContainerUtils</code></a> 객체를 서비스로 생성해야 합니다:</p>
-<pre class="eval">@mozilla.org/rdf/container-utils;1
-</pre>
-<p>이 서비스를 이용하면, <code>IsSeq()</code>, <code>IsBag()</code>, <code>IsAlt()</code> 등의 메소드를 사용하여 특정 객체가 RDF 컨테이너인지 검사할 수 있습니다. 특정 자원이 RDF 컨테이너가 아니라면 <code>MakeSeq()</code>, <code>MakeBag()</code>, <code>MakeAlt()</code> 등의 메소드를 사용하여 해당 자원을 RDF 컨테이너로 만들 수 있습니다. 이 메소드들은 이미 작성된 컨테이너용 연산들을 가지고 있는 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFContainer.idl"><code>nsIRDFContainer</code></a> 객체를 반환합니다.</p>
-<p>또다른 방법으로는, 당신이 사용하는 데이터 소스가 이미 RDF 컨테이너 객체를 가지고 있는 경우, 다음의 ContractID 를 통해 <code>nsIRDFContainer</code> 객체를 생성할 수 있습니다:</p>
-<pre class="eval">@mozilla.org/rdf/container;1
-</pre>
-<p>그리고 데이터 소스를 인수로 <code>Init()</code> 메소드를 호출해야 합니다. 이 메소드는 해당 자원이 컨테이너 객체가 아닌 경우에는 실패할 수 있다는 것을 주의하십시오.</p>
-<h2 id="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF" name="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF">XUL 템플릿</h2>
-<p>XUL 문서의 원소(element) 상에 <code>datsources</code> 속성을 지정함으로써 XUL 템플릿을 생성할 수 있습니다.</p>
-<p>XUL 템플릿은 두가지 형식("form")으로 작성할 수 있습니다. 첫번째는 단순 형식("simple form")으로 현재 Mozilla 코드베이스 상에서 가장 일반적으로 쓰이는 형식입니다. 또 하나는 확장 형식("extended form")으로 RDF 그래프에 대해 복잡한 패턴 매칭을 수행할 수 있습니다. <a href="ko/XUL/Template_Guide">XUL:템플릿 가이드</a> 문서를 참조하십시오. (이 문서는 <em>궁극적으로</em> 확장 형식의 템플릿을 설명하려는 목적으로 작성되었기 때문에 매우 복잡하게 구성되어 있습니다. -- 따라서 많은 정보를 표현하기 위해 복잡하게 보일지라도 개념적으로는 더 이해하기 쉬운 방법으로 구성하였습니다 -- 그리고 단순 형식은 확장 형식을 단축해서 사용하는 형태로 설명합니다.)</p>
-<h3 id="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.9D.84_.EC.82.AC.EC.9A.A9.ED.95.B4.EC.84.9C_.EB.AC.B4.EC.97.87.EC.9D.84_.EB.B9.8C.EB.93.9C.ED.95.A0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F" name="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.9D.84_.EC.82.AC.EC.9A.A9.ED.95.B4.EC.84.9C_.EB.AC.B4.EC.97.87.EC.9D.84_.EB.B9.8C.EB.93.9C.ED.95.A0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F">XUL 템플릿을 사용해서 무엇을 빌드할 수 있나요?</h3>
-<p>당신은 XUL 템플릿을 사용해서 <em>어떠한</em> 종류의 컨텐츠도 빌드할 수 있습니다. 이를 위해 <code>&lt;rule&gt;</code> 내의 <code>&lt;action&gt;</code> 에 속한 태그(HTML 태그나 임의의 XML 태그도 가능)들을 사용할 수 있습니다.</p>
-<h3 id=".EC.96.B8.EC.A0.9C_XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.9D.84_.EC.82.AC.EC.9A.A9.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F" name=".EC.96.B8.EC.A0.9C_XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.9D.84_.EC.82.AC.EC.9A.A9.ED.95.B4.EC.95.BC_.ED.95.98.EB.82.98.EC.9A.94.3F">언제 XUL 템플릿을 사용해야 하나요?</h3>
-<p>RDF 와 XUL 템플릿을 사용하는 또다른 방법으로는 <a class="external" href="http://www.w3.org/TR/REC-DOM-Level-1/">W3C DOM API</a> 를 이용하여 XUL (혹은 HTML) 컨텐츠 모델을 구성하고 조작하는 방법이 있습니다. 하지만 그렇게 하는 것은 불편할 때가 많습니다:</p>
-<ol>
- <li><em>데이터에 대한 "뷰"가 여러 개인 경우</em>. 예를 들면, Mozilla mail/news 는 툴바나, 여러 메뉴 내의 "폴더 팬(pane)", 혹은 몇몇 다이얼로그 창에서 폴더 구조를 표시합니다. 이 경우 이러한 <code>&lt;메뉴 버튼&gt;</code>, <code>&lt;메뉴&gt;</code>, <code>&lt;트리&gt;</code> 컨텐츠 모델을 위한 DOM 트리를 JS (혹은 C++) 로 작성하는 것 보다, 각 컨텐츠 모델을 위한 (세가지의) 간략한 룰셋으로 작성할 수 있습니다.</li>
- <li><em>데이터가 변화하는 경우</em>. 예를 들어 메일이나 뉴스의 사용자는 IMAP 폴더를 추가하거나 삭제할 수 있습니다. (이로 인해 컨텐츠 모델을 작성하는 작업은 매우 복잡해 집니다!) XUL 템플릿 빌더는 룰을 사용하여 사용자에 의한 <em>모든</em> 컨텐츠 모델들의 변화를 자동적으로 유지합니다.</li>
-</ol>
-<p>이 기능을 사용하기 위해서는 당신이 필요로 하는 모든 정보는 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFDataSource.idl">RDF 데이터 소스 API</a> 를 이용하여 표현되거나, 내장 <em>메모리 데이터 소스</em>를 사용하거나, RDF/XML 을 사용하여 저장하거나, <code>nsIRDFDataSource</code> 를 (아마도 JavaScript 를 이용하여) 직접 구현하여야 합니다.</p>
-<h3 id=".22datasources.3D.22_.EC.9D.B4.EB.9D.BC.EA.B3.A0_.EB.AA.85.EC.8B.9C.ED.95.9C_.EA.B2.BD.EC.9A.B0.EC.97.90.EB.8A.94_.EB.AC.B4.EC.97.87.EC.9D.B4_.EB.A1.9C.EB.93.9C.EB.90.98.EB.82.98.EC.9A.94.3F" name=".22datasources.3D.22_.EC.9D.B4.EB.9D.BC.EA.B3.A0_.EB.AA.85.EC.8B.9C.ED.95.9C_.EA.B2.BD.EC.9A.B0.EC.97.90.EB.8A.94_.EB.AC.B4.EC.97.87.EC.9D.B4_.EB.A1.9C.EB.93.9C.EB.90.98.EB.82.98.EC.9A.94.3F">"datasources=" 이라고 명시한 경우에는 무엇이 로드되나요?</h3>
-<p>템플릿의 "루트" 원소의 <code>datasources</code> 속성은 로드할 (공백 문자로 구분된) <em>데이터 소스 URI</em> 들의 목록을 나타냅니다. 여기서 "데이터 소스 URI" 라는 것은 다음의 둘 중 하나가 됩니다:</p>
-<ul>
- <li>로컬에 설치된 컴포넌트를 가리키는 축약형 ContractID. 단지<code>rdf:<i>name</i></code> 라고 명시한다면, 템플릿 로더는 <code>@mozilla.org/rdf/datasource;1?name=<i>name</i></code> 라는 ContractID 를 이용하여 XPCOM 컴포넌트를 로드하게 됩니다.</li>
- <li>RDF/XML 파일의 URL. 예를 들면 아래와 같은 것들이 있습니다.
- <pre>file:///tmp/foo.rdf
-chrome://mycomponent/content/component-data.rdf
-http://www.mysite.com/generate-rdf.cgi
-ftp://ftp.somewhere.org/toc.rdf
-</pre>
- <p>로드 작업은 <em>비동기적으로</em> 수행되며, 템플릿 빌더는 RDF/XML 파일을 받는 즉시 컨텐츠를 생성합니다.</p>
- </li>
-</ul>
-<p>두 경우 모두, 데이터 소스는 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFService.idl"><code>nsIRDFService</code></a> 의 <code>GetDataSource()</code> 메소드를 사용하여 로드되며, 이들은 같은 방법으로 로드된 다른 데이터 소스와 마찬가지로 <a href="#How_does_Mozilla_manage_datasources.3F">관리</a>됩니다.</p>
-<h3 id="XUL.EC.9D.98_RDF.2FXML.EC.9D.84_.EC.9C.84.ED.95.9C_.EB.B3.B4.EC.95.88_.EB.AA.A8.EB.8D.B8.EC.9D.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.EC.9A.94.3F" name="XUL.EC.9D.98_RDF.2FXML.EC.9D.84_.EC.9C.84.ED.95.9C_.EB.B3.B4.EC.95.88_.EB.AA.A8.EB.8D.B8.EC.9D.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.EC.9A.94.3F">XUL의 RDF/XML을 위한 보안 모델은 무엇인가요?</h3>
-<p>"인증된" URL(현재는 <code>chrome:</code>로 시작하는 모든 URL)로 부터 로드된 XUL은 XUL 템플릿의 <code>datasources</code> 속성에 지정된 <em>어떠한</em> 데이터 소스 URI라도 지정할 수 있습니다.</p>
-<p>"인증되지 않은" URL로 부터 로드된 XUL은 XUL 문서가 있던 동일한 (Java에서 말하는 의미의) <em>코드베이스</em> 에 있는 RDF/XML 문서만을 지정할 수 있습니다. 인증되지 않은 XUL에서 "특별한" (즉, <code>rdf:</code> 로 시작하는) 데이터 소스를 로드할 수는 없습니다.</p>
-<h3 id="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.97.90_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.B6.94.EA.B0.80.ED.95.98.EB.82.98.EC.9A.94.3F" name="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF.EC.97.90_.EC.96.B4.EB.96.BB.EA.B2.8C_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.86.8C.EC.8A.A4.EB.A5.BC_.EC.B6.94.EA.B0.80.ED.95.98.EB.82.98.EC.9A.94.3F">XUL 템플릿에 어떻게 데이터 소스를 추가하나요?</h3>
-<p>XUL 템플릿을 생성할 때 <code>datasources</code> 속성을 통해 "암시적으로" 데이터 소스를 명시하는 방법이 가능하지만, XUL이 로드될 때 <em>까지</em> 어떤 데이터 소스를 로드해야 할지 결정할 수 없는 경우도 있을 것입니다. 예를 들어, 당신의 XUL이 <code>onload</code> 핸들러에서 표시할 데이터 소스를 결정하는 경우나 특정한 사용자의 액션에 반응하여 데이터 소스를 추가해야 하는 경우 등이 있습니다.</p>
-<p>다음은 이러한 동작을 하는 간단한 예제입니다. 아래와 같은 XUL이 있다고 해 봅시다.</p>
-<pre class="eval">&lt;window xmlns="<a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"&gt;
- ...
- <span class="highlightgreen">&lt;tree id="my-tree" datasources="rdf:null"&gt;
- ...
- &lt;/tree&gt;</span>
- ...
-&lt;/window&gt;
-</pre>
-<p>이제 어떤 식으로든 (즉, <a href="#How_do_I_create_a_datasource_from_an_RDF.2FXML_file.3F">이러한</a> 방식 중의 하나로) 데이터 소스를 얻었다고 가정할 때, 다음의 코드는 이 데이터 소스를 템플릿에 <em>추가</em> 하는 방법을 보여줍니다. 템플릿은 새로 추가된 데이터 소스의 컨텐츠를 기반으로 자신을 재생성(rebuild)해야 합니다.</p>
-<pre class="eval">var ds = <span class="highlightblue">/* 어떤 식으로든 얻었다고 가정합니다! */</span>;
-<span class="highlightblue">// 'my-tree'에 대한 DOM 원소를 얻습니다.</span>
-var tree = document.getElementById('my-tree');
-<span class="highlightblue">// 거기에 데이터 소스를 추가합니다.</span>
-tree.database.AddDataSource(ds);
-<span class="highlightblue">// 강제 재생성하도록 직접 rebuild() 메소드를 호출합니다.</span>
-tree.builder.rebuild();
-</pre>
-<p><code>datasources</code> 속성을 가진 XUL 원소는 자동으로 <code>database</code> 속성과 <code>builder</code> 속성을 가지게 됩니다. <code>database</code> 속성은 템플릿에서 생성된 데이터 소스를 포함하는 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIRDFCompositeDataSource.idl"><code>nsIRDFCompositeDataSource</code></a> 객체를 참조합니다.</p>
-<p><code>builder</code> 속성은 템플릿 컨텐츠의 상태를 유지하는 "builder" 인 <a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/base/idl/nsIXULTemplateBuilder.idl"><code>nsIXULTemplateBuilder</code></a> 객체를 참조합니다.</p>
-<p><b>참고!</b> <code>rdf:null</code> 데이터 소스: 이것은 특별한 데이터 소스로서 아직은 데이터 소스가 없지만 나중에 추가할 것임을 알려주는 역할을 합니다. 이 데이터 소스를 지정하면 <code>database</code> 속성과 <code>builder</code> 속성이 생기게 되지만 <code>database</code> 속성은 아무 것도 없는 채로 남아있습니다.</p>
-<h3 id="DOM_API.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.98.EC.97.AC_XUL_.ED.85.9C.ED.94.8C.EB.A6.BF_.EB.AC.B8.EC.84.9C.EB.A5.BC_.EB.8B.A4.EB.A3.B0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F" name="DOM_API.EB.A5.BC_.EC.9D.B4.EC.9A.A9.ED.95.98.EC.97.AC_XUL_.ED.85.9C.ED.94.8C.EB.A6.BF_.EB.AC.B8.EC.84.9C.EB.A5.BC_.EB.8B.A4.EB.A3.B0_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F">DOM API를 이용하여 XUL 템플릿 문서를 다룰 수 있나요?</h3>
-<p>네, 가능합니다. 당신은 룰을 추가 및 삭제하거나 룰의 컨디션이나 컨텐츠를 변경할 수 있습니다. 사실, <a class="external" href="http://www.w3.org/TR/REC-DOM-Level-1/">W3C DOM API</a>를 이용하여 템플릿에 대한 <em>모든</em> 것들을 변경할 수 있습니다.</p>
-<p>한가지 주의할 사항은, 이렇게 변경한 내용이 적용되도록 (XUL 템플릿에 <a href="#How_do_I_add_a_datasource_to_a_XUL_template.3F">데이터 소스를 추가</a>할 때와 마찬가지로) <code>rebuild()</code> 메소드를 반드시 호출해야 한다는 것입니다.</p>
-<h3 id=".ED.85.9C.ED.94.8C.EB.A6.BF.EC.97.90_.EC.9D.BC.EB.B0.98_.ED.85.8D.EC.8A.A4.ED.8A.B8.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.82.BD.EC.9E.85.ED.95.98.EB.82.98.EC.9A.94.3F" name=".ED.85.9C.ED.94.8C.EB.A6.BF.EC.97.90_.EC.9D.BC.EB.B0.98_.ED.85.8D.EC.8A.A4.ED.8A.B8.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EC.82.BD.EC.9E.85.ED.95.98.EB.82.98.EC.9A.94.3F">템플릿에 일반 텍스트를 어떻게 삽입하나요?</h3>
-<p>템플릿 내에 일반 텍스트(plaintext)를 삽입하기 위해서는 <code>&lt;text&gt;</code> 원소를 이용합니다.</p>
-<pre class="eval">&lt;template&gt;
- &lt;rule&gt;
- &lt;conditions&gt;...&lt;/condition&gt;
- &lt;bindings&gt;...&lt;/bindings&gt;
- &lt;action&gt;
- <span class="highlightgreen">&lt;text value="?some-variable" /&gt;</span>
- &lt;/action&gt;
- &lt;/rule&gt;
-&lt;/template&gt;
-</pre>
-<p>위의 템플릿은 여러 개의 텍스트 노드를 가지는(runs?) 컨텐츠 모델을 생성할 것 입니다.</p>
-<h2 id=".ED.8A.B8.EB.9F.AC.EB.B8.94.EC.8A.88.ED.8C.85" name=".ED.8A.B8.EB.9F.AC.EB.B8.94.EC.8A.88.ED.8C.85">트러블슈팅</h2>
-<p>필드에서 얻은 트릭과 팁들을 소개합니다.</p>
-<h3 id="RDF.2FXML_.ED.8C.8C.EC.9D.BC.EC.9D.B4_.EB.A1.9C.EB.93.9C.EB.90.98.EC.A7.80_.EC.95.8A.EC.95.84.EC.9A.94" name="RDF.2FXML_.ED.8C.8C.EC.9D.BC.EC.9D.B4_.EB.A1.9C.EB.93.9C.EB.90.98.EC.A7.80_.EC.95.8A.EC.95.84.EC.9A.94">RDF/XML 파일이 로드되지 않아요</h3>
-<p>웹 서버로부터 RDF/XML 파일이 로드되지 않는 대부분의 이유는 MIME 타입이 잘못 설정되어 있는 경우입니다. 당신이 사용하는 서버가 RDF/XML 파일을 <code>text/xml</code>(추천) 이나 <code>text/rdf</code>(bogus) 형식으로 전달하는지 확인하십시오.</p>
-<p>W3C의 RDF 코어 워킹 그룹은 application/rdf+xml 형식을 등록하였지만 아직 Mozilla 코드는 이를 인식하지 못한다는 것을 명심하십시오. (이에 대한 버그가 보고되어 있나요? -- <a class="link-mailto" href="mailto:danbri-mozilla@rdfweb.org">danbri</a>)</p>
-<p>원격지에서 로드되는 XUL과 RDF에 대한 또다른 잠재적인 문제점은 Mozilla의 보안 규칙을 변경해야 한다는 것입니다(아래의 예제를 참조하세요). 만약 MIME 타입이 정확한데도, XUL이 RDF를 로드하지 않는다면 이 문제를 고려해 보아야 합니다.</p>
-<p>RDF/XML 파일이 올바른지 검사하기 위해 <code>rdfcat</code>와 <code>rdfpoll</code> 유틸리티를 사용할 수 있습니다. 이 프로그램들은 Windows에서는 기본으로 설치되어 있으며, Linux에서는 <code>configure --enable-tests</code> 옵션을 주어 설치할 수 있습니다.</p>
-<ul>
- <li><code><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/tests/rdfcat/rdfcat.cpp">rdfcat</a> <i>url</i></code><br>
- 파라미터로 주어진 URL을 통해 RDF/XML 파일을 읽은 후, 콘솔 상에 "cat" 합니다. 이를 이용하여 당신이 작성한 RDF/XML이 Mozilla에서 올바르게 해석되는지 검사할 수 있습니다.</li>
- <li><code><a class="external" href="http://lxr.mozilla.org/mozilla/source/rdf/tests/rdfpoll/rdfpoll.cpp">rdfpoll</a> <i>url</i> [<i>interval</i>]</code><br>
- RDF/XML 파일을 가리키는 URL을 파라미터로 취합니다. 그리고 선택적인(optional) <em>poll interval</em> 파라미터는 URL을 갱신(re-load)할 시간을 지정합니다. 각각의 로드 시 마다 RDF/XML 파일의 현재 내용과 이전의 내용과의 <em>차이점</em>을 나타내는 출력을 생성해 냅니다. 이것은 시간마다 새로 생성되는 RDF/XML 파일의 디버깅에 유용하게 사용됩니다.</li>
-</ul>
-<p>이 두 프로그램은 로드와 실행 과정이 느립니다(하지만 <em>결국은</em> 실행됩니다). 이 프로그램들은 Mozilla 와 동일하게 XPCOM을 초기화하고 URL을 로드하고 처리하도록 Necko를 실행시킵니다.</p>
-<h3 id="AddDataSource_.EB.A9.94.EC.86.8C.EB.93.9C.EB.A5.BC_.ED.98.B8.EC.B6.9C.ED.95.B4.EB.8F.84_.EC.95.84.EB.AC.B4_.EA.B2.83.EB.8F.84_.EB.B0.94.EB.80.8C.EC.A7.80_.EC.95.8A.EC.95.84.EC.9A.94." name="AddDataSource_.EB.A9.94.EC.86.8C.EB.93.9C.EB.A5.BC_.ED.98.B8.EC.B6.9C.ED.95.B4.EB.8F.84_.EC.95.84.EB.AC.B4_.EA.B2.83.EB.8F.84_.EB.B0.94.EB.80.8C.EC.A7.80_.EC.95.8A.EC.95.84.EC.9A.94.">AddDataSource 메소드를 호출해도 아무 것도 바뀌지 않아요.</h3>
-<p>템플릿 빌더는 자신의 <code>database</code> 속성에 대해 <code>AddDataSource</code> 혹은 <code>RemoveDataSource</code> 메소드를 호출해도 자동적으로 내용을 갱신하지 <em>않습니다</em>. 템플릿의 내용을 갱신하기 위해서는 반드시 <code><i>elt.</i>builder.rebuild()</code> 메소드를 직접 호출해야 합니다.</p>
-<p>그 이유는, <code>database</code> 내에 여러 개의 데이터 소스가 추가되는 경우 매번 갱신이 일어나지 않도록 하기 위함입니다.</p>
-<h2 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h2>
-<h3 id=".28.EC.8B.A4.EC.A0.9C.EB.A1.9C_.EB.8F.99.EC.9E.91.ED.95.98.EB.8A.94.29_.EC.98.88.EC.A0.9C.EB.A5.BC_.EC.96.B4.EB.94.94.EC.84.9C_.EC.B0.BE.EC.9D.84_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F" name=".28.EC.8B.A4.EC.A0.9C.EB.A1.9C_.EB.8F.99.EC.9E.91.ED.95.98.EB.8A.94.29_.EC.98.88.EC.A0.9C.EB.A5.BC_.EC.96.B4.EB.94.94.EC.84.9C_.EC.B0.BE.EC.9D.84_.EC.88.98_.EC.9E.88.EB.82.98.EC.9A.94.3F">(실제로 동작하는) 예제를 어디서 찾을 수 있나요?</h3>
-<p><a class="external" href="http://www.mozilla.org/rdf/doc/examples.html">여기</a>에서 몇가지 예제들을 찾아볼 수 있습니다. 이 중 몇가지는 사인된(signed) 스크립트를 포함하고 있고 HTTP에서 직접 실행시킬 수 있습니다.</p>
-<p>(Mozilla의 라이브 RDF 피드(feed) 를 담당하는)<a class="link-https" href="https://bugzilla.mozilla.org/data/duplicates.rdf"><code>duplicates.rdf</code></a> 와 <a class="link-https" href="https://bugzilla.mozilla.org/duplicates.xul"><code>duplicates.xul</code></a> 도 살펴보기 바랍니다. 이것들을 실행시키기 위해서는 Mozilla의 <a href="ko/Bypassing_Security_Restrictions_and_Signing_Code">보안 모델</a>을 완화시켜야 합니다. 이를 위해 당신의 환경 설정(preference) 파일에 다음의 줄을 추가하십시오. (먼저 Mozilla를 종료시켜야 합니다. 그렇지 않으면 Mozilla가 종료될 때 당신의 환경 설정 파일을 덮어쓰게 될 것입니다.)</p>
-<pre class="eval">user_pref("signed.applets.codebase_principal_support", true);
-</pre>
-<p>Mozilla는 <code>duplicates.xul</code> 내의 스크립트에 XPConnect에 접근할 권한을 줄 것인지 물어볼 것입니다. '예'를 선택하십시오.</p>
-<p>현재, Mozilla는 권한없이 RDF 인터페이스와 서비스에 접근하는 것을 허용하지 않습니다. 자세한 내용은 <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=122846">122846</a>번 버그를 참조하십시오.</p>
-<p>더 추가하고 싶은 예제가 있다면 그 링크를 <a class="external" href="http://rdfweb.org/people/danbri/">danbri</a>, mozilla-rdf 혹은 waterson에게 이메일로 보내기 바랍니다!</p>
-<h2 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0">참고</h2>
-<ol>
- <li>RDF 와 그에 관련된 기술들에 대해서는 <a class="external" href="http://www.w3.org/RDF/">W3C RDF</a> 페이지와 <a class="external" href="http://www.w3.org/2001/sw/">Semantic Web</a> 페이지를 살펴보기 바랍니다.</li>
-</ol>
-<h2 id=".EA.B3.B5.ED.97.8C" name=".EA.B3.B5.ED.97.8C">공헌</h2>
-<ul>
- <li>2006-09-07 에 <a>김남형</a>이 번역함</li>
- <li>2002-07-02 에 <a class="external" href="http://rdfweb.org/people/danbri/">danbri</a>가 예제 부분을 추가함</li>
- <li>원격 XUL / 보안 정책에 대해 Myk Melez가 조언을 해 줌</li>
-</ul>
-<p>저자: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></p>
-<div class="originaldocinfo">
- <h2 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원본 문서 정보</h2>
- <ul>
- <li>저자: <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
- <li>최종 변경일: 2004-12-22</li>
- <li>저작권 정보: Copyright (C) <a class="link-mailto" href="mailto:waterson@netscape.com">Chris Waterson</a></li>
- </ul>
-</div>
diff --git a/files/ko/archive/web_standards/using_the_right_markup_to_invoke_plugins/index.html b/files/ko/archive/web_standards/using_the_right_markup_to_invoke_plugins/index.html
deleted file mode 100644
index d7539a262f..0000000000
--- a/files/ko/archive/web_standards/using_the_right_markup_to_invoke_plugins/index.html
+++ /dev/null
@@ -1,263 +0,0 @@
----
-title: Using the Right Markup to Invoke Plugins
-slug: Archive/Web_Standards/Using_the_Right_Markup_to_Invoke_Plugins
-tags:
- - HTML
- - Plugins
-translation_of: Archive/Web_Standards/Using_the_Right_Markup_to_Invoke_Plugins
----
-<p>이 글은 올바른 HTML을 사용하여 플러그인을 불러오는 방법에 대한 글입니다. 여기서 object 요소(element)와 embed 요소에 대해 살펴볼 것이고, 웹 페이지에서 Java를 불러오는 가장 적당한 HTML 사용법에 대해서도 자세히 다룰 것입니다.</p>
-
-<h3 id="object_.EC.9A.94.EC.86.8C:_W3C_.ED.91.9C.EC.A4.80.EA.B3.BC_.ED.81.AC.EB.A1.9C.EC.8A.A4_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.9D.B4.EC.8A.88" name="object_.EC.9A.94.EC.86.8C:_W3C_.ED.91.9C.EC.A4.80.EA.B3.BC_.ED.81.AC.EB.A1.9C.EC.8A.A4_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.9D.B4.EC.8A.88">object 요소: W3C 표준과 크로스 브라우저 이슈</h3>
-
-<p>object 요소는 HTML 4.01 스펙의 일부이며 플러그인을 불러오는 방법으로 권장되는 방식입니다. object 요소의 사용법은 이 절에서 간단히 이야기할 경고 몇 가지에 영향을 받습니다.</p>
-
-<p>전통적으로 object 요소는 Microsoft Internet Explorer와 Netscape 7 같은 Mozilla 기반 브라우저에서 서로 다르게 사용되었습니다. IE에서는 ActiveX 기술로 만든 플러그인을 불러오는데 object 요소를 사용했습니다. 여기 그러한 예제가 있습니다.</p>
-
-<pre>&lt;!-- IE ONLY CODE --&gt;
-&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
-codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
-width="366" height="142" id="myFlash"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
-&lt;/object&gt;
-</pre>
-
-<p>위의 예제에서 object 요소의 <code>classid</code> 속성은 "clsid:"라는 URN을 지정하고 있는데, 이것은 ActiveX 컨트롤의 유일한 식별자("D27..."로 시작하는 문자열)입니다. 사실 이 식별자는 Macromedia Flash 플러그인의 식별자입니다. 이런 방식으로 플러그인을 불러오려면 사용하려는 플러그인의 식별자를 알아야 합니다. <code>codebase</code> 속성은 ActiveX 컨트롤을 포함하는 CAB 파일을 얻을 수 있는 위치를 가리킵니다. codebase 속성은 <strong>획득 메커니즘</strong> 즉, 컨트롤이 존재하지 않을 경우 이를 얻을 수 있는 방법을 알려주기 위해 사용되었습니다. Flash ActiveX 컨트롤이 설치되지 않았다면 IE는 codebase 속성에 지정된 URL로 가서 ActiveX 컨트롤을 받을 것입니다. object 요소의 자식으로 추가된 <code>param</code> 요소들은 Flash 플러그인의 설정 매개변수를 지정하고 있습니다. 예를 들어, the <code>param name="movie"</code>는 Flash 플러그인이 재생할 SWF 파일의 위치를 지정합니다.</p>
-
-<p>Netscape 7.1은 Microsoft® Windows Media Player의 경우 object 요소로 ActiveX를 불러오는 이런 방식을 지원합니다. Netscape 7.1에서 지원하는 유일한 ActiveX 컨트롤이 Windows Media Player입니다. 자세한 내용은 <a href="ko/Windows_Media_in_Netscape">다른 글</a>에서 다루고 있습니다.</p>
-
-<p>Netscape 7같은 브라우저는 위와 같은 방법으로 마크업을 사용해서는 Flash 플러그인을 불러올 수 없습니다. Netscape7은 ActiveX과 ActiveX 기반 컴포넌트 호출을 지원하지 않기 때문입니다. Netscape 7.1이 예외적으로 Windows Media Player를 지원하는 것입니다. Mozilla 기반 브라우저는 Netscape 플러그인 아키텍처를 지원합니다. 이 아키텍처는 ActiveX 같은 COM 기반이 아니므로 유일한 식별자를 이용해서 불러내는 것이 아니라 MIME 형식을 기반으로 플러그인을 불러옵니다. Mozilla 기반 브라우저는 MIME 형식을 이용한 object 요소를 지원합니다. Macromedia Flash 플러그인을 불러오는 예제가 아래에 있습니다.</p>
-
-<pre>&lt;object type="application/x-shockwave-flash" data="javascript-to-flash.swf"
-width="366" height="142" id="myFlash"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
- &lt;p&gt;You need Flash -- get the latest version from
- &lt;a href= "http://www.macromedia.com/downloads/"&gt;here.&lt;/a&gt;&lt;/p&gt;
-&lt;/object&gt;
-</pre>
-
-<p>위 예제에서 <code>application/x-shockwave-flash</code>는 Flash의 MIME 형식입니다. 이것은 Mozilla 기반 브라우저에서 Netscape의 Flash 아키텍처를 불러옵니다. data 속성은 재생할 SWF 파일을 지정하고 있습니다. 설정 매개변수(<code>param</code> 요소들)는 IE와 Mozilla 기반 브라우저에서 동일하게 사용됩니다. 사실 위의 사용 방법은 IE에서도 잘 동작합니다. IE는 ActiveX 스타일의 <code>classid</code> 호출 뿐만 아니라 Flash 같은 특정 MIME 형식을 이용한 호출도 이해하기 때문입니다.</p>
-
-<p>MIME 형식을 이용해서 Flash 플러그인을 불러오는 방식은 IE와 Netscape 7에서 모두 잘 동작하기 때문에 위의 방법을 두 브라우저에서 동일하게 사용해도 됩니다. 그러나 <code>object</code> 요소를 Mozilla 기반 브라우저와 IE에서 사용할 때 우리가 반드시 명심해야할 몇 가지 주의 사항들이 있습니다.</p>
-
-<h4 id=".EC.A3.BC.EC.9D.98_.EC.82.AC.ED.95.AD" name=".EC.A3.BC.EC.9D.98_.EC.82.AC.ED.95.AD">주의 사항</h4>
-
-<ul>
- <li>위 예제에서 살펴본 방식을 이용하여 object 요소를 양쪽 브라우저에서 사용할 경우, <strong>양쪽 브라우저에 동일한 "획득 메커니즘"을 제공하지는 못합니다</strong>. ActiveX 컴포넌트를 포함하는 서명된 CAB 파일을 지정하기 위해서 <code>codebase</code> 속성을 사용할 수 없습니다. Netscape 7같은 Mozilla 기반 브라우저에서는 그 방법이 동작하지 않기 때문입니다. 게다가 IE에서 <code>codebase</code>를 획득 메커니즘으로 사용하는 방식은 HTML 4.01 스펙에 완벽히 부합하는 것이 아닙니다. HTML 4.01에서 <code>codebase</code> 속성은 <code>data</code>, <code>archive</code>, <code>classid</code> 속성에 지정된 URN을 한정(qualify)하는데 사용되어야 한다고 말하고 있습니다. Mozilla 소스 코드에 기반한 새로운 Netscape 브라우저에서는 존재하지 않는 플러그인을 얻을 수 있는 위치를 지정하는 특별한 <code>param</code> 요소를 지원할 계획이지만 Netscape 7에는 그런 기능이 없습니다. 그 기능은 Mozilla <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=167601" title='FIXED: [object] Support &amp;amp;lt;param name="PLUGINURL" ...>'>bug 167601</a>에서 논의중입니다.</li>
-</ul>
-
-<ul>
- <li><strong>IE는 HTML 4.01 스펙을 따르는 중첩된</strong> <code>object</code> <strong>요소를 제대로 표시하지 않습니다</strong>. 스펙에 따르면 우리는 object 요소를 중첩시킬 수 있고, 브라우저는 가장 바깥쪽 요소를 표시할 수 있으면 진행을 멈추고, 그렇지 않으면 표시할 수 있는 요소를 찾을 때까지 계속해서 안쪽 요소를 찾아야 합니다. IE는 중첩된 object 요소들을 연속으로 나열된 object 요소처럼 표시합니다. 그러므로 아래의 예제는 IE가 똑같은 Flash 애니메이션을 두 번 표시하게 만듭니다.</li>
-</ul>
-
-<pre>&lt;!-- 의도한 대로 동작하지 않는 사용법입니다 --&gt;
-&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
-codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
-width="366" height="142" id="myFlash"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
-
- &lt;object type="application/x-shockwave-flash" data="javascript-to-flash.swf"
- width="366" height="142" id="myFlashNSCP"&gt;
- &lt;param name="movie" value="javascript-to-flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
- &lt;p&gt;You need Flash -- get the latest version from
- &lt;a href="http://www.macromedia.com/downloads/"&gt;
- here.&lt;/a&gt;&lt;/p&gt;
- &lt;/object&gt;
-
-&lt;/object&gt;
-</pre>
-
-<ul>
- <li><strong>웹 페이지를 만드는 사람들은 Mozilla 기반 브라우저에서<em>획득 메커니즘</em>을 지정해야 합니다. <code>codebase</code> 속성을 사용해서 플러그인을 받을 수 있는 위치를 지정하지 않는다면 브라우저가 자동으로 플러그인을 받아오는 일은 없을 것입니다.</strong> <code>codebase</code>를 지정하지 않았는데 플러그인이 설치되어 있지 않다면 브라우저는 대체 텍스트만 표시할 것입니다. Netscape 플러그인 검색 서비스를 이용해서 플러그인을 받아오거나 하지 않을 것이라는 말입니다. 이런 동작이 HTML 4.01 스펙에 어긋나는 것은 아니지만, 웹 페이지를 만들 때 힘들게<em>획득 메커니즘</em>을 지정해야만 합니다. 최소한 없는 플러그인을 사용자들이 어디에서 받을 수 있는지 알려주는 대체 텍스트를 object 요소에 넣어야만 합니다. 자동으로 플러그인을 받는 편리한 기능을 추가하는 일은 Mozilla 오픈 소스 코드의 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180411" title="Plugin Finder Service is not invoked for OBJECT element">bug 180411</a>의 주제 입니다.</li>
-</ul>
-
-<ul>
- <li><strong>몇몇 플러그인은 Mozilla 기반 브라우저에서 이해하지 못하는 <code>param</code> 요소가 있습니다</strong>. 한 예로 Macromedia Flash Player 플러그인 버전 6r.47까지는 Flash 플러그인이 재생해야 할 애니메이션 위치를 지정하는 <code>&lt;param name="movie" value="animation.swf"&gt;</code> param 요소를 이해하지 못했습니다. 이 문제를 피하려면 다음과 같이 object 요소의 data 속성을 사용해야 합니다. <code>&lt;object type="application/x-shockwave-flash" data="animation.swf"..../&gt;</code>. Flash 플러그인이 이 <code>param</code> 요소를 이해하지 못하는 문제는 Macromedia Flash Player의 버그이며 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180378" title='macromedia.com - Flash ought to support &amp;amp;lt;param name="movie..."> in addition to data attribute'>bug 180378</a>.</li>
-</ul>
-
-<h4 id=".EA.B6.8C.EC.9E.A5_.EC.82.AC.ED.95.AD" name=".EA.B6.8C.EC.9E.A5_.EC.82.AC.ED.95.AD">권장 사항</h4>
-
-<p>우리가 IE에서는 object 요소를 중첩해서 쓰지 못한다는 단점과 모든 브라우저에서 문제없이 동작하도록 하는 단순한 <code>object</code> 요소의 사용법은 없다는 단점을 극복하기 위한 가장 좋은 방법은 아키텍처에 따라 동적으로 <code>object</code> 요소를 동적으로 생성하도록 하는 것입니다. 예를 들어, IE 같이 ActiveX를 지원하는 브라우저에서는 classid 속성을 이용해서 <code>object</code> 요소를 만들고, Netscape 플러그인 아키텍처를 지원하는 브라우저에서는 MIME 형식을 사용하는 것입니다. 여기에 예제 JavaScript가 있습니다.</p>
-
-<pre>if (window.ActiveXObject)
-{
-
-// ActiveX를 지원하는 브라우저
-// IE용 OCX 다운로드 URL을 포함한
-// object 요소를 만듬
-
-document.write('&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
-document.write(' codebase="http://download.macromedia.com');
-document.write('/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"');
-document.write(' width="366" height="142" id="myFlash"&gt;');
-document.write(' &lt;param name="movie" value="javascript-to-flash.swf" /&gt;');
-document.write(' &lt;param name="quality" value="high" /&gt;');
-document.write(' &lt;param name="swliveconnect" value="true" /&gt;');
-document.write('&lt;\/object&gt;');
-
-}
-
-else
-{
-
-// Netscape 플러그인 API를 지원하는 브라우저
-
-document.write('&lt;object id="myFlash" data="javascript-to-flash.swf"');
-document.write(' type="application/x-shockwave-flash"');
-document.write(' width="366" height="142"&gt;');
-document.write('&lt;param name="movie" value="javascript-to-flash.swf" /&gt;');
-document.write('&lt;param name="quality" value="high" /&gt;');
-document.write('&lt;param name="swliveconnect" value="true" /&gt;');
-document.write('&lt;p&gt;You need Flash for this.');
-document.write(' Get the latest version from');
-document.write(' &lt;a href="http://www.macromedia.com/downloads"&gt;here&lt;\/a&gt;.');
-document.write('&lt;\/p&gt;');
-document.write('&lt;\/object&gt;');
-
-}
-</pre>
-
-<p><a class="external" href="http://www.alistapart.com/articles/flashsatay/">Flash Satay</a>도 살펴 보시기 바랍니다.</p>
-
-<h4 id="object_.EC.9A.94.EC.86.8C.EC.99.80_Java" name="object_.EC.9A.94.EC.86.8C.EC.99.80_Java">object 요소와 Java</h4>
-
-<p>Netscape 6.x, Netscape 7, CompuServe 7 같은 Mozilla 기반 브라우저는 <a class="external" href="http://java.sun.com/j2se/downloads.html">Sun에서 제공하는 Java 플러그인</a>을 포함하고 있습니다. Netscape 6.x이나 Netscape 7을 설치하는 사용자는 Java를 설치할지 말지 선택할 수 있습니다. Netscape Communicator 4.x와는 달리 Netscape 6.x와 7은 기본 Java 가상 머신을 가지고 있지 않으며 Sun의 플러그인에 의존합니다. Netscape Communicator 4.x가 사용되던 시절에는 Netscape Communications가 Java 1.5.0과 그 하위 버전을 지원하는 Java 가상 머신을 개발했습니다. 이제 Netscape 6과 7에서 Java 가상 머신은 Sun의 플러그인입니다. Netscape는 Netscape Java 가상 머신을 더이상 개발하지 않으며, 브라우저와 함께 제공하지도 않습니다.</p>
-
-<p>Sun의 Java 플러그인은 다른 플러그인들처럼 <code>object</code> 요소로 불러올 수 있습니다. 다시 한 번 말하자면, IE에서는 일반적으로 <code>object</code> 요소에 ActiveX의 유일한 식별자를 지정하는 <code>classid</code> 속성을 같이 씁니다. 플러그인의 각 메이저 버전은 유일한 식별자를 갖고 있습니다. 예를 들어, 다음 예제는 JRE 1.4.1의 유일한 식별자를 가지고 IE에서 JRE 1.4.1을 불러오는 마크업입니다.</p>
-
-<pre>&lt;!-- IE ONLY CODE --&gt;
-&lt;object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
- width="460" height="160"
-codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4_1-windows-i586.cab#version=1,4,1"&gt;
- &lt;param...&gt;
- &lt;param...&gt;
-&lt;/object&gt;
-</pre>
-
-<p>위 예제는 이전에 설명했던 것과 같은 이유로 Netscape 7 같은 Mozilla 기반 브라우저에서는 동작하지 않을 것입니다. 즉, ActiveX 아키텍처를 참조하는 유일한 식별자와 함께 쓰인 <code>classid</code>를 Mozilla 코드에서는 지원하지 않기 때문입니다. Netscape 7과 그외 Mozilla 기반 브라우저에서는 적절한 MIME 형식으로 Java 플러그인을 호출할 수 있습니다.</p>
-
-<pre>&lt;object type="application/x-java-applet;jpi-version=1.4.1_01"
-width="460" height="160"&gt;
- &lt;param name="code" value="Animator.class" /&gt;
- &lt;param name="imagesource" value="images/Beans" /&gt;
- &lt;param name="backgroundcolor" value="0xc0c0c0" /&gt;
- &lt;param name="endimage" value="10" /&gt;
- &lt;param name="soundsource" value="audio"&gt;
- &lt;param name="soundtrack" value="spacemusic.au" /&gt;
- &lt;param name="sounds" value="1.au|2.au|3.au|4.au|5.au|6.au|7.au|8.au|9.au|0.au" /&gt;
- &lt;param name="pause" value="200" /&gt;
- &lt;p&gt;Java 플러그인이 필요합니다.
- &lt;a href="http://java.sun.com/products/plugin/index.html"&gt;이곳에서&lt;/a&gt; 플러그인을 받으십시오.&lt;/p&gt;
-&lt;/object&gt;
-</pre>
-
-<p>위의 코드는 특정 버전을 가리키는 MIME 형식을 사용합니다. Mozilla 기반 브라우저에 JRE 1.4.1_01이 설치되어있지 않다면 대체 텍스트가 표시됩니다. MIME 형식에 항상 버전을 명시해야 하는 것은 아닙니다. 특정 버전에만 포함된 기능을 사용할 필요가 없다면 <code>application/x-java-vm</code>이라고 좀 더 일반적인 MIME 형식을 지정해도 잘 동작할 것입니다. 초기 진입 지점(initial entry point, "code" <code>param</code> 요소로 지정된 Animator.class)을 포함하여 애플릿을 위한 설정 매개변수들은 여러 개의 <code>param</code> 요소를 이용해 설정되었습니다.</p>
-
-<p>Netscape 7같은 Mozilla 기반 브라우저는 또한 특별한 classid 속성을 지원합니다. 그것은 "java:" classid 입니다. 이 방법을 사용하여 Java를 불러오는 예제를 보십시오.</p>
-
-<pre>&lt;object classid="java:NervousText.class" width="534" height="50"&gt;
- &lt;param name="text" value="Java 2 SDK, Standard Edition v1.4" /&gt;
- &lt;p&gt;Java 플러그인이 필요합니다.
- &lt;a href="http://java.sun.com/products/plugin/index.html"&gt;이곳에서
- &lt;/a&gt;
- 플러그인을 받으십시오.
- &lt;/p&gt;
-&lt;/object&gt;
-</pre>
-
-<p>"java:" <code>classid</code>를 이용하면 주요(primary) 진입 지점을 지정할 수 있습니다. 나머지 설정 매개변수들은 <code>param</code> 요소를 통해서 지정합니다.</p>
-
-<h4 id="apple_--_.EB.8C.80.EC.A4.91.EC.A0.81.EC.9D.B8_.EC.84.A0.ED.83.9D" name="apple_--_.EB.8C.80.EC.A4.91.EC.A0.81.EC.9D.B8_.EC.84.A0.ED.83.9D">apple -- 대중적인 선택</h4>
-
-<p><code>applet</code> 요소는 Java 애플릿을 호출하는데 있어 여전히 많은 지원을 받고 있고 가장 인기있는 방법입니다. Netscape 7과 CompuServer 7에서, <code>applet</code> 요소는 직접적으로 Java 플러그인을 호출합니다. 예제를 보십시오.</p>
-
-<pre>&lt;applet code="NervousText.class" width="534" height="50"&gt;
- &lt;param name="text" value="Java(TM) 2 SDK, Standard Edition v1.4" /&gt;
-&lt;/applet&gt;
-</pre>
-
-<p><code>applet</code> 요소는 HTML 4.01 스펙에서 권장되지 않는 요소가 되었습니다. 그러나 Netscape 7 같은 Mozilla 기반 브라우저에서 그 요소를 사용한다면 플러그인이 존재하지 않을 때 자동으로 받는 기능을 사용할 수 있다는 장점이 있습니다. 브라우저가 Netscape 플러그인 검색 서비스를 이용해서 Java 플러그인을 내려받을 것입니다. <a href="#참고자료">참고자료</a>절에 applet 요소를 사용하는데 대한 관련 자료가 있습니다.</p>
-
-<h4 id="embed_.EC.9A.94.EC.86.8C" name="embed_.EC.9A.94.EC.86.8C">embed 요소</h4>
-
-<p><code>embed</code> 요소는 Netscape 브라우저 초창기부터 플러그인을 불러오기 위한 방법으로 사용되었습니다. 일반적으로 <code>embed</code> 요소는 <code>object</code> 요소 안에 중첩되는 식으로 사용됩니다. 바깥쪽 <code>object</code> 요소는 IE를 위한 ActiveX 컨트롤을 호출하고, 안쪽의 <code>embed</code> 요소는 Netscape 플러그인을 호출하는 것입니다. 예제를 보십시오.</p>
-
-<pre>&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
-codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
-width=366 height=142 id="myFlash"&gt;
- &lt;param name="movie" value="javascript_to_flash.swf" /&gt;
- &lt;param name="quality" value="high" /&gt;
- &lt;param name="swliveconnect" value="true" /&gt;
- &lt;embed src="javascript_to_flash.swf" quality="high" width="366" height="142"
- type="application/x-shockwave-flash"
- pluginspage="http://www.macromedia.com/downloads/"
- name="myFlash" swliveconnect="true"&gt;
- &lt;/embed&gt;
-&lt;/object&gt;
-</pre>
-
-<p><a href="#참고자료">참고자료</a>절에서 <code>embed</code> 요소를 사용하는 방법에 대한 링크를 찾을 수 있을 것입니다. Netscape 브라우저에서 플러그인을 불러오기 위해서 가장 널리 쓰이고 있는 것이 <code>embed</code> 요소입니다. 그러나 <code>embed</code> 요소는 HTML 4.01 스펙에 포함되지 않았고, 따라서 W3C 표준이 아니라는 것을 알아둘 필요가 있습니다. <code>embed</code> 요소를 사용할 때 몇 가지 주의 사항이 있습니다.</p>
-
-<ul>
- <li><code>name</code> 속성을 <code>object</code> 요소에 사용하지 마십시오. 특히 <code>embed</code> 요소의 name 요소에 사용한 것과 같은 이름을 사용해서는 안됩니다. 그렇게 하는 것은 HTML 4.01 표준을 어기는 것이지만 몇몇 코드 생성기는 <code>object</code> 요소에 <code>name</code> 속성을 추가합니다. Mozilla 기반의 브라우저에서는 같은 <code>name</code> 속성을 가진 <code>object</code> 요소가 있을 경우 JavaScript DOM 0 메소드를 이용하여 같은 name 속성을 가진 <code>embed</code> 요소에 접근할 수 없습니다. <code>object</code> 요소에는 <code>id</code> 속성을 사용하십시오. <code>object</code> 요소의 <code>id</code> 속성은 <code>embed</code> 요소의 <code>name</code> 속성과 같은 값을 가져도 상관없습니다.</li>
- <li><code>embed</code> 요소는 설정 매개변수를 <code>swliveconnect="true"</code> 같은 식으로 커스텀 속성을 통해 전달할 수 있습니다. 이것은 <code>object</code>의 <code>param</code> 속성과 비슷합니다. 다른 플러그인 제조사는 서로 다른 설정 매개변수를 <code>embed</code> 요소에 전달할 것을 요구할 것입니다. 그 내용을 배울 것을 권합니다.</li>
-</ul>
-
-<p><code>embed</code> 요소의 <strong>획득 메커니즘</strong> -- 설치되지 않은 플러그인을 받아오는 방법 -- 은 <code>pluginspage</code> 속성을 통해 동작한다는 것을 알아두십시오. 이 속성은 브라우저가 인식하지 못한 플러그인을 받을 수 있는 페이지를 가리킵니다. <code>pluginurl</code> 속성을 사용할 수도 있는데, 이 속성은 좀더 능률적인 다운로드를 위해서 <a href="ko/XPInstall">XPInstall</a> 파일을 직접 가리키는데 사용하 수 있습니다. <code>embed</code> 요소의 이 속성들에 대해서, Netscape 7과 Mozilla에서는 플러그인 검색 서비스 설정에서 설정할 수 있습니다. 편집(Edit) | 설정(Preference) | Navigator | Help Applications 에서 Netscape 플러그인 검색 서비스에 대한 설정을 할 수 있습니다. 사용자가<em>플러그인을 받을 때 항상 Netscape 플러그인 검색 서비스를 사용함</em>(Always Use the Netscape Plugin Finder Service to get Plugins) 옵션을 체크해두면, 앞의 두 속성을 지정하거나 하지 않거나 차이가 없습니다. 브라우저는<em>항상</em> 플러그인 검색 서비스를 사용하여 MIME 형식에 맞는 플러그인을 찾을 것입니다. 사용자가 옵션을 체크해두지 않았다면, 웹 페이지 작성자가<em>속성을 지정하지 않았을 때</em>에만 플러그인 검색 서비스를 사용핫 것입니다.</p>
-
-<h3 id=".EC.9B.90.EB.AC.B8_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.AC.B8_.EC.A0.95.EB.B3.B4">원문 정보</h3>
-
-<ul>
- <li>저자: Arun K. Ranganathan, Netscape Communications</li>
- <li>마지막 갱신: 14. Nov 2002</li>
- <li>저작권 정보: Copyright © 2001-2003 Netscape. All rights reserved.</li>
- <li>원문 링크: <a class="external" href="http://devedge-temp.mozilla.org/viewsource/2002/markup-and-plugins/index_en.html" rel="freelink">http://devedge-temp.mozilla.org/view.../index_en.html</a></li>
-</ul>
-
-<h4 id=".EC.B0.B8.EA.B3.A0.EC.9E.90.EB.A3.8C" name=".EC.B0.B8.EA.B3.A0.EC.9E.90.EB.A3.8C">참고자료</h4>
-
-<h5 id=".EC.9D.BC.EB.B0.98.EC.A0.81_--_.EC.8A.A4.ED.8E.99.EB.93.A4" name=".EC.9D.BC.EB.B0.98.EC.A0.81_--_.EC.8A.A4.ED.8E.99.EB.93.A4">일반적 -- 스펙들</h5>
-
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/REC-html40">HTML 4.01 스펙</a></li>
- <li><a class="external" href="http://www.w3.org/TR/xhtml1/">XHTML 1.0 스펙</a></li>
-</ul>
-
-<h5 id="object_.EC.9A.94.EC.86.8C" name="object_.EC.9A.94.EC.86.8C">object 요소</h5>
-
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/REC-html40/struct/objects.html#edef-OBJECT">object 요소에 대한 HTML 4.01 스펙</a></li>
-</ul>
-
-<h5 id="embed_.EC.9A.94.EC.86.8C_2" name="embed_.EC.9A.94.EC.86.8C_2">embed 요소</h5>
-
-<ul>
- <li><a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics">EMBED 요소에 대한 플러그인 API 참고자료</a> <a class="external" href="http://devedge-temp.mozilla.org/library/manuals/2002/plugin/1.0/intro.html#1002612">on devedge-temp</a></li>
-</ul>
-
-<h5 id="Java" name="Java">Java</h5>
-
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/REC-html40/struct/objects.html#edef-APPLET">HTML 4.01 Applet Definition (Deprecated)</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/index.html">Java Plugin Homepage</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/versions.html">OBJECT, EMBED, APPLET과 여러 플러그인 버전에 대한 Sun의 문서</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/1.4.1/demos/applets.html">applet 요소를 사용하는 웹 페이지에 대한 Sun의 예제</a></li>
- <li><a class="external" href="http://java.sun.com/products/plugin/1.4.1/demos/plugin/applets.html">OBJECT/EMBED 요소를 사용하는 웹 페이지에 대한 Sun의 예제</a></li>
-</ul>
-
-<h5 id="Netscape.EC.99.80_Mozilla.EC.9D.98_.EB.B2.84.EA.B7.B8.EC.99.80_.EC.95.9E.EC.9C.BC.EB.A1.9C.EC.9D.98_.EB.B0.A9.ED.96.A5" name="Netscape.EC.99.80_Mozilla.EC.9D.98_.EB.B2.84.EA.B7.B8.EC.99.80_.EC.95.9E.EC.9C.BC.EB.A1.9C.EC.9D.98_.EB.B0.A9.ED.96.A5">Netscape와 Mozilla의 버그와 앞으로의 방향</h5>
-
-<ul>
- <li><a href="ko/Windows_Media_in_Netscape">Windows Media in Netscape</a> Netscape 7.1과 Windows Media ActiveX 컨트롤</li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180378" title='macromedia.com - Flash ought to support &amp;amp;lt;param name="movie..."> in addition to data attribute'>bug 180378</a></li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=167601" title='FIXED: [object] Support &amp;amp;lt;param name="PLUGINURL" ...>'>bug 167601</a></li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=180411" title="Plugin Finder Service is not invoked for OBJECT element">bug 180411</a></li>
-</ul>
diff --git a/files/ko/bundles/index.html b/files/ko/bundles/index.html
deleted file mode 100644
index 3e3f38a936..0000000000
--- a/files/ko/bundles/index.html
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: Bundles
-slug: Bundles
-tags:
- - Toolkit API
-translation_of: Archive/Mozilla/Bundles
----
-<p><span>title-override Structure of an Installable Bundle /title-override 이 부분은 에러가 나서 리마킹한 부분임. 나중에 새로 고칠 필요가 있음.</span>
-</p><p><a href="ko/XUL_Application_Packaging">XULRunner 어플리케이션</a>, <a href="ko/Extensions">확장 기능(extension)</a>, <a href="ko/Themes">테마(themes)</a> 등은 공통의 디렉토리 구조를 공유합니다. 경우에 따라서는 같은 번들이 독립적인 XULRunner 어플리케이션으로 쓰임과 동시에 설치 가능한 확장 기능으로 사용될 수도 있습니다. 번들의 기본 구조에는 다음과 같은 파일들이 포함될 수 있습니다 </p>
-<pre class="eval">/<a href="ko/Install.rdf">install.rdf</a> <i>Extension/Theme Install Manifest</i>
-/<a href="ko/XUL_Application_Packaging">application.ini</a> <i>Application Launch Manifest</i>
-/components/* <i>Component and XPT Files</i> (&gt;=1.7)
-<a href="ko/Building_an_Extension#Defaults_Files">/defaults/preferences/*.js</a> <i>Default Preferences</i> (&gt;=1.7)
-/plugins/* <i>NPAPI Plugins</i> (&gt;=1.8)
-/<a href="ko/Chrome.manifest">chrome.manifest</a> <i>Chrome Registration Manifest</i> (&gt;=1.8)
-/<a href="ko/Window_icons">chrome/icons/default/*</a> <i>Window Icons</i> (&gt;=1.8)
-</pre>
-<p>물론 확장 기능을 구현할 때 이러한 모든 디렉토리가 필요한 것은 아닙니다(그렇게 되지도 않을 것입니다). 테마의 경우에는 보안의 이유로 제한을 받으며, 보통 테마와 JAR 파일을 등록하는 <a href="ko/Chrome.manifest">chrome.manifest</a> 만을 제공합니다. </p><p><br>
-</p>
-<h3 id="플랫폼_종속적platform_specific인_하위_디렉토리들"> 플랫폼 종속적(platform specific)인 하위 디렉토리들 </h3>
-<p>경우에 따라서는 한 개의 확장 기능이나 어플리케이션이 여러 플랫폼을 지원하기 위한 바이너리 구성 요소 또는 플러그인을 포함하여야 할 때가 있습니다. 또는 테마 저작자가 플랫폼 종속적인 JAR 파일들을 플랫폼별로 포함시킬 수도 있습니다. 첫번째 경우에는 extension/app loader 가 플랫폼 종속적인 파일들( Toolkit/Gecko 1.8, Firefox/Thunderbird 1.5 로 시작하는 )만을 위한 하위 디렉토리를 가지게 됩니다. 플랫폼 문자열은 툴킷 빌드 과정에서 정의되는데, 운영체제, 프로세서 아키텍처, 컴파일러 등의 이름들의 조합으로 만들어지며, 그 형식은 다음과 같습니다. </p>
-<pre class="eval"><i>{OS_TARGET}</i>_<i>{<a href="ko/XPCOM_ABI">TARGET_XPCOM_ABI</a>}</i>
-</pre>
-<p>주 확장 디렉토리에서 로드되는 모든 파일들은 (만약 존재한다면) 다음 하위 디렉토리로부터 로드됩니다. </p>
-<pre class="eval">/platform/<i>{platform string}</i>
-</pre>
-<p>예를 들어, 리눅스, 매킨토시, 윈도우에서 돌아가는 플러그인을 만들고자 하는 경우, 제작사는 다음과 같은 파일들을 제공하게 됩니다. </p>
-<pre class="eval">/platform/Linux_x86-gcc3/plugins/libMyPlugin.so
-/platform/WINNT_x86-msvc/plugins/MyPlugin.dll
-/platform/Darwin_ppc-gcc3/plugins/libMyPlugin.dylib
-</pre>
-<p>XPT 파일들은 플랫폼 종속적이 아니기 때문에 모든 관련된 XPT 파일들은 일단 컴포넌트 디렉토리에 저장됩니다. </p>
-<pre class="eval">/components/MyPlugin.xpt
-</pre>
-<p>만약 확장 기능이 플랫폼 종속적이지만 바이너리가 아닌 경우에는 ( 스크립트에서 윈도우 레지스트리를 참조하는 경우와 같이 ), 다음과 같이 운영 체제 이름만을 플랫폼 하위 디렉토리로 사용할 수 있습니다. </p>
-<pre class="eval">/platform/WINNT/components/registerDoctype.js
-</pre>
-<p>플랫폼 종속적인 JAR 파일들이 사용되는 경우, 각 플랫폼 디렉토리에는 각각의 <code>chrome.manifest</code>파일이 저장되어 있어야 합니다. </p>
-<pre class="eval">chrome.manifest
-chrome/mytheme-base.jar
-platform/Darwin/chrome.manifest
-platform/Darwin/chrome/mytheme-mac.jar
-platform/WINNT/chrome.manifest
-platform/WINNT/chrome/mytheme-win.jar
-</pre>
-<p>app/extension loader 는 베이스 디렉토리를 먼저 처리한 후, 적용 가능한 플랫폼 디렉토리를 처리합니다. ( 먼저 /{OS_TARGET}/을 처리하고, /{OS_TARGET}_{<a href="ko/XPCOM_ABI">TARGET_XPCOM_ABI</a>}/를 처리합니다. ) 만약 여러 개의 디렉토리들에 기본 설정들이 정의되어 있는 경우에는 나중에 로드되는 항목이 먼저 로딩된 항목을 덮어쓰게 됩니다. </p>
-<h3 id="어플리케이션_종속적인Application-specific_확장_기능_파일들"> 어플리케이션 종속적인(Application-specific) 확장 기능 파일들 </h3>
-<p>위에 기술된 확장 기능 파일들 외에, 어플리케이션의 경우 확장 기능으로부터 추가적인 파일을 읽을 수도 있습니다. 예를 들어 <a href="ko/Firefox_1.5">Firefox 1.5</a> 나 상위 버전의 경우, </p>
-<pre class="eval">/searchplugins/*.src
-</pre>
-<p>로부터 Sherlock 검색 플러그인을 읽을 수도 있습니다. <a href="ko/Firefox_2">Firefox 2</a> 와 그 상위 버전들은 </p>
-<pre class="eval">/searchplugins/*.xml
-</pre>
-<p>디렉토리로부터 <a href="ko/Creating_MozSearch_plugins">MozSearch and OpenSearch plugins</a>를, </p>
-<pre class="eval">/dictionaries/*.{aff|dic}
-</pre>
-<p>디렉토리로부터 Myspell 사전을 읽을 수도 있습니다. </p>
-<h3 id="Toolkit_API_에_대한_공식_문서"> <a href="ko/Toolkit_API">Toolkit API</a> 에 대한 공식 문서 </h3>
-<p>
- </p><ul>
- <li><a href="/ko/Bundles" title="ko/Bundles">설치 가능한 번들</a>: 설치 가능한 번들(확장 기능, 테마, XULRunner 어플리케이션 등)에 대하여 기술하고 있습니다.</li>
- <li><a href="/ko/Extension_Packaging" title="ko/Extension_Packaging">확장기능 포장</a>: 확장 기능을 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/ko/Theme_Packaging" title="ko/Theme_Packaging">테마 포장</a>: 테마 기능을 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/Ko/Multiple_Item_Packaging" title="Ko/Multiple_Item_Packaging">여러 항목을 포함한 XPI 포장</a>: 여러 항목들이 포함되는 XPI 를 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/ko/XUL_Application_Packaging" title="ko/XUL_Application_Packaging">XUL 응용프로그램 포장</a>: XULRunner 응용프로그램을 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/ko/Chrome_Registration" title="ko/Chrome_Registration">Chrome 등록</a>: Chrome의 등록하는 방법에 대한 정보를 제공합니다.</li>
- </ul>
diff --git a/files/ko/creating_a_microsummary/index.html b/files/ko/creating_a_microsummary/index.html
deleted file mode 100644
index 4c2b8c9734..0000000000
--- a/files/ko/creating_a_microsummary/index.html
+++ /dev/null
@@ -1,169 +0,0 @@
----
-title: Creating a Microsummary
-slug: Creating_a_Microsummary
-translation_of: Archive/Mozilla/Creating_a_microsummary
----
-<p>Microsummary Generator는 웹 페이지 내용으로부터 Microsummary를 생성하기 위한 명령어를 포함하고 있니다.웹 페이지는 Generators를 <code>&lt;head&gt;</code> 요소의 <code>&lt;link rel="microsummary"&gt;</code>요소에 의해 참조할 수 있습니다. Generators는 이것이 적용되는 웹 페이지 목록을 가지고 있는 경우, 사용자에 의해 개별적으로 다운로드하거나 설치할 수 있습니다.</p>
-<p>이 튜토리얼에서는,<a class="external" href="http://www.spreadfirefox.com/">Spread Firefox home page</a>용으로 Firefox 의 현재 다운로드수를 <cite>Fx downloads</cite>와 함께 표시하는 Microsummary Generators를 만들어 보겠습니다. 예제 <cite>174475447 Fx downloads</cite></p>
-<p>웹 페이지에서 Microsummary로 변환하려면 XSLT 변환 시트를 작성해 Generators를 웹 페에지에 적용하기 위한 방법을 통해 Generators를 다운로드 및 설치 할 수 있도록 합니다.</p>
-<p>이 입문서에서는, 단계 마다 변환 시트나 그 외의 코드에서 추가된 새로운 항목은 알기 쉽게 <b>굵은 글씨로</b> 표시합니다.</p>
-<h2 id=".EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0" name=".EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0">시작하기</h2>
-<p>Generators는 <cite><a class="external" href="http://www.mozilla.org/microsummaries/0.1" rel="freelink">http://www.mozilla.org/microsummaries/0.1</a></cite>을 네임 스페이스로 하여 기본 요소가 <code>&lt;generator&gt;</code>인 XML 문서로 표현됩니다. Generators를 작성하려면 우선 신규로 텍스트 파일을 만들어 XML 선언과 <code>&lt;generator&gt;</code> 태그를 추가합니다.</p>
-<pre class="eval"><b>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</b>
-<b>&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"&gt;</b>
-<b>&lt;/generator&gt;</b>
-</pre>
-<h2 id=".EB.AA.85.EB.AA.85.ED.95.98.EA.B8.B0" name=".EB.AA.85.EB.AA.85.ED.95.98.EA.B8.B0">명명하기</h2>
-<p>Generators가 생성되었으면 Microsummary에 대한 이름으로서 <code>name</code> 속성을 가질 필요가 있습니다.이름은 이 Microsummary에서 어떤 정보를 제공하는지 사용자에게 명확하게 나타내 주는 것으로 정합니다.만드려는 Generators가 Firefox의 다운로드 수를 표시하는 Microsummary이므로 "Firefox Download Count"라는 이름을 붙이기로 하겠습니다.</p>
-<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
- <b>name="Firefox Download Count"</b>&gt;
-&lt;/generator&gt;
-</pre>
-<h2 id="XSLT_Sheet_.EC.B6.94.EA.B0.80" name="XSLT_Sheet_.EC.B6.94.EA.B0.80">XSLT Sheet 추가</h2>
-<p>Generators는 웹 페이지 내용을 Microsummary로 변환할 때 XSLT 변환 시트를 포함해야 합니다. XSLT는 같은 정보를 가진 문서를 다른 형식으로 표현하기 위한 강력한 언어입니다.</p>
-<p>Generators에 <code>&lt;template&gt;</code> 둘러싸는 XSLT 변환 시트를 추가합니다.</p>
-<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
- name="Firefox Download Count"&gt;
- <b>&lt;template&gt;</b>
- <b>&lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;</b>
- <b>&lt;/transform&gt;</b>
- <b>&lt;/template&gt;</b>
-&lt;/generator&gt;
-</pre>
-<p>Microsummary Generators는 내용을 출력하는 임의의 XSLT를 포함하지만 Firefox는 현재 XSLT의 내용 출력만 제공함을 유의하시기 바랍니다.</p>
-<h2 id=".EC.B6.9C.EB.A0.A5_.ED.98.95.EC.8B.9D_.EC.A7.80.EC.A0.95" name=".EC.B6.9C.EB.A0.A5_.ED.98.95.EC.8B.9D_.EC.A7.80.EC.A0.95">출력 형식 지정</h2>
-<p>XSLT 변환 시트는 텍스트 형식의 Microsummary를 생성하므로 XSLT <code>&lt;output&gt;</code> 요소로 이것을 지정합니다.</p>
-<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
- name="Firefox Download Count"&gt;
- &lt;template&gt;
- &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
- <b>&lt;output method="text"/&gt;</b>
- &lt;/transform&gt;
- &lt;/template&gt;
-&lt;/generator&gt;
-</pre>
-<h2 id=".EA.B0.84.EB.8B.A8.ED.95.9C_XSLT_.3Ctemplate.3E_.EC.82.AC.EC.9A.A9" name=".EA.B0.84.EB.8B.A8.ED.95.9C_XSLT_.3Ctemplate.3E_.EC.82.AC.EC.9A.A9">간단한 XSLT <code>&lt;template&gt;</code> 사용</h2>
-<p>XSLT 프로세서는 변환 시트의 XSLT <code>&lt;template&gt;</code> 요소를 문서의 노드 집합과 비교하는 것으로 문서를 변환합니다.<code>&lt;template&gt;</code> 의 <code>match</code> 속성이 있는 노드와 맞으면 프로세서는 요소의 컨텐츠로 정의된 변환을 실행합니다.</p>
-<p>문서의 노드 트리를 탐색해 문서의 내용에 근거해 재귀적으로 출력을 생성할 수 있으므로 이 메카니즘은 매우 강력합니다.그러나, Spread Firefox의 Microsummary를 생성하는 목적에 있어서는 문서의 루트 요소에 매치하는 단일한 <code>&lt;template&gt;</code> 요소만이 필요합니다.</p>
-<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
- name="Firefox Download Count"&gt;
- &lt;template&gt;
- &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
- &lt;output method="text"/&gt;
- <b>&lt;template match="/"&gt;</b>
- <b>&lt;/template&gt;</b>
- &lt;/transform&gt;
- &lt;/template&gt;
-&lt;/generator&gt;
-</pre>
-<h2 id=".EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C.EC.88.98_.EA.B0.80.EC.A0.B8.EC.98.A4.EA.B8.B0" name=".EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C.EC.88.98_.EA.B0.80.EC.A0.B8.EC.98.A4.EA.B8.B0">다운로드수 가져오기</h2>
-<p>XSLT 변환 시트의 출력에 다운로드수를 포함하려면 템플릿에 XSLT의 <code>&lt;value-of&gt;</code> 요소를 추가해야 합니다. <code>select</code> 속성에는 다운로드수를 포함한 노드를 지시하는 XPath를 기입합니다.</p>
-<p>XPath는 HTML/XML 문서의 노드를 특정하기 위한 언어입니다.이것에는 노드와 내용을 조작하기 위한 기본적인 기능이 포함되어 있습니다. 특정 노드를 표현하는 XPath를을 얻는 가장 빠른 사용 방법은 [<a class="link-https" href="https://addons.mozilla.org/firefox/1095/" rel="freelink">https://addons.mozilla.org/firefox/1095/</a> 확장 기능 XPath Checker]을 사용하는 것입니다.</p>
-<p>확장 기능을 설치 하기 위해서는 Firefox 다시 시작합니다. <a class="external" href="http://www.spreadfirefox.com/">Spread Firefox 홈 페이지</a>에 가서 Firefox의 다운로드수를 찾아내(오른쪽 맨 밑의 큰 수치) 숫자 위에서 오른쪽을 클릭해 context menu로부터 <cite>View XPath</cite>을 선택합니다..</p>
-<p>XPath Checker는 새 창을 엽니다. 창에는 <cite>XPath</cite>필드가 포함되어 거기에는 다운로드수를 나타내는 노드를 가리키는 XPath 기술: <cite>id('download-count')</cite>이라고 표현됩니다.</p>
-<p>XSLT의 <code>&lt;template&gt;</code>요소에 <code>&lt;value-of&gt;</code>요소를 추가해,<code>select</code> 속성에 XPath 내용을 기입합니다.</p>
-<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
- name="Firefox Download Count"&gt;
- &lt;template&gt;
- &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
- &lt;output method="text"/&gt;
- &lt;template match="/"&gt;
- <b>&lt;value-of select="id('download-count')"/&gt;</b>
- &lt;/template&gt;
- &lt;/transform&gt;
- &lt;/template&gt;
-&lt;/generator&gt;
-</pre>
-<h2 id=".EB.82.B4.EC.9A.A9_.EC.B6.94.EA.B0.80" name=".EB.82.B4.EC.9A.A9_.EC.B6.94.EA.B0.80">내용 추가</h2>
-<p>Microsummary에 <cite>Fx downloads</cite>를 추가하려면 추가하고 싶은 컨텐츠를 가진 XSLT의 <code>&lt;text&gt;</code> 요소를 XSLT의 <code>&lt;template&gt;</code> 요소에 추가할 필요가 있습니다.</p>
-<p>Add a <code>&lt;text&gt;</code> element to the XSLT template with the content <cite>Fx downloads</cite>:</p>
-<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
- name="Firefox Download Count"&gt;
- &lt;template&gt;
- &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
- &lt;output method="text"/&gt;
- &lt;template match="/"&gt;
- &lt;value-of select="id('download-count')"/&gt;
- <b>&lt;text&gt; Fx downloads&lt;/text&gt;</b>
- &lt;/template&gt;
- &lt;/transform&gt;
- &lt;/template&gt;
-&lt;/generator&gt;
-</pre>
-<p>여러개의 공백을 포함할 수 있는 HTML과 달리 XSLT 태그간의 공백은 XSLT 출력에는 포함되지 않기 때문에, 다운로드수와 분리하기 위한 공백을 추가하는 것에 주의해 주세요.</p>
-<p>이로서 Spread Firefox 홈 페이지를 Microsummary를 변환한 XSLT 변환 시트의 작성은 끝났습니다.</p>
-<h2 id="Generators_.EC.A0.81.EC.9A.A9_.EC.9B.B9_.ED.8E.98.EC.9D.B4.EC.A7.80_.EC.A7.80.EC.A0.95" name="Generators_.EC.A0.81.EC.9A.A9_.EC.9B.B9_.ED.8E.98.EC.9D.B4.EC.A7.80_.EC.A7.80.EC.A0.95">Generators 적용 웹 페이지 지정</h2>
-<p>여기까지 변환 시트의 작성을 마쳤으므로 그 다음 이것을 적용하는 웹 페이지를 지정할 필요가 있습니다.만약 우리가 Spread Firefox의 웹 관리자라면, <code>&lt;head&gt;</code> 요소에 <code>&lt;link rel="microsummary"&gt;</code> 태그를 추가하는 것으로써 웹페이지 자신으로부터 Generator 작성이 끝납니다.</p>
-<pre class="eval">&lt;head&gt;
- ...
- <b>&lt;link rel="microsummary" href="path/to/our/generator.xml"&gt;</b>
-&lt;/head&gt;
-</pre>
-<p><br>
- 비록 사이트 관리자가 아니지만 Generator 안에 어느 페이지에 적용하는 지정하여 다운로드나 설치하도록 할 수 있습니다. 이를 위해서는 <code>&lt;generator&gt;</code> 요소에서 <code>&lt;pages&gt;</code> 요소를 사용합니다.</p>
-<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>"
- name="Firefox Download Count"&gt;
- &lt;template&gt;
- &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
- &lt;output method="text"/&gt;
- &lt;template match="/"&gt;
- &lt;value-of select="id('download-count')"/&gt;
- &lt;text&gt; Fx downloads&lt;/text&gt;
- &lt;/template&gt;
- &lt;/transform&gt;
- &lt;/template&gt;
- <b>&lt;pages&gt;</b>
- <b>&lt;/pages&gt;</b>
-&lt;/generator&gt;
-</pre>
-<p><code>&lt;pages&gt;</code>요소는 Generator를 적용하거나 혹은 적용하지 않은 페이지를 지정하는 <code>&lt;include&gt;</code> 혹은 <code>&lt;exclude&gt;</code>을 표시할 수 있습니다.</p>
-<p><br>
- Generators를 웹 페이지에 적용하려면 <code>&lt;include&gt;</code> 요소를 추가합니다. 내용은 웹 페이지와 연결 시키는 정규 표현입니다. Generators를 페이지에 적용시키지 않으려면<code>&lt;exclude&gt;</code> 요소를 추가합니다.</p>
-<p>기본적으로 Generators는 어느 페이지에도 적용되지 않기 때문에 적용하는 페이지를 명시적으로 지정할 필요가 있습니다.이전 적용하고 있던 페이지가 없는 한 어느 페이지도 적용을 제외할 필요는 없습니다.</p>
-<p>Spread Firefox의 홈 페이지에 연결하는 <code>&lt;include&gt;</code> 요소를 추가합니다.</p>
-<pre class="eval">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;generator xmlns="<span class="nowiki">http://www.mozilla.org/microsummaries/0.1</span>" name="Firefox Download Count"&gt;
- &lt;template&gt;
- &lt;transform xmlns="<span class="nowiki">http://www.w3.org/1999/XSL/Transform</span>" version="1.0"&gt;
- &lt;output method="text"/&gt;
- &lt;template match="/"&gt;
- &lt;value-of select="id('download-count')"/&gt;
- &lt;text&gt; Fx downloads&lt;/text&gt;
- &lt;/template&gt;
- &lt;/transform&gt;
- &lt;/template&gt;
- &lt;pages&gt;
- <b>&lt;include&gt;<span class="nowiki">http://(www.)?spreadfirefox.com/(index.php)?</span>&lt;/include&gt;</b>
- &lt;/pages&gt;
-&lt;/generator&gt;
-</pre>
-<h2 id="Generators_.EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C_.ED.95.98.EA.B8.B0" name="Generators_.EB.8B.A4.EC.9A.B4.EB.A1.9C.EB.93.9C_.ED.95.98.EA.B8.B0">Generators 다운로드 하기</h2>
-<p>Generators가 적용된 Spread Firefox 홈 페이지에 적용할 수 있게 되었으므로 마지막 할일은 이것을 다운로드할 수 있도록 하는 것 뿐입니다.그러기 위해서 이것을 웹에 두어 어딘가의 페이지에 JavaScript의 링크를 작성할 필요가 있습니다.이 링크는 Generators 다운로드와 설치를 위한 Firefox의 <cite>window.sidebar.addMicrosummaryGenerator()</cite> 메소드를 호출 하도록 합니다.</p>
-<p><br>
- 예를 들면,Generators를 <a class="external" href="http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml에" rel="freelink">http://people.mozilla.com/~myk/micro...generator.xml에</a> 두고 <a class="external" href="http://people.mozilla.com/~myk/microsummaries/tutorial/index.html로" rel="freelink">http://people.mozilla.com/~myk/micro...al/index.html로</a> 부터 설치 하도록 하고 싶으면 다음과 같은 코드를 <cite>index.html</cite>에 추가합니다.</p>
-<pre class="eval"><b>&lt;a href="javascript:window.sidebar.addMicrosummaryGenerator('<span class="nowiki">http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml</span>')"&gt;Install the Spread Firefox home page microsummary!&lt;/a&gt;</b>
-</pre>
-<p>Microsummary를 지원 하지 않는 웹 브라우저로 이 링크를 클릭하면 JavaScript의 에러가 발생합니다만 사용자 경험(experience)을 향상시키기 위해 Microsummary를 제공하는 브라우저를 사용하고 있을지를 조사하고 그렇지 않다면 설명을 표시해야 하겠지요.예를 들면 다음과 같은 코드입니다.</p>
-<pre class="eval"><b>&lt;script&gt;</b>
-<b> const warning = "Sorry, you need a microsummary-enabled browser like Firefox 2.0 to install and use microsummary generators.";</b>
-<b> function addGenerator(url) {</b>
-<b> if (typeof window.sidebar == "object" &amp;&amp;</b>
-<b> typeof window.sidebar.addMicrosummaryGenerator == "function")</b>
-<b> window.sidebar.addMicrosummaryGenerator(url);</b>
-<b> else</b>
-<b> alert(warning);</b>
-<b> }</b>
-<b>&lt;/script&gt;</b>
-<b>&lt;a href="javascript:addGenerator('<span class="nowiki">http://people.mozilla.com/~myk/microsummaries/tutorial/sfx-generator.xml</span>')"&gt;Install the Spread Firefox home page microsummary!&lt;/a&gt;</b>
-</pre>
-<p>{{ Bug(341283) }}에 의해,<cite>addMicrosummaryGenerator()</cite>는 상대 URL을 받아들이지 않는 것에 주의해 주세요.</p>
-<h2 id=".EB.A7.88.EC.B9.98.EB.A9.B0" name=".EB.A7.88.EC.B9.98.EB.A9.B0">마치며</h2>
-<p>이것을 설치 하면 최신 Firefox 다운로드수를 표시하는 Microsummary Generator를 사용 할 수 있습니다. Spread Firefox 홈 페이지를 북마크하고, <cite>Add Bookmark</cite> 대화상자의 <cite>Summary</cite> 드롭 다운 메뉴로부터 Microsummary를 선택해 주세요.</p>
-<p>Microsummary 에 관한 상세한 정보는 <a class="external" href="http://wiki.mozilla.org/Microsummaries">Microsummaries home page</a>를 참조해 주세요.</p>
diff --git a/files/ko/creating_mozsearch_plugins/index.html b/files/ko/creating_mozsearch_plugins/index.html
deleted file mode 100644
index e142f00592..0000000000
--- a/files/ko/creating_mozsearch_plugins/index.html
+++ /dev/null
@@ -1,169 +0,0 @@
----
-title: Creating MozSearch plugins
-slug: Creating_MozSearch_plugins
-tags:
- - Search plugins
-translation_of: Mozilla/Creating_MozSearch_plugins
----
-<p>Firefox 2에서는 검색 플러그 인을 작성하기 위해서 Amazon A9의 OpenSearch포맷을 단순화한 MozSearch를 지원 하고 있습니다. OpenSearch 검색 플러그 인도 물론 지원 되고 있습니다. 자세한 것은 <a class="external" href="http://opensearch.a9.com/">OpenSearch</a> 사이트를 참조해 주세요.</p>
-<p>MozSearch 검색 플러그인은 검색 엔진과 URL을 해석하는데 필요한 요소들을 정의한 XML파일입니다.</p>
-<div class="note">
- <b>주의:</b> MozSearch는 Firefox에서만 지원됩니다. 만약 다른 웹 브라우저 호환이 되는 플러그인을 사용하고 싶다면 표준 OpenSearch 포맷을 사용해야 합니다. 두 포맷은 매우 비슷해서 바꾸는 데 큰 문제는 없습니다.</div>
-<h2 id=".ED.94.8C.EB.9F.AC.EA.B7.B8_.EC.9D.B8_.ED.8C.8C.EC.9D.BC" name=".ED.94.8C.EB.9F.AC.EA.B7.B8_.EC.9D.B8_.ED.8C.8C.EC.9D.BC">플러그 인 파일</h2>
-<p>검색 엔진을 설명하는 XML파일은 매우 간단하고 기본적인 템플릿입니다. 이탤릭으로 되어 있는 곳은는 쓰고 있는 검색 엔진의 필요에 따라 바꿀 수 있습니다.</p>
-<pre class="eval">&lt;SearchPlugin xmlns="<span class="nowiki">http://www.mozilla.org/2006/browser/search/</span>"&gt;
-&lt;ShortName&gt;<i>engineName</i>&lt;/ShortName&gt;
-&lt;Description&gt;<i>engineDescription</i>&lt;/Description&gt;
-&lt;InputEncoding&gt;<i>inputEncoding</i>&lt;/InputEncoding&gt;
-&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,<i>imageData</i>&lt;/Image&gt;
-&lt;Url type="text/html" method="<i>method</i>" template="<i>searchURL</i>"&gt;
- &lt;Param name="<i>paramName1</i>" value="<i>paramName1</i>"/&gt;
- ...
- &lt;Param name="<i>paramNameN</i>" value="<i>paramValueN</i>"/&gt;
-&lt;/Url&gt;
-&lt;Url type="application/x-suggestions+json" template="<i>suggestionURL</i>"/&gt;
-&lt;SearchForm&gt;<i>searchFormURL</i>&lt;/SearchForm&gt;
-&lt;/SearchPlugin&gt;
-</pre>
-<dl>
- <dt>
- <b>ShortName</b></dt>
- <dd>
- 검색 엔진에 대한 간단한 이름.</dd>
- <dt>
- <b>Description</b></dt>
- <dd>
- 검색 엔진에 대한 간단한 설명.</dd>
- <dt>
- <b>InputEncoding</b></dt>
- <dd>
- 검색 엔진이 데이터 입력에 사용하는 문자 인코딩 방식.</dd>
- <dt>
- <b>Image</b></dt>
- <dd>
- 검색 엔진을 표시하는 Base-64로 인코딩 된 16x16의 아이콘. 이 코드를 작성하는데 사용할 수 있는 편리한 <a class="external" href="http://software.hixie.ch/utilities/cgi/data/data">The data: URI kitchen</a>을 사용할 수 있습니다.</dd>
- <dt>
- <b>Url</b></dt>
- <dd>
- 검색에 사용한다 한 개 또는 복수의 URL. <code>method</code> 속성은 결과를 얻기 위해서 code&gt;GET&lt;/code&gt;과 <code>POST</code> 요청 어느 쪽을 사용하는지 지정합니다.<code>template</code> 속성은 검색 쿼리의 기본이 되는 URL을 지정합니다.</dd>
-</dl>
-<dl>
- <dd>
- 당신이 설정할 수 있는 두 가지 URL 형식이 있습니다:</dd>
-</dl>
-<ul>
- <li><code>type="text/html"</code>는 실제 검색 결과 그 자체의 URL을 설정하기 위해서 사용됩니다.</li>
- <li><code>type="application/x-suggestions+json"</code>는 검색 키워드 자동 완성 기능에 사용되는 URL을 설정하기 위해서 사용됩니다.</li>
-</ul>
-<dl>
- <dd>
- 어느 쪽의 URL을 사용하던지 사용자가 검색 플러그인에 입력한 검색 키워드로 <code>{searchTerms}</code>을 사용할 수 있습니다.</dd>
-</dl>
-<dl>
- <dd>
- 검색 자동완성 기능의 쿼리로 지정된 URL 템플릿은 JSON 형식으로 제공 되어야 합니다. 서버 상에서 검색 자동완성 기능을 개발하는 것에 대해서는 <a href="ko/Supporting_search_suggestions_in_search_plugins">검색 플러그인에서 자동 완성 지원</a>을 참고하십시오.</dd>
-</dl>
-<p><br>
- <img alt="Image:SearchSuggestionSample.png"></p>
-<dl>
- <dt>
- <b>Param</b></dt>
- <dd>
- 검색 쿼리를 통과 시키기 위해 필요한 키값의 페어 파라미터입니다.이 값을 지정하면 사용자가 검색 바에 입력한 검색 어구를 삽입하기 위한 <code>{searchTerms}</code>을 사용할 수 있습니다.</dd>
-</dl>
-<dl>
- <dt>
- <b>SearchForm</b></dt>
- <dd>
- 플러그 인 사이트의 검색 페이지를 열기 위한 URL. 이것은 Firefox에 사용자가 직접 웹 사이트를 방문하는 방법을 제공합니다.</dd>
-</dl>
-<h2 id=".EA.B2.80.EC.83.89_.EC.97.94.EC.A7.84_.EC.9E.90.EB.8F.99_.EC.B0.BE.EA.B8.B0" name=".EA.B2.80.EC.83.89_.EC.97.94.EC.A7.84_.EC.9E.90.EB.8F.99_.EC.B0.BE.EA.B8.B0">검색 엔진 자동 찾기</h2>
-<p>검색 플러그 인을 제공하고 있는 웹 사이트는 Firefox 사용자가 플러그 인을 간단하게 다운로드해 인스톨 할 수 있도록 알려 줄 수 있습니다.</p>
-<p>자동 찾기를 지원하려면, 웹페이지 <code>&lt;HEAD&gt;</code> 요소에 아래 내용을 추가하면 됩니다.:</p>
-<pre class="eval">&lt;link rel="search" type="application/opensearchdescription+xml" title="<i>searchTitle</i>" href="<i>pluginURL</i>"&gt;
-</pre>
-<p>이탤릭의 항목은 아래에서 설명하고 있습니다.:</p>
-<dl>
- <dt>
- <b>searchTitle</b></dt>
- <dd>
- "MDC에서 검색" 이나 'Yahoo! 검색"과 같이 실행하는 검색의 이름입니다.이 값은, 플러그 인 파일의 ShortName과 일치시킬 필요가 있습니다.</dd>
-</dl>
-<dl>
- <dt>
- <b>pluginURL</b></dt>
- <dd>
- 웹 브라우저가 다운로드할 수 있는 XML 검색 플러그 인의 URL 입니다.</dd>
-</dl>
-<p>만약 당신의 웹 사이트가 다수의 검색 플러그 인을 제공하고 있다면 모두 자동 찾기를 지원하게 할 수 있습니다.예를 들면:</p>
-<pre class="eval">&lt;link rel="search" type="application/opensearchdescription+xml" title="MySite: 저자" href="<a class="external" href="http://www.mysite.com/mysiteauthor.xml" rel="freelink">http://www.mysite.com/mysiteauthor.xml</a>"&gt;
-&lt;link rel="search" type="application/opensearchdescription+xml" title="MySite: 제목" href="<a class="external" href="http://www.mysite.com/mysitetitle.xml" rel="freelink">http://www.mysite.com/mysitetitle.xml</a>"&gt;
-</pre>
-<p>이 방법으로 당신의 사이트는 저자로서 검색과 타이틀로서 검색을 다른 요소로 플러그 인을 제공할 수 있습니다.</p>
-<h2 id=".EC.98.88.EC.A0.9C:__Yahoo.21_.EA.B2.80.EC.83.89" name=".EC.98.88.EC.A0.9C:__Yahoo.21_.EA.B2.80.EC.83.89">예제: Yahoo! 검색</h2>
-<p>아래 XML 파일은 Yahoo! 검색을 이용하기 위해 Firefox2에 번들된 검색 플러그인 입니다.</p>
-<p> </p>
-<pre>&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"&gt;
-&lt;ShortName&gt;Yahoo&lt;/ShortName&gt;
-&lt;Description&gt;Yahoo Search&lt;/Description&gt;
-&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;
-&lt;SuggestionUrl&gt;http://ff.search.yahoo.com/gossip?output=fxjson&amp;command=&lt;/SuggestionUrl&gt;
-&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,R0lGODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0NogQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==&lt;/Image&gt;
-&lt;Url type="text/html" method="GET" template="http://search.yahoo.com/search"&gt;
- &lt;Param name="p" value="{searchTerms}"/&gt;
- &lt;Param name="ei" value="UTF-8"/&gt;
- &lt;Param name="fr" value="moz2"/&gt;
-&lt;/Url&gt;
-&lt;SearchForm&gt;http://search.yahoo.com/&lt;/SearchForm&gt;
-&lt;/SearchPlugin&gt;
-</pre>
-<p>만약 사용자가 Yahoo! 검색 엔진 플러그인을 선택해 검색 상자에 'mozilla'라고 입력한 후 엔터키를 누르면 Firefox는 검색 기능을 수행하기 위해 플러그인에서 설명된 방법을 사용합니다.</p>
-<pre class="eval"><span class="nowiki">http://search.yahoo.com/search?p=mozilla&amp;ei=UTF-8&amp;fr=moz2</span>
-</pre>
-<p><br>
- 만약 사용자가 검색 플러그인의 확대경 아이콘을 클릭하면, 웹 사이트로 이동합니다. 도구 메뉴 웹 검색 옵션을 선택하면, 브라우저는 <code>&lt;SearchForm&gt;</code>에 &lt;tt&gt;<span class="nowiki">http://search.yahoo.com/</span>&lt;/tt&gt;을 포함 합니다.</p>
-<h2 id=".EC.98.88.EC.A0.9C_MDC_.EA.B2.80.EC.83.89" name=".EC.98.88.EC.A0.9C_MDC_.EA.B2.80.EC.83.89">예제 MDC 검색</h2>
-<p>이 플러그 인으로 Mozilla Developer Center의 웹 사이트를 간단하게 검색할 수 있습니다.</p>
-<pre>&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"&gt;
-&lt;ShortName&gt;MDC&lt;/ShortName&gt;
-&lt;Description&gt;Mozilla Developer Center search&lt;/Description&gt;
-&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;
-&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz%2F%2Fz8DJQAggJiQOe%2Ffv2fv7Oz8rays%2FN%2BVkfG%2FiYnJfyD%2F1%2BrVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw%2F8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq%2FvLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD%2BaDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D&lt;/Image&gt;
-&lt;Url type="text/html" method="GET" template="http://developer.mozilla.org/en/docs/Special:Search?search={searchTerms}"/&gt;
-&lt;SearchForm&gt;http://developer.mozilla.org/en/docs/Special:Search&lt;/SearchForm&gt;
-&lt;/SearchPlugin&gt;
-</pre>
-<p><br>
- 예제에서는 검색 엔진의 파라미터를 정의하기 위해 <code>&lt;Param&gt;</code>는 아니고 단순하게 템플릿 URL을 사용하고 있는 것에 주의해 주십시오. 이것은 실제로 메소드로서 <code>GET</code>을 사용할 때에 적당한 방법입니다. <code>&lt;Param&gt;</code>는 <code>POST</code>을 위해 사용해야 합니다.</p>
-<p> </p>
-<h2 id=".EB.AC.B8.EC.A0.9C_.ED.95.B4.EA.B2.B0_.EB.B0.A9.EB.B2.95" name=".EB.AC.B8.EC.A0.9C_.ED.95.B4.EA.B2.B0_.EB.B0.A9.EB.B2.95">문제 해결 방법</h2>
-<p>만약 당신의 검색 플러그 인 XML 파일에 오류가 있으면 Firefox 2에 플러그 인을 추가할 때에 에러를 나타내게 될 것입니다. 에러 메세지는 완전한 것은 아니지만 문제를 찾는 데 도움이 될 것입니다.</p>
-<ul>
- <li>검색 플러그 인이 정형식well formed 인가 확인해 주십시오. 파일을 Firefox에 직접 읽어들이게 하는 것에 의해서 확인할 수 있습니다. 템플릿 URL안의 ampersand(&amp;)(&amp;) 이하 &amp;amp;가 Escape가 된 태그는 마지막의 slash나 일치하는 종료 태그로 닫혀져야 합니다.</li>
-</ul>
-<ul>
- <li><code>xmlns</code> 속성은 중요합니다.<code>xmlns</code> 속성 없이는 "Bon Echo could not download the plugin from (URL)"이라는 에러 메시지가 표시됩니다.</li>
-</ul>
-<p>또한, 검색 플러그 인 서비스는 플러그 인 개발자가 사용할 로그의 구조를 제공합니다.
- <i>
- about:config</i>
- 의 '<code>browser.search.log</code>'을 <code>true</code>로 해야 합니다. 검색 플러그 인이 추가되면 로그 정보가 Firefox 의<a href="ko/JavaScript_Console">오류 정보</a>(도구-&gt; 오류 정보)에 표시됩니다.</p>
-<h2 id="OpenSearch" name="OpenSearch">OpenSearch</h2>
-<p><a href="ko/Firefox_2">Firefox 2</a>의 검색 결과를 공유하기 위해서 Amazon A9의 <a class="external" href="http://opensearch.a9.com/">OpenSearch</a> 형식되 지원합니다. <a class="external" href="http://opensearch.a9.com/spec/1.1/description/">OpenSearch 사용법</a>을 이용해 XML 플러그인을 제작 했다면 <a class="external" href="http://www.mozilla.org/support/firefox/profile">사용자 프로필</a> 또는 어플리케이션 폴더, <a href="ko/Bundles">설치 번들</a> 안의 &lt;tt&gt;searchengines&lt;/tt&gt; 디렉토리에 넣어 줌으로서 검색엔진을 추가할 수 있습니다</p>
-<p>OpenSearch 파일은<a href="#.EA.B2.80.EC.83.89_.EC.97.94.EC.A7.84_.EC.9E.90.EB.8F.99_.EC.B0.BE.EA.B8.B0">검색 엔진 자동 찾기</a>에 설명한 방법을 통해 표시할 수 있습니다.</p>
-<p>OpenSearch 형식은 Mozilla SearchPlugin 형식과 닮아 있으나 가장 큰 차이는 루트 요소와 XML 네임 스페이스가 다른 것입니다.</p>
-<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"&gt;
-...
-&lt;/OpenSearchDescription&gt;
-</pre>
-<h2 id=".EC.B0.B8.EA.B3.A0_.EC.9E.90.EB.A3.8C" name=".EC.B0.B8.EA.B3.A0_.EC.9E.90.EB.A3.8C">참고 자료</h2>
-<ul>
- <li>A9.com <a class="external" href="http://opensearch.a9.com/">OpenSearch 문서</a></li>
- <li>Technorati.com <a class="external" href="http://technorati.com/osd.xml">osd.xml</a></li>
- <li>자동 찾기 방식: bugzilla {{ Bug(340208) }}</li>
- <li><a class="external" href="http://en.wikipedia.org/wiki/Data:_URI_scheme">&lt;tt&gt;data:&lt;/tt&gt; URI schema</a></li>
- <li><a class="external" href="http://www.searchplugins.net">searchplugins.net</a> - Firefox2에서 사용 가능한 OpenSearch</li>
-</ul>
-<p>플러그 인의 작성. <a class="external" href="http://www.searchplugins.net/pluginlist.aspx">작성된 검색 플러그 목록</a></p>
-<p>{{ languages( { "ca": "ca/Creaci_de_connectors_MozSearch", "en": "en/Creating_MozSearch_plugins", "it": "it/Creare_Plugin_MozSearch", "ja": "ja/Creating_MozSearch_plugins" } ) }}</p>
diff --git a/files/ko/creating_xpcom_components/an_overview_of_xpcom/index.html b/files/ko/creating_xpcom_components/an_overview_of_xpcom/index.html
deleted file mode 100644
index 03b5dbcba6..0000000000
--- a/files/ko/creating_xpcom_components/an_overview_of_xpcom/index.html
+++ /dev/null
@@ -1,531 +0,0 @@
----
-title: An Overview of XPCOM
-slug: Creating_XPCOM_Components/An_Overview_of_XPCOM
-tags:
- - XPCOM
-translation_of: Mozilla/Tech/XPCOM/Guide/Creating_components/An_Overview_of_XPCOM
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Creating_XPCOM_Components:Preface" style="float: left;">« 이전</a><a href="/ko/docs/Creating_XPCOM_Components:Using_XPCOM_Components">다음 »</a></p>
-</div> This is a book about XPCOM. The book is written in the form of a tutorial about creating XPCOM components, but it covers all major aspects, concepts, and terminology of the XPCOM component model along the way.<p></p>
-
-<p>This chapter starts with a quick tour of XPCOM - an introduction to the basic concepts and technologies in XPCOM and component development. The brief sections in this chapter introduce the concepts at a very high level, so that we can discuss and use them with more familiarity in the tutorial itself, which describes the creation of a Mozilla component called <strong>WebLock</strong>.</p>
-
-<h3 id="The_XPCOM_Solution" name="The_XPCOM_Solution">The XPCOM Solution</h3>
-
-<p>The Cross Platform Component Object Module (XPCOM) is a framework which allows developers to break up monolithic software projects into smaller modularized pieces. These pieces, known as<em>components</em> , are then assembled back together at runtime.</p>
-
-<p>The goal of XPCOM is to allow different pieces of software to be developed and built independently of one another. In order to allow interoperability between components within an application, XPCOM separates the<em>implementation</em> of a component from the<em>interface</em> , which we discuss in <a href="#Interfaces">Interfaces</a>. But XPCOM also provides several tools and libraries that enable the loading and manipulation of these components, services that help the developer write modular cross-platform code, and versioning support, so that components can be replaced or upgraded without breaking or having to recreate the application. Using XPCOM, developers create components that can be reused in different applications or that can be replaced to change the functionality of existing applications.</p>
-
-<p>XPCOM not only supports component software development, it also provides much of the functionality that a development platform provides, such as:</p>
-
-<ul>
- <li>component management</li>
- <li>file abstraction</li>
- <li>object message passing</li>
- <li>memory management</li>
-</ul>
-
-<p>We will discuss the above items in detail in the coming chapters, but for now, it can be useful to think of XPCOM as a<em>platform for component development</em> , in which features such as those listed above are provided.</p>
-
-<h3 id="Gecko" name="Gecko">Gecko</h3>
-
-<p>Although it is in some ways structurally similar to Microsoft COM, XPCOM is designed to be used principally at the application level. The most important use of XPCOM is within<em>Gecko</em> , an open source, standards compliant, embeddable web browser and toolkit for creating web browsers and other applications.</p>
-
-<p>XPCOM is the means of accessing Gecko library functionality and embedding or extending Gecko. This book focuses on the latter - extending Gecko - but the fundamental ideas in the book will be important to developers embedding Gecko as well.</p>
-
-<p>Gecko is used in many internet applications, mostly browsers. The list includes devices such as the Gateway/AOL Instant AOL device and the Nokia Media Terminal. Gecko is also used in the latest Compuserve client, AOL for Mac OS X, Netscape 7, and of course the Mozilla client. At this time, Gecko is the predominant open source web browser.</p>
-
-<h3 id="Components" name="Components">Components</h3>
-
-<p>XPCOM allows you to build a system in which large software projects can be broken up into smaller pieces. These pieces, known as components, are usually delivered in small, reusable binary libraries (a <abbr title="Dynamic Link Library">DLL</abbr> on Windows, for example, or a <abbr title="Distributed Shared Object">DSO</abbr> on Unix), which can include one or more components. When there are two or more related components together in a binary library, the library is referred to as a<em>module</em> .</p>
-
-<p>Breaking software into different components can help make it less difficult to develop and maintain. Beyond this, modular, component-based programming has some well-known advantages:</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">Benefit</td>
- <td class="header">Description</td>
- </tr>
- <tr>
- <td>재사용</td>
- <td>모듈화된 코드는 다른 응용프로그램들과 문맥들에서 재사용 될 수 있다.</td>
- </tr>
- <tr>
- <td>갱신</td>
- <td>전체 응용프로그램을 재컴파일하지 않고 컴포넌트들을 갱신할 수 있다.</td>
- </tr>
- <tr>
- <td>성능</td>
- <td>코드가 모듈화되면, 곧바로 필요하지 않은 모듈들은 메모리에 늦게 적재되거나(lazy loaded), 아예 적제되지 않아 응용프로그램의 성능을 향상시키는 효과를 가져올 수 있다.</td>
- </tr>
- <tr>
- <td>관리</td>
- <td>Even when you are not updating a component, designing your application in a modular way can make it easier for you to find and maintain the parts of the application that you are interested in.</td>
- </tr>
- </tbody>
-</table>
-
-<p>Mozilla has over four million lines of code, and no single individual understands the entire codebase. The best way to tackle a project of this size is to divide it into smaller, more managable pieces, use a component programming model, and to organize related sets of components into modules. The network library, for example, consists of components for each of the protocols, HTTP, FTP, and others, which are bundled together and linked into a single library. This library is the networking module, also known as "necko."</p>
-
-<p>But it's not always a good idea to divide things up. There are some things in the world that just go together, and others that shouldn't be apart. For example, one author's son will not eat a peanutbutter sandwich if there isn't jam on it, because in his world, peanut butter and jam form an indelible union. Some software is the same. In areas of code that are tightly-coupled-in classes that are only used internally, for example-the expensive work to divide things may not be worth the effort.</p>
-
-<p>The <abbr title="Hypertext Transfer Protocol">HTTP</abbr> component in Gecko doesn't expose private classes it uses as separate components. The "stuff" that's internal to the component stays internal, and isn't exposed to XPCOM. In the haste of early Mozilla development, components were created where they were inappropriate, but there's been an ongoing effort to remove XPCOM from places like this.</p>
-
-<h3 id=".EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4" name=".EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4">인터페이스</h3>
-
-<p>It's generally a good idea to break software into components, but how exactly do you do this? The basic idea is to identify the pieces of functionality that are related and understand how they communicate with each other. The communication channels between different component form boundaries between those components, and when those boundaries are formalized they are known as<em>interfaces</em> .</p>
-
-<p>Interfaces aren't a new idea in programming. We've all used interfaces since our first "HelloWorld" program, where the interface was between the code we actually wrote-the application code-and the printing code. The application code used an interface from a library, <code>stdio</code>, to print the "hello world" string out to the screen. The difference here is that a "HelloWorld" application in XPCOM finds this screen-printing functionality at runtime and never has to know about <code>stdio</code> when it's compiled.</p>
-
-<p>Interfaces allow developers to<em>encapsulate</em> the implementation and inner workings of their software, and allow clients to ignore how things are made and just use that software.</p>
-
-<div class="side-note">
-<p><span id="Interfaces_and_Programming_by_Contract"><a id="Interfaces_and_Programming_by_Contract"></a><strong>Interfaces and Programming by Contract</strong></span></p>
-
-<p>An interface forms a contractual agreement between components and clients. There is no code that enforces these agreements, but ignoring them can be fatal. In component-based programming, a component guarantees that the interfaces it provides will be<em>immutable</em> - that they will provide the same access to the same methods across different versions of the component - establishing a contract with the software clients that use it. In this respect, interface-based programming is often referred to as<em>programming by contract</em> .</p>
-</div>
-
-<h4 id="Interfaces_and_Encapsulation" name="Interfaces_and_Encapsulation">Interfaces and Encapsulation</h4>
-
-<p>Between component boundaries, abstraction is crucial for software maintainability and reusability. Consider, for example, a class that<em>isn't</em> well encapsulated. Using a freely available public initialization method, as the example below suggests, can cause problems.</p>
-
-<p><span id="SomeClass_Class_Initialization"><a id="SomeClass_Class_Initialization"></a><strong>SomeClass Class Initialization</strong></span></p>
-
-<pre>class SomeClass
-{
- public:
- // Constructor
- SomeClass();
-
- // Virtual Destructor
- virtual ~SomeClass();
-
- // init method
- void Init();
-
- void DoSomethingUseful();
-};
-</pre>
-
-<p>For this system to work properly, the client programmer must pay close attention to whatever rules the component programmer has established. This is the contractual agreement of this unencapsulated class: a set of rules that define when each method can be called and what it is expected to do. One rule might specify that <code>DoSomethingUseful</code> may only be called after a call to <code>Init()</code>. The <code>DoSomethingUseful</code> method may do some kind of checking to ensure that the condition - that <code>Init</code> has been called - has been satisfied.</p>
-
-<p>In addition to writing well-commented code that tells the client developer the rules about <code>Init()</code>, the developer can take a couple steps to make this contract even clearer. First, the construction of an object can be encapsulated, and a<em>virtual class</em> provided that defines the <code>DoSomethingUseful</code> method. In this way, construction and initialization can be completely hidden from clients of the class. In this "semi-encapsulated" situation, the only part of the class that is exposed is a well-defined list of callable methods (i.e., the interface). Once the class is encapsulated, the only interface the client will see is this:</p>
-
-<p><span id="Encapsulation_of_SomeInterface"><a id="Encapsulation_of_SomeInterface"></a><strong>Encapsulation of SomeInterface</strong></span></p>
-
-<pre>class SomeInterface
-{
- public:
- virtual void DoSomethingUseful() = 0;
-};
-</pre>
-
-<p>The implementation can then derive from this class and implement the virtual method. Clients of this code can then use a factory design pattern to create the object (see <a href="#Factories">Factories</a>) and further encapsulate the implementation. In XPCOM, clients are shielded from the inner workings of components in this way and rely on the interface to provide access to the needed functionality.</p>
-
-<h4 id="The_nsISupports_Base_Interface" name="The_nsISupports_Base_Interface">The <code>nsISupports</code> Base Interface</h4>
-
-<p>Two fundamental issues in component and interface-based programming are<em>component lifetime</em> , also called<em>object ownership</em> , and<em>interface querying</em> , or being able to identify which interfaces a component supports at runtime. This section introduces the base interface-the mother of all interfaces in XPCOM - <code>nsISupports</code>, which provides solutions to both of these issues for XPCOM developers.</p>
-
-<h5 id="Object_Ownership" name="Object_Ownership">Object Ownership</h5>
-
-<p>In XPCOM, since components may implement any number of different interfaces, interfaces must be<em>reference counted</em> . Components must keep track of how many references to it clients are maintaining and delete themselves when that number reaches zero.</p>
-
-<p>When a component gets created, an integer inside the component tracks this reference count. The reference count is incremented automatically when the client instantiates the component; over the course of the component's life, the reference count goes up and down, always staying above zero. At some point, all clients lose interest in the component, the reference count hits zero, and the component deletes itself.</p>
-
-<p>When clients use interfaces responsibly, this can be a very straightforward process. XPCOM has tools to make it even easier, as we describe later. It can raise some real housekeeping problems when, for example, a client uses an interface and forgets to decrement the reference count. When this happens, interfaces may never be released and will leak memory. The system of reference counting is, like many things in XPCOM, a contract between clients and implementations. It works when people agree to it, but when they don't, things can go wrong. It is the responsibility of the function that creates the interface pointer to add the initial reference, or<em>owning reference</em> , to the count.</p>
-
-<div class="side-note">
-<p><span id="Pointers_in_XPCOM"><a id="Pointers_in_XPCOM"></a><strong>Pointers in XPCOM</strong></span></p>
-
-<p>In XPCOM,<em>pointers</em> refer to interface pointers. The difference is a subtle one, since interface pointers and regular pointers are both just address in memory. But an interface pointer is known to implement the nsISupports base interface, and so can be used to call methods such as <code>AddRef</code>, <code>Release</code>, or <code>QueryInterface</code>.</p>
-</div>
-
-<p><code>nsISupports</code>, shown below, supplies the basic functionality for dealing with interface discovery and reference counting. The members of this interface, <code>QueryInterface</code>, <code>AddRef</code>, and <code>Release</code>, provide the basic means for getting the right interface from an object, incrementing the reference count, and releasing objects once they are not being used, respectively. The <code>nsISupports</code> interface is shown below:</p>
-
-<p><span id="The_%3Ccode%3EnsISupports%3C/code%3E_Interface"><a id="The_%3Ccode%3EnsISupports%3C/code%3E_Interface"></a><strong>The <code>nsISupports</code> Interface</strong></span></p>
-
-<pre>class Sample: public nsISupports
-{
- private:
- nsrefcnt mRefCnt;
- public:
- Sample();
- virtual ~Sample();
-
- NS_IMETHOD QueryInterface(const nsIID &amp;aIID, void **aResult);
- NS_IMETHOD_(nsrefcnt) AddRef(void);
- NS_IMETHOD_(nsrefcnt) Release(void);
-};
-</pre>
-
-<p>The various types used in the interface are described in the <a href="#XPCOM_Types">XPCOM Types</a> section below. A complete (if spare) implementation of the <code>nsISupports</code> interface is shown below:</p>
-
-<p><span id="Implementation_of_%3Ccode%3EnsISupports%3C/code%3E_Interface"><a id="Implementation_of_%3Ccode%3EnsISupports%3C/code%3E_Interface"></a><strong>Implementation of <code>nsISupports</code> Interface</strong></span></p>
-
-<pre>// initialize the reference count to 0
-Sample::Sample() : mRefCnt(0)
-{
-}
-Sample::~Sample()
-{
-}
-
-// typical, generic implementation of QI
-NS_IMETHODIMP Sample::QueryInterface(const nsIID &amp;aIID,
- void **aResult)
-{
- if (aResult == NULL) {
- return NS_ERROR_NULL_POINTER;
- }
- *aResult = NULL;
- if (aIID.Equals(kISupportsIID)) {
- *aResult = (void *) this;
- }
- if (*aResult == NULL) {
- return NS_ERROR_NO_INTERFACE;
- }
- // add a reference
- AddRef();
- return NS_OK;
-}
-
-NS_IMETHODIMP_(nsrefcnt) Sample::AddRef()
-{
- return ++mRefCnt;
-}
-
-NS_IMETHODIMP_(nsrefcnt) Sample::Release()
-{
- if (--mRefCnt == 0) {
- delete this;
- return 0;
- }
- // optional: return the reference count
- return mRefCnt;
-}
-</pre>
-
-<h5 id="Object_Interface_Discovery" name="Object_Interface_Discovery">Object Interface Discovery</h5>
-
-<p><em>Inheritance</em>is another very important topic in object oriented programming. Inheritance is the means through which one class is derived from another. When a class inherits from another class, the inheriting class may<em>override</em> the default behaviors of the base class without having to copy all of that class's code, in effect creating a more specific class, as in the following example:</p>
-
-<p><span id="Simple_Class_Inheritance"><a id="Simple_Class_Inheritance"></a><strong>Simple Class Inheritance</strong></span></p>
-
-<pre>class Shape
-{
- private:
- int m_x;
- int m_y;
-
- public:
- virtual void Draw() = 0;
- Shape();
- virtual ~Shape();
-};
-
-class Circle : public Shape
-{
- private:
- int m_radius;
- public:
- virtual Draw();
- Circle(int x, int y, int radius);
- virtual ~Circle();
-};
-</pre>
-
-<p><code>Circle</code> is a derived class of <code>Shape</code>. A <code>Circle</code> is a <code>Shape</code>, in other words, but a <code>Shape</code> is not necessarily a <code>Circle</code>. In this case, <code>Shape</code> is the<em>base class</em> and <code>Circle</code> is a<em>subclass</em> of <code>Shape</code>.</p>
-
-<p>In XPCOM, all classes derive from the <code>nsISupports</code> interface, so all objects are <code>nsISupports</code> but they are also other, more specific classes, which you need to be able to find out about at runtime. In <a href="#Simple_Class_Inheritance">Simple Class Inheritance</a>, for example, you'd like to be able ask the <code>Shape</code> if it's a <code>Circle</code> and to be able to use it like a circle if it is. In XPCOM, this is what the <code>QueryInterface</code> feature of the <code>nsISupports</code> interface is for: it allows clients to find and access different interfaces based on their needs.</p>
-
-<p>In C++, you can use a fairly advanced feature known as a <code>dynamic_cast&lt;&gt;</code>, which throws an exception if the <code>Shape</code> object is not able to be cast to a <code>Circle</code>. But enabling exceptions and <abbr title="Runtime Type Information">RTTI</abbr> may not be an option because of performance overhead and compatibility on many platforms, so XPCOM does things differently.</p>
-
-<div class="side-note">
-<p><span id="Exceptions_in_XPCOM"><a id="Exceptions_in_XPCOM"></a><strong>Exceptions in XPCOM</strong></span></p>
-
-<p>C++ exceptions are not supported directly by XPCOM. Instead all exceptions must be handled within a given component, before crossing interface boundaries. In XPCOM, all interface methods should return an <code>nsresult</code> error value (see the <a href="ko/XPCOM_API_Reference">XPCOM API Reference</a> for a listing of these error codes). These error code results become the "exceptions" that XPCOM handles.</p>
-</div>
-
-<p>Instead of leveraging C++ RTTI, XPCOM uses the special <code>QueryInterface</code> method that casts the object to the right interface if that interface is supported.</p>
-
-<p>Every interface is assigned an identifier that gets generated from a tool commonly named "uuidgen". This universally unique identifier (UUID) is a unique, 128-bit number. Used in the context of an interface (as opposed to a component, which is what the contract ID is for), this number is called an<em>IID</em> .</p>
-
-<p>When a client wants to discover if an object supports a given interface, the client passes the IID assigned to that interface into the <code>QueryInterface</code> method of that object. If the object supports the requested interface, it adds a reference to itself and passes back a pointer to that interface. If the object does not support the interface an error is returned.</p>
-
-<pre>class nsISupports {
- public:
- long QueryInterface(const nsIID &amp; uuid,
- void **result) = 0;
- long AddRef(void) = 0;
- long Release(void) = 0;
-};
-</pre>
-
-<p>The first parameter of <code>QueryInterface</code> is a reference to a class named <code>nsIID</code>, which is a basic encapsulation of the IID. Of the three methods on the <code>nsIID</code> class, <code>Equals</code>, <code>Parse</code>, and <code>ToString</code>, <code>Equals</code> is by far the most important, because it is used to compare two <code>nsIID</code>s in this interface querying process.</p>
-
-<p>When you implement the <code>nsIID</code> class (and you'll see in the chapter <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier">Using XPCOM Utilities to Make Things Easier</a> how macros can make this process much easier), you must make sure the class methods return a valid result when the client calls <code>QueryInterface</code> with the <code>nsISupports</code> IID. <code>QueryInterface</code> should support all interfaces that the component supports.</p>
-
-<p>In implementations of <code>QueryInterface</code>, the IID argument is checked against the <code>nsIID</code> class. If there is a match, the object's <code>this</code> pointer is cast to <code>void</code>, the reference count is incremented, and the interface returned to the caller. If there isn't a match, the class returns an error and sets the out value to <code>null</code>.</p>
-
-<p>In the example above, it's easy enough to use a C-style cast. But casting can become more involved where you must first cast <code>void</code> then to the requested type, because you must return the interface pointer in the <abbr title="virtual table">vtable</abbr> corresponding to the requested interface. Casting can become a problem when there is an ambiguous inheritance hierarchy.</p>
-
-<h3 id="XPCOM_Identifiers" name="XPCOM_Identifiers">XPCOM Identifiers</h3>
-
-<p>In addition to the IID interface identifier discussed in the previous section, XPCOM uses two other very important identifiers to distinguish classes and components.</p>
-
-<div class="side-note">
-<p><span id="XPCOM_Identifier_Classes"><a id="XPCOM_Identifier_Classes"></a><strong>XPCOM Identifier Classes</strong></span></p>
-
-<p>The <code>nsIID</code> class is actually a typedef for the <code>nsID</code> class. The other typedefs of <code>nsID</code>, CID and IID, refer to specific implementations of a concrete class and to a specific interface, respectively.</p>
-
-<p>The <code>nsID</code> class provides methods like <code>Equals</code> for comparing identifiers in the code. See <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Identifiers_in_XPCOM">Identifiers in XPCOM</a> for more discussion of the <code>nsID</code> class.</p>
-</div>
-
-<h4 id="CID" name="CID">CID</h4>
-
-<p>A CID is a 128-bit number that uniquely identifies a class or component in much the same way that an IID uniquely identifies an interface. The CID for <code>nsISupports</code> looks like this:</p>
-
-<p><code>00000000-0000-0000-c000-000000000046</code></p>
-
-<p>The length of a CID can make it cumbersome to deal with in the code, so very often you see #defines for CIDs and other identifiers being used, as in this example:</p>
-
-<pre>#define SAMPLE_CID \
-{ 0x777f7150, 0x4a2b, 0x4301, \
-{ 0xad, 0x10, 0x5e, 0xab, 0x25, 0xb3, 0x22, 0xaa}}
-</pre>
-
-<p>You also see <code>NS_DEFINE_CID</code> used a lot. This simple macro declares a constant with the value of the CID:</p>
-
-<pre>static NS_DEFINE_CID(kWebShellCID, NS_WEB_SHELL_CID);
-</pre>
-
-<p>A CID is sometimes also referred to as a<em>class identifier</em> . If the class to which a CID refers implements more than one interface, that CID guarantees that the class implements that whole set of interfaces when it's published or frozen.</p>
-
-<h4 id="Contract_ID" name="Contract_ID">Contract ID</h4>
-
-<p>A contract ID is a human readable string used to access a component. A CID or a contract ID may be used to get a component from the component manager. This is the contract ID for the LDAP Operation component:</p>
-
-<pre>"@mozilla.org/network/ldap-operation;1"
-</pre>
-
-<p>The format of the contract ID is the<em>domain</em> of the component, the<em>module</em> , the<em>component name</em> , and the<em>version number</em> , separated by slashes.</p>
-
-<p>Like a CID, a contract ID refers to an implementation rather than an interface, as an IID does. But a contract ID is not bound to any specific implementation, as the CID is, and is thus more general. Instead, a contract ID only specifies a given set of interfaces that it wants implemented, and any number of different CIDs may step in and fill that request. This difference between a contract ID and a CID is what makes it possible to override components.</p>
-
-<h3 id="Factories" name="Factories">Factories</h3>
-
-<p>Once code is broken up into components, client code typically uses the <code>new</code> constructor to instantiate objects for use:</p>
-
-<pre>SomeClass* component = new SomeClass();
-</pre>
-
-<p>This pattern requires that the client know something about the component, however-how big it is at the very least. The<em>factory design pattern</em> can be used to encapsulate object construction. The goal of factories is create objects without exposing clients to the implementations and initializations of those objects. In the <code>SomeClass</code> example, the construction and initialization of <code>SomeClass</code>, which implements the <code>SomeInterface</code> abstract class, is contained within the <code>New_SomeInterface</code> function, which follows the factory design pattern:</p>
-
-<p><span id="Encapsulating_the_Constructor"><a id="Encapsulating_the_Constructor"></a><strong>Encapsulating the Constructor</strong></span></p>
-
-<pre>int New_SomeInterface(SomeInterface** ret)
-{
- // create the object
- SomeClass* out = new SomeClass();
- if (!out) return -1;
-
- // init the object
- if (out-&gt;Init() == FALSE)
- {
- delete out;
- return -1;
- }
-
- // cast to the interface
- *ret = static_cast&lt;SomeInterface*&gt;(out);
- return 0;
-}
-</pre>
-
-<p>The factory is the class that actually manages the creation of separate instances of a component for use. In XPCOM, factories are implementations of the <code>nsIFactory</code> interface, and they use a factory design pattern like the example above to abstract and encapsulate object construction and initialization.</p>
-
-<p>The example in <a href="#Encapsulating_the_Constructor">Encapsulating the Constructor</a> is a simple and stateless version of factories, but real world programming isn't usually so simple, and in general factories need to store state. At a minimum, the factory needs to preserve information about what objects it has created. When a factory manages instances of a class built in a dynamic shared library, for example, it needs to know when it can unload the library. When the factory preserves state, you can ask if there are outstanding references and find out if the factory created any objects.</p>
-
-<p>Another state that a factory can save is whether or not an object is a<em>singleton</em> . For example, if a factory creates an object that is supposed to be a singleton, then subsequent calls to the factory for the object should return the same object. Though there are tools and better ways to handle singletons (which we'll discuss when we talk about the <code>nsIServiceManager</code>), a developer may want to use this information to ensure that only one singleton object can exist despite what the callers do.</p>
-
-<p>The requirements of a factory class can be handled in a strictly functional way, with state being held by global variables, but there are benefits to using classes for factories. When you use a class to implement the functionality of a factory, for example, you derive from the <code>nsISupports</code> interface, which allows you to manage the lifetime of the factory objects themselves. This is important when you want to group sets of factories together and determine if they can be unloaded. Another benefit of using the <code>nsISupports</code> interface is that you can support other interfaces as they are introduced. As we'll show when we discuss <code>nsIClassInfo</code>, some factories support querying information about the underlying implementation, such as what language the object is written in, interfaces that the object supports, etc. This kind of "future-proofing" is a key advantage that comes along with deriving from <code>nsISupports</code>.</p>
-
-<h4 id="XPIDL_and_Type_Libraries" name="XPIDL_and_Type_Libraries">XPIDL and Type Libraries</h4>
-
-<p>An easy and powerful way to define an interface - indeed, a requirement for defining interfaces in a cross-platform, language neutral development environment - is to use an<em>interface definition language</em> (IDL). XPCOM uses its own variant of the CORBA OMG Interface Definition Language (IDL) called XPIDL, which allows you to specify methods, attributes and constants of a given interface, and also to define interface inheritance.</p>
-
-<p>There are some drawbacks to defining your interface using XPIDL. There is no support for multiple inheritance, for one thing. If you define a new interface, it cannot derive from more than one interface. Another limitation of interfaces in XPIDL is that method names must be unique. You can not have two methods with the same name that take different parameters, and the workaround - having multiple function names - isn't pretty:</p>
-
-<pre>void FooWithInt(in int x);
-void FooWithString(in string x);
-void FooWithURI(in nsIURI x);
-</pre>
-
-<p>However, these shortcomings pale in comparison to the functionality gained by using XPIDL. XPIDL allows you to generate<em>type libraries</em> , or typelibs, which are files with the extension<em>.xpt</em> . The type library is a binary representation of an interface or interfaces. It provides programmatic control and access of the interface, which is crucial for interfaces used in the non C++ world. When components are accessed from other languages, as they can be in XPCOM, they use the binary type library to access the interface, learn what methods it supports, and call those methods. This aspect of XPCOM is called<em>XPConnect</em> . XPConnect is the layer of XPCOM that provides access to XPCOM components from languages such as JavaScript. See <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Connecting_to_Components_from_the_Interface">Connecting to Components from the Interface</a> for more information about XPConnect.</p>
-
-<p>When a component is accessible from a language other than C++, such as JavaScript, its interface is said to be "reflected" into that language. Every reflected interface must have a corresponding type library. Currently you can write components in C, C++, or JavaScript (and sometimes Python or Java, depending on the state of the respective bindings), and there are efforts underway to build XPCOM bindings for Ruby and Perl as well.</p>
-
-<div class="side-note">
-<p><span id="Writing_Components_in_Other_Languages"><a id="Writing_Components_in_Other_Languages"></a><strong>Writing Components in Other Languages</strong></span></p>
-
-<p>Though you do not have access to some of the tools that XPCOM provides for C++ developers (such as macros, templates, smart pointers, and others) when you create components in other languages, you may be so comfortable with the language itself that you can eschew C++ altogether and build, for example, Python-based XPCOM components that can be used from JavaScript or vice versa.</p>
-
-<p>See <a href="ko/Creating_XPCOM_Components/Resources">Resources</a> for more information about Python and other languages for which support has been added in XPCOM.</p>
-</div>
-
-<p>All of the public interfaces in XPCOM are defined using the XPIDL syntax. Type libraries and C++ header files are generated from these IDL files, and the tool that generates these files is called the<em>xpidl compiler</em> . The section <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Defining_the_WebLock_Interface_in_XPIDL">Defining the WebLock Interface in XPIDL</a> describes the XPIDL syntax in detail.</p>
-
-<h3 id="XPCOM_Services" name="XPCOM_Services">XPCOM Services</h3>
-
-<p>When clients use components, they typically<em>instantiate</em> a new object each time they need the functionality the component provides. This is the case when, for example, clients deal with files: each separate file is represented by a different object, and several file objects may be being used at any one time.</p>
-
-<p>But there is also a kind of object known as a<em>service</em> , of which there is always only one copy (though there may be many services running at any one time). Each time a client wants to access the functionality provided by a service, they talk to the same instance of that service. When a user looks up a phone number in a company database, for example, probably that database is being represented by an "object" that is the same for all co-workers. If it weren't, the application would need to keep two copies of a large database in memory, for one thing, and there might also be inconsistencies between records as the copies diverged.</p>
-
-<p>Providing this single point of access to functionality is what the singleton design pattern is for, and what services do in an application (and in a development environment like XPCOM).</p>
-
-<p>In XPCOM, in addition to the component support and management, there are a number of services that help the developer write cross platform components. These services include a cross platform file abstraction which provides uniform and powerful access to files, directory services which maintain the location of application- and system-specific locations, memory management to ensure everyone uses the same memory allocator, and an event notification system that allows passing of simple messages. The tutorial will show each of these component and services in use, and the <a href="ko/XPCOM_API_Reference">XPCOM API Reference</a> has a complete interface listing of these areas.</p>
-
-<h3 id="XPCOM_Types" name="XPCOM_Types">XPCOM Types</h3>
-
-<p>There are many XPCOM declared types and simple macros that we will use in the following samples. Most of these types are simple mappings. The most common types are described in the following sections.</p>
-
-<h4 id="Method_Types" name="Method_Types">Method Types</h4>
-
-<p>The following are a set of types for ensuring correct calling convention and return type of XPCOM methods.</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td><code>NS_IMETHOD</code></td>
- <td>Method declaration return type. XPCOM method declarations should use this as their return type.</td>
- </tr>
- <tr>
- <td><code>NS_IMETHODIMP</code></td>
- <td>Method Implementation return type. XPCOM method implementations should use this as their return time.</td>
- </tr>
- <tr>
- <td><code>NS_IMETHODIMP_(type)</code></td>
- <td>Special case implementation return type. Some methods such as <code>AddRef</code> and <code>Release</code> do not return the default return type. This exception is regrettable, but required for COM compliance.</td>
- </tr>
- <tr>
- <td><code>NS_IMPORT</code></td>
- <td>Forces the method to be resolved internally by the shared library.</td>
- </tr>
- <tr>
- <td><code>NS_EXPORT</code></td>
- <td>Forces the method to be exported by the shared library.</td>
- </tr>
- </tbody>
-</table>
-
-<h4 id="Reference_Counting" name="Reference_Counting">Reference Counting</h4>
-
-<p>These macros manage reference counting.</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td><code>NS_ADDREF</code></td>
- <td>Calls <code>AddRef</code> on an <code>nsISupports</code> object.</td>
- </tr>
- <tr>
- <td><code>NS_IF_ADDREF</code></td>
- <td>Same as above but checks for null before calling <code>AddRef</code>.</td>
- </tr>
- <tr>
- <td><code>NS_RELEASE</code></td>
- <td>Calls <code>Release</code> on an <code>nsISupports</code> object.</td>
- </tr>
- <tr>
- <td><code>NS_IF_RELEASE</code></td>
- <td>Same as above but check for null before calling <code>Release</code>.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Status_Codes" name="Status_Codes">Status Codes</h3>
-
-<p>These macros test status codes.</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td><code>NS_FAILED</code></td>
- <td>Return true if the passed status code was a failure.</td>
- </tr>
- <tr>
- <td><code>NS_SUCCEEDED</code></td>
- <td>Returns true is the passed status code was a success.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Variable_Mappings" name="Variable_Mappings">Variable Mappings</h3>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td><code>nsrefcnt</code></td>
- <td>Default reference count type. Maps to a 32-bit integer.</td>
- </tr>
- <tr>
- <td><code>nsresult</code></td>
- <td>Default error type. Maps to a 32-bit integer.</td>
- </tr>
- <tr>
- <td><code>nsnull</code></td>
- <td>Default null value.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Common_XPCOM_Error_Codes" name="Common_XPCOM_Error_Codes">Common XPCOM Error Codes</h3>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td><code>NS_ERROR_NOT_INITIALIZED</code></td>
- <td>Returned when an instance is not initialized.</td>
- </tr>
- <tr>
- <td><code>NS_ERROR_ALREADY_INITIALIZED</code></td>
- <td>Returned when an instance is already initialized.</td>
- </tr>
- <tr>
- <td><code>NS_ERROR_NOT_IMPLEMENTED</code></td>
- <td>Returned by an unimplemented method.</td>
- </tr>
- <tr>
- <td><code>NS_ERROR_NO_INTERFACE</code></td>
- <td>Returned when a given interface is not supported.</td>
- </tr>
- <tr>
- <td><code>NS_ERROR_NULL_POINTER</code></td>
- <td>Returned when a valid pointer is found to be <code>nsnull</code>.</td>
- </tr>
- <tr>
- <td><code>NS_ERROR_FAILURE</code></td>
- <td>Returned when a method fails. Generic error case.</td>
- </tr>
- <tr>
- <td><code>NS_ERROR_UNEXPECTED</code></td>
- <td>Returned when an unexpected error occurs.</td>
- </tr>
- <tr>
- <td><code>NS_ERROR_OUT_OF_MEMORY</code></td>
- <td>Returned when a memory allocation fails.</td>
- </tr>
- <tr>
- <td><code>NS_ERROR_FACTORY_NOT_REGISTERED</code></td>
- <td>Returned when a requested class is not registered.</td>
- </tr>
- </tbody>
-</table>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/Creating_XPCOM_Components:Preface" style="float: left;">« 이전</a><a href="/ko/docs/Creating_XPCOM_Components:Using_XPCOM_Components">다음 »</a></p>
-</div> <p></p><div class="licenseblock">
-<p>Copyright (c) 2003 by Doug Turner and Ian Oeschger. This material may be distributed only subject to the terms and conditions set forth in the <a class="external" href="http://www.opencontent.org/openpub/" rel="noopener">Open Publication License</a>, v1.02 or later. Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder. Distribution of the work or derivative of the work in any standard (paper) book form is prohibited unless prior permission is obtained from the copyright holder.</p>
-</div><p></p>
diff --git a/files/ko/creating_xpcom_components/index.html b/files/ko/creating_xpcom_components/index.html
deleted file mode 100644
index 3af1db1e92..0000000000
--- a/files/ko/creating_xpcom_components/index.html
+++ /dev/null
@@ -1,355 +0,0 @@
----
-title: Creating XPCOM Components
-slug: Creating_XPCOM_Components
-translation_of: Mozilla/Tech/XPCOM/Guide/Creating_components
----
-<h3 id="Preface" name="Preface"><a href="ko/Creating_XPCOM_Components/Preface">Preface</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Preface#Who_Should_Read_This_Book">Who Should Read This Book</a> 이 문서가 필요한 사람</dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Preface#Organization_of_the_Tutorial">Organization of the Tutorial</a> 튜토리얼 구조</dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Preface#Following_Along_with_the_Examples">Following Along with the Examples</a> 예제 따라하기</dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Preface#Conventions">Conventions</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Preface#Acknowledgements">Acknowledgements</a></dd>
-</dl>
-<h3 id="An_Overview_of_XPCOM" name="An_Overview_of_XPCOM"><a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM">An Overview of XPCOM</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#The_XPCOM_Solution">The XPCOM Solution</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Gecko">Gecko</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Components">Components</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Interfaces">Interfaces</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Interfaces_and_Encapsulation">Interfaces and Encapsulation</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#The_nsISupports_Base_Interface">The <code>nsISupports</code> Base Interface</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#XPCOM_Identifiers">XPCOM Identifiers</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#CID">CID</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Contract_ID">Contract ID</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Factories">Factories</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#XPIDL_and_Type_Libraries">XPIDL and Type Libraries</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#XPCOM_Services">XPCOM Services</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#XPCOM_Types">XPCOM Types</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Method_Types">Method Types</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Reference_Counting">Reference Counting</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Status_Codes">Status Codes</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Variable_Mappings">Variable Mappings</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Common_XPCOM_Error_Codes">Common XPCOM Error Codes</a></dd>
- </dl>
- </dd>
-</dl>
-<h3 id="Using_XPCOM_Components" name="Using_XPCOM_Components"><a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components">Using XPCOM Components</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Component_Examples">Component Examples</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Cookie_Manager">Cookie Manager</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#The_WebBrowserFind_Component">The <b>WebBrowserFind</b> Component</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#The_WebLock_Component">The <b>WebLock</b> Component</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Component_Use_in_Mozilla">Component Use in Mozilla</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Finding_Mozilla_Components">Finding Mozilla Components</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#Using_XPCOM_Components_in_Your_Cpp">Using XPCOM Components in Your Cpp</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Components#XPConnect:_Using_XPCOM_Components_From_Script">XPConnect: Using XPCOM Components From Script</a></dd>
- </dl>
- </dd>
-</dl>
-<h3 id="Component_Internals" name="Component_Internals"><a href="ko/Creating_XPCOM_Components/Component_Internals">Component Internals</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Component_Internals#Creating_Components_in_Cpp">Creating Components in Cpp</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Component_Internals#XPCOM_Initialization">XPCOM Initialization</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Component_Internals#XPCOM_Registry_Manifests">XPCOM Registry Manifests</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Component_Internals#Registration_Methods_in_XPCOM">Registration Methods in XPCOM</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Component_Internals#Autoregistration">Autoregistration</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Component_Internals#The_Shutdown_Process">The Shutdown Process</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Component_Internals#Three_Parts_of_a_XPCOM_Component_Library">Three Parts of a XPCOM Component Library</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Component_Internals#XPCOM_Glue">XPCOM Glue</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Component_Internals#The_Glue_Library">The Glue Library</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Component_Internals#XPCOM_String_Classes">XPCOM String Classes</a></dd>
- </dl>
- </dd>
-</dl>
-<h3 id="Creating_the_Component_Code" name="Creating_the_Component_Code"><a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code">Creating the Component Code</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#What_We.27ll_Be_Working_On">What We'll Be Working On</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Component_Registration">Component Registration</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#The_regxpcom_Program">The <code>regxpcom</code> Program</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Registration_Alternatives">Registration Alternatives</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Overview_of_the_WebLock_Module_Source">Overview of the <b>WebLock</b> Module Source</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Digging_In:_Required_Includes_and_Constants">Digging In: Required Includes and Constants</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Identifiers_in_XPCOM">Identifiers in XPCOM</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Coding_for_the_Registration_Process">Coding for the Registration Process</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#The_Registration_Methods">The Registration Methods</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#Creating_an_Instance_of_Your_Component">Creating an Instance of Your Component</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#webLock1.cpp"><code>webLock1.cpp</code></a></dd>
-</dl>
-<h3 id="Using_XPCOM_Utilities_to_Make_Things_Easier" name="Using_XPCOM_Utilities_to_Make_Things_Easier"><a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier">Using XPCOM Utilities to Make Things Easier</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#XPCOM_Macros">XPCOM Macros</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Generic_XPCOM_Module_Macros">Generic XPCOM Module Macros</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Common_Implementation_Macros">Common Implementation Macros</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Declaration_Macros">Declaration Macros</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#webLock2.cpp"><code>webLock2.cpp</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#String_Classes_in_XPCOM">String Classes in XPCOM</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Using_Strings">Using Strings</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#nsEmbedString_and_nsEmbedCString"><code>nsEmbedString</code> and <code>nsEmbedCString</code></a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Using_XPCOM_Utilities_to_Make_Things_Easier#Smart_Pointers">Smart Pointers</a></dd>
-</dl>
-<h3 id="Starting_WebLock" name="Starting_WebLock"><a href="ko/Creating_XPCOM_Components/Starting_WebLock">Starting <b>WebLock</b></a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Getting_Called_at_Startup">Getting Called at Startup</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Registering_for_Notifications">Registering for Notifications</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Getting_Access_to_the_Category_Manager">Getting Access to the Category Manager</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Providing_Access_to_WebLock">Providing Access to <b>WebLock</b></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Creating_the_WebLock_Programming_Interface">Creating the <b>WebLock</b> Programming Interface</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Defining_the_WebLock_Interface_in_XPIDL">Defining the <b>WebLock</b> Interface in XPIDL</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#The_XPIDL_Syntax">The XPIDL Syntax</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Scriptable_Interfaces">Scriptable Interfaces</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Subclassing_nsISupports">Subclassing <code>nsISupports</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#The_Web_Locking_Interface">The Web Locking Interface</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Implementing_WebLock">Implementing <b>WebLock</b></a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Declaration_Macros">Declaration Macros</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Representing_Return_Values_in_XPCOM">Representing Return Values in XPCOM</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#XPIDL_Code_Generation">XPIDL Code Generation</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Getting_the_WebLock_Service_from_a_Client">Getting the <b>WebLock</b> Service from a Client</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Implementing_the_iWebLock_Interface">Implementing the <code>iWebLock</code> Interface</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#The_Directory_Service">The Directory Service</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Modifying_Paths_with_nsIFile">Modifying Paths with <code>nsIFile</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Manipulating_Files_with_nsIFile">Manipulating Files with <code>nsIFile</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Using_nsILocalFile_for_Reading_Data">Using <code>nsILocalFile</code> for Reading Data</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Processing_the_White_List_Data">Processing the White List Data</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#iWebLock_Method_By_Method"><code>iWebLock</code> Method By Method</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#Lock_and_Unlock"><code>Lock</code> and <code>Unlock</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#AddSite"><code>AddSite</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#RemoveSite"><code>RemoveSite</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#SetSites"><code>SetSites</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#GetNext"><code>GetNext</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#GetSites"><code>GetSites</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Starting_WebLock#HasMoreElements"><code>HasMoreElements</code></a></dd>
- </dl>
- </dd>
-</dl>
-<h3 id="Finishing_the_Component" name="Finishing_the_Component"><a href="ko/Creating_XPCOM_Components/Finishing_the_Component">Finishing the Component</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Using_Frozen_Interfaces">Using Frozen Interfaces</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Copying_Interfaces_Into_Your_Build_Environment">Copying Interfaces Into Your Build Environment</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Implementing_the_nsIContentPolicy_Interface">Implementing the <code>nsIContentPolicy</code> Interface</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Receiving_Notifications">Receiving Notifications</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Implementing_the_nsIContentPolicy">Implementing the <code>nsIContentPolicy</code></a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Uniform_Resource_Locators">Uniform Resource Locators</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Checking_the_White_List">Checking the White List</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Finishing_the_Component#Creating_nsIURI_Objects">Creating <code>nsIURI</code> Objects</a></dd>
- </dl>
- </dd>
-</dl>
-<h3 id="Building_the_WebLock_UI" name="Building_the_WebLock_UI"><a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI">Building the <b>WebLock</b> UI</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#User_Interface_Package_List">User Interface Package List</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#Client_Code_Overview">Client Code Overview</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#XUL">XUL</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#The_XUL_Document">The XUL Document</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#The_Locking_UI">The Locking UI</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#Site_Adding_UI">Site Adding UI</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#weblock.xul"><code>weblock.xul</code></a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#Overlaying_New_User_Interface_Into_Mozilla">Overlaying New User Interface Into Mozilla</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#webLockOverlay.xul"><code>webLockOverlay.xul</code></a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#Other_Resources">Other Resources</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#weblock.css"><code>weblock.css</code></a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Building_the_WebLock_UI#Image_Resources">Image Resources</a></dd>
- </dl>
- </dd>
-</dl>
-<h3 id="Packaging_WebLock" name="Packaging_WebLock"><a href="ko/Creating_XPCOM_Components/Packaging_WebLock">Packaging WebLock</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Packaging_WebLock#Component_Installation_Overview">Component Installation Overview</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Packaging_WebLock#Archiving_Resources">Archiving Resources</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Packaging_WebLock#The_WebLock_Installation_Script">The <b>WebLock</b> Installation Script</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Packaging_WebLock#The_WebLock_Trigger_Script">The <b>WebLock</b> Trigger Script</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Packaging_WebLock#Distributing_Your_Component">Distributing Your Component</a></dd>
-</dl>
-<h3 id="Appendix_A_-_Setting_up_the_Gecko_SDK" name="Appendix_A_-_Setting_up_the_Gecko_SDK"><a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK">Appendix A - Setting up the Gecko SDK</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Downloading_and_Setting_the_SDK">Downloading and Setting the SDK</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Building_a_Microsoft_Visual_Cpp_Project">Building a Microsoft Visual Cpp Project</a>
- <dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Creating_a_New_Project">Creating a New Project</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#Adding_the_Gecko_SDK_to_the_Project_Settings">Adding the Gecko SDK to the Project Settings</a></dd>
- </dl>
- </dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK#A_Makefile_for_Unix">A Makefile for Unix</a></dd>
-</dl>
-<h3 id="Appendix_B_-_Resources" name="Appendix_B_-_Resources"><a href="ko/Creating_XPCOM_Components/Resources">Appendix B - Resources</a></h3>
-<dl>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Resources#WebLock_Resources">WebLock Resources</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Resources#Gecko_Resources">Gecko Resources</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Resources#XPCOM_Resources">XPCOM Resources</a></dd>
- <dd>
- <a href="ko/Creating_XPCOM_Components/Resources#General_Development_Resources">General Development Resources</a></dd>
-</dl>
diff --git a/files/ko/creating_xpcom_components/preface/index.html b/files/ko/creating_xpcom_components/preface/index.html
deleted file mode 100644
index fa6c630b61..0000000000
--- a/files/ko/creating_xpcom_components/preface/index.html
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title: Preface
-slug: Creating_XPCOM_Components/Preface
-tags:
- - XPCOM
-translation_of: Mozilla/Tech/XPCOM/Guide/Creating_components/Preface
----
-<p>이 문서는 Gecko 엔진과 이를 기반으로 하는 어플리케이션들을 위한 XPCOM 컴포넌트에 대한 설명을 담고 있습니다. 여기서 강조하고 있는 것은 Gecko 에서 사용 가능한 컴포넌트에 당신의 C++ 코드를 삽입하는</p>
-
-<p>Though the emphasis is on the practical steps you take to make your C++ code into a component that can be used in Gecko, we hope that these steps will also give us an occasion to discuss all of the tools, techniques, and technologies that make up XPCOM. Accordingly, the book is arranged so that you can follow along and create your own components or learn about different XPCOM topics individually, as in a reference work. For example, the introduction includes a discussion of components and what they are, and the first chapter - in which you compile the basic code and register it with Mozilla - prompts a discussion of the relationship between components and modules, of XPCOM interfaces, and of the registration process in general.</p>
-
-<p>The top of each chapter provides a list of the major topics covered. Sidebar sections are included to highlight technical details. By the end of the book, if we've done our job, you will have learned how to build a component and you will know something about the framework for these components in Gecko, which is XPCOM.</p>
-
-<h3 id="Who_Should_Read_This_Book" name="Who_Should_Read_This_Book">Who Should Read This Book</h3>
-
-<p><a href="ko/Creating_XPCOM_Components">Creating XPCOM Components</a> is meant for C++ developers. Though you can create XPCOM components in <a href="ko/JavaScript">JavaScript</a> and other languages, and though you might be able to follow along as a <a href="ko/C">C</a> programmer, the component implementation code is written in C++, and much of the discussion of how to make your code<em>into</em> an XPCOM component starts from C++. You don't need to be a C++ expert, however. Although basic ideas such as inheritance and encapsulation should be familar to you, wherever possible they are explained in the book as they are used. Also many of the examples are in JavaScript, which is used in Mozilla to access XPCOM components as scriptable objects, and so familiarity with that language is useful as well.</p>
-
-<p>XPCOM stands for the Cross Platform Component Object Model. As this name implies, XPCOM is similar to Microsoft COM. If you have any experience with this technology, much of it can be applied to XPCOM. However, this book does not assume any prior knowledge of COM - all of the basic COM ideas will be introduced.</p>
-
-<p>This book provides a tutorial about building an XPCOM component that controls browsing behavior. Although, XPCOM can be used in many environments which are unrelated to web browsing, XPCOM's main client is Gecko, an open source, standards compliant, embeddable web browser, where it's easiest and most practical to illustrate XPCOM's functionality. A full description of the component in this tutorial can be found in the <a href="ko/Creating_XPCOM_Components/Creating_the_Component_Code#What_We.27ll_Be_Working_On">What We'll Be Working On</a> section of the tutorial.</p>
-
-<h3 id="Organization_of_the_Tutorial" name="Organization_of_the_Tutorial">Organization of the Tutorial</h3>
-
-<p>The following list provides an overview of the steps that we will take to build an XPCOM component called <strong>WebLock</strong>, which provides site blocking functionality to Gecko-based browsers. Each one of these steps has its own chapter, in which a number of topics associated with the step are discussed.</p>
-
-<ul>
- <li>Create the generic module code for the component.</li>
- <li>Use C++ macros, special string classes and smart pointers to optimize your code.</li>
- <li>Define the functionality for the component; create an <a href="ko/XPIDL">XPIDL</a> interface for that functionality; create the implementation code specific to the custom <strong>WebLock</strong> component interface.</li>
- <li>Finish implementing the <strong>WebLock</strong> component: <code>nsIContentPolicy</code>, file I/O, locking, etc.</li>
- <li>Creating the user interface for the WebLock component.</li>
- <li>Packaging <strong>WebLock</strong> for distribution and installation.</li>
-</ul>
-
-<h3 id="Following_Along_with_the_Examples" name="Following_Along_with_the_Examples">Following Along with the Examples</h3>
-
-<p>There are a couple of different ways to get XPCOM onto your machine so you can begin to create components. If you already have a Mozilla build or the source from Mozilla 1.2 or later, then you can use the XPCOM framework available there. If you don't already have the Mozilla source, then an even easier way to get and use XPCOM is to download the Gecko SDK, which is a collection of libraries and tools that features the XPCOM component framework.</p>
-
-<p>Whether you compile your code in the Mozilla source tree or use the Gecko SDK, you can build your own components which leverage components that already exist in Gecko. The <strong>WebLock</strong> component we describe in this tutorial is a practical (and, we hope, genuinely useful) addition to the browser. In order to build it, your Gecko SDK or Mozilla source tree needs to be version 1.2 or later (XPCOM interfaces were not fully frozen in prior releases).</p>
-
-<p>This book assumes you are using the SDK rather than compiling in a Mozilla source tree, though the difference between these two approaches is minimal. Details about downloading the SDK, building, and getting programmatic access to Gecko components are provided in the appendix to this book, <a href="ko/Creating_XPCOM_Components/Setting_up_the_Gecko_SDK">Setting up the Gecko SDK</a>.</p>
-
-<h3 id="Conventions" name="Conventions">Conventions</h3>
-
-<p>The formatting conventions listed below are used to designate specific types of information in the book and make things easier to scan. The goal is to use as few formats as possible, but to distinguish the various different types of information clearly.</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">Format</td>
- <td class="header">Description</td>
- </tr>
- <tr>
- <td><strong>bold</strong></td>
- <td><strong>component names</strong> appear in bold in the text</td>
- </tr>
- <tr>
- <td><code>monospace</code></td>
- <td><code>code listings</code>, <code>interface names</code> and <code>members</code> of interfaces (e.g., <code>createInstance()</code>) appear in monospaced font. Lines of code are placed in separate boxes. Additionally, <code>filenames</code> and <code>directories</code> appear in monospaced font.</td>
- </tr>
- <tr>
- <td><em>italic</em></td>
- <td><em>variables</em>appear in italic. Important terms and new concepts are also italicized the first time they appear in the text. Those terms are either explained immediately after they are cited, or else the reader is referred to a section in the book where they are described in detail.</td>
- </tr>
- <tr>
- <td>link</td>
- <td>References to other sections and to figures and tables are links to those sections.</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Acknowledgements" name="Acknowledgements">Acknowledgements</h3>
-
-<p>Thanks to Peter Lubczynski, John Gaunt, Ellen Evans, and Alec Flett for technical reviews. A special thanks goes to Darin Fisher for his very acute observations, close reading, and attention to detail.</p>
-
-<p></p><div class="licenseblock">
-<p>Copyright (c) 2003 by Doug Turner and Ian Oeschger. This material may be distributed only subject to the terms and conditions set forth in the <a class="external" href="http://www.opencontent.org/openpub/" rel="noopener">Open Publication License</a>, v1.02 or later. Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder. Distribution of the work or derivative of the work in any standard (paper) book form is prohibited unless prior permission is obtained from the copyright holder.</p>
-</div><p></p>
diff --git a/files/ko/css_improvements_in_firefox_3/index.html b/files/ko/css_improvements_in_firefox_3/index.html
deleted file mode 100644
index 30c7400ae4..0000000000
--- a/files/ko/css_improvements_in_firefox_3/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: CSS improvements in Firefox 3
-slug: CSS_improvements_in_Firefox_3
-tags:
- - CSS
- - Firefox 3
-translation_of: Mozilla/Firefox/releases/3/CSS_improvements
----
-<p>{{ Fx_minversion_header(3) }}</p>
-<p>Firefox 3에서는 CSS 구현에 있어 수 많은 향상을 제공합니다. 이러한 변화들의 상세 내용은 해당 문서에 문서화되어 있으므로, 여기서는 이러한 내용들에 대해 개략적으로 언급하고 어떤 변화가 있는지 개발자들이 쉽게 배울 수 있도록 하겠습니다.</p>
-<ul>
- <li>{{ Cssxref("display") }} 프로퍼티의 <code>inline-block</code>과 <code>inline-table</code> 값이 구현되었습니다.</li>
- <li>모든 플랫폼에서 {{ Cssxref("font-size-adjust") }} 프로퍼티가 동작합니다. 이전에는 Windows에서만 지원되었습니다.</li>
- <li>{{ Cssxref("color") }}의 값으로 <code>rgba()</code>와 <code>hsla()</code>를 사용할 수 있습니다. ({{ Bug(147017) }})</li>
- <li>{{ Cssxref(":default") }} 의사 클래스를 지원합니다. ({{ Bug(302186) }})</li>
- <li>{{ Cssxref("width") }}, {{ Cssxref("min-width") }}, {{ Cssxref("max-width") }} 프로퍼티의 값으로 <code>-moz-max-content</code>, <code>-moz-min-content</code>, <code>-moz-fit-content</code>, <code>-moz-available</code> 들을 사용할 수 있습니다. ({{ Bug(311415) }}와 {{ Bug(402706) }})</li>
- <li>HTML soft hyphens (<code>&amp;shy;</code>)이 지원됩니다.</li>
- <li>Pre-formatted 탭이 가변글꼴에서 CSS 2.1 스펙에 따라 더 잘 동작합니다.</li>
- <li>{{ Cssxref("ime-mode") }} 프로퍼티가 지원됩니다.</li>
- <li>CSS <code>text-rendering</code> 프로퍼티가 지원됩니다. ({{ Bug(387969) }})</li>
- <li><code>-moz-border-<var>*</var>-start</code>와 <code>-moz-border-<var>*</var>-end</code> CSS 프로터피가 구현되었습니다 ({{ Bug(74880) }}).</li>
- <li><code>-moz-initial</code>이 대부분의 CSS 프로퍼티에 구현되었습니다. (<code>quotes</code>와 <code>-moz-border-<var>*</var>-colors</code> 제외) {{ Bug(80887) }}.</li>
- <li>모든 CSS 프로퍼티에 대해 <code>window.getComputedStyle()</code>을 지원합니다 ({{ Bug(316981) }}).</li>
- <li>{{ Cssxref("content") }}에 <code>none</code> 값을 사용할 수 있습니다 ({{ Bug(378535) }}).</li>
- <li>{{ Cssxref("cursor") }}에 <code>none</code> 값을 사용할 수 있습니다 ({{ Bug(346690) }}).</li>
- <li>배경 이미지를 <code>-moz-border-radius</code>로 정확히 자를(clip) 수 있습니다 ({{ Bug(24998) }}).</li>
- <li>{{ Cssxref("white-space") }}의 <code>pre-wrap</code> 값을 지원합니다 ({{ Bug(261081) }}).</li>
- <li>{{cssxref(":first-child")}}, {{cssxref(":only-child")}}, {{cssxref(":last-child")}} ({{ Bug(73586) }}), {{cssxref(":empty")}} ({{ Bug(98997) }}) 등의 선택자(selector)와 + 조합(combinator) ({{ Bug(229915) }})이 동적으로 업데이트됩니다 ({{ Bug(401291) }}).</li>
- <li>{{ Cssxref("z-index") }}의 음수값을 정확히 지원합니다.</li>
-</ul>
-<h3 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0">참고</h3>
-<ul>
- <li><a href="ko/Firefox_3_for_developers">Firefox 3 for developers</a></li>
- <li><a href="ko/DOM_improvements_in_Firefox_3">DOM improvements in Firefox 3</a></li>
-</ul>
diff --git a/files/ko/download_manager_improvements_in_firefox_3/index.html b/files/ko/download_manager_improvements_in_firefox_3/index.html
deleted file mode 100644
index c7929798bf..0000000000
--- a/files/ko/download_manager_improvements_in_firefox_3/index.html
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Download Manager improvements in Firefox 3
-slug: Download_Manager_improvements_in_Firefox_3
-tags:
- - Download Manager
- - Firefox 3
-translation_of: Archive/Mozilla/Download_Manager_improvements_in_Firefox_3
----
-<p>{{ Fx_minversion_header(3) }} Firefox 3는 다운로드 관리자에 대한 개선을 제공하는데 이는 다중 진행 리스너, 데이터 관리를 위한 <a href="ko/Storage">Storage</a> API의 사용, 다운로드 재시작 등을 가능하게 합니다. 덧붙여, 새로운 {{ Interface("nsIDownloadManagerUI") }} 인터페이스를 구현하는 것으로 다운로드 관리자의 인터페이스를 바꿀 수 있습니다.</p>
-<p>{{ Note("이러한 변경 사항은 다운로드 관리자를 사용하는 코드의 적당한 수정을 요구합니다. 몇 가지 메소드에 작은 변경이 있었기 때문입니다.") }}</p>
-<h3 id="Download_Manager_interfaces" name="Download_Manager_interfaces">Download Manager interfaces</h3>
-<dl>
- <dt>
- {{ Interface("nsIDownloadManager") }}</dt>
- <dd>
- 애플리케이션과 확장이 다운로드 관리자를 접근할 수 있도록 하여 다운로드 목록에 파일을 추가하거나 삭제하고, 과거 및 현재의 다운로드에 대한 정보를 구하고, 다운로드 진행에 대한 알림을 요청할 수 있도록 합니다.</dd>
- <dt>
- {{ Interface("nsIDownload") }}</dt>
- <dd>
- 다운로드 대기열에 있는 파일을 설명합니다. 파일은 다운로드를 위하여 대기열에 있거나 다운로드 중이거나 다운로드를 마쳤을 수 있습니다.</dd>
- <dt>
- {{ Interface("nsIDownloadProgressListener") }}</dt>
- <dd>
- 애플리케이션과 확장이 이 이 인터페이스를 구현하면 다운로드 상태의 변경을 감지할 수 있습니다.</dd>
- <dt>
- {{ Interface("nsIDownloadManagerUI") }}</dt>
- <dd>
- 이 인터페이스를 구현하면 다운로드 관리자의 사용자 인터페이스를 대체할 수 있습니다.</dd>
-</dl>
-<h3 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h3>
-<dl>
- <dt>
- <a href="ko/%eb%82%b4%eb%a0%a4%eb%b0%9b%ea%b8%b0_%ea%b0%90%ec%8b%9c">내려받기 감시</a></dt>
- <dd>
- 과거 및 현재의 모든 다운로드와 다운로드 시작 및 끝 시간, 다운로드 속도 등을 포함한 다운로드 상태를 보여주는 다운로드 로그 윈도우를 생성하기 위하여 새로운 다운로드 관리자 API를 사용하는 방법을 보여주는 예제입니다. <a href="ko/Storage">Storage</a> API의 사용도 보여주고 있습니다.</dd>
-</dl>
-<div class="noinclude">
-  </div>
-<p>{{ languages( { "en": "en/Download_Manager_improvements_in_Firefox_3" } ) }}</p>
diff --git a/files/ko/drag_and_drop_events/index.html b/files/ko/drag_and_drop_events/index.html
deleted file mode 100644
index 9b24f7ec79..0000000000
--- a/files/ko/drag_and_drop_events/index.html
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title: Drag and drop events
-slug: Drag_and_drop_events
-tags:
- - Firefox 3
-translation_of: Archive/Mozilla/Drag_and_drop/Drag_and_drop_events
----
-<p>{{ Fx_minversion_header(3) }}</p>
-<p>Firefox 3에서는 언제 드래그 동작이 시작하고 종료하는지를 알 수 있는 새로운 이벤트가 추가되었습니다. 이 이벤트들은 현재 작업중인 HTML 5 명세의 working draft에 새롭게 추가된 사항입니다.</p>
-<dl>
- <dt>
- <code>drag</code></dt>
- <dd>
- 드래그 동작이 시작될 때 발생됩니다.</dd>
- <dt>
- <code>dragend</code></dt>
- <dd>
- 드래그 동작이 끝날 때 발생됩니다.</dd>
-</dl>
-<p>드래그&amp;드롭에 대해 자세한 정보는 <a href="ko/Drag_and_Drop">Drag and Drop</a> 기사를 참조하세요.</p>
-<p>드래그&amp;드롭 이벤트에 관한 실제 동작하는 예제는 다음 페이지에서 볼 수 있습니다.</p>
-<ul>
- <li><a class="external" href="http://developer.mozilla.org/samples/dragdrop/dragevents.txt">View source</a></li>
- <li><a class="external" href="http://developer.mozilla.org/samples/dragdrop/dragevents.html">View example</a></li>
-</ul>
-<h3 id=".EC.B0.B8.EC.A1.B0" name=".EC.B0.B8.EC.A1.B0">참조</h3>
-<ul>
- <li><a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/#dnd">HTML 5 working draft: Drag and drop</a></li>
- <li><a href="ko/Drag_and_Drop">Drag and Drop</a></li>
- <li>{{ Interface("nsIDragService") }}</li>
-</ul>
-<div class="noinclude">
-  </div>
-<p>{{ languages( { "en": "en/Drag_and_drop_events", "es": "es/Eventos_arrastrar_y_soltar", "fr": "fr/\u00c9v\u00e8nements_de_glisser-d\u00e9poser", "pl": "pl/Zdarzenia_przeci\u0105gania_i_upuszczania" } ) }}</p>
diff --git a/files/ko/dynamically_modifying_xul-based_user_interface/index.html b/files/ko/dynamically_modifying_xul-based_user_interface/index.html
deleted file mode 100644
index bbb163277a..0000000000
--- a/files/ko/dynamically_modifying_xul-based_user_interface/index.html
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: Dynamically modifying XUL-based user interface
-slug: Dynamically_modifying_XUL-based_user_interface
-tags:
- - Add-ons
- - DOM
- - Extensions
- - XUL
-translation_of: Archive/Mozilla/XUL/Dynamically_modifying_XUL-based_user_interface
----
-<p>이 기사(article)는 <a href="ko/DOM">DOM</a>과 다른 API를 써서 <a href="ko/XUL">XUL</a> 인터페이스 다루기를 논합니다. 기사는 DOM
- <i>
- 문서(document)</i>
- 개념을 설명하고, 기본 문서 조작을 수행하는 DOM 호출을 쓰는 단순 예제 상당수에다 Mozilla 고유 메소드를 써서
- <i>
- 익명 <a href="ko/XBL">XBL</a> content</i>
- 를 다루는 작업을 실제로 보입니다.</p>
-<p>내용은 중급 XUL 개발자가 되려는 초보자를 대상으로 합니다. 우리는 읽는 이가 XUL과 JavaScript 기본 지식이 있다고 가정합니다. 여러분은 또한 <a href="ko/About_the_Document_Object_Model">About the Document Object Model</a> 기사나 <a href="ko/Gecko_DOM_Reference">Gecko DOM Reference</a>의 <a href="ko/Gecko_DOM_Reference/Introduction">개요 page</a> 같은 DOM을 다루는 입문 문서 일부를 읽어도 좋습니다.</p>
-<h3 id=".EB.A8.B8.EB.A6.AC.EB.A7.90" name=".EB.A8.B8.EB.A6.AC.EB.A7.90">머리말</h3>
-<p>아시다시피, <a href="ko/XUL">XUL</a>은 Firefox와 Thunderbird 같은 여러 가지 Mozilla 기반 응용프로그램에서 사용자 인터페이스를 기술하기 위해 쓰는 <a href="ko/XML">XML</a> 언어입니다. XUL 응용프로그램에서 <a href="ko/JavaScript">JavaScript</a>는 XUL 문서에 접근하기 위해 <a href="ko/Gecko_DOM_Reference">DOM API</a>를 쓰는 behavior를 정의합니다.</p>
-<p>그러면 <b>D</b>ocument <b>O</b>bject <b>M</b>odel API는 뭘까요?</p>
-<p>DOM API는 스크립트와 문서의 모든 상호 작용에 쓰이는 인터페이스입니다. 혹시 XUL(이나 HTML) 문서와 상호 작용하는 스크립트를 작성해 본 적이 있다면, 여러분은 이미 DOM 호출을 썼습니다. 가장 잘 알려진 DOM 메소드는 아마도 요소의 <code>id</code>를 주면 요소를 반환하는 <code><a href="ko/DOM/document.getElementById">document.getElementById()</a></code>입니다. 여러분은 또한 <code><a href="ko/DOM/element.setAttribute">element.setAttribute()</a></code>나 혹시 확장 기능을 작성했다면 <code><a href="ko/DOM/element.addEventListener">addEventListener()</a></code> 메소드 같은 다른 호출도 써 봤을지도 모릅니다. 이들 모두는 DOM에서 정의합니다.</p>
-<p>또한 문서에서 요소를 만들고, 옮기고, 지우는 메소드도 있습니다. 메소드는 뒷 부분에서 실제로 보입니다. 지금 바로,
- <i>
- 문서</i>
- 가 뭔지 배워 봅시다.</p>
-<h3 id=".EB.AC.B8.EC.84.9C.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F" name=".EB.AC.B8.EC.84.9C.EB.9E.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F">문서란 무엇인가?</h3>
-<p>문서는 DOM API에 의해 다뤄지는 자료 구조(data structure)입니다. 모든 문서의 논리 구조는 요소(element), 속성(attribute), 처리 명령(processing instruction), 주석(comment) 등인 노드가 있는 트리(tree)입니다. 어떤 문서의 트리 표현을 보려면 <a href="ko/DOM_Inspector">DOM Inspector</a> 도구를 쓰세요. <span class="comment">Todo: simple example of a XUL document and a tree</span></p>
-<p>여러분은 문서를 XHTML이나 XUL같은 유효한(valid) HTML이나 적격(well-formed) XML(XUL 포함)의 메모리 내(in-memory) 표현으로 생각할 수 있습니다.</p>
-<p>다른 웹 페이지(와 심지어 같은 웹 페이지의 다른 instance)는 다른 문서와 대응함을 기억하는 게 중요합니다. 각 XUL 창은 자체(its own) distinct 문서가 있고 <code><a href="ko/XUL/iframe">&lt;iframe&gt;</a></code>, <code><a href="ko/XUL/browser">&lt;browser&gt;</a></code>, <code><a href="ko/XUL/tabbrowser">&lt;tabbrowser&gt;</a></code> 요소일 때 심지어 단일 창에 꽤 많은 다른 문서일지도 모릅니다. 여러분은 항상 반드시 바른 문서를 다뤄야 합니다. (이에 대해서는 <a href="ko/Working_with_windows_in_chrome_code">Working with windows in chrome code</a>를 더 읽어 보세요.) 여러분의 스크립트가 <code>&lt;script&gt;</code> 태그를 써서 포함될 때, <code>document</code> 프로퍼티는 그 스크립트를 포함하는 DOM 문서를 참조합니다.</p>
-<h3 id=".EC.98.88.EC.A0.9C:_DOM_.EB.A9.94.EC.86.8C.EB.93.9C_.EC.93.B0.EA.B8.B0" name=".EC.98.88.EC.A0.9C:_DOM_.EB.A9.94.EC.86.8C.EB.93.9C_.EC.93.B0.EA.B8.B0">예제: DOM 메소드 쓰기</h3>
-<p>이 절은 <code><a href="ko/DOM/element.appendChild">appendChild()</a></code>, <code><a href="ko/DOM/document.createElement">createElement()</a></code>, <code><a href="ko/DOM/element.insertBefore">insertBefore()</a></code>, <code><a href="ko/DOM/element.removeChild">removeChild()</a></code> DOM 메소드 사용을 실제로 보입니다.</p>
-<h4 id=".EC.9A.94.EC.86.8C.EC.9D.98_.EC.9E.90.EC.8B.9D_.EB.85.B8.EB.93.9C_.EB.AA.A8.EB.91.90_.EC.97.86.EC.95.A0.EA.B8.B0" name=".EC.9A.94.EC.86.8C.EC.9D.98_.EC.9E.90.EC.8B.9D_.EB.85.B8.EB.93.9C_.EB.AA.A8.EB.91.90_.EC.97.86.EC.95.A0.EA.B8.B0">요소의 자식 노드 모두 없애기</h4>
-<p>이 예제는 어떤 자식도 남지 않을 때까지 첫째 자식을 없애기 위해 <code><a href="ko/DOM/element.removeChild">removeChild()</a></code> 메소드를 호출하여 현재 문서에서 id가 <code>"someElement"</code>인 요소의 모든 자식을 없앱니다.</p>
-<p><code><a href="ko/DOM/element.hasChildNodes">hasChildNodes()</a></code>와 <code><a href="ko/DOM/element.firstChild">firstChild</a></code> 또한 DOM API의 부분임을 유의하세요.</p>
-<pre class="eval">var element = document.getElementById("someElement");
- while(element.hasChildNodes()) {
- element.removeChild(element.firstChild);
- }
-</pre>
-<h4 id=".EB.A9.94.EB.89.B4.EC.97.90_.EB.A9.94.EB.89.B4_.ED.95.AD.EB.AA.A9_.EC.82.BD.EC.9E.85.ED.95.98.EA.B8.B0" name=".EB.A9.94.EB.89.B4.EC.97.90_.EB.A9.94.EB.89.B4_.ED.95.AD.EB.AA.A9_.EC.82.BD.EC.9E.85.ED.95.98.EA.B8.B0">메뉴에 메뉴 항목 삽입하기</h4>
-<p>이 예제는 <code><a href="ko/XUL/menupopup">&lt;menupopup&gt;</a></code>의 시작과 끝에 새 메뉴 항목 둘을 추가합니다. 항목을 만들기 위해 <code><a href="ko/DOM/document.createElementNS">document.createElementNS()</a></code> 메소드와 문서 내에 만든 XML 요소를 삽입하기 위해 <code><a href="ko/DOM/element.appendChild">appendChild()</a></code>와 함께 <code><a href="ko/DOM/element.insertBefore">insertBefore()</a></code>를 씁니다.</p>
-<p>주의:</p>
-<ul>
- <li><code><a href="ko/DOM/document.createElementNS">document.createElementNS()</a></code>는 요소를 만들지만 문서 어딘가에 두지는 않습니다. 여러분은 새로 만든 요소를 문서에 삽입하기 위해 <code><a href="ko/DOM/element.appendChild">appendChild()</a></code> 같은 다른 DOM 메소드 사용이 필요합니다.</li>
- <li><code><a href="ko/DOM/element.insertBefore">insertBefore()</a></code>가 노드를 둘째 매개변수로 참조되는 노드 앞에 삽입하는 반면에 <code><a href="ko/DOM/element.appendChild">appendChild()</a></code>는 다른 모든 노드 뒤에 노드를 추가합니다.</li>
-</ul>
-<pre class="eval">function createMenuItem(aLabel) {
- const XUL_NS = "<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>";
- var item = document.createElementNS(XUL_NS, "menuitem"); // create a new XUL menuitem
- item.setAttribute("label", aLabel);
- return item;
-}
-var popup = document.getElementById("myPopup"); // a &lt;menupopup&gt; element
-var first = createMenuItem("First item");
-var last = createMenuItem("Last item");
-popup.insertBefore(first, popup.firstChild);
-popup.appendChild(last);
-</pre>
-<p>여러분은 또한 기존 요소를 옮기기 위해 <code><a href="ko/DOM/element.appendChild">appendChild()</a></code>와 <code><a href="ko/DOM/element.insertBefore">insertBefore()</a></code>를 쓸 수 있습니다. 예를 들어 여러분은 위 코드 조각(snippet) 마지막 줄에 아래 문장(statement)을 더해 팝업 끝에 "First item"으로 부르는 항목을 옮길 수 있습니다.</p>
-<pre class="eval">popup.appendChild(first);
-</pre>
-<p>이 문장은 문서의 현재 위치에서 노드를 없애고 팝업 끝에 노드를 다시 삽입합니다.</p>
-<h3 id=".EC.9D.B5.EB.AA.85_content_.28XBL.29" name=".EC.9D.B5.EB.AA.85_content_.28XBL.29">익명 content (XBL)</h3>
-<p><a href="ko/XBL">XBL</a>은 새 위젯을 정의하기 위해 Mozilla에서 쓰는 언어입니다. XBL에서 정의한 위젯은 바인딩(binding)이 붙을 때 bound 요소에 삽입되는 어떤 content를 정의하기 위해 고릅니다.
- <i>
- 익명 content</i>
- 로 부르는 이 content는 보통 DOM 메소드를 통해 접근할 수 없습니다.</p>
-<p>여러분은 대신 <code><a href="ko/NsIDOMDocumentXBL">nsIDOMDocumentXBL</a></code> 인터페이스의 메소드를 사용이 필요합니다. 예를 들면,</p>
-<pre class="eval">// 제공한 노드의 첫째 익명 자식을 얻고
-document.getAnonymousNodes(node)[0];
-
-// anonid 속성과 el1이 같은 익명 요소의 NodeList를 반환합니다
-document.getAnonymousElementByAttribute(node, "anonid", "el1");
-</pre>
-<p>더 많은 정보는 XBL reference에서 <a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#getAnonymousNodes">getAnonymousNodes</a>와 <a href="ko/XBL/XBL_1.0_Reference/DOM_Interfaces#getAnonymousElementByAttribute">getAnonymousElementByAttribute</a>를 보세요.</p>
-<p>일단 여러분에게 익명 노드가 있으면, 여러분은 그 바인딩의 나머지 노드를 항해하고 다루기 위해 정규 DOM 메소드를 쓸 수 있습니다.</p>
-<h3 id=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0" name=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0">같이 보기</h3>
-<ul>
- <li><a href="ko/XUL_Tutorial/Document_Object_Model">A related chapter on DOM</a></li>
- <li><a href="ko/XUL_Tutorial/Modifying_a_XUL_Interface">XUL Tutorial:Modifying a XUL Interface</a></li>
-</ul>
diff --git a/files/ko/e4x/index.html b/files/ko/e4x/index.html
deleted file mode 100644
index f1f5fb8157..0000000000
--- a/files/ko/e4x/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: E4X
-slug: E4X
-tags:
- - E4X
- - JavaScript
-translation_of: Archive/Web/E4X
----
-<p><b>ECMAScript for XML</b> (<b>E4X</b>)는 <a href="ko/JavaScript">JavaScript</a>에 native <a href="ko/XML">XML</a> 지원을 더하는 프로그래밍 언어 확장기능입니다. E4X는 ECMAScript 프로그래머에게 자연스러운 형식으로 XML 문서 접근 방법을 제공하여 이를 수행합니다. 목표는 <a href="ko/DOM">DOM</a> 인터페이스를 통하기보다는 XML 문서에 접근하기 더 간단한 대체 구문 제공입니다.
-</p><p>E4X는 Ecma International에서 <a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-357.htm">ECMA-357 표준</a> (현재는 2005년 12월자 두번째 판)으로 지정했습니다.
-</p><p>E4X는 <a href="ko/SpiderMonkey">SpiderMonkey</a> (<a href="ko/Gecko">Gecko</a>의 JavaScript 엔진)와 <a href="ko/Rhino">Rhino</a>에서 (적어도 부분은) 구현되었습니다.
-</p><p><b>주의:</b> Firefox 1.5 같은 Gecko 1.8에 기반을 둔 브라우저에서는, E4X는 벌써 일부분 웹 페이지 제작자가 이용할 수 있습니다. E4X를 완전히 이용하기 위해서는, <code>&lt;script&gt;</code> 요소의 MIME 타입이 "text/javascript;e4x=1" (즉, <code>type="text/javascript;e4x=1"</code> 형식의 속성)일 필요가 있습니다. 두 모드 사이의 차이는 "e4x=1" MIME 타입이 없으면, 어떤 문 수준(statement-level) XML/HTML 주석 상수(literal) (<code><span class="nowiki">&lt;!--...--&gt;</span></code>)든지 주석 감춤 트릭으로 하위 호환성을 위해 무시되고 CDATA 절 (<code>&lt;![CDATA{{ mediawiki.external('...') }}]&gt;</code>)도 (HTML의 <code>&lt;script&gt;</code> 요소가 암시(implicit) CDATA 절을 만들어내기 때문에 HTML에서 JS 구문 에러를 이끌고 그 결과 명시(explicit) CDATA 절을 포함할 수 없어) CDATA 상수로 구문해석되지 않습니다.
-<span class="comment">누구든지 위 내용을 확인해 주세요</span>
-</p>
-<h3 id=".EC.95.8C.EB.A0.A4.EC.A7.84_.EB.B2.84.EA.B7.B8.EC.99.80_.EC.A0.9C.ED.95.9C" name=".EC.95.8C.EB.A0.A4.EC.A7.84_.EB.B2.84.EA.B7.B8.EC.99.80_.EC.A0.9C.ED.95.9C"> 알려진 버그와 제한 </h3>
-<ul><li> 현재는 E4X를 통해 DOM 개체에 접근할 수 없습니다 ({{ Bug(270553) }}).
-</li><li> E4X는 XML 선언 (<code>&lt;?xml version=...?&gt;</code>) 구문해석을 지원하지 않습니다 ({{ Bug(336551) }}를 보세요).
-</li></ul>
-<h3 id="Resources" name="Resources"> Resources </h3>
-<ul><li> <a href="ko/E4X_tutorial">E4X 자습서</a>
-</li><li> MDC의 <a>E4X 관련 페이지</a> 목록
-</li><li> <a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-357.htm">ECMA-357 표준</a>
-</li><li> <a class="external" href="http://developer.mozilla.org/presentations/xtech2005/e4x/">Brendan의 프리젠테이션 </a>
-</li><li> <a class="external" href="http://www.faqts.com/knowledge_base/index.phtml/fid/1762">faqts.com 내 E4X</a>
-</li></ul>
-<div class="noinclude">
-</div>
-{{ languages( { "es": "es/E4X", "fr": "fr/E4X", "it": "it/E4X", "ja": "ja/E4X", "ko": "ko/E4X", "pl": "pl/E4X" } ) }}
diff --git a/files/ko/embedding_mozilla/index.html b/files/ko/embedding_mozilla/index.html
deleted file mode 100644
index 3ed5fc852e..0000000000
--- a/files/ko/embedding_mozilla/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: Embedding Mozilla
-slug: Embedding_Mozilla
-tags:
- - Embedding Mozilla
-translation_of: Mozilla/Gecko/Embedding_Mozilla
----
-<div>
- <p><a href="ko/Gecko">Gecko</a>는 third party 개발자가 Mozilla에 기초를 둔 같은 기술을 사용하는 것을 허용한다. 이것은 당신이 third-party 응용프로그램 안에 웹 브라우저를 embed 하여, 네트워크 backend를 통해 channel과 stream을 열고, <a href="ko/DOM">DOM</a>을 통과하는 것 등을 할 수 있다는 것을 뜻한다. chrome을 써서 전체 새 응용프로그램을 만들 수도 있다.</p>
-</div>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h4 id="Documentation" name="Documentation"><a>Documentation</a></h4>
- <dl>
- <dt>
- <a href="ko/Mozilla_Embedding_FAQ">Mozilla Embedding FAQ</a></dt>
- <dd>
- <small>Mozilla embedding에 대해 자주 묻는 것 모음.</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ko/Gecko_Embedding_Basics">Gecko 임베딩 기초</a></dt>
- <dd>
- <small>Gecko rendering engine 임베드 하기 소개.</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ko/Embedding_the_Editor">에디터 임베딩</a></dt>
- <dd>
- <small>이 글은 editor embed 가능성의 현재 상태, 현존하는 구현의 문제, 우리가 다룰 필요가 있는 몇 가능한 embedding 시나리오, 그것을 채울 임베딩 솔루션을 설명한다.</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ko/Roll_your_own_browser_-_An_embedding_HowTo">Roll your own browser - An embedding HowTo</a></dt>
- <dd>
- <small>Mozilla 임베딩 빠른 소개.</small></dd>
- </dl>
- <p><span class="alllinks"><a>View All...</a></span></p>
- </td>
- <td>
- <h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0">커뮤니티</h4>
- <ul>
- <li>View Mozilla forums...</li>
- </ul>
- <p>{{ DiscussionList("dev-embedding", "mozilla.dev.embedding") }}</p>
- <h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C">관련 주제</h4>
- <dl>
- <dd>
- <a href="ko/Gecko">Gecko</a>, <a href="ko/XPCOM">XPCOM</a></dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/embedding_the_editor/index.html b/files/ko/embedding_the_editor/index.html
deleted file mode 100644
index 291a428289..0000000000
--- a/files/ko/embedding_the_editor/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: Embedding the Editor
-slug: Embedding_the_Editor
-tags:
- - Embedding Mozilla
- - Midas
-translation_of: Mozilla/Gecko/Embedding_Mozilla/Embedding_the_editor
----
-<h2 id=".EC.86.8C.EA.B0.9C" name=".EC.86.8C.EA.B0.9C">소개</h2>
-<p>이 문서는 편집기 임베딩시키는 것에 관련한 현황과 현재 구현의 문제점, 다루어 볼 만한 몇가지 임베딩 방법, 이를 위한 임베딩 솔루션에 대해 설명한다. 마지막으로는 최종 솔루션을 적용하는 과정을 밟아본다.</p>
-<h2 id=".EC.95.A0.ED.94.8C.EB.A6.AC.EC.BC.80.EC.9D.B4.EC.85.98_.EC.9E.84.EB.B2.A0.EB.94.A9" name=".EC.95.A0.ED.94.8C.EB.A6.AC.EC.BC.80.EC.9D.B4.EC.85.98_.EC.9E.84.EB.B2.A0.EB.94.A9">애플리케이션 임베딩</h2>
-<p>에디터를 위해 다룰 몇몇 임베딩 시나리오가 여기 있다. 우선 주의할 것이있다. 나는 '컴포저'(Composer)라는 용어를 리치 텍스트 편집을 수행하는 HTML-savvy 컴포즈 위젯에 대해 사용하며, '에디터'(Editor)라는 용어는 일반 텍스트 에디터(컴포저의 기반 기술이기도 하다)를 의미하는데 사용한다. <code>&lt;htmlarea&gt;</code>는 HTML 문서에 내장된 리치 텍스트 멀티라인 텍스트 위젯을 위한 약어로 사용된다. 모질라의 향후 버전에서 자신만의 태그를 지원하겠다는 암시를 의미하지는 않는다.</p>
-<h3 id="Composer_embedded_in_a_XUL_application" name="Composer_embedded_in_a_XUL_application">컴포저 내장 XUL 애플리케이션</h3>
-<p>오늘날 개발자들은 &lt;editor&gt; 테그를 사용함으로써, 컴포져 위젯을 그들의 XUL 어플리케이션에 내장할 수 있습니다. 그리고 그들은 기본적인 편집 기능이나, 하나의 윈도우에 몇개의 &lt;editor&gt;를 추가하거나, 혹은 각각의 &lt;editor&gt;의 모드(HTML모드인지 보통Text 모드인지)를 제어함에 있어 최소한의 작업만을 필요로 하길 바랍니다.</p>
-<p><br>
- ((이후는 작업중))</p>
-<p> </p>
-<div class="originaldocinfo">
- <h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
- <ul>
- <li>Author(s): the editor team (<a class="link-mailto" href="mailto:mozilla-editor@mozilla.org">mozilla-editor@mozilla.org</a>)</li>
- <li>Last Updated Date: October 30, 2000</li>
- <li>Original Document: <a class="external" href="http://www.mozilla.org/editor/editor-embedding.html">Embedding the Editor</a></li>
- </ul>
-</div>
-<p> </p>
diff --git a/files/ko/extensions/community/index.html b/files/ko/extensions/community/index.html
deleted file mode 100644
index 5bc8462066..0000000000
--- a/files/ko/extensions/community/index.html
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: Community
-slug: Extensions/Community
-tags:
- - Add-ons
- - Extensions
-translation_of: Extensions/Community
----
-<p>혹시 <a href="ko/Extensions">확장기능 개발</a>과 관련하여 쓸모 있는 mailing list, newsgroup, 포럼이나 다른 커뮤니티를 아시면, 여기에 링크해 주세요.</p>
-<ul>
- <li><a class="external" href="http://forums.mozillazine.org/?c=11">MozillaZine Extensions &amp; Themes forum</a></li>
- <li><a class="link-irc" href="irc://moznet/%23extdev">#extdev channel on moznet IRC network</a></li>
- <li><a class="external" href="http://mozdev.org/mailman/listinfo/project_owners">mozdev project owners mailing list</a></li>
- <li><a class="external" href="http://kb.mozillazine.org/Extension_development">Mozillazine Knowledge Base</a></li>
- <li><a class="external" href="http://allyourideas.com/index.php?title=Category:Firefox_extension">AllYourIdeas</a> - 확장기능용 아이디어</li>
- <li><a class="external" href="http://babelzilla.org/">BabelZilla</a> - Mozilla 용용프로그램용 확장기능 개발자와 번역자를 위한 커뮤니티</li>
-</ul>
-<p>{{ languages( { "en": "en/Extensions/Community", "fr": "fr/Extensions/Communaut\u00e9" } ) }}</p>
diff --git a/files/ko/extensions/index.html b/files/ko/extensions/index.html
deleted file mode 100644
index 5c095c6e0b..0000000000
--- a/files/ko/extensions/index.html
+++ /dev/null
@@ -1,72 +0,0 @@
----
-title: 확장기능
-slug: Extensions
-tags:
- - Add-ons
- - Extensions
-translation_of: Mozilla/Add-ons
----
-<p> </p>
-<div class="callout-box">
-<p><b><a href="ko/Building_an_Extension">확장기능 만들기</a></b><br>
-단계별로 어떻게 Firefox용 확장기능을 만드는지 설명합니다.
-</p>
-</div>
-<div>
-<p><b>확장기능</b>(Extensions)은 Firefox와 Thunderbird 같은 Mozilla 응용프로그램에 새로운 기능을 추가하는 작은 부가 기능입니다. 도구 표시줄 버튼부터 완전히 새로운 기능까지 무엇이든 추가할 수 있습니다. 확장기능은 응용프로그램 자체의 용량을 줄이고 개별 사용자가 부가 기능이 필요하면 응용프로그램을 수정하거나 개선할 수 있게 합니다.
-</p>
-</div>
-<table class="topicpage-table">
-<tbody><tr><td>
-<h3 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"> <a>문서</a> </h3>
-<dl><dt> <a href="ko/Extension_Frequently_Asked_Questions">확장기능에 관해 자주 하는 질문</a>
-</dt><dd> <small>확장기능 개발에 관한 일반 문답.</small>
-</dd></dl>
-<dl><dt> <a href="ko/Setting_up_extension_development_environment"> 확장기능 개발 환경 구축</a>
-</dt><dd> <small>확장기능 개발 환경 구축을 쉽게 하기 위한 몇 가지 도움말.</small>
-</dd></dl>
-<dl><dt> <a href="ko/Extension_Packaging">확장기능 패키징</a>
-</dt><dd> <small>내려받기와 설치를 위해 Firefox 확장기능 꾸리는 법. </small>
-</dd></dl>
-<dl><dt> <a href="ko/Creating_Custom_Firefox_Extensions_with_the_Mozilla_Build_System">Mozilla 빌드 시스템으로 사용자 정의 Firefox 확장기능 만들기</a>
-</dt><dd> <small>바이너리 컴포넌트를 사용 확장기능 빌드 환경 구축하는 법. </small>
-</dd></dl>
-<dl><dt> <a href="ko/Updating_extensions_for_Firefox_3"> Firefox 3에 맞춰 확장 기능 고치기</a>
-</dt><dd> <small>확장 기능에 영향을 줄 수 있는 Firefox 3의 변경 사항들과 관련 문서에 대한 링크들.</small>
-</dd></dl>
-<dl><dt> <a href="ko/Code_snippets">Code snippets</a>
-</dt><dd> <small>많은 확장기능이 보통 쓰는 코드. 더 많은 예제는 <a>Category:Extensions</a>의 문서를 같이 보세요.</small>
-</dd></dl>
-<p><span class="alllinks"><a>View All...</a></span>
-</p>
-</td>
-<td>
-<h3 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0"> 커뮤니티 </h3>
-<ul><li> Mozilla 포럼 보기...
-</li></ul>
-<p>{{ DiscussionList("dev-extensions", "mozilla.dev.extensions") }}
-</p>
-<ul><li> <a class="link-irc" href="irc://irc.mozilla.org/extdev">#extdev IRC channel</a>
-</li><li> <a class="external" href="http://forums.mozillazine.org/?c=11">MozillaZine forum</a>
-</li><li> <a class="external" href="http://mozdev.org/mailman/listinfo/project_owners">mozdev project owners</a>
-</li><li> <a href="ko/Extensions/Community">Other community links...</a>
-</li></ul>
-<h3 id=".EA.B0.9C.EB.B0.9C_.EB.8F.84.EA.B5.AC" name=".EA.B0.9C.EB.B0.9C_.EB.8F.84.EA.B5.AC"> 개발 도구 </h3>
-<ul><li> <a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">Extension Developer's Extension</a>
-</li><li> <a href="ko/DOM_Inspector">DOM Inspector</a>
-</li><li> <a href="ko/Venkman">Venkman</a>, JavaScript 디버거
-</li><li> <a class="external" href="http://ted.mielczarek.org/code/mozilla/extensionwiz/">Extension Wizard</a>
-</li><li> <a class="external" href="http://www.spket.com/">Spket IDE</a>, 확장기능 개발용 IDE
-</li></ul>
-<p><span class="alllinks"><a>View All...</a></span>
-</p>
-<h3 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C"> 관련 주제 </h3>
-<dl><dd> <a href="ko/XUL">XUL</a>, <a href="ko/JavaScript">JavaScript</a>, <a href="ko/XPCOM">XPCOM</a>, <a href="ko/Themes">Themes</a>, <a href="ko/Developing_Mozilla">Developing Mozilla</a>
-</dd></dl>
-</td>
-</tr>
-</tbody></table>
-<p><span class="comment">Categories</span>
-</p><p><span class="comment">Interwiki Language Links</span>
-</p><p><br>
-</p>{{ languages( { "en": "en/Extensions", "es": "es/Extensiones", "fr": "fr/Extensions", "it": "it/Estensioni", "ja": "ja/Extensions", "pl": "pl/Rozszerzenia", "pt": "pt/Extens\u00f5es" } ) }}
diff --git a/files/ko/extensions/thunderbird/building_a_thunderbird_extension_4_colon__chrome_manifest/index.html b/files/ko/extensions/thunderbird/building_a_thunderbird_extension_4_colon__chrome_manifest/index.html
deleted file mode 100644
index 37184fd45b..0000000000
--- a/files/ko/extensions/thunderbird/building_a_thunderbird_extension_4_colon__chrome_manifest/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: 'Building a Thunderbird extension 4: chrome manifest'
-slug: 'Extensions/Thunderbird/Building_a_Thunderbird_extension_4:_chrome_manifest'
-translation_of: >-
- Mozilla/Thunderbird/Thunderbird_extensions/Building_a_Thunderbird_extension_4:_chrome_manifest
----
-<p>The file called <code>chrome.manifest</code> tells Thunderbird what packages and overlays are provided by the extension. Open the file called <code>chrome.manifest</code> that you created and add this code:</p>
-<pre class="eval">content myfirstext chrome/content/
-</pre>
-<ul>
- <li><code><strong>content</strong></code> specifies the type of material in the package</li>
- <li><code><strong>myfirstext</strong></code> is the name of the chrome package (specified in the first segment of <code>&lt;em:id&gt;</code> in the <code>install.rdf</code> file</li>
- <li><code><strong>chrome/content/</strong></code> is the location of the package's files within the <code>chrome</code> namespace</li>
-</ul>
-<p>So, this line says that for a chrome package <code><strong>myfirstext</strong></code>, we can find its <strong>content</strong> files in the directory <code style="font: normal normal normal 100%/normal 'Courier New', 'Andale Mono', monospace; color: inherit; font-weight: inherit;">chrome</code>/<code>content</code>/ (which is a path relative to the location of <code>chrome.manifest</code>).</p>
-<p>To change the Thunderbird user interface to support the extension, you create an overlay and then merge it with the default Thunderbird interface. Later in the tutorial we will create a XUL overlay file that will merge with the default <code>messenger.xul</code> file. At this point we are going to specify in <code>chrome.manifest</code> the existence of the overlay (which we will create later).</p>
-<p>Add this line at the end of <code>chrome.manifest:</code></p>
-<div id="section_8">
- <pre class="eval">overlay <a class="external" rel="freelink">chrome://messenger/content/messenger.xul</a> <a class="external" rel="freelink">chrome://myfirstext/content/myhelloworld.xul</a>
-</pre>
- This tells Thunderbird to merge <code>myhelloworld.xul</code> into <code>messenger.xul</code> when <code>messenger.xul</code> loads. For more information on chrome manifests and the properties they support, see the <a href="../../../../en/Chrome_Registration" rel="internal">Chrome Manifest</a> Reference.
- <p> </p>
- <p>If you used the Add-On Builder as described in the <a class="internal" href="/en/Extensions/Thunderbird/Building_a_Thunderbird_extension_2:_extension_filesystem" title="en/Extensions/Thunderbird/Building a Thunderbird extension 2: extension filesystem">previous step</a>, open the <code>chrome.manifest</code> file that was in the archive package in a text editor. You will see the <code>content</code> line at the top of the file. Add the <code>overlay</code> line at the bottom of the file. It doesn't matter if there are other <code>overlay</code> lines in the file.</p>
-</div>
-<div class="note">
- It can be useful to install an add-on such as the <a href="/en/DOM_Inspector" title="en/DOM Inspector"><strong>DOM Inspector</strong></a> to better understand the layout of existing XUL files and to debug your own overlays.</div>
-<p>{{ Previous("Extensions/Thunderbird/Building_a_Thunderbird_extension_3:_install_manifest") }}</p>
-<p>{{ Next("Extensions/Thunderbird/Building_a_Thunderbird_extension_5:_XUL") }}</p>
diff --git a/files/ko/extensions/thunderbird/index.html b/files/ko/extensions/thunderbird/index.html
deleted file mode 100644
index 8c10f366f3..0000000000
--- a/files/ko/extensions/thunderbird/index.html
+++ /dev/null
@@ -1,112 +0,0 @@
----
-title: Thunderbird extensions
-slug: Extensions/Thunderbird
-tags:
- - Add-ons
- - Extensions
- - NeedsTranslation
- - TopicStub
- - thunderbird
-translation_of: Mozilla/Thunderbird/Thunderbird_extensions
----
-<div class="callout-box">
- <strong><a href="/en/Extensions/Thunderbird/Building_a_Thunderbird_extension" title="en/Building_a_Thunderbird_extension">Building a Thunderbird extension</a></strong><br>
- Step-by-step explanation on how to build an extension for Thunderbird.</div>
-<div>
- The following documentation provides help for creating extensions for Mozilla's <a class="internal" href="/en/Thunderbird" title="En/Thunderbird">Thunderbird</a> email client. Although there are many similarities with <a href="/en/Extensions" title="en/Extensions">Firefox extensions</a> there are also some differences that may confound the starting developer.</div>
-<div>
- <br>
- <strong>Please help!</strong> You can <a class="internal" href="/en/Extensions/Thunderbird/HowTos" title="en/Extensions/Thunderbird/HowTos">add a how-to</a> (a question or an answer or a code snippet), <a class="internal" href="/en/Extensions/Thunderbird/Useful_newsgroups_discussions" title="En/Extensions/Thunderbird/Useful newsgroups discussions">summarize and link to a relevant newsgroup discussion</a>, or create a tutorial. Need help? Contact <a class="internal" href="/User:jenzed" title="User:jenzed">jenzed</a>.</div>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 id="Documentation" name="Documentation"><a href="/Special:Tags?tag=Extensions&amp;language=en" title="Special:Tags?tag=Extensions&amp;language=en">Documentation</a></h2>
- <h3 id="Getting_started_with_Thunderbird">Getting started with Thunderbird</h3>
- <p>A brave, young developer wants to develop an addon for Thunderbird. Here's a few links to help them through this journey.</p>
- <ul>
- <li>Start by reading the tutorial and learn how to<a class="internal" href="/en/Extensions/Thunderbird/Building_a_Thunderbird_extension" title="En/Building a Thunderbird extension"> build a Thunderbird extension</a> (Outdated, still talks about overlays and the ad-on builder has changed but the tutorial has not been updated.)</li>
- <li>Read about the <a href="/en/Thunderbird/Main_Windows" title="Main Windows">main windows</a> so that you know what one means when they say « thread pane », « preview pane », and « folder pane ».</li>
- <li>Read an <a class="external" href="http://blog.xulforum.org/index.php?post/2011/01/03/An-overview-of-Thunderbird-Conversations" title="http://blog.xulforum.org/index.php?post/2011/01/03/An-overview-of-Thunderbird-Conversations">overview</a> of how the various parts of Thunderbird fit together, this really helps get a better understanding of Thunderbird.</li>
- <li>Want to do some real stuff? See <a class="external" href="http://blog.xulforum.org/index.php?post/2011/03/14/Basic-MimeMessage-demo" title="http://blog.xulforum.org/index.php?post/2011/03/14/Basic-MimeMessage-demo">how to inspect a message</a> (demo addon included!)</li>
- <li>Play with our other <a href="/en/Extensions/Thunderbird/Demo_Addon" title="Demo Addon">demo addon</a> that exercises some more advanced Thunderbird-specific features</li>
- <li>Want to do even more stuff? Don't reinvent the wheel: steal functions from the <a class="link-https" href="https://github.com/protz/thunderbird-stdlib" title="https://github.com/protz/thunderbird-stdlib">thunderbird-stdlib</a> project (doc <a class="external" href="http://protz.github.com/thunderbird-stdlib/doc/symbols/_global_.html" title="http://protz.github.com/thunderbird-stdlib/doc/symbols/_global_.html">here</a>). Functions for dealing with messages (delete them, archive them, change their tags, etc.) are included.</li>
- <li>Haven't found what you're looking for? Read the <a class="internal" href="/en/Extensions/Thunderbird/HowTos" rel="internal" title="en/Extensions/Thunderbird/HowTos">Thunderbird how-tos</a>; they contain a lot of recipes for things extensions want to do.</li>
- <li>Still haven't managed to do what you wanted? See the list of all <a class="external" href="http://wiki.mozilla.org/Thunderbird/CommunicationChannels" title="http://wiki.mozilla.org/Thunderbird/CommunicationChannels">Thunderbird communication channels </a>so that you know where to ask when you get stuck :-).</li>
- <li>Feeling really brave? Read the source using a <a class="external" href="http://doxygen.db48x.net/comm-central/html/" title="http://doxygen.db48x.net/comm-central/html/">fancy interface</a>; you can often find tests that demonstrate how to do what you're trying to achieve.</li>
- </ul>
- <h3 id="The_Gloda_database">The Gloda database</h3>
- <p>Thunderbird has a subsystem called Gloda. Gloda stands for « Global Database », and creates Thunderbird-wide relations between objects. Gloda provides concepts such as Conversations, Messages, Identities, Contacts. All these concepts are related together: a Conversation contains Messages which are linked to Identities (<strong>from</strong> field, <strong>to</strong> field) which are themselves part of a Contact: indeed, a contact has multiple identities.</p>
- <p>Typical use cases for Gloda: find all messages whose subject matches [search term], find all messages from [person], find all messages in the same thread as [a given message], find all messages involving [person], etc. etc.</p>
- <p>Gloda is extremely powerful and is used heavily by addons such as <a class="link-https" href="https://addons.mozilla.org/en-US/thunderbird/addon/gmail-conversation-view/" title="https://addons.mozilla.org/en-US/thunderbird/addon/gmail-conversation-view/">Thunderbird Conversations</a>. Learn more about Gloda:</p>
- <ul>
- <li>an overview of <a href="/en/Thunderbird/gloda" title="Gloda">Gloda</a></li>
- <li>learn how to create <a href="/en/Thunderbird/Creating_a_Gloda_message_query" title="Creating a gloda message query">your first message query</a> and read the <a href="/en/Thunderbird/Gloda_examples" title="Gloda examples">gloda examples</a></li>
- <li>learn about the Gloda internals: <a href="/en/Thunderbird/Gloda_debugging" title="Gloda debugging">Gloda debugging</a>, <a href="/en/Thunderbird/Gloda_indexing" title="Gloda indexing">Gloda indexing</a></li>
- </ul>
- <h3 id="More_Thunderbird-specific_links">More Thunderbird-specific links</h3>
- <p>Some of these links may be wildly out of date, but they still provide valuable information on the codebase.</p>
- <ul>
- <li><a class="internal" href="/en/Extensions/Thunderbird/An_overview_of_the_Thunderbird_interface" title="En/Extensions/Thunderbird/An overview of the Thunderbird interface">An overview of Thunderbird components</a></li>
- <li><a class="internal" href="/en/Extensions/Thunderbird/Thunderbird_developer_reference_docs" title="en/Extensions/Thunderbird/Thunderbird developer reference docs">Developer reference docs</a>:
- <ul>
- <li><a class="internal" href="/en/Folders" title="En/Folders">Folder classes</a></li>
- <li><a class="internal" href="/en/DB_Views_(message_lists)" title="En/DB Views (message lists)">DB views (message list)</a></li>
- <li><a class="internal" href="/en/Message_Summary_Database" title="En/Message Summary Database">Message summary database</a></li>
- <li><a class="internal" href="/en/MailNews_Protocols" title="En/MailNews Protocols">MailNews protocols</a></li>
- <li><a class="internal" href="/En/MailNews%20Filters" rel="internal" title="En/MailNews Filters">MailNews filters</a></li>
- <li><a class="internal" href="/en/Extensions/Thunderbird/Error_reporting_tools" title="en/Extension Library/Extensions/Thunderbird/Error reporting tools">Error reporting tools</a></li>
- <li><a href="/en/Toolkit_API/STEEL" title="en/Toolkit API/STEEL">STEEL library</a> (not actively developed anymore, use   <a class="link-https" href="https://github.com/protz/thunderbird-stdlib" title="https://github.com/protz/thunderbird-stdlib">https://github.com/protz/thunderbird-stdlib</a>)</li>
- <li><a class="external" href="http://quetzalcoatal.blogspot.com/2010/01/developing-new-account-types-part-0.html" title="http://quetzalcoatal.blogspot.com/2010/01/developing-new-account-types-part-0.html">Developing new account types</a> <strong>NEW!</strong></li>
- </ul>
- </li>
- <li><a class="internal" href="/en/Extensions/Thunderbird/Useful_newsgroups_discussions" title="En/Extensions/Thunderbird/Useful newsgroups discussions">Useful newsgroup discussions</a> (watch out, anything that's too old should be regarded suspiciously; there's been significant API rewrite over the past years, and most of these techniques are considerably easier now) </li>
- <li><a href="/en/Thunderbird/Thunderbird_API_documentation" title="en/Thunderbird/Thunderbird API documentation">Thunderbird API docs</a> (mostly a collection of out-of-date pages, relevance is rather dubious) </li>
- <li><a href="/En/Thunderbird_3_for_developers" title="En/Thunderbird 3 for developers">Thunderbird 3 for developers</a> and <a href="/en/Thunderbird_3.1_for_developers" title="en/Thunderbird 3.1 for developers">Thunderbird 3.1 for developers</a> - changes in the recent Thunderbird updates affecting add-on developers. <a href="/Thunderbird_5_for_developers" title="Thunderbird 5 for developers">Thunderbird 5 for developers</a> has important information on MsgHdrToMimeMessage which is a central piece of code.</li>
- </ul>
- <h3 id="General_links">General links</h3>
- <ul>
- <li><a class="internal" href="/en/Extensions" title="en/Extensions">General information on developing extensions for Mozilla applications</a></li>
- <li><a href="/en/Extensions/Thunderbird/Finding_the_code_for_a_feature" title="en/Extensions/Thunderbird/Finding the code for a feature">Finding the code for a feature</a></li>
- <li><a class="external" href="http://kb.mozillazine.org/Category:Thunderbird" title="http://kb.mozillazine.org/Category:Thunderbird">Mozillazine articles on Thunderbird</a></li>
- <li><a href="/Special:Tags?tag=Thunderbird" title="https://developer.mozilla.org/Special:Tags?tag=Thunderbird">All pages tagged with Thunderbird</a></li>
- <li><a href="/Special:Tags?tag=MailNews" title="https://developer.mozilla.org/Special:Tags?tag=MailNews">All pages tagged with MailNews</a></li>
- </ul>
- </td>
- <td>
- <h2 id="Community" name="Community">Community</h2>
- <ul>
- <li>See the list of all <a class="external" href="http://wiki.mozilla.org/Thunderbird/CommunicationChannels" title="http://wiki.mozilla.org/Thunderbird/CommunicationChannels">Thunderbird communication channels </a>first</li>
- <li>Among these are:</li>
- </ul>
- <p>{{ DiscussionList("dev-extensions", "mozilla.dev.extensions") }}</p>
- <ul>
- <li><a class="link-irc" href="irc://moznet/#extdev">#extdev IRC channel</a> / <a class="link-irc" href="irc://moznet/#maildev">#maildev IRC channel</a></li>
- <li><a class="external" href="http://forums.mozillazine.org/viewforum.php?f=19">MozillaZine forum</a></li>
- <li><a class="external" href="http://mozdev.org/mailman/listinfo/project_owners">mozdev project owners</a></li>
- <li><a href="/en/Extensions/Community" title="en/Extensions/Community">Other community links...</a></li>
- </ul>
- <h2 id="Tools" name="Tools">Tools</h2>
- <ul>
- <li><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/6622" rel="external nofollow" title="https://addons.mozilla.org/en-US/firefox/addon/6622">DOM Inspector</a> edit the live DOM (Firefox and Thunderbird)</li>
- <li><a class="link-https" href="https://addons.mozilla.org/thunderbird/addon/workspace-for-thunderbird/" title="https://addons.mozilla.org/thunderbird/addon/workspace-for-thunderbird/">Workspace for Thunderbird</a>, allows running code snippets in Thunderbird and inspecting variable structure and content</li>
- <li><a class="external" href="http://www.hacksrus.com/~ginda/venkman/" rel="external nofollow" title="http://www.hacksrus.com/~ginda/venkman/">Venkman</a>, a JavaScript debugger (<a class="external" href="http://addons.mozilla.org/en-US/firefox/addon/216" rel="external nofollow" 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" rel="external nofollow" 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/" rel="external nofollow" title="https://addons.mozilla.org/en-US/firefox/addon/7434/">Extension Developer's Extension</a> a suite of development tools</li>
- <li><a class="external" href="http://www.gijsk.com/" rel="external nofollow" title="http://www.gijsk.com/">Chrome List</a> view files in chrome:// (<a class="external" href="http://addons.mozilla.org/en-US/firefox/addon/4453" rel="external nofollow" 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" rel="external nofollow" title="http://addons.mozilla.org/en-US/thunderbird/addon/4453">Thunderbird</a>)</li>
- <li><a class="external" href="http://addons.mozilla.org/en-US/developers/tools/builder" rel="external nofollow" title="http://addons.mozilla.org/en-US/developers/tools/builder">Add-on Builder</a> a web-based extension skeleton generator (Firefox and Thunderbird)</li>
- <li><a href="/en/Mozmill" title="en/Mozmill">Mozmill</a> test tool and framework</li>
- <li><a class="external" href="http://xpcomviewer.mozdev.org/" rel="external nofollow" title="http://xpcomviewer.mozdev.org">XPCOMViewer</a> an XPCOM inspector (Firefox and Thunderbird)</li>
- </ul>
- <p>... <a class="internal" href="/en/Setting_up_extension_development_environment#Development_extensions" title="en/Setting up extension development environment#Development extensions">more tools</a> ...</p>
- <p><span class="alllinks"><a href="/Special:Tags?tag=Extensions:Tools&amp;language=en" title="Special:Tags?tag=Extensions:Tools&amp;language=en">View All...</a></span></p>
- <h2 id="Related_Topics" name="Related_Topics">Related Topics</h2>
- <dl>
- <dd>
- <a href="/en/XUL" title="en/XUL">XUL</a>, <a href="/en/JavaScript" title="en/JavaScript">JavaScript</a>, <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a>, <a href="/en/Themes" title="en/Themes">Themes</a>, <a href="/En/Developer_Guide" title="en/Developing_Mozilla">Developing Mozilla</a></dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-<p><span class="comment">Categories</span></p>
-<p>{{ languages( { "ja": "ja/Extensions/Thunderbird" } ) }}</p>
diff --git a/files/ko/fuel/index.html b/files/ko/fuel/index.html
deleted file mode 100644
index ec740db603..0000000000
--- a/files/ko/fuel/index.html
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: FUEL
-slug: FUEL
-tags:
- - FUEL
- - Interfaces
-translation_of: Mozilla/Tech/Toolkit_API/FUEL
----
-<p>FUEL은 개발자들에게 친숙한 용어와 인터페이스를 사용하여 확장 기능을 개발할 수 있도록 디자인된 JavaScript 라이브러리 입니다. FUEL은 Firefox 3에서 처음으로 제공되는 것으로 Firefox 2 용으로도 포팅될 것입니다.</p>
-<p>FUEL은 일부 XPCOM 형식에 얽매이는 면을 최소화하고 몇 가지 "최신" JavaScript 개념들을 추가하여, 확장 기능의 개발이 쉬워져 개발 생산성이 높아질 수 있게 해줄 것입니다. 우리는 가장 유용한 것들을 제공할 수 있는 공간이 되게 시작하길 원합니다.</p>
-<h3 id=".EA.B0.9D.EC.B2.B4" name=".EA.B0.9D.EC.B2.B4">객체</h3>
-<ul>
- <li><a href="ko/FUEL/Annotations">Annotations</a></li>
- <li><a href="ko/FUEL/Application">Application</a></li>
- <li><a href="ko/FUEL/Bookmark">Bookmark</a></li>
- <li><a href="ko/FUEL/BookmarkFolder">BookmarkFolder</a></li>
- <li><a href="ko/FUEL/BrowserTab">BrowserTab</a></li>
- <li><a href="ko/FUEL/Console">Console</a></li>
- <li><a href="ko/FUEL/EventItem">EventItem</a></li>
- <li><a href="ko/FUEL/EventListener">EventListener</a></li>
- <li><a href="ko/FUEL/Events">Events</a></li>
- <li><a href="ko/FUEL/Extension">Extension</a></li>
- <li><a href="ko/FUEL/Extensions">Extensions</a></li>
- <li><a href="ko/FUEL/Preference">Preference</a></li>
- <li><a href="ko/FUEL/PreferenceBranch">PreferenceBranch</a></li>
- <li><a href="ko/FUEL/SessionStorage">SessionStorage</a></li>
- <li><a href="ko/FUEL/Window">Window</a></li>
-</ul>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/gecko/index.html b/files/ko/gecko/index.html
deleted file mode 100644
index 09de4208ab..0000000000
--- a/files/ko/gecko/index.html
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: Gecko
-slug: Gecko
-tags:
- - Gecko
-translation_of: Mozilla/Gecko
----
-<div class="summary">
- <p><span class="seoSummary"><strong>Gecko는 Mozilla 프로젝트에서 개발한 레이아웃 엔진의 이름입니다.</strong> 원래 이름은 NGLayout이었습니다. Gecko의 기능은 <a href="/en-US/docs/HTML" title="HTML">HTML</a>, <a href="/en-US/docs/CSS" title="CSS">CSS</a>, <a href="/en-US/docs/XUL" title="XUL">XUL</a>, <a href="/en-US/docs/JavaScript" title="JavaScript">JavaScript</a> 같은 콘텐츠를 읽어와 해석한 뒤 사용자의 스크린에 그려주는 역할을 합니다. Gecko 어플리케이션은 웹 콘텐츠뿐만 아니라 XUL기반의 어플리케이션들의 UI를 해석하기도 합니다.</span></p>
-</div>
-<p>Gecko는 FireFox, SeaMonkey 등과 같은 몇개의 브라우저를 포함한 다양한 어플리케이션에서 사용합니다. (정확한 리스트는 <a class="external" href="http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29#Web_browsers" rel="external" style="line-height: 1.5;" title="http://en.wikipedia.org/wiki/Gecko_(layout_engine)#Web_browsers">Wikipedia's article on Gecko</a>를 참고하세요) 같은 버전의 Gecko를 사용하는 제품은 표준을 같이 지원합니다.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td style="width: 498px;">
- <h2 class="Documentation" id="문서" style="line-height: 30px;">문서</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Gecko_FAQ" title="Gecko_FAQ">Gecko FAQ</a></dt>
- <dd>
- Gecko에 대해 흔히 물어보는 질문.</dd>
- <dt>
- <a href="/en-US/docs/Gecko_DOM_Reference" title="https://developer.mozilla.org/en-US/docs/Gecko_DOM_Reference">Gecko DOM 명세</a></dt>
- <dd>
- DOM 명세.</dd>
- <dt>
- <a href="/en-US/docs/Gecko-Specific_DOM_Events" title="Gecko/Gecko event reference">Gecko event 명세</a></dt>
- <dd>
- Gecko와 Mozilla 어플리케이션에서 사용하는 이벤트 명세; 웹표준 DOM Event가 궁금하다면,  <a href="/en-US/docs/DOM/DOM_event_reference" style="line-height: 1.5;" title="DOM/DOM event reference">DOM event reference</a>을 참고하세요.</dd>
- <dt>
- <a href="/en-US/docs/Gecko/Versions" title="Gecko/Versions">Gecko 버전과 어플리케이션 버전</a></dt>
- <dd>
- Gecko 버전과 Gecko를 사용하는 어플리케이션의 버전.</dd>
- <dt>
- <a class="external" href="/en-US/docs/Introduction_to_Layout_in_Mozilla" title="https://developer.mozilla.org/en-US/docs/Introduction_to_Layout_in_Mozilla">Mozilla 내의 Layout 소개</a></dt>
- <dd>
- layout에 대한 기술 토론.</dd>
- <dt>
- <a href="/en-US/docs/Embedding_Mozilla" title="Embedding_Mozilla">Embedding Mozilla</a></dt>
- <dd>
- 어플리케이션에 Gecko를 사용하는 법.</dd>
- <dt>
- <a href="/en-US/docs/Character_Sets_Supported_by_Gecko" title="Character Sets Supported by Gecko">Gecko에서 지원하는 캐릭터셋</a></dt>
- <dd>
- Gecko에서 지원하는 캐릭터셋 목록.</dd>
- <dt>
- <a href="/en-US/docs/Gecko/HTML_parser_threading" title="Gecko/HTML_parser_threading">HTML 파서 스레딩</a></dt>
- <dd>
- HTML 파서의 멀티 스레딩 설명</dd>
- <dt>
- {{interwiki('wikimo', 'Gecko:Home_Page', 'Gecko Home Page on MozillaWiki')}}</dt>
- <dd>
- 더 많은 최신 자료와 로드맵이 제공되는, 활발한 개발자를 위한 홈.</dd>
- </dl>
- <p><span class="alllinks" style="font-size: 13px;"><a href="/en-US/docs/tag/Gecko" title="tag/Gecko">전체 보기...</a></span></p>
- </td>
- <td style="width: 498px;">
- <h2 class="Community" id="커뮤니티" style="line-height: 30px;">커뮤니티</h2>
- <ul>
- <li>View Mozilla forums... {{DiscussionList("dev-tech-layout", "mozilla.dev.tech.layout")}}</li>
- </ul>
- <h2 class="Related_Topics" id="관련_주제" style="line-height: 30px;">관련 주제</h2>
- <div>
-  </div>
- <dl>
- <dd>
- <a href="/en-US/docs/Web_Standards" title="Web_Standards">웹 표준</a>, <a href="/en-US/docs/XUL" title="XUL">XUL</a>, <a href="/en-US/docs/Embedding_Mozilla" title="Embedding_Mozilla">Embedding Mozilla</a>, <a href="/en-US/docs/Developer_Guide" title="Developing_Mozilla">Developing Mozilla</a></dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/gecko_1.9_changes_affecting_websites/index.html b/files/ko/gecko_1.9_changes_affecting_websites/index.html
deleted file mode 100644
index 53dba457fa..0000000000
--- a/files/ko/gecko_1.9_changes_affecting_websites/index.html
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: Gecko 1.9 Changes affecting websites
-slug: Gecko_1.9_Changes_affecting_websites
-tags:
- - Gecko
- - Web Development
-translation_of: Mozilla/Firefox/Releases/3/Site_compatibility
----
-<p>이 글은 웹사이트의 동작이나 표현(rendering)에 영향을 미칠 수 있는, <a href="ko/Gecko">Gecko</a> 1.8과 Gecko 1.9 사이의 바뀌 점들을 소개합니다.</p>
-
-<p><a href="ko/Firefox_3_for_developers">Firefox 3 for developers</a>도 보세요.</p>
-
-<h2 id=".EC.9D.B4.EB.B2.A4.ED.8A.B8" name=".EC.9D.B4.EB.B2.A4.ED.8A.B8">이벤트</h2>
-
-<h3 id=".ED.8F.AC.EC.B0.A9.ED.95.98.EB.8A.94_load_.EC.9D.B4.EB.B2.A4.ED.8A.B8_.EC.B2.AD.EC.B7.A8.EC.9E.90" name=".ED.8F.AC.EC.B0.A9.ED.95.98.EB.8A.94_load_.EC.9D.B4.EB.B2.A4.ED.8A.B8_.EC.B2.AD.EC.B7.A8.EC.9E.90">포착하는 load 이벤트 청취자</h3>
-
-<p>Gecko 1.8에서는 포착하는(capturing) load 이벤트 청취자를 그림에 설정하는 게 불가능했습니다. Gecko 1.9에서는 이 문제를 {{ Bug(234455) }}로 고쳤습니다. 하지만 이벤트 청취자가 load 이벤트를 포착하게 설정하도록 어긋나게 만든 웹사이트에서 문제를 일으킬 수 있습니다. {{ Bug(335251) }}에서 토론한 내용을 보세요. 이 문제를 고치려면 당해 문제가 있는 페이지가 포착하는 load 이벤트 청취자를 설정하지 않게 해야 합니다.</p>
-
-<p>예를 들어 이것을:</p>
-
-<pre class="eval">window.addEventListener('load', yourFunction, true);
-</pre>
-
-<p>이렇게 바꿔야 합니다:</p>
-
-<pre class="eval">window.addEventListener('load', yourFunction, false);
-</pre>
-
-<p>이벤트 포착의 작동 원리를 알려면 <a class="external" href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture">DOM Level 2 Event capture</a>를 보세요.</p>
-
-<h3 id="preventBubble_.EC.97.86.EC.95.B0" name="preventBubble_.EC.97.86.EC.95.B0"><code>preventBubble</code> 없앰</h3>
-
-<p>Gecko 1.8에는 이벤트가 위로 넘치지 못하게 하는 <code>preventBubble</code> 메소드가 이벤트에 있었습니다. Gecko 1.9에는 이 메소드가 없습니다. 그 대신에 표준인 <a href="ko/DOM/event.stopPropagation">stopPropagation()</a>을 써야 합니다. 이 메소드는 Gecko 1.8에서도 제대로 작동합니다. {{ Bug(330494) }}의 패치가 적용됐습니다. {{ Bug(105280) }}도 보세요.</p>
-
-<h3 id=".EB.8B.A4.EB.A5.B8_.EB.AA.87_.EA.B0.80.EC.A7.80_.EC.98.A4.EB.9E.98.EB.90.9C_.EC.9D.B4.EB.B2.A4.ED.8A.B8_API.EB.A5.BC_.EB.8D.94_.EC.9D.B4.EC.83.81_.EC.A7.80.EC.9B.90_.EC.95.88_.ED.95.A8" name=".EB.8B.A4.EB.A5.B8_.EB.AA.87_.EA.B0.80.EC.A7.80_.EC.98.A4.EB.9E.98.EB.90.9C_.EC.9D.B4.EB.B2.A4.ED.8A.B8_API.EB.A5.BC_.EB.8D.94_.EC.9D.B4.EC.83.81_.EC.A7.80.EC.9B.90_.EC.95.88_.ED.95.A8">다른 몇 가지 오래된 이벤트 API를 더 이상 지원 안 함</h3>
-
-<p><a href="ko/DOM/window.captureEvents">window.captureEvents</a>, <a href="ko/DOM/window.releaseEvents">window.releaseEvents</a>, 그리고 <code>window.routeEvent</code>는 Gecko 1.9에서 더 이상 지원하지 않습니다({{ Obsolete_inline() }}).</p>
-
-<h2 id="DOM" name="DOM">DOM</h2>
-
-<h3 id="WRONG_DOCUMENT_ERR" name="WRONG_DOCUMENT_ERR"><code>WRONG_DOCUMENT_ERR</code></h3>
-
-<p></p><p>Nodes from external documents should be cloned using <a href="/ko/docs/Web/API/Document/importNode" title="현재 문서가 아닌 외부 문서의 노드를 복사하여 현재 문서에 넣을 수 있도록 해줍니다."><code>document.importNode()</code></a> (or adopted using <a href="/ko/docs/Web/API/Document/adoptNode" title="외부 문서로부터 노드를 가져온다. 해당 노드와 그 하위트리는 기존의 문서에서 지워지고 해당 노드의 ownerDocument 는 현재 문서로 바뀐다. 그리고 그 노드는 현재의 문서에 삽입된다."><code>document.adoptNode()</code></a>) before they
- can be inserted into the current document. For more on the <a href="/ko/docs/Web/API/Node/ownerDocument" title="Node.ownerDocument 읽기 전용 속성은 이 node 의 최상위 document 객체를 반환합니다."><code>Node.ownerDocument</code></a> issues, see the
- <a class="external" href="http://www.w3.org/DOM/faq.html#ownerdoc" rel="noopener">W3C DOM FAQ</a>.</p>
-
- <p>Firefox doesn't currently enforce this rule (it did for a while during the development of Firefox 3, but too many
- sites break when this rule is enforced). We encourage Web developers to fix their code to follow this rule for
- improved future compatibility.</p><p></p>
-
-<h2 id=".EB.B2.94.EC.9C.84" name=".EB.B2.94.EC.9C.84">범위</h2>
-
-<h3 id="intersectsNode_.EC.97.86.EC.95.B0" name="intersectsNode_.EC.97.86.EC.95.B0"><code>intersectsNode</code> 없앰</h3>
-
-<p>Gecko 1.8에서는 어떤 노드가 범위(range)에 엇갈리는 건지를 판단하는 데 <code>intersectsNode</code> 함수를 쓸 수 있었습니다. 그러나 이 함수의 반환값은 헷갈리고 좀처럼 쓸모가 없으므로 Gecko 1.9에서 없앴습니다. 그 대신에 좀 더 정확하고 표준 함수인 <a href="ko/DOM/range.compareBoundaryPoints">compareBoundaryPoints</a>를 쓰세요. {{ Bug(358073) }}의 패치로 없앴습니다.</p>
-
-<p><code>compareBoundaryPoints</code>를 대신 쓰는 법을 보려면 <a href="ko/DOM/range.intersectsNode">intersectsNode</a>를 설명하는 문서를 보세요.</p>
-
-<h3 id="compareNode_.EC.97.86.EC.95.B0" name="compareNode_.EC.97.86.EC.95.B0"><code>compareNode</code> 없앰</h3>
-
-<p>Gecko 1.8에서는 어떤 노드가 범위(range)에 엇갈리는 건지를 판단하는 데 <code>compareNode</code> 함수를 쓸 수 있었습니다. 그러나 이 함수의 반환값은 헷갈리고 좀처럼 쓸모가 없으므로 Gecko 1.9에서 없앴습니다. 그 대신에 좀 더 정확하고 표준 함수인 <a href="ko/DOM/range.compareBoundaryPoints">compareBoundaryPoints</a>를 쓰세요. {{ Bug(358073) }}의 패치로 없앴습니다.</p>
-
-<p><code>compareBoundaryPoints</code>를 대신 쓰는 법을 보려면 <a href="ko/DOM/range.compareNode">compareNode</a>를 설명하는 문서를 보세요.</p>
-
-<h2 id="HTML" name="HTML">HTML</h2>
-
-<h3 id=".3Cobject.3E.EC.9D.98_.EB.A7.8E.EC.9D.80_.EB.B2.84.EA.B7.B8_.EA.B3.A0.EC.B9.A8" name=".3Cobject.3E.EC.9D.98_.EB.A7.8E.EC.9D.80_.EB.B2.84.EA.B7.B8_.EA.B3.A0.EC.B9.A8"><code>&lt;object&gt;</code>의 많은 버그 고침</h3>
-
-<p><code>object</code>와 <code>embed</code> 요소를 표현하는 데 <code>type</code> 속성이 더 이상 필요하지 않습니다. JavaScript로 (<code>&lt;embed&gt;</code>의) <code>src</code> 속성이나 (<code>&lt;object&gt;</code>의) <code>data</code> 속성을 바꾸는 것도 이제 제대로 작동합니다. HTML 명세에 따라서 <code>&lt;object&gt;</code> 요소의 <code>type</code> 속성보다 서버가 보낸 Content-Type 헤더가 우선합니다(<code>embed</code>의 경우는 아님).</p>
-
-<div class="noinclude"> </div>
-
-<p>{{ languages( { "en": "en/Gecko_1.9_Changes_affecting_websites", "fr": "fr/Changements_dans_Gecko_1.9_affectant_les_sites_Web", "ja": "ja/Gecko_1.9_Changes_affecting_websites", "pl": "pl/Zmiany_w_Gecko_1.9_wp\u0142ywaj\u0105ce_na_wy\u015bwietlanie_stron", "pt": "pt/Mudan\u00e7as_no_Gecko_1.9_que_afetam_websites" } ) }}</p>
diff --git a/files/ko/gecko_embedding_basics/index.html b/files/ko/gecko_embedding_basics/index.html
deleted file mode 100644
index 1626e6db79..0000000000
--- a/files/ko/gecko_embedding_basics/index.html
+++ /dev/null
@@ -1,401 +0,0 @@
----
-title: Gecko Embedding Basics
-slug: Gecko_Embedding_Basics
-tags:
- - Embedding Mozilla
-translation_of: Mozilla/Gecko/Gecko_Embedding_Basics
----
-<p>정보의 원천, 놀이, 개인간 교류 수단으로써 웹의 중요성이 끝없이 증가하면서, HTML 포맷으로 저장된 데이터에 접근하고 보는 능력은 다양한 소프트웨어 애플리케이션을 폭넓게 대체하기 위해 점점 더 중요해지고 있다. 단순한 HTML 페이지 뷰어건 완벽한 기능의 웹 브라우저이건, HTML 기반 문서를 해석하고 그려내는 것은 수많은 상황에서 매우 중요한 기능이 됐다. 애플리케이션 개발자는 개발 시간을 최소화하면서도 애자일하고 안정성이 높은 제품을 만들기 위해, HTML을 출력하는 결정적인 기능을 어떻게 구현할지에 고민하게 되었다. Gecko, 즉 넷스케이프와 모질라 브라우저의 핵심에 있는 렌더링 엔진을 임베딩하는 것은 이런 문제에 대한 훌륭한 해결책이다.</p>
-
-<h2 id=".EC.99.9C_Gecko.EC.9D.B8.EA.B0.80.3F" name=".EC.99.9C_Gecko.EC.9D.B8.EA.B0.80.3F">왜 Gecko인가?</h2>
-
-<p>Gecko를 임베딩하는 것은 현명한 선택이다. Gecko는 빠르고, 안정적이며 표준을 매우 잘 지키고 있다. Mozilla와 Netscape의 지원 아래서 매우 널리 배포되었으며 많은 사람들이 꾸준히 지켜보고 있다.</p>
-
-<p>Gecko는 오픈 소스이다. 다른 임베딩 브라우저 솔루션과는 달리, Gecko의 모든 소스 코드는 자유롭게 사용할 수 있으며 마음껏 수정할 수 있다. 필요한 만큼 뜯어 고칠 수 있다. 또한 현재의 라이센스에 따르면, Gecko를 독점적인 상용 제품에 컴포넌트로 사용할 수도 있다.</p>
-
-<p>Gecko는 Mozilla 프로젝트와 연관되어 있으므로, Mozilla 프로젝트에서 임베딩 작업에 도움이 되는 많은 리소스를 쉽게 얻을 수 있다. Mozilla <a class="external" href="http://www.mozilla.org">웹 사이트</a>에는 <a class="external" href="http://mozilla.org/projects/embedding/">임베딩 프로젝트 영역</a>이 있다. 또한 mozilla.dev.emobedding 뉴스그룹이 있으며, 많은 관련 뉴스그룹과 함께 임베딩 개발자들 간에 정보를 교환하는 것을 주 목적으로 하고 있다. 전체 <a class="external" href="http://lxr.mozilla.org/seamonkey">코드기반 상호 참조</a>가 가능하며, <a class="external" href="http://bugzilla.mozilla.org/">Bugzilla 버그 데이터베이스</a>를 통해 버그 제출, 버그 진행 상황 참조, 버그 수정 참여 등을 간단히 할 수 있다.</p>
-
-<p>Gecko는 바닥부터 크로스플랫폼으로 설계되었다. mozill.org에서는 직접 Wintel, MacOS 9.0과 OS X, 리눅스를 지원하고 있으며, 수많은 다른 플랫폼도 써드파티에서 지원하고 있다.</p>
-
-<p>마지막으로, Gecko를 라이센스하는 것은 로열티가 필요 없으며, 심지어 독점 저작권을 갖는 상용 제품에도 로열티없이 적용할 수 있다. "매우" 일반적으로는, 모질라가 제공하는 원본 소스코드에 대해서는 어떤 수정도 커뮤니티에 반환되어야 한다.(Gecko를 임베드하는 코드까지 반환해야하는 것은 아니다.) 즉 애플리케이션의 사용자라면 사용중인 Gecko 엔진에 해당하는 소스 코드를 언제든지 얻을 수 있어야 하며(대부분 mozilla.org 웹사이트 링크를 통해서), 애플리케이션은 명확한 방법으로 Gecko를 사용하고 있음을 공지해야 한다. (예를 들면, 제품 박스 위의 로고나 About: 페이지 등) 가능한 라이센스 방법에 대한 정확한 설명은 라이센스에 대해 유일한 법적 근거인 <a class="external" href="http://www.mozill.org/MPL/">Mozilla &amp; Nescape Public Licneses</a>에서 볼 수 있다.</p>
-
-<h2 id=".EC.9E.84.EB.B2.A0.EB.94.A9.EC.97.90_.ED.95.84.EC.9A.94.ED.95.9C_.EA.B2.83" name=".EC.9E.84.EB.B2.A0.EB.94.A9.EC.97.90_.ED.95.84.EC.9A.94.ED.95.9C_.EA.B2.83">임베딩에 필요한 것</h2>
-
-<p>Gecko를 임베드하기로 결정했다면, 세가지 과정을 밟아야 한다. 첫째로 코드를 얻는다. 다음으로 Gecko 코드베이스를 다루는데 사용되는 몇가지 지정 기술을 이해해야 한다. 마지막으로 추가하려는 부가적인 기능을 결정해야 한다. 이 절은 이러한 과정을 안내할 것이다.</p>
-
-<h3 id=".EC.BD.94.EB.93.9C_.EC.96.BB.EA.B8.B0" name=".EC.BD.94.EB.93.9C_.EC.96.BB.EA.B8.B0">코드 얻기</h3>
-
-<p>이 글을 쓰는 시점에서 Gecko를 임베드하기 위한 파일을 얻는 가장 좋은 방법은 전체 Mozill 소스 트리를 다운로드해서 빌드하는 것이다. 사실 상당히 간단한 과정이다. 전체 설명과 적절한 링크는 <a href="ko/Download_Mozilla_Source_Code">Download Mozilla Source Code</a>에서 찾을 수 있다. 두번째 방법(컴포넌트에 의한 컴포넌트)은 현재 개발 중이며, 아직 베타 상태에 있다. 이 프로젝트에 대한 정보는 <a class="external" href="http://www.mozilla.org/projects/embedding/bootstrap.html">REQUIRES 기반 빌드 메카니즘</a>에서 찾을 수 있다. 그 외에, Gecko 런타임 환경(<a href="ko/GRE">GRE</a>, Gecko Runtime Environment)가 개발중에 있다. <a href="ko/GRE">GRE</a>는 단일 코어 라이브러리를 사용하는 모질라 컴포넌트 위에서 여러가지 애플리케이션을 지원하기 위한 것이다. (컴포넌트에 의한 컴포넌트를 사용하려고 생각한다면, 우선 버전과 바이너리 호환성에 대한 이슈를 잘 살펴봐야 한다. <a class="external" href="http://mozilla.org/projects/xpcom/glue/Component_Reuse.html">XPCOM 컴포넌트 재사용</a>을 살펴보면 도움이 될 것이다.)</p>
-
-<p>우선 몇가지 도구(기본으로 컴파일러, 펄 배포판, 몇몇 범용 유틸리티)를 가져와야 한다. 그런 다음 컴퓨터 환경을 설정하고, 소스를 다운로드 한다. 전체 트리를 다운로드하려 한다면, 두가지 방법이 있다. FTP에서 전체 소스 트리를 tar로 압축한 파일을 가져올 수 있다. (이것이 가장 간단한 방법이며, 확실히 컴파일이 가능한 한 방법이다. 다만 최근에 수정된 코드는 포함하지 않았을 수도 있다.) 다른 방법은 CVS에서 가장 최신의 코드를 가져오거나 변경분에 대한 업데이트를 수행하는 것이다. 소스를 가져와서 환경 설정을 적절히 끝마친 다음에는 제공된 makfile 중 적절한 것을 실행하면 된다. 각 플랫폼마다 컴파일 과정에 대한 상세한 설명이 있다.</p>
-
-<p>빌드가 끝나면 mozilla/embedding/config 디렉토리로 간다. 거기서 예제 manifest 파일을 찾을 수 있을 것이다. (파일들은 모두 이름이 "basebrowser"로 시작한다. manifest 파일은 각 플래폼마다 임베딩을 위한 개별 설정이다. 기본으로 들어있는 것은 단지 예제일 뿐이며, 당신의 목적에는 딱 들어맞지 않을 수도 있다. 하지만 예제로 시작해서 조금씩 수정해 나가면 좋을 것이다. 각 플랫폼마다 모델로 삼을 만한 예제 임베딩 프로젝트들도 있다. <a href="ko/Roll_your_own_browser_-_An_embedding_HowTo">Roll_your_own_browser_-_An_embedding_HowTo</a>를 참고하라.</p>
-
-<h3 id=".EC.BD.94.EB.93.9C_.EC.9E.91.EC.84.B1_.ED.99.98.EA.B2.BD_.EC.9D.B4.ED.95.B4.ED.95.98.EA.B8.B0" name=".EC.BD.94.EB.93.9C_.EC.9E.91.EC.84.B1_.ED.99.98.EA.B2.BD_.EC.9D.B4.ED.95.B4.ED.95.98.EA.B8.B0">코드 작성 환경 이해하기</h3>
-
-<p>모질라는 처음부터 여러 플랫폼과 프로그래밍 언어에 대한 설계와 개발을 지원하는 것으로 시작됐다. 결국 여러가지 자체 프로그래밍 기술이 개발되었으며, 모두 다 객체 은폐라는 이상적인 개념을 바탕으로 두고 있다. Gecko 임베딩에는 XPCOM, XPIDL, XPConnect, 특별 문자열 클래스, XUL 등의 기술에 대한 실제적인 지식을 필요로 한다. 다음은 각 기술에 대한 간략한 소개이다. 더 자세한 정보는 mozilla.org 사이트에서 찾을 수 있다.</p>
-
-<h4 id="XPCOM" name="XPCOM">XPCOM</h4>
-
-<p>모질라 기술 중 가장 중요한 것은 <a href="ko/XPCOM">XPCOM</a>, 즉 크로스플랫폼 컴포넌트 오브젝트 모델(Cross-Platform Component Object Model)이다. XPCOM은 객체나 다른 데이터의 생성, 소유, 제거를 모질라 전체에 걸쳐 관리하는 프레임워크를 제공한다. MSCOM을 사용한 적이 있다면, 기본적으로 유사한 개념임을 느낄 것이다. 하지만 매우 큰 차이가 있다. XPCOM은 크로스플랫폼이며 단일 스레드에서 대부분 동작하도록 설계되어 있다. 또한 XPCOM와 MSCOM은 현재로써는 아직 호환되지 않는다.</p>
-
-<h5 id=".EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4" name=".EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4">인터페이스</h5>
-
-<p>XPCOM의 핵심은 인터페이스라는 개념이다. 인터페이스는 특정 기증과 연관된 메소드, 속성, 관련 상수의 집합을 기술한 것일 뿐이다. 실제 기능을 구현하는 클래스와는 전혀 별개이다. 인터페이스는 계약의 역할을 한다. 특정 인터페이스를 지원하는 객체는 인터페이스에 기술된 서비스를 수행한다는 약속의 의미이다. 인터페이스를 최대한 중립적으로 유지할 수 있도록 IDL(Interface Definition Language)라는 별도의 언어를 사용해서 기술한다. 인터페이스 파일은 일반적으로 .idl이라는 확장자를 갖는다. 인터페이스의 기능을 지정할 뿐만 아니라 인터페이스의 IID도 지정한다. IID는 인터페이스를 지정할 때 사용하는 세계에서 유일한 번호이다.</p>
-
-<p>Gecko 내에서 이루어지는 통신의 대부분은 추상 구조체를 거친다. (규약에 따라 추상 구조체의 이름은 <code>nsISomething</code>의 형식을 따른다.)</p>
-
-<pre>//이거야
-void ProcessSample(nsISample* aSample) {
- aSample-&gt;Poke("Hello");
-//이건 아니야
-void ProcessSample(nsSampleImpl* aSample) {
- aSample-&gt;Poke("hello");
-</pre>
-
-<h5 id=".40status_FROZEN" name=".40status_FROZEN">@status FROZEN</h5>
-
-<p>XPCOM의 추상화 수준으로 인해 시스템이 매우 큰 유연성을 갖추게 됐다. 구현은 필요에 따라 얼마든지 변경할 수 있다. 하지만 최소한 인터페이스 자체는 고정된 채로 유지해야 한다. 모질라의 초기 설계와 개발 기간 동안에는 인터페이스는 다소 유동적인 것이었지만, 프로젝트가 성숙되면서 점점 더 많은 인터페이스가 FROZEN으로 표시됐다. FROZEN으로 표시된 인터페이스는 향후 변경되지 않음을 보장한다는 의미이다.</p>
-
-<p>임베딩 관련된 대부분의 주요 인터페이스가 FROZEN으로 표시되긴 했지만, 인터페이스를 사용하기 전에 확인해보는 것이 좋다. 인터페이스의 상태는 .idl 파일의 주석에 나열된다. 얼려진 인터페이스(frozen interface)는 <code>@status FROZEN</code>라는 표시가 달린다. 모질라 상호 참조 도구를 사용해서 <a class="external" href="http://lxr.mozilla.org/seamonkey/search?string=%40status+FROZEN">얼려진 인터페이스를 검색</a>할 수도 있다. 얼려지지 않은 상태의 인터페이스는 언제든지 변경될 가능성이 있다. 얼리는 과정에 대한 자세한 정보는 <a class="external" href="http://mozilla.org/embedding/">임베딩 프로젝트 페이지</a>를 참고하라.</p>
-
-<p>인터페이스가 얼려지고 나면 해당 인터페이스는 <a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi.html">Gecko 임베딩 API 참조</a>에 추가된다.</p>
-
-<h5 id="nsISupports" name="nsISupports">nsISupports</h5>
-
-<p>한 객체가 하나 이상의 인터페이스를 지원할 수 있다. 실제로는 모든 객체는 최소한 두 개의 인터페이스를 지원해야 한다. 하나는 실제 객체의 역할이 되는 무언가이고, 다른 하나는 범용적인 목적으로 사용되는 <code>nsISupports</code>이다. 다르게 말하자면 <code>nsISupports</code>는 모든 XPCOM 인터페이스의 조상이다. 모든 인터페이스는 <code>nsISupports</code>로부터 상속되며, 대부분은 직접 상속받는다. <code>nsISupports</code>는 두가지 주요 기능을 갖는다. 런타임 타입 발견과 객체 생명주기 관리이다. MSCOM의 IUnknown과 동일한 역할을 한다.</p>
-
-<p>모든 객체가 다중 인터페이스를 지원하기 때문에, 한 인터페이스에 대한 포인터를 가진 상태에서 해당 객체가 당장 필요한 기능을 제공하는 다른 인터페이스를 지원하는지 알아낼 수 있다. 첫번째 <code>nsISupports</code> 메소드인 <code>QueryInterface()</code>는 다음과 같은 질문을 수행한다. "나는 이 객체가 A 타입임(인터페이스 A를 지원함)을 알고 있다. 그런데 타입 B이기도 한가?(인터페이스 B도 지원하는가?)"</p>
-
-<p>만일 그렇다면 <code>QueryInterface()</code>는 새로 요청된 인터페이스로 연결된 포인터를 반환한다.</p>
-
-<pre>void ProcessSample(nsISample* aSample) {
- nsIExample *example;
- nsresult rv;
- rv = aSample-&gt;QueryInterface(NS_GET_IID(nsIExample),(void **)&amp;example);
- if (NS_SUCCEEDED(rv)) {
- example-&gt;DoSomeOperation();
- NS_RELEASE(example); // Release호출을 위해 매크로를 사용
- }
-}
-</pre>
-
-<p>XPCOM은 간접적인 방법(컴포넌트 관리자)을 사용해서 객체의 인스턴스를 생성하기 때문에, 같은 객체에 대한 다중 포인터(각각 다양한 인터페이스로 연결됨)가 존재할 수 있으며, 포인터가 가리키는 모든 객체를 호출자가 정확하게 추적하기 어려워질 수 있다. 객체가 필요하지 않은 상황에서도 남아있게 되서 메모리 누수가 발생하거나, 필요한 객체가 삭제되는 바람에 댕글링 포인터가 나타날 수도 있다. <code>nsISupports</code>의 다른 두 메소드 <code>AddRef()</code>와 <code>Release()</code>는 이런 이슈를 다루기 위해 설계된 것이다. 포인터가 변수에 입력될 때마다<code>AddRef()</code>가 호출되어 내부 카운터가 증가한다. 포인터가 풀려날 때마다 <code>Release()</code>가 호출되어 내부 카운터가 감소한다. 카운터가 0이 되면, 객체에 대한 포인터가 없으며 객체를 안전하게 삭제할 수 있다. 객체의 수명에 대한 제어는 객체 내부에 있는 것이다. 이와 같은 과정을 자동화할 수 있도록 돕는 유틸리티인 XPCOM "스마트" 포인터<a href="#nsCOMPtr">nsCOMPtr</a>에 대한 정보를 참고하라.</p>
-
-<h5 id=".EA.B0.9D.EC.B2.B4_.EC.83.9D.EC.84.B1" name=".EA.B0.9D.EC.B2.B4_.EC.83.9D.EC.84.B1">객체 생성</h5>
-
-<p>XPCOM에서는 객체의 인스턴스 생성조차도 간접적인 절차를 거친다. 인터페이스가 GUID(Globally Unique ID)인 IID를 갖는 것처럼, XPCOM 클래스도 자신만의 GUID인 CID를 갖는다. 또는 문자 기반 ID인 Contract ID로 참조하기도 한다. 두가지 ID 중 하나를 객체를 생성하는 영속적인 XPCOM 컴포넌트인 "컴포넌트 관리자"의 메소드에 전달한다. 새로운 클래스 라이브러리(XPCOM에서는 모듈이라고 부른다)를 시스템에 처음 배치할 때, 라이브러리는 자기 자신을 컴포넌트 관리자에 등록하며, 컴포넌트 관리자는 클래스(ID로 참조)와 클래스가 포함된 라이브러리를 매핑하는 레지스트리를 관리한다.</p>
-
-<p>싱글턴 객체가 제공하는 몇가지 영속적인 서비스는 컴포넌트 관리자와 함께 서비스 관리자가 생성하고 제어한다. 컴포넌트 관리자 자체도 영속적인 서비스의 예시 중 하나이다.</p>
-
-<h5 id=".EC.9A.94.EC.95.BD" name=".EC.9A.94.EC.95.BD">요약</h5>
-
-<p>XPCOM에 포함된 기능은 추상 인터페이스로 기술되며, 시스템 요소 간의 대부분의 통신은 인터페이스를 거쳐서 이루어진다. 반면, 인터페이스를 구현하는 하부 객체들은 교차색인 레지스트리에 기반한 컴포넌트 관리자에 의해 간접적으로 생성된다.</p>
-
-<p>모든 인터페이스가 공유하는 기능 한가지는 런타임에서 하부 객체에게 어떤 다른 인터페이스를 구현하고 있는지 질의하는 기능이다. 인터페이스는 고정되어 변하지 않는다는 가정이 있는 것이지만, 현재 모질라 코드베이스에서는 <code>FROZEN</code>으로 선언된 인터페이스들만이 크게 변경되지 않을 것임을 보장한다. 객체 생명주기 관리는 객체 내에 들어있는 자신에게로 향하는 포인터의 개수를 추적하는 내부 카운터를 통해 이루어진다. 객체를 사용하는 클라이언트가 해야 할 일은 카운터를 올리거나 내리는 것 뿐이다. 내부 카운터가 0에 도달하면 객체는 자기자신을 삭제한다.</p>
-
-<h5 id="nsCOMPtr" name="nsCOMPtr">nsCOMPtr</h5>
-
-<p>하지만 <code>AddRef()</code>와 <code>Release()</code>를 적절한 때에 호출하는 것을 가끔 잊어버릴 수도 있다. 이런 과정을 더 쉽고 확실히 화기 위해 XPCOM은 내장 "스마트" 포인터인 <code>nsCOMPtr</code>을 제공한다. 이 포인터는 <code>AddRef()</code>와 <code>Release()</code> 호출을 처리한다. 대신 <code>nsCOMPtr</code>을 사용하면 코드를 더 명확하고 효율적으로 만들 수 있다. 스마트 포인터에 대한 추가 정보는 "<a class="external" href="http://www.mozilla.org/projects/xpcom/nsCOMPtr.html">The Complete nsCOMPtr User's Manual</a>"을 참고하라.</p>
-
-<p>모질라는 수많은 내장 매크로(규약에 따라 코드 내에서 모두 대문자로 작성됨)나 <code>nsCOMPtr</code>과 같은 유틸리티를 제공해서 XPCOM으로 코딩하는 과정을 더 쉽게 만들어 준다. 이들 중 대부분은 다음 파일에서 찾을 수 있다.</p>
-
-<p>&lt;tt&gt;nsCom.h&lt;/tt&gt;, &lt;tt&gt;nsDebug.h&lt;/tt&gt;, &lt;tt&gt;nsError.h&lt;/tt&gt;, &lt;tt&gt;nsIServiceManager.h&lt;/tt&gt;, &lt;tt&gt;nsISupportsUtils.h&lt;/tt&gt;</p>
-
-<p>모질라는 메모리 사용량 추적 기능 같은 개발 도구까지 제공한다. 이런 도구에 대한 정보는 <a class="external" href="http://www.mozilla.org/performance/" rel="freelink">http://www.mozilla.org/performance/</a> 에서 찾을 수 있다.</p>
-
-<h5 id=".EC.B0.B8.EA.B3.A0.EC.9E.90.EB.A3.8C" name=".EC.B0.B8.EA.B3.A0.EC.9E.90.EB.A3.8C">참고자료</h5>
-
-<p>XPCOM에 대한 참고자료는 일반적으로 <a href="ko/XPCOM">XPCOM</a>에서 찾을 수 있다. XPCOM 컴포넌트 작성에 대한 개략적인 내용은 오릴리 서적인<em><a class="external" href="http://books.mozdev.org/chapters/ch08.html">Creating Applications with Mozilla</a></em>의 8장에서 참고할 수 있다. 전체 내용이 XPCOM 관련된 책인<em><a href="ko/Creating_XPCOM_Components">Creating XPCOM Components</a></em>도 있다. Don Box가 저술한<em>Essential COM</em>에서는 COM 시스템의 기반 로직에 대해 더욱 상세히 설명하고 있다. 비록 MSCOM에 대해 초점을 맞춘 책이긴 하지만, 객체 모델 등을 사용할 때 필요한 핵심 원리를 이해하하기에 매우 훌륭한 배경지식을 제공한다.</p>
-
-<h4 id="XPIDL" name="XPIDL">XPIDL</h4>
-
-<p>인터페이스는 XPIDL(Cross Platform Interface Definition Language)로 작성된 추상 클래스이다. 여전히 인터페이스에서 제공할 기능은 몇몇 정규 프로그래밍 언어로 작성하는 것이 유용하다. XPIDL 컴파일러가 이런 역할을 한다. 인터페이스를 .idl 파일에 정의하면 XPIDL 컴파일러가 정의된 인터페이스를 처리한다.</p>
-
-<p>컴파일러는 여러가지 출력이 가능하지만, 일반적으로는 두가지 출력을 사용한다. 인터페이스의 C++ 구현을 위해 사용하며 주석달린 템플릿을 포함하는 C++ .h 파일이 그 중 하나이다. 다른 하나는 XPConnect가 사용할 타입 라이브러리 정보를 포함하는 XPT 파일이다. XPConnect는 JavaScript에서 인터페이스를 사용할 수 있도록 한다. <a href="ko/XPIDL">XPIDL</a>의 문법(간단한 C 스타일 언어)에 대한 자료와 <a href="ko/XPIDL/xpidl">컴파일러</a> 사용법이 참고하라.</p>
-
-<h4 id="XPConnect.EC.99.80_XPT_.ED.8C.8C.EC.9D.BC" name="XPConnect.EC.99.80_XPT_.ED.8C.8C.EC.9D.BC"><a href="ko/XPConnect">XPConnect</a>와 XPT 파일</h4>
-
-<p><a href="ko/XPConnect">XPConnect</a>는 <a href="ko/JavaScript">JavaScript</a>로 작성된 코드에 접근하거나, C++로 작성된 XPCOM 컴포넌트를 다룰 수 있도록 하는 <a href="ko/XPCOM">XPCOM</a> 모듈이다. XPConnect를 사용하면, XPCOM 인터페이스를 제공하거나 사용하는 양쪽 컴포넌트가 상대방이 어떤 언어로 작성됐는지 신경쓸 필요가 없다.</p>
-
-<p>인터페이스를 XPIDL 컴파일러에 적용하면, XPT 또는 타입 라이브러리 파일을 생성한다. XPConnect는 XPT 파일로부터 얻은 정보를 사용해서 C++ 객체와 JavaScript 객체 간의 통신을 XPCOM 인터페이스를 통해서 투명하게 구현한다. 그러므로 C++로만 개발하더라도 XPCOM 인터페이스를 생성해서 코드에 포함시키는 것이 매우 중요하다. 브라우저의 특정 부분만 JS로 구현된 것이 아니라, 향후에도 누군가 JS 기반 코드를 사용해서 당신이 작성한 컴포넌트와 상호작용하도록 할 수도 있다.</p>
-
-<p>현재 모질라에서 XPConnect는 C++와 JS 간의 상호작용을 가능하게 한다. 다른 언어(Python 등)에서 접근할 수 있도록 하는 모듈은 별도로 개발 중이다.</p>
-
-<h4 id="String_.ED.81.B4.EB.9E.98.EC.8A.A4" name="String_.ED.81.B4.EB.9E.98.EC.8A.A4">String 클래스</h4>
-
-<p>웹 브라우징은 일반적으로 많은 양의 문자열 처리를 필요로 한다. 모질라는 문자열을 처리하고 효율적으로 빠르게 출력하기 위한 C++ 클래스 라이브러리를 개발해왔다. 모질라는 객체 간 통신을 간단하게 하고 에러를 줄이기 위해 인터페이스, 즉 추상 클래스를 사용한다. 같은 이유로 String 클래스 계층도 <code>nsAString</code>, <code>nsASingleFragmentString</code>, <code>nsAFlatString</code> 등의 몇가지 추상 클래스를 앞세운다. (이 클래스들은 2바이트 문자열을 참조한다. <code>nsACString</code>로 시작하는 1바이트 문자열을 참조하는 계층이 동일한 구조로 별도로 존재한다.) <code>nsAString</code>은 문자로 구성된 문자열이라는 것만 보장한다. <code>nsASingleFragmentString</code>는 문자들이 한 버퍼에 저장되어 있음을 보장한다. <code>nsAFlatString</code>는 문자들이 하나의 null로 끝나는 버퍼에 들어있음을 보장한다. 하부에는 구상 클래스가 있지만, 되도록이면 가능한한 가장 추상적인 타입을 사용하는 것이 좋다. 예를 들어 문자열 접합(concatenation)은 포인터를 사용해서 가상으로 이루어질 수 있으며, 그 결과는 다른 문자열처럼 사용될 수 있는 nsAString이다. 덕분에 메모리 할당과 복사를 하지 않아도 된다. 더 자세한 정보는 "<a href="ko/XPCOM/Strings">Guide to the Mozilla string classes</a>"를 참고하라.</p>
-
-<h4 id="XUL.2FXBL" name="XUL.2FXBL">XUL/XBL</h4>
-
-<p>이 마지막 모질라 기술은 애플리케이션의 UI를 어떻게 만들 것이냐에 따라 선택해서 사용할 수 있다. <a href="ko/XUL">XUL</a>은 모질라의 매우 유연한 XML UI 언어이다. 매우 다양한 플랫폼 독립적인 위젯을 제공하며 위젯들을 사용해서 UI를 작성할 수 있다. 넷스케이프와 모질라는 모두 XUL을 인터페이스로 사용하지만, 모든 임베딩 애플리케이션 개발자들이 XUL을 사용하는 것은 아니다. XBL(eXtensible Binding Language)은 XUL의 XML 요소에 동작을 추가하는 데 사용할 수 있다. XUL에 대한 더 자세한 정보는 <a class="external" href="http://www.mozilla.org/xpfe/xulref/">XUL Programmer's Reference</a>에서, <a href="ko/XBL">XBL</a>은 <a href="ko/XBL/XBL_1.0_Reference">XBL:XBL_1.0_Reference</a>에서 찾을 수 있다. <a class="external" href="http://www.xulplanet.com/">XULPlanet</a>에도 XUL에 관련된 좋은 정보가 많다.</p>
-
-<h3 id=".EC.B6.94.EA.B0.80.EC.A0.81.EC.9D.B8_.EA.B8.B0.EB.8A.A5.EB.93.A4.EC.9D.98_.EC.84.A0.ED.83.9D" name=".EC.B6.94.EA.B0.80.EC.A0.81.EC.9D.B8_.EA.B8.B0.EB.8A.A5.EB.93.A4.EC.9D.98_.EC.84.A0.ED.83.9D">추가적인 기능들의 선택</h3>
-
-<p>이 문서(8/19/02)에 따르면, Gecko는 부분적으로 모듈화 되어있는 렌더링 엔진이다. 기본적인 브라우징외의 어떤 기능들은 항상 Gecko와 함께 임베디드 되어있고, 구조적인 결정의 결과들로 인해 항상 그래야 한다. (현재 어느부분은 Gecko와 함께 임베디드 되어있지만, 미래에 어떤 부분들은 분리되어 질 수 있다.) 그리고, 어떤 부분은 옵션으로 사용 가능하다. 아래의 테이블에 이 추가적인 기능들의 대한 현재 상태가 기술되어 있다.</p>
-
-<table>
- <tbody>
- <tr>
- <th>Functions</th>
- <th>Status Now</th>
- <th>Status in Future</th>
- </tr>
- <tr>
- <td>FTP support</td>
- <td>Optional</td>
- <td></td>
- </tr>
- <tr>
- <td>HTTPS support</td>
- <td>Optional</td>
- <td></td>
- </tr>
- <tr>
- <td>International character support</td>
- <td>Optional</td>
- <td></td>
- </tr>
- <tr>
- <td>XUL support</td>
- <td>Required</td>
- <td>Probably optional</td>
- </tr>
- <tr>
- <td>Network support</td>
- <td>Required</td>
- <td>Maybe optional</td>
- </tr>
- <tr>
- <td>JavaScript support</td>
- <td>Required</td>
- <td>Maybe optional</td>
- </tr>
- <tr>
- <td>CSS support</td>
- <td>Required</td>
- <td>Always required</td>
- </tr>
- <tr>
- <td>DOM support</td>
- <td>Required</td>
- <td>Probably always</td>
- </tr>
- <tr>
- <td>XML support</td>
- <td>Required</td>
- <td>Probably always</td>
- </tr>
- </tbody>
-</table>
-
-<p>이번에 렌더링 엔진 Gecko와 함께 임베디드된 Mozilla의 에디터는 발전을 계속하고 있다는 하나의 불확실한 제의이다. 임베디드 될수 있는 에디터의 상태에 관해 더 정보를 보고 싶다면, <a class="external" href="http://www.mozilla.org/editor/Editor_Embedding_Guide.html" rel="freelink">http://www.mozilla.org/editor/Editor...ing_Guide.html</a> 을 참조하라.</p>
-
-<h2 id="What_Gecko_Provides" name="What_Gecko_Provides">What Gecko Provides</h2>
-
-<p>The following is a description of some of the interfaces most commonly used in embedding Gecko. It is by no means an exhaustive list of the available interfaces. The interfaces in this section are on classes provided by Mozilla. There is also a set of interfaces for which Gecko expects the embedder to provide the implementation. A sample of those are covered in the next section.</p>
-
-<h3 id=".EC.B4.88.EA.B8.B0.ED.99.94.EC.99.80_Teardown" name=".EC.B4.88.EA.B8.B0.ED.99.94.EC.99.80_Teardown">초기화와 Teardown</h3>
-
-<p>Gecko를 초기화하고 종료하는데 사용되는 2개의 C++ 함수가 있다. 초기화 함수(<a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi2.html#1099700">NS_InitEmbedding</a>)는 Gecko를 사용하기 전에 반드시 호출하여야 한다. 이것은 XPCOM을 안전하게 시작할 수 있도록, 필요하다면 컴포넌트 레지스트리를 생성하며, Global service를 기동한다. Shutdown 함수(<a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi2.html#1101115">NS_TermEmbedding</a>)는 Gecko embedding layer를 종료하며, Global service를 안전하게 unload 하며, File을 닫고, XPCOM을 종료한다.</p>
-
-<h3 id="nsIWebBrowser" name="nsIWebBrowser"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi4.html">nsIWebBrowser</a></h3>
-
-<p>Use of this interface during initialization allows embedders to associate a new <code>nsWebBrowser</code> instance (an object representing the "client-area" of a typical browser window) with the embedder's chrome and to register any listeners. The interface may also be used at runtime to obtain the content DOM window and from that the rest of the DOM.</p>
-
-<p>The <a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIWebBrowser.html">XULPlanet <code>nsWebBrowser</code> reference</a> also has a lot of useful information on this class.</p>
-
-<h3 id="nsIWebBrowserSetup" name="nsIWebBrowserSetup"><a class="external" href="http://www.mozilla.org/projects/embedding/embedapiref/embedapi10.html">nsIWebBrowserSetup</a></h3>
-
-<p>이 인터페이스는 브라우져 윈도우가 열리기 전에, 기본 프로퍼티(이미지를 로드 할 것인지 안할 것인지 같은)를 설정한다.</p>
-
-<h3 id="nsIWebNavigation" name="nsIWebNavigation"><a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIWebNavigation.html">nsIWebNavigation</a></h3>
-
-<p><code>nsIWebNavigation</code> 인터페이스는 웹 브라우져 Instance로 URI를 로드하며, Sessoin History 기능(Back이나 Forward 같은)에 접근할 수 있도록 한다. 2006년 6월 6일, 이 인터페이스는 아직 Frozen되지 않았다.</p>
-
-<h3 id="nsIWebBrowserPersist" name="nsIWebBrowserPersist"><a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIWebBrowserPersist.html">nsIWebBrowserPersist</a></h3>
-
-<p><code>nsIWebBrowserPersist</code> 인터페이스는 File로 URI를 저장할 수 있도록 한다. 2006년 6월 6일, 이 인터페이스는 아직 Frozen되지 않았다.</p>
-
-<h3 id="nsIBaseWindow" name="nsIBaseWindow"><a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIBaseWindow.html">nsIBaseWindow</a></h3>
-
-<p><code>nsIBaseWindow</code> 인터페이스는 일반적인 Windows나 기본 기능(size, position, windows title 반환 등)이 동작 할 수 있도록 한다. 2006년 6월 6일 이 인터페이스는 아직 Frozen되지 않았다.</p>
-
-<h3 id="nsISHistory" name="nsISHistory"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi58.html">nsISHistory</a></h3>
-
-<p><code>nsISHistory</code> 인터페이스는 Session histroy 정보에 접근하며, 삭제 할 수 있도록 한다.</p>
-
-<h3 id="nsIWebBrowserFind" name="nsIWebBrowserFind"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi14.html">nsIWebBrowserFind</a></h3>
-
-<p><code>nsIWebBrowserFind</code> 인터페이스는 브라우져 Window에서 문자열 검색을 설정, 실행 할 수 있도록 제어한다.</p>
-
-<h2 id="What_You_Provide" name="What_You_Provide">What You Provide</h2>
-
-<p>The following is a description of some of the more common embedder-provided interfaces used in embedding Gecko. It is by no means an exhaustive list of the available interfaces.</p>
-
-<h3 id="nsIWebBrowserChrome" name="nsIWebBrowserChrome"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi6.html">nsIWebBrowserChrome</a></h3>
-
-<p>The <code>nsIWebBrowserChrome</code> interface corresponds to the top-level, outermost window containing an embedded Gecko web browser. You associate it with the WebBrowser through the <code>nsIWebBrowser</code> interface. It provides control over window setup and whether or not the window is modal. It must be implemented.</p>
-
-<h3 id="nsIEmbeddingSiteWindow" name="nsIEmbeddingSiteWindow"><a class="external" href="http://www.mozilla.org/projects/embedding/embedapiref/embedapi12.html">nsIEmbeddingSiteWindow</a></h3>
-
-<p>The <code>nsIEmbeddingSiteWindow</code> interface provides Gecko with the means to call up to the host to resize the window, hide or show it and set/get its title. It must be implemented.</p>
-
-<h3 id="nsIWebProgressListener" name="nsIWebProgressListener"><a href="ko/NsIWebProgressListener">nsIWebProgressListener</a></h3>
-
-<p>The <code>nsIWebProgressListener</code> interface provides information on the progress of loading documents. It is added to the WebBrowser through the <code>nsIWebBrowser</code> interface. It must be implemented. As of this writing (8/19/02), it is not frozen.</p>
-
-<h3 id="nsISHistoryListener" name="nsISHistoryListener"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi59.html">nsISHistoryListener</a></h3>
-
-<p>The <code>nsISHistoryListener</code> interface is implemented by embedders who wish to receive notifications about activities in session history. A history listener is notified when pages are added, removed and loaded from session history. It is associated with Gecko through the <code>nsIWebBrowser</code> interface. Implementation is optional.</p>
-
-<h3 id="nsIContextMenuListener" name="nsIContextMenuListener"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi5.html">nsIContextMenuListener</a></h3>
-
-<p>The <code>nsIContextMenuListener</code> interface is implemented by embedders who wish to receive notifications for context menu events, i.e. generated by a user right-mouse clicking on a link. It should be implemented on the web browser chrome object associated with the window for which notifications are required. When a context menu event occurs, the browser will call this interface if present. Implementation is optional.</p>
-
-<h3 id="nsIPromptService" name="nsIPromptService"><a href="ko/NsIPromptService">nsIPromptService</a></h3>
-
-<p>The <code>nsIPromptServices</code> interface allows the embedder to override Mozilla's standard prompts: alerts, dialog boxes, and check boxes and so forth. The class that implements these embedder specific prompts must be registered with the Component Manager using the same CID and contract ID that the Mozilla standard prompt service normally uses. Implementation is optional. As of this writing (8/19/02), this interface is not frozen.</p>
-
-<h2 id="Common_Embedding_Tasks" name="Common_Embedding_Tasks">Common Embedding Tasks</h2>
-
-<p>The following is a series of code snippets (taken from MFCEmbed, the Windows based embedding Gecko sample) which demonstrate very briefly implementation associated with common embedding tasks.To see all the files associated with this sample, go to <a class="external" href="http://lxr.mozilla.org/seamonkey/source/embedding/tests/mfcembed/" rel="freelink">http://lxr.mozilla.org/seamonkey/sou...ests/mfcembed/</a>. There are also Linux- and Mac OS-based examples.</p>
-
-<h3 id="Gecko_setup" name="Gecko_setup">Gecko setup</h3>
-
-<p>The Gecko embedding layer must be initialized before you can use Gecko. This ensures XPCOM is started, creates the component registry if necessary, and starts global services. There is an equivalent shutdown procedure.</p>
-
-<p>Note that the embedding layer is started up by passing it two parameters. The first indicates where the executable is stored on the file system (<code>nsnull</code> indicates the working directory). The second indicates the file location object "provider" that specifies to Gecko where to find profiles, the component registry preferences, and so on.</p>
-
-<pre>nsresult rv;
-rv = NS_InitEmbedding(nsnull, provider);
-if(NS_FAILED(rv))
-{
-ASSERT(FALSE);
-return FALSE;
-}
-</pre>
-
-<h3 id="Creating_a_browser_instance" name="Creating_a_browser_instance">Creating a browser instance</h3>
-
-<p>The embedder-provided BrowserView object calls its method <code>CreateBrowser()</code>. Each browser object (a webbrowser) represents a single browser window. Notice the utility directive <code>do_CreateInstance()</code> and the use of macros.</p>
-
-<pre>//Create an instance of the Mozilla embeddable browser
-
-HRESULT CBrowserView::CreateBrowser()
-{
-// Create a web shell
-nsresult rv;
-mWebBrowser = do_CreateInstance(NS_WEBBROWSER_CONTRACTID, &amp;rv);
-if(NS_FAILED(rv))
-return rv;
-</pre>
-
-<p>Once the <code>nsWebBrowser</code> object is created the application uses <code>do_QueryInterface()</code> to load a pointer to the <a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIWebNavigation.html">nsIWebNavigation</a> interface into the <code>mWebNav</code> member variable. This will be used later for web page navigation.</p>
-
-<pre>rv = NS_OK;
-mWebNav = do_QueryInterface(mWebBrowser, &amp;rv);
-if(NS_FAILED(rv))
-return rv;
-</pre>
-
-<p>Next the embedder-provided <code>CBrowserImpl</code> object is created. Gecko requires that some interfaces be implemented by the embedder so that Gecko can communicate with the embedding application. See the <a href="#What_You_Provide">What You Provide Section</a>. In the sample, <code>CBrowserImpl</code> is the object that implements those required interfaces. It will be passed into the <code>SetContainerWindow()</code> call below.</p>
-
-<pre>mpBrowserImpl = new CBrowserImpl();
-if(mpBrowserImpl == nsnull)
-return NS_ERROR_OUT_OF_MEMORY;
-</pre>
-
-<p>The <code>mWebBrowser</code> interface pointer is then passed to the <code>CBrowserImpl</code> object via its <code>Init()</code> method. A second pointer to the platform specific <code>BrowserFrameGlue</code> interface is also passed in and saved. The <code>BrowserFrameGlue</code> pointer allows <code>CBrowserImpl</code> to call methods to update status bars, progress bars, and so forth.</p>
-
-<pre>mpBrowserImpl-&gt;Init(mpBrowserFrameGlue, mWebBrowser);
-mpBrowserImpl-&gt;AddRef();
-</pre>
-
-<p>Next the embedder-supplied chrome object is associated with the webbrowser. Note the use of an <code>nsCOMPtr</code>.</p>
-
-<pre>mWebBrowser-&gt;SetContainerWindow
- (NS_STATIC_CAST(nsIWebBrowserChrome*, mpBrowserImpl));
-nsCOMPtr&lt;nsIWebBrowserSetup&gt;setup(do_QueryInterface(mWebBrowser));
-if (setup)
- setup-&gt;SetProperty(nsIWebBrowserSetup::SETUP_IS_CHROME_WRAPPER,PR_TRUE);
-</pre>
-
-<p>Then, the real webbrowser window is created.</p>
-
-<pre>rv = NS_OK;
-mBaseWindow = do_QueryInterface(mWebBrowser, &amp;rv);
-if(NS_FAILED(rv))
-return rv;
-</pre>
-
-<h3 id="Binding_a_window" name="Binding_a_window">Binding a window</h3>
-
-<p>Basic location information is passed in.</p>
-
-<pre>RECT rcLocation;
-GetClientRect(&amp;rcLocation);
-if(IsRectEmpty(&amp;rcLocation))
-{
- rcLocation.bottom++;
- rcLocation.top++;
-}
-rv = mBaseWindow-&gt;InitWindow(nsNativeWidget(m_hWnd),
- nsnull,0, 0, rcLocation.right - rcLocation.left,
- rcLocation.bottom - rcLocation.top);
-rv = mBaseWindow-&gt;Create();
-</pre>
-
-<p>Note the <code>m_hWnd</code> passed into the call above to <code>InitWindow()</code>. (<code>CBrowserView</code> inherits the <code>m_hWnd</code> from <code>CWnd</code>). This <code>m_hWnd</code> will be used as the parent window by the embeddable browser.</p>
-
-<h3 id="Adding_a_listener" name="Adding_a_listener">Adding a listener</h3>
-
-<p>The <code>BrowserImpl</code> object is added as an <a href="ko/NsIWebProgressListener">nsIWebProgressListener</a>. It will now receive progress messages. These callbacks will be used to update the status/progress bars.</p>
-
-<pre>nsWeakPtr weakling
- (dont_AddRef(NS_GetWeakReference(NS_STATIC_CAST(nsIWebProgressListener*,
- mpBrowserImpl))));
-void mWebBrowser-&gt;AddWebBrowserListener(weakling, NS_GET_IID(nsIWebProgressListener));
-</pre>
-
-<p>Finally the webbrowser window is shown.</p>
-
-<pre>mBaseWindow-&gt;SetVisibility(PR_TRUE);
-</pre>
-
-<h3 id="Using_session_history_to_navigate" name="Using_session_history_to_navigate">Using session history to navigate</h3>
-
-<p>The pointer to <a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIWebNavigation.html">nsIWebNavigation</a> saved above is used to move back through session history.</p>
-
-<pre>void CBrowserView::OnNavBack()
-{
-if(mWebNav)
- mWebNav-&gt;GoBack();
-}
-</pre>
-
-<h2 id="Appendix_Data_Flow_Inside_Gecko" name="Appendix:_Data_Flow_Inside_Gecko">Appendix: Data Flow Inside Gecko</h2>
-
-<p>While it isn't strictly necessary for embedders to understand how Gecko does what it does, a brief overview of the main structures involved as Gecko puts bits on a display may be helpful.</p>
-
-
-
-<p>HTML data comes into Gecko either from the network or a local source. The first thing that happens is that it is parsed, using Gecko's own HTML parser. Then the Content Model arranges this parsed data into a large tree. The tree is also known as the "Document" and its structure is based on the W3C Document Object Model. Any use of DOM APIs manipulates the data in the Content Model.</p>
-
-<p>Next the data is put into frames using CSS and the Frame Constructor. A frame in this sense (which is not the same thing as an HTML frame) is basically an abstract box within which a DOM element will be displayed. This process produces a Frame Tree, which, like the Content Model, is a tree of data, but this time focused not on the logical relationship among the elements but on the underlying calculations needed to display the data. In the beginning a frame has no size. Using CSS rules specifying how the elements of the DOM should look when they are displayed, including information like font type or image size, the eventual size of each frame is calculated. Because the same data may need to be displayed in different ways -- to a monitor and to a printer, for example -- a particular Content Model may have more than one Frame Tree associated with it. In such a case, each individual Frame Tree would belong to a different "presentation" mode.</p>
-
-<p>Calculations continue as new information flows into the system using a process called <strong>reflow</strong>. As information in the Frame Tree changes, the section of the Frame Tree involved is marked "dirty" by the Frame Constructor. Reflow repeatedly steps through the tree, processing every "dirty" item it encounters until all the items it encounters are "clean". Every item in the Frame Tree has a pointer back to its corresponding item in the Content Model. A change in the Content Model, say through using the DOM APIs to change an element from hidden to visible, produces an equivalent change in the Frame Tree. It's important to note that all of these operations are purely data manipulations. Painting to the display itself is not yet involved at this point.</p>
-
-<p>The next stage is the View Manager. With a few small exceptions that have to do with prompting the Frame Constructor to load graphics, the View Manager is the first place in the process that accesses the native OS. Delaying OS access until this point both helps Gecko to run more quickly and makes cross-platform issues easier to deal with. The View Manger is the place where Gecko figures out where on the display the data will need to be drawn. It then tells the system that that area is "invalid" and needs to be repainted. The actual painting is managed by the gfx submodule, while other low-level system operations are run through the widget submodule, which handles things like platform specific event (mouse clicks and so forth) processing loops and accessing system defaults (colors, fonts, etc.) Both gfx and widget are system specific.</p>
-
-<p>If you want to take a look at the code underlying these structures, the code for the Content Model can be found in &lt;tt&gt;/mozilla/content&lt;/tt&gt;, for the Frame Constructor, CSS, and Reflow in &lt;tt&gt;/mozilla/layout&lt;/tt&gt;, for the View Manager in &lt;tt&gt;/mozilla/view&lt;/tt&gt;, and for the DOM APIs in &lt;tt&gt;/mozilla/dom&lt;/tt&gt;.</p>
-
-<div class="originaldocinfo">
-<h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
-
-<ul>
- <li>Author(s): <a class="link-mailto" href="mailto:jeev@netscape.com">Ellen Evans</a></li>
- <li>Last Updated Date: August 19, 2002</li>
- <li>Copyright Information: Copyright (C) <a class="link-mailto" href="mailto:jeev@netscape.com">Ellen Evans</a></li>
-</ul>
-</div>
diff --git a/files/ko/gecko_plugin_api_reference/index.html b/files/ko/gecko_plugin_api_reference/index.html
deleted file mode 100644
index 693edd9244..0000000000
--- a/files/ko/gecko_plugin_api_reference/index.html
+++ /dev/null
@@ -1,213 +0,0 @@
----
-title: Gecko Plugin API Reference
-slug: Gecko_Plugin_API_Reference
-tags:
- - Gecko
- - NeedsMigration
- - Plugins
----
-<div class="note"><b>Note</b>: This document is in the process of being migrated. If you would like to help with this migration, please migrate from <a class="external" href="http://devedge-temp.mozilla.org/library/manuals/2002/plugin/1.0/index.html">devedge-temp</a>.
-</div>
-<p><br>
-</p>
-<h4 id="Preface"> <a href="ko/Gecko_Plugin_API_Reference/Preface">Preface</a> </h4>
-<dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Preface#About_This_Guide">About This Guide</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Preface#Who_Should_Read_This_Guide">Who Should Read This Guide</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Preface#The_Plug-in_Software_Development_Kit">The Plug-in Software Development Kit</a>
-</dd></dl>
-<h4 id="Plug-in_Basics"> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics">Plug-in Basics</a> </h4>
-<dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#How_Plug-ins_Are_Used">How Plug-ins Are Used</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Plug-ins_and_Helper_Applications">Plug-ins and Helper Applications</a>
-</dd></dl>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#How_Plug-ins_Work">How Plug-ins Work</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Understanding_the_Runtime_Model">Understanding the Runtime Model</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Plug-in_Detection">Plug-in Detection</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#How_Gecko_Finds_Plug-ins">How Gecko Finds Plug-ins</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Checking_Plug-ins_by_MIME_Type">Checking Plug-ins by MIME Type</a>
-</dd></dl>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Overview_of_Plug-in_Structure">Overview of Plug-in Structure</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Understanding_the_Plug-in_API">Understanding the Plug-in API</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Plug-ins_and_Platform_Independence">Plug-ins and Platform Independence</a>
-</dd></dl>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Windowed_and_Windowless_Plug-ins">Windowed and Windowless Plug-ins</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#The_Default_Plug-in">The Default Plug-in</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Using_HTML_to_Display_Plug-ins">Using HTML to Display Plug-ins</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Plug-in_Display_Modes">Plug-in Display Modes</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Using_the_OBJECT_Tag_for_Plug-in_Display">Using the OBJECT Tag for Plug-in Display</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Nesting_Rules_for_HTML_Elements">Nesting Rules for HTML Elements</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Using_the_Appropriate_Attributes">Using the Appropriate Attributes</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Using_the_EMBED_Tag_for_Plug-in_Display">Using the EMBED Tag for Plug-in Display</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Using_Custom_EMBED_Attributes">Using Custom EMBED Attributes</a>
-</dd></dl>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Basics#Plug-in_References">Plug-in References</a>
-</dd></dl>
-<h4 id="Plug-in_Development_Overview"> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview">Plug-in Development Overview</a> </h4>
-<dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Writing_Plug-ins">Writing Plug-ins</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Registering_Plug-ins">Registering Plug-ins</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#MS_Windows">MS Windows</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Unix">Unix</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Mac_OS">Mac OS</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#OSX">OSX</a>
-</dd></dl>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Drawing_a_Plug-in_Instance">Drawing a Plug-in Instance</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Handling_Memory">Handling Memory</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Sending_and_Receiving_Streams">Sending and Receiving Streams</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Working_with_URLs">Working with URLs</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Getting_Version_and_UI_Information">Getting Version and UI Information</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Displaying_Messages_on_the_Status_Line">Displaying Messages on the Status Line</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Making_Plug-ins_Scriptable">Making Plug-ins Scriptable</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Building_Plug-ins">Building Plug-ins</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Building.2C_Platforms.2C_and_Compilers">Building, Platforms, and Compilers</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Building_Carbonized_Plug-ins_for_Mac_OSX">Building Carbonized Plug-ins for Mac OSX</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Getting_and_Using_the_xpidl_Compiler">Getting and Using the xpidl Compiler</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Type_Libraries">Type Libraries</a>
-</dd></dl>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Installing_Plug-ins">Installing Plug-ins</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Native_Installers">Native Installers</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#XPI_Plug-ins_Installations">XPI Plug-ins Installations</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview#Plug-in_Installation_and_the_Windows_Registry">Plug-in Installation and the Windows Registry</a>
-</dd></dl>
-</dd></dl>
-<h3 id="Initialization_and_Destruction"> <a href="ko/Gecko_Plugin_API_Reference/Initialization_and_Destruction">Initialization and Destruction</a> </h3>
-<dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Initialization_and_Destruction#Initialization">Initialization</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Initialization_and_Destruction#Instance_Creation">Instance Creation</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Initialization_and_Destruction#Instance_Destruction">Instance Destruction</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Initialization_and_Destruction#Shutdown">Shutdown</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Initialization_and_Destruction#Initialize_and_Shutdown_Example">Initialize and Shutdown Example</a>
-</dd></dl>
-<h4 id="Drawing_and_Event_Handling"> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling">Drawing and Event Handling</a> </h4>
-<dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#The_NPWindow_Structure">The NPWindow Structure</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Drawing_Plug-ins">Drawing Plug-ins</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Printing_the_Plug-in">Printing the Plug-in</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Setting_the_Window">Setting the Window</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Getting_Information">Getting Information</a>
-</dd></dl>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Windowed_Plug-ins">Windowed Plug-ins</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Mac_OS">Mac OS</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Windows">Windows</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Unix">Unix</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Event_Handling_for_Windowed_Plug-ins">Event Handling for Windowed Plug-ins</a>
-</dd></dl>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Windowless_Plug-ins">Windowless Plug-ins</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Specifying_That_a_Plug-in_Is_Windowless">Specifying That a Plug-in Is Windowless</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Invalidating_the_Drawing_Area">Invalidating the Drawing Area</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Forcing_a_Paint_Message">Forcing a Paint Message</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Making_a_Plug-in_Opaque">Making a Plug-in Opaque</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Making_a_Plug-in_Transparent">Making a Plug-in Transparent</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Creating_Pop-up_Menus_and_Dialog_Boxes">Creating Pop-up Menus and Dialog Boxes</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Drawing_and_Event_Handling#Event_Handling_for_Windowless_Plug-ins">Event Handling for Windowless Plug-ins</a>
-</dd></dl>
-</dd></dl>
-<h3 id="Streams"> <a href="ko/Gecko_Plugin_API_Reference/Streams">Streams</a> </h3>
-<ul><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Receiving_a_Stream">Receiving a Stream</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Telling_the_Plug-in_When_a_Stream_Is_Created">Telling the Plug-in When a Stream Is Created</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Telling_the_Plug-in_When_a_Stream_Is_Deleted">Telling the Plug-in When a Stream Is Deleted</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Finding_Out_How_Much_Data_the_Plug-in_Can_Accept">Finding Out How Much Data the Plug-in Can Accept</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Writing_the_Stream_to_the_Plug-in">Writing the Stream to the Plug-in</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Sending_the_Stream_in_Random-Access_Mode">Sending the Stream in Random-Access Mode</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Sending_the_Stream_in_File_Mode">Sending the Stream in File Mode</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Sending_a_Stream">Sending a Stream</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Creating_a_Stream">Creating a Stream</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Pushing_Data_into_the_Stream">Pushing Data into the Stream</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Deleting_the_Stream">Deleting the Stream</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Streams#Example_of_Sending_a_Stream">Example of Sending a Stream</a>
-</li></ul>
-<h4 id="URLs"> <a href="ko/Gecko_Plugin_API_Reference/URLs">URLs</a> </h4>
-<dl><dd> <a href="ko/Gecko_Plugin_API_Reference/URLs#Getting_URLs">Getting URLs</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/URLs#Getting_the_URL_and_Displaying_the_Page">Getting the URL and Displaying the Page</a>
-</dd></dl>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/URLs#Posting_URLs">Posting URLs</a>
-</dd></dl>
-<dl><dd><dl><dd> <a href="ko/Gecko_Plugin_API_Reference/URLs#Posting_Data_to_an_HTTP_Server">Posting Data to an HTTP Server</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/URLs#Uploading_Files_to_an_FTP_Server">Uploading Files to an FTP Server</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/URLs#Sending_Mail">Sending Mail</a>
-</dd></dl>
-</dd></dl>
-<h3 id="Memory"> <a href="ko/Gecko_Plugin_API_Reference/Memory">Memory</a> </h3>
-<ul><li><a href="ko/Gecko_Plugin_API_Reference/Memory#Allocating_and_Freeing_Memory">Allocating and Freeing Memory</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Memory#Mac_OS">Mac OS</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Memory">Flushing Memory (Mac OS only)</a>
-</li></ul>
-<h4 id="Version.2C_UI.2C_and_Status_Information"> <a href="ko/Gecko_Plugin_API_Reference/Version%2c_UI%2c_and_Status_Information">Version, UI, and Status Information</a> </h4>
-<dl><dd> <a href="ko/Gecko_Plugin_API_Reference/Version%2c_UI%2c_and_Status_Information#Displaying_a_Status_Line_Message">Displaying a Status Line Message</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Version%2c_UI%2c_and_Status_Information#Getting_Agent_Information">Getting Agent Information</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Version%2c_UI%2c_and_Status_Information#Getting_the_Current_Version">Getting the Current Version</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Version%2c_UI%2c_and_Status_Information#Finding_Out_if_a_Feature_Exists">Finding Out if a Feature Exists</a>
-</dd><dd> <a href="ko/Gecko_Plugin_API_Reference/Version%2c_UI%2c_and_Status_Information#Reloading_a_Plug-in">Reloading a Plug-in</a>
-</dd></dl>
-<h3 id="Plug-in_Side_Plug-in_API"> <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Side_Plug-in_API">Plug-in Side Plug-in API</a> </h3>
-<ul><li><a href="ko/NPP_Destroy">NPP_Destroy</a>
-</li><li><a href="ko/NPP_DestroyStream">NPP_DestroyStream</a>
-</li><li><a href="ko/NPP_GetValue">NPP_GetValue</a>
-</li><li><a href="ko/NP_GetValue">NP_GetValue</a>
-</li><li><a href="ko/NPP_HandleEvent">NPP_HandleEvent</a>
-</li><li><a href="ko/NP_Initialize">NP_Initialize</a>
-</li><li><a href="ko/NPP_New">NPP_New</a>
-</li><li><a href="ko/NPP_NewStream">NPP_NewStream</a>
-</li><li><a href="ko/NPP_Print">NPP_Print</a>
-</li><li><a href="ko/NPP_SetValue">NPP_SetValue</a>
-</li><li><a href="ko/NPP_SetWindow">NPP_SetWindow</a>
-</li><li><a href="ko/NP_Shutdown">NP_Shutdown</a>
-</li><li><a href="ko/NPP_StreamAsFile">NPP_StreamAsFile</a>
-</li><li><a href="ko/NPP_URLNotify">NPP_URLNotify</a>
-</li><li><a href="ko/NPP_Write">NPP_Write</a>
-</li><li><a href="ko/NPP_WriteReady">NPP_WriteReady</a>
-</li></ul>
-<h3 id="Browser_Side_Plug-in_API"> <a href="ko/Gecko_Plugin_API_Reference/Browser_Side_Plug-in_API">Browser Side Plug-in API</a> </h3>
-<ul><li> <a href="ko/NPN_DestroyStream">NPN_DestroyStream</a>
-</li><li> <a href="ko/NPN_ForceRedraw">NPN_ForceRedraw</a>
-</li><li> <a href="ko/NPN_GetURL">NPN_GetURL</a>
-</li><li> <a href="ko/NPN_GetURLNotify">NPN_GetURLNotify</a>
-</li><li> <a href="ko/NPN_GetValue">NPN_GetValue</a>
-</li><li> <a href="ko/NPN_InvalidateRect">NPN_InvalidateRect</a>
-</li><li> <a href="ko/NPN_InvalidateRegion">NPN_InvalidateRegion</a>
-</li><li> <a href="ko/NPN_MemAlloc">NPN_MemAlloc</a>
-</li><li> <a href="ko/NPN_MemFlush">NPN_MemFlush</a>
-</li><li> <a href="ko/NPN_MemFree">NPN_MemFree</a>
-</li><li> <a href="ko/NPN_NewStream">NPN_NewStream</a>
-</li><li> <a href="ko/NPN_PostURL">NPN_PostURL</a>
-</li><li> <a href="ko/NPN_PostURLNotify">NPN_PostURLNotify</a>
-</li><li> <a href="ko/NPN_ReloadPlugins">NPN_ReloadPlugins</a>
-</li><li> <a href="ko/NPN_RequestRead">NPN_RequestRead</a>
-</li><li> <a href="ko/NPN_SetValue">NPN_SetValue</a>
-</li><li> <a href="ko/NPN_Status">NPN_Status</a>
-</li><li> <a href="ko/NPN_UserAgent">NPN_UserAgent</a>
-</li><li> <a href="ko/NPN_Version">NPN_Version</a>
-</li><li> <a href="ko/NPN_Write">NPN_Write</a>
-</li></ul>
-<h3 id="Structures"> <a href="ko/Gecko_Plugin_API_Reference/Structures">Structures</a> </h3>
-<ul><li><a href="ko/NPAnyCallbackStruct">NPAnyCallbackStruct</a>
-</li><li><a href="ko/NPByteRange">NPByteRange</a>
-</li><li><a href="ko/NPEmbedPrint">NPEmbedPrint</a>
-</li><li><a href="ko/NPEvent">NPEvent</a>
-</li><li><a href="ko/NPFullPrint">NPFullPrint</a>
-</li><li><a href="ko/NPP">NPP</a>
-</li><li><a href="ko/NP_Port">NP_Port</a>
-</li><li><a href="ko/NPPrint">NPPrint</a>
-</li><li><a href="ko/NPPrintCallbackStruct">NPPrintCallbackStruct</a>
-</li><li><a href="ko/NP_Rect">NP_Rect</a>
-</li><li><a href="ko/NP_Region">NP_Region</a>
-</li><li><a href="ko/NPSavedData">NPSavedData</a>
-</li><li><a href="ko/NPSetWindowCallbackStruct">NPSetWindowCallbackStruct</a>
-</li><li><a href="ko/NPStream">NPStream</a>
-</li><li><a href="ko/NPWindow">NPWindow</a>
-</li></ul>
-<h3 id="Constants"> <a href="ko/Gecko_Plugin_API_Reference/Constants">Constants</a> </h3>
-<ul><li><a href="ko/Gecko_Plugin_API_Reference/Constants#Error_Codes">Error Codes</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Constants#Result_Codes">Result Codes</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Constants#Plug-in_Version_Constants">Plug-in Version Constants</a>
-</li><li><a href="ko/Gecko_Plugin_API_Reference/Constants#Version_Feature_Constants">Version Feature Constants</a>
-</li></ul>
-<h4 id="Authors"> <a href="ko/Gecko_Plugin_API_Reference/Authors">Authors</a> </h4>
-{{ languages( { "en": "en/Gecko_Plugin_API_Reference", "ja": "ja/Gecko_Plugin_API_Reference", "pl": "pl/Dokumentacja_wtyczek_Gecko" } ) }}
diff --git a/files/ko/gre/index.html b/files/ko/gre/index.html
deleted file mode 100644
index 51af0008eb..0000000000
--- a/files/ko/gre/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: GRE
-slug: GRE
-translation_of: Archive/Mozilla/GRE
----
-<p>GRE (Gecko Runtime Environment)는 Mozilla 기술을 내장하기 위한 framework입니다. 이 내장된 framework은 application이 호환되는 Gecko runtime에서 수행될 수 있도록 하고, 실행 이전에 미리 Gecko runtime이 어디에 설치되어야 하는지를 알 필요가 없도록 해줍니다. 이 문서에는 Gecko runtime을 내장하기 위해 GRE를 어떻게 동적으로 연결해야 하는지에 대해 소개합니다. 어떻게 GRE들을 등록하는지를 이해하기 위해서는 <a href="/en-US/docs/" title="/en-US/docs/">GRE Registration</a>을 참조하시기 바랍니다.</p>
-<p><a href="en/XRE">XRE</a> <span style="font-size: 14px; line-height: inherit;">(XUL Runtime Environment) 프로젝트는 </span><a href="en/XULRunner" style="font-size: 14px; line-height: inherit;">XULRunner</a><span style="font-size: 14px; line-height: inherit;">로 대체되어 왔습니다.</span></p>
-<p> </p>
-<h3 id="Mozilla_Suite:_the_old_GRE" name="Mozilla_Suite:_the_old_GRE">Mozilla Suite: the old GRE</h3>
-<p>GRE에는 두 가지 다른 형식이 있습니다: "오래된" GRE는 Mozilla application의 한 부분이었고, Mozilla 1.4 부터 1.7.x 버젼에 포함되어 Windows 설치시에 포함되어 설치 되었습니다. 그러나, Linux를 위해 공식적으로 제공된 GRE는 없습니다. 그렇지만, Linux의 경우에는 Red Hat 같은 다양한 Linux 배포자 들이 마치 GRE인 것처럼 포장하여 Mozilla installation을 등록해 왔습니다. Mozilla 패키지에는 Mac에서 수행되는 GRE를 제공한 적은 없습니다. </p>
-<h3 id="XULRunner:_the_new_GRE" name="XULRunner:_the_new_GRE">XULRunner: the new GRE</h3>
-<p><a href="en/XULRunner">XULRunner</a>는 자체로 GRE를 내장시키는 기능 뿐만 아니라 Firefox 같은 전체 XUL application을 시동시키는 기능도 포함하고 있습니다. XULRunner는 모든 3개의 주요 platform (Windows, Mac과 Linux)에 포함될 수 있도록 지원했거나 지원할 계획입니다.</p>
-<h3 id="Finding_and_using_a_GRE_from_application_code" name="Finding_and_using_a_GRE_from_application_code">Application code로부터 GRE를 찾고 사용하는 방법</h3>
-<h4 id="Avoid_linking_directly_against_xpcom.dll" name="Avoid_linking_directly_against_xpcom.dll">xpcom.dll을 직접 link하여 사용하는 것으로 피하세요.</h4>
-<p>만약 application이 GRE를 사용하기 원한다면, 올바른 library들을 연결하는 작업을 주의깊게 해야 합니다. 만약 application에서 <code style="font-size: 13.63636302947998px; line-height: inherit;">xpcom.dll/libxpcom.so</code><span style="font-size: 14px; line-height: inherit;"> (</span><code style="font-size: 13.63636302947998px; line-height: inherit;">xpcom.lib</code><span style="font-size: 14px; line-height: inherit;"> import lib)</span><span style="font-size: 14px; line-height: inherit;">을 직접 link로 연결했을 경우, 이 경우 application의 실행 </span><span style="font-family: 'Courier New', 'Andale Mono', monospace; font-size: 14px; line-height: inherit;">PATH</span><span style="font-size: 14px; line-height: inherit;">에 xpcom.dll이 없다면 application은 실행되지 않을 것입니다. 이런 경우에는 실행 시점에 application과 호환되는 GRE를 동적으로 찾는 작업을 어렵게 만들 수 있습니다.</span></p>
-<h4 id="Find_a_compatible_GRE" name="Find_a_compatible_GRE">호환되는 GRE를 찾는 방법</h4>
-<div class="geckoVersionNote">
- <p>{{ gecko_callout_heading("6.0") }}</p>
- <p>Support for locating a standalone glue was removed in Gecko 6.0 {{ geckoRelease("6.0") }}.</p>
-</div>
-<p>호환되는 GRE를 찾기 위해서는, <code>GRE_GetGREPathWithProperties()</code> ( {{ Source("xpcom/glue/standalone/nsXPCOMGlue.h") }}안에 선언된)함수를 반드시 사용해야 합니다. 이 방법은 embedder가 GRE의 어떤 version이 가장 적절한지를 명시할 수 있도록 해주고, GRE가 반드시 가져야만 하는 특별한 특징들 또한 명시할 수 있도록 해 줍니다. (현재 GRE에서 명시된 특별한 특징들은 없습니다.)</p>
-<h4 id="Statically_link_to_xpcomglue.lib_.28the_.22standalone_glue.22.29" name="Statically_link_to_xpcomglue.lib_.28the_.22standalone_glue.22.29">xpcomglue.lib에 정적인 link 걸기 ("독립적인 glue")</h4>
-<p>해결책은 <code>xpcomglue.lib에 정적으로 link를 거는 방법이고, 이 방법은 "독립적인 glue" (</code><a href="en/XPCOM_Glue" style="font-size: 14px; line-height: inherit;">XPCOM Glue</a> 참조)로 알려져 있습니다. 이 library는 내장되는 code와 XPCOM 사이에 간접적인 계층을 제공합니다. XPCOM glue를 사용하기 위해서는 이어지는 단계들을 면밀히 따라야 합니다.</p>
-<ul>
- <li>정의된 <code>XPCOM_GLUE로 당신의 code를 compile하세요</code>.</li>
- <li><code>xpcomglue.lib</code> ( <code>xpcomglue_s.lib</code>!이 아닙니다)로 link를 거세요. NSPR libs에 대한 link를 걸지 마세요.</li>
- <li>위에 있는 것처럼 호환되는 GRE를 찾으세요.</li>
- <li><code>XPCOMGlueStartup()</code> 함수를 사용하는 GRE에 동적으로 link를 거세요. 아래 명시되어 있는 <a href="#Dependent_libraries_and_environment_variables">환경변수들</a>을 참조하세요.</li>
- <li>XPCOM을 초기화하고, 당신의 모듈을 작성하세요. 끝마쳤을때, XPCOM을 닫으세요.</li>
- <li><code>XPCOMGlueShutdown()함수로 </code>XPCOM에 대한 link를 해제하세요.<br>
-  </li>
-</ul>
-<h4 id="Dependent_libraries_and_environment_variables" name="Dependent_libraries_and_environment_variables">독립적인 라이브러리들과 환경 변수들</h4>
-<p>XULRunner GRE는 embedder가 <span style="font-family: 'Courier New', 'Andale Mono', monospace; font-size: 14px; line-height: inherit;">XPCOMGlueStartup()</span><span style="font-size: 14px; line-height: inherit;">함수를 호출하기 전에 </span><code style="font-size: 13.63636302947998px; line-height: inherit;">PATH</code><span style="font-size: 14px; line-height: inherit;"> 나 </span><code style="font-size: 13.63636302947998px; line-height: inherit;">LD_LIBRARY_PATH 같은 환경 변수들을 설정할 필요가 없도록 설계되었습니다. 왜냐하면 XULRunner GRE는 독립적인 library들을 동적으로 적재할 수 있기 때문입니다.</code><span style="font-size: 14px; line-height: inherit;"> 운나쁘게도, 특별히 Linux에서는 특별한 작업을 더 해야 합니다. Embedder들은 LD_LIBRARY_PATH 환경 변수를 설정할 필요가 있고, 올바르게 GRE를 내장하기 위해서는 새로운 프로세스를 시작해야 합니다.</span></p>
-<p>{{ languages( { "ja": "ja/GRE", "zh-cn": "cn/GRE" } ) }}</p>
diff --git a/files/ko/hacking_firefox/index.html b/files/ko/hacking_firefox/index.html
deleted file mode 100644
index 6933186a58..0000000000
--- a/files/ko/hacking_firefox/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: Hacking Firefox
-slug: Hacking_Firefox
-tags:
- - Developing Mozilla
----
-<p>만일 여러분이 `C++ 의 신` 정도의 능력이 있으시다면, 이 부분을 보실 필요가 없을 것입니다. 심지어 (좀 심하게 말하자면) front-end를 해킹하는 것은 여러분이 봐야할 적당한 페이지가 아닙니다만, 우리는 항상 더 많은 사람들이 리뷰하고, 코드를 작성하는 것을 도와줄 것이 필요합니다 <a class="external" href="http://www.mozilla.org/contribute/hacking/first-bugs/">building up the platform</a>. Front-end를 해킹하는 것은 코딩 기술 뿐만 아니라 사용자 인터페이스에 대한 직감과 더불어 비판에 잘 견딜 수 있어야 합니다. 여하튼, front-end를 찔러보는 건 상대적으로 쉬운 일입니다. C++/<a href="/ko/JavaScript" title="ko/JavaScript">JavaScript</a>/<a href="/ko/XML" title="ko/XML">XML</a> 에 대한 기본을 충분히 알고 있다면, <a href="/ko/XPCOM" title="ko/XPCOM">XPCOM</a>이나 그 관련된 것에 대하여 샅샅히 알고 있지 않더라도 시작하는데는 충분합니다. 자! 이제, 중요한 것부터 시작합니다.</p>
-<p> </p>
-<h3 id=".EA.B8.B0.EB.B3.B8.EC.97.90.EC.84.9C.EB.B6.80.ED.84.B0_.EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0">기본에서부터 시작하기</h3>
-<p>해킹을 시작하기 전에 우선 <a class="link-https" href="https://bugzilla.mozilla.org/">Bugzilla</a>에 대하여 알아야 할 필요가 있습니다. 다른 사람에게 "나는 firefox를 해킹하고 싶다"고 이야기하는 것 이전에 선별/<a href="/ko/QA" title="ko/QA">QA</a>/버그찾기를 위하여 몇주 혹은 그 이상의 기간을 보낼줄 아는 것은 최소한 할수 있어야 합니다. 프로젝트가 어떻게 수행되는지 알아보는 것, 어떤 것에 대하여 선별하는지 배우는 것, 그리고 이 과정에서 배운 것들을 초기 선별 과정에 적용시키는 것은 검토와 체크인을 통하여 여러분의 방법을 찾는데 크게 도움을 줍니다. 여러분께서 닥치는대로 어떤 부분을 선택하여 작업을 시작하는 것은 일반적으로 최선의 선택은 아닐 것입니다. 어떤 부분이 잘 갖추어져 있는지, 어떤 부분이 추가적으로 필요한지 잘 살펴보시는 것이 해킹을 시작하는데 있어서 좋은 시작이 될 것입니다.</p>
-<h3 id="Fox_.EB.B9.8C.EB.93.9C.ED.95.98.EA.B8.B0">Fox 빌드하기</h3>
-<p>기존에 잘 쓰여진 것을 개작할 수도 있겠지만, 그것보다는 일반적인 절차<a href="/ko/Build_Documentation" title="ko/Build_Documentation">here</a>를 따라 CVS trunk를 사용하고, 새로운 빌드를 받는 것에서 부터 시작하십시요. 다음 단계를 시도하기 전에 이러한 작업은 할 수 있어야 합니다. 물론, Mozilla CVS에서 어떤것을 빌드하는 것이 아주 녹녹하지만은 않지만, 도움을 받아도 이러한 일을 해결할 수 없다면 아직 준비가 덜 되었다는 뜻이겠지요. "아무것도 컴파일하지 않음"에서부터 "Win32에서의 빌드"까지 한시간 정도면 끝낼수 있습니다.</p>
-<h3 id=".EC.86.8C.EC.8A.A4_.EC.BD.94.EB.93.9C.EC.9D.98_.EA.B5.AC.EC.A1.B0">소스 코드의 구조</h3>
-<p>자! 다음 질문은 "어디에 프로그램과 front-end 코드가 있나요?" 입니다. Firefox의 관련 코드는 <a class="external" href="http://lxr.mozilla.org/mozilla/source/browser/">여기</a>에 있으며, 일반적인 front-end toolkit은 <a class="external" href="http://lxr.mozilla.org/mozilla/source/toolkit/">여기</a>에 있습니다. (여러분의 CVS tree에서 이것은 각각 <code>mozilla/browser</code> 과 <code>mozilla/toolkit</code> 입니다.)</p>
-<h3 id="Text_file_format">문서 파일 형식</h3>
-<p>어떤 프로그래머들은 UTF-8 Byte Order Marker (BOM)를 기본적으로 파일 앞부분에 삽입합니다. 이 UTF-8 문자(0xEF 0xBB 0xBF)는 모질라 프로제특에 사용되는 다양한 도구에 영향을 끼칠 수 있습니다. 따라서 BOM이 파일에 저장되지 않도록 주의해주십시오.</p>
-<p>만약 파일에 이미 BOM 문자가 들어가있다면 그것을 제거해야합니다. 제거 작업은 문서 편집기나 다음과 같은 스크립트를 사용할 수 있습니다.</p>
-<pre class="eval"># nukebom.pl
-$INC{ "bytes.pm" }++ if $] &lt; 5.006;
-use bytes;
-
-s/^\xEF\xBB\xBF//s;
-</pre>
-<p>이 스크립트를 다음과 같이 실행하면 됩니다: <code>perl -pi nukebom.pl <em>파일명</em></code>.</p>
-<h3 id=".EC.9E.91.EC.97.85.ED.95.A0_.EB.B2.84.EA.B7.B8.EB.93.A4.EC.9D.84_.EC.84.A0.ED.83.9D.ED.95.98.EA.B8.B0">작업할 버그들을 선택하기</h3>
-<p>어떤일을 할 것을 할 것인지는 일종의 선택의 문제입니다. 종종 아주 단순한 것에서 버그가 발견될 수도 있으며, 만일 쉽게 해결할 수 있는 문제라면 그것을 먼저하십시요. 대부분의 경우에 처음으로 버그를 잡으시려고 할때는 "good first bug(새로운 개발자가 수정하기 용이한 버그들)"라고 적혀 있는 버그들 부터 선택하시는 것이 좋습니다. 물론, 여러분을 짜증나게 하는 버그가 있다면 그것부터 시작하는 것도 좋습니다. 개인적인 만족감을 많이 얻을 수 있을테니까요.</p>
-<h3 id=".EB.8F.84.EC.9B.80.EC.9D.84_.EC.96.BB.EC.9D.84_.EC.88.98_.EC.9E.88.EB.8A.94_.EA.B3.B3">도움을 얻을 수 있는 곳</h3>
-<p>많은 <span>개발자들</span>이 있는 <a class="link-irc" href="irc://irc.mozilla.org">Mozilla IRC server</a>는 여러분께서 어떤 문제를 풀어내지 못할때 조언을 받을 수 있는 좋은 장소입니다. 하지만, 다른 사람을 귀찮게 하기전에 우선 다른 좋은 장소들(lxr/bonsai/Google (그리고, 이 위키페이지))에서 답을 얻기 위해서 최선을 다하십시요. 만일 "UI가 어떤식으로 보이나요?"와 같은 질문이라면 Mike Connor나 <a class="external" href="http://www.mozilla.org/projects/firefox/review.html">Firefox peer</a>에 물어보는 것이 가장 좋을 것이며, 이건 여러분의 사례를 같이 논의할 준비가 되었다는 것이겠습니다.</p>
-<h3 id=".EC.82.AC.EC.9A.A9.EC.9E.90_.EA.B2.BD.ED.97.98.EC.9D.84_.EB.B3.80.EA.B2.BD.ED.95.98.EA.B8.B0">사용자 경험을 변경하기</h3>
-<p>만일 여러분이 개선 요청이 있는 기능을 구현하려고 하거나, 사용자들에게 영향을 마칠만한 동작을 바꾸려고 할때, 이를 시작하기 전에 여기에 대한 피드백을 받아보는 것이 모든 이해 관계자들에게 있어서 가장 좋을 것입니다. Ben Goodger, Mike Connor, 또는 <a class="external" href="http://www.mozilla.org/projects/firefox/review.html">Firefox peers</a>의 누군가에게 여기에 대하여 말하고, 응답 또는 조정을 받도록 하십시요. 만일 그들이 여러분이 작업할 부분에 대한 허가를 하지 않는다면, (예전에 <em>리뷰-</em>에 대한 보여야 하는 적절한 반응을 따르지 않았던 사람들에 비추어 보았을때) 여러분은 많은 스트레스와 울분으로부터 구원받은 것입니다.</p>
diff --git a/files/ko/install.rdf/index.html b/files/ko/install.rdf/index.html
deleted file mode 100644
index 1734e7799f..0000000000
--- a/files/ko/install.rdf/index.html
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: install.rdf
-slug: install.rdf
-translation_of: Archive/Mozilla/Creating_a_Skin_for_SeaMonkey_2.x/install.rdf
----
-<p>Copy the following text and paste it into a text file, then save that file as "<code>install.rdf</code>":</p>
-
-<pre class="brush:xml">&lt;?xml version="1.0"?&gt;
-
-&lt;RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;
-
- &lt;Description about="urn:mozilla:install-manifest"&gt;
- &lt;em:id&gt;author@oftheme.com&lt;/em:id&gt;
- &lt;em:version&gt;2.0b1&lt;/em:version&gt;
-
- &lt;!-- SeaMonkey --&gt;
- &lt;em:targetApplication&gt;
- &lt;Description&gt;
- &lt;em:id&gt;{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}&lt;/em:id&gt;
- &lt;em:minVersion&gt;2.0b1pre&lt;/em:minVersion&gt;
- &lt;em:maxVersion&gt;2.0b2pre&lt;/em:maxVersion&gt;
- &lt;/Description&gt;
- &lt;/em:targetApplication&gt;
-
- &lt;!-- Front End MetaData --&gt;
- &lt;em:name&gt;My_Theme&lt;/em:name&gt;
- &lt;em:description&gt;My first theme&lt;/em:description&gt;
-
- &lt;!-- Front End Integration Hooks (used by Theme Manager)--&gt;
- &lt;em:creator&gt;John Johnson&lt;/em:creator&gt;
- &lt;em:contributor&gt;John Johnson&lt;/em:contributor&gt;
- &lt;em:homepageURL&gt;https://mycoolskin.com/&lt;/em:homepageURL&gt;
-
- &lt;em:updateURL&gt;https://mycoolskin.com/&lt;/em:updateURL&gt;
- &lt;em:aboutURL&gt;https://mycoolskin.com/&lt;/em:aboutURL&gt;
- &lt;em:internalName&gt;My_Theme&lt;/em:internalName&gt;
- &lt;/Description&gt;
-&lt;/RDF&gt;
-</pre>
diff --git a/files/ko/interfacing_with_the_xpcom_cycle_collector/index.html b/files/ko/interfacing_with_the_xpcom_cycle_collector/index.html
deleted file mode 100644
index 6958c619fe..0000000000
--- a/files/ko/interfacing_with_the_xpcom_cycle_collector/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: Interfacing with the XPCOM cycle collector
-slug: Interfacing_with_the_XPCOM_cycle_collector
-tags:
- - Firefox 3
- - XPCOM
-translation_of: Mozilla/Tech/XPCOM/Interfacing_with_the_XPCOM_cycle_collector
----
-<p> 이 글은 Firefox 에서 XPCOM에 도입된 순환 수집기(cycle collector)에 대한 빠른 개요이며, XPCOM 순환 콜렉션에 참여하도록 기존 C++ 클래스를 수정하는데 필요한 절차를 포함합니다. 여러분이 생각하기에 순환 소유권(cyclical-ownership) 누출에 영향을 미치는 클래스가 있다면, 이 페이지는 여러분을 위한 것입니다.</p>
-<p>대상 독자는 Mozilla C++ 개발자입니다.</p>
-<h4 id=".EC.88.9C.ED.99.98_.EC.88.98.EC.A7.91.EA.B8.B0.EA.B0.80_.ED.95.98.EB.8A.94_.EC.9D.BC" name=".EC.88.9C.ED.99.98_.EC.88.98.EC.A7.91.EA.B8.B0.EA.B0.80_.ED.95.98.EB.8A.94_.EC.9D.BC">순환 수집기가 하는 일</h4>
-<p>순환 수집기는 대부분의 시간을 가비지(garbage) 순환에
- <i>
- 영향을 미칠 수도 있는</i>
- XPCOM 개체에 대한 포인터를 모으는데(그리고 버리는데) 보냅니다. 이는 수집기 작업의 유휴 단계로서 여기에서는 &lt;tt&gt;nsAutoRefCnt&lt;/tt&gt;의 특별한 변형이 "의심스러운" refcount 이벤트(0이 아닌 N에 대하여 N+1부터 N까지)를 전달하면서 자신을 재빠르게 수집기에 등록하고 등록 해제하기를 반복합니다.</p>
-<p>수집기는 주기적으로 깨어 나서 버퍼에 계속 있었던 의심스러운 포인터를 검사합니다. 이는 수집기 동작의 검사 단계입니다. 이 단계에서 수집기는 반복적으로 각 후보자에게 싱글톤(singleton) 순환 수집 도우미 클래스를 요청하고, 만약 도우미 클래스가 존재하면 수집기는 후보자의 (소유한) 자식에 대한 설명을 요청합니다. 이러한 방법으로 수집기는 의심스러운 개체로부터 도달 가능한 소유권 서브그래프(ownership subgraph)에 대한 그림을 작성합니다.</p>
-<p>수집기가 모두 서로에게 다시 참조를 하는 개체의 그룹을 찾고 개체의 참조 카운트가 그룹 안에서 내부 포인터에 의한 것이라고 확인하면 수집기는 해당 그룹을
- <i>
- 순환 가비지</i>
- 로 간주하여 해제하려고 시도합니다. 이는 수집기 동작의 연결 해제 단계입니다. 이 단계에서 수집기는 발견한 가비지 개체를 지나 다니며 다시 그들의 도우미 개체의 도움을 받아 도우미 개체에게 각 개체를 인접한 자식과 "연결 해제"하라고 요청합니다.</p>
-<p>수집기는 JS 힙(heap)을 지나 다니는 방법도 알고 있으며 그것으로 들어오고 나가는 소유권 순환을 발견할 수 있다는 점을 참고하십시오.</p>
-<h4 id=".EC.88.98.EC.A7.91.EA.B8.B0.EA.B0.80_.EC.8B.A4.ED.8C.A8.ED.95.98.EB.8A.94_.EA.B2.BD.EC.9A.B0" name=".EC.88.98.EC.A7.91.EA.B8.B0.EA.B0.80_.EC.8B.A4.ED.8C.A8.ED.95.98.EB.8A.94_.EA.B2.BD.EC.9A.B0">수집기가 실패하는 경우</h4>
-<p>순환 수집기는 신중한 장치입니다. 그것이 가비지 순환을 수집하는데 실패하는 경우도 있습니다.</p>
-<ol>
- <li>수집기는 기본 값으로 어떠한 포인터도 의심하지 않습니다. 개체는 보통 &lt;tt&gt;nsAutoRefCnt&lt;/tt&gt;가 아닌 &lt;tt&gt;nsCycleCollectingAutoRefCnt&lt;/tt&gt;를 사용하여
- <i>
- 스스로 의심</i>
- 해야 합니다.</li>
- <li>수집기는 &lt;tt&gt;nsICycleCollectionParticipant&lt;/tt&gt;로 QI를 했을 때 도우미 개체를 반환하는 개체만 탐색합니다. 탐색 중에 알 수 없는 모서리를 만나면 그 모서리를 포기하는데, 이는 순환에 관여하는 모든 모서리가 참여해야 한다는 것을 의미하며 그렇지 않으면 순환을 발견할 수 없습니다.</li>
- <li>도우미 개체에 대한 &lt;tt&gt;Traverse&lt;/tt&gt;와 &lt;tt&gt;Unlink&lt;/tt&gt; 메소드는 마법이 아닙니다. 그것을 프로그래머가 올바르게 제공해야 하며 그렇지 않으면 수집기는 실패하게 됩니다.</li>
- <li>수집기는 스택(stack)에 존재하는 임시로 소유하는 포인터를 발견하는 방법을 모릅니다. 그래서 그것이 프로그램의 상단(top-loop) 근처에서만 실행한다는 사실이 중요합니다. 별도의 소유하는 포인터가 있는 경우에 고장나지는 않지만 소유되는 개체에서 발견한 참조 카운트를 설명할 수 없게 되어 순환을 수집하는데 실패하게 됩니다.</li>
-</ol>
-<h4 id=".EC.97.AC.EB.9F.AC.EB.B6.84.EC.9D.98_.ED.81.B4.EB.9E.98.EC.8A.A4.EB.A5.BC_.EC.B0.B8.EC.97.AC.EC.8B.9C.ED.82.A4.EB.8A.94_.EB.B0.A9.EB.B2.95" name=".EC.97.AC.EB.9F.AC.EB.B6.84.EC.9D.98_.ED.81.B4.EB.9E.98.EC.8A.A4.EB.A5.BC_.EC.B0.B8.EC.97.AC.EC.8B.9C.ED.82.A4.EB.8A.94_.EB.B0.A9.EB.B2.95">여러분의 클래스를 참여시키는 방법</h4>
-<p>순환 수집기와 여러분의 클래스 사이의 인터페이스는 &lt;tt&gt;xpcom/base/nsCycleCollector.h&lt;/tt&gt;의 내용을 사용하여 직접 접근할 수 있습니다. 하지만 &lt;tt&gt;xpcom/base/nsCycleCollectionParticipant.h&lt;/tt&gt;에는 여러분의 클래스에 추가할 수 있는 편리한 매크로가 있으며 이는 훨씬 사용하기 쉽습니다. 일반적으로, 수정해야 할 &lt;tt&gt;nsFoo&lt;/tt&gt; 클래스가 있고 두 개의 &lt;tt&gt;nsCOMPtr&lt;/tt&gt; 모서리인 &lt;tt&gt;mBar&lt;/tt&gt;와 &lt;tt&gt;mBaz&lt;/tt&gt;가 있다고 가정하면, 처리 과정은 몇 가지 간단한 수정이 됩니다.</p>
-<ol>
- <li>&lt;tt&gt;nsCycleCollectionParticipant.h&lt;/tt&gt; 헤더를 &lt;tt&gt;nsFoo.h&lt;/tt&gt;와 &lt;tt&gt;nsFoo.cpp&lt;/tt&gt;에 모두 포함합니다.</li>
- <li>&lt;tt&gt;nsFoo&lt;/tt&gt;의 정의에서 &lt;tt&gt;NS_DECL_ISUPPORTS&lt;/tt&gt;를 &lt;tt&gt;NS_DECL_CYCLE_COLLECTING_ISUPPORTS&lt;/tt&gt;로 바꿉니다.</li>
- <li>&lt;tt&gt;nsFoo&lt;/tt&gt; 정의의 public 부분에 &lt;tt&gt;NS_DECL_CYCLE_COLLECTION_CLASS(nsFoo)&lt;/tt&gt;를 추가합니다.</li>
- <li>&lt;tt&gt;nsFoo.cpp&lt;/tt&gt;에서 &lt;tt&gt;nsFoo&lt;/tt&gt;의 인터페이스 정의에 &lt;tt&gt;NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(nsFoo)&lt;/tt&gt;를 추가합니다.</li>
- <li>&lt;tt&gt;nsFoo.cpp&lt;/tt&gt;에서 &lt;tt&gt;NS_IMPL_ADDREF(nsFoo)&lt;/tt&gt;를 &lt;tt&gt;NS_IMPL_CYCLE_COLLECTING_ADDREF(nsFoo)&lt;/tt&gt;로 바꿉니다.</li>
- <li>&lt;tt&gt;nsFoo.cpp&lt;/tt&gt;에서 &lt;tt&gt;NS_IMPL_RELEASE(nsFoo)&lt;/tt&gt;를 &lt;tt&gt;NS_IMPL_CYCLE_COLLECTING_RELEASE(nsFoo)&lt;/tt&gt;로 바꿉니다.</li>
- <li>&lt;tt&gt;nsFoo.cpp&lt;/tt&gt;에서 &lt;tt&gt;NS_IMPL_CYCLE_COLLECTION_CLASS_2(nsFoo, mBar, mBaz)&lt;/tt&gt;를 추가합니다.</li>
-</ol>
-<p>여러분의 클래스는 이 그림보다 훨씬 더 복잡한 구조를 가지고 있을 가능성이 있습니다. 예를 들어, 여러분의 클래스는 여러 개의 &lt;tt&gt;nsISupports&lt;/tt&gt; 기반 클래스를 가질 수 있으며 이는 애매함을 제거하는 다운캐스트(disambiguating downcast)를 수행하는 &lt;tt&gt;*_AMBIGUOUS&lt;/tt&gt; 매크로 사용을 필요로 합니다. 또한 여러분의 클래스는 간단한 &lt;tt&gt;NS_IMPL_CYCLE_COLLECTION_CLASS_
- <i>
- N</i>
- &lt;/tt&gt; 매크로는 충분하지 않은 복잡한 소유 구조를 가질 수 있습니다. 이 경우에 여러분은 도우미 클래스의
- <i>
- Traverse</i>
- 와
- <i>
- Unlink</i>
- 메소드를 직접 구현해야 합니다. 이러한 경우에도 &lt;tt&gt;NS_IMPL_CYCLE_COLLECTION_TRAVERSE_{BEGIN,END}&lt;/tt&gt;와 &lt;tt&gt;NS_IMPL_CYCLE_COLLECTION_UNLINK_{BEGIN,END}&lt;/tt&gt; 매크로를 사용하는 것이 도움이 됩니다. 그것을 사용하는 예제는 &lt;tt&gt;content/base/src/nsGenericElement.cpp&lt;/tt&gt;와 같은 더 복잡한 클래스에서 볼 수 있습니다. 클래스가 티어오프(tearoff)를 가지고 있거나 다른 클래스에 결합(aggregate)된 경우에는 티어오프 클래스나 외부 클래스도 순환 수집에 참여시키는 것이 중요합니다. 그렇게 하지 않으면 순환 수집기가 개체를 너무 빨리 수집하도록 만듭니다.</p>
-<p> </p>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/international_characters_in_xul_javascript/index.html b/files/ko/international_characters_in_xul_javascript/index.html
deleted file mode 100644
index 9a4b6c10e2..0000000000
--- a/files/ko/international_characters_in_xul_javascript/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: International characters in XUL JavaScript
-slug: International_characters_in_XUL_JavaScript
-tags:
- - Internationalization
- - JavaScript
-translation_of: Archive/Mozilla/XUL/International_characters_in_XUL_JavaScript
----
-<h3 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94">개요</h3>
-<p><a href="ko/Firefox_1.5">Firefox 1.5</a>와 다른 어플리케이션에서 사용되는 <a href="ko/Gecko">Gecko</a> 1.8에서는 <a href="ko/XUL">XUL</a> 파일에서 로드되는 <a href="ko/JavaScript">JavaScript</a> 파일에 non-ASCII 캐릭터를 포함시킬 수 있습니다.</p>
-<p>이는 세계에서 사용하는 모든 언어의 모든 문자를 스크립트 파일에서 사용할 수 있다는 의미입니다. 예를 들어 스크립트 파일에 이런 내용을 포함시킬 수 있습니다.</p>
-<pre class="eval">var text = "Ein schönes Beispiel eines mehrsprachigen Textes: 日本語";
-</pre>
-<p>일본어와 독일어 문자를 섞어 쓴 것입니다.</p>
-<p>이전 버전에서는 XUL에서 로드되는 JS 파일은 로컬에서나 원격에서나 항상 <a class="external" href="http://en.wikipedia.org/wiki/ISO_8859-1#Code_table">ISO-8859-1</a> (Latin-1) 인코딩으로 해석되었습니다. <a href="#.EB.B2.84.EC.A0.84_.EA.B0.84_.ED.98.B8.ED.99.98.EC.84.B1">아래쪽에서 논의할</a> 유니코드 이스케이프는 항상 동작했습니다.</p>
-<h3 id="Gecko_1.8_.EC.9D.B4.ED.9B.84_.EB.B2.84.EC.A0.84.EC.97.90.EC.84.9C_.EB.AC.B8.EC.9E.90_.EC.9D.B8.EC.BD.94.EB.94.A9.EC.9D.B4_.EA.B2.B0.EC.A0.95.EB.90.98.EB.8A.94_.EB.B0.A9.EB.B2.95" name="Gecko_1.8_.EC.9D.B4.ED.9B.84_.EB.B2.84.EC.A0.84.EC.97.90.EC.84.9C_.EB.AC.B8.EC.9E.90_.EC.9D.B8.EC.BD.94.EB.94.A9.EC.9D.B4_.EA.B2.B0.EC.A0.95.EB.90.98.EB.8A.94_.EB.B0.A9.EB.B2.95">Gecko 1.8 이후 버전에서 문자 인코딩이 결정되는 방법</h3>
-<p>JavaScript 파일이 <code><a class="external" rel="freelink">chrome://</a></code> URL에서 로드될 때, 스크립트의 인코딩을 결정하는데 <a href="ko/Byte_Order_Mark">Byte Order Mark</a> (<a href="https://ko.wikipedia.org/wiki/Byte_Order_Mark" title="BOM">BOM</a>)이 사용됩니다. 이외의 경우에는 XUL 파일(<code>&lt;?xml?&gt;</code> 태그의 <code>encoding</code> 속성으로 지정 가능)과 같은 문자 인코딩을 사용합니다. XUL 파일의 기본 인코딩은 UTF-8이며, UTF-8은 사실상 세계의 모든 문자를 표현할 수 있습니다.</p>
-<p>스크립트 파일이 HTTP를 통해서 로드된다면 HTTP 헤더에 <code>Content-Type</code> 헤더의 일부로 캐릭터 인코딩이 포함될 수 있습니다. 예를 들면 이런 형식입니다.</p>
-<pre class="eval">Content-Type: application/x-javascript; charset=UTF-8
-</pre>
-<p>문자 집합(charset)이 지정되지 않으면 앞의 경우와 동일하게 캐릭터셋이 결정됩니다.</p>
-<h3 id=".EB.B2.84.EC.A0.84_.EA.B0.84_.ED.98.B8.ED.99.98.EC.84.B1" name=".EB.B2.84.EC.A0.84_.EA.B0.84_.ED.98.B8.ED.99.98.EC.84.B1">버전 간 호환성</h3>
-<p>Gecko 1.8과 이전 버전에서 동일한 코드를 사용하려고 한다면 ASCII 문자만을 사용해야 합니다. 그러나 <a href="ko/Core_JavaScript_1.5_Guide/Unicode#.EC.9C.A0.EB.8B.88.EC.BD.94.EB.93.9C_.EC.9D.B4.EC.8A.A4.EC.BC.80.EC.9D.B4.ED.94.84_.EC.8B.9C.ED.80.80.EC.8A.A4">유니코드 이스케이프</a>를 사용할 수는 있습니다. – 앞에서 나온 예제를 유니코드 이스케이프를 사용해서 표현하면 다음과 같습니다.</p>
-<pre class="eval">var text = "Ein sch\u00F6nes Beispiel eines mehrsprachigen Textes: \u65E5\u672C\u8A9E";
-</pre>
-<p>이 방법 대신 <a href="ko/NsIStringBundle">nsIStringBundle</a>이나 <a href="ko/XUL_Tutorial/Property_Files">XUL &lt;stringbundle&gt; 요소</a>를 통해 속성 파일(property files)을 사용할 수도 있습니다. 그렇게 하면 XUL을 지역화할 수 있습니다. 그러나 권한을 얻을 수 있는 코드 즉, <a href="ko/Extensions">확장 기능</a>의 코드에서만 가능하고, 웹으로 로드되는 XUL 파일에서는 사용할 수 없는 방법입니다.</p>
-<p></p>
diff --git a/files/ko/introduction_to_the_javascript_shell/index.html b/files/ko/introduction_to_the_javascript_shell/index.html
deleted file mode 100644
index 4368cb8c52..0000000000
--- a/files/ko/introduction_to_the_javascript_shell/index.html
+++ /dev/null
@@ -1,438 +0,0 @@
----
-title: Introduction to the JavaScript shell
-slug: Introduction_to_the_JavaScript_shell
-tags:
- - 스파이더몽키
-translation_of: Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell
----
-<p>{{SpiderMonkeySidebar("General")}}</p>
-
-<p>자바스트립트 셸(JavaScript shell)은 스파이더몽키에 포함된 커맨드라인 프로그램입니다. 이는 파이썬의 인터랙티브 프롬프트, Lisp read-eval-print 루프, 또는 루비의 <code>irb</code>와 같습니다. 이 문서는 셸을 이용해 자바스크립트 코드를 시험하고, 자바스크립트 프로그램을 실행하는 방법에 대해 소개합니다.</p>
-
-<p>스파이더몽키 자바스크립트 셸을 설치하기 위해서는 <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Build_Documentation">SpiderMonkey Build Documentation</a>를 참고하거나, <a class="external external-icon" href="https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/" title="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/">Nightly Builds</a>에서 사용 중인 플랫폼에 맞는 컴파일된 바이너리를 다운로드하세요.</p>
-
-<p>다른 자바스크립트 셸 리스트를 보고 싶다면 <a class="internal" href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells" title="En/JavaScript shells">JavaScript shells</a>를 참고하세요.</p>
-
-<h2 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.85.B8_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.85.B8_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0">자바스크립트 셸 설치하기</h2>
-
-<h3 id="CVS_.EC.84.9C.EB.B2.84.EC.97.90_.EC.A0.91.EC.86.8D.ED.95.A9.EC.8B.9C.EB.8B.A4" name="CVS_.EC.84.9C.EB.B2.84.EC.97.90_.EC.A0.91.EC.86.8D.ED.95.A9.EC.8B.9C.EB.8B.A4">CVS 서버에 접속합시다</h3>
-
-<p>CVS에서 다른 모질라와 관련된 프로젝트의 산물을 얻는 것과 마찬가지로 자바스크립트 셸을 사용하려면 먼저 CVS 서버에 로그인해야 합니다. cd 명령을 사용하여 코드를 체크아웃할 기본 디렉토리로 들어가, 다음과 같은 명령어를 명령행에 입력합니다.</p>
-
-<pre class="eval">cvs -d <a class="link-mailto" href="mailto::pserver:anonymous@cvs-mirror.mozilla.org" rel="freelink">:pserver:anonymous@cvs-mirror.mozilla.org</a>:/cvsroot login
-</pre>
-
-<p>프롬프트가 뜨면 패스워드를 입력합니다. anonymous 라고 입력하면 됩니다.</p>
-
-<h3 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.85.B8_.ED.8A.B8.EB.A0.81.ED.81.AC_.EB.B2.84.EC.A0.84_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.85.B8_.ED.8A.B8.EB.A0.81.ED.81.AC_.EB.B2.84.EC.A0.84_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0">자바스크립트 셸 트렁크 버전 설치하기</h3>
-
-<p>한번 CVS 서버에 로그인하였으면 필요한 파일을 받아와야 합니다. 트렁크란 CVS에서 중심이 되는 개발 흐름을 말합니다. 트렁크 버전을 다운로드 하기 위해 CVS 트리의 루트로 지정한 디렉토리로 들어가 다음과 같이 명령을 입력합니다.</p>
-
-<pre>cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -l mozilla/js/src mozilla/js/src/config mozilla/js/src/editline mozilla/js/src/fdlibm
-</pre>
-
-<p>자바스크립트 셸을 설치하는 데 필요한 모든 파일을 체크아웃하였습니다. 이제 다음과 같은 명령 두개만 입력하면 바로 설치할 수 있습니다:</p>
-
-<pre>cd mozilla/js/src
-make -f Makefile.ref
-</pre>
-
-<p>컴파일이 끝나면 우리가 설치한 디렉토리에 실행할 수 있는 파일인 js가 들어 있어야 합니다. 예를 들어 Mac OS X에서라면, 실행 파일은 Darwin_DBG.OBJ/js의 경로에 놓일 것입니다.</p>
-
-<p>이 상태에서 바로 <a href="#Using_the_JavaScript_shell">자바스크립트 셸 사용하기</a>를 실습해 볼 수도 있습니다.</p>
-
-<h3 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.85.B8_.EB.B8.8C.EB.9E.9C.EC.B9.98_.EB.B2.84.EC.A0.84_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.85.B8_.EB.B8.8C.EB.9E.9C.EC.B9.98_.EB.B2.84.EC.A0.84_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0">자바스크립트 셸 브랜치 버전 설치하기</h3>
-
-<p>간단히 설명하면 브랜치란 중심이 되는 개발 흐름에서 곁가지를 쳐 나온, 작은 부분에 대한 개발 흐름을 뜻합니다. 자바스크립트 셸의 실험적이고 독특한 브랜치 버전을 사용하기를 원한다면 파일을 체크아웃 할 때 <code>-r <em>branchname</em> </code>을 추가하는 것만으로도 바로 사용할 수 있습니다.</p>
-
-<p>설치 과정은 트렁크 버전과 같으나, 체크아웃을 할 때 cvs co... 행의 내용이 조금 바뀝니다.</p>
-
-<pre class="eval">cvs -d <a class="link-mailto" href="mailto::pserver:anonymous@cvs-mirror.mozilla.org" rel="freelink">:pserver:anonymous@cvs-mirror.mozilla.org</a>:/cvsroot co -l -r<em>branch_name</em> mozilla/js/src mozilla/js/src/config mozilla/js/src/editline mozilla/js/src/fdlibm
-</pre>
-
-<p><em>branch_name</em>을 체크아웃하기 원하는 브랜치 버전의 이름으로 변경하세요. 예를 들어 JavaScript 1.7 의 알파 브랜치인, JS_1_7_ALPHA_BRANCH로 변경할 수 있습니다.</p>
-
-<p>컴파일하는 방법은 앞서 설명한 방법과 같습니다.</p>
-
-<h2 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.85.B8_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.85.B8_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0">자바스크립트 셸 사용하기</h2>
-
-<p>자바스크립트 셸은 두가지 모드로 운영할 수 있습니다. 먼저 여러분은 여러분이 새로운 자바스크립트 코드를 테스트하기 위해 프롬프트에 직접 입력하고 결과를 바로 얻는, 인터랙티브 셸로 사용할 수도 있습니다. 혹은 자바스크립트 프로그램 파일을 명령행에 입력하여 실행할 수도 있습니다.</p>
-
-<div class="note"><strong>노트:</strong> 자바스크립트 셸은 자바스크립트 엔진을 위한 테스트 환경입니다. 그러므로 사용 가능한 함수나 옵션은 변경될 수 있습니다.</div>
-
-<h3 id=".EB.AA.85.EB.A0.B9.ED.96.89_.EC.98.B5.EC.85.98" name=".EB.AA.85.EB.A0.B9.ED.96.89_.EC.98.B5.EC.85.98">명령행 옵션</h3>
-
-<p>셸을 설정하고 사용하는 데 필요한 명령들입니다. 간단히 요약하면 다음과 같습니다.</p>
-
-<ul>
- <li><code>-b<em>branchlimit</em> </code>
-
- <ul>
- <li>최대 브랜치 개수를 정합니다.</li>
- </ul>
- </li>
- <li><code>-c<em>stackchunksize</em> </code>
- <ul>
- <li>스택 덩어리의 크기를 정합니다.</li>
- </ul>
- </li>
- <li><code>-C</code>
- <ul>
- <li>프로그램을 컴파일만 하고 실행은 하지 않습니다. 굳이 실행하지 않고도 문법 에러를 빠르게 확인할 때 사용할 수 있습니다.</li>
- </ul>
- </li>
- <li><code>-e<em>script</em> </code>
- <ul>
- <li>해당<em>script</em> 를 실행합니다. 해당 스크립트 안에는 실행할 수 있는 코드가 들어 있어야 합니다.</li>
- </ul>
- </li>
- <li><code>-f<em>filename</em> </code>
- <ul>
- <li><em>filename</em>에 해당하는 자바스크립트 프로그램을 실행합니다.</li>
- </ul>
- </li>
- <li><code>-i</code>
- <ul>
- <li>인터랙티브 모드를 활성화합니다.</li>
- </ul>
- </li>
- <li><code>-P</code>
- <ul>
- <li><em>이 문서의 저자도 아직 확실히 무슨 옵션인지 모르겠다는군요. :-)</em></li>
- </ul>
- </li>
- <li><code>-s</code>
- <ul>
- <li>정적 경고모드를 활성화합니다.</li>
- </ul>
- </li>
- <li><code>-S<em>stacksize</em> </code>
- <ul>
- <li>최대 스택 크기를 정합니다.</li>
- </ul>
- </li>
- <li><code>-v</code>
- <ul>
- <li>경고 정보를 봅니다.</li>
- </ul>
- </li>
- <li><code>-w</code>
- <ul>
- <li>경고 메시지 보기를 활성화합니다.</li>
- </ul>
- </li>
- <li><code>-W</code>
- <ul>
- <li>경고 메시지 보기를 불활성화합니다.</li>
- </ul>
- </li>
- <li><code>-x</code>
- <ul>
- <li>E4X XML 모드를 활성화합니다.</li>
- </ul>
- </li>
-</ul>
-
-<h3 id=".EC.85.B8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0" name=".EC.85.B8_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0">셸 실행하기</h3>
-
-<p>인터랙티브 모드로 셸을 실행하고 싶다면 다음과 같이 입력합니다.:</p>
-
-<pre class="eval">js
-</pre>
-
-<p>foo.js라는 파일을 불러 실행하고 싶다면 다음과 같이 입력합니다.:</p>
-
-<pre class="eval">js -f foo.js
-</pre>
-
-<p>foo.js를 실행하고 나서 인터랙티브 셸로 전환하고 싶다면 다음과 같이 할 수 있습니다:</p>
-
-<pre class="eval">js -f foo.js -f -
-</pre>
-
-<h4 id=".EC.9D.B8.ED.84.B0.EB.9E.99.ED.8B.B0.EB.B8.8C_.EB.AA.A8.EB.93.9C.EC.97.90.EC.84.9C_.EC.85.B8_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0" name=".EC.9D.B8.ED.84.B0.EB.9E.99.ED.8B.B0.EB.B8.8C_.EB.AA.A8.EB.93.9C.EC.97.90.EC.84.9C_.EC.85.B8_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0">인터랙티브 모드에서 셸 사용하기</h4>
-
-<p>인터랙티브 모드에서 당신은 손으로 직접 오브젝트와 함수들을 입력하여 자바스크립트를 실행하고 구문들을 테스트해 볼 수 있습니다. 이것은 우리의 아이디어를 시험해보기 편리한 방법이며, 자바스크립트 엔진을 사용하는 개발자들이 이 언어의 새로운 요소들을 시험해보는 중요한 장이기도 합니다.</p>
-
-<h3 id=".EB.B9.8C.ED.8A.B8-.EC.9D.B8_.ED.95.A8.EC.88.98" name=".EB.B9.8C.ED.8A.B8-.EC.9D.B8_.ED.95.A8.EC.88.98">빌트-인 함수</h3>
-
-<p>자바스크립트 셸을 더욱 유용하게 사용하기 위하여, 당신이 자바스크립트 프로그램이나 인터랙티브 모드에서 사용할 수 있는 함수들이 준비되어 있습니다.</p>
-
-<h4 id="build.28.29" name="build.28.29"><code>build()</code></h4>
-
-<p>자바스크립트 셸이 빌드된 시간과 날짜를 반환합니다.</p>
-
-<h4 id="clear.28.5Bobject.5D.29" name="clear.28.5Bobject.5D.29"><code>clear(<em>[object]</em> )</code></h4>
-
-<p><var>object</var>의 속성들을 비웁니다. 다른 옵션 없이 <code>clear()</code>라고만 실행하면 모든 속성이 초기화됩니다.</p>
-
-<div class="note"><strong>Note:</strong> 다른 옵션 없이 <code>clear()</code> 를 실행하면 정말로 모든 것이 지워집니다. 지금 설명하는 빌트-인 함수들도 포함해서 말이지요.</div>
-
-<h4 id="clone.28function.2C_.5Bscope.5D.29" name="clone.28function.2C_.5Bscope.5D.29"><code>clone(<em>function, [scope]</em> )</code></h4>
-
-<p>해당 <var>function</var>의 오브젝트들을 복제합니다. <var>scope</var>가 따로 정해지지 않았다면 새로운 오브젝트의 부모 요소는 기존의 것과 완전히 동일해집니다. 기존 함수에서 일부만을 떼어 복사하고 싶다면 <var>scope</var>로 범위를 지정해 주세요.</p>
-
-<h4 id="dis.28.5Bfunction.5D.29" name="dis.28.5Bfunction.5D.29"><code>dis(<em>[function]</em> )</code></h4>
-
-<p>다른 프로그램에 사용하거나 특별한 함수로 만들기 위해 자바스크립트를 바이트코드로 만드는(디스어셈블 하는) 함수입니다.</p>
-
-<p>예를 들어 다음과 같은 자바스크립트가 있다고 합시다.</p>
-
-<pre>function test() {
- var i = 3;
- print(i+2);
-}
-</pre>
-
-<p>dis(test);를 실행하면 다음과 같은 결과를 볼 수 있습니다:</p>
-
-<pre>main:
-00000: uint16 3
-00003: setvar 0
-00006: pop
-00007: name "print"
-00010: pushobj
-00011: getvar 0
-00014: uint16 2
-00017: add
-00018: call 1
-00021: pop
-00022: stop
-
-Source notes:
- 0: 0 [ 0] newline
- 1: 3 [ 3] var
- 2: 7 [ 4] newline
- 3: 18 [ 11] xdelta
- 4: 18 [ 0] pcbase offset 11
-</pre>
-
-<h4 id="dissrc.28.5Bfunction.5D.29" name="dissrc.28.5Bfunction.5D.29"><code>dissrc(<em>[function]</em> )</code></h4>
-
-<p>다른 프로그램에 사용하거나 특별한 함수로 만들기 위해 자바스크립트를 바이트코드로 만들고 소스를 보여주는 함수입니다. 이 함수는 파일에서 로딩된 함수에만 적용할 수 있으며, 셸에서 명령을 입력할 때에도 <code>-f</code> 옵션을 주거나 <code>load()</code> 함수를 사용해야 합니다.</p>
-
-<p>당신의 프로그램에 <code>doStuff()</code> 함수가 포함되어 있다고 가정합시다.</p>
-
-<pre>function doStuff(input) {
- print("Enter a number: ");
- var n1 = readline();
- print("Enter another one: ");
- var n2 = readline();
-
- print("You entered " + n1 + " and " + n2 + "\n");
-}
-</pre>
-
-<p>그러면 <code>dissrc(doStuff)</code> 함수를 실행한 결과를 보겠습니다.:</p>
-
-<pre>;------------------------- 10: print("Enter a number: ");
-00000: 10 name "print"
-00003: 10 pushobj
-00004: 10 string "Enter a number: "
-00007: 10 call 1
-00010: 10 pop
-;------------------------- 11: var n1 = readline();
-00011: 11 name "readline"
-00014: 11 pushobj
-00015: 11 call 0
-00018: 11 setvar 0
-00021: 11 pop
-;------------------------- 12: print("Enter another one: ");
-00022: 12 name "print"
-00025: 12 pushobj
-00026: 12 string "Enter another one: "
-00029: 12 call 1
-00032: 12 pop
-;------------------------- 13: var n2 = readline();
-00033: 13 name "readline"
-00036: 13 pushobj
-00037: 13 call 0
-00040: 13 setvar 1
-00043: 13 pop
-;------------------------- 14:
-;------------------------- 15: print("You entered " + n1 + " and " + n2 + "\n");
-00044: 15 name "print"
-00047: 15 pushobj
-00048: 15 string "You entered "
-00051: 15 getvar 0
-00054: 15 add
-00055: 15 string " and "
-00058: 15 add
-00059: 15 getvar 1
-00062: 15 add
-00063: 15 string "\\n"
-00066: 15 add
-00067: 15 call 1
-00070: 15 pop
-00071: 15 stop
-</pre>
-
-<h4 id="evalcx.28string.5B.2C_object.5D.29" name="evalcx.28string.5B.2C_object.5D.29"><code>evalcx(<em>string[, object]</em> )</code></h4>
-
-<p>Evaluates the JavaScript code in<em>string</em> . If<em>object</em> is specified, the code is executed in that object, treating it as a sandbox.</p>
-
-<p>If<em>string</em> is empty and<em>object</em> is not specified, <code>evalcx()</code> returns a new object with eager standard classes.</p>
-
-<p>If<em>string</em> is "lazy" and<em>object</em> is not specified, <code>evalcx()</code> returns a new object with lazy standard classes.</p>
-
-<div class="note"><strong>Note:</strong> <code>evalcx()</code> is only useful for people doing deep internal work on the JavaScript engine, for testing <code>evalInSandbox</code>-like environments in the shell.</div>
-
-<h4 id="gc.28.29" name="gc.28.29"><code>gc()</code></h4>
-
-<p>가비지 콜렉터를 실행하여 메모리를 깨끗이 비웁니다.</p>
-
-<h4 id="getpda.28object.29" name="getpda.28object.29"><code>getpda(<em>object</em> )</code></h4>
-
-<p>Returns the property descriptors for the specified<em>object</em> .</p>
-
-<h4 id="getslx.28object.29" name="getslx.28object.29"><code>getslx(<em>object</em> )</code></h4>
-
-<p>Returns the script line extent, which is the number of lines of code comprising the specified object.</p>
-
-<h4 id="help.28.5Bcommand_....5D.29" name="help.28.5Bcommand_....5D.29"><code>help(<em>[command ...]</em> )</code></h4>
-
-<p>Displays brief help information about the specified commands, or about all available functions if none are specified.</p>
-
-<h4 id="intern.28string.29" name="intern.28string.29"><code>intern(<em>string</em> )</code></h4>
-
-<p>Internalizes the specified <var>string</var> into the atom table. Every string has a unique identifier, called an atom. This system makes it easier to do comparisons between strings.</p>
-
-<div class="note"><strong>Note:</strong> This function is intended only for use when testing the JavaScript engine.</div>
-
-<h4 id="line2pc.28.5Bfunction.2C_.5D_line.29" name="line2pc.28.5Bfunction.2C_.5D_line.29"><code>line2pc(<em>[function, ] line</em> )</code></h4>
-
-<p>Returns the program counter value corresponding to the specified<em>line</em> of code. If<em>function</em> is specified,<em>line</em> is an offset into the specified function.</p>
-
-<h4 id="load.28filename1_.5Bfilename.5D.29" name="load.28filename1_.5Bfilename.5D.29"><code>load(<em>filename1</em><em>[filename]</em> )</code></h4>
-
-<p>Loads the files with the specified names.</p>
-
-<h4 id="notes.28.5Bfunction.5D.29" name="notes.28.5Bfunction.5D.29"><code>notes(<em>[function]</em> )</code></h4>
-
-<p>Shows the source notes for the specified function. Source notes contain information that map the bytecode to the source code, which is used when decompiling the code, such as when using the <code>dissrc()</code> function.</p>
-
-<h4 id="options.28.5Boption_....5D.29" name="options.28.5Boption_....5D.29"><code>options(<em>[option ...]</em> )</code></h4>
-
-<p>Lets you set or get options. If you specified options on the command line, the results of calling <code>options</code> will indicate which options you requested. You can also pass in new options to set.</p>
-
-<p>If you start the shell with the command js -x, then the <code>options()</code> function will return xml. If you start the shell with no options, and decide you want to enable XML mode, you can do so by issuing the command:</p>
-
-<pre class="eval">options('xml');
-</pre>
-
-<p>The available options are:</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">Option Name</td>
- <td class="header">Description</td>
- </tr>
- <tr>
- <td><code>strict</code></td>
- <td>Strict 모드를 활성화합니다.</td>
- </tr>
- <tr>
- <td><code>werror</code></td>
- <td>경고를 에러로 속여 출력합니다.</td>
- </tr>
- <tr>
- <td><code>atline</code></td>
- <td>When <code>atline</code> is enabled, comments of the form <code>//@line<em>num</em> </code> set the number of the following line to <code><em>num</em> </code>.</td>
- </tr>
- <tr>
- <td><code>xml</code></td>
- <td>XML 모드를 활성화합니다.</td>
- </tr>
- </tbody>
-</table>
-
-<h4 id="pc2line.28function.2C_.5Bpc.5D.29" name="pc2line.28function.2C_.5Bpc.5D.29"><code>pc2line(<em>function, [pc]</em> )</code></h4>
-
-<p>Returns the line number of the JavaScript code that corresponds to the first line of the specified<em>function</em> . If you specify a program counter offset into the function, the line number of the line of code containing that offset is returned.</p>
-
-<h4 id="print.28.5Bexpression_....5D.29" name="print.28.5Bexpression_....5D.29"><code>print(<em>[expression ...]</em> )</code></h4>
-
-<p>문자열이면 문자열, 식이면 식으로<em>expression</em> 의 값을 구하여 그 결과를 stdout 으로 출력합니다.</p>
-
-<h4 id="quit.28.29" name="quit.28.29"><code>quit()</code></h4>
-
-<p>셸에서 빠져나옵니다.</p>
-
-<h4 id="readline.28.29" name="readline.28.29"><code>readline()</code></h4>
-
-<p>표준 입력으로 읽어들여 호출자에게 되돌려줍니다. 이 함수를 사용하여 자바스크립트에서 인터랙티브 셸 프로그램을 만들 수 있습니다.</p>
-
-<h4 id="seal.28object.5B.2C_deep.5D.29" name="seal.28object.5B.2C_deep.5D.29"><code>seal(<em>object[, deep]</em> )</code></h4>
-
-<p>Seals the specified<em>object</em> , or an object graph if<em>deep</em> is <code>true</code>. By sealing an object or object graph, you disable modification of those objects.</p>
-
-<h4 id="stats.28.5Bstring_....5D.29" name="stats.28.5Bstring_....5D.29"><code>stats(<em>[string ...]</em> )</code></h4>
-
-<p>Dumps statistics. Valid options are<em>arena</em> ,<em>atom</em> , and<em>global</em> .</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">Option</td>
- <td class="header">Description</td>
- </tr>
- <tr>
- <td><code>arena</code></td>
- <td>Outputs the arena table.</td>
- </tr>
- <tr>
- <td><code>atom</code></td>
- <td>Outputs the atom table.</td>
- </tr>
- <tr>
- <td><code>global</code></td>
- <td>Outputs the global name table.</td>
- </tr>
- </tbody>
-</table>
-
-<p>An<em>arena</em> is a large block of memory from which the JavaScript engine allocates sub-blocks in order to optimize performance; issuing a large number of <code>malloc()</code> calls for each individual block is inefficient, so the engine creates arenas, then uses an internal memory management system to allocate memory from within those. The arena table is a list of all the arenas that have been allocated by the shell. <code>stats("arena")</code> lets you inspect the arena table so that you can see how a test case uses arenas.</p>
-
-<p>An<em>atom</em> is a unique identifier for a string. In order to optimize comparisons between strings, each string is given an atom. These atoms are stored in a hash table, which you can display using the command <code>stats("atom")</code>.</p>
-
-<p><code>stats("global")</code> displays the global name table, which contains the names and information about each object in memory.</p>
-
-<h4 id="stringsAreUtf8.28.29" name="stringsAreUtf8.28.29"><code>stringsAreUtf8()</code></h4>
-
-<p>문자열이 UTF8 형식으로 인코드 되어있을 경우 <code>true</code>를, 그 외의 경우 <code>false</code>를 반환합니다.</p>
-
-<h4 id="testUtf8.28mode.29" name="testUtf8.28mode.29"><code>testUtf8(<em>mode</em> )</code></h4>
-
-<p>UTF-8이 제대로 동작하는지 1에서 4까지의 정수 변수를 입력하여 테스트합니다. 이것은 UTF-8 문자열이 제대로 처리되는지 확인하는 간단한 디버깅 명령으로, 일반적으로는 이 명령을 사용하여 따로 확인하기보다는 자바스크립트 엔진에서 직접 작업하며 확인하는 것이 빠릅니다.</p>
-
-<h4 id="throwError.28.29" name="throwError.28.29"><code>throwError()</code></h4>
-
-<p><code>JS_ReportError()</code> 함수에서 에러를 받아 지정된 방식으로 처리합니다.</p>
-
-<div class="note"><strong>Note:</strong> 이 함수는 자바스크립트 엔진을 시험하는 목적으로만 사용하세요.</div>
-
-<h4 id="tracing.28.5Btoggle.5D.29" name="tracing.28.5Btoggle.5D.29"><code>tracing(<em>[toggle]</em> )</code></h4>
-
-<p><code>true</code> 혹은 <code>false</code>로 지정하여 트레이스 모드를 켜거나 끌 때 사용합니다. 따로 설정한 것이 없다면 <code>tracing()</code> 함수는 일반적인 설정사항을 반환할 것입니다.</p>
-
-<div class="note"><strong>Tip:</strong> 이 함수는 자바스크립트를 <code> JS_THREADED_INTERP</code>로 빌드했을 때만 사용할 수 있습니다. 이 옵션은 jsinterp.c에서 지정할 수 있습니다.</div>
-
-<h4 id="trap.28.5Bfunction.2C_.5Bpc.2C.5D.5D_expression.29" name="trap.28.5Bfunction.2C_.5Bpc.2C.5D.5D_expression.29"><code>trap(<em>[function, [pc,]] expression</em> )</code></h4>
-
-<p>자바스크립트 코드의 지정된 위치에 트랩을 설정합니다. 해당<em>function</em> 의<em>pc</em> 오프셋에<em>expression</em> 에 해당하는 바이트 코드를 집어넣을 수 있습니다.</p>
-
-<p><code>line2pc()</code>와 함께 사용하면 강력한 디버깅 방법이 됩니다 예를 들어 원래는 <code>doSomething()</code>을 사용하는 함수의 6번째 줄을 실행할 때 메시지를 출력하고 싶다면 다음과 같이 사용할 수 있습니다.</p>
-
-<pre>trap(doSomething, line2pc(test, 6), "print('line 6!\n')");
-</pre>
-
-<div class="note"><strong>Note:</strong> 트랩이 설정된 동안 프로그램 내의 해당 바이트 코드는 <code>untrap()</code>을 사용하여 트랩을 해제할 때 까지 <code>trap</code> 바이트 코드로 대체됩니다.</div>
-
-<h4 id="untrap.28function_.5B.2C_pc.5D.29" name="untrap.28function_.5B.2C_pc.5D.29"><code>untrap(<em>function [, pc]</em> )</code></h4>
-
-<p>지정된<em>function</em> 의<em>pc</em> 오프셋에서 트랩을 삭제합니다.<em>pc</em> 가 지정되지 않았다면 해당 함수수에 접근할 때 걸리는 트랩을 삭제하게 됩니다. 이 함수는 트랩이 지정되지 않았을 경우에는 아무 동작도 하지 않습니다.</p>
-
-<h4 id="version.28.5Bnumber.5D.29" name="version.28.5Bnumber.5D.29"><code>version(<em>[number]</em> )</code></h4>
-
-<p><code>version()</code> 함수는 자바스크립트 버전을 반환합니다. 그다지 쓸 일이 있는 함수는 아니지요.</p>
diff --git a/files/ko/javascript_code_modules/using_javascript_code_modules/index.html b/files/ko/javascript_code_modules/using_javascript_code_modules/index.html
deleted file mode 100644
index a223db02bf..0000000000
--- a/files/ko/javascript_code_modules/using_javascript_code_modules/index.html
+++ /dev/null
@@ -1,144 +0,0 @@
----
-title: JavaScript 코드 모듈 사용하기
-slug: JavaScript_code_modules/Using_JavaScript_code_modules
-translation_of: Mozilla/JavaScript_code_modules/Using
----
-<p>{{ Fx_minversion_header(3) }}</p>
-
-<p>JavaScript code modules are a concept introduced in Firefox 3 (Gecko 1.9) and can be used for sharing code between different privileged scopes. Modules can also be used to create global JavaScript singletons that previously required using JavaScript XPCOM objects. A JavaScript code module is simply some JavaScript code located in registered location. The module is loaded into a specific JavaScript scope, such as XUL script or JavaScript XPCOM script, using <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a>.<br>
- <br>
- JavaScript 코드 모듈은 Firefox 3 (Gecko 1.9)부터 도입된 개념이며 서로 다른 권한이 부여된 유효 범위들 간에 코드를 공유하는데 사용될 수 있습니다. 모듈은 전역 JavaScript XPCOM 객체를 사용 해야만 만들 수 있었던 전역 JavaScript 싱글톤(singleton)을 생성하는데도 사용할 수 있습니다. JavaScript 코드 모듈은 간단히 말하자면 등록된 위치에 존재하는 몇 개의 JavaScript 코드라고 할 수 있습니다. 모듈은 특정 JavaScript 유효 범위 안에서 불러올 수 있습니다. 즉, XUL 스크립트 또는 JavaScript XPCOM 스크립트에 <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a>를 사용해서 불러오면 됩니다.</p>
-
-<p>A very simple JavaScript module looks like this:<br>
- <br>
- JavaScript 모듈의 아주 간단한 예는 다음과 같습니다:</p>
-
-<pre class="brush: js notranslate">var EXPORTED_SYMBOLS = ["foo", "bar"];
-
-function foo() {
- return "foo";
-}
-
-var bar = {
- name : "bar",
- size : "3"
-};
-
-var dummy = "dummy";
-</pre>
-
-<p>Notice that the module uses normal JavaScript to create functions, objects, constants and any other JavaScript type. The module also defines a special Array named <code>EXPORTED_SYMBOLS</code>. Any JavaScript item named in <code>EXPORTED_SYMBOLS</code> will be exported from the module and injected into the importing scope. For example:<br>
- <br>
- 함수, 객체, 상수 그리고 기타 JavaScript 타입을 생성하기 위해 모듈이 보통의 JavaScript를 사용함을 주목해주십시오. 또한 모듈은 <code>EXPORTED_SYMBOLS 이라는 </code>특수한 배열을 정의합니다. <code>EXPORTED_SYMBOLS</code> 이름이 붙여진 어떤 JavaScript 항목이라도 모듈에서 내보내져서 가져오기로 다시 유효 범위 안에 주입될 수 있습니다. 예를 들자면 다음과 같습니다:</p>
-
-<pre class="brush: js notranslate">Components.utils.import("resource://app/my_module.jsm");
-
-alert(foo()); // displays "foo"
-alert(bar.size + 3); // displays "6"
-alert(dummy); // displays "dummy is not defined" because 'dummy' was not exported from the module
-</pre>
-
-<p>An extremely important behavior of <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a> is that modules are cached when loaded and subsequent imports do not reload a new version of the module, but instead use the previously cached version. This means that a given module will be shared when imported multiple times. Any modifications to data, objects or functions will be available in any scope that has imported the module. For example, if the simple module were imported into two different JavaScript scopes, changes in one scope can be observed in the other scope.<br>
- <br>
- <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a>의 대단히 중요한 동작 특성으로서 염두 해두셔야 할 점은 모듈은 캐쉬되기 때문에 이후에 다시 가져오기 하더라도 모듈의 새로운 버전이 다시 가져오기 되지않고 기존에 캐쉬된 버전을 대신 사용 한다는 것입니다. 이 의미는 주어진 모듈은 여러 번 가져오기를 시도해도 한 번만 가져와서 해당 모듈을 공유하게 된다는 것입니다. 데이터, 객체 또는 함수의 변경점은 해당 모듈을 가져오기 한 모든 유효 범위에서 사용 가능하게 됩니다. 예를 들어, 만약 어떤 모듈이 두 개의 서로 다른 JavaScript 유효 범위에서 가져오기 되었다면, 한 유효 범위에서 일어난 변경이 다른 유효 범위에도 영향을 미쳐 해당 변경 사항을 볼 수 있게 됩니다.</p>
-
-<p>유효 범위 1:</p>
-
-<pre class="brush: js notranslate">Components.utils.import("resource://app/my_module.jsm");
-
-alert(bar.size + 3); // displays "6"
-
-bar.size = 10;
-</pre>
-
-<p>유효 범위 2:</p>
-
-<pre class="brush: js notranslate">Components.utils.import("resource://app/my_module.jsm");
-
-alert(foo()); // displays "foo"
-alert(bar.size + 3); // displays "13"
-</pre>
-
-<p>This sharing behavior can be used to create singleton objects that can share data across windows and between XUL script and XPCOM components.<br>
- <br>
- 이와 같이 공유하는 특성은 싱글톤 객체, 즉 창들 간의 데이터 공유나 XUL 스크립트와 XPCOM 컴포넌트 사이의 데이터 공유를 가능하게 하는 객체를 생성하는데 사용될 수 있습니다.</p>
-
-<p>{{ Note("Each scope which imports a module receives a by-value copy of the exported symbols in that module. Changes to the symbol\'s value will not propagate to other scopes.") }}</p>
-
-<p>Scope 1:</p>
-
-<pre class="brush: js notranslate">Components.utils.import("resource://app/my_module.jsm");
-
-bar = "foo";
-alert(bar); // displays "foo"
-</pre>
-
-<p>Scope 2:</p>
-
-<pre class="brush: js notranslate">Components.utils.import("resource://app/my_module.jsm");
-
-alert(bar); // displays "[object Object]"
-</pre>
-
-<p>The main effect of the by-value copy is global variables of simple types won't be shared across scopes. Always put variables in a wrapper class and export the wrapper (such as <code>bar</code> in the above example).</p>
-
-<h3 id="resource_Protocol" name="resource:_Protocol">resource URL</h3>
-
-<p>When using <a href="/en/Components.utils.import" title="en/Components.utils.import">Components.utils.import</a>, you will notice that code modules are loaded using a "resource://" URL. The basic syntax of a resource URL is as follows:</p>
-
-<pre class="eval notranslate">resource://&lt;alias&gt;/&lt;relative-path&gt;/&lt;file.js|jsm&gt;
-</pre>
-
-<p>The <code>&lt;alias&gt;</code> is an alias to a location, usually a physical location relative to the application or XUL runtime. There are several pre-defined aliases setup by the XUL runtime:</p>
-
-<ul>
- <li><code>app</code> - Alias to the location of the XUL application.</li>
- <li><code>gre</code> - Alias to the location of the XUL runtime.</li>
-</ul>
-
-<p>The <code>&lt;relative-path&gt;</code> can be multiple levels deep and is always relative to the location defined by the <code>&lt;alias&gt;</code>. The common relative path is "modules" and is used by XUL Runner and Firefox. Code modules are simple JavaScript files with a .js or .jsm extension.</p>
-
-<p>The easiest way for extensions and XUL applications to add custom aliases is by registering an alias in the <a href="/en/Chrome_Registration" title="en/Chrome_Registration">chrome manifest</a> using a line like this:</p>
-
-<pre class="eval notranslate">resource <em>aliasname</em> <em>uri/to/files/</em>
-</pre>
-
-<p>For example, if the XPI for your <em>foo</em> extension includes a top-level modules/ directory containing the <em>bar.js</em> module (that is, the modules/ directory is a sibling to chrome.manifest and install.rdf), you could create an alias to that directory via the instruction:</p>
-
-<pre class="eval notranslate">resource foo modules/
-</pre>
-
-<p>(Don't forget the trailing slash!) You could then import the module into your JavaScript code via the statement:</p>
-
-<pre class="brush: js notranslate">Components.utils.import("<a class="external" rel="freelink">resource://foo/bar.js</a>");
-</pre>
-
-<h2 id="Programmatically_adding_aliases" name="Programmatically_adding_aliases">Programmatically adding aliases</h2>
-
-<p>Custom aliases can be programmatically added to the resource URL as well. For example:</p>
-
-<pre class="brush: js notranslate">var ioService = Components.classes["@mozilla.org/network/io-service;1"]
- .getService(Components.interfaces.nsIIOService);
-var resProt = ioService.getProtocolHandler("resource")
- .QueryInterface(Components.interfaces.nsIResProtocolHandler);
-
-var aliasFile = Components.classes["@mozilla.org/file/local;1"]
- .createInstance(Components.interfaces.nsILocalFile);
-aliasFile.initWithPath("/some/absolute/path");
-
-var aliasURI = ioService.newFileURI(aliasFile);
-resProt.setSubstitution("myalias", aliasURI);
-
-// assuming the code modules are in the alias folder itself, not a s
-</pre>
-
-<h2 id="See_also" name="See_also">See also</h2>
-
-<ul>
- <li><a class="external" href="http://wiki.mozilla.org/Labs/JS_Modules">Mozilla Labs JS Modules</a> - This page features a list of JS modules, along with download links and documentation, that extension developers can use in their code.</li>
- <li><a href="/En/Code_snippets/Modules" title="En/Code_snippets/Modules">Code snippets: Modules</a></li>
-</ul>
-
-
-
-<p>{{ languages( { "es": "es/Usando_m\u00f3dulos_de_c\u00f3digo_JavaScript", "fr": "fr/Utilisation_de_modules_de_code_JavaScript", "ja": "ja/Using_JavaScript_code_modules", "pl": "pl/Zastosowanie_modu\u0142\u00f3w_JavaScript" } ) }}</p>
diff --git a/files/ko/jsapi_reference/index.html b/files/ko/jsapi_reference/index.html
deleted file mode 100644
index 9f325e217c..0000000000
--- a/files/ko/jsapi_reference/index.html
+++ /dev/null
@@ -1,268 +0,0 @@
----
-title: JSAPI Reference
-slug: JSAPI_Reference
-tags:
- - JSAPI_Reference
- - SpiderMonkey
-translation_of: Mozilla/Projects/SpiderMonkey/JSAPI_reference
----
-<p><a href="ko/JSAPI_Reference/Alphabetical_List">알파벳순 목록</a></p>
-<h3 id=".EC.9E.90.EB.A3.8C_.EA.B5.AC.EC.A1.B0" name=".EC.9E.90.EB.A3.8C_.EA.B5.AC.EC.A1.B0">자료 구조</h3>
-<ul>
- <li><a href="ko/JSClass">JSClass</a></li>
- <li><a href="ko/JSConstDoubleSpec">JSConstDoubleSpec</a></li>
- <li><a href="ko/JSErrorReport">JSErrorReport</a></li>
- <li><a href="ko/JSFunctionSpec">JSFunctionSpec</a></li>
- <li><a href="ko/JSIdArray">JSIdArray</a></li>
- <li><a href="ko/JSObjectOps">JSObjectOps</a></li>
- <li><a href="ko/JSPrincipals">JSPrincipals</a></li>
- <li><a href="ko/JSProperty">JSProperty</a></li>
- <li><a href="ko/JSPropertySpec">JSPropertySpec</a></li>
-</ul>
-<h3 id=".ED.95.A8.EC.88.98" name=".ED.95.A8.EC.88.98">함수</h3>
-<ul>
- <li><a href="ko/JS_AddArgumentFormatter">JS_AddArgumentFormatter</a></li>
- <li><a href="ko/JS_AddNamedRoot">JS_AddNamedRoot</a></li>
- <li><a href="ko/JS_AddRoot">JS_AddRoot</a></li>
- <li><a href="ko/JS_AliasElement">JS_AliasElement</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_AliasProperty">JS_AliasProperty</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_BeginRequest">JS_BeginRequest</a></li>
- <li><a href="ko/JS_CallFunction">JS_CallFunction</a></li>
- <li><a href="ko/JS_CallFunctionName">JS_CallFunctionName</a></li>
- <li><a href="ko/JS_CallFunctionValue">JS_CallFunctionValue</a></li>
- <li><a href="ko/JS_CheckAccess">JS_CheckAccess</a></li>
- <li><a href="ko/JS_ClearContextThread">JS_ClearContextThread</a></li>
- <li><a href="ko/JS_ClearPendingException">JS_ClearPendingException</a></li>
- <li><a href="ko/JS_ClearScope">JS_ClearScope</a></li>
- <li><a href="ko/JS_CloneFunctionObject">JS_CloneFunctionObject</a></li>
- <li><a href="ko/JS_CompareStrings">JS_CompareStrings</a></li>
- <li><a href="ko/JS_CompileFile">JS_CompileFile</a></li>
- <li><a href="ko/JS_CompileFileHandleForPrincipals">JS_CompileFileHandleForPrincipals</a></li>
- <li><a href="ko/JS_CompileFunction">JS_CompileFunction</a></li>
- <li><a href="ko/JS_CompileFunctionForPrincipals">JS_CompileFunctionForPrincipals</a></li>
- <li><a href="ko/JS_CompileScript">JS_CompileScript</a></li>
- <li><a href="ko/JS_CompileScriptForPrincipals">JS_CompileScriptForPrincipals</a></li>
- <li><a href="ko/JS_CompileUCFunction">JS_CompileUCFunction</a></li>
- <li><a href="ko/JS_CompileUCFunctionForPrincipals">JS_CompileUCFunctionForPrincipals</a></li>
- <li><a href="ko/JS_CompileUCScript">JS_CompileUCScript</a></li>
- <li><a href="ko/JS_CompileUCScriptForPrincipals">JS_CompileUCScriptForPrincipals</a></li>
- <li><a href="ko/JS_ConstructObject">JS_ConstructObject</a></li>
- <li><a href="ko/JS_ContextIterator">JS_ContextIterator</a></li>
- <li><a href="ko/JS_ConvertArguments">JS_ConvertArguments</a></li>
- <li><a href="ko/JS_ConvertStub">JS_ConvertStub</a></li>
- <li><a href="ko/JS_ConvertValue">JS_ConvertValue</a></li>
- <li><a href="ko/JS_DecompileFunction">JS_DecompileFunction</a></li>
- <li><a href="ko/JS_DecompileFunctionBody">JS_DecompileFunctionBody</a></li>
- <li><a href="ko/JS_DecompileScript">JS_DecompileScript</a></li>
- <li><a href="ko/JS_DefineConstDoubles">JS_DefineConstDoubles</a></li>
- <li><a href="ko/JS_DefineElement">JS_DefineElement</a></li>
- <li><a href="ko/JS_DefineFunction">JS_DefineFunction</a></li>
- <li><a href="ko/JS_DefineFunctions">JS_DefineFunctions</a></li>
- <li><a href="ko/JS_DefineObject">JS_DefineObject</a></li>
- <li><a href="ko/JS_DefineProperties">JS_DefineProperties</a></li>
- <li><a href="ko/JS_DefineProperty">JS_DefineProperty</a></li>
- <li><a href="ko/JS_DefinePropertyWithTinyId">JS_DefinePropertyWithTinyId</a></li>
- <li><a href="ko/JS_DefineUCProperty">JS_DefineUCProperty</a></li>
- <li><a href="ko/JS_DefineUCPropertyWithTinyID">JS_DefineUCPropertyWithTinyID</a></li>
- <li><a href="ko/JS_DeleteElement">JS_DeleteElement</a></li>
- <li><a href="ko/JS_DeleteElement2">JS_DeleteElement2</a></li>
- <li><a href="ko/JS_DeleteProperty">JS_DeleteProperty</a></li>
- <li><a href="ko/JS_DeleteProperty2">JS_DeleteProperty2</a></li>
- <li><a href="ko/JS_DeleteUCProperty2">JS_DeleteUCProperty2</a></li>
- <li><a href="ko/JS_DestroyContext">JS_DestroyContext</a></li>
- <li><a href="ko/JS_DestroyIdArray">JS_DestroyIdArray</a></li>
- <li><a href="ko/JS_DestroyRuntime">JS_DestroyRuntime</a></li>
- <li><a href="ko/JS_DestroyScript">JS_DestroyScript</a></li>
- <li><a href="ko/JS_DumpNamedRoots">JS_DumpNamedRoots</a></li>
- <li><a href="ko/JS_EndRequest">JS_EndRequest</a></li>
- <li><a href="ko/JS_Enumerate">JS_Enumerate</a></li>
- <li><a href="ko/JS_EnumerateStub">JS_EnumerateStub</a></li>
- <li><a href="ko/JS_EvaluateScript">JS_EvaluateScript</a></li>
- <li><a href="ko/JS_EvaluateScriptForPrincipals">JS_EvaluateScriptForPrincipals</a></li>
- <li><a href="ko/JS_EvaluateUCScript">JS_EvaluateUCScript</a></li>
- <li><a href="ko/JS_EvaluateUCScriptForPrincipals">JS_EvaluateUCScriptForPrincipals</a></li>
- <li><a href="ko/JS_ExecuteScript">JS_ExecuteScript</a></li>
- <li><a href="ko/JS_FinalizeStub">JS_FinalizeStub</a></li>
- <li><a href="ko/JS_Finish">JS_Finish</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_GC">JS_GC</a></li>
- <li><a href="ko/JS_GetArrayLength">JS_GetArrayLength</a></li>
- <li><a href="ko/JS_GetClass">JS_GetClass</a></li>
- <li><a href="ko/JS_GetConstructor">JS_GetConstructor</a></li>
- <li><a href="ko/JS_GetContextPrivate">JS_GetContextPrivate</a></li>
- <li><a href="ko/JS_GetContextThread">JS_GetContextThread</a></li>
- <li><a href="ko/JS_GetElement">JS_GetElement</a></li>
- <li><a href="ko/JS_GetEmptyStringValue">JS_GetEmptyStringValue</a></li>
- <li><a href="ko/JS_GetFunctionName">JS_GetFunctionName</a></li>
- <li><a href="ko/JS_GetFunctionObject">JS_GetFunctionObject</a></li>
- <li><a href="ko/JS_GetGlobalObject">JS_GetGlobalObject</a></li>
- <li><a href="ko/JS_GetImplementationVersion">JS_GetImplementationVersion</a></li>
- <li><a href="ko/JS_GetInstancePrivate">JS_GetInstancePrivate</a></li>
- <li><a href="ko/JS_GetNaNValue">JS_GetNaNValue</a></li>
- <li><a href="ko/JS_GetNegativeInfinityValue">JS_GetNegativeInfinityValue</a></li>
- <li><a href="ko/JS_GetParent">JS_GetParent</a></li>
- <li><a href="ko/JS_GetPendingException">JS_GetPendingException</a></li>
- <li><a href="ko/JS_GetPositiveInfinityValue">JS_GetPositiveInfinityValue</a></li>
- <li><a href="ko/JS_GetPrivate">JS_GetPrivate</a></li>
- <li><a href="ko/JS_GetProperty">JS_GetProperty</a></li>
- <li><a href="ko/JS_GetPropertyAttributes">JS_GetPropertyAttributes</a></li>
- <li><a href="ko/JS_GetPrototype">JS_GetPrototype</a></li>
- <li><a href="ko/JS_GetRuntime">JS_GetRuntime</a></li>
- <li><a href="ko/JS_GetScopeChain">JS_GetScopeChain</a></li>
- <li><a href="ko/JS_GetStringBytes">JS_GetStringBytes</a></li>
- <li><a href="ko/JS_GetStringChars">JS_GetStringChars</a></li>
- <li><a href="ko/JS_GetStringLength">JS_GetStringLength</a></li>
- <li><a href="ko/JS_GetTypeName">JS_GetTypeName</a></li>
- <li><a href="ko/JS_GetUCProperty">JS_GetUCProperty</a></li>
- <li><a href="ko/JS_GetVersion">JS_GetVersion</a></li>
- <li><a href="ko/JS_HasArrayLength">JS_HasArrayLength</a></li>
- <li><a href="ko/JS_IdToValue">JS_IdToValue</a></li>
- <li><a href="ko/JS_Init">JS_Init</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_InitClass">JS_InitClass</a></li>
- <li><a href="ko/JS_InitStandardClasses">JS_InitStandardClasses</a></li>
- <li><a href="ko/JS_InstanceOf">JS_InstanceOf</a></li>
- <li><a href="ko/JS_InternString">JS_InternString</a></li>
- <li><a href="ko/JS_InternUCString">JS_InternUCString</a></li>
- <li><a href="ko/JS_InternUCStringN">JS_InternUCStringN</a></li>
- <li><a href="ko/JS_IsArrayObject">JS_IsArrayObject</a></li>
- <li><a href="ko/JS_IsConstructing">JS_IsConstructing</a></li>
- <li><a href="ko/JS_IsExceptionPending">JS_IsExceptionPending</a></li>
- <li><a href="ko/JS_IsRunning">JS_IsRunning</a></li>
- <li><a href="ko/JS_Lock">JS_Lock</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_LockGCThing">JS_LockGCThing</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_LookupElement">JS_LookupElement</a></li>
- <li><a href="ko/JS_LookupProperty">JS_LookupProperty</a></li>
- <li><a href="ko/JS_LookupUCProperty">JS_LookupUCProperty</a></li>
- <li><a href="ko/JS_MaybeGC">JS_MaybeGC</a></li>
- <li><a href="ko/JS_NewArrayObject">JS_NewArrayObject</a></li>
- <li><a href="ko/JS_NewContext">JS_NewContext</a></li>
- <li><a href="ko/JS_NewDouble">JS_NewDouble</a></li>
- <li><a href="ko/JS_NewDoubleValue">JS_NewDoubleValue</a></li>
- <li><a href="ko/JS_NewFunction">JS_NewFunction</a></li>
- <li><a href="ko/JS_NewIdArray">JS_NewIdArray</a></li>
- <li><a href="ko/JS_NewNumberValue">JS_NewNumberValue</a></li>
- <li><a href="ko/JS_NewObject">JS_NewObject</a></li>
- <li><a href="ko/JS_NewRuntime">JS_NewRuntime</a></li>
- <li><a href="ko/JS_NewScriptObject">JS_NewScriptObject</a></li>
- <li><a href="ko/JS_NewString">JS_NewString</a></li>
- <li><a href="ko/JS_NewStringCopyN">JS_NewStringCopyN</a></li>
- <li><a href="ko/JS_NewStringCopyZ">JS_NewStringCopyZ</a></li>
- <li><a href="ko/JS_NewUCString">JS_NewUCString</a></li>
- <li><a href="ko/JS_NewUCStringCopyN">JS_NewUCStringCopyN</a></li>
- <li><a href="ko/JS_NewUCStringCopyZ">JS_NewUCStringCopyZ</a></li>
- <li><a href="ko/JS_ObjectIsFunction">JS_ObjectIsFunction</a></li>
- <li><a href="ko/JS_PopArguments">JS_PopArguments</a></li>
- <li><a href="ko/JS_PropertyStub">JS_PropertyStub</a></li>
- <li><a href="ko/JS_PushArguments">JS_PushArguments</a></li>
- <li><a href="ko/JS_RemoveArgumentFormatter">JS_RemoveArgumentFormatter</a></li>
- <li><a href="ko/JS_RemoveRoot">JS_RemoveRoot</a></li>
- <li><a href="ko/JS_ReportError">JS_ReportError</a></li>
- <li><a href="ko/JS_ReportOutOfMemory">JS_ReportOutOfMemory</a></li>
- <li><a href="ko/JS_ReportPendingException">JS_ReportPendingException</a></li>
- <li><a href="ko/JS_ResolveStub">JS_ResolveStub</a></li>
- <li><a href="ko/JS_ResumeRequest">JS_ResumeRequest</a></li>
- <li><a href="ko/JS_SealObject">JS_SealObject</a></li>
- <li><a href="ko/JS_SetArrayLength">JS_SetArrayLength</a></li>
- <li><a href="ko/JS_SetBranchCallback">JS_SetBranchCallback</a></li>
- <li><a href="ko/JS_SetContextPrivate">JS_SetContextPrivate</a></li>
- <li><a href="ko/JS_SetContextThread">JS_SetContextThread</a></li>
- <li><a href="ko/JS_SetElement">JS_SetElement</a></li>
- <li><a href="ko/JS_SetErrorReporter">JS_SetErrorReporter</a></li>
- <li><a href="ko/JS_SetGCCallback">JS_SetGCCallback</a></li>
- <li><a href="ko/JS_SetGlobalObject">JS_SetGlobalObject</a></li>
- <li><a href="ko/JS_SetParent">JS_SetParent</a></li>
- <li><a href="ko/JS_SetPendingException">JS_SetPendingException</a></li>
- <li><a href="ko/JS_SetPrivate">JS_SetPrivate</a></li>
- <li><a href="ko/JS_SetProperty">JS_SetProperty</a></li>
- <li><a href="ko/JS_SetPropertyAttributes">JS_SetPropertyAttributes</a></li>
- <li><a href="ko/JS_SetPrototype">JS_SetPrototype</a></li>
- <li><a href="ko/JS_SetUCProperty">JS_SetUCProperty</a></li>
- <li><a href="ko/JS_SetVersion">JS_SetVersion</a></li>
- <li><a href="ko/JS_SuspendRequest">JS_SuspendRequest</a></li>
- <li><a href="ko/JS_TypeOfValue">JS_TypeOfValue</a></li>
- <li><a href="ko/JS_Unlock">JS_Unlock</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_UnlockGCThing">JS_UnlockGCThing</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_ValueToBoolean">JS_ValueToBoolean</a></li>
- <li><a href="ko/JS_ValueToConstructor">JS_ValueToConstructor</a></li>
- <li><a href="ko/JS_ValueToECMAInt32">JS_ValueToECMAInt32</a></li>
- <li><a href="ko/JS_ValueToECMAUint32">JS_ValueToECMAUint32</a></li>
- <li><a href="ko/JS_ValueToFunction">JS_ValueToFunction</a></li>
- <li><a href="ko/JS_ValueToId">JS_ValueToId</a></li>
- <li><a href="ko/JS_ValueToInt32">JS_ValueToInt32</a></li>
- <li><a href="ko/JS_ValueToNumber">JS_ValueToNumber</a></li>
- <li><a href="ko/JS_ValueToObject">JS_ValueToObject</a></li>
- <li><a href="ko/JS_ValueToString">JS_ValueToString</a></li>
- <li><a href="ko/JS_ValueToUint16">JS_ValueToUint16</a></li>
- <li><a href="ko/JS_free">JS_free</a></li>
- <li><a href="ko/JS_malloc">JS_malloc</a></li>
- <li><a href="ko/JS_realloc">JS_realloc</a></li>
- <li><a href="ko/JS_strdup">JS_strdup</a></li>
-</ul>
-<h3 id=".EB.A7.A4.ED.81.AC.EB.A1.9C" name=".EB.A7.A4.ED.81.AC.EB.A1.9C">매크로</h3>
-<ul>
- <li><a href="ko/BOOLEAN_TO_JSVAL">BOOLEAN_TO_JSVAL</a></li>
- <li><a href="ko/DOUBLE_TO_JSVAL">DOUBLE_TO_JSVAL</a></li>
- <li><a href="ko/INT_FITS_IN_JSVAL">INT_FITS_IN_JSVAL</a></li>
- <li><a href="ko/INT_TO_JSVAL">INT_TO_JSVAL</a></li>
- <li><a href="ko/JSCLASS_HAS_PRIVATE">JSCLASS_HAS_PRIVATE</a></li>
- <li><a href="ko/JSCLASS_NEW_ENUMERATE">JSCLASS_NEW_ENUMERATE</a></li>
- <li><a href="ko/JSCLASS_NEW_RESOLVE">JSCLASS_NEW_RESOLVE</a></li>
- <li><a href="ko/JSFUN_BOUND_METHOD">JSFUN_BOUND_METHOD</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JSFUN_GLOBAL_PARENT">JSFUN_GLOBAL_PARENT</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JSPRINCIPALS_DROP">JSPRINCIPALS_DROP</a></li>
- <li><a href="ko/JSPRINCIPALS_HOLD">JSPRINCIPALS_HOLD</a></li>
- <li><a href="ko/JSPROP_ENUMERATE">JSPROP_ENUMERATE</a></li>
- <li><a href="ko/JSPROP_EXPORTED">JSPROP_EXPORTED</a></li>
- <li><a href="ko/JSPROP_INDEX">JSPROP_INDEX</a></li>
- <li><a href="ko/JSPROP_PERMANENT">JSPROP_PERMANENT</a></li>
- <li><a href="ko/JSPROP_READONLY">JSPROP_READONLY</a></li>
- <li><a href="ko/JSRESOLVE_ASSIGNING">JSRESOLVE_ASSIGNING</a></li>
- <li><a href="ko/JSRESOLVE_QUALIFIED">JSRESOLVE_QUALIFIED</a></li>
- <li><a href="ko/JSVAL_FALSE">JSVAL_FALSE</a></li>
- <li><a href="ko/JSVAL_IS_BOOLEAN">JSVAL_IS_BOOLEAN</a></li>
- <li><a href="ko/JSVAL_IS_DOUBLE">JSVAL_IS_DOUBLE</a></li>
- <li><a href="ko/JSVAL_IS_GCTHING">JSVAL_IS_GCTHING</a></li>
- <li><a href="ko/JSVAL_IS_INT">JSVAL_IS_INT</a></li>
- <li><a href="ko/JSVAL_IS_NULL">JSVAL_IS_NULL</a></li>
- <li><a href="ko/JSVAL_IS_NUMBER">JSVAL_IS_NUMBER</a></li>
- <li><a href="ko/JSVAL_IS_OBJECT">JSVAL_IS_OBJECT</a></li>
- <li><a href="ko/JSVAL_IS_PRIMITIVE">JSVAL_IS_PRIMITIVE</a></li>
- <li><a href="ko/JSVAL_IS_STRING">JSVAL_IS_STRING</a></li>
- <li><a href="ko/JSVAL_IS_VOID">JSVAL_IS_VOID</a></li>
- <li><a href="ko/JSVAL_LOCK">JSVAL_LOCK</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JSVAL_NULL">JSVAL_NULL</a></li>
- <li><a href="ko/JSVAL_ONE">JSVAL_ONE</a></li>
- <li><a href="ko/JSVAL_TO_BOOLEAN">JSVAL_TO_BOOLEAN</a></li>
- <li><a href="ko/JSVAL_TO_DOUBLE">JSVAL_TO_DOUBLE</a></li>
- <li><a href="ko/JSVAL_TO_GCTHING">JSVAL_TO_GCTHING</a></li>
- <li><a href="ko/JSVAL_TO_INT">JSVAL_TO_INT</a></li>
- <li><a href="ko/JSVAL_TO_OBJECT">JSVAL_TO_OBJECT</a></li>
- <li><a href="ko/JSVAL_TO_PRIVATE">JSVAL_TO_PRIVATE</a></li>
- <li><a href="ko/JSVAL_TO_STRING">JSVAL_TO_STRING</a></li>
- <li><a href="ko/JSVAL_TRUE">JSVAL_TRUE</a></li>
- <li><a href="ko/JSVAL_UNLOCK">JSVAL_UNLOCK</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JSVAL_VOID">JSVAL_VOID</a></li>
- <li><a href="ko/JSVAL_ZERO">JSVAL_ZERO</a></li>
- <li><a href="ko/OBJECT_TO_JSVAL">OBJECT_TO_JSVAL</a></li>
- <li><a href="ko/PRIVATE_TO_JSVAL">PRIVATE_TO_JSVAL</a></li>
- <li><a href="ko/STRING_TO_JSVAL">STRING_TO_JSVAL</a></li>
-</ul>
-<h3 id="Deprecated" name="Deprecated">Deprecated</h3>
-<ul>
- <li><a href="ko/JSFUN_BOUND_METHOD">JSFUN_BOUND_METHOD</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JSFUN_GLOBAL_PARENT">JSFUN_GLOBAL_PARENT</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JSVAL_LOCK">JSVAL_LOCK</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JSVAL_UNLOCK">JSVAL_UNLOCK</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_AliasElement">JS_AliasElement</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_AliasProperty">JS_AliasProperty</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_Finish">JS_Finish</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_Init">JS_Init</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_Lock">JS_Lock</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_LockGCThing">JS_LockGCThing</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_Unlock">JS_Unlock</a> {{ Deprecated_inline() }}</li>
- <li><a href="ko/JS_UnlockGCThing">JS_UnlockGCThing</a> {{ Deprecated_inline() }}</li>
-</ul>
-<h3 id=".EC.A0.84.EC.B2.98.EB.A6.AC.EA.B8.B0_.EC.A1.B0.EA.B1.B4.EB.AC.B8" name=".EC.A0.84.EC.B2.98.EB.A6.AC.EA.B8.B0_.EC.A1.B0.EA.B1.B4.EB.AC.B8">전처리기 조건문</h3>
-<ul>
- <li><a href="ko/JS_THREADSAFE">JS_THREADSAFE</a></li>
-</ul>
-<p>{{ languages( { "en": "en/JSAPI_Reference", "ja": "ja/JSAPI_Reference", "pl": "pl/Dokumentacja_JSAPI" } ) }}</p>
diff --git a/files/ko/jsapi_reference/jsclass.flags/index.html b/files/ko/jsapi_reference/jsclass.flags/index.html
deleted file mode 100644
index 124793f409..0000000000
--- a/files/ko/jsapi_reference/jsclass.flags/index.html
+++ /dev/null
@@ -1,177 +0,0 @@
----
-title: JSClass.flags
-slug: JSAPI_Reference/JSClass.flags
-translation_of: Mozilla/Projects/SpiderMonkey/JSAPI_reference/JSClass.flags
----
-<div>{{SpiderMonkeySidebar("JSAPI")}}</div>
-
-<div class="summary">
-<p>The <strong>{{jsapixref("JSClass", "JSClass.flags")}}</strong> field allows an application to enable optional <code>JSClass</code> features on a per-class basis.</p>
-</div>
-
-<p>The <code>flags</code> field is of type <code>uint32_t</code>. Its value is the logical OR of zero or more of the following constants:</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th>Flag</th>
- <th>Meaning</th>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_HAS_PRIVATE</code></p>
- </td>
- <td>
- <p>This class uses private data. If this flag is set, each instance of the class has a field for private data. The field can be accessed using {{jsapixref("JS_GetPrivate")}} and {{jsapixref("JS_SetPrivate")}}.</p>
-
- <p>{{ LXRSearch("ident", "i", "JSCLASS_HAS_PRIVATE") }}</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_PRIVATE_IS_NSISUPPORTS</code></p>
- </td>
- <td>
- <p>Mozilla extension. The private field of each object of this class points to an <a href="/en/XPCOM" title="XPCOM">XPCOM</a> object (see <code><a href="/en/XPCOM_Interface_Reference/nsISupports" title="nsISupports">nsISupports</a></code>). This is only meaningful if SpiderMonkey is built with <a href="/en/XPConnect" title="XPConnect">XPConnect</a> and the <code>JSCLASS_HAS_PRIVATE</code> flag is also set.</p>
-
- <p>{{ LXRSearch("ident", "i", "JSCLASS_PRIVATE_IS_NSISUPPORTS") }}</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_IS_DOMJSCLASS</code></p>
- </td>
- <td>
- <p>{{ Jsapi_minversion_inline("17") }} Objects are DOM.</p>
-
- <p>{{ LXRSearch("ident", "i", "JSCLASS_IS_DOMJSCLASS") }}</p>
- </td>
- </tr>
- <tr>
- <td><code>JSCLASS_EMULATES_UNDEFINED</code></td>
- <td>
- <p>{{ Jsapi_minversion_inline("24") }} Causes objects which have this class to <dfn>emulate <code>undefined</code></dfn> in certain circumstances.  An object <code>obj</code> that emulates <code>undefined</code> behaves like any other object, except in the following ways:</p>
-
- <ul>
- <li><code>typeof obj === "undefined"</code></li>
- <li><code>obj</code> converts to <code>false</code> when <code>obj</code> is converted to a boolean when used in boolean contexts (<code>if</code> conditions, loop continuation/termination conditions [<code>for</code>/<code>while</code>/<code>do { } while</code>], the condition in a ternary <code>?:</code> expression, and so on)</li>
- <li><code>(obj == undefined)</code> is true, and <code>(obj != undefined)</code> is <code>false</code></li>
- <li><code>(obj == null)</code> is true, and <code>(obj != null)</code> is <code>false</code></li>
- </ul>
-
- <p><code>==</code> and <code>!=</code> comparisons to values other than <code>null</code> or <code>undefined</code> (including to an object that emulates <code>undefined</code>) are unaffected by this flag.  Strict equality (<code>===</code> and <code>!==</code>) comparisons are also unaffected by this flag.</p>
-
- <p>{{ LXRSearch("ident", "i", "JSCLASS_EMULATES_UNDEFINED") }}</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_HAS_RESERVED_SLOTS(n)</code></p>
- </td>
- <td>
- <p>Indicates that instances of this class have <code>n</code> <em>reserved slots</em>. <code>n</code> is an integer in the range <code>{{ mediawiki.external('0..255') }}</code>. The slots initially contain unspecified valid <code>jsval</code> values. They can be accessed using {{jsapixref("JS_GetReservedSlot")}} and {{jsapixref("JS_GetReservedSlot", "JS_SetReservedSlot")}}.</p>
-
- <p>(The {{jsapixref("JSClass.reserveSlots")}} hook also allocates reserved slots to objects.)</p>
-
- <p>{{ LXRSearch("ident", "i", "JSCLASS_HAS_RESERVED_SLOTS") }}</p>
- </td>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_GLOBAL_FLAGS</code></p>
- </td>
- <td>
- <p>This flag is only relevant for the class of an object that is used as a global object. (ECMAScript specifies a single global object, but in SpiderMonkey the global object is the last object in the {{jsapixref("JS_GetScopeChain", "scope chain", "", 1)}}, which can be different objects at different times. This is actually quite subtle. {{jsapixref("JS_ExecuteScript")}} and similar APIs set the global object for the code they execute. {{jsapixref("JS_SetGlobalObject")}} sets an object which is sometimes used as the global object, as a last resort.)</p>
-
- <p>Enable standard ECMAScript behavior for setting the prototype of certain objects, such as <code>Function</code> objects. If the global object does not have this flag, then scripts may cause nonstandard behavior by replacing standard constructors or prototypes (such as <code>Function.prototype</code>.)</p>
-
- <p>Objects that can end up with the wrong prototype object, if this flag is not present, include: <code>arguments</code> objects (<span class="pl-s1"><span class="pl-s">ECMA 262-3 §</span></span>10.1.8 specifies "the original <code>Object</code> prototype"), <code>Function</code> objects (<span class="pl-s1"><span class="pl-s">ECMA 262-3 </span></span>§13.2 specifies "the original <code>Function</code> prototype"), and objects created by many standard constructors (<span class="pl-s1"><span class="pl-s">ECMA 262-3 §</span></span>15.4.2.1 and others).</p>
-
- <p>{{ LXRSearch("ident", "i", "JSCLASS_GLOBAL_FLAGS") }}</p>
- </td>
- </tr>
- <tr>
- <td><code>JSCLASS_FOREGROUND_FINALIZE</code></td>
- <td>
- <p>Objects of this class must be finalized on the main thread. </p>
-
- <p>If this class has a finalizer that makes use of state shared with the main thread then this option must be specified.  It is always safe to specify this option.</p>
-
- <p>One of <code>JSCLASS_FOREGROUND_FINALIZE</code> and <code>JSCLASS_BACKGROUND_FINALIZE</code> must be specified.</p>
- </td>
- </tr>
- <tr>
- <td><code>JSCLASS_BACKGROUND_FINALIZE</code></td>
- <td>
- <p>It is safe to finalize objects of this class on a background thread.</p>
-
- <p>If this class has a finalizer that can be safely run concurrently with the main thread then this option can be specified.  It results in finalization work being offloaded to another thread which improves performance.</p>
-
- <p>One of <code>JSCLASS_FOREGROUND_FINALIZE</code> and <code>JSCLASS_BACKGROUND_FINALIZE</code> must be specified.</p>
- </td>
- </tr>
- <tr>
- <td><code>JSCLASS_IMPLEMENTS_BARRIERS</code></td>
- <td>{{ obsolete_inline("jsapi43") }} Correctly implements GC read and write barriers.</td>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_NEW_ENUMERATE</code></p>
- </td>
- <td>{{ obsolete_inline("jsapi37") }} This class's <code>enumerate</code> hook is actually a {{jsapixref("JSClass.enumerate", "JSNewEnumerateOp")}}, not a {{jsapixref("JSEnumerateOp")}}.</td>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_NEW_RESOLVE</code></p>
- </td>
- <td>{{ obsolete_inline("jsapi36") }} This class's <code>resolve</code> hook is actually a {{jsapixref("JSNewResolveOp")}}, not a {{jsapixref("JSClass.resolve", "JSResolveOp")}}.</td>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_SHARE_ALL_PROPERTIES</code></p>
- </td>
- <td>{{ obsolete_inline("js1.8.5") }} Instructs SpiderMonkey to automatically give all properties of objects of this class the {{jsapixref("JS_GetPropertyAttributes", "JSPROP_SHARED")}} attribute.</td>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_NEW_RESOLVE_GETS_START</code></p>
- </td>
- <td>{{ obsolete_inline("jsapi16") }} The <code>resolve</code> hook expects to receive the starting object in the prototype chain passed in via the <code>*objp</code> in/out parameter. (This is meaningful only if the <code>JSCLASS_NEW_RESOLVE</code> flag is also set.)</td>
- </tr>
- <tr>
- <td id="JSCLASS_CONSTRUCT_PROTOTYPE">
- <p><code>JSCLASS_CONSTRUCT_PROTOTYPE</code></p>
- </td>
- <td>{{ obsolete_inline("jsapi11") }} Instructs {{jsapixref("JS_InitClass")}} to invoke the constructor when creating the class prototype.</td>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_IS_EXTENDED</code></p>
- </td>
- <td>{{ obsolete_inline("jsapi17") }}Indicates that this <code>JSClass</code> is really a {{jsapixref("JSExtendedClass")}}.</td>
- </tr>
- <tr>
- <td>
- <p><code>JSCLASS_MARK_IS_TRACE</code></p>
- </td>
- <td>{{ obsolete_inline("jsapi5") }} Indicates that the {{jsapixref("JSClass.mark", "mark")}} hook implements the new {{jsapixref("JSTraceOp")}} signature instead of the old {{jsapixref("JSClass.mark", "JSMarkOp")}} signature. This is recommended for all new code that needs custom marking.</td>
- </tr>
- </tbody>
-</table>
-
-<p>SpiderMonkey reserves a few other flags for its internal use. They are <code>JSCLASS_IS_ANONYMOUS</code>, <code>JSCLASS_IS_GLOBAL</code>, <code>JSCLASS_IS_PROXY</code>, and <code>JSCLASS_HAS_CACHED_PROTO</code>. JSAPI applications should not use these flags.</p>
-
-<h2 id="See_Also" name="See_Also">See Also</h2>
-
-<ul>
- <li>{{bug(527805)}} - removed <code>JSCLASS_SHARE_ALL_PROPERTIES</code></li>
- <li>{{bug(571789)}} - removed <code>JSCLASS_IS_EXTENDED</code></li>
- <li>{{bug(638291)}} - removed <code>JSCLASS_MARK_IS_TRACE</code></li>
- <li>{{bug(641025)}} - added <code>JSCLASS_IMPLEMENTS_BARRIERS</code></li>
- <li>{{bug(702507)}} - removed <code>JSCLASS_CONSTRUCT_PROTOTYPE</code></li>
- <li>{{bug(758913)}} - removed <code>JSCLASS_NEW_RESOLVE_GETS_START</code></li>
- <li>{{bug(766447)}} - added <code>JSCLASS_IS_DOMJSCLASS</code></li>
- <li>{{bug(792108)}} - added <code>JSCLASS_EMULATES_UNDEFINED</code></li>
- <li>{{bug(993026)}} - removed <code>JSCLASS_NEW_RESOLVE</code></li>
- <li>{{bug(1097267)}} - removed <code>JSCLASS_NEW_ENUMERATE</code></li>
-</ul>
diff --git a/files/ko/localizing_extension_descriptions/index.html b/files/ko/localizing_extension_descriptions/index.html
deleted file mode 100644
index 763c51c275..0000000000
--- a/files/ko/localizing_extension_descriptions/index.html
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: Localizing extension descriptions
-slug: Localizing_extension_descriptions
-tags:
- - Add-ons
- - Extensions
- - Localization
-translation_of: Mozilla/Localization/Localizing_extension_descriptions
----
-<p> </p>
-<h3 id="Gecko_1.9.EC.9D.98_.EC.A7.80.EC.97.AD.ED.99.94" name="Gecko_1.9.EC.9D.98_.EC.A7.80.EC.97.AD.ED.99.94">Gecko 1.9의 지역화</h3>
-<p>{{ Gecko_minversion_header(1.9) }} {{ Fx_minversion_header(3) }}</p>
-<p>Gecko 1.9는 부가 기능 설명과 기타 메타데이터를 지역화하는 새롭고 더욱 견고한 방법을 포함합니다. 모든 다양한 설명은 이제 <code>em:localized</code> 속성을 사용하여 <a href="ko/Install_Manifests">install.rdf</a> 파일에 나타납니다. 각각은 정보가 사용되는 로케일을 표시하는 적어도 하나 이상의 <code>em:locale</code> 속성을 포함하고 나서 로케일에 대한 다양한 문자열을 포함합니다. 다음 예제는 이를 잘 보여줍니다(명료하게 하려고 대부분의 일반적인 선언 속성은 삭제했습니다).</p>
-<pre>&lt;?xml version="1.0"?&gt;
-
-&lt;RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;
- &lt;Description about="urn:mozilla:install-manifest"&gt;
- &lt;em:id&gt;TabSidebar@blueprintit.co.uk&lt;/em:id&gt;
- &lt;em:localized&gt;
- &lt;Description&gt;
- &lt;em:locale&gt;de-DE&lt;/em:locale&gt;
- &lt;em:name&gt;Tab Sidebar&lt;/em:name&gt;
- &lt;em:description&gt;Zeigt in einer Sidebar Vorschaubilder der Inhalte aller offenen Tabs an.&lt;/em:description&gt;
- &lt;/Description&gt;
- &lt;/em:localized&gt;
- &lt;em:localized&gt;
- &lt;Description&gt;
- &lt;em:locale&gt;es-ES&lt;/em:locale&gt;
- &lt;em:name&gt;Tab Sidebar&lt;/em:name&gt;
- &lt;em:description&gt;Muestra una vista previa de sus pestañas en su panel lateral.&lt;/em:description&gt;
- &lt;/Description&gt;
- &lt;/em:localized&gt;
- &lt;em:localized&gt;
- &lt;Description&gt;
- &lt;em:locale&gt;nl-NL&lt;/em:locale&gt;
- &lt;em:name&gt;Tab Sidebar&lt;/em:name&gt;
- &lt;em:description&gt;Laat voorbeeldweergaven van uw tabbladen in de zijbalk zien.&lt;/em:description&gt;
- &lt;/Description&gt;
- &lt;/em:localized&gt;
- &lt;em:name&gt;Tab Sidebar&lt;/em:name&gt;
- &lt;em:description&gt;Displays previews of your tabs in your sidebar.&lt;/em:description&gt;
- &lt;/Description&gt;
-&lt;/RDF&gt;
-</pre>
-<p>아래에 언급한 모든 메타데이터는 이러한 방식으로 지역화합니다. <code>em:localized</code> 속성이 제공하는 지역화 정보는 아래에 자세히 설명하듯이 지역화 선택 사항을 사용하여 덮어 쓸 수 있습니다.</p>
-<p>주어진 로케일에 대해서 사용할 <code>em:localized</code> 속성을 선택하는 과정은 다음과 같습니다.</p>
-<ol>
- <li>로케일과 정확하게 일치하는 <code>em:locale</code>을 가진 속성이 있으면 그것을 사용합니다.</li>
- <li>부분적으로 일치하는 것이 있으면 대시로 구분된 가장 일치하는 부분을 가진 것을 사용합니다 (예: es는 es-ES와 일치하고 반대로도 마찬가지).</li>
- <li>일치하는 부분의 수가 같은 하나 이상의 로케일이 있으면 가장 일반적인 것을 사용합니다 (예: en-US를 찾을 때 en-GB보다 en을 선호).</li>
-</ol>
-<p>현재의 애플리케이션 로케일을 검색하고 나서 en-US에 대한 대체(fallback) 검색을 합니다.</p>
-<p>선택 사항이 지정되어 있지 않고 현재 로케일이나 en-US에 대해 일치하는 <code>em:localized</code> 속성이 없는 경우에는 최후 방편으로 설치 선언에 직접 지정된 속성을 사용합니다. 이는 Gecko 1.9 이전에 항상 사용되었기 때문입니다.</p>
-<h3 id="Gecko_1.9_.EC.9D.B4.EC.A0.84_.EB.B2.84.EC.A0.84.EC.9D.98_.EC.A7.80.EC.97.AD.ED.99.94" name="Gecko_1.9_.EC.9D.B4.EC.A0.84_.EB.B2.84.EC.A0.84.EC.9D.98_.EC.A7.80.EC.97.AD.ED.99.94">Gecko 1.9 이전 버전의 지역화</h3>
-<p>Gecko 1.9 이전 버전에서는 (Firefox나 Thunderbird와 같은) 툴킷 기반의 애플리케이션을 대상으로 하는 부가 기능에 대한 지역화된 부가 기능 설명을 정의하려면 부가 기능 개발자가 특별한 과정을 밟아야 합니다.</p>
-<ul>
- <li><a href="ko/Localizing_an_extension#Localizing_strings_in_JavaScript_code">지역화된 속성 파일</a>이 없으면 만듭니다. 외국어 문자가 제대로 표시될 수 있도록 꼭 UTF-8 인코딩을 사용해야 합니다.</li>
- <li>각각의 지역화된 속성 파일에 (<var>EXTENSION_ID</var>가 여러분의 확장 아이디(<a href="ko/Install.rdf">install.rdf</a>의 <code>&lt;em:id&gt;</code>)와 일치하고 <var>LOCALIZED_DESCRIPTION</var>이 주어진 언어에서 표시할 여러분의 확장에 대한 설명인 곳에) 다음 줄을 추가합니다:
- <pre>extensions.EXTENSION_ID.description=LOCALIZED_DESCRIPTION</pre>
- </li>
- <li><a href="ko/Building_an_Extension#Defaults_Files">기본 선택 사항 파일</a>이 없으면 만듭니다.</li>
- <li>그 파일에 (<var>EXTENSION_ID</var>가 여러분의 <a href="ko/Install_Manifests">install.rdf</a>의 애플리케이션 아이디와 일치하고 <var>PATH_TO_LOCALIZATION_FILE</var>가 앞서 추가한 지역화 파일의 크롬 경로인 곳에) 다음 줄을 추가합니다:
- <pre>pref("extensions.EXTENSION_ID.description", "PATH_TO_LOCALIZATION_FILE");</pre>
- </li>
-</ul>
-<h4 id=".EC.A7.80.EC.97.AD.ED.99.94_.EA.B0.80.EB.8A.A5_.EB.AC.B8.EC.9E.90.EC.97.B4" name=".EC.A7.80.EC.97.AD.ED.99.94_.EA.B0.80.EB.8A.A5_.EB.AC.B8.EC.9E.90.EC.97.B4">지역화 가능 문자열</h4>
-<p>다음의 부가 기능 메타데이터를 이 과정에 따라 지역화할 수 있습니다.</p>
-<ul>
- <li>name</li>
- <li>description</li>
- <li>creator</li>
- <li>homepageURL</li>
-</ul>
-<h4 id=".EC.A7.80.EC.97.AD.ED.99.94_.EA.B0.80.EB.8A.A5_.EB.AA.A9.EB.A1.9D" name=".EC.A7.80.EC.97.AD.ED.99.94_.EA.B0.80.EB.8A.A5_.EB.AA.A9.EB.A1.9D">지역화 가능 목록</h4>
-<p>여러 값이 존재하는 경우에 대비하여 숫자 색인이 선택 사항 이름 뒤에 붙습니다.</p>
-<pre>extensions.EXTENSION_ID.contributor.1=FIRST_LOCALIZED_CONTRIBUTOR_NAME
-extensions.EXTENSION_ID.contributor.2=SECOND_LOCALIZED_CONTRIBUTOR_NAME
-extensions.EXTENSION_ID.contributor.3=THRID_LOCALIZED_CONTRIBUTOR_NAME
-
-pref("extensions.EXTENSION_ID.contributor.1", "PATH_TO_LOCALIZATION_FILE");
-pref("extensions.EXTENSION_ID.contributor.2", "PATH_TO_LOCALIZATION_FILE");
-pref("extensions.EXTENSION_ID.contributor.3", "PATH_TO_LOCALIZATION_FILE");
-</pre>
-<p>다음의 부가 기능 메타데이터를 이 과정에 따라 지역화할 수 있습니다.</p>
-<ul>
- <li>developer</li>
- <li>translator</li>
- <li>contributor</li>
-</ul>
diff --git a/files/ko/mercurial_faq/index.html b/files/ko/mercurial_faq/index.html
deleted file mode 100644
index c433466137..0000000000
--- a/files/ko/mercurial_faq/index.html
+++ /dev/null
@@ -1,646 +0,0 @@
----
-title: Mercurial 사용
-slug: Mercurial_FAQ
-translation_of: Mercurial/Using_Mercurial
----
-<h2 id="How_do_I_install_Mercurial.3F" name="How_do_I_install_Mercurial.3F">Mercurial 설치와 설정</h2>
-<p><a href="/en-US/docs/Installing_Mercurial" title="/en-US/docs/Installing_Mercurial">Installing Mercurial 설치</a>를 참고하세요. Mercurial이 이미 설치되어 있어도 다음 사항을 확인하세요.</p>
-<ul>
- <li>최신 버전을 사용하고 있는지 확인하세요</li>
- <li>올바르게 설정되었는지 확인(설치페이지의 설명을 참고하세요)하세요.</li>
-</ul>
-<h2 id="How_can_I..." name="How_can_I...">어떻게...</h2>
-<h3 id="How_can_I_check_out_Mozilla.3F" name="How_can_I_check_out_Mozilla.3F">Mozilla 코드를 어떻게 받을 수 있나요?</h3>
-<p>Gecko와 Firefox의 기본 개발 저장소를 클론받기 위해서는 아래와 같이 하세요:</p>
-<pre>hg clone http://hg.mozilla.org/mozilla-central/ src
-cd src</pre>
-<p>다른 저장소는 <a href="/En/Developer_Guide/Source_Code/Mercurial" title="https://developer.mozilla.org/En/Developer_Guide/Source_Code/Mercurial">Mercurial을 이용해서 Mozilla의 소스 코드 받기</a>를 참고하세요.</p>
-<h3 id="How_can_I_edit_and_update_files.3F" name="How_can_I_edit_and_update_files.3F">어떻게 파일을 수정하고 업데이트 하나요?</h3>
-<p>CVS처럼 작업 디렉토리에서 아무 파일이나 수정할 수 있습니다.</p>
-<p>트리를 업데이트하는 일반적인 명령어는 다음과 같습니다:</p>
-<pre class="eval">hg pull -u
-</pre>
-<p>하나의 디렉토리만 업데이트 하는 일은 할 수 없습니다. 전체 트리를 업데이트 해야만 합니다.</p>
-<h3 id="How_can_I_diff_and_patch_files.3F" name="How_can_I_diff_and_patch_files.3F">How can I diff and patch files?</h3>
-<ul>
- <li><code>hg diff</code> diffs the entire tree by default. Use <code>hg diff &lt;dir&gt;</code> to diff only the given directory. Don't forget to <code>hg add</code> any new files you are adding before generating the patch.</li>
- <li>If you are changing binary files or renaming files you may want to use git style patches with <code>hg diff -g</code> to retain that sort of information in the patch.</li>
- <li>When applying a patch generated by Mercurial, use <code>patch -p1</code>, not <code>patch -p0</code>. (This is due to a quirk of Mercurial diff output—it refers to fictional "a" and "b" directories. Don't ask.).</li>
- <li>If you have a git style patch with renames and/or binary changes you can use <code>hg import --no-commit</code> to apply the patch to your tree or use <code>hg qimport</code> to import the patch to mq.</li>
- <li>There's <a class="link-https" href="https://hg.mozilla.org/users/robarnold_cmu.edu/qimportbz" title="https://hg.mozilla.org/users/robarnold_cmu.edu/qimportbz">hg qimportbz extension</a> (<a class="external" href="http://robarnold.org/2009/06/02/hg-qimport-my-bugzilla-patch-redux.html" title="http://robarnold.org/2009/06/02/hg-qimport-my-bugzilla-patch-redux.html">blog post</a>) that lets you import patches directly from bugzilla to mq.   (Since that blog post was written, the command syntax has changed.  It is now: <code>hg qimport <a class="external" rel="freelink">bz://1234567</a></code>)</li>
- <li>If you have it, <code>git-apply</code> can also be used to apply patches. It can handle most forms of Mercurial diff output, but it won't automatically tell Mercurial about added, copied, removed or renamed files, and it cannot reverse binary changes (except to remove added binary files).</li>
-</ul>
-<p>Preferred diff options are <code>hg diff -p -U 8</code> which includes 8 lines of context and shows the relevant function for the block. You can make these options default in the <a class="internal" href="/en/Mercurial_FAQ#Configuration" title="en/Mercurial FAQ#Configuration">Mercurial configuration file</a>.</p>
-<h3 id="How_can_I_generate_a_patch_for_somebody_else_to_check-in_for_me.3F" name="How_can_I_generate_a_patch_for_somebody_else_to_check-in_for_me.3F">How can I generate a patch for somebody else to check-in for me?</h3>
-<p>If you don't have commit access yourself, you need to attach your patches to a bug for somebody to check in.  In order to do that, you should make sure that your patch has the following conditions:</p>
-<ol>
- <li>It has a correctly formatted author name.</li>
- <li>It has a correctly formatted commit message.</li>
- <li>It is generated in git style.</li>
-</ol>
-<p>Here is a very easy way to get this setup working using <a class="external" href="http://www.selenic.com/mercurial/wiki/index.cgi/MqExtension" style="">mq</a>.  First, you need to edit your <code>~/.hgrc</code> file.  You only need to do this once.  Your hgrc file should have the following contents at least:</p>
-<pre>[ui]
-username = John Smith &lt;john@smith.com&gt;
-
-[defaults]
-qnew = -Ue
-
-[extensions]
-mq =
-
-[diff]
-git = 1
-showfunc = 1
-unified = 8
-</pre>
-<p>Now, in order to create a patch, you should enter:</p>
-<pre>hg qnew name.patch
-</pre>
-<p>which opens up your favorite editor so that you can enter a good commit message.  A good sample commit message looks like: "Bug 123456 - Change this thing to work better by doing something; r=reviewers".  You don't need to enter the final commit message (for example, if you haven't received reviews yet).  You can edit the commit message of the current <code>mq</code> patch at any time using <code>hg qref -e</code>.</p>
-<p>The <code>~/.hgrc</code> default <code>-U</code> argument for the qnew command add the author information to the patch (using a <code>From:</code> header), and the default <code>-e</code> argument opens up the editor for you to type in a commit message.</p>
-<p>Now, after editing some source code, you can use <code>hg qref</code> to update your patch file.</p>
-<p>To attach the patch to the bug, you can use the file named <code>name.patch</code> located in your <code>&lt;repository&gt;/.hg/patches</code> directory directly.</p>
-<h3 id="How_do_I_check_stuff_in.3F" name="How_do_I_check_stuff_in.3F">어떻게 변경 내용을 적용(check in)하나요?</h3>
-<h4 id="Required_configuration" name="Required_configuration">필수 설정</h4>
-<p>변경 내용을 커밋하기 전에 이 내용을 <code>~/.hgrc</code> 파일에 추가해야 합니다:</p>
-<pre class="eval">[ui]
-username = Your Name &lt;<a class="link-mailto" href="mailto:your.email@example.com" rel="freelink">your.email@example.com</a>&gt;
-</pre>
-<p><a href="/en/mozilla-central" title="en/mozilla-central">mozilla-central</a>이나 다른 mozilla-hosted 저장소에 변경내용을 올리기 위해서는 커밋 권한을 가지고 있어야 하고 <code><em>(your-local-hg-root)</em>/.hg/hgrc</code> (<code>~/.hgrc</code> 파일이 <strong>아닙니다</strong>) 파일에 다음의 내용을 넣어야 합니다:</p>
-<pre class="eval">[paths]
-default = <span class="nowiki">http://hg.mozilla.org/mozilla-central/</span>
-<strong>default-push = <span class="nowiki">ssh://hg.mozilla.org/mozilla-central/</span></strong>
-</pre>
-<p>또한 ssh에 hg.mozilla.org에 접속할 사용자 이름이 무엇인지 알려주어야 합니다. 이 이름은 Mozilla LDAP 계정과 연결된 사용자 이름이어야 합니다. 이를 위해서 위에 있는 default-push 경로는 좀 더 복잡하게 만들거나 (<code><span class="link-mailto">user@host.name</span>@hg.mozilla.org</code>) ~/.ssh/config에 다음 내용을 넣어서 해결할 수 있습니다:</p>
-<pre class="eval">Host hg.mozilla.org
-User <a class="link-mailto" href="mailto:user@host.domain" rel="freelink">user@host.domain</a>
-</pre>
-<h4 id="Check_what_you.27re_going_to_commit" name="Check_what_you.27re_going_to_commit">커밋하려고 하는 내용 확인</h4>
-<p>다음으로 정말로 커밋하고자 하는 내용을 커밋하게 될 것인지 확인합니다(특히나 다른 까다로운 커밋을 머지할 때에 중요합니다):</p>
-<pre class="eval">hg status
-hg diff
-</pre>
-<p><code>status</code> 명령어는 작업 디렉토리의 변경된 내용이 있는 파일과 저장소(부모 리비전으로서 <code>hg parents</code>를 이용해서 볼 수 있습니다)에 있는 내용을 비교해서 보여줍니다. <code>hg diff</code>는 이 파일들의 실제 변경 내역을 하나의 diff로 보여줍니다. 더 자세한 내용을 보기 위해서 -U8 옵션을 설정할 수 있습니다.</p>
-<h4 id="Commit_to_the_local_repository" name="Commit_to_the_local_repository">로컬 저장소에 커밋</h4>
-<p>다음 단계로 변경내용을 <em>로컬 저장소에 커밋</em>합니다:</p>
-<pre class="eval">hg commit
-</pre>
-<p>이렇게 하면 <code>hg status</code>로 보고된 변경내용을 매번 커밋합니다. <code>hg commit <em>filenames</em></code>을 이용해서 특정 파일이나 디렉토리만 커밋 할 수 있습니다. <code>hg commit -u "Someone Else &lt;<a class="link-mailto" href="mailto:someone@example.com" rel="freelink">someone@example.com</a>&gt;"를 사용해서 다른사람을 대신해서 커밋할 수도 있습니다</code>. 더 자세한 내용은 <code>hg help commit</code>을 살펴보세요.</p>
-<p>새로운 파일을 저장소에 추가된고 필요없는 파일을 지우려면 다음 명령어를 사용하세요.</p>
-<pre class="eval">hg addremove
-</pre>
-<h4 id="Check_what_you.27re_going_to_push" name="Check_what_you.27re_going_to_push">푸시하려는 내용 확인</h4>
-<p>푸시를 하기 전에 어떠한 변경내용(changeset)이 푸시될지 확인할 수 있습니다.<code> 이를 위해서 outgoing</code> 명령어를 사용합니다:</p>
-<pre class="eval">hg outgoing
-</pre>
-<p>이렇게 하면 기본 원격 저장소에 푸시할 변경내용의 목록을 보여줍니다. 다른 저장소에 푸시될 변경내용을 확인하려면 저장소 아규먼트를 추가합니다.</p>
-<h4 id="Push_to_the_central_repository" name="Push_to_the_central_repository">중앙 저장소에 푸시</h4>
-<p>중앙 저장소에 이 변경사항을들 푸시해서 올립니다:</p>
-<pre class="eval">hg push
-</pre>
-<h4 id="Preventing_accidental_pushes" name="Preventing_accidental_pushes">실수로 푸시하는 일 방지</h4>
-<p><code>qpush</code> 명령어가 쉽게 <code>push</code>로 잘못 입력될 수 있기 때문에, MQ 패치를 적용할 때 실수로 푸시를 하게될 수 있습니다. 실수로 푸시하는 일을 방지하기 위해서는 아래의 내용을 <code>~/.hgrc</code> 파일에 기입합니다:</p>
-<pre class="eval">[hooks]
-pre-push = read -p 'Are you sure you want to push to remote? (y/n): '; if test "$REPLY" != "y"; then echo 'Push cancelled'; exit 1; fi
-</pre>
-<p>이렇게 하면 <code>push</code> 명령어를 입력할 때 마다 사용자가 확인을 해야 하고 y 이외의 다른 내용을 입력하면 푸시가 취소됩니다.</p>
-<h3 id="How_do_I_deal_with_.22abort:_push_creates_new_remote_heads.21.22.3F" name="How_do_I_deal_with_.22abort:_push_creates_new_remote_heads.21.22.3F">How do I deal with "abort: push creates new remote heads!"?</h3>
-<p>Whatever you do, don't do 'push -f' like the message suggests. (It'll probably fail anyway, but don't try it.)</p>
-<p>Someone pushed new commits upstream since your last pull. You then committed your patch locally and are trying to push that commit upstream; that upstream has a different tip commit that you started from.</p>
-<pre> <strong>YOU</strong> ---&gt; o 9123b7791b52 - Kaitlin Jones <span class="plain">&lt;kaitlin@example.net&gt;</span> - Bug 123456 - Trebled fromps (r=gavin)
- |
-<strong>TRUNK</strong> ---&gt; | o 306726089e22 - Robert Longson <span class="plain">&lt;longsonr@example.com&gt;</span> - Bug 437448. New-style nsSVGString
- | |
- | o ba9b9a7c52a5 - Robert Longson <span class="plain">&lt;longsonr@example.com&gt;</span> - Bug 437448. New-style nsSVGString
- |/
- o f8f4360bf155 - Robert O'Callahan <span class="plain">&lt;robert@example.org&gt;</span> - Bug 421436. Remove hack that gives</pre>
-<p>There are three things you can do. In all cases, you are strongly encouraged to take steps to back up your patch (perhaps by obtaining a diff: hg log -p -r 12345 to show the patch for rev 12345).</p>
-<h4 id="Using_hg_merge">Using <code>hg merge</code></h4>
-<p>Run <code>hg pull</code>, then <code>hg merge</code>. If there are any merge conflicts, hg will open a merge program to try to help you resolve them manually. (If you fail to make sense of the merge tool, that's OK.  Just close it; hg will detect that the conflicts weren't all resolved and spit out some <code>hg update -C</code> commands that you can use to undo and then retry the busted merge.)</p>
-<p>Even if there were no conflicts, you have to commit the merge: <code>hg commit -m "Merge bug 123456"</code>.</p>
-<pre> <strong>YOU</strong> ---&gt; <span style="background-color: rgb(255, 255, 0);">o</span> 1fe7659c29a9 - Kaitlin Jones <span class="plain">&lt;kaitlin@example.net&gt;</span> - Merge bug 123456.
- <span style="background-color: rgb(255, 255, 0);">|\</span>
- o <span style="background-color: rgb(255, 255, 0);">|</span> 9123b7791b52 - Kaitlin Jones <span class="plain">&lt;kaitlin@example.net&gt;</span> - Bug 123456 - Trebled fromps (r=gavin)
- | <span style="background-color: rgb(255, 255, 0);">|</span>
-<strong>TRUNK</strong> ---&gt; | o 306726089e22 - Robert Longson <span class="plain">&lt;longsonr@example.com&gt;</span> - Bug 437448. New-style nsSVGString
- | |
- | o ba9b9a7c52a5 - Robert Longson <span class="plain">&lt;longsonr@example.com&gt;</span> - Bug 437448. New-style nsSVGString
- |/
- o f8f4360bf155 - Robert O'Callahan <span class="plain">&lt;robert@example.org&gt;</span> - Bug 421436. Remove hack that gives</pre>
-<p>Now you can <code>hg push</code> as normal.</p>
-<p>This leaves a merge commit in the log, which some people find annoying, so it's usually better to avoid this solution.</p>
-<p>If you decide to use this method, it is advantageous to enable the Mercurial <code>fetch</code> extension (by means of a <span style="background-color: #CCC;"><code>fetch =</code></span> line in the <span style="background-color: #CCC;"><code>[extensions]</code></span> section of your <code>&lt;repository&gt;/.hg/hgrc</code> or your <code>$HOME/.hgrc</code> file) so you can do the <code>pull + merge + commit</code> sequence in one step (assuming no merge conflicts) by using the <span style="background-color: #CCC;"><code>hg fetch</code></span> command.</p>
-<h4 id="Using_Mercurial_queues">Using Mercurial queues</h4>
-<p>A way to solve your problem without leaving a merge commit is to import your commit into <a class="external" href="http://www.selenic.com/mercurial/wiki/index.cgi/MqExtension" style="">mq</a> control, pop it off the queue, update, and then commit it again before pushing:</p>
-<pre class="eval">% <strong>hg log -l 5</strong>
-415[tip] d1accb6ee840 2008-04-30 09:57 -0700 vladimir
- b=430873; fast path drawImage with a canvas as source
-414 3a3ecbb4873e 2008-04-30 09:55 -0700 vladimir
- cvs sync
-% <strong>hg qimport -r 415</strong>
-<em>Turn the new commit you made into a MQ patch</em>
-% <strong>hg qtop</strong>
-415.diff
-% <strong>hg qpop</strong>
-Patch queue now empty
-<em>Pop the MQ patch off the stack. At this point, the tip of your tree is also in the remote repository</em>
-% <strong>hg pull -u</strong>
-<em>... various pull/update messages ...</em>
-% <strong>hg qpush</strong>
-applying 415.diff
-Now at: 415.diff
-<em>Fix up conficts as necessary; if you fixed up any, run hg qrefresh first</em>
-% <strong>hg incoming</strong>
-comparing with <a class="external" href="ssh://hg.mozilla.org/mozilla-central/" rel="freelink">ssh://hg.mozilla.org/mozilla-central/</a>
-searching for changes
-no changes found
-<em>Make sure nobody pushed while you were merging. Otherwise, qpop, pull and qpush again</em>
-% <strong>hg qfinish 415.diff</strong>
-<em>Turn the MQ patch into a regular revision</em>
-% <strong>hg log -l 5</strong>
-<em>verify that the log looks good, with your commit on top</em>
-% <strong>hg push</strong>
-</pre>
-<p>If you already use mq to manage your patches, then just make sure you pull/update right before committing and pushing your patch. If you have problems with the above, it's ok to just do a simple merge as described previously.</p>
-<p>In this case, if there are merge conflicts, MQ will produce <code>.rej</code> files. Some people prefer this over being thrown into a merge program.</p>
-<h4 id="Using_hg_rebase">Using <code>hg rebase</code></h4>
-<p>(Requires Mercurial 1.1 or higher)</p>
-<p>This is the simplest and easiest way to deal with the problem. You can rebase your local changesets (including mq patches) on top of the tip using the <a class="external" href="http://www.selenic.com/mercurial/wiki/index.cgi/RebaseExtension" title="http://www.selenic.com/mercurial/wiki/index.cgi/RebaseExtension">rebase extension</a>. To do this, simply enable the extension by adding this to the following section of your <code>.hgrc</code>:</p>
-<pre class="eval">[extensions]
-hgext.rebase =
-</pre>
-<p>Now, type <code>hg pull --rebase <span style="font-family: sans-serif;">to pull and rebase your local changesets at the same time.</span></code> More details and options can be found at the <a class="external" href="http://www.selenic.com/mercurial/wiki/index.cgi/RebaseProject" title="http://www.selenic.com/mercurial/wiki/index.cgi/RebaseProject">Mercurial wiki</a>.</p>
-<p>If you have conflicting changes, you'll be thrown into your preferred merge tool.</p>
-<div class="note">
- <strong>Note:</strong> As of Mercurial 1.1, rebasing (especially with mq patches) might lose rename data; this is a <a class="external" href="http://www.selenic.com/mercurial/bts/issue1423" title="http://www.selenic.com/mercurial/bts/issue1423">known bug</a> that has been fixed in Mercurial 1.3. </div>
-<div class="note">
- <strong>Note:</strong> If you had done a normal <code>hg pull</code> without <code>--rebase</code> after your <code>hg commit</code>, you will have to first undo that by doing <code>hg rollback</code>. Only the very last action can be undone, so if you did anything else after the <code>hg pull</code>, you're out of luck.</div>
-<div class="note">
- <strong>Note:</strong> If you have local changes, hg pull --rebase (just like hg merge) will refuse to work, so you'll have to revert your local changes first:</div>
-<pre class="note">hg diff &gt; old.diff
-hg revert .
-hg pull --rebase
-hg push
-patch -p 1 -i old.diff
-rm old.diff
-</pre>
-<h3 id="How_do_I_see_what_these_commands_will_do_before_I_do_them.3F" name="How_do_I_see_what_these_commands_will_do_before_I_do_them.3F"><span id="1224048115147S" style="display: none;"> </span>How do I see what these commands will do before I do them?</h3>
-<p>If you want to see what <code>hg commit</code> will commit, run <code>hg diff</code> first.</p>
-<p>If you want to see what <code>hg push</code> will push, run <code>hg outgoing</code> first.</p>
-<p>If you want to see what <code>hg pull</code> will pull, run <code>hg incoming</code> first.</p>
-<p>These pairs of commands all take similar arguments, for good reason. These are a good idea to use all the time when you're learning mercurial. And even once you're an expert, always doing outgoing before push is a good idea.</p>
-<h3 id="How_can_I_customize_the_format_of_the_patches_Mercurial_creates.3F" name="How_can_I_customize_the_format_of_the_patches_Mercurial_creates.3F">How can I customize the format of the patches Mercurial creates?</h3>
-<p>Edit your <code>~/.hgrc</code> file and add some lines like these:</p>
-<pre class="eval">[defaults]
-diff=-U 8 -p
-qdiff=-U 8
-#for Mercurial 1.1 use:
-#qdiff=-U 8 -p</pre>
-<pre class="eval">[diff]
-git=true
-</pre>
-<p>The <code>{{ mediawiki.external('defaults') }}</code> section affects the default output of the <code>hg diff</code> and <code>hg qdiff</code> commands. The options behave the same as they would on the command line. Try <code>hg help diff</code> for more info.</p>
-<p>The <code>{{ mediawiki.external('diff') }}</code> section affects all patches generated by Mercurial, even <code>hg export</code> and those generated for Mercurial's internal use. You need to be a lot more careful with this, but <code>git=true</code> is recommended. Without it, Mercurial cannot diff binary files and does not track the execute mode bit.  You may want to add <code>showfunc=true</code> here to get diffs that show the function being changed in each hunk, and you may want to add <code>unified=8</code> to make all diffs (including the internal ones <a class="external" href="http://www.selenic.com/mercurial/wiki/index.cgi/MqExtension" style="">mq</a> uses) have 8 lines of context. Note that this may increase the risk of mq patches failing to apply!</p>
-<h3 id="How_do_I.C2.A0get_a_diff_-w.3F">How do I get a diff -w?</h3>
-<p>There is a <a class="external" href="http://www.selenic.com/mercurial/bts/issue127" title="http://www.selenic.com/mercurial/bts/issue127">known issue</a> where <code>hg diff -w</code> doesn't work.</p>
-<p>To get around this add the following to your <code>~/.hgrc</code> file, editing existing sections where applicable:</p>
-<pre>[extensions]
-hgext.extdiff =
-
-[extdiff]
-cmd.diffw = diff
-opts.diffw = -w -r -N -p -U 8
-</pre>
-<p>You can, of course, add your other favourite diff options to <code>opts.diffw</code>. Once you've added this, you will now have a new hg command, <code>hg diffw</code>.</p>
-<p>hg diffw -r -2 is the equivalent of hq qdiff -w for the topmost patch in the queue.</p>
-<h3 id="How_do_I_generate_a_bundle.3F">How do I generate a bundle?</h3>
-<p>Sometimes the tree will be under sheriff control, and they will specifically ask for a bundle.  If you don't have sufficient rights to push to mozilla-central, you might also generate bundles and attach them to bugs when you add checkin-needed to a bug after it has the necessary reviews and approval.</p>
-<p>Creating a bundle is quite simple.  Once you have your changes all done, commit them to your local repository.  You can also commit more than one changeset.  Once you have everything committed, instead of pushing you'll run <code>hg bundle</code>:</p>
-<pre>hg bundle outputfile.hg
-</pre>
-<p>By default, <code>hg bundle</code> will bundle everything that <code>hg outgoing</code> would display (and what you would push with <code>hg push</code>).  You can limit how far forward you want to bundle as well by specifying a revision with <code>-r</code>.  That will take all changes up until that revision.</p>
-<h2 id="Backing_out_changes" name="Backing_out_changes">Backing out changes</h2>
-<h3 id="Reverting_the_whole_tree_to_a_known-good_revision" name="Reverting_the_whole_tree_to_a_known-good_revision">Reverting the whole tree to a known-good revision</h3>
-<p>It's easy, like using a sledgehammer is easy. But this is usually overkill.</p>
-<pre class="eval">$ hg pull -u
-$ <strong>hg revert --all -r a0193d83c208</strong> <em># use your known-good revision id here</em>
-$ hg commit <em># be kind, include the revision id in your commit message</em>
-$ hg push
-</pre>
-<p>There's a more precise alternative:</p>
-<h3 id="Backing_out_a_single_changeset" name="Backing_out_a_single_changeset">Backing out a single changeset</h3>
-<p>Suppose changeset <code>f8f4360bf155</code> broke something.</p>
-<pre class="eval">$ hg pull -u
-$ <strong>hg backout f8f4360bf155</strong> <em># use the revision id of the bad change here</em>
-</pre>
-<p>This creates and commits a new changeset that reverts all the changes in that revision.</p>
-<p>If you see this message:</p>
-<pre class="eval">the backout changeset is a new head - do not forget to merge
-</pre>
-<p>That means you need to merge, because your history now looks like this:</p>
-<pre class="eval"> <strong>YOU</strong> ---&gt; o 9123b7791b52 - Kaitlin Jones &lt;<a class="link-mailto" href="mailto:kaitlin@example.net" rel="freelink">kaitlin@example.net</a>&gt; - Backed out changeset f8f4360bf155
- |
-<strong>TRUNK</strong> ---&gt; | o 4e5bfb83643f - Simon Montagu &lt;<a class="link-mailto" href="mailto:smontagu@example.org" rel="freelink">smontagu@example.org</a>&gt; - imported patch 435856
- | |
- | o 6ee23de41631 - Phil Ringnalda &lt;<a class="link-mailto" href="mailto:philringnalda@example.com" rel="freelink">philringnalda@example.com</a>&gt; - Bug 438526 - Opening links w
- | |
- | o 22baa05d0e8a - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:robert@example.org" rel="freelink">robert@example.org</a>&gt; - Remove DOM testcase from exclusi
- | |
- | o c1aec2094f7e - Robert Longson &lt;<a class="link-mailto" href="mailto:longsonr@example.com" rel="freelink">longsonr@example.com</a>&gt; - Bug 437448. New-style nsSVGString
- | |
- | o 306726089e22 - Robert Longson &lt;<a class="link-mailto" href="mailto:longsonr@example.com" rel="freelink">longsonr@example.com</a>&gt; - Bug 437448. New-style nsSVGString
- | |
- | o ba9b9a7c52a5 - Robert Longson &lt;<a class="link-mailto" href="mailto:longsonr@example.com" rel="freelink">longsonr@example.com</a>&gt; - Bug 437448. New-style nsSVGString
- |/
- o f8f4360bf155 - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:robert@example.org" rel="freelink">robert@example.org</a>&gt; - Bug 421436. Remove hack that gives
- |
- ⋮ (the past)
-</pre>
-<p>Your backout changeset is based on an old revision. It doesn't contain more recent changes.</p>
-<p>Handle this like any other merge. If you've never done a merge before, get help. (It could be trivial or it could be a huge headache. There's plenty about merging elsewhere in this FAQ.)</p>
-<h3 id="Backing_out_multiple_changesets_that_are_not_at_tip" name="Backing_out_multiple_changesets_that_are_not_at_tip">Backing out multiple changesets that are not at tip</h3>
-<p>Your push of many changesets was bad, but you didn't find out until after a lot of subsequent activity. You want to back out the bad but keep the probably-good changesets from the subsequent activity.</p>
-<p><strong>NB</strong>: this is hard, error-prone, and will likely b0rk your local tree if you mess up. If in doubt, ask someone else to do it for you.</p>
-<p>What one would <em>really</em> like to do is</p>
-<pre class="eval">hg backout --from-rev $FIRST_BAD --to-rev $LAST_BAD
-</pre>
-<p>or, if local hg could access pushlog</p>
-<pre class="eval">hg backout --push $LAST_BAD
-</pre>
-<p>but, since hg can't do either (yet), we're stuck. What we'll do instead is travel back in hg-time to the last bad cset, revert all changes between last-bad and last-good, then merge that reversion to the current tip. Your tree might look like</p>
-<pre class="eval"> <strong>MERGE_TO</strong> ---&gt; @ c6abfc89215a - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 485288 - Replace all usage of video autobuffer attribute with preload=auto. a=test-fix
- |
- o d6e8fddeb95b - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 548523 - Disable test_preload_actions.html case 9 until bug 568402 is fixed. a=test-fix
- |
- o 571d2664ead0 - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 548523 - Don't show throbber on video controls if we're not loading a resource. r=dolske a=blocking2.0
- |
- o 3f7dfabab5e4 - Rich Dougherty &lt;<a class="link-mailto" href="mailto:rich@rd.gen.nz" rel="freelink">rich@rd.gen.nz</a>&gt;, Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 548523 - Replace HTMLMediaElement.autobuffer attribute with 'preload'. r=roc a=blocking2.0
- |
- o d7d9cf4ab76a - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 519897 - Supported indexed Ogg files. r=doublec
- |
- o 2a0e5811ece9 - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Commit merge of backout of 66dcf25705f9. a=backout
- |\
- | o 958a30df30dd - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Backed out changeset 66dcf25705f9
- | |
- o | 6eead86e13dd - Michael Wu &lt;<a class="link-mailto" href="mailto:mwu@mozilla.com" rel="freelink">mwu@mozilla.com</a>&gt; - Bug 556644 - Yet another removed-files.in update, r=rs a=blocking-beta5
- | |
- o | 69c6ce104f45 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 588216: Avoid race between IO-thread loop-&gt;PostTask() and main-thread loop-&gt;SetNestableTasksAllowed() that led to Tasks being ignored. r=bent
- | |
- o | 73899b33ca4b - Ben Turner &lt;<a class="link-mailto" href="mailto:bent.mozilla@gmail.com" rel="freelink">bent.mozilla@gmail.com</a>&gt; - Bug 576716 - 'Crash [@ TypedArrayTemplate&lt;int&gt;::init] or [@ TypedArrayTemplate&lt;int&gt;::create]'. Adding a test, r=vlad a=blocker
- | |
- o | 3bd62d459019 - Mark Banner &lt;<a class="link-mailto" href="mailto:bugzilla@standard8.plus.com" rel="freelink">bugzilla@standard8.plus.com</a>&gt; - Follow up to bug 587984 bustage fix for l10n repacks. r=Pike,ted,a=bustage-fix
- | |
- o | e1ca9091e5a6 - Benjamin Stover &lt;<a class="link-mailto" href="mailto:webapps@stechz.com" rel="freelink">webapps@stechz.com</a>&gt; - Bug 575731: Make test more stable in the face of various themes. r,a=sicking
- | |
- o | bb200e1f52b4 - Jonas Sicking &lt;<a class="link-mailto" href="mailto:jonas@sicking.cc" rel="freelink">jonas@sicking.cc</a>&gt; - Bug 550959: Require version 2.5 of python. r=ted a=sicking
- | |
- o | 992491c618de - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (12/12): fix assertions in nsStyleAnimation triggered by part 3. r=dbaron a2.0=dbaron
- | |
- o | 2f078585a0f6 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (11/12): Make all assertions fatal in Declaration.h, Declaration.cpp, nsCSSDataBlock.h, nsCSSDataBlock.cpp, nsCSSValue.h, nsCSSValue.cpp, nsCSSProps.h, and nsCSSProps.cpp. r=dbaron a2.0=dbaron
- | |
- o | 5a9bd15fd7a8 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (10/12): Don't directly manipulate the contents of mTempData in the CSS parser. r=dbaron a2.0=dbaron
- | |
- o | 4bb2e0074aeb - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (9/12): Add an AddLonghandProperty method to nsCSSExpandedDataBlock. r=dbaron a2.0=dbaron
- | |
- o | 659a0864e035 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (8/12): remove the last MoveValue call from the CSS parser. r=dbaron a2.0=dbaron
- | |
- o | 980f0170d982 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (7/12): cleanup pass on css/Declaration.{h,cpp} and nsCSSDataBlock.{h,cpp}. r=dbaron a2.0=dbaron
- | |
- o | f09c1638d3c1 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (6/12): remove vestiges of nsCSSType. r=dbaron a2.0=dbaron
- | |
- o | b88472b0af90 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (5/12): eliminate ValueList as a storage type. r=dbaron a2.0=dbaron
- | |
- o | a3e21759b570 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (4/12): eliminate ValuePairList as a storage type. r=dbaron a2.0=dbaron
- | |
- o | ed89c9e297ab - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (3/12): eliminate Rect as a storage type. r=dbaron a2.0=dbaron
- | |
- o | 4fc85e572c38 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (2/12): eliminate ValuePair as a storage type. r=dbaron a2.0=dbaron
- | |
- o | 301875d4f9b6 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (1/12): Move all the CSS 'storage types' (rect, value pair, etc) to nsCSSValue.h and their code to nsCSSValue.cpp. r=dbaron a2.0=dbaron
- | |
- <strong>LAST_BAD</strong> ---&gt; o | 90ad165ae21b - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part i: Use nsIWidget::CreateChild in nsIView::CreateWidget* (where possible). r=roc a=blocking-fennecb1
- | |
- o | 037a5d6b376a - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part h: Add an nsIWidget::CreateChild interface to sweep (relevant to this bug) code dealing with native widgets under the widget/src/* rug. sr=roc
- | |
- o | f1af117d4598 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part g: Split nsIView::CreateWidget into CreateWidget, CreateWidgetForParent, and CreateWidgetForPopup in preparation of eliminating IIDs here. sr=roc
- | |
- o | 5bf0b315a5aa - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part f: Split out window initialization code in preparation for multiple CreateWidget* methods. r=roc
- | |
- o | 353da995af6f - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part e: Simplify the logic for creating popup widgets. r=roc
- | |
- o | 7735c00eabe9 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part d: Simplify nsView::LoadWidget and return early if it fails. r=roc
- | |
- o | 7b17bcefb174 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part c: Initialize default widget init data earlier so that it's always available. r=roc
- | |
- o | c5945b6a97ed - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part b: Remove nsIDeviceContext::SupportsNativeWidgets because it's not used meaningfully, and will be confusing in content processes. sr=roc
- | |
- o | 5452db293694 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part a: Add nsIView::Impl() and nsView::CreateWidget() to get rid of |static_cast&lt;nsview*&gt;(this)|. r=roc
- | |
- o | 9407827b5166 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582075, part 0.5: Add support for aInitData=NULL to the Windows nsWindow implementation. r=dougt
- | |
- o | 88a279b64473 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part 0: Log the repaint region bounding rect in DumpPaintEvent. r=roc
- | |
- o | cebb111fbfc4 - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:roc@ocallahan.org" rel="freelink">roc@ocallahan.org</a>&gt; - Bug 585817. Part 3: Remove nsSVGUtils::GetThebesComputationalSurface and use gfxPlatform::ScreenReferenceSurface instead. r=jwatt
- | |
- o | 7b3726c3a580 - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:roc@ocallahan.org" rel="freelink">roc@ocallahan.org</a>&gt; - Bug 585817. Part 2: Change nsIPresShell::CreateRenderingContext to GetReferenceRenderingContext, that uses the shared 1x1 surface, and use it all over the place. r=mats,sr=dbaron
- | |
-<strong>FIRST_BAD</strong> ---&gt; o | b3e968d831ec - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:roc@ocallahan.org" rel="freelink">roc@ocallahan.org</a>&gt; - Bug 585817. Part 1: Create a single static 1x1 surface in gfxPlatform that can be used to create contexts for text measurement etc. r=vlad
- | |
-<strong>LAST_GOOD</strong> ---&gt; o | 55ef0e0529bc - Mounir Lamouri &lt;<a class="link-mailto" href="mailto:mounir.lamouri@gmail.com" rel="freelink">mounir.lamouri@gmail.com</a>&gt; - Bug 506554 - Implement the CSS3 pseudo-classes :required and :optional for HTML. r=sicking sr=bz a2.0=blocking
- | |
-&lt;/int&gt;&lt;/int&gt;</pre>
-<p>We want to erase all changes between <code>$FIRST_BAD</code> and <code>$LAST_BAD</code>, then merge to <code>$MERGE_TO</code></p>
-<pre class="eval">$ MERGE_TO="c6abfc89215a"
-$ LAST_BAD="90ad165ae21b"
-$ LAST_GOOD="55ef0e0529bc"
-$ hg up -r $LAST_BAD
-90 files updated, 0 files merged, 4 files removed, 0 files unresolved
-</pre>
-<p>We just traveled back in time to the last cset we want to nuke. Now we'll revert the changes between <code>$FIRST_BAD</code> and <code>$LAST_BAD</code>.</p>
-<pre class="eval">$ hg revert --all --no-backup -r $LAST_GOOD
-reverting accessible/src/msaa/nsTextAccessibleWrap.cpp
-reverting content/svg/content/src/SVGMotionSMILPathUtils.h
-reverting content/svg/content/src/nsSVGPathElement.cpp
-reverting gfx/src/nsIDeviceContext.h
-reverting gfx/src/thebes/nsThebesDeviceContext.cpp
-reverting gfx/src/thebes/nsThebesDeviceContext.h
-reverting gfx/thebes/gfxPlatform.cpp
-reverting gfx/thebes/gfxPlatform.h
-reverting layout/base/nsCSSFrameConstructor.cpp
-reverting layout/base/nsDocumentViewer.cpp
-reverting layout/base/nsIPresShell.h
-reverting layout/base/nsPresShell.cpp
-reverting layout/build/nsLayoutStatics.cpp
-reverting layout/generic/nsFrameFrame.cpp
-reverting layout/generic/nsObjectFrame.cpp
-reverting layout/generic/nsSimplePageSequence.cpp
-reverting layout/generic/nsTextFrameThebes.cpp
-reverting layout/inspector/src/inFlasher.cpp
-reverting layout/printing/nsPrintEngine.cpp
-reverting layout/svg/base/src/nsSVGForeignObjectFrame.cpp
-reverting layout/svg/base/src/nsSVGGlyphFrame.cpp
-reverting layout/svg/base/src/nsSVGImageFrame.cpp
-reverting layout/svg/base/src/nsSVGPathGeometryFrame.cpp
-reverting layout/svg/base/src/nsSVGUtils.cpp
-reverting layout/svg/base/src/nsSVGUtils.h
-reverting layout/xul/base/src/nsMenuPopupFrame.cpp
-reverting layout/xul/base/src/nsSplitterFrame.cpp
-reverting layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp
-reverting view/public/nsIView.h
-reverting view/src/nsView.cpp
-reverting view/src/nsView.h
-reverting widget/public/nsIWidget.h
-reverting widget/src/beos/nsWindow.h
-reverting widget/src/cocoa/nsChildView.h
-reverting widget/src/cocoa/nsCocoaWindow.h
-reverting widget/src/windows/nsWindow.cpp
-reverting widget/src/xpwidgets/nsBaseWidget.cpp
-reverting widget/src/xpwidgets/nsBaseWidget.h
-$ hg commit -m 'Back out bug 585817 and bug 582057'
-created new head
-</pre>
-<p>After committing the reversion, we now have a new head that doesn't include the probably-good changes after <code>$LAST_BAD</code>.</p>
-<pre class="eval">@ 1767c1fb9418 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Back out bug 585817 and bug 582057
-|
-| o c6abfc89215a - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 485288 - Replace all usage of video autobuffer attribute with preload=auto. a=test-fix
-| |
-| o d6e8fddeb95b - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 548523 - Disable test_preload_actions.html case 9 until bug 568402 is fixed. a=test-fix
-| |
-| o 571d2664ead0 - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 548523 - Don't show throbber on video controls if we're not loading a resource. r=dolske a=blocking2.0
-| |
-| o 3f7dfabab5e4 - Rich Dougherty &lt;<a class="link-mailto" href="mailto:rich@rd.gen.nz" rel="freelink">rich@rd.gen.nz</a>&gt;, Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 548523 - Replace HTMLMediaElement.autobuffer attribute with 'preload'. r=roc a=blocking2.0
-| |
-| o d7d9cf4ab76a - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 519897 - Supported indexed Ogg files. r=doublec
-| |
-| o 2a0e5811ece9 - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Commit merge of backout of 66dcf25705f9. a=backout
-| |\
-| | o 958a30df30dd - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Backed out changeset 66dcf25705f9
-| | |
-| o | 6eead86e13dd - Michael Wu &lt;<a class="link-mailto" href="mailto:mwu@mozilla.com" rel="freelink">mwu@mozilla.com</a>&gt; - Bug 556644 - Yet another removed-files.in update, r=rs a=blocking-beta5
-| | |
-| o | 69c6ce104f45 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 588216: Avoid race between IO-thread loop-&gt;PostTask() and main-thread loop-&gt;SetNestableTasksAllowed() that led to Tasks being ignored. r=bent
-| | |
-| o | 73899b33ca4b - Ben Turner &lt;<a class="link-mailto" href="mailto:bent.mozilla@gmail.com" rel="freelink">bent.mozilla@gmail.com</a>&gt; - Bug 576716 - 'Crash [@ TypedArrayTemplate&lt;int&gt;::init] or [@ TypedArrayTemplate&lt;int&gt;::create]'. Adding a test, r=vlad a=blocker
-| | |
-| o | 3bd62d459019 - Mark Banner &lt;<a class="link-mailto" href="mailto:bugzilla@standard8.plus.com" rel="freelink">bugzilla@standard8.plus.com</a>&gt; - Follow up to bug 587984 bustage fix for l10n repacks. r=Pike,ted,a=bustage-fix
-| | |
-| o | e1ca9091e5a6 - Benjamin Stover &lt;<a class="link-mailto" href="mailto:webapps@stechz.com" rel="freelink">webapps@stechz.com</a>&gt; - Bug 575731: Make test more stable in the face of various themes. r,a=sicking
-| | |
-| o | bb200e1f52b4 - Jonas Sicking &lt;<a class="link-mailto" href="mailto:jonas@sicking.cc" rel="freelink">jonas@sicking.cc</a>&gt; - Bug 550959: Require version 2.5 of python. r=ted a=sicking
-| | |
-| o | 992491c618de - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (12/12): fix assertions in nsStyleAnimation triggered by part 3. r=dbaron a2.0=dbaron
-| | |
-| o | 2f078585a0f6 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (11/12): Make all assertions fatal in Declaration.h, Declaration.cpp, nsCSSDataBlock.h, nsCSSDataBlock.cpp, nsCSSValue.h, nsCSSValue.cpp, nsCSSProps.h, and nsCSSProps.cpp. r=dbaron a2.0=dbaron
-| | |
-| o | 5a9bd15fd7a8 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (10/12): Don't directly manipulate the contents of mTempData in the CSS parser. r=dbaron a2.0=dbaron
-| | |
-| o | 4bb2e0074aeb - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (9/12): Add an AddLonghandProperty method to nsCSSExpandedDataBlock. r=dbaron a2.0=dbaron
-| | |
-| o | 659a0864e035 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (8/12): remove the last MoveValue call from the CSS parser. r=dbaron a2.0=dbaron
-| | |
-| o | 980f0170d982 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (7/12): cleanup pass on css/Declaration.{h,cpp} and nsCSSDataBlock.{h,cpp}. r=dbaron a2.0=dbaron
-| | |
-| o | f09c1638d3c1 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (6/12): remove vestiges of nsCSSType. r=dbaron a2.0=dbaron
-| | |
-| o | b88472b0af90 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (5/12): eliminate ValueList as a storage type. r=dbaron a2.0=dbaron
-| | |
-| o | a3e21759b570 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (4/12): eliminate ValuePairList as a storage type. r=dbaron a2.0=dbaron
-| | |
-| o | ed89c9e297ab - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (3/12): eliminate Rect as a storage type. r=dbaron a2.0=dbaron
-| | |
-| o | 4fc85e572c38 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (2/12): eliminate ValuePair as a storage type. r=dbaron a2.0=dbaron
-| | |
-| o | 301875d4f9b6 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (1/12): Move all the CSS 'storage types' (rect, value pair, etc) to nsCSSValue.h and their code to nsCSSValue.cpp. r=dbaron a2.0=dbaron
-|/ /
-o | 90ad165ae21b - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part i: Use nsIWidget::CreateChild in nsIView::CreateWidget* (where possible). r=roc a=blocking-fennecb1
-| |
-o | 037a5d6b376a - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part h: Add an nsIWidget::CreateChild interface to sweep (relevant to this bug) code dealing with native widgets under the widget/src/* rug. sr=roc
-| |
-o | f1af117d4598 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part g: Split nsIView::CreateWidget into CreateWidget, CreateWidgetForParent, and CreateWidgetForPopup in preparation of eliminating IIDs here. sr=roc
-| |
-o | 5bf0b315a5aa - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part f: Split out window initialization code in preparation for multiple CreateWidget* methods. r=roc
-| |
-o | 353da995af6f - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part e: Simplify the logic for creating popup widgets. r=roc
-| |
-o | 7735c00eabe9 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part d: Simplify nsView::LoadWidget and return early if it fails. r=roc
-| |
-o | 7b17bcefb174 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part c: Initialize default widget init data earlier so that it's always available. r=roc
-| |
-o | c5945b6a97ed - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part b: Remove nsIDeviceContext::SupportsNativeWidgets because it's not used meaningfully, and will be confusing in content processes. sr=roc
-| |
-o | 5452db293694 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part a: Add nsIView::Impl() and nsView::CreateWidget() to get rid of |static_cast&lt;nsview*&gt;(this)|. r=roc
-| |
-o | 9407827b5166 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582075, part 0.5: Add support for aInitData=NULL to the Windows nsWindow implementation. r=dougt
-| |
-o | 88a279b64473 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part 0: Log the repaint region bounding rect in DumpPaintEvent. r=roc
-| |
-o | cebb111fbfc4 - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:roc@ocallahan.org" rel="freelink">roc@ocallahan.org</a>&gt; - Bug 585817. Part 3: Remove nsSVGUtils::GetThebesComputationalSurface and use gfxPlatform::ScreenReferenceSurface instead. r=jwatt
-| |
-o | 7b3726c3a580 - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:roc@ocallahan.org" rel="freelink">roc@ocallahan.org</a>&gt; - Bug 585817. Part 2: Change nsIPresShell::CreateRenderingContext to GetReferenceRenderingContext, that uses the shared 1x1 surface, and use it all over the place. r=mats,sr=dbaron
-| |
-o | b3e968d831ec - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:roc@ocallahan.org" rel="freelink">roc@ocallahan.org</a>&gt; - Bug 585817. Part 1: Create a single static 1x1 surface in gfxPlatform that can be used to create contexts for text measurement etc. r=vlad
-| |
-o | 55ef0e0529bc - Mounir Lamouri &lt;<a class="link-mailto" href="mailto:mounir.lamouri@gmail.com" rel="freelink">mounir.lamouri@gmail.com</a>&gt; - Bug 506554 - Implement the CSS3 pseudo-classes :required and :optional for HTML. r=sicking sr=bz a2.0=blocking
-| |
-&lt;/int&gt;&lt;/int&gt;</pre>
-<p>We want to merge with those probably-good changesets. Note that if any of those probably-good changesets touched code you backed out, you'll need to resolve merge conflicts.</p>
-<pre class="eval">$ hg merge $MERGE_TO
-92 files updated, 0 files merged, 2 files removed, 0 files unresolved
-(branch merge, don't forget to commit)
-$ hg commit -m 'Merge backout'
-</pre>
-<p>OK, good to go. Your tree should look something like</p>
-<pre class="eval">@ 8fccc434c295 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Merge backout
-|\
-| o 1767c1fb9418 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Back out bug 585817 and bug 582057
-| |
-o | c6abfc89215a - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 485288 - Replace all usage of video autobuffer attribute with preload=auto. a=test-fix
-| |
-o | d6e8fddeb95b - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 548523 - Disable test_preload_actions.html case 9 until bug 568402 is fixed. a=test-fix
-| |
-o | 571d2664ead0 - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 548523 - Don't show throbber on video controls if we're not loading a resource. r=dolske a=blocking2.0
-| |
-o | 3f7dfabab5e4 - Rich Dougherty &lt;<a class="link-mailto" href="mailto:rich@rd.gen.nz" rel="freelink">rich@rd.gen.nz</a>&gt;, Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 548523 - Replace HTMLMediaElement.autobuffer attribute with 'preload'. r=roc a=blocking2.0
-| |
-o | d7d9cf4ab76a - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Bug 519897 - Supported indexed Ogg files. r=doublec
-| |
-o | 2a0e5811ece9 - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Commit merge of backout of 66dcf25705f9. a=backout
-|\ \
-| o | 958a30df30dd - Chris Pearce &lt;<a class="link-mailto" href="mailto:chris@pearce.org.nz" rel="freelink">chris@pearce.org.nz</a>&gt; - Backed out changeset 66dcf25705f9
-| | |
-o | | 6eead86e13dd - Michael Wu &lt;<a class="link-mailto" href="mailto:mwu@mozilla.com" rel="freelink">mwu@mozilla.com</a>&gt; - Bug 556644 - Yet another removed-files.in update, r=rs a=blocking-beta5
-| | |
-o | | 69c6ce104f45 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 588216: Avoid race between IO-thread loop-&gt;PostTask() and main-thread loop-&gt;SetNestableTasksAllowed() that led to Tasks being ignored. r=bent
-| | |
-o | | 73899b33ca4b - Ben Turner &lt;<a class="link-mailto" href="mailto:bent.mozilla@gmail.com" rel="freelink">bent.mozilla@gmail.com</a>&gt; - Bug 576716 - 'Crash [@ TypedArrayTemplate&lt;int&gt;::init] or [@ TypedArrayTemplate&lt;int&gt;::create]'. Adding a test, r=vlad a=blocker
-| | |
-o | | 3bd62d459019 - Mark Banner &lt;<a class="link-mailto" href="mailto:bugzilla@standard8.plus.com" rel="freelink">bugzilla@standard8.plus.com</a>&gt; - Follow up to bug 587984 bustage fix for l10n repacks. r=Pike,ted,a=bustage-fix
-| | |
-o | | e1ca9091e5a6 - Benjamin Stover &lt;<a class="link-mailto" href="mailto:webapps@stechz.com" rel="freelink">webapps@stechz.com</a>&gt; - Bug 575731: Make test more stable in the face of various themes. r,a=sicking
-| | |
-o | | bb200e1f52b4 - Jonas Sicking &lt;<a class="link-mailto" href="mailto:jonas@sicking.cc" rel="freelink">jonas@sicking.cc</a>&gt; - Bug 550959: Require version 2.5 of python. r=ted a=sicking
-| | |
-o | | 992491c618de - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (12/12): fix assertions in nsStyleAnimation triggered by part 3. r=dbaron a2.0=dbaron
-| | |
-o | | 2f078585a0f6 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (11/12): Make all assertions fatal in Declaration.h, Declaration.cpp, nsCSSDataBlock.h, nsCSSDataBlock.cpp, nsCSSValue.h, nsCSSValue.cpp, nsCSSProps.h, and nsCSSProps.cpp. r=dbaron a2.0=dbaron
-| | |
-o | | 5a9bd15fd7a8 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (10/12): Don't directly manipulate the contents of mTempData in the CSS parser. r=dbaron a2.0=dbaron
-| | |
-o | | 4bb2e0074aeb - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (9/12): Add an AddLonghandProperty method to nsCSSExpandedDataBlock. r=dbaron a2.0=dbaron
-| | |
-o | | 659a0864e035 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (8/12): remove the last MoveValue call from the CSS parser. r=dbaron a2.0=dbaron
-| | |
-o | | 980f0170d982 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (7/12): cleanup pass on css/Declaration.{h,cpp} and nsCSSDataBlock.{h,cpp}. r=dbaron a2.0=dbaron
-| | |
-o | | f09c1638d3c1 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (6/12): remove vestiges of nsCSSType. r=dbaron a2.0=dbaron
-| | |
-o | | b88472b0af90 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (5/12): eliminate ValueList as a storage type. r=dbaron a2.0=dbaron
-| | |
-o | | a3e21759b570 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (4/12): eliminate ValuePairList as a storage type. r=dbaron a2.0=dbaron
-| | |
-o | | ed89c9e297ab - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (3/12): eliminate Rect as a storage type. r=dbaron a2.0=dbaron
-| | |
-o | | 4fc85e572c38 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (2/12): eliminate ValuePair as a storage type. r=dbaron a2.0=dbaron
-| | |
-o---+ 301875d4f9b6 - Zack Weinberg &lt;<a class="link-mailto" href="mailto:zweinberg@mozilla.com" rel="freelink">zweinberg@mozilla.com</a>&gt; - Bug 576044 (1/12): Move all the CSS 'storage types' (rect, value pair, etc) to nsCSSValue.h and their code to nsCSSValue.cpp. r=dbaron a2.0=dbaron
- / /
-| o 90ad165ae21b - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part i: Use nsIWidget::CreateChild in nsIView::CreateWidget* (where possible). r=roc a=blocking-fennecb1
-| |
-| o 037a5d6b376a - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part h: Add an nsIWidget::CreateChild interface to sweep (relevant to this bug) code dealing with native widgets under the widget/src/* rug. sr=roc
-| |
-| o f1af117d4598 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part g: Split nsIView::CreateWidget into CreateWidget, CreateWidgetForParent, and CreateWidgetForPopup in preparation of eliminating IIDs here. sr=roc
-| |
-| o 5bf0b315a5aa - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part f: Split out window initialization code in preparation for multiple CreateWidget* methods. r=roc
-| |
-| o 353da995af6f - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part e: Simplify the logic for creating popup widgets. r=roc
-| |
-| o 7735c00eabe9 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part d: Simplify nsView::LoadWidget and return early if it fails. r=roc
-| |
-| o 7b17bcefb174 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part c: Initialize default widget init data earlier so that it's always available. r=roc
-| |
-| o c5945b6a97ed - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part b: Remove nsIDeviceContext::SupportsNativeWidgets because it's not used meaningfully, and will be confusing in content processes. sr=roc
-| |
-| o 5452db293694 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part a: Add nsIView::Impl() and nsView::CreateWidget() to get rid of |static_cast&lt;nsview*&gt;(this)|. r=roc
-| |
-| o 9407827b5166 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582075, part 0.5: Add support for aInitData=NULL to the Windows nsWindow implementation. r=dougt
-| |
-| o 88a279b64473 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Bug 582057, part 0: Log the repaint region bounding rect in DumpPaintEvent. r=roc
-| |
-| o cebb111fbfc4 - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:roc@ocallahan.org" rel="freelink">roc@ocallahan.org</a>&gt; - Bug 585817. Part 3: Remove nsSVGUtils::GetThebesComputationalSurface and use gfxPlatform::ScreenReferenceSurface instead. r=jwatt
-| |
-| o 7b3726c3a580 - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:roc@ocallahan.org" rel="freelink">roc@ocallahan.org</a>&gt; - Bug 585817. Part 2: Change nsIPresShell::CreateRenderingContext to GetReferenceRenderingContext, that uses the shared 1x1 surface, and use it all over the place. r=mats,sr=dbaron
-| |
-| o b3e968d831ec - Robert O'Callahan &lt;<a class="link-mailto" href="mailto:roc@ocallahan.org" rel="freelink">roc@ocallahan.org</a>&gt; - Bug 585817. Part 1: Create a single static 1x1 surface in gfxPlatform that can be used to create contexts for text measurement etc. r=vlad
-| |
-| o 55ef0e0529bc - Mounir Lamouri &lt;<a class="link-mailto" href="mailto:mounir.lamouri@gmail.com" rel="freelink">mounir.lamouri@gmail.com</a>&gt; - Bug 506554 - Implement the CSS3 pseudo-classes :required and :optional for HTML. r=sicking sr=bz a2.0=blocking
-| |
-$ hg out
-comparing with <a class="external" href="http://hg.mozilla.org/mozilla-central" rel="freelink">http://hg.mozilla.org/mozilla-central</a>
-searching for changes
-1767c1fb9418 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Back out bug 585817 and bug 582057
-8fccc434c295 - Chris Jones &lt;<a class="link-mailto" href="mailto:jones.chris.g@gmail.com" rel="freelink">jones.chris.g@gmail.com</a>&gt; - Merge backout
-&lt;/int&gt;&lt;/int&gt;
-</pre>
-<h2 id="Help" name="Help">Maintaining a branch of mozilla-central</h2>
-<p>Let foo be the project you are working on. We assume that the project directory will be <a class="external" href="http://hg.mozilla.org/projects/foo" rel="freelink">http://hg.mozilla.org/projects/foo</a> and is a branch of mozilla-central. We also assume that you want to push some patches on foo and periodically synchronize both repositories.</p>
-<h3 id="Modify_hgrc">Modify hgrc</h3>
-<p>To make things simpler, you can modify the hgrc file in the repository. You can find it here: /path/to/repository/.hg/hgrc</p>
-<p>Change it to:</p>
-<pre>[paths]
-default = http://hg.mozilla.org/projects/foo
-m-c = ssh://hg.mozilla.org/mozilla-central
-default-push = ssh://hg.mozilla.org/projects/foo
-</pre>
-<h3 id="Synchronize_mozilla-central_and_foo_project">Synchronize mozilla-central and foo project</h3>
-<p>You can push to foo as you would push to any repository but you might want to keep in sync both repositories. To do that, you can run these commands:</p>
-<pre>hg pull -u # Get all the changes to foo in your repo.
-hg pull m-c # Get all the changes to mozilla-central in your repo.
-hg merge # Here, the things might be complex and would need extra carefulness.
-# resolve merge conflicts, if any
-hg commit -m "Merge foo with mozilla-central."
-hg push # Push the merge to foo.
-hg push m-c # Push the changes to mozilla-central.
-</pre>
-<h2 id="Help" name="Help">Help</h2>
-<h3 id="Help.2C_I_can.27t_push.21" name="Help.2C_I_can.27t_push.21">Help, I can't push!</h3>
-<p>If you're trying to push, and you can't, first try this:</p>
-<pre class="eval">$ ssh hg.mozilla.org
-</pre>
-<p>If you see output like:</p>
-<pre class="eval">Permission denied (publickey,gssapi-with-mic).
-</pre>
-<p>it may have the following reasons:</p>
-<ul>
- <li>you need to <a href="#How_do_I_check_stuff_in.3F">configure your username correctly</a></li>
- <li>you don't have the correct private key in ~/.ssh</li>
- <li>you don't have an hg.mozilla.org account. (If you should have one, <a class="link-https" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org">file a bug</a> in mozilla.org:Server Operations.)</li>
-</ul>
-<p>If you see output like:</p>
-<pre class="eval">You are not allowed to use this system, go away!
-</pre>
-<p>then you need to <a class="link-https" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org">file a bug</a> in mozilla.org:Server Operations.</p>
-<p>You should expect the ssh command to disconnect you immediately, since you're not supposed to have shell access. It may give the output:</p>
-<pre class="eval">Could not chdir to home directory : No such file or directory
-</pre>
-<p>which is harmless (although some people see it and some people don't).</p>
-<p>If you see output like:</p>
-<pre class="eval">ssl required
-</pre>
-<p>then you need to <a href="#How_do_I_check_stuff_in.3F">configure your default-push correctly</a>.</p>
-<h2 id="Things_that_have_changed" name="Things_that_have_changed">Branch merges</h2>
-<p>As part of the rapid release process, the contents of e.g. mozilla-aurora and mozilla-beta are subject to merge events that happen according to the planned branch migration dates. After a branch merge event occurred, if you attempt to use "hg update" in your local tree, you may get error messages such as "abort: crosses branches". In order to fix it, first make sure you don't have local changes, then run "hg update -C -r default".</p>
-<h2>Other</h2>
-<h3 id="What's_the_difference_between_hg_pull_and_hg_update.3F">What's the difference between hg pull and hg update?</h3>
-<p><img alt="hg-diagram.png" class="internal default" src="/@api/deki/files/3040/=hg-diagram.png" style="margin-left: 50px; margin-top: 20px; width: 405px; height: 222px;"></p>
-<p><code>hg pull</code> copies changesets from one repository to another.  It only brings changes into your local <em>repository</em>, not your working copy.  It will touch the network if you're pulling from a remote repository.</p>
-<p><code>hg update</code> updates your working copy.  It only modifies your working copy.  It will not touch the network (unless your directory is on a network filesystem).</p>
-<h3 id="How_does_Mercurial_handle_line_endings.3F" name="How_does_Mercurial_handle_line_endings.3F">How does Mercurial handle line endings?</h3>
-<p>The Windows version of Mercurial does not automatically convert line endings between Windows and Unix styles. All our repositories use Unix line endings. We need a story for Windows, but right now I have no ideas.</p>
-<p>(How about a pre-commit hook that rejects pushes containing CR with a suitably informative error message? We possibly want to make exceptions for certain types of files (at least binary files of course), but we can tweak the hook as necessary as these crop up. Mercurial 1.0 adds a standard hook for this in the win32text extension that we could use/adapt. --jwatt)</p>
-<h2 id="Things_that_have_changed" name="Things_that_have_changed">See Also</h2>
-<ul>
- <li><a class="link-https" href="https://mxr.mozilla.org/mozilla-central/" title="https://mxr.mozilla.org/mozilla-central/">Search mozilla-central code using MXR</a></li>
- <li>See also <a href="/en/Mercurial//Desired_Features" title="en/Mercurial//Desired_Features">Mercurial/Desired Features</a></li>
- <li><a href="/en/Mozilla/Mercurial/How_Is_Mercurial_different_from_CVS" title="en/Mozilla/Mercurial/How_Is_Mercurial_different_from_CVS">How Is Mercurial different from CVS?</a></li>
-</ul>
-<p>{{ languages( { "es": "es/FAQ_de_Mercurial" } ) }}</p>
diff --git a/files/ko/migrate_apps_from_internet_explorer_to_mozilla/index.html b/files/ko/migrate_apps_from_internet_explorer_to_mozilla/index.html
deleted file mode 100644
index dfec60681c..0000000000
--- a/files/ko/migrate_apps_from_internet_explorer_to_mozilla/index.html
+++ /dev/null
@@ -1,1058 +0,0 @@
----
-title: Migrate apps from Internet Explorer to Mozilla
-slug: Migrate_apps_from_Internet_Explorer_to_Mozilla
-tags:
- - Web Development
-translation_of: Archive/Mozilla/Migrate_apps_from_Internet_Explorer_to_Mozilla
----
-<h3 id=".EC.86.8C.EA.B0.9C" name=".EC.86.8C.EA.B0.9C">소개</h3>
-<p>넷스케이프가 Mozilla 브라우저를 시작할때 부터 Mozilla는 W3C 표준을 지원하기로 결정되었다. 그 결과 Mozilla는 Netscape Navigator 4.x와 Microsoft Internet Explorer의 구형 코드와는 완전한 하위호환성을 가지지 못하게 되었다. 예를 들어, 뒤에서 언급하겠지만 Mozilla는 &lt;layer&gt;를 지원하지 않는다. W3C 표준의 개념 이전에 만들어진 IE 4와 같은 브라우저들은 많은 쿼크들을 물려받았다. 본 글에서는 IE와 기타 구형 브라우저들과의 강력한 HTML 하위 호환성을 제공하는 Mozilla의 쿼크 모드에 관해 알아볼 것이다.</p>
-<p>또한 XMLHttpRequest와 리치 텍스트 편집과 같은, 당시에는 W3C에 이에 상응하는 것이 존재하지 않았기 때문에 Mozilla가 지원하는 비표준 기술에 대해서도 언급하겠다. 그것은 다음을 포함한다:</p>
-<ul>
- <li><a class="external" href="http://www.w3.org/TR/html401/">HTML 4.01</a>, <a class="external" href="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> and <a class="external" href="http://www.w3.org/TR/xhtml11/">XHTML 1.1</a></li>
- <li>Cascade Style Sheets (CSS): <a class="external" href="http://www.w3.org/TR/REC-CSS1">CSS Level 1</a>, <a class="external" href="http://www.w3.org/TR/CSS21/">CSS Level 2.1</a> and parts of <a class="external" href="http://www.w3.org/Style/CSS/current-work.html">CSS Level 3</a></li>
- <li>Document Object Model (DOM): <a class="external" href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/">DOM Level 1</a>, <a class="external" href="http://www.w3.org/DOM/DOMTR#dom2">DOM Level 2</a> and parts of <a class="external" href="http://www.w3.org/DOM/DOMTR#dom3">DOM Level 3</a></li>
- <li>Mathematical Markup Language: <a class="external" href="http://www.w3.org/Math/">MathML Version 2.0</a></li>
- <li>Extensible Markup Language (XML): <a class="external" href="http://www.w3.org/TR/REC-xml">XML 1.0</a>, <a class="external" href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</a>, <a class="external" href="http://www.w3.org/TR/xml-stylesheet/">Associating Style Sheets with XML Documents 1.0</a>, <a class="external" href="http://lists.w3.org/Archives/Public/www-xml-linking-comments/2001AprJ%20un/att-0074/01-NOTE-FIXptr-20010425.htm">Fragment Identifier for XML</a></li>
- <li>XSL Transformations: <a class="external" href="http://www.w3.org/TR/xslt">XSLT 1.0</a></li>
- <li>XML Path Language: <a class="external" href="http://www.w3.org/TR/xpath">XPath 1.0</a></li>
- <li>Resource Description Framework: <a class="external" href="http://www.w3.org/RDF/">RDF</a></li>
- <li>Simple Object Access Protocol: <a class="external" href="http://www.w3.org/TR/soap">SOAP 1.1</a></li>
- <li>ECMA-262, revision 3 (JavaScript 1.5): <a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMA-262</a></li>
-</ul>
-<h3 id=".EC.9D.BC.EB.B0.98.EC.A0.81.EC.9D.B8_.ED.81.AC.EB.A1.9C.EC.8A.A4_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.BD.94.EB.94.A9_.ED.8C.81" name=".EC.9D.BC.EB.B0.98.EC.A0.81.EC.9D.B8_.ED.81.AC.EB.A1.9C.EC.8A.A4_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80_.EC.BD.94.EB.94.A9_.ED.8C.81">일반적인 크로스 브라우저 코딩 팁</h3>
-<p>웹표준이 존재하긴 하지만, 서로다른 브라우저는 서로 다르게 작동한다. (사실, 같은 브라우저라도 플랫폼에 따라 다르게 작동한다.) IE와 같은 많은 브라우저들이 W3C 이전의 API들도 지원하며 W3C 적용 API들에 대한 확장된 지원을 추가하지 않았다.</p>
-<p>Mozilla와 IE 사이의 차이점을 논하기 전에, 추후 새로운 브라우저를 지원할 수 있도록 확장성있는 웹 어플리케이션을 만들 수 있는 기본적인 방법을 다루도록 하겠다.</p>
-<p>서로 다른 브라우저들이 가끔 같은 기능에 대해 서로 다른 API를 사용하기 때문에, 브라우저들간에 구별을 위해 코드 전반적으로 여러개의 if() else() 블록을 사용하는 것을 종종 볼 수 있다. 다음 코드는 IE를 위해 고안된 코드 블록을 보여준다.</p>
-<pre>. . .
-
-var elm;
-
-if (ns4)
- elm = document.layers["myID"];
-else if (ie4)
- elm = document.all["myID"]
-</pre>
-<p>위의 코드는 확장성이 없기 때문에 새로운 브라우저를 지원하고 싶으면 웹 어플리케이션 전체에 있는 이러한 블록들을 수정해야만 한다.</p>
-<p>새로운 브라우저 추가를 위해 코딩을 다시하는 것을 막을 수 있는 가장 쉬운방법은 기능성을 추상화하는 것이다. 여러개의 if() else() 블록 보다는 공통적인 기능을 취하여 그 기능만으로 추상화시킴으로써 효율성을 증가시킬 수 있다. 이것은 코드의 가독성을 높일 뿐만 아니라, 새로운 클라이언트에 대한 지원을 추가하는 것을 단순화 시킨다.</p>
-<pre>var elm = getElmById("myID");
-
-function getElmById(aID){
- var element = null;
-
- if (isMozilla || isIE5)
- element = document.getElementById(aID);
- else if (isNetscape4)
- element = document.layers[aID];
- else if (isIE4)
- element = document.all[aID];
-
- return element;
-}
-</pre>
-<p>위의 코드는 아직 브라우저 스니핑 혹은 사용자가 어느 브라우저를 사용하고 있는가의 문제를 안고 있다. 브라우저 스니핑은 보통 다음과 같은 useragent를 통하여 행해 진다:</p>
-<pre>Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031016
-</pre>
-<p>useragent로 브라우저를 스니핑하는 것이 사용중인 브라우저에 대한 세부 정보를 제공하기는 하지만, useragents를 다루는 코드는 종종 새로운 브라우저 버전이 출시될때 실수를 일으킬 수 있으며 그래서 코드를 바꿔야 할 수도 있다.</p>
-<p>브라우저의 타입에 상관없다면 (웹 어플리케이션 접근에 대해 지원되지 않는 브라우저는 이미 차단했다고 가정할때), 브라우저가 가진 기능이나 오브젝트 특성 지원으로부터 스니핑하는 것이 훨씬 더 좋고 더욱 신뢰성이 있다. 이것은 보통 자바스크립트에서 필요한 기능이 존재하는지를 검사해보는 것으로 행해진다. 예를들면 다음보다는:</p>
-<pre>if (isMozilla || isIE5)
-</pre>
-<p>이것을 사용하는 것이다:</p>
-<pre>if (document.getElementById)
-</pre>
-<p>이는 Opera와 Safari같이 W3C 표준 메소드를 지원하는 다른 브라우저들이 아무런 수정을 하지 않고도 작동할 수 있게 한다.</p>
-<p>그러나 useragent 스니핑은 브라우저가 웹 어플리케이션의 버전 요구사항을 만족시키는지를 검사할때나 버그와 관련한 작업과 같이 정확도가 중요할때 의미가 있다.</p>
-<p>자바스크립트는 인라인 조건문도 허용하는데 이것은 코드 가독성을 증가시킨다:</p>
-<pre>var foo = (condition) ? conditionIsTrue : conditionIsFalse;
-</pre>
-<p>예를 들면, 엘리먼트를 얻기 위해 다음을 사용한다:</p>
-<pre>
-function getElement(aID){
- return (document.getElementById) ? document.getElementById(aID)
-  : document.all[aID];
-}
-</pre>
-<p>혹은 || 연산자를 사용한 다른 방법도 있다.</p>
-<pre>function getElement(aID){
- return (document.getElementById(aID)) || document.all[aID]);
-}
-</pre>
-<h3 id="Mozilla.EC.99.80_IE_.EA.B0.84.EC.9D.98_.EC.B0.A8.EC.9D.B4.EC.A0.90" name="Mozilla.EC.99.80_IE_.EA.B0.84.EC.9D.98_.EC.B0.A8.EC.9D.B4.EC.A0.90">Mozilla와 IE 간의 차이점</h3>
-<p>우선 Mozilla와 IE간의 HTML이 동작하는 방법에서의 차이점 부터 알아보겠다.</p>
-<h4 id=".ED.88.B4.ED.8C.81" name=".ED.88.B4.ED.8C.81">툴팁</h4>
-<p>구형 브라우저들은 링크상에 툴팁을 보여주거나 툴팁의 내용으로 <code>alt</code> 속성 값을 사용함으로써 툴팁을 도입했다. 최근의 W3C HTML 스펙은 <code>title</code> 속성을 만들었는데 이것은 링크의 세부 설명을 포함할 수 있다. 오늘 날의 브라우저들은 툴팁을 보여주기 위해 <code>title</code> 속성을 사용할 것이다. 그리고 Mozilla는 <code>title</code> 속성으로 툴팁을 보여주는 것만을 지원하며 <code>alt</code> 속성은 지원하지 않는다.</p>
-<h4 id=".EC.97.94.ED.8B.B0.ED.8B.B0" name=".EC.97.94.ED.8B.B0.ED.8B.B0">엔티티</h4>
-<p>HTML 마크업은 몇몇 엔티티를 포함할 수 있는데, 이 엔티티는 W3C 웹 표준 본문에 정의되어 있다. 엔티티는 숫자형이나 캐릭터 레퍼런스로 참조될 수 있다. 예를 들면, 공백 문자 #160은 <code>&amp;#160;</code> 또는 동등한 캐릭터 레퍼런스인 <code>&amp;nbsp;</code>로 참조될 수 있다.</p>
-<p>IE와 같은 몇몇 오래된 브라우저들은 보통의 텍스트 컨텐츠의 끝에서 <code>;</code>(세미콜론)을 생략하여 엔티티를 사용하는 것을 가능하게 하는 쿼크들을 가지고 있었다.</p>
-<pre>&amp;nbsp Foo
-&amp;nbsp&amp;nbsp Foo
-</pre>
-<p>IE는 비록 W3C 스펙에 어긋나기는 하지만 위의 <code>&amp;nbsp</code>를 공백으로 렌더링한다. 브라우저는 만약 바로 직후에 다른 문자가 오면 <code>&amp;nbsp</code>를 파싱하지 않는다. 예를들면,</p>
-<pre>&amp;nbsp12345
-</pre>
-<p>이 코드는 Mozilla에서는 동작하지 않는다. 왜냐하면 W3C 웹표준에 어긋나기 때문이다. 브라우저간의 불일치를 피하려면 항상 정확한 형식(<code>&amp;nbsp;</code>)을 사용하라.</p>
-<h3 id="DOM_.EC.B0.A8.EC.9D.B4" name="DOM_.EC.B0.A8.EC.9D.B4">DOM 차이</h3>
-<p>Document Object Model (DOM)은 문서 엘리먼트를 포함하고 있는 트리구조이다. W3C가 표준화한 자바스크립트 API로 이것을 조작할 수 있다. 그러나, W3C 표준화 이전에 넷스케이프 4와 IE 4는 유사하게 API를 구현했다. Mozilla는 W3C 웹표준으로 이룰 수 없는 경우에만 구식 API를 구현했다.</p>
-<h4 id=".EC.97.98.EB.A6.AC.EB.A8.BC.ED.8A.B8_.EC.A0.91.EA.B7.BC" name=".EC.97.98.EB.A6.AC.EB.A8.BC.ED.8A.B8_.EC.A0.91.EA.B7.BC">엘리먼트 접근</h4>
-<p>크로스 브라우저 접근법을 사용해서 엘리먼트 레퍼런스를 탐색하기 위해서는 <code>document.getElementById(aID)</code>를 사용하는데, 이것은 IE 5.0+, Mozilla기반 브라우저, 그리고 다른 W3C 적용 브라우저들에서 작동하며 DOM Level 1 스펙의 일부이다.</p>
-<p>Mozilla는 document.elementName이라던지 엘리먼트의 name을 통해서 접근하는 방법을 지원하지 않는 반면에 IE는 이를 지원한다. (<em>global namespace polluting</em>이라고도 부른다.) Mozilla는 넷스케이프 4의 <code>document.layers</code> 메소드나 IE의 <code>document.all</code> 메소드도 지원하지 않는다. <code>document.getElementById</code>가 하나의 엘리먼트를 찾아내는 방법인 반면에 <code>document.layers</code>나 <code>document.all</code>를 사용하면 모든 <code>&lt;div&gt;</code> 엘리먼트들과 같이 특정 태그명의 모든 문서 엘리먼트들의 리스트를 얻을 수 있다.</p>
-<p>W3C DOM Level 1 메소드는 <code>getElementsByTagName()</code>을 통해 같은 태그명을 가진 모든 엘리먼트들에 대한 레퍼런스를 얻을 수 있다. 이 메소드는 자바스크립트에서 배열로 반환되며, <code>document</code> 엘리먼트에 호출되거나, 다른 노드들에 그 하위 구조만을 탐색하게 호출할 수 있다. DOM 트리에서 모든 엘리먼트들에 대한 배열을 얻으려면 <code>getElementsByTagName("*")</code>를 사용한다.</p>
-<p>표 1에서 보는 바와 같이, DOM Level 1 메소드는 엘리먼트를 특정 위치로 옮기거나 (메뉴, 에니메이션 등을) 보이게 혹은 안보이게 하는데 공통적으로 쓰인다. 넷스케이프 4는 Mozilla가 지원하지 않는 <code>&lt;layer&gt;</code>태그를 아무곳에나 위치시킬 수 있는 HTML 엘리먼트로사용했다. Mozilla에서는 <code>&lt;div&gt;</code> 태그를 사용하여 어떠한 엘리먼트라도 위치시킬 수 있는데, 이것은 IE도 잘 사용되며 HTML 스펙에 나와있는 것이다.</p>
-<table class="standard-table">
- <caption>
- 표 1. Methods used to access elements</caption>
- <tbody>
- <tr>
- <th>Method</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>document.getElementById( aId )</td>
- <td>Returns a reference to the element with the specified ID.</td>
- </tr>
- <tr>
- <td>document.getElementsByTagName( aTagName )</td>
- <td>Returns an array of elements with the specified name in the document.</td>
- </tr>
- </tbody>
-</table>
-<h4 id="DOM_.ED.83.90.EC.83.89" name="DOM_.ED.83.90.EC.83.89">DOM 탐색</h4>
-<p>Mozilla는 자바스크립트를 통하여 DOM 트리를 탐색하는 W3C DOM API를 지원한다(표 2 참조). 이 API는 문서 내에 있는 각 노드들에 대해 존재하고 아무 방향으로나 탐색하는 것이 가능하다. IE도 이 API들을 잘 지원하지만 IE는 <code>children</code> 속성처럼 DOM 트리를 탐색할 수 있는 구식 API들도 역시 지원한다.</p>
-<table class="standard-table">
- <caption>
- 표 2. Methods used to traverse the DOM</caption>
- <tbody>
- <tr>
- <th>Property/Method</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>childNodes</td>
- <td>Returns an array of all child nodes of the element.</td>
- </tr>
- <tr>
- <td>firstChild</td>
- <td>Returns the first child node of the element.</td>
- </tr>
- <tr>
- <td>getAttribute( aAttributeName )</td>
- <td>Returns the value for the specified attribute.</td>
- </tr>
- <tr>
- <td>hasAttribute( aAttributeName )</td>
- <td>Returns a boolean stating if the current node has an attribute defined with the specified name.</td>
- </tr>
- <tr>
- <td>hasChildNodes()</td>
- <td>Returns a boolean stating whether the current node has any child nodes.</td>
- </tr>
- <tr>
- <td>lastChild</td>
- <td>Returns the last child node of the element.</td>
- </tr>
- <tr>
- <td>nextSibling</td>
- <td>Returns the node immediately following the current one.</td>
- </tr>
- <tr>
- <td>nodeName</td>
- <td>Returns the name of the current node as a string.</td>
- </tr>
- <tr>
- <td>nodeType</td>
- <td>Returns the type of the current node.
- <table>
- <tbody>
- <tr>
- <th>Value</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>1</td>
- <td>Element Node</td>
- </tr>
- <tr>
- <td>2</td>
- <td>Attribute Node</td>
- </tr>
- <tr>
- <td>3</td>
- <td>Text Node</td>
- </tr>
- <tr>
- <td>4</td>
- <td>CDATA Section Node</td>
- </tr>
- <tr>
- <td>5</td>
- <td>Entity Reference Node</td>
- </tr>
- <tr>
- <td>6</td>
- <td>Entity Node</td>
- </tr>
- <tr>
- <td>7</td>
- <td>Processing Instruction Node</td>
- </tr>
- <tr>
- <td>8</td>
- <td>Comment Node</td>
- </tr>
- <tr>
- <td>9</td>
- <td>Document Node</td>
- </tr>
- <tr>
- <td>10</td>
- <td>Document Type Node</td>
- </tr>
- <tr>
- <td>11</td>
- <td>Document Fragment Node</td>
- </tr>
- <tr>
- <td>12</td>
- <td>Notation Node</td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- <tr>
- <td>nodeValue</td>
- <td>Returns the value of the current node. For nodes that contain text, such as text and comment nodes, it will return their string value. For attribute nodes, the attribute value is returned. For all other nodes, <code>null</code> is returned.</td>
- </tr>
- <tr>
- <td>ownerDocument</td>
- <td>Returns the <code>document</code> object containing the current node.</td>
- </tr>
- <tr>
- <td>parentNode</td>
- <td>Returns the parent node of the current node.</td>
- </tr>
- <tr>
- <td>previousSibling</td>
- <td>Returns the node immediately preceding the current one.</td>
- </tr>
- <tr>
- <td>removeAttribute( aName )</td>
- <td>Removes the specified attribute from the current node.</td>
- </tr>
- <tr>
- <td>setAttribute( aName, aValue )</td>
- <td>Sets the value of the specified attribute with the specified value.</td>
- </tr>
- </tbody>
-</table>
-<p>IE는 비표준 쿼크를 가지는데 이들 API의 많은 수가 뉴라인 같이 생성된 공백 텍스트 노드를 무시한다. Mozilla는 이를 무시하지 않는다. 그래서 가끔씩 이들 노드를 구별해 줄 필요가 있다. 모든 노드들은 노드 타입을 지정하는 nodeType 속성을 가지고 있다. 예를 들어, 엘리먼트 노드는 타입 1이고 텍스트 노드는 타입 3이며 주석 노드는 타입 8이다. 엘리먼트 노드만을 처리하기 위한 가장 좋은 방법은 모든 자식 노드들을 순환문을 돌려서 nodeType이 1인 노드들만 처리하는 것이다.</p>
-<pre>HTML:
- &lt;div id="foo"&gt;
- &lt;span&gt;Test&lt;/span&gt;
- &lt;/div&gt;
-
-JavaScript:
- var myDiv = document.getElementById("foo");
- var myChildren = myDiv.childNodes;
- for (var i = 0; i &lt; myChildren.length; i++) {
- if (myChildren[i].nodeType == 1){
- // element node
- };
- };
-</pre>
-<h4 id=".EC.BB.A8.ED.85.90.EC.B8.A0.EC.9D.98_.EC.83.9D.EC.84.B1.EA.B3.BC_.EC.A1.B0.EC.9E.91" name=".EC.BB.A8.ED.85.90.EC.B8.A0.EC.9D.98_.EC.83.9D.EC.84.B1.EA.B3.BC_.EC.A1.B0.EC.9E.91">컨텐츠의 생성과 조작</h4>
-<p>Mozilla는 <code>document.write</code>, <code>document.open</code>, <code>document.close</code>와 같이 DOM에 동적으로 컨텐츠를 추가하는 구형 메소드를 지원한다. Mozilla는 IE의 <code>innerHTML</code> 메소드도 지원하는데 이것은 거의 모든 노드에서 호출 가능하다. 그러나, <code>outerHTML</code>(엘리먼트 주변에 마크업을 추가하며 표준은 없다.)와 <code>innerText</code>(노드의 텍스트 값을 지정하며 Mozilla에서는 <code>textContent</code>를 사용하여 조작가능)는 지원하지 않는다.</p>
-<p>IE는 비표준이며 Mozilla에서는 지원하지 않는 몇몇 컨텐츠 조작 메소드를 가지고 있는데 여기에는 값을 추출해 내거나 텍스트를 삽입하고 <code>getAdjacentElement</code>, <code>insertAdjacentHTML</code>와 같은 노드 주변에 엘리먼트를 삽입하는 것들이 포함된다. 표3은 W3C와 Mozilla가 어떻게 컨텐츠를 조작하는지를 보여주며, 모두 어떠한 DOM 노드에서라도 사용할 수 있는 메소드들이다.</p>
-<table class="standard-table">
- <caption>
- 표 3. Methods Mozilla uses to manipulate content</caption>
- <tbody>
- <tr>
- <th>Method</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>appendChild( aNode )</td>
- <td>Creates a new child node. Returns a reference to the new child node.</td>
- </tr>
- <tr>
- <td>cloneNode( aDeep )</td>
- <td>Makes a copy of the node it is called on and returns the copy. If aDeep is true, it copies over the node's entire subtree.</td>
- </tr>
- <tr>
- <td>createElement( aTagName )</td>
- <td>Creates and returns a new and parentless DOM node of the type specified by aTagName.</td>
- </tr>
- <tr>
- <td>createTextNode( aTextValue )</td>
- <td>Creates and returns a new and parentless DOM textnode with the data value specified by aTextValue.</td>
- </tr>
- <tr>
- <td>insertBefore( aNewNode, aChildNode )</td>
- <td>Inserts aNewNode before aChildNode, which must be a child of the current node.</td>
- </tr>
- <tr>
- <td>removeChild( aChildNode )</td>
- <td>Removes aChildNode and returns a reference to it.</td>
- </tr>
- <tr>
- <td>replaceChild( aNewNode, aChildNode )</td>
- <td>Replaces aChildNode with aNewNode and returns a reference to the removed node.</td>
- </tr>
- </tbody>
-</table>
-<h4 id=".EB.8F.84.ED.81.90.EB.A8.BC.ED.8A.B8_.ED.94.84.EB.9E.98.EA.B7.B8.EB.A8.BC.ED.8A.B8" name=".EB.8F.84.ED.81.90.EB.A8.BC.ED.8A.B8_.ED.94.84.EB.9E.98.EA.B7.B8.EB.A8.BC.ED.8A.B8">도큐먼트 프래그먼트</h4>
-<p>실행 성능상의 이유로 현재 존재하고 있는 문서의 DOM에서 작업하기 보다 메모리 상에서 도큐먼트를 생성할 수 있다. DOM Level 1 Core는 도큐먼트 프래그먼트를 도입했는데 이것은 보통의 도큐먼트 인터페이스의 부분집합을 가지는 경량의 도큐먼트이다. 예를 들어, <code>getElementById</code>는 존재하지 않지만 <code>appendChild</code>는 존재한다. 또한 현재 존재하고 있는 도큐먼트에 쉽게 도큐먼트 프래그먼트를 추가할 수 있다.</p>
-<p>Mozilla 는 <code>document.createDocumentFragment()</code>를 통하여 빈 도큐먼트 프래그먼트를 생성할 수 있다.</p>
-<p>그러나 IE에서의 도큐먼트 프래그먼트 구현은 W3C 웹표준을 따르지 않으며 단순히 보통의 도큐먼트를 리턴한다.</p>
-<h3 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.B0.A8.EC.9D.B4" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.B0.A8.EC.9D.B4">자바스크립트 차이</h3>
-<p>Mozilla와 IE간의 대부분의 차이점은 보통 자바스크립트에 대한 것이다. 그러나 이러한 문제들은 DOM hook과 같이 브라우저가 자바스크립트에 대해 드러내는 API들에서는 보통 거짓이다. 두 브라우저간 코어 자바스크립트의 차이점은 거의 없다. 문제는 타이밍 관련된 이슈에서 종종 생긴다.</p>
-<h4 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EB.82.A0.EC.A7.9C_.EC.B0.A8.EC.9D.B4" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EB.82.A0.EC.A7.9C_.EC.B0.A8.EC.9D.B4">자바스크립트 날짜 차이</h4>
-<p>단하나의 <code>Date</code> 차이점은 <code>getYear</code> 메소드이다. ECMAScript 스펙(자바스크립트가 따르는 명세)에 따르면 이 메소드는 2004년에 <code>new Date().getYear()</code>를 실행시키면 "104"를 리턴한다. ECMAScript 스펙에 따르면 <code>getYear</code>는 해당년도에서 1900을 뺀 수를 리턴한다. 이것은 본래 1998년에 대해 "98"을 리턴하는 의미였다. getYear는 ECMAScript 버전3에서 deprecated되었고 <code>getFullYear()</code>로 교체되었다. IE는 Netscape 4(포함) 이전 버전과 비슷하게 1900-1999년인 경우 연도에서 1900을 뺀 값을 다른 연도는 그대로를 반환(즉, 1999년인 경우 <code>getYear()</code>는 99를 2000년인 경우 2000을 반환한다)하는 못쓰게 된 비헤비어 <code>getYear()</code>를 쓴다.</p>
-<h4 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.8B.A4.ED.96.89_.EC.B0.A8.EC.9D.B4" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.8B.A4.ED.96.89_.EC.B0.A8.EC.9D.B4">자바스크립트 실행 차이</h4>
-<p>서로다른 브라우저는 자바스크립트를 다르게 실행한다. 예를 들어, 다음 코드는 <code>script</code> 코드 실행 시점에 DOM 내에 <code>div</code> 노드가 이미 존재하고 있음을 가정한다.</p>
-<pre>...
-&lt;div id="foo"&gt;Loading...&lt;/div&gt;
-
-&lt;script&gt;
- document.getElementById("foo").innerHTML = "Done.";
-&lt;/script&gt;
-</pre>
-<p>그러나, 이것은 보장할 수 없다. 모든 엘리먼트가 존재함을 보장하기 위해서는 <code>&lt;body&gt;</code>태그에 <code>onload</code> 이벤트 핸들러를 사용해야 한다.</p>
-<pre>&lt;body onload="doFinish();"&gt;
-
-&lt;div id="foo"&gt;Loading...&lt;/div&gt;
-
-&lt;script&gt;
- function doFinish() {
- var element = document.getElementById("foo");
- element.innerHTML = "Done.";
- }
-&lt;/script&gt;
-...
-</pre>
-<p>이러한 타이밍 관련 문제에는 하드웨어도 역시 관련된다. 느린 시스템에서는 빠른 시스템에서 감춰지는 버그들이 드러날 수 있다. 확실한 예 중의 하나는 새 윈도우를 여는 <code>window.open</code>이다.</p>
-<pre>&lt;script&gt;
- function doOpenWindow(){
- var myWindow = window.open("about:blank");
- myWindow.location.href = "http://www.ibm.com";
- }
-&lt;/script&gt;
-</pre>
-<p>위의 코드가 갖고 있는 문제는 <code>window.open</code>이 비동기라는 것이다. 이것은 윈도우가 로딩을 마칠때 까지 자바스크립트 실행을 차단해 놓지 않는다. 그러므로, 새 윈도우가 뜨기도 전에 <code>window.open</code> 라인의 다음 라인이 실행될 수가 있다. 이것은 새 창에서 <code>onload</code> 핸들러를 가지게 하고 (<code>window.opener</code>를 사용하여) 새 창을 연 윈도우로 콜백 실행을 하게 하여 해결할 수 있다.</p>
-<h4 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8.EA.B0.80_.EC.83.9D.EC.84.B1.ED.95.98.EB.8A.94_HTML.EC.9D.98_.EC.B0.A8.EC.9D.B4" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8.EA.B0.80_.EC.83.9D.EC.84.B1.ED.95.98.EB.8A.94_HTML.EC.9D.98_.EC.B0.A8.EC.9D.B4">자바스크립트가 생성하는 HTML의 차이</h4>
-<p>자바스크립트는 <code>document.write</code>를 사용하여 문자열에서 HTML을 생성해낼 수 있다. 여기에서의 주요 문제는 HTML 문서 내부에 포함된 (즉, <code>&lt;script&gt;</code> 태그 내부의) 자바 스크립트가 <code>&lt;script&gt;</code>태그를 포함한 HTML을 생성하는 경우이다. 만약 문서가 strict 렌더링 모드라면 문자열 내부의 <code>&lt;/script&gt;</code> 태그를 바깥쪽의 <code>&lt;script&gt;</code>에 대한 닫는 태그로서 파싱할 것이다. 다음 코드는 이것을 가장 잘 설명한다.</p>
-<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
-...
-&lt;script&gt;
- document.write("&lt;script type='text/javascript'&gt;alert('Hello');&lt;/script&gt;")
-&lt;/script&gt;
-</pre>
-<p>페이지가 strict 모드이므로, Mozilla의 파서는 첫번째 <code>&lt;script&gt;</code>를 보고 이에 대한 닫는 태그를 찾을때까지, 즉 첫번째 <code>&lt;/script&gt;</code>를 찾을때까지 파싱한다. 이것은 파서가 strict 모드일때 자바스크립트 (혹은 다른 언어)에 관해 모르기 때문이다. 쿼크 모드에서 파서는 파싱시 (느려짐) 자바스크립트에 대해 알고 있다. IE는 항상 쿼크 모드이다 그래서 IE는 진정한 XHTML을 지원하지 않는다. 이것을 Mozilla의 strict 모드에서 작동하게 하려면 문자열을 두부분으로 분리한다:</p>
-<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
-...
-&lt;script&gt;
- document.write("&lt;script type='text\/javascript'&gt;alert('Hello');&lt;/" + "script&gt;")
-&lt;/script&gt;
-</pre>
-<h4 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EB.94.94.EB.B2.84.EA.B9.85" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EB.94.94.EB.B2.84.EA.B9.85">자바스크립트 디버깅</h4>
-<p>Mozilla는 IE를 위해 만들어진 어플리케이션들에서 발견되는 자바스크립트 관련 문제들을 디버깅할 수 있는 몇가지 방법을 제공한다. 첫번째 툴은 그림 1에서 보는 것처럼 내장된 자바스크립트 콘솔이다. 여기에는 에러와 경고가 표시된다. Mozilla에서 <strong>도구 -&gt; Web Development -&gt; JavaScript Console</strong>를 실행하거나 파이어폭스 (Mozilla에서 나온 단독 브라우저 제품)에서는 <strong>도구 -&gt; JavaScript Console</strong>를 실행한다.</p>
-<p>그림 1. JavaScript 콘솔</p>
-<p><img alt="Javascript 콘솔" class="internal" src="/@api/deki/files/2074/=Migrationguide-jsconsole.jpg"></p>
-<p>자바스크립트 콘솔은 에러나 경고, 혹은 메시지에 대한 전체 기록 목록을 보여줄 수 있다. 그림 1의 에러 메시지는 aol.com의 95번째 라인이 is_ns70이라는 정의되지 않은 변수를 접근하려한다는 것을 알려준다. 링크를 클릭하면 Mozilla의 내부 소스보기 창이 열리고 해당 라인이 하이라이트되어 있을 것이다.</p>
-<p>콘솔에서는 자바스크립트를 실행할 수도 있다. 입력한 자바스크립트 문법을 실행하려면 그림 2처럼 입력창에 <code>1+1</code>을 치고 <strong>Evaluate</strong>를 누르면 된다.</p>
-<p>그림 2. JavaScript console evaluating</p>
-<p><img alt="JavaScript Console evaluating" class="internal" src="/@api/deki/files/2073/=Migrationguide-jsconsole-eval.jpg"></p>
-<p>Mozilla의 자바스크립트 엔진은 디버깅에 대한 내장된 지원을 하므로 자바스크립트 개발자들에게 강력한 툴을 제공할 수 있다. 그림 3에 있는 Venkman은 Mozilla에 통합된 강력한 크로스 플랫폼 자바스크립트 디버거이다. 이것은 보통 Mozilla 릴리즈에 포함된다. <strong>도구 -&gt; Web Development -&gt; JavaScript Debugger</strong>로 가면 찾을 수 있다. 파이어 폭스에서는 이 디버거가 포함되어 있지 않다. 대신에 Venkman Project Page에서 다운로드 받아 설치할 수 있다. Venkman Development Page에 있는 개발 관련 페이지에서는 튜토리얼도 찾을 수 있다.</p>
-<p>그림 3. Mozilla의 JavaScript 디버거</p>
-<p><img alt="Mozilla의 JavaScript 디버거" class="internal" src="/@api/deki/files/2076/=Migrationguide-venkman.jpg"></p>
-<p>자바스크립트 디버거는 Mozilla 브라우저 창에서 실행중인 자바스크립트를 디버깅할 수 있다. 이것은 breakpoint관리, call stack inspection 혹은 variable/object inspection과 같은 표준 디버깅 기능들을 지원한다. 모든 기능들은 사용자 인터페이스를 통하거나 디버거의 대화 콘솔을 통하여 접근할 수 있다. 콘솔을 사용하면 현재 디버깅하는 자바스크립트와 같은 스코프에서 임시적인 자바스크립트를 실행시킬 수 있다.</p>
-<h3 id="CSS_.EC.B0.A8.EC.9D.B4" name="CSS_.EC.B0.A8.EC.9D.B4">CSS 차이</h3>
-<p>Mozilla 기반의 제품군은 IE를 비롯한 다른 브라우저에 비해 CSS1, CSS2.1 및 CSS3 일부를 포함한 CSS를 강력하게 지원한다.</p>
-<p>아래에 설명하는 대부분의 문제들에 대해, Mozilla는 자바스크립트 콘솔에 에러나 경고 메시지를 표시할 것이다. 만약 CSS 관련 문제에 직면하게 되면 자바스크립트 콘솔을 확인하라.</p>
-<h4 id="Mimetypes_.28CSS_.ED.8C.8C.EC.9D.BC.EC.9D.B4_.EC.A0.81.EC.9A.A9.EB.90.98.EC.A7.80_.EC.95.8A.EC.9D.84.EC.8B.9C.29" name="Mimetypes_.28CSS_.ED.8C.8C.EC.9D.BC.EC.9D.B4_.EC.A0.81.EC.9A.A9.EB.90.98.EC.A7.80_.EC.95.8A.EC.9D.84.EC.8B.9C.29">Mimetypes (CSS 파일이 적용되지 않을시)</h4>
-<p>가장 일반적인 CSS관련 문제는 참조된 CSS 파일 내부에 있는 CSS 정의가 적용되지 않는 것이다. 이것은 보통 서버가 CSS 파일에 대한 틀린 마임타입을 보낼 때 생기는 문제이다. CSS 스펙을 보면 CSS 파일은 반드시 text/css 마임타입으로 취급되게 되어 있다. Mozilla는 웹페이지가 strict 표준 모드일때 이러한 마임타입을 찾을 것이며 이러한 마임타입 일때만 CSS파일을 로드한다. IE는 어떠한 마임타입이라도 상관없이 항상 CSS파일을 로드한다. 웹페이지는 strict doctype으로 시작될때 strict 표준모드로 여겨진다. 이 문제를 해결하기 위해서는 서버가 올바른 마임타입을 보내게 하거나 doctype을 제거한다. doctype에 관한 자세한 내용은 다음 섹션에서 살펴보도록 하겠다.</p>
-<h4 id="CSS.EC.99.80_.EB.8B.A8.EC.9C.84" name="CSS.EC.99.80_.EB.8B.A8.EC.9C.84">CSS와 단위</h4>
-<p>많은 웹어플리케이션들이 CSS에서 단위를 사용하지 않는데, 특히 자바스크립트로 CSS를 설정할때가 그렇다. Mozilla는 페이지가 strict 모드가 아닌한 이를 참고 넘어간다. IE는 진정한 XHTML을 지원하지 않기 때문에 단위가 표시되지 않아도 상관하지 않는다. 만약 페이지가 strict 표준모드인데 단위가 쓰이지 않았다면 Mozilla는 해당 스타일을 무시한다:</p>
-<pre class="eval">&lt;DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "<span class="nowiki">http://www.w3.org/TR/html4/strict.dtd</span>"&gt;
-&lt;html&gt;
- &lt;head&gt;
- &lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;
- &lt;title&gt;CSS and units example&lt;/title&gt;
- &lt;/head&gt;
- &lt;body&gt;
- // works in strict mode
- &lt;div style="width: 40<span class="boldcode">px</span>; border: 1px solid black;"&gt;
- Text
- &lt;/div&gt;
-
- // will fail in strict mode
- &lt;div style="width: 40; border: 1px solid black;"&gt;
- Text
- &lt;/div&gt;
- &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>위 예제는 strict dcotype을 가지므로 본 페이지는 strict 표준 모드로 렌더링된다. 첫번째 div는 단위가 쓰였기 때문에 40px의 너비를 갖는다. 그러나 두번째 div는 너비값이 지정 안되어 기본값인 100%의 너비를 갖게된다. 이것은 자바스크립트를 통해 설정되었을때도 마찬가지다.</p>
-<h4 id="JavaScript_.EC.99.80_CSS" name="JavaScript_.EC.99.80_CSS">JavaScript 와 CSS</h4>
-<p>Mozilla는 CSS표준을 지원하므로, 자바스크립트로 CSS를 지정할때 CSS DOM 표준도 역시 지원한다. 임의의 엘리먼트의 <code>style</code> 멤버를 통해 엘리먼트의 CSS 룰에 접근하거나 삭제, 변경할 수 있다:</p>
-<pre>&lt;div id="myDiv" style="border: 1px solid black;"&gt;
- Text
-&lt;/div&gt;
-
-&lt;script&gt;
- var myElm = document.getElementById("myDiv");
- myElm.style.width = "40px";
-&lt;/script&gt;
-</pre>
-<p>이러한 방식으로 모든 CSS 속성에 접근할 수 있다. 만약 웹페이지가 strict 모드라면 단위를 지정해야 하며, 그렇지 않을 시 Mozilla는 해당 명령을 무시한다. Mozilla와 IE에서 <code>.style.width</code>를 통해 값을 얻으면 반환된 값은 단위를 포함하며, 이는 문자열이 반환됨을 의미한다. 이 문자열은 <code>parseFloat("40px")</code>을 통해 숫자로 변환할 수 있다.</p>
-<h4 id="CSS_.EC.98.A4.EB.B2.84.ED.94.8C.EB.A1.9C.EC.9A.B0_.EC.B0.A8.EC.9D.B4" name="CSS_.EC.98.A4.EB.B2.84.ED.94.8C.EB.A1.9C.EC.9A.B0_.EC.B0.A8.EC.9D.B4">CSS 오버플로우 차이</h4>
-<p>CSS는 오버플로우에 대한 표기를 추가했는데 이것은 오버플로우를 어떻게 처리할 것인가를 정의할 수 있게 해준다. 예를들어 그 높이보다 더 긴 컨텐츠를 갖는 <code>div</code>와 같은 경우이다. CSS 표준에서는 이경우에 오버플로우 속성이 지정되지 않았다면 <code>div</code> 컨텐츠는 오버플로우 된다고 정의한다. 그러나, IE는 이를 지키지 않고 컨텐츠를 담을 수 있을 만큼 <code>div</code>의 높이를 확장한다. 아래는 이 차이를 보여주는 예제다.</p>
-<pre>&lt;div style="height: 100px; border: 1px solid black;"&gt;
- &lt;div style="height: 150px; border: 1px solid red; margin: 10px;"&gt;
- a
- &lt;/div&gt;
-&lt;/div&gt;
-</pre>
-<p>그림 4에서 볼 수 있듯이, Mozilla는 W3C 표준이 정의한대로 행동한다. W3C 표준에서 이경우에, 안쪽 <code>div</code>는 그 부모보다 높이가 크므로 bottom에서 오버플로우된다고 되어 있다. 만약 IE 쪽의 행동이 더 마음에 든다면, 단순히 바깥쪽 엘리먼트의 높이를 지정하지 않으면 된다.</p>
-<p>그림 4. DIV overflow</p>
-<p><img alt="DIV Overflow" class="internal" src="/@api/deki/files/2075/=Migrationguide-overflow.jpg"></p>
-<h4 id="hover_.EC.B0.A8.EC.9D.B4" name="hover_.EC.B0.A8.EC.9D.B4">hover 차이</h4>
-<p>IE에서의 비표준 CSS hover 작동이 소수의 웹사이트에서 일어난다. Mozilla에서는 보통 텍스트 위에 hover되었을때 그 텍스트 스타일을 변경하므로써 그 자체를 명확히하지만, IE에서는 그렇지 않다. 이것은 IE에서는 <code>a:hover</code>에 대한 CSS 셀렉터가 <code>&lt;a name=""&gt;...&lt;/a&gt;</code>가 아닌 <code>&lt;a href=""&gt;...&lt;/a&gt;</code>에 매치되기 때문이다. 다음의 텍스트는 그 영역을 앵커 태그로 감쌌기 때문에 변화가 일어날 것이다:</p>
-<pre>CSS:
- a:hover {color: green;}
-
-HTML:
- &lt;a href="foo.com"&gt;This text should turn green when you hover over it.&lt;/a&gt;
-
- &lt;a name="anchor-name"&gt;
- This text should change color when hovered over, but doesn't
- in Internet Explorer.
- &lt;/a&gt;
-</pre>
-<p>Mozilla는 CSS 스펙을 정확하게 따르며 이 예제에서 색깔은 녹색으로 바뀔것이다. Mozilla가 IE처럼 행동하게 하여 hover 오버시 텍스트 색이 바뀌지 않게 하는 법은 두가지 방법이 있다:</p>
-<ul>
- <li>첫번째, CSS 룰을 <code>a:link:hover {color: green;}</code>로 바꾸면 엘리먼트가 링크일때만(<code>href</code> 속성을 가질때만) 색깔을 바꾼다.</li>
- <li>아니면, 텍스트 앞에서 열린 <code>&lt;a /&gt;</code>태그를 닫는다. -- 이렇게 해도 앵커는 계속 작동할 것이다.</li>
-</ul>
-<h3 id=".EC.BF.BC.ED.81.AC_vs._.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C" name=".EC.BF.BC.ED.81.AC_vs._.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C">쿼크 vs. 표준 모드</h3>
-<p>IE 4와 같은 오래된 구식 브라우저에서는 특정 상황하에서 일명 쿼크라 불리는 모드로 렌더링 된다. Mozilla는 표준 적용을 지향하는 브라우저인 반면에, 이러한 쿼크 모드로 만들어진 오래된 웹페이지를 지원하는 세가지 모드를 가진다. 페이지의 컨텐츠와 전송이 Mozilla가 어느 모드를 사용할 것인지를 결정한다. Mozilla는 보기 -&gt; 페이지 정보 (혹은 <code>Ctrl+I</code>)에서 렌더링 모드를 볼 수 있다. 파이어 폭스는 도구 -&gt; 페이지 정보에서 렌더링 모드를 표시한다. 페이지가 어느 모드로 될 것인지는 doctype에 따라 결정된다.</p>
-<p>Doctypes (간략한 문서 타입 선언)은 다음과 같은 형식이다:</p>
-<p><code>&lt;!DOCTYPE HTML PUBLIC <span style="color: blue;">"-//W3C//DTD HTML 4.01 Transitional//EN"</span> <span style="color: green;">"<span class="nowiki">http://www.w3.org/TR/html4/loose.dtd</span>"</span>&gt;</code></p>
-<p>파란 부분이 퍼블릭 식별자이고 녹색 부분이 시스템 식별자인데, URI로 되어 있다.</p>
-<h4 id=".ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C" name=".ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C">표준 모드</h4>
-<p>표준 모드는 가장 엄격한 렌더링 모드이다. 이것은 W3C의 HTML 스펙과 CSS 스펙으로 페이지를 렌더링 하며 어떠한 쿼크도 지원하지 않는다. Mozilla는 다음 조건에 대해 표준 모드를 사용한다:</p>
-<ul>
- <li>페이지가 <code>text/xml</code> 마임타입이나 다른 XML 혹은 XHTML 마임타입으로 보내졌을때</li>
- <li>IBM doctype을 제외한 모든 "DOCTYPE HTML SYSTEM" doctype에 대해 (예를 들면, <code>&lt;!DOCTYPE HTML SYSTEM "<span class="nowiki">http://www.w3.org/TR/REC-html40/strict.dtd</span>"&gt;</code>)</li>
- <li>알려지지 않은 doctype이나 DTD가 없는 doctype의 경우</li>
-</ul>
-<h4 id=".EB.B0.98.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C" name=".EB.B0.98.ED.91.9C.EC.A4.80_.EB.AA.A8.EB.93.9C">반표준 모드</h4>
-<p>Mozilla는 한가지 이유때문에 반표준 모드를 도입했다: CSS 2 스펙의 한부분이 테이블 셀에 있는 작은 이미지들의 정확한 레이아웃을 기반한 디자인을 깬다는 것이다. 사용자에게 하나의 이미지로 보여지지 않고 각각의 작은 이미지 사이에 틈이 생긴다. 그림 5에서 볼 수 있듯이 예전 IBM 사이트에서 그 예를 찾을 수 있다.</p>
-<p>그림 5. 이미지 간격</p>
-<p><img alt="이미지 간격" class="internal" src="/@api/deki/files/2072/=Migrationguide-imagegap.jpg"></p>
-<p>반표준 모드는 이미지 갭 문제를 제외하고는 표준 모드와 거의 일치하는데, 이 문제는 표준 적용 페이지에서 종종 발생하며 페이지를 부정확하게 보여지게 만든다.</p>
-<p>Mozilla는 다음의 경우에 반표준 모드를 사용한다:</p>
-<ul>
- <li>모든 "loose" doctype (예를 들면, <code>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"&gt;</code>, <code>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<span class="nowiki">http://www.w3.org/TR/html4/loose.dtd</span>"&gt;</code>)</li>
- <li>IBM doctype (<code>&lt;!DOCTYPE html SYSTEM "<span class="nowiki">http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd</span>"&gt;</code>)</li>
-</ul>
-<p><a href="/ko/Images,_Tables,_and_Mysterious_Gaps" title="ko/Images,_Tables,_and_Mysterious_Gaps">image gap issue</a>에서 더 많은 정보를 얻을 수 있다.</p>
-<h4 id=".EC.BF.BC.ED.81.AC_.EB.AA.A8.EB.93.9C" name=".EC.BF.BC.ED.81.AC_.EB.AA.A8.EB.93.9C">쿼크 모드</h4>
-<p>현재 웹은 브라우저에서 버그에 의해서만 작동하는 마크업들 뿐만 아닌, 유효하지 않은 HTML 마크업들로 가득 차 있다. 예전의 넷스케이프 브라우저는 넷스케이프가 시장의 선두주자였을때도 버그를 가지고 있었다. IE가 나왔을때 그것은 그시절의 컨텐츠들을 작동시키기 위해 그러한 버그들을 흉내내었다. 새로운 브라우저들이 시장으로 나옴에 따라 대부분의 원래 버그들(보통 쿼크라 부름)은 하위 버전 호환성을 위해 내버려 두었다. Mozilla는 쿼크 렌더링 모드에서 이러한것들의 많은 부분을 지원한다. 주의할 점은 이러한 쿼크들 때문에 페이지는 완전히 표준 적용모드일때보다 느리게 렌더링 될 것이라는 점이다. 대부분의 웹페이지는 이 모드에서 렌더링 된다.</p>
-<p>Mozilla는 다음 조건에서 쿼크 모드를 사용한다:</p>
-<ul>
- <li>doctype이 명시되지 않았을때</li>
- <li>시스템 식별자가 없는 doctype (예를 들면, <code>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;</code>)</li>
-</ul>
-<p>더 자세한 사항은 다음을 참고하라: <a href="/ko/Mozilla_Quirks_Mode_Behavior" title="ko/Mozilla_Quirks_Mode_Behavior">Mozilla Quirks Mode Behavior</a>, <a href="/ko/Mozilla's_DOCTYPE_sniffing" title="ko/Mozilla's_DOCTYPE_sniffing">Mozilla's DOCTYPE sniffing</a>.</p>
-<h3 id=".EC.9D.B4.EB.B2.A4.ED.8A.B8_.EC.B0.A8.EC.9D.B4" name=".EC.9D.B4.EB.B2.A4.ED.8A.B8_.EC.B0.A8.EC.9D.B4">이벤트 차이</h3>
-<p>Mozilla와 IE는 이벤트의 영역에서 거의 완전히 다르다. Mozilla의 이벤트 모델은 W3C와 넷스케이프 모델을 따른다. IE는 이벤트로부터 함수가 불려지면 이 함수는 <code>window.event</code>를 통해 <code>event</code> 오브젝트에 접근할 수 있다. Mozilla는 <code>event</code> 오브젝트를 이벤트 핸들러로 전달한다. Mozilla에서는 반드시 인수를 통해 불려진 함수로 오브젝트를 명시적으로 전달해야 한다. 크로스 브라우저 이벤트 핸들링 예제는 다음(코드 상에 <code>event</code>로 이름지어진 전역 변수를 정의할 수 없음을 유의)과 같다:</p>
-<pre>&lt;div onclick="handleEvent(event);"&gt;Click me!&lt;/div&gt;
-
-&lt;script&gt;
- function handleEvent(aEvent) {
- var myEvent = window.event ? window.event : aEvent;
- }
-&lt;/script&gt;
-</pre>
-<p>Mozilla와 IE에는 이벤트 오브젝트가 드러내는 속성과 함수도 종종 다르게 이름 지어졌는데 표4에 나와있는 것과 같다.</p>
-<table class="standard-table">
- <caption>
- 표 4. Event properties differences between Mozilla and Internet Explorer</caption>
- <tbody>
- <tr>
- <th>Internet Explorer Name</th>
- <th>Mozilla Name</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>altKey</td>
- <td>altKey</td>
- <td>Boolean property that returns whether the alt key was pressed during the event.</td>
- </tr>
- <tr>
- <td>cancelBubble</td>
- <td>stopPropagation()</td>
- <td>Used to stop the event from bubbling farther up the tree.</td>
- </tr>
- <tr>
- <td>clientX</td>
- <td>clientX</td>
- <td>The X coordinate of the event, in relation to the element viewport.</td>
- </tr>
- <tr>
- <td>clientY</td>
- <td>clientY</td>
- <td>The Y coordinate of the event, in relation to the element viewport.</td>
- </tr>
- <tr>
- <td>ctrlKey</td>
- <td>ctrlKey</td>
- <td>Boolean property that returns whether the Ctrl key was pressed during the event.</td>
- </tr>
- <tr>
- <td>fromElement</td>
- <td>relatedTarget</td>
- <td>For mouse events, this is the element from which the mouse moved away.</td>
- </tr>
- <tr>
- <td>keyCode</td>
- <td>keyCode</td>
- <td>For keyboard events, this is a number representing the key that was pressed. It is 0 for mouse events. For keypress events (not keydown/keyup) of keys that produce output, the Mozilla equivalent is charCode, not keyCode.</td>
- </tr>
- <tr>
- <td>returnValue</td>
- <td>preventDefault()</td>
- <td>Used to prevent the event's default action from occurring.</td>
- </tr>
- <tr>
- <td>screenX</td>
- <td>screenX</td>
- <td>The X coordinate of the event, in relation to the screen.</td>
- </tr>
- <tr>
- <td>screenY</td>
- <td>screenY</td>
- <td>The Y coordinate of the event, in relation to the screen.</td>
- </tr>
- <tr>
- <td>shiftKey</td>
- <td>shiftKey</td>
- <td>Boolean property that returns whether the Shift key was pressed during the event.</td>
- </tr>
- <tr>
- <td>srcElement</td>
- <td>target</td>
- <td>The element to which the event was originally dispatched.</td>
- </tr>
- <tr>
- <td>toElement</td>
- <td>currentTarget</td>
- <td>For mouse events, this is the element to which the mouse moved.</td>
- </tr>
- <tr>
- <td>type</td>
- <td>type</td>
- <td>Returns the name of the event.</td>
- </tr>
- </tbody>
-</table>
-<h4 id=".EC.9D.B4.EB.B2.A4.ED.8A.B8_.ED.95.B8.EB.93.A4.EB.9F.AC_.EB.93.B1.EB.A1.9D" name=".EC.9D.B4.EB.B2.A4.ED.8A.B8_.ED.95.B8.EB.93.A4.EB.9F.AC_.EB.93.B1.EB.A1.9D">이벤트 핸들러 등록</h4>
-<p>Mozilla는 자바스크립트를 통해 이벤트를 등록하는 두가지 방법을 지원한다. 첫번째는 모든 브라우저에서 지원되는 오브젝트에 직접적으로 이벤트 속성을 지정하는 방법이다. <code>click</code> 이벤트 핸들러를 지정하기 위해 함수 레퍼런스가 오브젝트의 <code>onclick</code> 속성에 전달된다:</p>
-<pre>&lt;div id="myDiv"&gt;Click me!&lt;/div&gt;
-
-&lt;script&gt;
- function handleEvent(aEvent) {
- // if aEvent is null, means the Internet Explorer event model,
- // so get window.event.
- var myEvent = aEvent ? aEvent : window.event;
- }
-
- function onPageLoad(){
- document.getElementById("myDiv").onclick = handleEvent;
- }
-&lt;/script&gt;
-</pre>
-<p>Mozilla는 DOM 노드에 리스너를 등록하는 W3C의 표준 방법을 전적으로 지원한다. <code>addEventListener()</code> 와 <code>removeEventListener()</code> 메소드를 사용하면 동일한 이벤트 타입에 대해 여러 리스너를 지정할 수 있는 장점이 있다. 두 메소드는 세가지 파라미터를 필요로 한다 : 이벤트 타입, 함수 레퍼런스, 리스너가 캡쳐 구간에서 이벤트를 잡을 것인지에 대한 불린(boolean)값. 불린 값이 false로 지정되면, 버블링 이벤트만을 잡아낸다. W3C 이벤트는 capturing, at target, bubbling 세가지 단계을 가진다. 모든 이벤트 오브젝트는 단계를 숫자(0 인덱스)로 표시하는 <code>eventPhase</code> 속성을 가진다. 이벤트가 발생할 때 마다 이벤트는 DOM의 가장 바깥 엘리먼트, DOM 트리의 가장 상위 엘리먼트에서 출발한다. 그리고는 타겟을 향하여 가장 직접적인 경로를 사용하여 DOM을 타고 들어가는데 이것이 capturing 단계이다. 이벤트가 타겟에 도착하면 이벤트는 target 단계에 있는 것이다. 타겟에 도착한 후 이벤트는 다시 DOM 트리의 가장 바깥쪽으로 빠져 나가는데 이것이 <strong>bubbling</strong> 이다. IE의 이벤트 모델은 bubbling 단계만을 갖고 있기 때문에 IE의 동작과 같은 결과를 내려면 세번째 파라미터를 false로 지정해야 한다:</p>
-<pre>&lt;div id="myDiv"&gt;Click me!&lt;/div&gt;
-
-&lt;script&gt;
-
- function handleEvent(aEvent) {
- // if aEvent is null, it is the Internet Explorer event model,
- // so get window.event.
- var myEvent = aEvent ? aEvent : window.event;
- }
-
- function onPageLoad() {
- var element = document.getElementById("myDiv");
- element.addEventListener("click", handleEvent, false);
- }
-&lt;/script&gt;
-</pre>
-<p>속성 지정보다 <code>addEventListener()</code> 와 <code>removeEventListener()</code>를 사용하는 것의 장점 중 하나는 동일한 이벤트에 대해 각각 다른 함수를 호출하는 여러 이벤트 리스너를 가질 수 있다는 것이다. 그러므로 이벤트 리스너를 삭제하기 위해서는 추가할 때와 동일한 세개의 파라미터가 필요하다.</p>
-<p>Mozilla는 IE의 &lt;script&gt; 태그를 이벤트 핸들러로 변환하는 메소드를 지원하지 않는데, 이것은 &lt;script&gt;를 <code>for</code>와 <code>event</code> 속성으로 확장한다. (표 5.) Mozilla는 <code>attachEvent</code>와 <code>detachEvent</code> 메소드도 지원하지 않는다. 대신에 <code>addEventListener</code>와 <code>removeEventListener</code> 메소드를 써야 한다. IE는 W3C 이벤트 스펙을 지원하지 않는다.</p>
-<table class="standard-table">
- <caption>
- 표 5. Event method differences between Mozilla and Internet Explorer</caption>
- <tbody>
- <tr>
- <th>Internet Explorer Method</th>
- <th>Mozilla Method</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>attachEvent(aEventType, aFunctionReference)</td>
- <td>addEventListener(aEventType, aFunctionReference, aUseCapture)</td>
- <td>Adds an event listener to a DOM element.</td>
- </tr>
- <tr>
- <td>detachEvent(aEventType, aFunctionReference)</td>
- <td>removeEventListener(aEventType, aFunctionReference, aUseCapture)</td>
- <td>Removes an event listener to a DOM element.</td>
- </tr>
- </tbody>
-</table>
-<h3 id=".EB.A6.AC.EC.B9.98_.ED.85.8D.EC.8A.A4.ED.8A.B8_.ED.8E.B8.EC.A7.91" name=".EB.A6.AC.EC.B9.98_.ED.85.8D.EC.8A.A4.ED.8A.B8_.ED.8E.B8.EC.A7.91">리치 텍스트 편집</h3>
-<p>Mozilla가 W3C 표준을 가장 잘 적용한 브라우저라는 것을 자랑스러워하기는 하지만, W3C에 대응되는 표준이 없을 시 Mozilla는 <code>innerHTML</code>이나 <a href="/ko/Midas" title="ko/Midas">rich text editing</a> 같은 비표준 기능도 지원한다.</p>
-<p>Mozilla 1.3은 IE의 <a href="/ko/Rich-Text_Editing_in_Mozilla/Class_xbDesignMode" title="ko/Rich-Text_Editing_in_Mozilla/Class_xbDesignMode">designMode</a> 기능 구현을 도입했는데 이것은 HTML 문서를 리치 텍스트 에디터 필드로 바꾼다. 일단 에디터로 바뀌고나면 명령들은 <code>execCommand</code> 명령을 통해 문서상에서 실행될 수 있다. Mozilla는 어떤 위젯이라도 편집가능하게 만드는 IE의 <code>contentEditable</code> 속성을 지원하지 않는다. 리치 텍스트 에디터를 추가하려면 iframe을 사용할 수 있다.</p>
-<h4 id=".EB.A6.AC.EC.B9.98_.ED.85.8D.EC.8A.A4.ED.8A.B8_.EC.B0.A8.EC.9D.B4" name=".EB.A6.AC.EC.B9.98_.ED.85.8D.EC.8A.A4.ED.8A.B8_.EC.B0.A8.EC.9D.B4">리치 텍스트 차이</h4>
-<p>Mozilla는 <code>IFrameElmRef.contentDocument</code>를 통해 iframe의 문서 오브젝트를 접근하는 W3C의 표준을 지원한다. 반면에 IE는 <code>document.frames{{ mediawiki.external('\"IframeName\"') }}</code>를 통해 접근할 수 있고, 그 후 결과 <code>document</code>에 접근할 수 있다:</p>
-<pre>&lt;script&gt;
-function getIFrameDocument(aID) {
- var rv = null;
-
- // if contentDocument exists, W3C compliant (Mozilla)
- if (document.getElementById(aID).contentDocument){
- rv = document.getElementById(aID).contentDocument;
- } else {
- // IE
- rv = document.frames[aID].document;
- }
- return rv;
-}
-&lt;/script&gt;
-</pre>
-<p>Mozilla와 IE간의 또 다른 차이점은 리치 텍스트 에디터가 만들어내는 HTML이다. Mozilla는 기본적으로 생성된 마크업에 CSS를 사용하게 한다. 그러나 Mozilla는 <code>useCSS</code> execCommand를 사용하여 HTML과 CSS사이를 전환할 수 있게 한다. IE는 항상 HTML 마크업을 사용한다.</p>
-<pre>Mozilla (CSS):
- &lt;span style="color: blue;"&gt;Big Blue&lt;/span&gt;
-
-Mozilla (HTML):
- &lt;font color="blue"&gt;Big Blue&lt;/font&gt;
-
-Internet Explorer:
- &lt;FONT color="blue"&gt;Big Blue&lt;/FONT&gt;
-</pre>
-<p>아래는 Mozilla에서의 execCommand가 지원하는 명령 리스트이다:</p>
-<table class="standard-table">
- <caption>
- 표 6. Rich text editing commands</caption>
- <tbody>
- <tr>
- <th>Command Name</th>
- <th>Description</th>
- <th>Argument</th>
- </tr>
- <tr>
- <td>bold</td>
- <td>Toggles the selection's bold attribute.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>createlink</td>
- <td>Generates an HTML link from the selected text.</td>
- <td>The URL to use for the link</td>
- </tr>
- <tr>
- <td>delete</td>
- <td>Deletes the selection.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>fontname</td>
- <td>Changes the font used in the selected text.</td>
- <td>The font name to use (Arial, for example)</td>
- </tr>
- <tr>
- <td>fontsize</td>
- <td>Changes the font size used in the selected text.</td>
- <td>The font size to use</td>
- </tr>
- <tr>
- <td>fontcolor</td>
- <td>Changes the font color used in the selected text.</td>
- <td>The color to use</td>
- </tr>
- <tr>
- <td>indent</td>
- <td>Indents the block where the caret is.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>inserthorizontalrule</td>
- <td>Inserts an &lt;hr&gt; element at the cursor's position.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>insertimage</td>
- <td>Inserts an image at the cursor's position.</td>
- <td>URL of the image to use</td>
- </tr>
- <tr>
- <td>insertorderedlist</td>
- <td>Inserts an ordered list (&lt;ol&gt;) element at the cursor's position.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>insertunorderedlist</td>
- <td>Inserts an unordered list (&lt;ul&gt;) element at the cursor's position.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>italic</td>
- <td>Toggles the selection's italicize attribute.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>justifycenter</td>
- <td>Centers the content at the current line.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>justifyleft</td>
- <td>Justifies the content at the current line to the left.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>justifyright</td>
- <td>Justifies the content at the current line to the right.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>outdent</td>
- <td>Outdents the block where the caret is.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>redo</td>
- <td>Redoes the previous undo command.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>removeformat</td>
- <td>Removes all formatting from the selection.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>selectall</td>
- <td>Selects everything in the rich text editor.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>strikethrough</td>
- <td>Toggles the strikethrough of the selected text.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>subscript</td>
- <td>Converts the current selection into subscript.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>superscript</td>
- <td>Converts the current selection into superscript.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>underline</td>
- <td>Toggles the underline of the selected text.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>undo</td>
- <td>Undoes the last executed command.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>unlink</td>
- <td>Removes all link information from the selection.</td>
- <td>---</td>
- </tr>
- <tr>
- <td>useCSS</td>
- <td>Toggles the usage of CSS in the generated markup.</td>
- <td>Boolean value</td>
- </tr>
- </tbody>
-</table>
-<p>더 자세한 사항은 다음을 참고하라: <a href="/ko/Rich-Text_Editing_in_Mozilla" title="ko/Rich-Text_Editing_in_Mozilla">Rich-Text Editing in Mozilla</a>.</p>
-<h3 id="XML_.EC.B0.A8.EC.9D.B4" name="XML_.EC.B0.A8.EC.9D.B4">XML 차이</h3>
-<p>Mozilla는 XSLT과 웹서비스와 같은 XML과 XML관련 기술에 대해 강력한 지원을 한다. Mozilla는 XMLHttpRequest과 같은 비표준 IE 확장도 지원한다.</p>
-<h4 id="XML.EC.9D.84_.EB.8B.A4.EB.A3.A8.EB.8A.94_.EB.B2.95" name="XML.EC.9D.84_.EB.8B.A4.EB.A3.A8.EB.8A.94_.EB.B2.95">XML을 다루는 법</h4>
-<p>표준 HTML 에서 처럼, Mozilla는 W3C XML DOM 스펙을 지원하며, 이것은 XML 문서의 거의 모든 면을 조작할 수 있게 한다. IE의 XML DOM과 Mozilla의 차이는 보통 IE의 비표준 동작에서 야기된다. 아마도 가장 일반적인 차이점은 공백 텍스트 노드를 어떻게 다루는가 이다. 종종 XML이 생성될 때 XML 노드 사이에 공백이 포함된다. IE는 <code>XMLNode.childNodes[]</code>를 사용할 때 이러한 공백 노드를 포함하지 않는다. 그러나 Mozilla에서는 이 노드들이 배열에 들어간다.</p>
-<pre>XML:
- &lt;?xml version="1.0"?&gt;
- &lt;myXMLdoc xmlns:myns="http://myfoo.com"&gt;
- &lt;myns:foo&gt;bar&lt;/myns:foo&gt;
- &lt;/myXMLdoc&gt;
-
-JavaScript:
- var myXMLDoc = getXMLDocument().documentElement;
- alert(myXMLDoc.childNodes.length);
-</pre>
-<p>자바스크립트의 첫번째 라인이 XML 문서를 로드하고 <code>documentElement</code>를 탐색하여 루트 앨리먼트 (<code>myXMLDoc</code>)에 접근한다. 두번째 라인은 단순히 자식 노드의 수를 얼럿창에 띄운다. W3C 스펙에 따르면 공백과 줄바꿈은 서로 붙어 있을시 하나의 텍스트 노드로 합쳐진다. Mozilla의 경우에 <code>myXMLdoc</code> 노드는 세개의 자식을 가진다: 줄바꿈과 두개의 스페이스를 가진 텍스트 노드, <code>myns:foo</code>노드, 줄바꿈을 가진 또 하나의 텍스트 노드. 그러나, IE는 이것을 지키지 않고 위의 코드에 대해 1, 즉 <code>myns:foo</code> 노드만을 리턴한다. 그러므로 자식노드를 취하고 텍스트 노드를 버리기 위해, 이러한 노드들을 구별해 내야 한다.</p>
-<p>앞서 언급했던 것처럼 모든 노드는 노드 타입을 가리키는 <code>nodeType</code> 속성을 가진다. 예를 들어, 엘리먼트 노드는 타입 1이고, 도큐먼트 노드는 타입 9이다. 텍스트 노드를 무시하기 위해서는 반드시 타입 3(텍스트 노드)와 8(주석 노드)를 체크해야 한다.</p>
-<pre>XML:
- &lt;?xml version="1.0"?&gt;
- &lt;myXMLdoc xmlns:myns="http://myfoo.com"&gt;
- &lt;myns:foo&gt;bar&lt;/myns:foo&gt;
- &lt;/myXMLdoc&gt;
-
-JavaScript:
- var myXMLDoc = getXMLDocument().documentElement;
- var myChildren = myXMLDoc.childNodes;
-
- for (var run = 0; run &lt; myChildren.length; run++){
- if ( (myChildren[run].nodeType != 3) &amp;&amp;
- myChildren[run].nodeType != 8) ){
- // not a text or comment node
- };
- };
-</pre>
-<p>더 자세한 사항과 해결방안은 다음을 참고하라: <a href="/ko/Whitespace_in_the_DOM" title="ko/Whitespace_in_the_DOM">Whitespace in the DOM</a></p>
-<h4 id="XML_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.95.84.EC.9D.BC.EB.9E.9C.EB.93.9C" name="XML_.EB.8D.B0.EC.9D.B4.ED.84.B0_.EC.95.84.EC.9D.BC.EB.9E.9C.EB.93.9C">XML 데이터 아일랜드</h4>
-<p>IE는 <em>XML 데이터 아일랜드</em>라 불리우는 비표준 기능을 가지고 있는데 이것은 비표준 HTML 태그인 <code>&lt;xml&gt;</code> 을 사용하여 HTML 문서내에 XML을 포함할 수 있게 한다. Mozilla는 XML 데이터 아일랜드를 지원하지 않으며 이것을 인식되지 않는 HTML 태그로 취급한다. 같은 기능을 XHTML을 사용하여 이룰 수 있지만, IE의 XHTML 지원은 미약하기 때문에 이것은 보통 추가적인 것은 아니다.</p>
-<p>IE의 XML 데이터 아일랜드:</p>
-<pre class="eval">&lt;xml id="xmldataisland"&gt;
- &lt;foo&gt;bar&lt;/foo&gt;
-&lt;/xml&gt;
-</pre>
-<p>크로스 브라우징 해결 방법 중의 하나는 DOM 파서를 이용하는 것인데 이것은 직렬화된 XML 문서를 포함한 문자열을 파싱하고 파싱된 XML에 대한 문서를 생성한다. Mozilla는 <code><a href="/ko/DOMParser" title="ko/DOMParser">DOMParser</a></code> 오브젝트를 사용하며, 이는 직렬화된 문자열을 가지고 외부로 XML 문서를 생성한다. IE에서는 같은 기능을 ActiveX를 사용하여 만들수 있다. <code>new ActiveXObject("Microsoft.XMLDOM")</code>를 사용하여 생성한 오브젝트는 문자열을 가지고 문서를 생성하는 <code>loadXML</code> 메소드를 가진다. 다음 코드가 그 방법을 보여준다:</p>
-<pre class="eval"> var xmlString = "&lt;xml id=\"xmldataisland\"&gt;&lt;foo&gt;bar&lt;/foo&gt;&lt;/xml&gt;";
-</pre>
-<pre class="eval"> var myDocument;
-</pre>
-<pre class="eval"> if (document.implementation.createDocument){
- // Mozilla, create a new DOMParser
- var parser = new DOMParser();
- myDocument = parser.parseFromString(xmlString, "text/xml");
- } else if (window.ActiveXObject){
- // Internet Explorer, create a new XML document using ActiveX
- // and use loadXML as a DOM parser.
- myDocument = new ActiveXObject("Microsoft.XMLDOM");
- myDocument.async="false";
- myDocument.loadXML(xmlString);
- }
-</pre>
-<p>&lt;/pre&gt;</p>
-<p>다른 대안은 다음을 참고하라: <a href="/ko/Using_XML_Data_Islands_in_Mozilla" title="ko/Using_XML_Data_Islands_in_Mozilla">Using XML Data Islands in Mozilla</a></p>
-<h4 id="XML_HTTP_request" name="XML_HTTP_request">XML HTTP request</h4>
-<p>IE는 MSXML의 <code>XMLHTTP</code> 클래스를 사용하여 XML 파일을 보내거나 탐색할 수 있게 하는데, 이것은 <code>new ActiveXObject("Msxml2.XMLHTTP")</code> 또는 <code>new ActiveXObject("Microsoft.XMLHTTP")</code>를 사용한 ActiveX를 통해 인스턴스화 된다. 이러한 것에 대해 표준이 존재하지 않기 때문에, Mozilla는 같은 기능에 대해 전역 자바스크립트 객체인 <code><a href="/ko/XMLHttpRequest" title="ko/XMLHttpRequest">XMLHttpRequest</a></code>에서 이를 제공한다. IE도 역시 버전 7 부터는 원시 <code>XMLHttpRequest</code> 오브젝트를 지원한다.</p>
-<p><code>new XMLHttpRequest()</code>를 사용하여 오브젝트를 인스턴스화 한 뒤에는 어떤 타입의 요청(GET 혹은 POST)을 사용할 것인지, 어느 파일을 로드할 것인지, 비동기인지 아닌지를 지정하기 위한 <code>open</code> 메소드를 사용할 수 있다. 만약 호출이 비동기이면 <code>onload</code> 멤버에 함수 레퍼런스를 준다. 이것은 요청이 완료 되었을때 한번 호출된다.</p>
-<p>동기 요청:</p>
-<pre class="eval"> var myXMLHTTPRequest = new XMLHttpRequest();
- myXMLHTTPRequest.open("GET", "data.xml", false);
-
- myXMLHTTPRequest.send(null);
-
- var myXMLDocument = myXMLHTTPRequest.responseXML;
-</pre>
-<p>비동기 요청:</p>
-<pre class="eval"> var myXMLHTTPRequest;
-
- function <span class="boldcode">xmlLoaded</span>() {
- var myXMLDocument = myXMLHTTPRequest.responseXML;
- }
-
- function loadXML(){
- myXMLHTTPRequest = new XMLHttpRequest();
-
- myXMLHTTPRequest.open("GET", "data.xml", true);
-
- myXMLHTTPRequest.onload = <span class="boldcode">xmlLoaded</span>;
-
- myXMLHTTPRequest.send(null);
- }
-</pre>
-<p>표 7은 Mozilla의 <code>XMLHttpRequest&lt;/code에 대해 사용가능한 메소드와 속성들의 리스트이다. </code></p>
-<table class="standard-table">
- <caption>
- 표 7. XMLHttpRequest methods and properties</caption>
- <tbody>
- <tr>
- <th>Name</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>void abort()</td>
- <td>Stops the request if it is still running.</td>
- </tr>
- <tr>
- <td>string getAllResponseHeaders()</td>
- <td>Returns all response headers as one string.</td>
- </tr>
- <tr>
- <td>string getResponseHeader(string headerName)</td>
- <td>Returns the value of the specified header.</td>
- </tr>
- <tr>
- <td>functionRef onerror</td>
- <td>If set, the references function will be called whenever an error occurs during the request.</td>
- </tr>
- <tr>
- <td>functionRef onload</td>
- <td>If set, the references function will be called when the request completes successfully and the response has been received. Use when an asynchronous request is used.</td>
- </tr>
- <tr>
- <td>void open (string HTTP_Method, string URL)<br>
- <br>
- void open (string HTTP_Method, string URL, boolean async, string userName, string password)</td>
- <td>Initializes the request for the specified URL, using either GET or POST as the HTTP method. To send the request, call the <code>send()</code> method after initialization. If <code>async</code> is false, the request is synchronous, else it defaults to asynchronous. Optionally, you can specify a username and password for the given URL needed.</td>
- </tr>
- <tr>
- <td>int readyState</td>
- <td>State of the request. Possible values:
- <table>
- <tbody>
- <tr>
- <th>Value</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>0</td>
- <td>UNINITIALIZED - open() has not been called yet.</td>
- </tr>
- <tr>
- <td>1</td>
- <td>LOADING - send() has not been called yet.</td>
- </tr>
- <tr>
- <td>2</td>
- <td>LOADED - send() has been called, headers and status are available.</td>
- </tr>
- <tr>
- <td>3</td>
- <td>INTERACTIVE - Downloading, responseText holds the partial data.</td>
- </tr>
- <tr>
- <td>4</td>
- <td>COMPLETED - Finished with all operations.</td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- <tr>
- <td>string responseText</td>
- <td>String containing the response.</td>
- </tr>
- <tr>
- <td>DOMDocument responseXML</td>
- <td>DOM Document containing the response.</td>
- </tr>
- <tr>
- <td>void send(variant body)</td>
- <td>Initiates the request. If <code>body</code> is defined, it is sent as the body of the POST request. <code>body</code> can be an XML document or a string serialized XML document.</td>
- </tr>
- <tr>
- <td>void setRequestHeader (string headerName, string headerValue)</td>
- <td>Sets an HTTP request header for use in the HTTP request. Has to be called after <code>open()</code> is called.</td>
- </tr>
- <tr>
- <td>string status</td>
- <td>The status code of the HTTP response.</td>
- </tr>
- </tbody>
-</table>
-<h4 id="XSLT_.EC.B0.A8.EC.9D.B4" name="XSLT_.EC.B0.A8.EC.9D.B4">XSLT 차이</h4>
-<p>Mozilla는 XSL 변환 (XSLT) 1.0을 지원한다. Mozilla는 또한 자바스크립트로 XSLT 변환을 실행하는 것을 지원하고 문서상에서 XPath를 실행 하는 것도 지원한다.</p>
-<p>Mozilla에서는 XML 이나 XSLT 파일을 보낼때 XML mimetype (&lt;code&gt;text/xml or <code>application/xml</code>)을 사용해야 한다. 이것이 왜 XSLT가 Mozilla에서는 실행되지 않는데 IE에서는 실행되는 가에 대한 가장 일반적인 이유이다. Mozilla는 이런식으로 엄격하다.</p>
-<p>IE 5.0과 5.5는 XSLT의 working draft를 지원했는데 이것은 final 1.0 recommendation과는 상당히 차이가 있었다. XSLT가 어느 버전으로 쓰였는지 구별할 수 있는 가장 쉬운 방법은 네임스페이스를 보는 것이다. 1.0 권고안의 네임스페이스는 <code><span class="nowiki">http://www.w3.org/1999/XSL/Transform</span></code>인 반면, working draft의 네임스페이스는 <code><span class="nowiki">http://www.w3.org/TR/WD-xsl</span></code>이다. IE 6은 하위 호환성을 위하여 working draft를 지원한다. 그러나 Mozilla는 working draft를 지원하지 않고 최종 권고안만을 지원한다.</p>
-<p>만약 XSLT에서 브라우저를 구별해야 한다면 "xsl:vendor" 시스템 속성으로 알아낼 수 있다. Mozilla의 XSLT엔진은 "Transformiix"라고 표시하겠지만 IE는 "Microsoft"를 반환할 것이다.</p>
-<pre>&lt;xsl:if test="system-property('xsl:vendor') = 'Transformiix'"&gt;
- &lt;!-- Mozilla specific markup --&gt;
-&lt;/xsl:if&gt;
-&lt;xsl:if test="system-property('xsl:vendor') = 'Microsoft'"&gt;
- &lt;!-- Internet Explorer specific markup --&gt;
-&lt;/xsl:if&gt;
-</pre>
-<p>Mozilla는 XSLT에 대한 자바스크립트 인터페이스도 지원하며 이것은 웹사이트가 메모리 상에서 XSLT 변환을 완료할 수 있게 한다. 이것은 자바스크립트 전역 오브젝트인 <code>XSLTProcessor</code>를 사용하여 할 수 있다. <code>XSLTProcessor</code>는 XML과 XSLT 파일을 로드해야 하는데, 이것은 DOM 도큐먼트가 필요하기 때문이다. <code>XSLTProcessor</code>에 의해 임포트된 XSLT 문서는 XSLT 파라미터들을 조작할 수 있게 한다.</p>
-<p>XSLTProcessor 는 <code>transformToDocument()</code>를 사용하여 단독 도큐먼트를 생성하거나 <code>transformToFragment()</code>를 사용하여 도큐먼트 프래그먼트를 생성할 수 있다. 이것은 다른 DOM 문서에 쉽게 추가할 수 있다. 다음의 예를 보자:</p>
-<pre>var xslStylesheet;
-var xsltProcessor = new XSLTProcessor();
-
-// load the xslt file, example1.xsl
-var myXMLHTTPRequest = new XMLHttpRequest();
-myXMLHTTPRequest.open("GET", "example1.xsl", false);
-myXMLHTTPRequest.send(null);
-
-// get the XML document and import it
-xslStylesheet = myXMLHTTPRequest.responseXML;
-
-xsltProcessor.importStylesheet(xslStylesheet);
-
-// load the xml file, example1.xml
-myXMLHTTPRequest = new XMLHttpRequest();
-myXMLHTTPRequest.open("GET", "example1.xml", false);
-myXMLHTTPRequest.send(null);
-
-var xmlSource = myXMLHTTPRequest.responseXML;
-
-var resultDocument = xsltProcessor.transformToDocument(xmlSource);
-</pre>
-<p><code>XSLTProcessor</code>를 생성한 후에는 <code>XMLHttpRequest</code>를 사용하여 XSLT 파일을 로드한다. XMLHttpRequest의 <code>responseXML</code> 멤버는 XSLT파일의 XML 문서를 포함하는데, 이는 <code>importStylesheet</code>로 전달된다. 그리고 나서 <code>XMLHttpRequest</code>를 다시 사용하여 변환되어야 하는 원본 XML 문서를 로드한다. 이 문서는 이제 <code>XSLTProcessor</code>의 <code>transformToDocument</code> 멤버로 전달된다. 표 8은 <code>XSLTProcessor</code> 메소드의 리스트이다.</p>
-<table class="standard-table">
- <caption>
- 표 8. XSLTProcessor methods</caption>
- <tbody>
- <tr>
- <th>Method</th>
- <th>Description</th>
- </tr>
- <tr>
- <td>void importStylesheet(Node styleSheet)</td>
- <td>Imports the XSLT stylesheet. The <code>styleSheet</code> argument is the root node of an XSLT stylesheet's DOM document.</td>
- </tr>
- <tr>
- <td>DocumentFragment transformToFragment(Node source, Document owner)</td>
- <td>Transforms the Node <code>source</code> by applying the stylesheet imported using the <code>importStylesheet</code> method and generates a DocumentFragment. <code>owner</code> specifies what DOM document the DocumentFragment should belong to, making it appendable to that DOM document.</td>
- </tr>
- <tr>
- <td>Document transformToDocument(Node source)</td>
- <td>Transforms the Node <code>source</code> by applying the stylesheet imported using the <code>importStylesheet</code> method and returns a standalone DOM document.</td>
- </tr>
- <tr>
- <td>void setParameter(String namespaceURI, String localName, Variant value)</td>
- <td>Sets a parameter in the imported XSLT stylesheet.</td>
- </tr>
- <tr>
- <td>Variant getParameter(String namespaceURI, String localName)</td>
- <td>Gets the value of a parameter in the imported XSLT stylesheet.</td>
- </tr>
- <tr>
- <td>void removeParameter(String namespaceURI, String localName)</td>
- <td>Removes all set parameters from the imported XSLT stylesheet and makes them default to the XSLT-defined defaults.</td>
- </tr>
- <tr>
- <td>void clearParameters()</td>
- <td>Removes all set parameters and sets them to defaults specified in the XSLT stylesheet.</td>
- </tr>
- <tr>
- <td>void reset()</td>
- <td>Removes all parameters and stylesheets.</td>
- </tr>
- </tbody>
-</table>
-<div class="originaldocinfo">
- <h3 id=".EC.9B.90.EB.9E.98_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.9E.98_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원래 문서 정보</h3>
- <ul>
- <li>Author(s): Doron Rosenberg, IBM Corporation</li>
- <li>Published: 26 Jul 2005</li>
- <li>Link: <a class="external" href="http://www.ibm.com/developerworks/web/library/wa-ie2mozgd/" rel="freelink">http://www.ibm.com/developerworks/we...y/wa-ie2mozgd/</a></li>
- </ul>
-</div>
-<p>{{ languages( { "en": "en/Migrate_apps_from_Internet_Explorer_to_Mozilla" } ) }}</p>
diff --git a/files/ko/mozilla's_quirks_mode/index.html b/files/ko/mozilla's_quirks_mode/index.html
deleted file mode 100644
index 1cf28fcbb7..0000000000
--- a/files/ko/mozilla's_quirks_mode/index.html
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Mozilla's Quirks Mode
-slug: Mozilla's_Quirks_Mode
-tags:
- - Gecko
- - Web Development
- - Web Standards
-translation_of: Mozilla/Mozilla_quirks_mode_behavior
----
-<p>웹 상의 현존 컨텐트가 표준을 따르지 않거나 표준 호환 브라우저에서 의도하지 않은 방식으로 보이기 때문에, Mozilla는 일부 컨텐트는 하위 호환성이 있는 방식으로 일부 컨텐트는 표준에 따라 처리합니다.</p>
-
-<p>레이아웃 엔진이 쓰는 모드는 하위 호환(quirks) 모드, 거의 표준(almost standards) 모드, 그리고 완전 표준(full standards) 모드 셋입니다. <strong>하위 호환 모드</strong>에서, 레이아웃은 웹 상의 현존 컨텐트를 깰(break) 필요가 없는 Windows용 Navigator 4와 MSIE에서 비표준 behavior를 에뮬레이트합니다. <strong>완전 표준 모드</strong>에서, behavior는 (잘하면) HTML과 CSS 명세에 기술된 behavior입니다. <strong>거의 표준 모드</strong>에서는, 구현된 quirk(는 거의 표준 모드를 쓰게 하는 DOCTYPE을 쓰는 웹 상의 실제 페이지를 깸) 수가 아주 조금 밖에 없습니다.</p>
-
-<h3 id="Mozilla.EA.B0.80_.EC.93.B8_.EB.AA.A8.EB.93.9C.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EA.B2.B0.EC.A0.95.ED.95.98.EB.8A.94.EA.B0.80.3F" name="Mozilla.EA.B0.80_.EC.93.B8_.EB.AA.A8.EB.93.9C.EB.A5.BC_.EC.96.B4.EB.96.BB.EA.B2.8C_.EA.B2.B0.EC.A0.95.ED.95.98.EB.8A.94.EA.B0.80.3F">Mozilla가 쓸 모드를 어떻게 결정하는가?</h3>
-
-<p>text/html로 보낸 문서의 경우, Mozilla는 하위 호환 모드나 표준 모드 가운데 어느 쪽으로 문서를 처리할지 결정해야 합니다(text/xml 또는 다른 XML이나 XHTML MIME 형으로 보낸 컨텐트는 항상 strict 모드로 처리됨). 현재 Mozilla는 이 결정을 DOCTYPE sniffing을 통해 수행합니다. 즉, 페이지가 모든 표준 behavior가 쓰일 때 정확히 작동하기를 기대할 수 있는 최근 작성된 웹 페이지인지에 관한 암시로서 DOCTYPE 선언(DTD)을 씁니다. DOCTYPE sniffing이 어떻게 레이아웃 모드를 결정하는데 쓰이는지는 <a href="ko/Mozilla's_DOCTYPE_sniffing">상세한 설명</a> 참조.</p>
-
-<p>DTD가 원래 다른 이유로 있기 때문에, 페이지의 DTD를 바꾸지 않고 레이아웃 모드를 설정(또는 제안)할 수 있게 하는 요구가 제작자들에게 있어 왔습니다. 지금까지는 그러한 메서드가 구현되지 않았지만, 주된 계획은 문서 헤드(head)의 META 요소를 통해 접근할 수도 있는 HTTP 헤더입니다.</p>
-
-<h3 id=".EB.AA.A8.EB.93.9C_.EC.82.AC.EC.9D.B4.EC.9D.98_.EC.B0.A8.EC.9D.B4.EC.A0.90.EC.9D.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F" name=".EB.AA.A8.EB.93.9C_.EC.82.AC.EC.9D.B4.EC.9D.98_.EC.B0.A8.EC.9D.B4.EC.A0.90.EC.9D.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F">모드 사이의 차이점은 무엇인가?</h3>
-
-<p>모드 사이의 차이점은 <a href="ko/Mozilla_Quirks_Mode_Behavior">quirk 목록</a> 참조.</p>
diff --git a/files/ko/mozilla/add-ons/amo/index.html b/files/ko/mozilla/add-ons/amo/index.html
deleted file mode 100644
index e1684b2100..0000000000
--- a/files/ko/mozilla/add-ons/amo/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: AMO
-slug: Mozilla/Add-ons/AMO
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Mozilla/Add-ons/AMO
----
-<p>Pages documenting <a href="https://addons.mozilla.org/en-US/firefox/">addons.mozilla.org</a>:</p>
-
-<p>{{Listsubpages("/en-US/Add-ons/AMO", 10)}}</p>
-
-<p> </p>
-
-<p> </p>
diff --git a/files/ko/mozilla/add-ons/amo/policy/index.html b/files/ko/mozilla/add-ons/amo/policy/index.html
deleted file mode 100644
index 58fb599b47..0000000000
--- a/files/ko/mozilla/add-ons/amo/policy/index.html
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: AMO Policies
-slug: Mozilla/Add-ons/AMO/Policy
-tags:
- - AMO
- - Add-ons
- - Firefox
- - NeedsTranslation
- - Policies
- - TopicStub
-translation_of: Mozilla/Add-ons/AMO/Policy
----
-<p>{{AddonSidebar}}</p>
-
-<p>Mozilla is committed to ensuring an excellent experience for both our users and developers of add-ons. Please review the policies below before submitting your add-on.</p>
-
-<dl>
- <dt><a href="/Mozilla/Add-ons/AMO/Policy/Agreement">Developer Agreement</a></dt>
- <dd>This agreement is effective as of June 10, 2019.</dd>
- <dt><a href="/Mozilla/Add-ons/AMO/Policy/Reviews">Add-on policies</a></dt>
- <dd>Add-ons extend the core capabilities of Firefox, enabling users to modify and personalize their Web experience. A healthy add-on ecosystem, built on trust, is vital for developers to be successful and users to feel safe making Firefox their own.</dd>
- <dd>For these reasons, Mozilla requires all add-ons to comply with the add-on policies on acceptable practices. The policies are not intended to serve as legal advice, nor are they intended to serve as a comprehensive list of terms to include in your add-on’s privacy policy.</dd>
- <dt><a href="/Mozilla/Add-ons/AMO/Policy/Featured">Featured Add-ons</a></dt>
- <dd>How up-and-coming add-ons become featured and what's involved in the process.</dd>
- <dt><a href="/en-US/Add-ons#Contact_us">Contact Us</a></dt>
- <dd>How to get in touch with us regarding these policies or your add-on.
- <p> </p>
- </dd>
-</dl>
diff --git a/files/ko/mozilla/add-ons/bootstrapped_extensions/index.html b/files/ko/mozilla/add-ons/bootstrapped_extensions/index.html
deleted file mode 100644
index 19bb9e4af8..0000000000
--- a/files/ko/mozilla/add-ons/bootstrapped_extensions/index.html
+++ /dev/null
@@ -1,349 +0,0 @@
----
-title: Bootstrapped extensions
-slug: Mozilla/Add-ons/Bootstrapped_extensions
-translation_of: Archive/Add-ons/Bootstrapped_extensions
----
-<p>{{ gecko_minversion_header("2.0") }}</p>
-
-<div class="note">
-<p><strong>노트:</strong><a class="link-https" href="https://addons.mozilla.org/en-US/developers/docs/sdk/latest/"> 부가기능 SDK</a> 를 사용한 모든 확장기능은 부트스트랩입니다! 모든 부트스트랩 코드는 생성되었으므로 따로 고민할 필요 없습니다. 부가기능 SDK를 사용하지 않으셨나요? 계속 읽어주세요...</p>
-</div>
-
-<p>전통적인 확장기능은 오버레이를 포함하고 있습니다. 오버레이는 확장기능 패키지에서 XUL 파일을 꺼내 자동으로 UI 위에 덧씌웁니다. 이 방식을 쓰면 UI에 무언가 더하는 확장기능을 만들기 쉬워지지만 업데이트, 설치, 사용불가를 할 때마다 파이어폭스를 다시 시작해야 합니다.</p>
-
-<p>Gecko 2.0{{ geckoRelease("2.0") }}은 부트스트랩 확장기능을 소개합니다. 이것은 오버레이 대신 직접 파이어폭스로 삽입되게 프로그램밍된  확장기능입니다.  확장기능 안에 포함된 어떤 스크립트 파일이 브라우저가 이 확장기능을 설치, 제거, 실행, 종료할 수 있게 해 줍니다.</p>
-
-<p>파이어폭스가 하는 일은 스크립트 파일에 따라 호출하는 것 뿐입니다.  UI의 추가, 제거, 설치, 종료 등은 모두 확장기능이 알아서 합니다.</p>
-
-<p>이 문서는 어떻게 부트스트랩 확장기능이 작동하는지 알려줍니다. 오버레이 확장기능을 부트스트랩으로 바꾸려면 <a href="/en-US/Add-ons/How_to_convert_an_overlay_extension_to_restartless">converting from an overlay extension to restartless</a> 이 문서를 확인하세요.</p>
-
-<h2 id="시작과_종료_프로세스">시작과 종료 프로세스</h2>
-
-<p>부트스트랩 확장기능의 가장 중요한 점은 필요에 따라 파이어폭스가 마음대로 켜고 끌 수 있어야 한다는 점입니다. 확장기능의 <code>startup() </code>함수가 호출되면 UI와 다른 기능들이 수동으로 실행되어야 합니다. 마찬가지로 <code>shutdown()</code> 함수가 호출되면 파이어폭스에 추가한 것과 그것의 오브젝트의 모든 리퍼런스를 제거해야 합니다.</p>
-
-<p><code>startup()</code> 함수가 호출될 때의 예:</p>
-
-<ul>
- <li>파이어폭스와의 호환과 활성화가 되어 있을 경우 확장기능이 설치 되었을 때</li>
- <li>부가 기능 관리자 창으로 확장기능이 활성화 되었을 때</li>
- <li>확장기능이 활성화 되어있고 호환 가능할 경우 파이어폭스가 실행되었을 때</li>
-</ul>
-
-<p><code>shutdown()</code> 함수가 호출될 때의 예:</p>
-
-<ul>
- <li>확장기능이 활성화된 상태로 제거되었을 때</li>
- <li>확장기능이 비활성화 되었을 때</li>
- <li>확장기능이 활성화 되어있을 경우 사용자가 파이어폭스를 껐을 때</li>
-</ul>
-
-<h2 id="파이어폭스_UI를_변경할_때">파이어폭스 UI를 변경할 때</h2>
-
-<h3 id="부트스트랩_부가기능의_chrome.manifest">부트스트랩 부가기능의 chrome.manifest</h3>
-
-<p>다으의 경우에서 부트스트랩 부가기능의 <a href="/en-US/docs/Chrome_Registration"><code>chrome.manifest</code></a> 을 사용할 수 있습니다:</p>
-
-<ol>
- <li>부가기능을  <code>chrome://</code> URL로 켤 때  (<code>매니페스트에서 content</code>, <code>locale</code>, 그리고 <code>skin</code> 인스트럭션을 사용하세요);</li>
- <li>이미 있는 <code>chrome://</code> URI 를 교체할 때 (<code>override</code> 인스트럭션을 사용하세요).</li>
-</ol>
-
-<p>부트스트랩 부가기능에서 모든 <code>chrome.manifest</code> 인스트럭션이 지원되는 것은 아닙니다. 예를 들어 <a href="/en-US/docs/XUL_Overlays">XUL Overlays</a> 는 부트스트랩 부가기능에서 사용할 수 없습니다. 더 자세한 내용은 <a href="/en-US/docs/Chrome_Registration"><code>chrome.manifest</code></a> 문서를 참고하세요.</p>
-
-<p>파이어폭스 10 이후 버전에서 부가기능의 xpi 파일의 최상단(<code>install.rdf</code> 등과 같은 위치)에 위치해 있는  <code>chrome.manifest </code>파일은 자동으로 열립니다. 파이어폭스 8과 9에서 당신은 직접<code> {{ ifmethod("nsIComponentManager", "addBootstrappedManifestLocation") }}</code> 과 <code>{{ ifmethod("nsIComponentManager", "removeBootstrappedManifestLocation") }}</code>를 통해 매니페스트 파일을 열고 닫아야 합니다. 이 기능은 파이어폭스 8 이전 버전에서는 지원되지 않습니다.</p>
-
-<h3 id="UI를_수동으로_추가하기">UI를 수동으로 추가하기</h3>
-
-<p>만약 파이어폭스의 UI를 바꾸는 부트스트랩 확장기능을 개발하기로 했다면 여기 몇가지 제안사항이 있습니다.</p>
-
-<p>우선 {{ domxref("document.getElementById()") }}를 호출해서 바꾸고자 하는 UI 엘리먼츠를 ID로 찾아야 합니다. 그 다음 UI를 추가하기 위한 조작을 합니다. 예를 들어 파이어폭스의 메뉴바에 접근하기 위해서 이렇게 합니다.  <code>document.getElementById("main-menubar")</code>.</p>
-
-<p>종료할 대마다 추가한 모든 UI를 제거해야 합니다.</p>
-
-<h2 id="부트스트랩_확장기능_만들기">부트스트랩 확장기능 만들기</h2>
-
-<p>확장기능이 부트스트랩이라는 것을 표시하기 위해 <a href="/en-US/docs/Install_Manifests">install manifest</a> 에 다음 줄을 추가하세요:</p>
-
-<pre><code>&lt;em:bootstrap&gt;true&lt;/em:bootstrap&gt;</code></pre>
-
-<p>그 다음 필요한 기능들이 담긴 <a href="/en-US/docs/Extensions/bootstrap.js"><code><strong>bootstrap.js</strong></code></a> 파일을 추가합니다; 이것은 확장기능 패키지에서 <a href="/en-US/docs/Install_Manifests"><code>install.rdf</code></a> 파일과 같이 있어야 합니다.</p>
-
-<h3 id="Backward_compatibility이전버전과의_호환">Backward compatibility이전버전과의 호환</h3>
-
-<p>오래된 버전의 파이어폭스는 <code>bootstrap</code> 속성이나 <code>bootstrap.js</code> 파일을 인식하지 못하기 때문에 부트스트랩 확장기능과 전통적인 확장기능이 모두 담긴 XPI 파일을 만드는 것은 어려운 일이 아닙니다. 확장기능을 부트스트랩으로 만든 다음 오버레이를 추가하세요. 새 버전의 파이어폭스는 <code>bootstrap.js</code> 스크립트를 사용하면서 컴포넌트와 오버레이를 무시할 것이고 오래된 버전은 오버레이를 사용할 것입니다.</p>
-
-<h2 id="부트스트랩_진입점">부트스트랩 진입점</h2>
-
-<p><code>bootstrap.js</code> 스크립트는 브라우저가 확장기능을 관리할 때 호출하는 특정 함수들을 포함하고 있어야 합니다. 스크립트는 특정 샌드박스에서 실행되며 샌드박스는 확장기능이 종료되기 전까지 캐시로 남아있습니다.</p>
-
-<h3 id="startup">startup</h3>
-
-<p>확장기능을 시작할 때 호출됩니다. 파이어폭스가 켜질 때, 비활성화된 확장기능이 활성화될 때 또는 업데이트를 설치하기 위해 종료되었을 때 같은 상황에서 호출됩니다. 이처럼 파이어폭스의 생명주기동안 여러번 호출될 수 있습니다.</p>
-
-<p>이 함수가 호출되었을 때 부가기능은 UI를 추가하고 동작에 필요한 작업을 시작해야 합니다.</p>
-
-<pre>void startup(
-  data,
-  reason
-);
-</pre>
-
-<h6 id="변수">변수</h6>
-
-<dl>
- <dt><code>data</code></dt>
- <dd>A <a href="#Bootstrap_data">bootstrap data structure</a>.</dd>
- <dt><code>reason</code></dt>
- <dd> <a href="#Reason_constants">reason constants</a> 중의 하나로 왜 확장기능이 시작되었는지를 표시합니다. <code>APP_STARTUP</code>, <code>ADDON_ENABLE</code>, <code>ADDON_INSTALL</code>, <code>ADDON_UPGRADE</code>, 또는 <code>ADDON_DOWNGRADE</code> 중의 하나가 됩니다.</dd>
-</dl>
-
-<h3 id="shutdown">shutdown</h3>
-
-<p>파이어폭스가 꺼질때, 확장기능이 업그레이드되거나 비활성화 될 때 처럼 확장기능이 종료할 때 호출됩니다. 추가된 UI를 제거하고 태스크는 종료하고 오브젝트는 처리해야 합니다.</p>
-
-<pre>void shutdown(
-  data,
-  reason
-);
-</pre>
-
-<h6 id="변수_2">변수</h6>
-
-<dl>
- <dt><code>data</code></dt>
- <dd>A <a href="#Bootstrap_data">bootstrap data structure</a>.</dd>
- <dt><code>reason</code></dt>
- <dd><a href="#Reason_constants">reason constants</a> 중의 하나로 왜 확장기능이 종료되었는지를 표시합니다. <code>APP_SHUTDOWN</code>, <code>ADDON_DISABLE</code>, <code>ADDON_UNINSTALL</code>, <code>ADDON_UPGRADE</code>, 또는 <code>ADDON_DOWNGRADE</code> 중의 하나가 됩니다.</dd>
-</dl>
-
-<h3 id="install">install</h3>
-
-<p>부트스트랩 스크립트는 확장기능이 설치, 업그레이드, 다운그레이드 되고 나서 첫번째로 <code>startup() </code>함수를 호출하기 전에 호출할 <code>install()</code> 함수를 포함해야 합니다.</p>
-
-<div class="note"><strong>노트:</strong> 이 메소드는 확장기능이 실행되지 않으면 호출되지 않습니다; 예를 들어 확장기능이 설치되었지만 파이어폭스의 현재 버전과 호환되지 않으면 <code>install()</code> 함수는 확장기능이 제거되기 전까지 호환성 문제를 해결하지 않는 이상 호출되지 않습니다. 그러나 만약 확장기능이 파이어폭스에 호환되도록 업그레이드된다면 <code>install()</code> 함수는 그때 <code>startup()</code> 함수가 호출되기 전에 호출될 것입니다.</div>
-
-<pre>void install(
-  data,
-  reason
-);
-</pre>
-
-<h6 id="변수_3">변수</h6>
-
-<dl>
- <dt><code>data</code></dt>
- <dd>A <a href="#Bootstrap_data">bootstrap data structure</a>.</dd>
- <dt><code>reason</code></dt>
- <dd><a href="#Reason_constants">reason constants</a>의 하나로 왜 확장기능이 설치되었는지 표시힙니다. <code>ADDON_INSTALL</code>, <code>ADDON_UPGRADE</code>, or <code>ADDON_DOWNGRADE</code>중 하나가 됩니다.</dd>
-</dl>
-
-<h3 id="uninstall">uninstall</h3>
-
-<p>이 함수는 마지막으로 <code>shutdown()</code> 함수가 호출되었을 때 이후 특정 버전의 확장기능이 제거되었을 때 호출됩니다. <code>install()</code> 이 호출되지 않았다면 이 함수는 호출되지 않습니다.</p>
-
-<div class="note"><strong>노트:</strong> <code>uninstall()</code> 함수는 확장기능이 비활성화 되어있거나 현재 파이어폭스와 버전이 맞지 않더라도 호출될 수 있다는 것을 기억해야 합니다. 그렇기 때문에 현재 파이어폭스에서 지원되지 않는 API들을 우아하게 다루는 것이 중요합니다. 또한 이 함수는 파이어폭스가 실행되지 않을 때 써드파티 애플리케이션이 확장기능을 제거했을 때는 호출되지 않습니다. uninstall 코드가 있는데 실행이 안될 때<code>install() {} </code>만 있는것은 충분하지 않습니다.<code> install </code>함수에서 몇몇 코드를 실행하던지, 최소한 <code>install </code>function에 이런 식으로 선언해야 합니다: <code>function install(aData, aReason) {}</code> 그러면 uninstall 코드가 실행될 것입니다.</div>
-
-<div class="note"><strong>노트:</strong> 부가 기능 관리자에서 부가기능의 "제거"를 클릭할 경우는 바로 uninstall 함수를 호출하진 않습니다. 왜냐하면 "취소"버튼이 있기 때문입니다. 부가기능 관리자를 닫거나 해서 "취소" 버튼이 사라지면 그때 호출됩니다.</div>
-
-<div class="note"><strong>노트:</strong> uninstall 함수는 업그레이드와 다운그레이드 시에도 호출되기 때문에  다음과 같이 표시해주어야 합니다:<br>
-<code>function uninstall(aData, aReason) {</code><br>
-<code>     if (aReason == ADDON_UNINSTALL) {</code><br>
-<code>          console.log('really uninstalling');</code><br>
-<code>     } else {</code><br>
-<code>          console.log('not a permanent uninstall, likely an upgrade or downgrade');</code><br>
-<code>     }</code><br>
-<code>}</code></div>
-
-<pre>void uninstall(
-  data,
-  reason
-);
-</pre>
-
-<h6 id="변수_4">변수</h6>
-
-<dl>
- <dt><code>data</code></dt>
- <dd>A <a href="#Bootstrap_data">bootstrap data structure</a>.</dd>
- <dt><code>reason</code></dt>
- <dd><a href="#Reason_constants">reason constants</a>의 하나로 왜 확장기능이 제거되었는지 표시해줍니다. <code>ADDON_UNINSTALL</code>, <code>ADDON_UPGRADE</code>, 또는 <code>ADDON_DOWNGRADE</code> 중의 하나가 됩니다.</dd>
-</dl>
-
-<h2 id="Reason_상수">Reason 상수</h2>
-
-<p>부트스트랩의 함수는 <code>reason</code> 변수를 허용합니다. 이는 확장기능에게 왜 호출되었는지를 설명합니다. reason 상수는 다음과 같습니다:</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">상수</td>
- <td class="header">값</td>
- <td class="header">설명</td>
- </tr>
- <tr>
- <td><code>APP_STARTUP</code></td>
- <td>1</td>
- <td>파이어폭스가 실행</td>
- </tr>
- <tr>
- <td><code>APP_SHUTDOWN</code></td>
- <td>2</td>
- <td>파이어폭스가 종료</td>
- </tr>
- <tr>
- <td><code>ADDON_ENABLE</code></td>
- <td>3</td>
- <td>부가기능이 활성화</td>
- </tr>
- <tr>
- <td><code>ADDON_DISABLE</code></td>
- <td>4</td>
- <td>부가기능이 비활성화 (혹은 <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=620541">제거중 호출됨</a>)</td>
- </tr>
- <tr>
- <td><code>ADDON_INSTALL</code></td>
- <td>5</td>
- <td>부가기능이 설치됨</td>
- </tr>
- <tr>
- <td><code>ADDON_UNINSTALL</code></td>
- <td>6</td>
- <td>부가기능이 제거됨</td>
- </tr>
- <tr>
- <td><code>ADDON_UPGRADE</code></td>
- <td>7</td>
- <td>부가기능이 업그레이드됨</td>
- </tr>
- <tr>
- <td><code>ADDON_DOWNGRADE</code></td>
- <td>8</td>
- <td>부가기능이 다운그레이드됨</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Bootstrap_data">Bootstrap data</h2>
-
-<p>각각의 진입점들은 부가기능의 유용한 정보를 담고 있는 간단한 데이터 구조를 갖고 있습니다. 부가기능에 대한 더 많은 정보는 <code><a href="/en-US/docs/Addons/Add-on_Manager/AddonManager#getAddonByID()">AddonManager.getAddonByID()</a></code>를 호출하는 것으로 알 수 있습니다. 그 데이터는 다음과 같은 속성을 갖고있는 간단한 자바스크립트 오브젝트입니다:</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">속성</td>
- <td class="header">자료형</td>
- <td class="header">설명</td>
- </tr>
- <tr>
- <td><code>id</code></td>
- <td><code>string</code></td>
- <td>부가기능의 ID</td>
- </tr>
- <tr>
- <td><code>version</code></td>
- <td><code>string</code></td>
- <td>부가기능의 버전</td>
- </tr>
- <tr>
- <td><code>installPath</code></td>
- <td><code>nsIFile</code></td>
- <td>부가기능이 설치된 장소. 부가기능이 언팩되어있는지 여부에 따라 디렉터리가 될 수도 있고 XPI 파일이 될 수도 있습니다.</td>
- </tr>
- <tr>
- <td><code>resourceURI</code></td>
- <td><code>nsIURI</code></td>
- <td>부가기능의 루트를 가리키는 URI. 부가기능이 언팩되어있는지 여부에 따라 <code>jar:</code> 이 될 수도 있고 <code>file:</code> URI 이 될 수도 있습니다. {{ gecko_minversion_inline("7.0") }}</td>
- </tr>
- <tr>
- <td><code>oldVersion</code></td>
- <td><code>string</code></td>
- <td>과거 설치된 버전, reason이 <code>ADDON_UPGRADE</code> 이거나 <code>ADDON_DOWNGRADE이고 함수가</code> <code>install</code> 이나 <code>startup일 경우</code>. {{ gecko_minversion_inline("22.0") }}</td>
- </tr>
- <tr>
- <td><code>newVersion</code></td>
- <td><code>string</code></td>
- <td>설치될 버전. reason이 <code>ADDON_UPGRADE</code> 이나 <code>ADDON_DOWNGRADE이고 함수가</code> is <code>shutdown</code> 이나 <code>uninstall일 경우</code>. {{ gecko_minversion_inline("22.0") }}</td>
- </tr>
- </tbody>
-</table>
-
-<div class="note">
-<p><strong>노트:</strong> <code>startup</code> 함수의 reason이 <code>APP_STARTUP이고</code> <code>oldVersion</code> 속성이 설정되어있지 않으면 부가기능은 파이어폭스가 시작될 때 업그레이드/다운그레이드 될 수 있습니다. 또한 어떤 상황에서는 uninstall 함수가 호출되지 않고도 업그레이드/다운그레이드가 일어난다는 것을 주의하세요.</p>
-</div>
-
-<h2 id="부가_기능_디버거">부가 기능 디버거</h2>
-
-<p>파이어폭스 31부터 부트스트랩 부가 기능을 디버깅하기 위해서 <a href="/en-US/Add-ons/Add-on_Debugger">부가 기능 디버거</a>를 사용할 수 있습니다.</p>
-
-<h2 id="현지화_L10n">현지화 (L10n)</h2>
-
-<p>부트스트랩 부가기능을 현지화하는 것은 chrome.manifest 호환성이 정착된 파이어폭스 7 이후로 거의 같습니다.</p>
-
-<h3 id="JS와_JSM_파일_-_속성_파일_사용하기">JS와 JSM 파일 - 속성 파일 사용하기</h3>
-
-<p>.js와 .jsm 파일을 현지화하기 위해서 <a href="/en-US/docs/XUL/Tutorial/Property_Files">속성 파일</a>을 사용해야 합니다.</p>
-
-<p>필요한 최소한의 것들은:</p>
-
-<ol>
- <li>파일: install.rdf</li>
- <li>파일: chrome.manifest</li>
- <li>파일: bootstrap.js</li>
- <li>폴더: locale
- <ol>
- <li>폴더: VALID_LOCALE_HERE
- <ol>
- <li>파일: ANYTHING.properties</li>
- </ol>
- </li>
- </ol>
- </li>
-</ol>
-
-<p>locale 폴더 안에 지원할 각각의 언어를 위한 폴더들이 있어야 합니다; 각각의 폭더는 유효한 로케일의 이름이어야 합니다(예: en-US). 폴더 안에는 속성파일이 들어있어야 합니다. chrome.manifest 파일 안에는 이런 로케일들이 정의되어야 합니다. 예를 들어 locale 폴더 안에 en-US 폴더가 들어있을 경우 chrome.manifest 파일에는 다음 줄이 추가되어야 합니다: <code>locale NAME_OF_YOUR_ADDON en-US locale/en-US/</code></p>
-
-<p>여기 예가 있습니다: <a href="https://github.com/Noitidart/l10n/tree/properties">GitHub :: l10n-properties</a> - 이 부가기능을 실행하면 프롬프트에 USA나 Great Britain중 당신의 로케일에 가까운 쪽이 뜰 것입니다. about:config에서  general.useragent.locale을 en-US로 바군 뒤 en-GB로 설정하고 부가기능을 비활성화 한 뒤에 활성화하면서 다른 로케일을 시험해볼 수 있습니다.</p>
-
-<h3 id="XUL과_HTML_파일_-_Using_Entities_from_DTD_Files">XUL과 HTML 파일 - Using Entities from DTD Files</h3>
-
-<p>HTML파일은 흔히 사용되지만 DTD을 사용해 번역할 수 없습니다. 변경해야 하는 것이 세가지가 있습니다:</p>
-
-<ol>
- <li> HTML 파일의 확장자를 <code>.xhtml로 변경합니다</code></li>
- <li>doctype에서 locale 폴더 속의 DTD 파일의 위치가 이런 식으로 정의되어야 합니다: <code>&lt;!DOCTYPE html SYSTEM <span class="pl-s1">"chrome://l10n/locale/mozilla.dtd"</span>&gt;</code></li>
- <li>html 태그에 xmlns 속성을 붙여야 합니다: <code>&lt;<span class="pl-ent">html</span> <span class="pl-e">xmlns</span>=<span class="pl-s1"><span class="pl-pds">"</span>http://www.w3.org/1999/xhtml<span class="pl-pds">"</span></span>&gt;</code></li>
-</ol>
-
-<p>최소한으로 필요한 것:</p>
-
-<ol>
- <li>파일: install.rdf</li>
- <li>파일: chrome.manifest</li>
- <li>파일: bootstrap.js</li>
- <li>폴더: locale
- <ol>
- <li>폴더: VALID_LOCALE_HERE
- <ol>
- <li>파일: ANYTHING.dtd</li>
- </ol>
- </li>
- </ol>
- </li>
-</ol>
-
-<p>chrome.manifest 파일은 이와 같이 내용에 대한 정의를 포함해야 합니다: <code>content NAME_OF_YOUR_ADDON ./</code></p>
-
-<p>chrome.manifest 파일은 또한 위의 속성 섹션처럼 locale을 가리키는 라인이 포함되어야 합니다. locale의 폴더 이름이 en-US라면chrome.manifest 파일은 다음 줄을 포함해야 합니다: <code>locale NAME_OF_YOUR_ADDON en-US locale/en-US/</code></p>
-
-<p>이것은 설치되면 HTML과 XUL 페이지를 열어주는 예시 부가기능입니다: <a href="https://github.com/Noitidart/l10n/tree/c456cc82a8a66b6d552cd8c2299cd2babc383af0">GitHub :: l10n-xhtml-xul</a>. 이것은 어떻게 현지화된 HTML파일을 옵션으로 쓸 수 있는지의 예입니다: <a href="https://github.com/Noitidart/l10n/tree/html-options">GitHub :: l10n-html-options</a>.  about:config에서 <code>general.useragent.locale을</code> <code>en-US</code>로 바꾼 뒤 <code>en-GB</code>로 바꾸고 열린 페이지를 새로고침 하면 현지화의 변화를 알 수 있습니다.</p>
-
-<h2 id="더_읽어보기">더 읽어보기</h2>
-
-<ul>
- <li><a href="https://developer.mozilla.org/en-US/Add-ons/How_to_convert_an_overlay_extension_to_restartless">How to convert an overlay extension to restartless</a> a step by step guide. Some code samples are provided. The page is based on and expanded from Dave Garrett's step-by-step guide to <a class="external" href="https://flagfox.wordpress.com/2014/01/19/writing-restartless-addons/">convert an old overlay based extension into a restartless addon</a>.</li>
- <li>Dave Townsend provides a basic code base to <a class="external" href="http://www.oxymoronical.com/blog/2011/01/Playing-with-windows-in-restartless-bootstrapped-extensions">load UI for each opened window</a> in a bootstrapped extension.</li>
- <li>Mark Finkle provides some simple example code for <a class="external" href="http://starkravingfinkle.org/blog/2011/01/bootstrap-jones-adventures-in-restartless-add-ons/">restartless add-ons in mobile Firefox</a>, <a class="external" href="http://starkravingfinkle.org/blog/2011/01/restartless-add-ons-more-resources/">adding resources (like the options window)</a> to bootstrapped extensions and <a class="external" href="http://starkravingfinkle.org/blog/2011/01/restartless-add-ons-%e2%80%93-default-preferences/">using default preferences</a> without a <code>default/preferences/prefs.js</code> file.</li>
- <li>Kris Maglione writes about <a class="external" href="http://maglione-k.users.sourceforge.net/bootstrapped.xhtml">the requirements for the cleanup procedures</a> in bootstrapped extensions.</li>
- <li>Edward Lee shows off some <a class="external" href="http://ed.agadak.net/2011/01/restartless-add-on-example-code">helpful coding patterns and examples</a> you can use in your bootstrapped add-on.</li>
- <li>Documentation for <a href="/en-US/docs/Extensions/Inline_Options">Inline Options</a> in Firefox 7 and later.</li>
-</ul>
diff --git a/files/ko/mozilla/add-ons/extension_frequently_asked_questions/index.html b/files/ko/mozilla/add-ons/extension_frequently_asked_questions/index.html
deleted file mode 100644
index 508750dfad..0000000000
--- a/files/ko/mozilla/add-ons/extension_frequently_asked_questions/index.html
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title: Extension Frequently Asked Questions
-slug: Mozilla/Add-ons/Extension_Frequently_Asked_Questions
-tags:
- - Add-ons
- - Extensions
-translation_of: Archive/Mozilla/Extension_Frequently_Asked_Questions
----
-<h3 id=".EB.94.94.EB.B2.84.EA.B9.85" name=".EB.94.94.EB.B2.84.EA.B9.85"><b>디버깅</b></h3>
-<p>확장기능을 디버깅하기 전에<a class="external" href="http://kb.mozillazine.org/Setting_up_extension_development_environment">development preferences</a> 를 올바르게 설정하시기를 권장합니다.</p>
-<p>자바스크립트 디버거인 <a href="ko/Venkman">Venkman</a>은 복잡한 디버깅 상황에서 유용한 디버거가 되어 줄 것입니다. 디버깅 하실 때, "Debug -&gt; Exclude Browser Files" 옵션이 활성화 되어 있지 않아야 합니다.</p>
-<p> </p>
-<h4 id=".EC.96.B4.EB.96.BB.EA.B2.8C.ED.95.98.EB.A9.B4_.EC.BD.94.EB.93.9C.EB.82.B4_.EC.97.90.EB.9F.AC.EB.A5.BC_.EB.B3.BC_.EC.88.98_.EC.9E.88.EC.9D.84.EA.B9.8C.3F" name=".EC.96.B4.EB.96.BB.EA.B2.8C.ED.95.98.EB.A9.B4_.EC.BD.94.EB.93.9C.EB.82.B4_.EC.97.90.EB.9F.AC.EB.A5.BC_.EB.B3.BC_.EC.88.98_.EC.9E.88.EC.9D.84.EA.B9.8C.3F"><b>어떻게하면 코드내 에러를 볼 수 있을까?</b></h4>
-<p><a class="external" href="http://kb.mozillazine.org/Setting_up_extension_development_environment">preference 의 <b>javascript.options.showInConsole</b>옵션이 <b>true</b> 값이 되도록 설정</a>하시면, 모든 종류의 에러 메시지는 자바스크립트 콘솔을 통해서 보고될 것입니다.</p>
-<h4 id=".EC.96.B4.EB.96.BB.EA.B2.8C.ED.95.98.EB.A9.B4_.ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5.EC.9D.B4_.EC.A0.9C.EB.8C.80.EB.A1.9C_.EB.8F.99.EC.9E.91_.ED.95.98.EB.8A.94.EC.A7.80_.ED.99.95.EC.9D.B8.ED.95.A0_.EC.88.98_.EC.9E.88.EC.9D.84.EA.B9.8C.3F" name=".EC.96.B4.EB.96.BB.EA.B2.8C.ED.95.98.EB.A9.B4_.ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5.EC.9D.B4_.EC.A0.9C.EB.8C.80.EB.A1.9C_.EB.8F.99.EC.9E.91_.ED.95.98.EB.8A.94.EC.A7.80_.ED.99.95.EC.9D.B8.ED.95.A0_.EC.88.98_.EC.9E.88.EC.9D.84.EA.B9.8C.3F"><b>어떻게하면 확장기능이 제대로 동작 하는지 확인할 수 있을까?</b></h4>
-<p><a href="ko/DOM/window.alert">alert()</a> 이나 <a href="ko/DOM/window.dump">dump()</a> 함수, 또는 <a href="ko/NsIConsoleService">nsIConsoleService</a>를 사용하실 수 있습니다.</p>
-<h4 id=".EC.99.9C_.EB.82.B4.EA.B0.80_.EB.A7.8C.EB.93.A0_.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8.EB.8A.94_.EC.A0.9C.EB.8C.80.EB.A1.9C_.EB.8F.99.EC.9E.91.ED.95.98.EC.A7.80_.EC.95.8A.EC.9D.84.EA.B9.8C.3F" name=".EC.99.9C_.EB.82.B4.EA.B0.80_.EB.A7.8C.EB.93.A0_.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8.EB.8A.94_.EC.A0.9C.EB.8C.80.EB.A1.9C_.EB.8F.99.EC.9E.91.ED.95.98.EC.A7.80_.EC.95.8A.EC.9D.84.EA.B9.8C.3F"><b>왜 내가 만든 스크립트는 제대로 동작하지 않을까?</b></h4>
-<p>만약 스크립트가 예상대로 동작하지 않는다면, 자바스크립트 콘솔의 에러 메시지를 확인해 보시기를 권합니다. (어떻게하면 코드내 에러를 볼 수 있을까? <a href="#.EC.96.B4.EB.96.BB.EA.B2.8C.ED.95.98.EB.A9.B4_.EC.BD.94.EB.93.9C.EB.82.B4_.EC.97.90.EB.9F.AC.EB.A5.BC_.EB.B3.BC_.EC.88.98_.EC.9E.88.EC.9D.84.EA.B9.8C.3F">위에 있음</a>)</p>
-<p>한가지 흔한 실수는 윈도우가 완전히 로드되기 전에, 윈도우에 있는 DOM에 접근하려고 하는 것입니다. 이러한 실수는 초기화 코드가 스크립트내의 상위 레벨에서(다른 말로하면, 함수 밖에서) 실행될때 발생합니다. 이를 찾아내기 위해서는 윈도우가 완전히 로드될때까지 특정 부분의 코드가 실행되지 않도록 해주는 <code>load</code> event listener를 사용하시기 바랍니다.</p>
-<pre class="eval">function exampleBrowserStartup(event)
-{
- // place your startup code here
-}
-window.addEventListener("load", exampleBrowserStartup, false);
-</pre>
-<h4 id=".EC.9B.B9.ED.8E.98.EC.9D.B4.EC.A7.80.EC.97.90_.EC.9E.88.EB.8A.94_.EB.AC.B8.EC.84.9C.EB.A5.BC_.EC.9D.BD.EC.96.B4.EB.93.A4.EC.9D.BC_.EC.88.98_.EC.97.86.EC.9D.84_.EB.95.8C" name=".EC.9B.B9.ED.8E.98.EC.9D.B4.EC.A7.80.EC.97.90_.EC.9E.88.EB.8A.94_.EB.AC.B8.EC.84.9C.EB.A5.BC_.EC.9D.BD.EC.96.B4.EB.93.A4.EC.9D.BC_.EC.88.98_.EC.97.86.EC.9D.84_.EB.95.8C"><b>웹페이지에 있는 문서를 읽어들일 수 없을 때</b></h4>
-<p>browser.xul 오버레이로 부터 현재 웹페이지의 문서를 가져올 때, 브라우저의 윈도우 문서를 읽어오도록 하는 <code>document</code> 를 사용하는 대신에 브라우저의 윈도우 내에 포함되어 있는 문서를 읽어오도록 하는 <code>content.document</code> 를 사용하시기 바랍니다. 보다 자세한 내용은 <a href="ko/Working_with_windows_in_chrome_code#Content_windows">Working with windows in chrome code</a> 에서 확인하실 수 있습니다.</p>
-<p>또한, <a href="ko/XPCNativeWrapper">XPCNativeWrapper</a>는 기본적으로 웹페이지에 있는 script-defined 객체에 접근하는 것과 그 외 다른 것들을 하지 못 하도록 방지해 줍니다.</p>
-<p> </p>
-<h4 id="XML_.ED.8C.8C.EC.8B.B1.EC.97.90.EB.9F.AC.EA.B0.80_.EB.82.AC.EC.A7.80.EB.A7.8C.2C_.ED.8C.8C.EC.9D.BC.EC.97.90_.EB.AC.B8.EC.A0.9C.EA.B0.80_.EC.97.86.EC.96.B4_.EB.B3.B4.EC.9D.BC_.EB.95.8C" name="XML_.ED.8C.8C.EC.8B.B1.EC.97.90.EB.9F.AC.EA.B0.80_.EB.82.AC.EC.A7.80.EB.A7.8C.2C_.ED.8C.8C.EC.9D.BC.EC.97.90_.EB.AC.B8.EC.A0.9C.EA.B0.80_.EC.97.86.EC.96.B4_.EB.B3.B4.EC.9D.BC_.EB.95.8C"><b>XML 파싱에러가 났지만, 파일에 문제가 없어 보일 때</b></h4>
-<p>일반적으로 파싱에러(<font color="red">붉은색 문구</font>와 붉은색 밑줄<font color="red">-------------^</font>로 표시됨)는 XML에서 의미있게 사용되는 특정한 문자나 속성 값이 소스코드내에서 잘 못 사용됐을 때 발생합니다. 예를들면,</p>
-<pre class="eval">&lt;button oncommand="window.open('<span class="nowiki">http://example.com/</span>q?param1=value<b>&amp;param2</b>=val2')"/&gt;
-</pre>
-<p>또는,</p>
-<pre class="eval">&lt;script&gt;function lesser(a,b) { return <b>a &lt; b</b> ? a : b; }&lt;/script&gt;
-</pre>
-<p>이러한 문제는 다음과 같은 방법으로 해결될 수 있습니다.</p>
-<ol>
- <li>에러가 발생한 문자를 XML에서 특정한 의미로 사용되지 않는 표현으로 바꾸십시오. (예: "&amp;" -&gt; "&amp;amp;", "&lt;" -&gt; "&amp;lt;")</li>
- <li>(만일 텍스트 노드라면, 이를테면 스크립트) CDATA 태그로 텍스트 노드를 에워싸십시오:
- <pre>&lt;script&gt;&lt;![CDATA[
- function lesser(a,b) {
- return a &lt; b ? a : b;
- }
- ]]&gt;&lt;/script&gt;</pre>
- </li>
- <li>스크립트를 다른 파일로 저장한 후, 이를 포함시키도록 하는 코드를 삽입하십시오:
- <pre>&lt;script type="application/x-javascript" src="our.js"/&gt;</pre>
- </li>
-</ol>
-<p> </p>
-<h3 id=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C" name=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C"><b>예제 코드</b></h3>
-<p>무엇인가 유용한 동작을 구현하기 위해서 필요한 코드가 있다면, 가장 쉬운 방법은 이미 그러한 동작을 구현한 확장기능 (또는 Mozilla의 일부분)을 찾아내어 살펴보는 것입니다. (XPI와 JAR 파일은 ZIP 포멧을 사용합니다.)</p>
-<p>이와 관련된 문서는 <a>the list of extension-related articles on MDC</a> 와 <a class="external" href="http://kb.mozillazine.org/Category:Example_code">Example code page on MozillaZine</a>에서 찾아 보실수 있습니다.</p>
-<p> </p>
-<h3 id=".EB.8F.84.EC.9B.80.EC.9D.84_.EC.96.BB.EC.9D.84_.EC.88.98_.EC.9E.88.EB.8A.94_.EA.B3.B3" name=".EB.8F.84.EC.9B.80.EC.9D.84_.EC.96.BB.EC.9D.84_.EC.88.98_.EC.9E.88.EB.8A.94_.EA.B3.B3"><b>도움을 얻을 수 있는 곳</b></h3>
-<p><a href="ko/Extensions/Other_Resources">Extensions:Other Resources</a> 와 <a href="ko/Extensions/Community">Extensions:Community</a>를 꼭 읽어 주십시오.</p>
-<p>도움을 청하시기 전에, <a href="#.EB.94.94.EB.B2.84.EA.B9.85">디버깅</a>과 <a href="#.EC.96.B4.EB.96.BB.EA.B2.8C.ED.95.98.EB.A9.B4_.ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5.EC.9D.B4_.EC.A0.9C.EB.8C.80.EB.A1.9C_.EB.8F.99.EC.9E.91_.ED.95.98.EB.8A.94.EC.A7.80_.ED.99.95.EC.9D.B8.ED.95.A0_.EC.88.98_.EC.9E.88.EC.9D.84.EA.B9.8C.3F">자바스크립트 콘솔</a>의 내용을 읽어주십시오. 또한, 질문을 하시기 전에, 질문에 대한 간단한 검색을 해주실 것과 자주묻는질문(FAQ)을 읽어주시길 부탁드립니다.</p>
-<p>{{ languages( { "es": "es/Preguntas_frecuentes_sobre_Extensiones", "fr": "fr/Foire_aux_questions_sur_les_extensions", "it": "it/Domande_frequenti_sulle_Estensioni", "ko": "ko/\ud655\uc7a5\uae30\ub2a5\uc5d0_\uad00\ud55c_\uc790\uc8fc\ud558\ub294_\uc9c8\ubb38" } ) }}</p>
diff --git a/files/ko/mozilla/add-ons/extension_packaging/index.html b/files/ko/mozilla/add-ons/extension_packaging/index.html
deleted file mode 100644
index 2dd7ff02eb..0000000000
--- a/files/ko/mozilla/add-ons/extension_packaging/index.html
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title: Extension Packaging
-slug: Mozilla/Add-ons/Extension_Packaging
-tags:
- - Add-ons
- - Extensions
- - Toolkit API
-translation_of: Archive/Add-ons/Extension_Packaging
----
-<p>확장기능은 <a href="ko/Bundles">설치 가능한 번들</a>의 한 형태입니다. 확장기능은 사용자가 직접 내려받아 설치할 수 있으며 응용프로그램에 미리 포함되어 있거나 외부 프로그램에 의해서 제공되기도 합니다. 확장기능은 chrome, components 등의 <a href="ko/Bundles">디렉토리 구조</a>로 되어 있는데 개별 구조는 XUL 프로그램으로 확장됩니다.</p>
-<p>모든 확장기능은 자신의 메타정보를 담은 <a href="ko/Install.rdf">install.rdf</a> 파일을 제공해야 하는데 파일은 유일한 ID, 버전, 저자, 호환성 정보를 담고 있습니다.</p>
-<p>확장기능 파일과 install.rdf가 준비된 다음 확장 기능의 설치를 위한 몇가지 준비 단계가 있습니다. 사용자 설치가능한 확장기능 디렉토리의 ZIP 포맷인 <a href="ko/XPI">XPI</a>(xpinstall) 파일, 사용자 응용프로그램이나 프로필 디렉토리에 확장기능을 직접 압축 풀기, 윈도우즈 레즈스트리에 확장기능을 등록의 단계입니다.</p>
-<h3 id=".ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_XPI_.EB.A7.8C.EB.93.A4.EA.B8.B0" name=".ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_XPI_.EB.A7.8C.EB.93.A4.EA.B8.B0">확장기능 XPI 만들기</h3>
-<p><a href="ko/XPI">XPI</a>(XPInstall) 파일은 단순히 <a href="ko/Install.rdf">install.rdf</a> 파일이 ZIP 파일의 최상단에 위치하는 확장기능 파일을 담은 ZIP 파일입니다. 사용자는 XPI 파일을 웹사이트나 로컬 파일에서 파일을 열거나 확장기능 관리창에 끌어 옮김으로서 내려 받거나 설치할 수 있습니다.</p>
-<p>파이어폭스 XPI 파일에 대한 MIME 형은 <i>application/x-xpinstall</i>로 인식이 됩니다. 대부분의 HTTP 서버가 .xpi 확장기능에 대한 MIME 타입을 반환하는 설정을 기본으로 하지 않기 때문에 어쩌면 HTTP 서버를 재설정해야 할 수도 있습니다. 아파치 HTTP 서버에서는 아래의 문장을 설정 파일이나 .htaccess 파일에 삽입해야 합니다.</p>
-<pre class="eval">AddType application/x-xpinstall .xpi
-</pre>
-<h3 id=".ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_.ED.8C.8C.EC.9D.BC_.EC.A7.81.EC.A0.91_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0" name=".ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_.ED.8C.8C.EC.9D.BC_.EC.A7.81.EC.A0.91_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0">확장기능 파일 직접 설치하기</h3>
-<p>만약 응용 프로그램의 위치를 알고 있다면 (예를 들어 응용 프로그램의 설치과정에 확장기능을 설치하게 할려면) 직접 &lt;appdir&gt;/extensions/&lt;extensionID&gt;에 확장 기능 파일을 직접 설치할 수 있습니다. 확장기능은 다음번 응용 프로그램이 실행될 때 확장기능 관리자에 의해 자동으로 인식됩니다.</p>
-<p>이 방법을 사용할 때 디렉토리와 확장기능 파일에 대한 파일 시스템의 권한이 적절하게 설정되어 있는지 확인해야 합니다. 확장기능 관리자는 확장기능의 권한이 적합한지 아닌지 판단하는 기능이 없습니다.</p>
-<h3 id=".ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_.EC.9C.84.EC.B9.98.EB.A5.BC_.EC.9C.88.EB.8F.84.EC.9A.B0_.EB.A0.88.EC.A7.80.EC.8A.A4.ED.8A.B8.EB.A6.AC.EC.97.90_.EB.93.B1.EB.A1.9D.ED.95.98.EA.B8.B0" name=".ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_.EC.9C.84.EC.B9.98.EB.A5.BC_.EC.9C.88.EB.8F.84.EC.9A.B0_.EB.A0.88.EC.A7.80.EC.8A.A4.ED.8A.B8.EB.A6.AC.EC.97.90_.EB.93.B1.EB.A1.9D.ED.95.98.EA.B8.B0">확장기능 위치를 윈도우 레지스트리에 등록하기</h3>
-<p>(자바 런타임 따위의) 외부 설치자가 응용프로그램은 아직 설치되지 않은 상황에 통합적인 위치에 확장기능을 설치하고자 할 수 있습니다. 윈도우즈 <a href="ko/Adding_Extensions_using_the_Windows_Registry">레지스트리 사용</a>을 통해 처리할 수 있습니다.</p>
-<h3 id=".EC.97.AC.EB.9F.AC_.ED.95.AD.EB.AA.A9.EC.9D.84_.ED.8F.AC.ED.95.A8.ED.95.9C_.ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_XPI" name=".EC.97.AC.EB.9F.AC_.ED.95.AD.EB.AA.A9.EC.9D.84_.ED.8F.AC.ED.95.A8.ED.95.9C_.ED.99.95.EC.9E.A5.EA.B8.B0.EB.8A.A5_XPI">여러 항목을 포함한 확장기능 XPI</h3>
-<p>하나의 XPI 파일로 여러개의 확장과 테마를 설치하길 원할 때도 있습니다. 특별한 종류의 <a href="ko/Multiple_Item_Packaging">여러 항목을 포함한 XPI 포장</a>라고 불리우는 특별한 형태의 XPI는 이런 패키지를 만들 수 있습니다. (Firefox 1.5/XULRunner 1.8 이상이 필요합니다.)</p>
-<h3 id="Official_References_for_Toolkit_API" name="Official_References_for_Toolkit_API">Official References for <a href="ko/Toolkit_API">Toolkit API</a></h3>
-<p>
- </p><ul>
- <li><a href="/ko/Bundles" title="ko/Bundles">설치 가능한 번들</a>: 설치 가능한 번들(확장 기능, 테마, XULRunner 어플리케이션 등)에 대하여 기술하고 있습니다.</li>
- <li><a href="/ko/Extension_Packaging" title="ko/Extension_Packaging">확장기능 포장</a>: 확장 기능을 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/ko/Theme_Packaging" title="ko/Theme_Packaging">테마 포장</a>: 테마 기능을 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/Ko/Multiple_Item_Packaging" title="Ko/Multiple_Item_Packaging">여러 항목을 포함한 XPI 포장</a>: 여러 항목들이 포함되는 XPI 를 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/ko/XUL_Application_Packaging" title="ko/XUL_Application_Packaging">XUL 응용프로그램 포장</a>: XULRunner 응용프로그램을 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/ko/Chrome_Registration" title="ko/Chrome_Registration">Chrome 등록</a>: Chrome의 등록하는 방법에 대한 정보를 제공합니다.</li>
- </ul>
diff --git a/files/ko/mozilla/add-ons/plugins/index.html b/files/ko/mozilla/add-ons/plugins/index.html
deleted file mode 100644
index 77ab95c032..0000000000
--- a/files/ko/mozilla/add-ons/plugins/index.html
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: Plugins
-slug: Mozilla/Add-ons/Plugins
-tags:
- - Plugins
-translation_of: Archive/Plugins
----
-<div>
-<p><b>플러그인(Plugins or plug-ins)</b> 은 어떤 특정한 기능을 제공하기 위해 웹브라우저와 상호작용하는 작은 소프트웨어입니다. 일반적인 예로는 특정한 그래픽 형식을 보여주기 위한 플러그인이나 멀티미디어 파일을 재생하기 위한 플러그인을 들 수 있습니다. 플러그인은 현재있는 기능을 수정하거나 덧붙이는 <a href="ko/Extensions">확장기능</a>과는 조금 다릅니다.
-</p>
-</div>
-<table class="topicpage-table">
-<tbody><tr><td>
-<h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"> <a>문서</a> </h4>
-<dl><dt> <a href="ko/Gecko_Plugin_API_Reference">Gecko 플러그인 API 레퍼런스</a>
-</dt><dd> <small>이 레퍼런스는 Gecko 플러그인을 만들기 위한 응용프로그램 프로그래밍 인터페이스에 대해 기술하고 있으며, 이러한 인터페이스를 사용하는 방법에 대한 정보를 제공합니다.</small>
-</dd></dl>
-<dl><dt> <a href="ko/Using_XPInstall_to_Install_Plugins">XPInstall을 이용한 플러그인 설치</a>
-</dt><dd> <small><a href="ko/XPInstall">XPInstall</a>은 별도의 설치프로그램을 실행하기 위해 사용자가 브라우저를 종료하지 않아도 플러그인을 설치할 수 있도록 사용자에게 한결 나은 방법을 제공합니다.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://developer.apple.com/internet/webcontent/detectplugins.html">플러그인 검사</a>
-</dt><dd> <small>"Since there are clearly times when it makes sense to use a plug-in, the question arises of how to deal with those who don’t have the required plug-in installed."</small>
-</dd></dl>
-<dl><dt> <a href="ko/Scripting_Plugins/Macromedia_Flash">플러그인을 스크립트로 제어하기: Macromedia Flash</a>
-</dt><dd> <small>이 문서에서는 JavaScript가 Flash 플러그인 내부에 있는 메소드에 접근하기 위해 어떻게 사용되었는지에 대해 설명하고, 마찬가지로 Flash 애니메이션에서 JavaScript를 호출하기 위한 FSCommands 라는 기능에 대해서도 설명합니다.</small>
-</dd></dl>
-<p><span class="alllinks"><a>모두 보기...</a></span>
-</p>
-</td>
-<td>
-<h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0"> 커뮤니티 </h4>
-<ul><li> Mozilla 포럼 보기...
-</li></ul>
-<p>{{ DiscussionList("dev-tech-plugins", "mozilla.dev.tech.plugins") }}
-</p>
-<h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C"> 관련 주제 </h4>
-<dl><dd> <a href="ko/Gecko">Gecko</a>
-</dd></dl>
-</td></tr></tbody></table>
-<p><span class="comment">Categories</span>
-</p><p><span class="comment">Interwiki Language Links</span>
-</p><p><br>
-</p>{{ languages( { "es": "es/Plugins", "fr": "fr/Plugins", "ja": "ja/Plugins", "pl": "pl/Wtyczki", "pt": "pt/Plugins" } ) }}
diff --git a/files/ko/mozilla/add-ons/plugins/macromedia_flash/index.html b/files/ko/mozilla/add-ons/plugins/macromedia_flash/index.html
deleted file mode 100644
index 2784594e4c..0000000000
--- a/files/ko/mozilla/add-ons/plugins/macromedia_flash/index.html
+++ /dev/null
@@ -1,150 +0,0 @@
----
-title: Macromedia Flash
-slug: Mozilla/Add-ons/Plugins/Macromedia_Flash
-tags:
- - Plugins
-translation_of: Archive/Plugins/Scripting_Plugins_Adobe_Flash
----
-<p>스크립트로 제어할 수 말은 <a href="ko/JavaScript">JavaScript</a>와 플러그인이 상호 작용할 수 있다는 말입니다. 특히 Macromedia® Flash™ 플러그인은 JavaScript에서 플러그인에 접근할 수 있는 기능을 제공하고 있으며, 플러그인 안에서 JavaScript 메소드에 접근할 수도 있습니다. 이 문서는 Flash 플러그인이 노출하고 있는 메소드에 JavaScript로 접근하는 방법에 대해서, 그리고 Flash 애니메이션에서 JavaScript 함수에 접근하기 위해 FSCommand라는 기능을 사용하는 방법에 대해서 설명하고 있습니다. 이 문서는 <a href="ko/Gecko">Gecko</a>™ 기반 웹브라우저에서 Flash 플러그인을 사용할 때의 팁에 초점을 두고 있습니다.</p>
-
-<h3 id=".EC.98.AC.EB.B0.94.EB.A5.B8_Flash_.ED.94.8C.EB.9F.AC.EA.B7.B8.EC.9D.B8.28.EA.B3.BC_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80.29.EB.A5.BC_.EC.95.8C.EC.95.84.EB.82.B4.EA.B8.B0" name=".EC.98.AC.EB.B0.94.EB.A5.B8_Flash_.ED.94.8C.EB.9F.AC.EA.B7.B8.EC.9D.B8.28.EA.B3.BC_.EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80.29.EB.A5.BC_.EC.95.8C.EC.95.84.EB.82.B4.EA.B8.B0">올바른 Flash 플러그인(과 브라우저)를 알아내기</h3>
-
-<p>Macromedia Flash는 Flash 6r49 버전부터 Netscape Gecko 브라우저에서 스크립트로 제어할 수 있는 기능을 제공합니다. Flash 5 같이 6r49 이전 버전은 Netscape Gecko 브라우저에서 스크립트로 제어할 수 없습니다. 그러므로 클라이언트에 설치된 Flash 버전을 알아내는 일은 Flash를 스크립트로 제어함에 있어서 아주 중요한 일입니다. Mac OS X에서는 피해야 할 문제점이 하나 더 있습니다. Mach-O 바이너리 형식을 사용하는 <a class="external" href="http://mozilla.org/projects/camino/">Camino</a> (이전에는 Chimera였음) 브라우저, <a class="external" href="http://www.mozilla.org/">Mozilla</a> 브라우저 최신 버전, 앞으로 나올 Netscape 브라우저들은 Flash 플러그인을 스크립트로 제어하는 기능을 사용할 수 없습니다. Macromedia가 Flash 플러그인을 수정하기 전까지는 Mac OS X에서 Gecko 기반 브라우저들은 스크립트로 Flash를 제어할 수 없습니다. 다음에 나오는 예제는 실제로 Flash 버전을 알아내는 휴리스틱(heuristic)한 방법을 보여줍니다.</p>
-
-<h4 id=".EC.98.88.EC.A0.9C_1_Flash_.ED.94.8C.EB.9F.AC.EA.B7.B8.EC.9D.B8_.EB.B2.84.EC.A0.84.EC.9D.84_.EA.B2.80.EC.82.AC.ED.95.98.EA.B8.B0" name=".EC.98.88.EC.A0.9C_1:_Flash_.ED.94.8C.EB.9F.AC.EA.B7.B8.EC.9D.B8_.EB.B2.84.EC.A0.84.EC.9D.84_.EA.B2.80.EC.82.AC.ED.95.98.EA.B8.B0">예제 1: Flash 플러그인 버전을 검사하기</h4>
-
-<p>아래의 JavaScript는 Flash 버전을 알아내고, Netscape Gecko에서 스크립트로 제어 가능한지 알아내는 기능을 합니다.</p>
-
-<pre>can we have javascript in a wiki page?
-&lt;script type="text/javascript"&gt;identifyFlash();&lt;/script&gt;
-</pre>
-
-<p>일반적으로, 어느 버전 플러그인이 설치돼있는지 알아내는 JavaScript 코드는 navigator 개체(object)안의 mimeTypes 배열을 찾아봅니다. 모든 플러그인은 보통 플러그인 이름과 버전을 포함하고 있는 description 문자열을 제공합니다. Flash 플러그인의 descripton 문자열은 의미있는 정보를 뽑아낼 수 있는 표준적인 버전 번호 명명법으로 기록되어 있습니다. 예를 들어 현재 Flash 플러그인 버전은 Flash 6 r79입니다. description 문자열은 이 버전을 담고 있습니다. 이외에도 OS X에서 Mach-O 바이너리를 사용하는 브라우저에서 스크립트로 제어할 수 없는 Flash 버전은 골라낼 수 있는 방법이 필요합니다. 다행히 Netscape Gecko 기반 Mach-O 브라우저는 user-agent 문자열에 그 정보를 보여줍니다. Flash 플러그인 버전을 알아내는 알고리즘적 접근 방법은 다음과 같을 것입니다.</p>
-
-<pre>var plugin = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;
-var description = plugin.description;
-// 1.description 문자열을 구성요소 별로 나눈다
-
-var versionArray = description.match(/[\d.]+/g);
-
-// 2. Flash 버전이 6r.49보다 큰지 결정한다
-// 3. 그렇다면 Windows와 Linux에서 스크립트로 제어 가능한 버전이다
-// 4. 브라우저가 Mach-O 바이너리를 사용하는지 검사한다
-// 5. 그렇다면 플러그인 버전이 12보다 큰지 검사한다
-// 버전 12는 Mach-O 브라우저에서도 Flash 플러그인을 스크립트로 제어할 수 있게
-// 수정될 것이라 예상되는 Flash 버전이다
-
-var flashVersionOSXScriptable = 12;
-if(navigator.userAgent.indexOf("Mach-O")!=-1)
-{
- if(flashversion &lt; flashVersionOSXScriptable)
- // Flash 버전이 12보다 작으므로 OS X에서 스크립트로 제어할 수 없다
-}
-// 6. 에러 처리(Flash가 설치되지 않은 경우 등)
-</pre>
-
-<p><strong>예제 1</strong>에서는 JavaScript 문자열의 <a class="external" href="http://developer.netscape.com/docs/manuals/js/client/jsref/regexp.htm#1193136">RegExp</a> (정규 표현식) 개체를 사용합니다. description 문자열은 <a class="external" href="http://developer.netscape.com/docs/manuals/js/client/jsref/string.htm#1205239">match</a> 메소드 호출로 인해 구성요소별로 나누어져 배열에 들어갑니다. 여기 사용된 정규 표현식은 문자열이 Flash Major rMinor 같은 식으로 구성되어 있을 것이라고 가정합니다. Major는 "5"나 "6" 같은 메이저 버전 번호이고, Minor는 마이너 버전 번호입니다. 또 <strong>예제 1</strong>에서는 flashVersionOSXScriptable 상수를 만들어서 12를 할당하는데, 이것은 OS X용 Mach-O 브라우저에서 Flash를 스크립트로 제어할 수 있도록 수정된 Flash 버전이 12일 것이라고 임의로 정한 것입니다. 12 정도면 충분히 큰 버전 번호라고 생각됩니다(현재 버전은 6r.79입니다). Mac OS X에 있는 문제점이 언제 수정될 지 정보를 얻게 된다면 flashVersionOSXScriptable 상수를 좀 더 정확한 값으로 바꿀 수 있을 것입니다. 이 예제를 실제로 구현한 코드는 <a class="external" href="http://devedge-temp.mozilla.org/viewsource/2003/scripting-flash/flashversion.js.txt">flashversion.js</a> 파일을 보시면 됩니다.</p>
-
-<h3 id="HTML.EC.9D.84_.EC.A0.9C.EB.8C.80.EB.A1.9C_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0" name="HTML.EC.9D.84_.EC.A0.9C.EB.8C.80.EB.A1.9C_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0">HTML을 제대로 사용하기</h3>
-
-<p>Netscape Gecko 브라우저에서 object 요소나 embed 요소를 사용하면 플러그인을 불러낼 수 있습니다. object 요소는 W3C HTML 4 표준에 포함된 반면 embed 요소는 사용하지 않기를 권장하는 요소입니다. 플러그인을 불러올 때 올바른 마크업 사용하기(Using the Right Markup to Invoke Plugins)에서 관련된 논의를 볼 수 있습니다. 그러나 FSCommand를 이용해서 HTML 페이지에 포함된 JavaScript 함수를 실행하려면 embed 요소를 써야 합니다.</p>
-
-<h3 id="JavaScript.EC.97.90.EC.84.9C_Flash.EC.97.90_.EC.A0.91.EA.B7.BC.ED.95.98.EA.B8.B0" name="JavaScript.EC.97.90.EC.84.9C_Flash.EC.97.90_.EC.A0.91.EA.B7.BC.ED.95.98.EA.B8.B0">JavaScript에서 Flash에 접근하기</h3>
-
-<p>아래에 있는 간단한 예제는 HTML 텍스트 상자에 입력한 내용을 Flash 애니메이션(아래의 회색 텍스트 상자)으로 전달하는 방법을 보여줍니다.</p>
-
-<h4 id=".EC.98.88.EC.A0.9C_2_JavaScript_to_Flash_Communication" name=".EC.98.88.EC.A0.9C_2:_JavaScript_to_Flash_Communication">예제 2: JavaScript to Flash Communication</h4>
-
-<p><strong>참고:</strong> 사용자가 컴퓨터 한 대에 Mozilla 기반 브라우저를 여러 개 설치했다면, JavaScript에서 Flash로의 통신 방법은 버전 8보다 이전에 나온 Flash Player에서는 동작하지 않을 수도 있습니다. (see {{ Bug(284057) }} and {{ Bug(233533) }})</p>
-
-<p>아래에 있는 HTML 텍스트 상자에 아무 텍스트나 넣은 다음 텍스트 상자 밖을 마우스로 클릭하거나 엔터키를 누르면 입력한 텍스트가 Flash로 전달됩니다.</p>
-
-<pre>The example is missing.
-</pre>
-
-<p><strong>예제 2</strong>에서는 Macromedia Flash에 미리 정의된 <a class="external" href="http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html">SetVariable</a> 메소드를 사용했습니다. 일반적으로 Netscape Gecko 브라우저에서 Macromedia에서 Flash에 미리 정의해 놓은 메소드를 호출하려면,</p>
-
-<ul>
- <li>DOM 메소드를 사용해서, Flash 플러그인을 생성하는 HTML 요소의 핸들을 얻으십시오. 여기서 핸들이란 embed 요소의 name 속성이나 object 요소의 ID 속성을 의미합니다.</li>
- <li>HTML 요소의 핸들을 실제 Flash 플러그인에 대한 핸들이라고 생각하여 공개된 메소드를 호출하십시오. 즉 다음의 코드에서 처럼 사용하면 됩니다.</li>
-</ul>
-
-<pre>&lt;object id="myFlash" ..... &gt;
-&lt;param name="movie" value="somefile.swf" /&gt;
-
-....
-
-var myFlash = document.getElementById("myFlash").SetVariable("myVar", sendText);
-</pre>
-
-<p><br>
- <strong>예제 2</strong>가 어떻게 만들어졌는지 보여주는 더 확장된 코드는 <a class="external" href="http://devedge-temp.mozilla.org/viewsource/2003/scripting-flash/document-write.html.txt">이 파일</a>에서 볼 수 있습니다.</p>
-
-<h3 id="FSCommand_Flash.EC.97.90.EC.84.9C_JavaScript.EC.97.90_.EC.A0.91.EA.B7.BC.ED.95.98.EA.B8.B0" name="FSCommand:_Flash.EC.97.90.EC.84.9C_JavaScript.EC.97.90_.EC.A0.91.EA.B7.BC.ED.95.98.EA.B8.B0">FSCommand: Flash에서 JavaScript에 접근하기</h3>
-
-<p><strong>참고:</strong> 사용자가 컴퓨터 한 대에 Mozilla 기반 브라우저를 여러 개 설치했다면, 버전 8보다 이전에 나온 Flash Player에서는 FSCommand가 동작하지 않을 수도 있습니다. (see {{ Bug(284057) }} and {{ Bug(233533) }})</p>
-
-<p><strong>예제 2</strong>에서, 플러그인을 생성한 HTML(object 요소 또는 embed 요소)의 핸들을 JavaScript 함수에서 일단 얻었습니다. 그 후에 핸들을 이용해서 <a class="external" href="http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/">Flash 플러그인에서 공개된 메소드</a>를 호출했습니다. FSCommand를 이용하면 Macrodedia ActionScript 언어에서 Flash 애니메이션을 포함하는 환경(HTML 페이지 등)에 콜백을 보낼 수 있습니다. 다음의 예제에서 두 가지 통신 방법이 실제로 동작하는 모습을 볼 수 있습니다.</p>
-
-<h4 id=".EC.98.88.EC.A0.9C_3_JavaScript.EC.97.90.EC.84.9C_Flash.EB.A1.9C_.ED.86.B5.EC.8B.A0_.EB.B0.A9.EB.B2.95.EA.B3.BC_FSCommand_--_Flash.EC.97.90.EC.84.9C_JavaScript.EB.A1.9C_.ED.86.B5.EC.8B.A0_.EB.B0.A9.EB.B2.95" name=".EC.98.88.EC.A0.9C_3:_JavaScript.EC.97.90.EC.84.9C_Flash.EB.A1.9C_.ED.86.B5.EC.8B.A0_.EB.B0.A9.EB.B2.95.EA.B3.BC_FSCommand_--_Flash.EC.97.90.EC.84.9C_JavaScript.EB.A1.9C_.ED.86.B5.EC.8B.A0_.EB.B0.A9.EB.B2.95">예제 3: JavaScript에서 Flash로 통신 방법과 FSCommand -- Flash에서 JavaScript로 통신 방법</h4>
-
-<pre>The example is missing.
-</pre>
-
-<p><strong>예제 3</strong>에서는 HTML 버튼을 클릭하면 Flash 애니메이션에 있는 공이 움직입니다. 이것은 JavaScript에서 Flash로의 통신을 보여주는 것입니다. HTML 버튼을 클릭하면 JavaScript 이벤트가 발생하고 그 이벤트가 Flash 애니메이션을 움직이게 합니다. 더 아래쪽에서, 색이 칠해진 탭을 클릭하면 HTML 페이지의 전체 색깔이 바뀝니다. 이것은 반대 방향으로의 통신 즉, Flash 애니메이션이 자신을 포함하고 있는 HTML 페이지에 뭔가 영향을 준다는 것을 보여줍니다.</p>
-
-<p><strong>예제 3</strong>에서 FSCommand의 사용법을 볼 수 있습니다. Netscape Gecko 브라우저에서 Flash 애니메이션을 HTML 페이지에 포함시키고 FSCommand를 사용하려고 한다면, 반드시 embed 요소를 사용해야만 합니다. IE도 지원하려면 object 요소 안에 embed 요소를 포함시킬 수 있습니다. 앞으로 나올 Flash 플러그인은 Netscape Gecko 브라우저에서도 object 요소와 함께 FSCommand를 사용할 수 있게 될 수도 있습니다. 이 문제는 Mozilla 프로젝트의 {{bug(184722) }}에 관리중입니다.</p>
-
-<p>Flash 애니메이션 안에서 색깔을 클릭하면 전체 페이지의 배경색이 토글됩니다. 클릭을 하면 Flash를 포함하는 외부 환경(즉 HTML 페이지)에 콜백을 보내게 되고, 콜백을 처리할 JavaScript 메소드를 찾게 됩니다. Flash 애니메이션의 ActionScript 함수를 호출함으로써 콜백을 보내는 것입니다. 이 콜백을 처리할 JavaScript 함수 이름은 Flash 플러그인이 찾을 수 있는 특별한 이름을 가져야 합니다. embed요소의 이름에 밑줄("_")과 "DoFSCommand"라는 문자열을 붙인 함수 이름이 바로 그것입니다. <strong>예제 3</strong>에서 사용된 기법을 보여주는 간단한 코드가 아래에 있습니다.</p>
-
-<pre>&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
-codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
-id="myFlash" width="250" height="150" VIEWASTEXT&gt;
-
- &lt;param name="movie" value="js2flash.swf" /&gt;
- &lt;param name="quality" value="high"&gt;&lt;/param&gt;
-
- &lt;embed src="js2flash.swf" width="250" height="150" swLiveConnect="true"
- quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
- type="application/x-shockwave-flash" name="myFlash"&gt;
- &lt;/embed&gt;
-
-&lt;/object&gt;
- .....
-
-function myFlash_DoFSCommand(command, args)
-{
- // Flash 애니메이션에 여러분이 만들어놓은 모든 콜백을 처리합니다
- // Flash 플러그인이 command와 args에 값을 전달해 줄 것입니다.
- // Flash 애니메이션이 보내는 모든 정보를 처리하는 함수가 바로 이 함수입니다
- // FSCommand만 있으면 ActionScript가 JavaScript와 통신할 수 있습니다!
-}
-</pre>
-
-<p>위의 코드에서, Flash에서 보낸 것을 처리하는 JavaScript 함수는 embed 요소의 name 속성에 "_DoFSCommand" 문자열을 덧붙여서 만든 이름을 가지고 있습니다. 이 예제의 전체 소스는 <a class="external" href="http://devedge-temp.mozilla.org/viewsource/2003/scripting-flash/flash-to-js.html.txt">flash-to-js.html</a>에서 볼 수 있습니다. <a class="external" href="http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/">Macromedia ActionScript 사전</a>을 보면 Flash 애니메이션 코드에서 FSCommand를 사용할 때 참고할 만한 내용이 있습니다.</p>
-
-<h3 id="Additional_References" name="Additional_References">Additional References</h3>
-
-<h4 id="Macromedia_Flash_Developer_Documentation" name="Macromedia_Flash_Developer_Documentation">Macromedia Flash Developer Documentation</h4>
-
-<ul>
- <li><a class="external" href="http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/">Scripting The Flash Player Plugin</a></li>
- <li><a class="external" href="http://www.macromedia.com/support/flash/ts/documents/java_script_comm.htm">Communication Between JavaScript and Macromedia Flash</a></li>
- <li><a class="external" href="http://www.macromedia.com/support/flash/action_scripts/actions/fscommand.html">FSCommands (Definition from the ActionScript Dictonary)</a></li>
- <li><a class="external" href="http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/">ActionScript Dictionary</a></li>
-</ul>
-
-<h4 id="MDC_Resources" name="MDC_Resources">MDC Resources</h4>
-
-<ul>
- <li><a href="ko/Using_the_Right_Markup_to_Invoke_Plugins">플러그인을 불러올 때 올바른 마크업 사용하기</a></li>
- <li><a href="ko/Plugins">Plugin Central</a></li>
-</ul>
-
-<h4 id="Notable_Bugs" name="Notable_Bugs">Notable Bugs</h4>
-
-<ul>
- <li>{{bug(184722) }}</li>
- <li>{{bug(180378) }}</li>
- <li>{{bug(203861)}}</li>
-</ul>
diff --git a/files/ko/mozilla/add-ons/plugins/reference/index.html b/files/ko/mozilla/add-ons/plugins/reference/index.html
deleted file mode 100644
index fcb2ba7232..0000000000
--- a/files/ko/mozilla/add-ons/plugins/reference/index.html
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: NPAPI plugin reference
-slug: Mozilla/Add-ons/Plugins/Reference
-tags:
- - Deprecated
- - Landing
- - NPAPI
- - NeedsTranslation
- - Plugins
- - Reference
- - TopicStub
-translation_of: Archive/Plugins/Reference
----
-<p>{{deprecated_header}}</p>
-<p>The articles below describe each of the APIs related to NPAPI plugins.</p>
-<p>{{LandingPageListSubpages}}</p>
diff --git a/files/ko/mozilla/add-ons/plugins/reference/np_getmimedescription/index.html b/files/ko/mozilla/add-ons/plugins/reference/np_getmimedescription/index.html
deleted file mode 100644
index ca0c233725..0000000000
--- a/files/ko/mozilla/add-ons/plugins/reference/np_getmimedescription/index.html
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: NP GetMIMEDescription
-slug: Mozilla/Add-ons/Plugins/Reference/NP_GetMIMEDescription
-translation_of: Archive/Plugins/Reference/NP_GetMIMEDescription
----
-<p>NP_GetMIMEDescription 플러그인이 지원하는 MIME Type 목록을 리턴합니다. Unix (Linux) 와 MacOS 에서 동작합니다. Windows에서는 지원하는 mimetype을 dll 리소스 파일에 정의하여야합니다.</p>
-<p>각각의 MIME type에 대한 서술은 세미콜론(;)으로 구분되어야 합니다.<br>
- 각각의 Mime type에 대한 서술은 Mime type, 확장목록 그리고 간략한 설명을 포함합니다.</p>
-<h3 id="하나의_MIME_type_를_사용한_경우">하나의 MIME type 를 사용한 경우</h3>
-<pre>// example inside http://mxr.mozilla.org/mozilla-central/source/modules/plugin/sdk/samples/basic/unix/plugin.cpp
-#define MIME_TYPE_DESCRIPTION "application/basic-plugin:bsp:Basic Example Plug-in for Mozilla"
-const char* NP_GetMIMEDescription(void)
-{
- return(MIME_TYPES_DESCRIPTION);
-}</pre>
-<h3 id="둘의_MIME_type_를_사용한_경우">둘의 MIME type 를 사용한 경우</h3>
-<pre>const char* NP_GetMIMEDescription(void)
-{
- return "application/basic-example-plugin:xmp1:Example 1;application/basic-example2-plugin:xmp2, xm2p:Example 2";
-}</pre>
-<h3 id="Gnome_Integration">Gnome Integration</h3>
-<p>GNOME VFS (gnome-vfs-2.0)를 사용하는 경우라면, 아래 함수를 이용하여 MIME type description 을 얻을수 있습니다.</p>
-<pre>#include &lt;libgnomevfs/gnome-vfs-mime-handlers.h&gt;
-#include &lt;libgnomevfs/gnome-vfs-mime-info.h&gt;
-#include &lt;libgnomevfs/gnome-vfs-utils.h&gt;
-
-// const char* gnome_vfs_mime_get_description (const char *mime_type);
-const char* desc = gnome_vfs_mime_get_description ("audio/ogg");</pre>
-<p>If you use GNOME GIO (gio-2.0), you can get the MIME type description too.</p>
-<pre>#include &lt;gio/gio.h&gt;
-const char* desc = g_content_type_get_description("audio/ogg");</pre>
-<h3 id="JavaScript">JavaScript</h3>
-<p>아래 코드를 이용하여 웹 페이지 내에서, MIME Type에 대한 정보를 얻을 수 있습니다.</p>
-<pre>var mimetype = navigator.mimeTypes['application/basic-example-plugin'];
-if (mimetype) {
- alert(mimetype.type + ':' + mimetype.suffixes + ':' + mimetype.description);
-}
-</pre>
diff --git a/files/ko/mozilla/add-ons/plugins/reference/npn_posturlnotify/index.html b/files/ko/mozilla/add-ons/plugins/reference/npn_posturlnotify/index.html
deleted file mode 100644
index c60a613113..0000000000
--- a/files/ko/mozilla/add-ons/plugins/reference/npn_posturlnotify/index.html
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title: NPN_PostURLNotify
-slug: Mozilla/Add-ons/Plugins/Reference/NPN_PostURLNotify
-translation_of: Archive/Plugins/Reference/NPN_PostURLNotify
----
-<p> « <a href="https://developer.mozilla.org/ko/docs/Gecko_Plugin_API_Reference">Gecko Plugin API Reference</a> « <a href="https://developer.mozilla.org/ko/docs/Gecko_Plugin_API_Reference/Plug-in_Side_Plug-in_API">Plug-in Side Plug-in API</a>
-
-
-</p><h2 id="Summary" name="Summary">개요</h2>
-
-<p>지정한 URL로 POST 호출하고, 결과 알림을 받는다.</p>
-
-<h2 id="Syntax" name="Syntax">문법</h2>
-
-<pre class="syntaxbox">#include &lt;npapi.h&gt;
-
-NPError NPN_PostURLNotify(NPP instance,
- const char* url,
- const char* target,
- uint32 len,
- const char* buf,
- NPBool file,
- void* notifyData);
-</pre>
-
-<h3 id="Parameters" name="Parameters">파라메터</h3>
-
-<p>함수는 다음과 같은 파라메터를 입력받는다:</p>
-
-<dl>
- <dt>instance</dt>
- <dd>현재 플러그인 인스턴스, specified by the plug-in.</dd>
- <dt>url</dt>
- <dd>POST 호출할 URL, 플러그인.</dd>
- <dt>target</dt>
- <dd>대상 윈도우, specified by the plug-in. 자세한 설명은 NPN_GetURL을 보라.</dd>
- <dt>len</dt>
- <dd>buf의 길이.</dd>
- <dt>buf</dt>
- <dd>로컬 임시 파일 경로, 또는 POST로 전송할 데이터 버퍼.</dd>
- <dt>file</dt>
- <dd>파일을 POST로 전송할지 여부:
- <ul>
- <li>true: buf에 지정된 로컬 파일을 전송하고, 완료되면 파일은 삭제한다.</li>
- <li>false: buf에 있는 데이터를 직접 전송한다.</li>
- </ul>
- </dd>
- <dt>notifydata</dt>
- <dd>POST 요청을 식별하기 위한 값. <a href="/en-US/docs/NPP_URLNotify">NPP_URLNotify</a>의 호출에 의해 이 값이 전달된다. (<a href="#Description">아래 설명을 보라</a>).</dd>
-</dl>
-
-<h3 id="Returns" name="Returns">반환값</h3>
-
-<ul>
- <li>성공하면 NPERR_NO_ERROR을 리턴한다.</li>
- <li>실패하면 플러그인은 로드되지 않고, 에러 코드를 리턴한다. 에러값은 <a href="/en-US/docs/NPAPI/Constants#Error_Codes">Error Codes</a> 를 보라.</li>
-</ul>
-
-<h2 id="Description" name="Description">설명</h2>
-
-<p><code>NPN_PostURLNotify</code> 함수는 <a href="/en-US/docs/NPN_PostURL">NPN_PostURL</a>와 거의 같지만, 다음과 같은 차이가 있다:</p>
-
-<ul>
- <li><code>NPN_PostURLNotify</code> 는 메모리 버퍼를 사용할 때 헤더를 지정할 수 있다.</li>
- <li><code>NPN_PostURLNotify</code> 는 성공하든 실패하든 요청이 완료되면 <a href="/en-US/docs/NPP_URLNotify">NPP_URLNotify</a>를 호출한다. 더 자세한 설명을 보려면 <a href="/en-US/docs/NPN_PostURL">NPN_PostURL</a>을 보도록 한다.</li>
-</ul>
-
-<p><code>NPN_PostURLNotify</code>는 비동기로 동작한다: 함수는 바로 리턴되고, 요청이 처리되면 <a href="/en-US/docs/NPP_URLNotify">NPP_URLNotify</a>를 호출한다.</p>
-
-<p>If this function is called with a target parameter value of _self or a parent to _self, this function should return an INVALID_PARAM NPError. This is the only way to notify the plug-in once it is deleted. See <a href="/en-US/docs/NPN_GetURL">NPN_GetURL</a> for information about this parameter.</p>
-
-<h2 id="See_also" name="See_also">참고</h2>
-
-<ul>
- <li><a href="/en-US/docs/NPN_GetURL">NPN_GetURL</a>, <a href="/en-US/docs/NPP_URLNotify">NPP_URLNotify</a>, <a href="/en-US/docs/NPN_PostURL">NPN_PostURL</a></li>
-</ul>
diff --git a/files/ko/mozilla/add-ons/setting_up_extension_development_environment/index.html b/files/ko/mozilla/add-ons/setting_up_extension_development_environment/index.html
deleted file mode 100644
index 4d42077d04..0000000000
--- a/files/ko/mozilla/add-ons/setting_up_extension_development_environment/index.html
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: 확장기능 개발 환경 구축
-slug: Mozilla/Add-ons/Setting_up_extension_development_environment
-translation_of: Archive/Add-ons/Setting_up_extension_development_environment
----
-<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>
diff --git a/files/ko/mozilla/add-ons/themes/index.html b/files/ko/mozilla/add-ons/themes/index.html
deleted file mode 100644
index 58c574d51f..0000000000
--- a/files/ko/mozilla/add-ons/themes/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: Themes
-slug: Mozilla/Add-ons/Themes
-tags:
- - Add-ons
- - Look & Feel
- - NeedsTranslation
- - Themes
- - TopicStub
-translation_of: Mozilla/Add-ons/Themes
----
-<p>Themes are skins for different Mozilla applications. They allow you to change the look and feel of the user interface and personalize it to your tastes. A theme can simply change the colors of the UI or it can change every piece of its appearance. The Theme documentation here is out of date, but we're hoping to get some help to update it soon.</p>
-<div class="column-container">
- <div class="column-half">
- <h2 class="Documentation" id="Documentation" name="Documentation">Documentation</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Building_a_Theme" title="Building a Theme">Building a Theme</a></dt>
- <dd>
- A tutorial for building a simple theme in Firefox.</dd>
- <dt>
- <a href="/en-US/docs/Themes/Common_Firefox_Theme_Issues_and_Solutions" title="Themes/Common_Firefox_Theme_Issues_and_Solutions">Common Theme Issues and Their Solutions</a></dt>
- <dd>
- Common issues seen when AMO editors review themes and how to fix them.</dd>
- <dt>
- <a href="/en-US/docs/Themes/Lightweight_themes" title="Themes/Lightweight themes">Lightweight themes</a></dt>
- <dd>
- Building lightweight themes for Firefox</dd>
- <dt>
- <a href="/en-US/docs/Creating_a_Skin_for_SeaMonkey_2.x" title="Creating_a_Skin_for_SeaMonkey_2.x">Creating a Skin for SeaMonkey 2</a></dt>
- <dd>
- An introduction to creating new themes for SeaMonkey 2.</dd>
- <dt>
- <a href="/en-US/docs/Making_Sure_Your_Theme_Works_with_RTL_Locales" title="Making_Sure_Your_Theme_Works_with_RTL_Locales">Making Sure Your Theme Works with RTL Locales</a></dt>
- <dd>
- How to make sure your theme will look right with Hebrew, Arabic, Persian and Urdu locales.</dd>
- <dt>
- <a href="/en-US/docs/Theme_Packaging" title="Theme_Packaging">Theme Packaging</a></dt>
- <dd>
- How to package themes for Firefox and Thunderbird.</dd>
- <dt>
- <a href="http://www.tudobom.de/articles/yatt/" title="http://www.tudobom.de/articles/yatt/">Yet Another Theme Tutorial</a></dt>
- <dd>
- Another tutorial in Mozilla theme construction.</dd>
- <dt>
- <a href="/en-US/Mozilla/Add-ons/Themes/Obsolete">Obsolete docs</a></dt>
- <dd>
- These docs are very old and will never be updated, but we've kept them in case the are useful source material for people updating the Theme documentation.</dd>
- </dl>
- </div>
- <div class="column-half">
- <h2 id="Getting_help">Getting help</h2>
- <ul>
- <li><a href="http://forums.mozillazine.org/viewforum.php?f=18">MozillaZine Themes forum</a></li>
- </ul>
- <h2 class="Tools" id="Tools" name="Tools">Tools</h2>
- <ul>
- <li><a href="/en-US/docs/DOM_Inspector" title="DOM_Inspector">DOM Inspector</a></li>
- <li><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/inspectorwidget/">InspectorWidget</a></li>
- <li><a class="link-https" href="https://addons.mozilla.org/en-us/firefox/addon/force-rtl/">Force RTL</a>: Test for RTL compatibility</li>
- </ul>
- </div>
-</div>
-<p> </p>
diff --git a/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/contents.rdf/index.html b/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/contents.rdf/index.html
deleted file mode 100644
index a5cb662916..0000000000
--- a/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/contents.rdf/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: contents.rdf
-slug: Mozilla/Add-ons/Themes/Obsolete/Creating_a_Skin_for_Firefox/contents.rdf
-translation_of: Archive/Themes/Creating_a_Skin_for_Firefox/contents.rdf
----
-<p>다음 내용을 복사하여 빈 텍스트 파일에 붙여넣고, "<code>contents.rdf</code>" 라는 이름으로 저장하세요:</p>
-<pre>&lt;?xml version="1.0"?&gt;
-
-&lt;RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:chrome="http://www.mozilla.org/rdf/chrome#"&gt;
-
- &lt;!-- List all the skins being supplied by this theme --&gt;
- &lt;RDF:Seq about="urn:mozilla:skin:root"&gt;
- &lt;RDF:li resource="urn:mozilla:skin:My_Theme"/&gt;
- &lt;/RDF:Seq&gt;
-
- &lt;RDF:Description about="urn:mozilla:skin:My_Theme"
- chrome:displayName="My Theme"
- chrome:accessKey="N"
- chrome:author=""
- chrome:authorURL=""
- chrome:description=""
- chrome:name="My_Theme"
- chrome:image="preview.png" &gt;
- &lt;chrome:packages&gt;
- &lt;RDF:Seq about="urn:mozilla:skin:My_Theme:packages"&gt;
- &lt;RDF:li resource="urn:mozilla:skin:My_Theme:browser"/&gt;
- &lt;RDF:li resource="urn:mozilla:skin:My_Theme:communicator"/&gt;
- &lt;RDF:li resource="urn:mozilla:skin:My_Theme:global"/&gt;
- &lt;RDF:li resource="urn:mozilla:skin:My_Theme:mozapps"/&gt;
- &lt;RDF:li resource="urn:mozilla:skin:My_Theme:help"/&gt;
- &lt;/RDF:Seq&gt;
- &lt;/chrome:packages&gt;
- &lt;/RDF:Description&gt;
-
- &lt;!-- Version Information. State that we work only with major version 1 of this package. --&gt;
- &lt;RDF:Description chrome:skinVersion="1.5" about="urn:mozilla:skin:My_Theme:browser"/&gt;
- &lt;RDF:Description chrome:skinVersion="1.5" about="urn:mozilla:skin:My_Theme:communicator"/&gt;
- &lt;RDF:Description chrome:skinVersion="1.5" about="urn:mozilla:skin:My_Theme:global"/&gt;
- &lt;RDF:Description chrome:skinVersion="1.5" about="urn:mozilla:skin:My_Theme:mozapps"/&gt;
- &lt;RDF:Description chrome:skinVersion="1.5" about="urn:mozilla:skin:My_Theme:help"/&gt;
-&lt;/RDF:RDF&gt;
-</pre>
-<p>{{ languages( { "fr": "fr/Cr\u00e9er_un_th\u00e8me_pour_Firefox/contents.rdf" } ) }}</p>
diff --git a/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/getting_started/index.html b/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/getting_started/index.html
deleted file mode 100644
index 364b93fcf2..0000000000
--- a/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/getting_started/index.html
+++ /dev/null
@@ -1,108 +0,0 @@
----
-title: Getting Started
-slug: Mozilla/Add-ons/Themes/Obsolete/Creating_a_Skin_for_Firefox/Getting_Started
-translation_of: Archive/Mozilla/Creating_a_skin_for_Mozilla/Getting_Started
----
-<h3 id=".EC.84.A4.EC.A0.95" name=".EC.84.A4.EC.A0.95">설정</h3>
-<p>최신 버전의 파이어폭스를 다운로드하여 설치하세요. DOM Inspector도 함께 설치합니다.</p>
-<h4 id=".ED.85.8C.EB.A7.88_.EC.95.95.EC.B6.95_.ED.92.80.EA.B8.B0" name=".ED.85.8C.EB.A7.88_.EC.95.95.EC.B6.95_.ED.92.80.EA.B8.B0">테마 압축 풀기</h4>
-<p>이미 기존에 파이어폭스에서 사용할 수 있도록 만들어진 어떤 테마를 살펴보더라도, 파이어폭스의 기본 테마인 Winstripe와의 일관성을 발견할 수 있다. 이 테마는 파이어폭스의 설치 디렉토리에 존재하는 &lt;tt&gt;classic.jar&lt;/tt&gt; 파일 안에 들어 있다. .jar 파일은 zip과 확장자만 다르지 그 압축 구조는 같기 때문에 일반적인 zip 압축 프로그램을 사용하여 풀어볼 수 있다. 만약에 압축 프로그램에서 .jar를 지원하지 않는다면 &lt;tt&gt;classic.zip&lt;/tt&gt;과 같이 파일 이름을 바꾸고 압축을 해제할 수 있다.</p>
-<h5 id="Classic.jar_.EC.9D.98_.EC.9C.84.EC.B9.98_.EC.B0.BE.EA.B8.B0" name="Classic.jar_.EC.9D.98_.EC.9C.84.EC.B9.98_.EC.B0.BE.EA.B8.B0">Classic.jar 의 위치 찾기</h5>
-<p><b>Linux:</b> /usr/lib/MozillaFirefox/chrome/classic.jar</p>
-<p><b>Windows:</b> \Program Files\Mozilla Firefox\chrome\classic.jar</p>
-<p><b>Mac OS X:</b></p>
-<ul>
- <li>applications 폴더를 엽니다.</li>
- <li>Control 버튼과 함께 파이어폭스 아이콘을 클릭합니다. 그리고 패키지 보기(Show Package)를 선택합니다.</li>
- <li>contents/MacOS/Chrome/classic.jar 로 들어갑니다.</li>
-</ul>
-<p>&lt;tt&gt;classic.jar&lt;/tt&gt;를 다른 쉽게 접근할 수 있는 폴더로 이동합니다. &lt;tt&gt;Classic&lt;/tt&gt;를 추천합니다. 그리고 그 폴더에서 압축을 풀어 놓습니다.</p>
-<h4 id="classic.jar.EC.9D.98_.EB.82.B4.EB.B6.80.EB.A5.BC_.EB.93.A4.EC.97.AC.EB.8B.A4.EB.B4.85.EC.8B.9C.EB.8B.A4" name="classic.jar.EC.9D.98_.EB.82.B4.EB.B6.80.EB.A5.BC_.EB.93.A4.EC.97.AC.EB.8B.A4.EB.B4.85.EC.8B.9C.EB.8B.A4">classic.jar의 내부를 들여다봅시다</h4>
-<p>&lt;tt&gt;classic.jar&lt;/tt&gt;의 압축을 풀어보면 &lt;tt&gt;skin&lt;/tt&gt; 디렉토리와, &lt;tt&gt;preview.png&lt;/tt&gt;, 그리고 &lt;tt&gt;icon.png&lt;/tt&gt; 파일이 들어 있습니다.</p>
-<dl>
- <dt>
- &lt;tt&gt;skin&lt;/tt&gt;</dt>
- <dd>
- 이 디렉토리 안에는 스킨을 이용하는 모든 훌륭한 재료들을 포함하는 &lt;tt&gt;classic&lt;/tt&gt; 디렉토리가 있습니다.</dd>
- <dt>
- &lt;tt&gt;classic&lt;/tt&gt;</dt>
- <dd>
- &lt;tt&gt;classic&lt;/tt&gt; 디렉토리는 다음과 같은 디렉토리들을 포함합니다.</dd>
- <dt>
- &lt;tt&gt;browser&lt;/tt&gt;</dt>
- <dd>
- &lt;tt&gt;browser&lt;/tt&gt; 디렉토리에는 툴바 아이콘들이 들어 있습니다. 북마크 관리자나 설정창에 사용되는 아이콘도 여기에 들어 있습니다.</dd>
- <dt>
- &lt;tt&gt;global&lt;/tt&gt;</dt>
- <dd>
- &lt;tt&gt;global&lt;/tt&gt; 디렉토리는 테마에서 특별히 중요한 부분으로, 브라우저의 외관을 설정하는 중요한 CSS 파일을 담고 있습니다.</dd>
- <dt>
- &lt;tt&gt;mozapps&lt;/tt&gt;</dt>
- <dd>
- &lt;tt&gt;mozapps&lt;/tt&gt; 디렉토리에는 브라우저와 확장 관리자, 업데이트 마법사를 위한 스타일 및 아이콘이 들어 있습니다.</dd>
- <dt>
- &lt;tt&gt;help&lt;/tt&gt;</dt>
- <dd>
- 이 디렉토리에는 헬프 윈도우에 필요한 테마 파일들이 들어 있습니다.</dd>
- <dt>
- &lt;tt&gt;communicator&lt;/tt&gt;</dt>
- <dd>
- 이 디렉토리의 내용은 사용되지 않으며 추후 삭제될 것입니다.</dd>
-</dl>
-<h4 id=".EC.83.88.EB.A1.9C.EC.9A.B4_.ED.85.8C.EB.A7.88_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0" name=".EC.83.88.EB.A1.9C.EC.9A.B4_.ED.85.8C.EB.A7.88_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0">새로운 테마 설치하기</h4>
-<p>아무래도 라이브 에디트를 설정하는 것에 부분부분 어려운 점이 있다보니, 일단은 직접 파이어폭스 테마를 만들며 변화하는 모습을 지켜보기 전에 기존의 테마를 설치할 수 있는 상태로 리패키징하는 법을 먼저 배우는 것이 좋겠습니다. 이 부분에서 우리는 작업에 필요한 테마를 "My_Theme"라고 부를 것이지만, 다른 이름으로 불러도 자유입니다.</p>
-<h5 id=".ED.95.84.EC.9A.94.ED.95.9C_.ED.8C.8C.EC.9D.BC_.EB.B3.B5.EC.82.AC.ED.95.98.EA.B8.B0" name=".ED.95.84.EC.9A.94.ED.95.9C_.ED.8C.8C.EC.9D.BC_.EB.B3.B5.EC.82.AC.ED.95.98.EA.B8.B0">필요한 파일 복사하기</h5>
-<p>먼저 첫번째 과정은 필요한 모든 파일을 올바른 디렉토리 구조로 옮겨넣는 것입니다. &lt;tt&gt;My_Theme&lt;/tt&gt;라는 이름의 디렉토리를 하나 만드세요. 이 디렉토리로 들어가 &lt;tt&gt;browser&lt;/tt&gt;, &lt;tt&gt;global&lt;/tt&gt;, &lt;tt&gt;communicator&lt;/tt&gt;, &lt;tt&gt;help&lt;/tt&gt;, 그리고 &lt;tt&gt;mozapps&lt;/tt&gt;와 같은 이름의 디렉토리들을 만듭니다. &lt;tt&gt;classic.jar&lt;/tt&gt; 파일을 열어 보았을 때와 같은 구조이지요, 여기에다가 &lt;tt&gt;icon.png&lt;/tt&gt; 파일과 &lt;tt&gt;preview.png&lt;/tt&gt; 파일을 만들어 넣습니다.</p>
-<h5 id=".EC.84.A4.EC.B9.98_.ED.8C.8C.EC.9D.BC_.EB.A7.8C.EB.93.A4.EA.B8.B0" name=".EC.84.A4.EC.B9.98_.ED.8C.8C.EC.9D.BC_.EB.A7.8C.EB.93.A4.EA.B8.B0">설치 파일 만들기</h5>
-<h6 id="Contents.rdf" name="Contents.rdf">Contents.rdf</h6>
-<p><a href="ko/Creating_a_Skin_for_Firefox/contents.rdf">contents.rdf</a> 파일을 &lt;tt&gt;\My_Theme&lt;/tt&gt; 디렉토리에 집어넣고 텍스트 에디터를 사용하여 열어보겠습니다. 이 파일은 스킨에 대해 기술해 놓은 작은 XML 데이터베이스로 이루어져 있습니다.</p>
-<p>이 파일에는 "My_Theme"의 구성 요소들을 찾아볼 수 있고, 이 내용을 새로 만드는 테마에 맞추어 이름을 바꿀 수도 있습니다.</p>
-<p>패키지 섹션은 당신이 변경하는 브라우저의 컴포넌트를 목록으로 나타냅니다. 챗질라에서도 이 스킨을 사용한다면 우리는 챗질라에 맞추기 위해 몇 줄을 추가하거나 바꾸어야 할 것입니다. 그러나 지금의 목록은 우리가 변경한 모든 것을 반영하고 있으므로, 이 섹션에서 이전 것을 사용하였던 부분에 대해서면 여기서 파란 색으로 표시된 부분에 이름과 버전에 맞게 변경해주면 됩니다.</p>
-<pre class="eval">&lt;RDF:li resource="urn:mozilla:skin:<span style="color: #00D; font-weight: bold;">My_Theme</span>:communicator"/&gt;
-&lt;RDF:li resource="urn:mozilla:skin:<span style="color: #00D; font-weight: bold;">My_Theme</span>:editor"/&gt;
-&lt;RDF:li resource="urn:mozilla:skin:<span style="color: #00D; font-weight: bold;">My_Theme</span>:global"/&gt;
-&lt;RDF:li resource="urn:mozilla:skin:<span style="color: #00D; font-weight: bold;">My_Theme</span>:messenger"/&gt;
-&lt;RDF:li resource="urn:mozilla:skin:<span style="color: #00D; font-weight: bold;">My_Theme</span>:navigator"/&gt;
-</pre>
-<p>파일을 저장하고 에디터를 종료합니다.</p>
-<h6 id="install.rdf" name="install.rdf">install.rdf</h6>
-<p><a href="ko/Creating_a_Skin_for_Firefox/install.rdf">install.rdf</a>를 복사하여 <code>My_Theme</code> 디렉토리 안에 집어넣습니다. 그리고 이 파일을 텍스트 에디터로 열어봅니다. 이 파일은 스킨에 대해 기술해 놓은 작은 XML 데이터베이스 파일입니다.</p>
-<pre> &lt;Description about="urn:mozilla:install-manifest"&gt;
- &lt;em:id&gt;{Themes_UUID}&lt;/em:id&gt;
- &lt;em:version&gt;Themes_Version&lt;/em:version&gt;
-</pre>
-<p>첫 섹션은 당신의 테마를 위하여 <a href="ko/Creating_a_Skin_for_Firefox/UUID">UUID</a>를 확립하고 버전을 부여하는 부분을 포함합니다. 이런 내용을 입력하고 스크롤을 내려봅니다. 또한 당신은 타겟 어플리케이션, 여기서는 파이어폭스가 되겠지요. 이 스킨을 사용할 수 있는 파이어폭스의 버전 범위를 명기해야 합니다. 다음과 같이 말이지요.</p>
-<pre> &lt;em:targetApplication&gt;
- &lt;Description&gt;
- &lt;!-- Firefox's UUID --&gt;
- &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
- &lt;em:minVersion&gt;Min_FF_Version&lt;/em:minVersion&gt;
- &lt;em:maxVersion&gt;Max_FF_Version&lt;/em:maxVersion&gt;
- &lt;/Description&gt;
- &lt;/em:targetApplication&gt;
-</pre>
-<p>위와 같은 문제들을 해결하였다면 버전으로 인하여 테마가 깨지거나 엉망이 되는 문제는 피할 수 있을 것입니다.</p>
-<h4 id="CSS_.ED.8C.8C.EC.9D.BC" name="CSS_.ED.8C.8C.EC.9D.BC">CSS 파일</h4>
-<p>이들 디렉토리에 들어있는 CSS 파일은 브라우저의 어느 부분에 그림을 넣고, 버튼이나 컨트롤의 테두리나 두께 등을 정의하여 어떻게 보일지를 지정하는 데 사용됩니다. 그러면 예를 들어서 표준 버튼을 한번 바꾸어 봅시다.</p>
-<p>&lt;tt&gt;global&lt;/tt&gt; 디렉토리로 들어가 &lt;tt&gt;button.css&lt;/tt&gt; 파일을 텍스트 에디터로 열어봅시다. 스크롤바를 내려 <code>button {</code> 으로 시작되는 섹션을 찾아봅시다. 이 섹션은 기본 상태, 그러니까 마우스를 위로 올리거나 선택하지 않았고, 그렇다고 사용중지 상태도 아닌 일반적인 버튼의 모양을 정의하는 섹션입니다.</p>
-<p><code>background-color:</code> 부분에 <code>DarkBlue</code>를 입력하고, <code>color:</code> 부분에 <code>White</code> 라고 입력한 뒤 파일을 저장합시다. 다른 몇 가지 테스트를 더 해볼 수도 있을 것입니다.</p>
-<h4 id="JAR_.ED.8C.8C.EC.9D.BC.EB.A1.9C_.EB.A6.AC.ED.8C.A8.ED.82.A4.EC.A7.95.ED.95.98.EA.B8.B0" name="JAR_.ED.8C.8C.EC.9D.BC.EB.A1.9C_.EB.A6.AC.ED.8C.A8.ED.82.A4.EC.A7.95.ED.95.98.EA.B8.B0">JAR 파일로 리패키징하기</h4>
-<p>이제 다음과 같은 디렉토리 구조를 JAR 파일로 리패키징하는 일만 남았습니다. 좋아하는 압축 프로그램을 사용하여 다음 구조를 zip으로 압축합시다:</p>
-<pre>/browser/*
-/communicator/*
-/global/*
-/help/*
-/mozapps/*
-/contents.rdf
-/install.rdf
-/icon.png
-/preview.png
- </pre>
-<p>이 상태로 그냥 묶는 것이 아니라, 이 구조가 들어있는 부모 디렉토리인 &lt;tt&gt;My_Theme&lt;/tt&gt;째 묶어야 설치할 때 에러 메시지를 보지 않을 수 있을 것입니다.</p>
-<h4 id=".EC.9B.B9.EC.97.90.EC.84.9C_.EB.B0.94.EB.A1.9C_.EC.84.A4.EC.B9.98.ED.95.A0_.EC.88.98_.EC.9E.88.EB.8F.84.EB.A1.9D_.EB.A7.8C.EB.93.A4.EB.A0.A4.EB.A9.B4" name=".EC.9B.B9.EC.97.90.EC.84.9C_.EB.B0.94.EB.A1.9C_.EC.84.A4.EC.B9.98.ED.95.A0_.EC.88.98_.EC.9E.88.EB.8F.84.EB.A1.9D_.EB.A7.8C.EB.93.A4.EB.A0.A4.EB.A9.B4">웹에서 바로 설치할 수 있도록 만들려면</h4>
-<p>일단 JAR 파일을 웹에 올리고, 클릭하면 바로 설치할 수 있도록 만들기 위해 자바스크립트 하나를 살펴보겠습니다.</p>
-<pre class="eval">&lt;a href='javascript:InstallTrigger.installChrome(InstallTrigger.SKIN,
- "<span style="color: #00D; font-weight: bold;">myskin.jar</span>", "<span style="color: #00D; font-weight: bold;">My Skin Theme</span>")'&gt;누르면 스킨이 설치됩니다&lt;/a&gt;
-</pre>
-<p>하드 디스크에 JAR 형태로 존재하는 스킨 파일을 설치하려면 <a class="external" href="http://www.eightlines.com/neil/mozskin/installjar.html">웹 인스톨러</a> 를 사용하여 해당 파일을 업로드하고 바로 실치할 수 있습니다. 혹은 모질라에서 테마 윈도우를 띄우고 .jar 파일을 끌어당겨 놓을 수도 있습니다.</p>
-<p>{{ languages( { "es": "es/Creando_un_skin_para_Firefox/Como_empezar", "fr": "fr/Cr\u00e9er_un_th\u00e8me_pour_Firefox/Premiers_pas" } ) }}</p>
diff --git a/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/index.html b/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/index.html
deleted file mode 100644
index 469fd9043b..0000000000
--- a/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: Creating a Skin for Firefox
-slug: Mozilla/Add-ons/Themes/Obsolete/Creating_a_Skin_for_Firefox
-tags:
- - Add-ons
- - Themes
-translation_of: Archive/Themes/Creating_a_Skin_for_Firefox
----
-<h3 id=".EB.93.A4.EC.96.B4.EA.B0.80.EB.A9.B0" name=".EB.93.A4.EC.96.B4.EA.B0.80.EB.A9.B0">들어가며</h3>
-<p>파이어폭스에서 사용할 스킨을 만들 때는 이미지 편집과 압축 해제, 그리고 CSS 수정에 대해 알고 있어야 합니다. 파이어폭스는 표준 GIF와 PNG, 그리고 JPEG 이미지 포맷을 버튼에 사용하며, 인터페이스의 스타일을 만들기 위해 CSS를 사용합니다.</p>
-<p><b>그러면 스킨이 뭔데?</b></p>
-<p>스킨이란 전체적인 인터페이스를 바꾸는 것은 아닙니다. 대신 스킨은 인터페이스가 어떻게 보여질지를 정의해주지요. 이미지를 마우스 오른쪽 버튼으로 클릭했을 때 일어나는 일을 바꿀 수는 없지만, 마우스 오른쪽 버튼을 눌렀을 때 보이는 메뉴의 모습은 바꿀 수 있습니다. 예를 들어 파란 바탕에 분홍색 땡땡이 무늬로 바꿀 수도 있겠지요. 파이어폭스의 기능 자체를 바꾸고 싶다면 Chrome을 직접 수정하실 수 있지만, 그에 대한 설명은 이 문서의 범위를 넘어가는 것입니다.</p>
-<h3 id=".EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0" name=".EC.8B.9C.EC.9E.91.ED.95.98.EA.B8.B0">시작하기</h3>
-<ul>
- <li><a href="ko/Creating_a_Skin_for_Firefox/Getting_Started">그러면 시작해볼까요?</a></li>
-</ul>
-<hr>
-<div class="originaldocinfo">
- <h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
- <ul>
- <li>Author: Neil Marshall</li>
- <li>Other Contributors (Suggestions/Corrections): Brent Marshall, CDN (<a class="external" href="http://themes.mozdev.org" rel="freelink">http://themes.mozdev.org</a>), JP Martin, Boris Zbarsky, Asa Dotzler, WeSaySo, David James, Dan Mauch, Anders Conbere, Tim Regula (<a class="external" href="http://www.igraphics.nn.cx" rel="freelink">http://www.igraphics.nn.cx</a>)</li>
- <li>Copyright Information: Copyright 2002-2003 Neil Marshall, permission given to MDC to migrate into the wiki April 2005 via email.</li>
- <li>Original Location: <a class="external" href="http://www.eightlines.com/neil/mozskin" rel="freelink">http://www.eightlines.com/neil/mozskin</a></li>
- </ul>
-</div>
-<p>{{ languages( { "fr": "fr/Cr\u00e9er_un_th\u00e8me_pour_Firefox", "pl": "pl/Tworzenie_sk\u00f3rek_dla_Firefoksa" } ) }}</p>
diff --git a/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/install.rdf/index.html b/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/install.rdf/index.html
deleted file mode 100644
index f5add06153..0000000000
--- a/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/install.rdf/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: install.rdf
-slug: Mozilla/Add-ons/Themes/Obsolete/Creating_a_Skin_for_Firefox/install.rdf
-translation_of: Archive/Themes/Creating_a_Skin_for_Firefox/install.rdf
----
-<p>다음 내용을 복사하여 빈 텍스트파일에 붙여넣고 "<code>install.rdf</code>"라는 이름으로 저장하세요:</p>
-<pre>&lt;?xml version="1.0"?&gt;
-
-&lt;RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;
-
- &lt;Description about="urn:mozilla:install-manifest"&gt;
- &lt;em:id&gt;{Themes_UUID}&lt;/em:id&gt;
- &lt;em:version&gt;Themes_Version&lt;/em:version&gt;
-
-&lt;!-- Target Application this extension can install into,
- with minimum and maximum supported versions. --&gt;
-
-&lt;em:targetApplication&gt;
- &lt;Description&gt;
- &lt;!-- Firefox's UUID --&gt;
- &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
- &lt;em:minVersion&gt;Min_FF_Version&lt;/em:minVersion&gt;
- &lt;em:maxVersion&gt;Max_FF_Version&lt;/em:maxVersion&gt;
- &lt;/Description&gt;
- &lt;/em:targetApplication&gt;
-
- &lt;!-- Front End MetaData --&gt;
- &lt;!-- My_Theme --&gt;
- &lt;em:name&gt;My_Theme&lt;/em:name&gt;
- &lt;em:description&gt;My_Theme&lt;/em:description&gt;
- &lt;em:creator&gt;Your_Name&lt;/em:creator&gt;
- &lt;em:contributor&gt;Contributors_Names&lt;/em:contributor&gt;
- &lt;em:homepageURL&gt;Themes_HomePage&lt;/em:homepageURL&gt;
- &lt;em:updateURL&gt; Url_of_Update_Location &lt;/em:updateURL&gt;
- &lt;em:aboutURL&gt; Url_of_About_Page &lt;/em:aboutURL&gt;
-
- &lt;!-- Front End Integration Hooks (used by Theme Manager)--&gt;
- &lt;em:internalName&gt;My_Theme&lt;/em:internalName&gt;
- &lt;/Description&gt;
-
-&lt;/RDF&gt;
-</pre>
-<p>{{ languages( { "fr": "fr/Cr\u00e9er_un_th\u00e8me_pour_Firefox/install.rdf" } ) }}</p>
diff --git a/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/uuid/index.html b/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/uuid/index.html
deleted file mode 100644
index db90531d45..0000000000
--- a/files/ko/mozilla/add-ons/themes/obsolete/creating_a_skin_for_firefox/uuid/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: UUID
-slug: Mozilla/Add-ons/Themes/Obsolete/Creating_a_Skin_for_Firefox/UUID
-translation_of: Archive/Themes/Creating_a_Skin_for_Firefox/UUID
----
-<h3 id="UUID_Universal_Unique_Identifier" name="UUID:_Universal_Unique_Identifier">UUID: Universal Unique Identifier</h3>
-<p>A UUID can be obtained by visiting <a class="external" href="http://www.famkruithof.net/uuid/uuidgen" rel="freelink">http://www.famkruithof.net/uuid/uuidgen</a> or by typing "firebot: uuid?" on irc.mozilla.org.</p>
-<h3 id="See_Also" name="See_Also">See Also</h3>
-<p><a href="ko/Generating_GUIDs">Generating_GUIDs</a></p>
-<p>{{ languages( { "fr": "fr/Cr\u00e9er_un_th\u00e8me_pour_Firefox/UUID" } ) }}</p>
diff --git a/files/ko/mozilla/add-ons/themes/obsolete/index.html b/files/ko/mozilla/add-ons/themes/obsolete/index.html
deleted file mode 100644
index d420b6ebf0..0000000000
--- a/files/ko/mozilla/add-ons/themes/obsolete/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: Obsolete
-slug: Mozilla/Add-ons/Themes/Obsolete
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Mozilla/Add-ons/Themes/Obsolete
----
-<p>This page collects theme docs that we don't expect will ever be updated, but which we're keeping for the time being as potential source material for updated docs.</p>
-<p>{{ ListSubPages ("/en-US/Add-ons/Themes/Obsolete", 5) }}</p>
diff --git a/files/ko/mozilla/firefox/developer_edition/index.html b/files/ko/mozilla/firefox/developer_edition/index.html
deleted file mode 100644
index 5303ed6630..0000000000
--- a/files/ko/mozilla/firefox/developer_edition/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: Developer Edition
-slug: Mozilla/Firefox/Developer_Edition
-tags:
- - 초보자
- - 파이어폭스
-translation_of: Mozilla/Firefox/Developer_Edition
----
-<p style="text-align: center;"><img alt="" src="https://mdn.mozillademos.org/files/9143/firefox-dev-ed_logo-only_1024.png" style="display: block; height: 256px; margin-left: auto; margin-right: auto; width: 256px;">웹 개발자들을 위한 Firefox입니다.</p>
-
-<p><a href=" https://www.mozilla.org/en-US/firefox/developer/" style="width: 250px; display: block; margin-left: auto; margin-right: auto; padding: 10px; text-align: center; border-radius: 4px; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;"> Firefox 개발자 에디션 내려받기</a></p>
-
-<hr>
-<div class="column-container">
-<div class="column-half">
-<h3 id="최신_파이어폭스_기능"><strong>최신 파이어폭스 기능</strong></h3>
-
-<p>파이어폭스 개발자 에디션은 <a href="https://wiki.mozilla.org/Release_Management/Release_Process">Firefox Release Process</a>의 오로라 채널을 대채합니다. 오로라 채널처럼, 개발자 에디션에서도 6개월에 한번씩 새 기능이 업데이트 됩니다.물론, Nightly 빌드에서 검증된 상태로 말이죠.</p>
-
-<p>개발자 에디션을 사용하면, 여러분은 도구와 플랫폼에 대한 엑세스를 Firefox 릴리즈 보다 적어도 12주 전에 체험할 수 있습니다.</p>
-
-<p><a href="/en-US/Firefox/Releases/35">어떤 기능이 새로 생겼는지 알아보세요.</a></p>
-</div>
-
-<div class="column-half">
-<h3 id="새로운_테마"><strong>새로운 테마</strong></h3>
-
-<p>이 테마는 개발자 도구에 더 쉽게 접근할 수 있도록 돕습니다.</p>
-
-<h3 id="시험적인_개발자_도구"><strong>시험적인 개발자 도구</strong></h3>
-
-<p>저희는 여러가지 릴리즈에 포함되지 않은 시험적인 개발자 도구들을 포함하고 있습니다.</p>
-
-<p>예를 들어, 파이어폭스 개발자 에디션은 <a href="/en-US/docs/Tools/Valence">Valence add-on</a>과, <a href="/en-US/docs/Tools">Firefox developer tools</a>를 다른 브라우저에서 연결할 수 있는 도구를 제공합니다.</p>
-</div>
-</div>
-
-<div class="column-container">
-<div class="column-half">
-<h3 id="다중_프로필"><strong>다중 프로필</strong></h3>
-
-<p>파이어폭스 개발자 에디션은 다중 프로필을 사용할 수 있습니다. 이는 설치된 다른 파이어폭스 버전과 바꿀 수 있는 것입니다. 이 의미는 굳이 따로 Firefox Beta를 실행시키지 않고도 개발자 에디션을 통해 사용할 수 있다는 것입니다.</p>
-
-<div class="note">
-<p><strong>노트:</strong> 개발자 에디션을 처음 시작하게 되면, 커스트마이징되지않은 웹 브라우저를 보실겁니다.애드온, 즐겨찾기, 검색기록 없이 말이죠. 당신은 <a href="https://support.mozilla.org/en-US/kb/how-do-i-set-up-firefox-sync">파이어폭스 동기화를 사용하여 </a>다른 에디션과 동기화 할 수 있습니다.</p>
-</div>
-</div>
-
-<div class="column-half">
-<h3 id="웹_개발자들을_위한_맞춤_설정"><strong>웹 개발자들을 위한 맞춤 설정</strong></h3>
-
-<p>저희는 웹 개발자들을 위해 몇가지 설정을 해 두었습니다. 예를 들면, 크롬과 원격 디버깅이 기본적으로 활성화 되어있습니다.</p>
-</div>
-</div>
-
-<p> </p>
diff --git a/files/ko/mozilla/firefox/headless_mode/index.html b/files/ko/mozilla/firefox/headless_mode/index.html
deleted file mode 100644
index 899740e0af..0000000000
--- a/files/ko/mozilla/firefox/headless_mode/index.html
+++ /dev/null
@@ -1,204 +0,0 @@
----
-title: Headless mode
-slug: Mozilla/Firefox/Headless_mode
-tags:
- - QA
- - node.js
- - 모질라
- - 자동화
- - 테스트
- - 테스팅
- - 헤드리스
- - 헤드리스 모드
-translation_of: Mozilla/Firefox/Headless_mode
----
-<p class="summary">Headless mode는 Firefox를 실행시키기 위한 유용한 방법입니다, 즉 UI컴포넌트가 보이지 않더라도 Firefox는 정상적으로 움직인다는 것입니다. 웹서핑하기에는 불편할 지라도 테스트를 자동화하기에는 매우 유용합니다. 이 글은 Headless Firefox 실행을 위해 알아야할 모든 것을 제공합니다.</p>
-
-<h2 id="headless_mode를_사용하기">headless mode를 사용하기</h2>
-
-<p><code>-headless</code> flag를 붙이는 것만으로 코맨드라인에서 headless mode를 실행할 수 있습니다.</p>
-
-<pre class="brush: bash">/path/to/firefox -headless</pre>
-
-<p>지금은 심플하게 되어있습니다만 앞으로 옵션을 추가할 예정입니다. </p>
-
-<p>하나의 예를 들자면, headless Firefox를 이용해서 간단하게 스크린샷을 찍을 수 있는 <code>-screenshot</code> 옵션을 작업하고 있습니다.  현재 진행사항은 여기서 {{bug(1378010)}} 볼 수 있습니다.</p>
-
-<h3 id="Browser_support">Browser support</h3>
-
-<p>Headless Firefox는 리눅스에서는 Firefox55이상, 윈도우즈와 맥에서는 Firefox56이상의 버전에서 지원하고 있습니다.</p>
-
-<h2 id="headless_mode를_이용한_테스트_자동화">headless mode를 이용한 테스트 자동화</h2>
-
-<p>headless Firefox를 이용하는 가장 유용한 방법은 자동화된 테스트와 함께 이용하는 것입니다. 즉,테스트의 과정을 더욱 더 효율적으로 만들어 낼 수 있다는 것입니다. </p>
-
-<h3 id="Selenium_in_Node.js">Selenium in Node.js</h3>
-
-<p>여기서는 <a href="https://nodejs.org/">Node.js</a> 와 <code><a href="https://www.npmjs.com/package/selenium-webdriver">selenium-webdriver</a></code> 패키지를 이용해서 <a href="http://www.seleniumhq.org/">Selenium</a>테스트를 만들어 볼 것입니다. 이 가이드는 Selenium, Webdriver 그리고 Node에 대한 기본적인 지식과 테스팅 환경 설정이 완료되어 있다는 가정하에 쓰여져 있습니다. 그렇지 않다면 <a href="https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment#Setting_up_Selenium_in_Node">Setting up Selenium in Node</a> 를 먼저 보시고 난 후에 본 가이드를 이용하실 것을 권장합니다.</p>
-
-<p>먼저 Node와 <code>selenium-webdriver</code>패키지가 설치되어 있는지 확인합니다. 그리고 <code>selenium-test.js</code>라는 파일을 만들어서 불러옵니다. 그런 후 아래의 내용을 단계별로 진행합니다.</p>
-
-<div class="note">
-<p><strong>Note</strong>: 다른 방법으로는 <a href="https://github.com/mdn/headless-examples">headless-examples repo</a>;가 이용 가능합니다.<br>
- <code>npm install</code>을 이용하는 것만으로 필요한 라이브러리를 설치해 포함시킬수 있습니다.</p>
-</div>
-
-<ol>
- <li>
- <p><code>selenium-webdriver</code> module과 <code>firefox</code> submodule을 불러오는 로직을 추가합니다.</p>
-
- <pre class="brush: js">var webdriver = require('selenium-webdriver'),
- By = webdriver.By,
- until = webdriver.until;
-
-var firefox = require('selenium-webdriver/firefox');</pre>
- </li>
- <li>
- <p>다음으로, Firefox Nightly를 설정한 <code>binary</code> objecet를 작성합니다. 그리고 argument를 <code>-headless</code>로 해서 추가하면 headless mode를 실행시키기 위한 준비가 완료됩니다. </p>
-
- <pre class="brush: js">var binary = new firefox.Binary(firefox.Channel.NIGHTLY);
-binary.addArguments("-headless");</pre>
- </li>
- <li>
- <p>Firefox용으로 웹드라이버 인스탄스를 작성합니다. 그리고 <code>setFirefoxOptions()</code> 를 이용해서 작성해둔 바이너리를 설정합니다. ( 이 작업은 리눅스와 윈도우즈와 맥에서 headless mode가 릴리즈 되면 불필요합니다. 하지만 Nightly-specific feature에서 테스트하기를 원한다면 유용합니다 )</p>
-
- <pre class="brush: js">var driver = new webdriver.Builder()
-    .forBrowser('firefox')
-    .setFirefoxOptions(new firefox.Options().setBinary(binary))
-    .build();</pre>
- </li>
- <li>
- <p>구글 검색페이지를 이용하는 간단한 테스트를 수행하는 코드를 추가합니다.</p>
-
- <pre class="brush: js">driver.get('https://www.google.com');
-driver.findElement(By.name('q')).sendKeys('webdriver');
-
-driver.sleep(1000).then(function() {
- driver.findElement(By.name('q')).sendKeys(webdriver.Key.TAB);
-});
-
-driver.findElement(By.name('btnK')).click();
-
-driver.sleep(2000).then(function() {
- driver.getTitle().then(function(title) {
- if(title === 'webdriver - Google Search') {
- console.log('Test passed');
- } else {
- console.log('Test failed');
- }
- });
-});
-
-driver.quit();</pre>
- </li>
- <li>
- <p>마지막으로 아래의 명령어와 함께 테스트를 실행해주세요.</p>
-
- <pre class="brush: bash">node selenium-test</pre>
- </li>
-</ol>
-
-<p>몇 초 후 콘솔에서 "Test passed"를 보게될 겁니다.  이게 다입니다! </p>
-
-<p>headless mode를 이용한 Node.js Selenium tests에 관한 유용한 팁이나 트릭은 이 글 (<a href="https://mykzilla.org/2017/08/30/headless-firefox-in-node-js-with-selenium-webdriver/">Headless Firefox in Node.js with selenium-webdriver</a> by Myk Melez) 을 참고해주세요.</p>
-
-<h3 id="Selenium_in_Java">Selenium in Java</h3>
-
-<div class="note">
-<p><strong>Note</strong>: Thanks a lot to nicholasdipiazza for writing these instructions!</p>
-</div>
-
-<p> Gradle projects를 지원하는 IDE를 사용하고 있고 <a href="https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment#Setting_up_Selenium_in_Node">Setting up Selenium in Node</a> 가이드에 설명되어진대로 Geckodriver가 설치되어져 있다는 가정하에 쓰여져 있습니다.</p>
-
-<ol>
- <li>
- <p><a href="https://github.com/mdn/headless-examples/blob/master/headlessfirefox-gradle.zip">headlessfirefox-gradle.zip</a> 를 다운로드합니다. (<a href="https://github.com/mdn/headless-examples/tree/master/headlessfirefox-gradle">see the source here</a>), 압축을 풉니다, 그리고 headlessfirefox폴더를 IED에 gradle project로 Import합니다.</p>
- </li>
- <li>
- <p><code>build.gradle파일에 </code>selenium을 설정합니다. 필요에 따라 다른 버전을 이용하셔도 상관없습니다. 이번 글에서는 3.5.3을 이용합니다.<code> </code></p>
-
- <pre class="brush: java">group 'com.mozilla'
-version '1.0'
-
-apply plugin: 'java'
-
-sourceCompatibility = 1.8
-
-repositories {
- mavenCentral()
-}
-
-dependencies {
- compile('org.seleniumhq.selenium:selenium-api:3.5.3')
- compile('org.seleniumhq.selenium:selenium-remote-driver:3.5.3')
- compile('org.seleniumhq.selenium:selenium-server:3.5.3')
-
- testCompile group: 'junit', name: 'junit', version: '4.12'
-}</pre>
- </li>
- <li>
- <p>geckodriver를 설치한 경로와 같은 곳에 있는 HeadlessFirefoxSeleniumExample.java 파일에서 <code>webdriver.gecko.driver</code> property를 수정합니다. (see line 15 below).</p>
-
- <pre class="brush: java">package com.mozilla.example;
-
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.firefox.FirefoxBinary;
-import org.openqa.selenium.firefox.FirefoxDriver;
-import org.openqa.selenium.firefox.FirefoxOptions;
-
-import java.util.concurrent.TimeUnit;
-
-public class HeadlessFirefoxSeleniumExample {
- public static void main(String [] args) {
- FirefoxBinary firefoxBinary = new FirefoxBinary();
- firefoxBinary.addCommandLineOptions("--headless");
- System.setProperty("webdriver.gecko.driver", "/opt/geckodriver");
- FirefoxOptions firefoxOptions = new FirefoxOptions();
- firefoxOptions.setBinary(firefoxBinary);
- FirefoxDriver driver = new FirefoxDriver(firefoxOptions);
- try {
- driver.get("http://www.google.com");
- driver.manage().timeouts().implicitlyWait(4,
- TimeUnit.SECONDS);
- WebElement queryBox = driver.findElement(By.name("q"));
- queryBox.sendKeys("headless firefox");
- WebElement searchBtn = driver.findElement(By.name("btnK"));
- searchBtn.click();
- WebElement iresDiv = driver.findElement(By.id("ires"));
- iresDiv.findElements(By.tagName("a")).get(0).click();
- System.out.println(driver.getPageSource());
- } finally {
- driver.quit();
- }
- }
-}</pre>
- </li>
- <li>
- <p>자바 클래스를 실행시킵니다. 그러면 컨솔 또는 터미널에 출력된 HTML컨텐츠를 확인할 수 있습니다.</p>
- </li>
-</ol>
-
-<h3 id="(headless_Firefox를_지원하는)_다른_테스팅_솔루션">(headless Firefox를 지원하는) 다른 테스팅 솔루션</h3>
-
-<p>Slimerjs는 리눅스에서 Firefox를 지원합니다. 윈도우즈와 맥은 지원 예정입니다. 상세한 내용은 이 글 ( <a href="https://adriftwith.me/coding/2017/04/21/headless-slimerjs-with-firefox/">Headless SlimerJS with Firefox</a> by Brendan Dahl) 을 참고해주세요.</p>
-
-<p>그 외에 환경변수가 설정가능하다면 거의 모든 일반적인 테스팅 어플리케이션에서 쓰여진 자동화된 테스트에서 headless Firefox를 이용할 수 있습니다. </p>
-
-<h2 id="트러블슈팅과_상세_지원에_관해">트러블슈팅과 상세 지원에 관해</h2>
-
-<p>headless mode를 이용중에 문제가 발생했을 경우에는 걱정하시지 말고 이 섹션을 찾아주세요.  이 섹션은 질문이 더 생기거나 답을 찾았을 경우에 내용을 추가 할 수 있도록 설계되어있습니다.</p>
-
-<ul>
- <li>현재 리눅스에서 사용하고 있는 시스템 안에서 headless mode가 쓰이지 않더라도  특정 라이브러리를 필요로 합니다. — 왜냐하면 Firefox에서 사용하고 있기 때문입니다. 상세한 내용과 진행상황은 여기를 {{bug(1372998)}} 참고해주세요.</li>
-</ul>
-
-<p>엔지니어에게 질문이 있다면 <a href="https://wiki.mozilla.org/IRC">Mozilla IRC</a>의 <code>#headless 채널이 최고의 장소입니다.</code> 그리고 버그를 확실하게 발견하셨다면 <a href="https://bugzilla.mozilla.org/">Mozilla Bugzilla</a>에서 내용을 알려주세요. </p>
-
-<h2 id="관련_글">관련 글</h2>
-
-<ul>
- <li><a href="https://intoli.com/blog/running-selenium-with-headless-firefox/">Using Selenium with Headless Firefox (on Windows)</a> by Andre Perunicic (uses Python)</li>
- <li><a href="https://mykzilla.org/2017/08/30/headless-firefox-in-node-js-with-selenium-webdriver/">Headless Firefox in Node.js with selenium-webdriver</a> by Myk Melez</li>
- <li><a href="https://adriftwith.me/coding/2017/04/21/headless-slimerjs-with-firefox/">Headless SlimerJS with Firefox</a> by Brendan Dahl</li>
-</ul>
diff --git a/files/ko/mozilla/firefox/multiple_profiles/index.html b/files/ko/mozilla/firefox/multiple_profiles/index.html
deleted file mode 100644
index ebf8e4adb3..0000000000
--- a/files/ko/mozilla/firefox/multiple_profiles/index.html
+++ /dev/null
@@ -1,242 +0,0 @@
----
-title: 여러 개의 Firefox 프로파일
-slug: Mozilla/Firefox/Multiple_profiles
-translation_of: Mozilla/Firefox/Multiple_profiles
----
-<p class="summary">A profile in Firefox is the collection of settings, customizations, add-ons, and other personalizations that a user has made or installed into their copy of Firefox. You can find <a href="https://support.mozilla.org/kb/Profiles">details about profiles</a> on Mozilla's end-user support site.</p>
-
-<h2 id="여러_개의_프로파일이_필요한_이유">여러 개의 프로파일이 필요한 이유</h2>
-
-<p>The casual user may want to have different profiles for different family members. Having different profiles would allow each person to have his or her own set of bookmarks, settings, and add-ons.</p>
-
-<p>Web developers might want a secondary profile for testing websites, apps, or other projects on different Firefox channels. For example, you might want to have the Firebug add-on installed for Web development, but not for general-purpose Web browsing. While using the Nightly channel, you may encounter some add-ons that have become temporarily incompatible with new API changes, until the add-on developer has a chance to update them. You can remove such add-ons from your profile for Nightly use while keeping them for use with other profiles.</p>
-
-<p>For QA, testing, and bug triaging contributors, you may want to have multiple development versions of Firefox installed, each with its own profile. Creating new profiles for testing can keep you from losing your preferences, bookmarks, and history. It takes little time to set up a new profile, and once it is complete, all of your Firefox versions will update separately and can be run simultaneously.</p>
-
-<h2 id="가능한_브라우저_개발_채널">가능한 브라우저 개발 채널</h2>
-
-<p>There are four available browser channels, each at a different level of stability and development. The four channels are <a class="link-https" href="https://www.mozilla.org/firefox/new/" title="Firefox Stable">Release</a>, <a class="link-https" href="https://www.mozilla.org/firefox/beta/" title="Firefox Beta">Beta</a>, <a href="https://www.mozilla.org/firefox/aurora/">Developer Edition</a>, and <a class="external" href="https://nightly.mozilla.org/" title="Firefox Nightly">Nightly</a>. The Release channel is recommended for most users, as it is the "official release" channel. However, for those more adventurous, you can try one of the other three channels to see what is coming in Firefox and play around with emerging features. The Beta channel contains the features that are expected to be in the next release of Firefox and are in final stages of testing. Aurora contains experimental features, which are not yet at beta quality. Nightly contains the latest code from Firefox developers and is the least stable channel.</p>
-
-<h2 id="써드파티_도구">써드파티 도구</h2>
-
-<p>In addition to the built-in Profile Manager and the external Profile Manager, there are a few third-party tools that make working with multiple profiles easy.</p>
-
-<div class="note">
-<p>This list is by no means exhaustive. Please add any helpful tools you discover to the list!</p>
-</div>
-
-<h3 id="크로스플랫폼">크로스플랫폼</h3>
-
-<ul>
- <li><a href="https://addons.mozilla.org/en-US/firefox/addon/profileswitcher/?src=ss">ProfileSwitcher</a> by Paolo "Kaosmos". It adds some options to launch easily other profiles and the Profile Manager.</li>
- <li><a href="https://addons.mozilla.org/en-US/firefox/addon/profilist/">Profilist</a> by Noitidart. Adds an easy to access profile manager to the Firefox "hamburger" menu.</li>
-</ul>
-
-<h3 id="Mac_OS_X">Mac OS X</h3>
-
-<ul>
- <li><a href="http://davemartorana.com/multifirefox/">Multifirefox</a> by Dave Martorana</li>
-</ul>
-
-<h2 id="프로파일_관리">프로파일 관리</h2>
-
-<h3 id="Firefox가_실행되는_동안_프로파일_결정">Firefox가 실행되는 동안 프로파일 결정</h3>
-
-<p>To determine the profile of a currently-running Firefox instance in Windows, macOS or Linux,</p>
-
-<ol>
- <li>Click in the menu: <em>Help</em> &gt; <em>Troubleshooting Information</em>.  A new tab will open.</li>
- <li>In the section <em>Application Basics</em>, find <em>Profile Folder</em>.</li>
- <li>Click the button <em>Show Folder,</em> <em>Show Directory</em>, or <em>Show in Finder</em>.  A native file browser window will open.</li>
- <li>
- <p>Look at the name of the folder being displayed.  It will be some random characters, followed by a dot/period, followed by the current profile name.  For example, if the folder name is <code>r99d1z7c.default</code>, you are running in a profile named <em>default</em>, which is probably the first profile that was automatically created when Firefox was installed.  If the folder name is <code>b5gkn7wd.Suzie</code>, you are running in a profile named <em>Suzie</em>. </p>
- </li>
-</ol>
-
-<h3 id="특정_프로파일로_Firefox_실행">특정 프로파일로 Firefox 실행</h3>
-
-<p id="You_cannot_change_the_profile_while_Firefox_is_running._Although_it_is_possible_in_some_cases_to_have_multiple_instances_of_Firefox_running_in_different_profiles_to_avoid_confusion_you_should_first_exitquitterminate_all_running_instances_of_Firefox_FirefoxDeveloperEdition_or_Nightly._Then_follow_the_instructions_below_applicable_to_your_operating_system."><strong>You cannot change the profile while Firefox is running.</strong>  Although it is possible in some cases to have multiple instances of Firefox running in different profiles, to avoid confusion, you should first exit/quit/terminate all running instances of <em>Firefox</em>, <em>FirefoxDeveloperEdition</em> or <em>Nightly</em>.  Then follow the instructions below, applicable to your operating system.</p>
-
-<h4 id="윈도우">윈도우</h4>
-
-<h5 id="Windows_XP">Windows XP</h5>
-
-<ol>
- <li>Click the Start button.</li>
- <li>Click "Run".</li>
- <li>Type "firefox -ProfileManager".</li>
-</ol>
-
-<h5 id="Windows_Vista7">Windows Vista/7</h5>
-
-<ol>
- <li>Click the Start button.</li>
- <li>Click the search bar at the bottom.</li>
- <li>Type "firefox -ProfileManager".</li>
-</ol>
-
-<h5 id="Windows_88.1">Windows 8/8.1</h5>
-
-<ol>
- <li>Press "Windows + R" on your keyboard.</li>
- <li>Type <code>firefox -ProfileManager</code>.</li>
-</ol>
-
-<p>If the Profile Manager window does not open, Firefox may have been running in the background, even though it was not visible. Close all instances of Firefox, or restart the computer, and then try again.</p>
-
-<h4 id="리눅스">리눅스</h4>
-
-<p>If Firefox is already included in your Linux distribution, or if you have installed Firefox with the package manager of your Linux distribution:</p>
-
-<ol>
- <li>At the top of the Firefox window, click on the File menu and select Quit.</li>
- <li>In Terminal run <code>firefox --ProfileManager</code></li>
-</ol>
-
-<p>If the Profile Manager window does not open, Firefox may have been running in the background, even though it was not visible. Close all instances of Firefox, or restart the computer and then try again.</p>
-
-<h4 id="macOS">macOS</h4>
-
-<ol>
- <li>Run the <em>Terminal</em> application, which is found in Applications/Utilities.</li>
- <li>Type or paste in the path to Firefox, followed by <code>.app/Contents/MacOS/firefox</code>.  For example, if Firefox is installed in the recommended location, you would enter <code>/Applications/Firefox.app/Contents/MacOS/firefox</code>.</li>
- <li>If you have the path to your desired profile handy, enter a space character, followed by <code>-profile</code> followed by another space character, followed by the full path to the profile folder you wish to launch into.  This will launch Firefox immediately.  Otherwise, enter a space character followed by <code>--profilemanager</code>.  This will present the Profile Manager window in which you can make your selection.</li>
- <li>Hit <em>return.</em></li>
-</ol>
-
-<p>Here is a complete example Terminal command from steps 2-3:</p>
-
-<pre>/Applications/Firefox.app/Contents/macOS/firefox -profile /Users/Suzie/Library/Application\ Support/Firefox/Profiles/r99d1z7c.default</pre>
-
-<p>If you want to do this frequently and more easily, you may wish to create an <em>Automator</em> application, as explained in <a href="http://sonnygill.net/mac/mac-multiple-firefox-profiles/">this tutorial</a>.</p>
-
-<h3 id="프로파일_생성하기">프로파일 생성하기</h3>
-
-<h4 id="프로파일_매니저로_프로파일_만들기">프로파일 매니저로 프로파일 만들기</h4>
-
-<p>These instructions should be the same for all operating systems.</p>
-
-<ol>
- <li>To start the Create Profile Wizard, click "Create Profile..." in the Profile Manager.</li>
- <li>Click Next and enter the name of the profile. Use a profile name that is descriptive, such as your personal name. This name is not exposed to the Internet.</li>
- <li>You can also choose where to store the profile on your computer. To select storage location, click Choose Folder....</li>
- <li>If you choose your folder location for the profile, select a new or empty folder. If you choose a folder that isn't empty, and you later remove the profile and choose the \"Delete Files\" option, everything inside that folder will be deleted.</li>
- <li>To create the new profile, click Finish.</li>
-</ol>
-
-<h4 id="Firefox_브라우저로_프로파일_만들기">Firefox 브라우저로 프로파일 만들기</h4>
-
-<p>You can create a new Firefox profile directly from the browser.</p>
-
-<ol>
- <li>Type about:profiles into the browser URL search bar</li>
- <li>On the page, click Create a New Profile button</li>
- <li>Read the introduction, and click Next</li>
- <li>Enter a profile name for your new Profile. Use a profile name that is descriptive, such as your personal name. This name is not exposed to the Internet.</li>
- <li>Optionally, to change where the profile will be stored on your computer, click Choose Folder...</li>
- <li>To create the new profile, click Finish.</li>
-</ol>
-
-<h3 id="프로파일_삭제하기">프로파일 삭제하기</h3>
-
-<ol>
- <li>In the Profile Manager, select the profile to remove, and click Delete Profile....</li>
- <li>Confirm that you wish to delete the profile:
- <ul>
- <li>Don't Delete Files removes the profile from the Profile Manager yet retains the profile data files on your computer in the storage folder so that your information is not lost. "Don't Delete Files" is the preferred option, because it saves the old profile's folder, allowing you to recover the files to a new profile.</li>
- <li>Delete Files removes the profile and its files, including the profile bookmarks, settings, passwords, etc.<br>
- <br>
- {{ warning("If you use the \"Delete Files\" option, the profile folder, and files will be deleted. This action cannot be undone.") }}</li>
- <li>Cancel interrupts the profile deletion.</li>
- </ul>
- </li>
-</ol>
-
-<h3 id="프로파일의_이름_바꾸기">프로파일의 이름 바꾸기</h3>
-
-<ol>
- <li>In the Profile Manager, select the profile you want to rename, and then click "Rename Profile".</li>
- <li>Enter a new name for the profile and click on OK.</li>
-</ol>
-
-<div class="note">
-<p>Note: The folder containing the files for the profile is not renamed.</p>
-</div>
-
-<h2 id="옵션">옵션</h2>
-
-<h3 id="오프라인_작업">오프라인 작업</h3>
-
-<p>Choosing this option loads the selected profile, and starts Firefox offline. You can view previously viewed web pages, and experiment with your profile.</p>
-
-<h3 id="시작시_묻지_않기">시작시 묻지 않기</h3>
-
-<p>If you have multiple profiles, Firefox prompts you for the profile to use each time you start Firefox. Select this option to allow Firefox to load the selected profile, without prompting at startup.</p>
-
-<div class="note">
-<p>Note: To access other profiles after selecting this option, you must start the Profile Manager first.</p>
-</div>
-
-<h2 id="프로파일_사용하기">프로파일 사용하기</h2>
-
-<h3 id="Windows">Windows</h3>
-
-<p>If you want to have the profile manager to pop up each time you start Firefox, so you can choose a profile, you will need to edit the "Target" of the launch icon. To do this:</p>
-
-<ol>
- <li>Right-click the icon and choose "Properties".</li>
- <li>When the properties dialog box pops up, you should see a "Target" text field that you can edit, and it should show the current file path.</li>
- <li>After the closing quote, add <code>-ProfileManager</code>.</li>
- <li>Click Ok.</li>
-</ol>
-
-<p>Now whenever you double click that icon, the profile manager should appear, allowing you to choose which profile you'd like to use.</p>
-
-<p>If you want individual icons to launch specific profiles, you will need to edit the "Target" of each icon. To do this:</p>
-
-<ol>
- <li>Right-click the icon and choose "Properties".</li>
- <li>When the properties dialog box pops up, you should see a "Target" text field that you can edit, and it should show the current file path.</li>
- <li>To permanently set a specific profile, <code>add -p PROFILE_NAME</code> to the target path, but outside of the quotes, replacing "PROFILE_NAME" with the actual profile name you chose.</li>
- <li>If you would also like to allow multiple instances of Firefox to run at the same time, add <code>-no-remote</code> after the profile name.</li>
-</ol>
-
-<p>Once you are all done, click Ok. Do this for each icon you'd like to have a specific profile for. Once done, each one should automatically start with the specified profile<code>.</code></p>
-
-<h3 id="리눅스_2">리눅스</h3>
-
-<p>There is no extremely straightforward way to create custom application launchers in Gnome 3 like there was in Gnome 2. The following tutorial will help get you going overall: <a class="external" href="https://blog.randell.ph/how-to-create-custom-application-launchers-in-gnome-3/" title="How to create custom application launchers in gnome 3">Gnome 3 Custom application launcher</a>. Once you get to the point of adding a new item, you can have the profile dialog show up every time or set the launcher to launch a specific profile.</p>
-
-<p>If you want to have the profile manager to pop up each time you start Firefox, so you can choose a profile, you will need to set the command line for your new launcher.</p>
-
-<ol>
- <li>Set the "command" text field to target the executable file, likely "/usr/bin/firefox", and add the <code>-p</code> parameter.</li>
-</ol>
-
-<p>If you want individual icons to launch specific profiles, you will need to set the command line for your new launcher. To do this:</p>
-
-<ol>
- <li>Set the "command" text field to target the executable file, likely "/usr/bin/firefox", and add the <code>-p PROFILE_NAME</code> parameter, replacing "PROFILE_NAME" with the specific profile.</li>
- <li>Repeat as necessary, for each additional profile you want to set.</li>
- <li>If you would also like to allow multiple instances of Firefox to run at the same time, add "-no-remote" after the profile name.</li>
-</ol>
-
-<h3 id="Mac_OS_X_2">Mac OS X</h3>
-
-<p>You can find a useful tutorial to set up custom launchers here: <a href="https://spf13.com/post/managing-multiple-firefox-profiles-in-os-x/" title="Managing Multiple Firefox Profiles in OSX">Managing Multiple Firefox Profiles in OSX</a>. Do note it's best to follow all steps in the "Creating the scripts" section, including the "edit Info.plist" step. Leave off the profile name if you want the profile selector to show up every time you launch.</p>
-
-<h2 id="Setting_up_multiple_profiles_for_different_Firefox_channels">Setting up multiple profiles for different Firefox channels</h2>
-
-<p>This section will be especially helpful if you are a developer, wanting to work with multiple channels, and each having their separate launcher.</p>
-
-<h3 id="Windows_2">Windows</h3>
-
-<p>In Windows, the Developer and Nightly builds get their own directory in the "Programs" folder, so you don't have to worry about where to store the downloaded files. However, all three will attempt to use the same profile by default. You won't want to keep this behavior, because the different channels have different levels of features. To set each launcher, follow the Windows instructions at <a href="#Windows">Windows Launcher</a>.</p>
-
-<h3 id="Linux">Linux</h3>
-
-<p>In Linux, things aren't as automatically set up. You will likely get a prompt to download a tar.bz2 file to extract from. Extract the files to a new directory, and use the new launcher instructions from <a href="#Linux">here</a>. The only change you will need to make is the command path. You will want to set it to the directory where you extracted the Firefox channel's tar.bz2 file, and the executable "firefox" file located within this directory. The remaining profile assignment methods will remain the same. You will want to, for sure, add the <code>-no-remote</code> part to the end of the command field, so that you could run multiple instances at the same time.</p>
-
-<h3 id="Mac_OS_X_3">Mac OS X</h3>
-
-<p>You can find a useful tutorial to set up custom launchers here: <a href="https://spf13.com/post/managing-multiple-firefox-profiles-in-os-x/" title="Managing Multiple Firefox Profiles in OSX">Managing Multiple Firefox Profiles in OSX</a>. Do note it's best to follow all steps in the "Creating the scripts" section, including the "edit Info.plist" step. Also, you'll want to change the path in the do shell script to point to the correct .app file for the Firefox channel you want to target.</p>
diff --git a/files/ko/mozilla/http_cache/index.html b/files/ko/mozilla/http_cache/index.html
deleted file mode 100644
index 8613350f2d..0000000000
--- a/files/ko/mozilla/http_cache/index.html
+++ /dev/null
@@ -1,483 +0,0 @@
----
-title: HTTP 캐시
-slug: Mozilla/HTTP_cache
-translation_of: Mozilla/HTTP_cache
----
-<div class="geckoVersionNote">
-<p style="margin-bottom: 0in;">이 문서는 <strong>새로운 HTTP 캐시 version 2</strong>를 기술하고 있습니다.</p>
-</div>
-
-<p style="margin-bottom: 0in;"> </p>
-
-<p style="margin-bottom: 0in;">코드는 <a href="https://dxr.mozilla.org/mozilla-central/source/netwerk/cache2/">/network/cache2</a> 에 존재합니다.</p>
-
-<p style="margin-bottom: 0in;"> </p>
-
-<h2 id="API" style="margin-bottom: 0in;">API</h2>
-
-<p>다음은 HTTP 캐시 v2 API에 대한 자세한 설명으로,  예제들을 포함하고 있습니다.  이 문서에는 <a href="http://mxr.mozilla.org/mozilla-central/find?text=&amp;string=cache2/nsICache">IDL files</a> 주석에서 찾을 수 없거나 명시되지 않은 내용만 들어있습니다.</p>
-
-<ul>
- <li>캐시 API는 완벽하게 <strong>스레드로부터 안전</strong>하며 <strong>블록킹이 없습니다</strong>.</li>
- <li><strong>IPC 지원</strong>은 <strong>없습니다</strong>. 기본 크롬 프로세스에서만 액세스할 수 있습니다.</li>
- <li>프로파일이 없으면 새로운 HTTP 캐시가 작동하지만, 모든 것은 어떤 특정 제한도 따르지 않는 메모리에만 저장됩니다.</li>
-</ul>
-
-<div class="warning">
-<p><code>nsICacheService</code> 등의 <strong>오래된</strong> 캐시 API를 더 이상 <strong>사용하지 말 것</strong>을 적극 권장합니다.  이는 곧 완전히 폐기되고 제거될 것입니다. (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=913828">bug 913828</a>).</p>
-</div>
-
-<h3 id="nsICacheStorageService_2" style="margin-bottom: 0in;"><a name="nsICacheStorageService"><strong>nsICacheStorageService</strong></a></h3>
-
-<ul>
- <li>
- <p style="margin-bottom: 0in;">HTTP 캐시 엔트리 포인트입니다.  서비스로만 액세스 가능하며, 스레드로부터 안전하고 스크립팅 가능합니다.</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><a href="https://dxr.mozilla.org/mozilla-central/source/netwerk/cache2/nsICacheStorageService.idl">https://dxr.mozilla.org/mozilla-central/source/netwerk/cache2/nsICacheStorageService.idl</a></p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><span style="display: none;"> </span><code><span style="color: #b22222;">"@mozilla.org/netwerk/cache-storage-service;1"</span></code></p>
- </li>
- <li>
- <p style="margin-bottom: 0in;">특정 URL마다 캐시 항목에 대한 추가 액세스 – 아래 <a href="#nsICacheStorage"><code>nsICacheEntry</code></a> 참조 – 를 제공하는 “storage”(“저장소”) 객체 – 아래 <code><a href="#nsICacheStorage">nsICacheStorage</a></code> 참조 – 에 액세스하는 메소드를 제공합니다.</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;">현재 저장소는 3가지 유형이 있으며, 모든 액세스 메소드는 <a href="#nsICacheStorage"><code>nsICacheStorage</code></a>를 반환(return)합니다. :</p>
-
- <ul>
- <li>
- <p style="margin-bottom: 0in;"><strong>메모리-온리 </strong>(<code>memoryCacheStorage</code>): 데이터를 메모리 캐시에만 저장하며, 이 저장소의 데이터는 절대로 디스크에 저장되지 않습니다.</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><strong>디스크</strong> (<code>diskCacheStorage</code>): 디스크에 데이터를 저장하지만, 기존 항목의 경우 <u>memory-only storage도 검색합니다</u>; 특수한 인수(argument)를 통해 지시를 받으면 <u>애플리케이션 캐시 또한 주로 검색합니다</u>.</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><strong>애플리케이션 캐시 </strong>(<code>appCacheStorage</code>): 컨슈머가 특정 <code>nsIApplicationCache</code> (즉, 한 그룹의 특정 앱 캐시 버전)를 가지고 있을 때, 이 저장소는 애플리케이션 캐시 항목에 대한 읽기 및 쓰기 권한을 제공합니다.; 앱 캐시가 특정되지 않았다면, 저장소는 기존의 모든 앱 캐시에서 작동합니다.</p>
- </li>
- </ul>
- </li>
- <li>
- <p style="margin-bottom: 0in;">The service also provides methods to clear the whole disk and memory cache content or purge any intermediate memory structures:</p>
-
- <ul>
- <li>
- <p style="margin-bottom: 0in;"><code>clear </code>– after it returns, all entries are no longer accessible through the cache APIs; the method is fast to execute and non-blocking in any way; the actual erase happens in background</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><code>purgeFromMemory </code>– removes (schedules to remove) any intermediate cache data held in memory for faster access (more about the <a href="#Intermediate_memory_caching">intermediate cache</a> below)</p>
- </li>
- </ul>
- </li>
-</ul>
-
-<h3 id="nsILoadContextInfo_2" style="margin-bottom: 0in;"><a name="nsILoadContextInfo">nsILoadContextInfo</a></h3>
-
-<ul>
- <li>
- <p style="margin-bottom: 0in;">Distinguishes the scope of the storage demanded to open.</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;">Mandatory argument to <code>*Storage</code> methods of <code>nsICacheStorageService</code>.</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><a href="https://dxr.mozilla.org/mozilla-central/source/netwerk/base/public/nsILoadContextInfo.idl">https://dxr.mozilla.org/mozilla-central/source/netwerk/base/public/nsILoadContextInfo.idl</a></p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><span style="font-weight: normal;">It is a</span><span style="font-weight: normal;"> helper interface wrapping following four arguments into a single one:</span></p>
-
- <ul>
- <li>
- <p style="margin-bottom: 0in; font-weight: normal;"><strong>private-browsing</strong> boolean flag</p>
- </li>
- <li>
- <p style="margin-bottom: 0in; font-weight: normal;"><strong>anonymous load</strong> boolean flag</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><span style="font-weight: normal;"><strong>app ID</strong> number (<code>0</code> for no app)</span></p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><span style="font-weight: normal;"><strong>is-in-browser</strong> boolean flag</span></p>
- </li>
- </ul>
- </li>
- <li>
- <div class="note">
- <p style="margin-bottom: 0in;">Helper functions to create nsILoadContextInfo objects:</p>
-
- <ul>
- <li>
- <p style="margin-bottom: 0in;">C++ consumers: functions at <code>LoadContextInfo.h</code> exported header</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;">JS consumers: <code>resource://gre/modules/LoadContextInfo.jsm</code> module methods</p>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <p style="margin-bottom: 0in;">Two storage objects created with the same set of <code>nsILoadContextInfo </code>arguments are identical, containing the same cache entries.</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;">Two storage objects created with in any way different <code>nsILoadContextInfo </code>arguments are strictly and completely distinct and cache entries in them do not overlap even when having the same URIs.</p>
- </li>
-</ul>
-
-<h3 id="nsICacheStorage_2" style="margin-bottom: 0in;"><a name="nsICacheStorage"><strong>nsICacheStorage</strong></a></h3>
-
-<ul>
- <li>
- <p style="margin-bottom: 0in;"><a href="https://dxr.mozilla.org/mozilla-central/source/netwerk/cache2/nsICacheStorage.idl"><span style="font-weight: normal;">https://dxr.mozilla.org/mozilla-central/source/netwerk/cache2/nsICacheStorage.idl</span></a></p>
- </li>
- <li>
- <p style="margin-bottom: 0in;">Obtained from call to one of the <code>*Storage</code> methods on <a href="#nsICacheStorageService"><code>nsICacheStorageService</code></a>.</p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><span style="font-weight: normal;">Represents a distinct storage area (or scope) to put and get cache entries mapped by URLs into and from it.</span></p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><em><span style="font-weight: normal;">Similarity with the old cache</span></em><span style="font-weight: normal;">: this interface may be with some limitations considered as a mirror to <code>nsICacheSession</code>, but less generic and not inclining to abuse.</span></p>
- </li>
- <li>
- <div class="warning">
- <p style="margin-bottom: 0in;"><span style="font-weight: normal;"><strong>Unimplemented or underimplemented functionality:</strong></span></p>
-
- <p><span style="font-weight: normal;">asyncEvictStorage (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=977766">bug 977766</a>)</span>, asyncVisitStorage (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=916052">bug 916052</a>)</p>
- </div>
- </li>
-</ul>
-
-<h3 id="nsICacheEntryOpenCallback_2" style="margin-bottom: 0in;"><a name="nsICacheEntryOpenCallback"><strong>nsICacheEntryOpenCallback</strong></a></h3>
-
-<ul>
- <li>
- <p style="margin-bottom: 0in; font-weight: normal;"><a href="https://dxr.mozilla.org/mozilla-central/source/netwerk/cache2/nsICacheEntryOpenCallback.idl">https://dxr.mozilla.org/mozilla-central/source/netwerk/cache2/nsICacheEntryOpenCallback.idl</a></p>
- </li>
- <li>
- <p style="margin-bottom: 0in; font-weight: normal;">The result of <code>nsICacheStorage.asyncOpenURI</code> is always and only sent to callbacks on this interface.</p>
- </li>
- <li>
- <p style="margin-bottom: 0in; font-weight: normal;">These callbacks are ensured to be invoked when <code>asyncOpenURI</code> returns <code>NS_OK</code>.</p>
- </li>
- <li>
- <div class="warning">
- <p style="margin-bottom: 0in; font-weight: normal;"><strong>Important difference in behavior from the old cache:</strong> when the cache entry object is already present in memory or open as “force-new” (a.k.a “open-truncate”) this callback is invoked sooner then the <code>asyncOpenURI </code>method returns (i.e. immediately); there is currently no way to opt out of this feature (watch <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=938186">bug 938186</a>).</p>
- </div>
- </li>
-</ul>
-
-<h3 id="nsICacheEntry_2" style="margin-bottom: 0in;"><a name="nsICacheEntry"><strong>nsICacheEntry</strong></a></h3>
-
-<ul>
- <li>
- <p style="margin-bottom: 0in;"><a href="https://dxr.mozilla.org/mozilla-central/source/netwerk/cache2/nsICacheEntry.idl">https://dxr.mozilla.org/mozilla-central/source/netwerk/cache2/nsICacheEntry.idl</a></p>
- </li>
- <li>
- <p style="margin-bottom: 0in;"><span style="font-weight: normal;">Obtained asynchronously or pseudo-asynchronously by a call to <code><a href="#nsICacheStorage">nsICacheStorage</a>.asyncOpenURI</code>.</span></p>
- </li>
- <li>
- <p style="margin-bottom: 0in; font-weight: normal;">Provides access to a cached entry data and meta data for reading or writing or in some cases both, see below.</p>
- </li>
-</ul>
-
-<h4 id="Lifetime_of_a_new_entry">Lifetime of a new entry</h4>
-
-<ul>
- <li>
- <p style="margin-bottom: 0in;"><span style="font-weight: normal;">Such entry is initially empty (no data or meta data is stored in it).</span></p>
- </li>
- <li>
- <p style="margin-bottom: 0in;">The <code>aNew </code>argument in <code>onCacheEntryAvailable</code> is <code>true</code> for and only for new entries.</p>
- </li>
- <li>
- <p style="margin-bottom: 0in; font-weight: normal;">Only one consumer (the so called "<em>writer</em>") may have such an entry available (obtained via <code>onCacheEntryAvailable</code>).</p>
- </li>
- <li>
- <p style="margin-bottom: 0in; font-weight: normal;">Other parallel openers of the same cache entry are blocked (wait) for invocation of their <code>onCacheEntryAvailable</code> until one of the following occurs:</p>
-
- <ul>
- <li>The <em>writer </em>simply throws the entry away: other waiting opener in line gets the entry again as "<em>new</em>", the cycle repeats.
-
- <div class="note">
- <p>This applies in general, writers throwing away the cache entry means a failure to write the cache entry and a new writer is being looked for again, the cache entry remains empty (a.k.a. "new").</p>
- </div>
- </li>
- <li>The <em>writer </em>stored all necessary meta data in the cache entry and called <code>metaDataReady</code> on it: other consumers now get the entry and may examine and potentially modify the meta data and read the data (if any) of the cache entry.</li>
- <li>When the <em>writer</em> has data (i.e. the response payload) to write to the cache entry, it <strong>must </strong>open the output stream on it <strong>before </strong>it calls <code>metaDataReady</code>.</li>
- </ul>
- </li>
- <li>When the <em>writer</em> still keeps the cache entry and has open and keeps open the output stream on it, other consumers may open input streams on the entry. The data will be available as the <em>writer</em> writes data to the cache entry's output stream immediately, even before the output stream is closed. This is called <a href="#Concurrent_read_and_write"><strong>concurrent read/write</strong></a>.</li>
-</ul>
-
-<h4 id="Concurrent_read_and_write" style="margin-bottom: 0in; font-weight: normal;"><a name="Concurrent read and write">Concurrent read and write</a></h4>
-
-<div class="warning">
-<p><strong>Important difference in behavior from the old cache:</strong> the cache now supports reading a cache entry data while it is still being written by the first consumer - the <em>writer</em>.</p>
-</div>
-
-<p>This can only be engaged for resumable responses that (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=960902#c17">bug 960902</a>) don't need revalidation. Reason is that when the writer is interrupted (by e.g. external canceling of the loading channel) concurrent readers would not be able to reach the remaning unread content.</p>
-
-<div class="note">
-<p>This could be improved by keeping the network load running and being stored to the cache entry even after the writing channel has been canceled.</p>
-</div>
-
-<p>When the <em>writer</em> is interrupted, the first concurrent <em>reader</em> in line does a range request for the rest of the data - and becomes that way a new <em>writer</em>. The rest of the <em>readers</em> are still concurrently reading the content since output stream for the cache entry is again open and kept by the current <em>writer</em>.</p>
-
-<h4 id="Lifetime_of_an_existing_entry_with_only_a_partial_content" style="margin-bottom: 0in; font-weight: normal;">Lifetime of an existing entry with only a partial content</h4>
-
-<ul>
- <li>Such a cache entry is first examined in the <code>nsICacheEntryOpenCallback.onCacheEntryCheck</code> callback, where it has to be checked for completeness.</li>
- <li>In this case, the <code>Content-Length</code> (or different indicator) header doesn't equal to the data size reported by the cache entry.</li>
- <li>The consumer then indicates the cache entry needs to be revalidated by returning <code>ENTRY_NEEDS_REVALIDATION </code>from <code>onCacheEntryCheck</code>.</li>
- <li>This consumer, from the point of view the cache, takes a role of the <em>writer</em>.</li>
- <li>Other parallel consumers, if any, are blocked until the <em>writer</em> calls <code>setValid</code> on the cache entry.</li>
- <li>The consumer is then responsible to validate the partial content cache entry with the network server and attempt to load the rest of the data.</li>
- <li>When the server responds positively (in case of an HTTP server with a 206 response code) the <em>writer </em>(in this order) opens the output stream on the cache entry and calls <code>setValid</code> to unblock other pending openers.</li>
- <li>Concurrent read/write is engaged.</li>
-</ul>
-
-<h4 id="Lifetime_of_an_existing_entry_that_doesn't_pass_server_revalidation" style="margin-bottom: 0in; font-weight: normal;">Lifetime of an existing entry that doesn't pass server revalidation</h4>
-
-<ul>
- <li>Such a cache entry is first examined in the <code>nsICacheEntryOpenCallback.onCacheEntryCheck</code> callback, where the consumer finds out it must be revalidated with the server before use.</li>
- <li>The consumer then indicates the cache entry needs to be revalidated by returning <code>ENTRY_NEEDS_REVALIDATION </code>from <code>onCacheEntryCheck</code>.</li>
- <li>This consumer, from the point of view the cache, takes a role of the <em>writer</em>.</li>
- <li>Other parallel consumers, if any, are blocked until the <em>writer</em> calls <code>setValid</code> on the cache entry.</li>
- <li>The consumer is then responsible to validate the partial content cache entry with the network server.</li>
- <li>The server responses with a 200 response which means the cached content is no longer valid and a new version must be loaded from the network.</li>
- <li>The <em>writer</em> then calls <code>recreate </code>on the cache entry. This returns a new empty entry to write the meta data and data to, the <em>writer</em> exchanges its cache entry by this new one and handles it as a new one.</li>
- <li>The <em>writer</em> then (in this order) fills the necessary meta data of the cache entry, opens the output stream on it and calls <code>metaDataReady</code> on it.</li>
- <li>Any other pending openers, if any, are now given this new entry to examine and read as an existing entry.</li>
-</ul>
-
-<h3 id="Adding_a_new_storage" style="margin-bottom: 0in;">Adding a new storage</h3>
-
-<p>Should there be a need to add a new distinct storage for which the current scoping model would not be sufficient - use one of the two following ways:</p>
-
-<ol>
- <li><em>[preffered]</em> Add a new <code>&lt;Your&gt;Storage</code> method on <code>nsICacheStorageService</code> and if needed give it any arguments to specify the storage scope even more.  Implementation only should need to enhance the context key generation and parsing code and enhance current - or create new when needed - <code>nsICacheStorage</code> implementations to carry any additional information down to the cache service.</li>
- <li><em>[<strong>not</strong> preferred]</em> Add a new argument to <a href="#nsILoadContextInfo"><code>nsILoadContextInfo</code></a>; <strong>be careful here</strong>, since some arguments on the context may not be known during the load time, what may lead to inter-context data leaking or implementation problems. Adding more distinction to <code>nsILoadContextInfo</code> also affects all existing storages which may not be always desirable.</li>
-</ol>
-
-<p>See context keying details for more information.</p>
-
-<h3 id="Code_examples">Code examples</h3>
-
-<p>TBD</p>
-
-<h4 id="Opening_an_entry">Opening an entry</h4>
-
-<h4 id="Creating_a_new_entry">Creating a new entry</h4>
-
-<h4 id="Recreating_an_already_open_entry">Recreating an already open entry</h4>
-
-<h2 id="Implementation">Implementation</h2>
-
-<h3 id="Threading">Threading</h3>
-
-<p>The cache API is fully thread-safe.</p>
-
-<p>The cache is using a single background thread where any IO operations like opening, reading, writing and erasing happen.  Also memory pool management, eviction, visiting loops happen on this thread.</p>
-
-<p>The thread supports several priority levels. Dispatching to a level with a lower number is executed sooner then dispatching to higher number layers; also any loop on lower levels yields to higher levels so that scheduled deletion of 1000 files will not block opening cache entries.</p>
-
-<ol>
- <li><strong>OPEN_PRIORITY:</strong> except opening priority cache files also file dooming happens here to prevent races</li>
- <li><strong>READ_PRIORITY:</strong> top level documents and head blocking script cache files are open and read as the first</li>
- <li><strong>OPEN</strong></li>
- <li><strong>READ:</strong> any normal priority content, such as images are open and read here</li>
- <li><strong>WRITE:</strong> writes are processed as last, we cache data in memory in the mean time</li>
- <li><strong>MANAGEMENT:</strong> level for the memory pool and CacheEntry background operations</li>
- <li><strong>CLOSE:</strong> file closing level</li>
- <li><strong>INDEX:</strong> index is being rebuild here</li>
- <li><strong>EVICT:</strong> files overreaching the disk space consumption limit are being evicted here</li>
-</ol>
-
-<p>NOTE: Special case for eviction - when an eviction is scheduled on the IO thread, all operations pending on the OPEN level are first merged to the OPEN_PRIORITY level. The eviction preparation operation - i.e. clearing of the internal IO state - is then put to the end of the OPEN_PRIORITY level.  All this happens atomically. This functionality is currently pending in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=976866">bug 976866</a>.</p>
-
-<h3 id="Storage_and_entries_scopes">Storage and entries scopes</h3>
-
-<p>A <em>scope key</em> string used to map the storage scope is based on the arguments of <code><a href="#nsILoadContextInfo">nsILoadContextInfo</a></code>. The form is following (currently pending in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=968593">bug 968593</a>):</p>
-
-<pre class="bz_comment_text" id="comment_text_0">a,b,i1009,p,</pre>
-
-<ul>
- <li>Regular expression: <code>(.([^,]+)?,)*</code></li>
- <li>The first letter is an identifier, identifiers are to be alphabetically sorted and always terminate with ','</li>
- <li>a - when present the scope is belonging to an <strong>anonymous</strong> load</li>
- <li>b - when present the scope is <strong>in browser element</strong> load</li>
- <li>i - when present must have a decimal integer value that represents an app ID the scope belongs to, otherwise there is no app (app ID is considered <code>0</code>)</li>
- <li>p - when present the scope is of a <strong>private browsing </strong>load, this never persists</li>
-</ul>
-
-<p><code><strong>CacheStorageService </strong></code>keeps a global hashtable mapped by the <em>scope key</em>. Elements in this global hashtable are hashtables of cache entries. The cache entries are mapped by concantation of Enhance ID and URI passed to <code>nsICacheStorage.asyncOpenURI</code>.  So that when an entry is beeing looked up, first the global hashtable is searched using the <em>scope key</em>. An entries hashtable is found. Then this entries hashtable is searched using &lt;enhance-id:&gt;&lt;uri&gt; string. The elemets in this hashtable are CacheEntry classes, see below.</p>
-
-<p>The hash tables keep a strong reference to <code>CacheEntry</code> objects. The only way to remove <code>CacheEntry</code> objects from memory is by exhausting a memory limit for <a href="##Intermediate_memory_caching">intermediate memory caching</a>, what triggers a background process of purging expired and then least used entries from memory. Another way is to directly call the <code>nsICacheStorageService.purge </code>method. That method is also called automatically on the <span style="color: #b22222;"><code>"memory-pressure"</code></span> indication.</p>
-
-<p>Access to the hashtables is protected by a global lock. We also - in a thread-safe manner - count the number of consumers keeping a reference on each entry. The open callback actually doesn't give the consumer directly the <code>CacheEntry</code> object but a small wrapper class that manages the 'consumer reference counter' on its cache entry. This both mechanisms ensure thread-safe access and also inability to have more then a single instance of a <code>CacheEntry</code> for a single &lt;scope+enhanceID+URL&gt; key.</p>
-
-<p><code><strong>CacheStorage</strong></code>, implementing the <code><a href="#nsICacheStorage">nsICacheStorage</a></code> interface, is forwarding all calls to internal methods of <code>CacheStorageService</code> passing itself as an argument.  <code>CacheStorageService</code> then generates the <em>scope key</em> using the <code><a href="#nsILoadContextInfo">nsILoadContextInfo</a></code> of the storage. <span style="color: #696969;">Note: CacheStorage keeps a thread-safe copy of <code>nsILoadContextInfo</code> passed to a <code>*Storage</code> method on <code>nsICacheStorageService</code>.</span></p>
-
-<h3 id="Invoking_open_callbacks">Invoking open callbacks</h3>
-
-<p><code><strong>CacheEntry</strong></code>, implementing the <code><a href="#nsICacheEntry">nsICacheEntry</a></code> interface, is responsible for managing the cache entry internal state and to properly invoke <code>onCacheEntryCheck</code> and <code>onCacheEntryAvaiable</code> callbacks to all callers of <code>nsICacheStorage.asyncOpenURI</code>.</p>
-
-<ul>
- <li>Keeps a FIFO of all openers.</li>
- <li>Keeps its internal state like NOTLOADED, LOADING, EMPTY, WRITING, READY, REVALIDATING.</li>
- <li>Keeps the number of consumers keeping a reference to it.</li>
- <li>Refers a <code>CacheFile</code> object that holds actual data and meta data and, when told to, persists it to the disk.</li>
-</ul>
-
-<p>The openers FIFO is an array of <code>CacheEntry::Callback</code> objects. <code>CacheEntry::Callback</code> keeps a strong reference to the opener plus the opening flags.  <code>nsICacheStorage.asyncOpenURI</code> forwards to <code>CacheEntry::AsyncOpen</code> and triggers the following pseudo-code:</p>
-
-<p><a name="CacheStorage::AsyncOpenURI"><strong>CacheStorage::AsyncOpenURI - the API entry point</strong></a>:</p>
-
-<ul>
- <li>globally atomic:
- <ul>
- <li>look a given <code>CacheEntry</code> in <code>CacheStorageService</code> hash tables up</li>
- <li>if not found: create a new one, add it to the proper hash table and set its state to NOTLOADED</li>
- <li>consumer reference ++</li>
- </ul>
- </li>
- <li>call to <a href="#CacheEntry::AsyncOpen">CacheEntry::AsyncOpen</a></li>
- <li>consumer reference --</li>
-</ul>
-
-<p><a name="CacheEntry::AsyncOpen"><strong>CacheEntry::AsyncOpen</strong> (entry atomic)</a>:</p>
-
-<ul>
- <li>the opener is added to FIFO, consumer reference ++ (dropped back after an opener is removed from the FIFO)</li>
- <li>state == NOTLOADED:
- <ul>
- <li>state = LOADING</li>
- <li>when OPEN_TRUNCATE flag was used:
- <ul>
- <li><code>CacheFile</code> is created as 'new', state = EMPTY</li>
- </ul>
- </li>
- <li>otherwise:
- <ul>
- <li><code>CacheFile</code> is created and load on it started</li>
- <li><code><a href="#CacheEntry::OnFileReady">CacheEntry::OnFileReady</a></code> notification is now expected</li>
- </ul>
- </li>
- </ul>
- </li>
- <li>state == LOADING: just do nothing and exit</li>
- <li>call to <a href="#CacheEntry::InvokeCallbacks">CacheEntry::InvokeCallbacks</a></li>
-</ul>
-
-<p><a name="CacheEntry::InvokeCallbacks"><strong>CacheEntry::InvokeCallbacks</strong> (entry atomic):</a></p>
-
-<ul>
- <li>called on:
- <ul>
- <li>a new opener has been added to the FIFO via an <code><strong><a href="#CacheEntry::AsyncOpen">AsyncOpen</a></strong></code> call</li>
- <li>asynchronous result of <a href="#CacheEntry::OnFileReady"><strong><code>CacheFile</code> open</strong></a></li>
- <li>the <a href="#CacheEntry::OnHandleClosed"><strong><em>writer</em> throws the entry away</strong></a></li>
- <li>the <strong>output stream </strong>of the entry has been <strong>opened </strong>or <strong>closed</strong></li>
- <li><code><strong>metaDataReady </strong></code>or <code><strong>setValid </strong></code>on the entry has been called</li>
- <li>the entry has been <strong>doomed</strong></li>
- </ul>
- </li>
- <li>state == EMPTY:
- <ul>
- <li>on OPER_READONLY flag use: onCacheEntryAvailable with <code>null </code>for the cache entry</li>
- <li>otherwise:
- <ul>
- <li>state = WRITING</li>
- <li>opener is removed from the FIFO and remembered as the current '<em>writer</em>'</li>
- <li>onCacheEntryAvailable with <code>aNew = true </code>and this entry is invoked (on the caller thread) for the <em>writer</em></li>
- </ul>
- </li>
- </ul>
- </li>
- <li>state == READY:
- <ul>
- <li>onCacheEntryCheck with the entry is invoked on the first opener in FIFO - on the caller thread if demanded</li>
- <li>result == RECHECK_AFTER_WRITE_FINISHED:
- <ul>
- <li>opener is left in the FIFO with a flag <code>RecheckAfterWrite</code></li>
- <li>such openers are skipped until the output stream on the entry is closed, then <code>onCacheEntryCheck</code> is re-invoked on them</li>
- <li><span style="color: #696969;">Note: here is a potential for endless looping when RECHECK_AFTER_WRITE_FINISHED is abused</span></li>
- </ul>
- </li>
- <li>result == ENTRY_NEEDS_REVALIDATION:
- <ul>
- <li>state = REVALIDATING, this prevents invocation of any callback until <code>CacheEntry::SetValid</code> is called</li>
- <li>continue as in state ENTRY_WANTED (just bellow)</li>
- </ul>
- </li>
- <li>result == ENTRY_WANTED:
- <ul>
- <li>consumer reference ++ (dropped back when the consumer releases the entry)</li>
- <li>onCacheEntryAvailable is invoked on the opener with <code>aNew = false </code>and the entry</li>
- <li>opener is removed from the FIFO</li>
- </ul>
- </li>
- <li>result == ENTRY_NOT_WANTED:
- <ul>
- <li><code>onCacheEntryAvailable</code> is invoked on the opener with <code>null </code>for the entry</li>
- <li>opener is removed from the FIFO</li>
- </ul>
- </li>
- </ul>
- </li>
- <li>state == WRITING or REVALIDATING:
- <ul>
- <li>do nothing and exit</li>
- </ul>
- </li>
- <li>any other value of state is unexpected here (assertion failure)</li>
- <li>loop this process while there are openers in the FIFO</li>
-</ul>
-
-<p><a name="CacheEntry::OnFileReady"><strong>CacheEntry::OnFileReady</strong> (entry atomic):</a></p>
-
-<ul>
- <li>load result == failure or the file has not been found on disk (is new): state = EMPTY</li>
- <li>otherwise: state = READY since the cache file has been found and is usable containing meta data and data of the entry</li>
- <li>call to <a href="#CacheEntry::InvokeCallbacks">CacheEntry::InvokeCallbacks</a></li>
-</ul>
-
-<p><a name="CacheEntry::OnHandleClosed"><strong>CacheEntry::OnHandleClosed</strong> (entry atomic):</a></p>
-
-<ul>
- <li>Called when any consumer throws the cache entry away</li>
- <li>If the handle is not the handle given to the current <em>writer</em>, then exit</li>
- <li>state == WRITING: the writer failed to call <code>metaDataReady</code> on the entry - state = EMPTY</li>
- <li>state == REVALIDATING: the writer failed the re-validation process and failed to call <code>setValid</code> on the entry - state = READY</li>
- <li>call to <a href="#CacheEntry::InvokeCallbacks">CacheEntry::InvokeCallbacks</a></li>
-</ul>
-
-<p><strong><a name="All consumers release the reference">All consumers release the reference</a>:</strong></p>
-
-<ul>
- <li>the entry may now be purged (removed) from memory when found expired or least used on overrun of the <a href="#Intermediate_memory_caching">memory pool</a> limit</li>
- <li>when this is a disk cache entry, its cached data chunks are released from memory and only meta data is kept</li>
-</ul>
-
-<h3 id="Intermediate_memory_caching_of_frequently_used_metadata_(a.k.a._disk_cache_memory_pool)"><a name="Intermediate_memory_caching">Intermediate memory caching </a>of frequently used metadata (a.k.a. disk cache memory pool)</h3>
-
-<div class="note">
-<p>This is a description of this feature status that is currently only a patch in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=986179">bug 986179</a>. Current behavior is simpler and causes a serious memory consumption regression (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=975367">bug 975367</a>).</p>
-</div>
-
-<p>For the disk cache entries we keep some of the most recent and most used cache entries' meta data in memory for immediate zero-thread-loop opening. The default size of this meta data memory pool is only 250kB and is controlled by a new <code>browser.cache.disk.metadata_memory_limit</code> preference. When the limit is exceeded, we purge (throw away) first <strong>expired</strong> and then <strong>least used </strong>entries to free up memory again. </p>
-
-<p>Only <code>CacheEntry</code> objects that are already loaded and filled with data and having the 'consumer reference == 0' (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=942835#c3">bug 942835</a>) can be purged.</p>
-
-<p>The 'least used' entries are recognized by the lowest value of <a href="https://wiki.mozilla.org/User:Jesse/NewFrecency?title=User:Jesse/NewFrecency">frecency</a> we re-compute for each entry on its every access. The decay time is controlled by the <code>browser.cache.frecency_half_life_hours</code> preference and defaults to 6 hours. The best decay time will be based on results of <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=986728">an experiment</a>.</p>
-
-<p>The memory pool is represented by two lists (strong refering ordered arrays) of <code>CacheEntry</code> objects:</p>
-
-<ol>
- <li>Sorted by expiration time (that default to 0xFFFFFFFF)</li>
- <li>Sorted by frecency (defaults to 0)</li>
-</ol>
-
-<p>We have two such pools, one for memory-only entries actually representing the memory-only cache and one for disk cache entries for which we only keep the meta data.  Each pool has a different limit checking - the memory cache pool is controlled by <code>browser.cache.memory.capacity</code>, the disk entries pool is already described above. The pool can be accessed and modified only on the cache background thread.</p>
-
-<div id="cke_pastebin" style="position: absolute; top: 144px; width: 1px; height: 1px; overflow: hidden; left: -1000px;">"@mozilla.org/netwerk/cache-storage-service;1"</div>
diff --git a/files/ko/mozilla/implementing_pontoon_in_a_mozilla_website/index.html b/files/ko/mozilla/implementing_pontoon_in_a_mozilla_website/index.html
deleted file mode 100644
index f839f06acd..0000000000
--- a/files/ko/mozilla/implementing_pontoon_in_a_mozilla_website/index.html
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: 모질라 프로젝트에서 Pontoon 실행하기
-slug: Mozilla/Implementing_Pontoon_in_a_Mozilla_website
-translation_of: Mozilla/Implementing_Pontoon_in_a_Mozilla_website
----
-<p><a class="external external-icon" href="https://pontoon.mozilla.org/">Pontoon</a> 은 보는 대로 얻을 수 있는 웹기반 지역화 도구입니다. 모질라에서는 현재 다양한 모질라 프로젝트와 Gaia라고 알려진 파이어 폭스 OS 인터페이스를 지역화시키기 위하여 폰툰을 사용하고 있습니다. 폰툰은 매우 간단하고 직관적인 도구입니다. 이는 지역화를 위한 시간을 줄여주기 위하여 어떤 전문적인 기술을 요구하지 않습니다. 여기서 저희는 어떻게 폰툰을 당신의 모질라 프로젝트에 추가하는지 이야기할 것입니다.</p>
-
-<div class="note">
-<p><strong>폰툰을 개선하고 싶으신가요?</strong> <a href="https://github.com/mozilla/pontoon">GitHub</a>에서 어떻게 관여하는지 배우세요.</p>
-</div>
-
-<div class="note">
-<p><strong>단지 당신의 l10n 프로젝트를 시작하고 싶으신가요?</strong> <a href="https://wiki.mozilla.org/L10n:NewProjects">getting your project localized</a>를 확인하세요</p>
-</div>
-
-<h2 id="A._당신의_프로젝트를_번역할_수_있도록_만드세요">A. 당신의 프로젝트를 번역할 수 있도록 만드세요</h2>
-
-<p>저희는 모질라 프로젝트를 지역화하기 위한 표준이 되는 <a class="external external-icon" href="https://mozweb.readthedocs.org/en/latest/reference/l10n.html">best practices</a> 이 이미 있다는 것을 알고 있지만, 그 방법들을 여기에 추가하는 것이 기억하기에 좋다고 생각하였습니다. </p>
-
-<ol>
- <li>당신의 프로젝트가 l10n 프레임 워크들중 하나를 지원한다는 것을 보증하세요(<a class="external external-icon" href="https://www.gnu.org/software/gettext/">gettext</a>, <a class="external external-icon" href="https://docs.oasis-open.org/xliff/xliff-core/v2.0/xliff-core-v2.0.html">XLIFF</a>, <a class="external external-icon" href="https://projectfluent.org/">L20n</a>, <a class="external external-icon" href="https://github.com/mozilla-l10n/langchecker/wiki/.lang-files-format">lang</a>, <a class="external external-icon" href="https://wikipedia.org/wiki/.properties">properties</a>, etc.).</li>
- <li>resource files에 번역할만한 문자들을 넣어주세요</li>
- <li>resource files를 저장소(SVN, HG, Git) 에 Push하세요
- <ul>
- <li>각각의 지역 폴더들은 반드시 그 디렉토리 트리의 같은 레벨에 위치하고 있어야 합니다. Source locale은 영어로 templates라고 불릴 필요가 있습니다. 당신은 이러한 목적을 위하여 섬세한 지역 폴더를 생성하기 원할지도 모릅니다. 지역 코드는 반드시 그 파일명의 일부가 되서는 안됩니다.</li>
- <li>올바른 패턴:
- <pre>/locales/{locale_code}/path/to/file.extension</pre>
- </li>
- <li>부적절한 패턴:
- <pre>/locales/{locale_code}/path/to/file.{locale_code}.extension</pre>
- </li>
- </ul>
- </li>
- <li>폰툰이 저장소에 쓰기 권한을 가질 수 있도록 확인하세요.
- <ul>
- <li>만약 GitHub를 사용한다면, 당신의 프로젝트에 <a href="https://github.com/mozilla-pontoon">mozilla-pontoon</a> 혹은 <a href="https://github.com/orgs/mozilla/teams/pontoon-l10n-robots">pontoon-l10n-robots</a>를 추가하세요</li>
- </ul>
- </li>
-</ol>
-
-<h2 id="B._선택사항_당신의_웹_프로젝트의_in-page_지역화를_활성화하세요">B. (선택사항) 당신의 웹 프로젝트의 in-page 지역화를 활성화하세요</h2>
-
-<ol>
- <li>폰툰이 당신의 사이트에 접속하고, 내용을 찾아 올바르게 번역할 수 있도록 HTML &lt;body&gt; element로 부터 오는 스크립트를 연결하세요.
- <ul>
- <li>
- <pre id="line1"><span> </span><span>&lt;<span class="start-tag">script</span> <span class="attribute-name">src</span>="<a class="attribute-value">https://pontoon.mozilla.org/pontoon.js</a>"</span><span>&gt;&lt;/<span class="end-tag">script</span>&gt;</span></pre>
- </li>
- </ul>
- </li>
- <li>만약 당신의 사이트가 <a class="external external-icon" href="/ko/docs/Web/HTTP/CSP">CSP</a>를 사용한다면, 부디 다음의 사항들이 pontoon.mozilla.org 도메인에 허가될 수 있도록 확인해주세요
- <ol>
- <li>iframe 내부를 로딩하는 것</li>
- <li>멀리 있는 CSS를 로딩하는 것</li>
- <li>멀리 있는 이미지들을 로딩하는 것</li>
- </ol>
- </li>
- <li>만약 당신의 사이트가 <a class="external external-icon" href="/ko/docs/Web/HTTP/X-Frame-Options">X-Frame-Options</a> header를 사용한다면, 부디 iframe 내부가 도메인에 허가될 수 있도록 확인해주세요</li>
- <li>당신의 사이트가 HTTPS를 지원하는지 확인해주세요. HTTPS는 무료이며, 자동적으로 열립니다. <a href="https://letsencrypt.org/">암호화합시다</a>!</li>
-</ol>
-
-<h2 id="C._폰툰에_당신의_프로젝트를_추가하세요">C. 폰툰에 당신의 프로젝트를 추가하세요</h2>
-
-<p>당신의 프로젝트는 이제 폰툰에 설치될 준비가 되었습니다. 부디 <a class="external external-icon" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Localization%20Infrastructure%20and%20Tools&amp;component=Administration%20%2F%20Setup">Localization Infrastructure and Tools :: Administration / Setup</a>에 버그를 기록하여 주세요 그리고 아래 사항 정보들을 제공해 주세요</p>
-
-<ul>
- <li>프로젝트 이름</li>
- <li>저장소 URL</li>
- <li>요청된 지역들의 목록</li>
- <li>웹 사이트 URL, 모든 subpage를 포함한 URL들(오직 in-page 지역화를 사용하고 있을 경우에만)</li>
-</ul>
-
-<p>더 자세한 사항을 원한다면, <a class="external external-icon" href="mailto:pontoon-team@mozilla.com">Project Management Team</a>과 연락해주세요.</p>
diff --git a/files/ko/mozilla/javascript_code_modules/index.html b/files/ko/mozilla/javascript_code_modules/index.html
deleted file mode 100644
index 9c4987b787..0000000000
--- a/files/ko/mozilla/javascript_code_modules/index.html
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title: JavaScript code modules
-slug: Mozilla/JavaScript_code_modules
-translation_of: Mozilla/JavaScript_code_modules
----
-<p><strong>자바스크립트</strong>(<a href="https://ko.wikipedia.org/wiki/%EC%98%81%EC%96%B4" title="영어">영어</a>: JavaScript)는 <a href="https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%ED%86%A0%ED%83%80%EC%9E%85_%EA%B8%B0%EB%B0%98_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D" title="프로토타입 기반 프로그래밍">객체 기반</a>의 <a href="https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8_%EC%96%B8%EC%96%B4" title="스크립트 언어">스크립트 프로그래밍 언어</a>이다. 이 언어는 <a href="https://ko.wikipedia.org/wiki/%EC%9B%B9%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80" title="웹브라우저">웹브라우저</a> 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능을 가지고 있다. 또한 <a href="https://ko.wikipedia.org/wiki/Node.js" title="Node.js">Node.js</a>와 같은 런타임 환경과 같이 서버 사이드 네트워크 프로그래밍에도 사용되고 있다. 자바스크립트는 본래 <a href="https://ko.wikipedia.org/wiki/%EB%84%B7%EC%8A%A4%EC%BC%80%EC%9D%B4%ED%94%84_%EC%BB%A4%EB%AE%A4%EB%8B%88%EC%BC%80%EC%9D%B4%EC%85%98%EC%A6%88_%EC%BD%94%ED%8D%BC%EB%A0%88%EC%9D%B4%EC%85%98" title="넷스케이프 커뮤니케이션즈 코퍼레이션">넷스케이프 커뮤니케이션즈 코퍼레이션</a>의 <a href="https://ko.wikipedia.org/wiki/%EB%B8%8C%EB%A0%8C%EB%8D%98_%EC%95%84%EC%9D%B4%ED%81%AC" title="브렌던 아이크">브렌던 아이크</a>(Brendan Eich)가 처음에는 <em>모카</em>(Mocha)라는 이름으로, 나중에는 <em>라이브스크립트</em>(LiveScript)라는 이름으로 개발하였으며, 최종적으로 자바스크립트가 되었다JavaScript 코드 모듈을 사용하면 여러 개의 권한이 부여 된 JavaScript 범위에서 코드를 공유 할 수 있습니다. 예를 들어, 코드 중복을 피하기 위해 파이어 폭스 자체뿐만 아니라 확장 모듈에서도 모듈을 사용할 수 있습니다.</p>
-
-<div class="note">
-<p>These are <em>not</em> the same thing as standard JavaScript modules. See {{jsxref("Statements/export", "export")}} and {{jsxref("Statements/import", "import")}} to learn more about how to use standard modules.</p>
-</div>
-
-<h2 id="General_topics">General topics</h2>
-
-<dl style="-moz-columns: 2; columns: 2;">
- <dt><a href="/en-US/docs/JavaScript_code_modules/Using" title="./Using">Using JavaScript code modules</a></dt>
- <dd>An introduction to how to use JavaScript code modules.</dd>
- <dt><a href="/en-US/docs/Components.utils.import" title="Components.utils.import">Components.utils.import</a></dt>
- <dd>How to import a JavaScript code module.</dd>
- <dt><a href="/en-US/docs/Components.utils.unload" title="Components.utils.unload">Components.utils.unload</a></dt>
- <dd>How to unload a JavaScript code module.</dd>
- <dt><a href="/en-US/docs/Code_snippets/Modules" title="Code_snippets/Modules">Code snippets: Modules</a></dt>
- <dd>Examples of how to use code modules.</dd>
- <dt><a class="external" href="http://wiki.mozilla.org/Labs/JS_Modules">Mozilla Labs JS Modules</a></dt>
- <dd>This page features a list of JavaScript modules, along with download links and documentation, that extension developers can use in their code.</dd>
-</dl>
-
-<dl>
-</dl>
-
-<h2 id="Standard_code_modules">Standard code modules</h2>
-
-<dl style="-moz-columns: 2; columns: 2;">
- <dt><a href="/en-US/docs/Addons/Add-on_Manager" title="Addons/Add-on_Manager">AddonManager.jsm</a></dt>
- <dd>An interface to install, manage, and uninstall add-ons.</dd>
- <dt><a href="/en-US/docs/Addons/Add-on_Repository" title="Addons/Add-on Repository">AddonRepository.jsm</a></dt>
- <dd>Provides a search of add-ons in the repository.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Assert.jsm" title="./Assert.jsm">Assert.jsm</a></dt>
- <dd>Implements the <a href="http://wiki.commonjs.org/wiki/Unit_Testing/1.1" title="http://wiki.commonjs.org/wiki/Unit_Testing/1.1">CommonJS Unit Testing specification version 1.1</a>, which provides a basic standardized interface for performing in-code logical assertions with optional, customizable error reporting.</dd>
- <dt>BookmarkHTMLUtils.jsm</dt>
- <dd>Provides utility functions for importing and exporting bookmarks from the old-school "bookmarks.html" style bookmark files.</dd>
- <dt><a href="/en-US/docs/Mozilla/js-ctypes" title="./ctypes.jsm">ctypes.jsm</a></dt>
- <dd>Provides an interface that allows JavaScript code to call native libraries without requiring the development of an XPCOM component.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/CustomizableUI.jsm" title="./ctypes.jsm">CustomizableUI.jsm</a></dt>
- <dd>Allows you to interact with customizable buttons and items in Firefox's main window UI.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/DeferredTask.jsm" title="./DeferredTask.jsm">DeferredTask.jsm</a></dt>
- <dd>Run a task after a delay.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Dict.jsm" title="./Dict.jsm">Dict.jsm</a></dt>
- <dd>Provides an API for key/value pair dictionaries.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/DownloadLastDir.jsm" title="./DownloadLastDir.jsm">DownloadLastDir.jsm</a></dt>
- <dd>Supplies the path to the directory into which the last download occurred.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Downloads.jsm" title="./Downloads.jsm">Downloads.jsm</a></dt>
- <dd>Provides a single entry point to interact with the downloading capabilities of the platform.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/FileUtils.jsm" title="./FileUtils.jsm"><strong style="font-weight: bold;">FileUtils.jsm</strong></a></dt>
- <dd>Provides helpers for dealing with files.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Geometry.jsm" title="./Geometry.jsm">Geometry.jsm</a></dt>
- <dd>Provides routines for performing basic geometric operations on points and rectangles.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Http.jsm" title="./Geometry.jsm">HTTP.jsm</a></dt>
- <dd>A wrapper for XMLHttpRequest that provides convenient and simplified API for dealing with HTTP requests.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/JNI.jsm">JNI.jsm</a></dt>
- <dd>Abstracts the js-ctypes to provide an interface that allows JavaScript code to call code running in native JVMs.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/ISO8601DateUtils.jsm" title="./ISO8601DateUtils.jsm">ISO8601DateUtils.jsm</a></dt>
- <dd>Provides routines to convert between JavaScript <a href="/en-US/docs/JavaScript/Reference/Global_Objects/Date" title="JavaScript/ Reference/Global Objects/Date"><code>Date</code></a> objects and ISO 8601 date strings.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Log.jsm">Log.jsm</a> (formerly log4moz)</dt>
- <dd>Provides a <a href="https://en.wikipedia.org/wiki/Log4j">log4j</a> style API for logging, log messages to various endpoints, such as the <a href="/en-US/docs/Tools/Browser_Console">Browser Console</a> or a file on disk. </dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/NetUtil.jsm" title="./NetUtil.jsm"><strong style="font-weight: bold;">NetUtil.jsm</strong></a></dt>
- <dd>Provides helpful networking utility functions, including the ability to easily copy data from an input stream to an output stream asynchronously.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/openLocationLastURL.jsm" title="./openLocationLastURL.jsm">openLocationLastURL.jsm</a></dt>
- <dd>Provides access to the last URL opened using the "Open Location" option in the File menu.</dd>
- <dt><a href="/Mozilla/JavaScript_code_modules/OSFile.jsm" title="/en-US/docs/JavaScript_OS.File">OSFile.jsm</a></dt>
- <dd>Allows routines to access files. To which can be read, write, rename, create directories,etc.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/PerfMeasurement.jsm" title="./PerfMeasurement.jsm">PerfMeasurement.jsm</a></dt>
- <dd>Provides access to low-level hardware and OS performance measurement tools.</dd>
- <dt><a href="/en-US/docs/Localization_and_Plurals" title="Localization and Plurals">PluralForm.jsm</a></dt>
- <dd>Supplies an easy way to get the correct plural forms for the current locale, as well as ways to localize to a specific plural rule.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/PopupNotifications.jsm" title="./PopupNotifications.jsm">PopupNotifications.jsm</a></dt>
- <dd>Gives an easy way to present non-modal notifications to users.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm" title="./Promise.jsm">Promise.jsm</a></dt>
- <dd>Implements the <a class="external" href="https://github.com/promises-aplus/promises-spec/blob/1.0.0/README.md" title="https://github.com/promises-aplus/promises-spec/blob/1.0.0/README.md">Promises/A+</a> proposal as known in April 2013.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/PromiseWorker.jsm">PromiseWorker.jsm</a></dt>
- <dd>A version of {{domxref("ChromeWorker")}} which uses Promises to return the worker's result instead of using an event to do so.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Services.jsm" title="./Services.jsm">Services.jsm</a></dt>
- <dd>Provides getters for conveniently obtaining access to commonly-used services.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/source-editor.jsm" title="./source-editor.jsm">source-editor.jsm</a></dt>
- <dd>The Source Editor is used by developer tools such as, the Style Editor; this interface implements the editor and lets you interact with it.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Sqlite.jsm" title="./Sqlite.jsm">Sqlite.jsm</a></dt>
- <dd>A Promise-based API to mozIStorage/SQLite.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Task.jsm" title="./Task.jsm">Task.jsm</a></dt>
- <dd>Implements a subset of <a class="external" href="http://taskjs.org/" title="http://taskjs.org/">Task.js</a> to make sequential, asynchronous operations simple, using the power of JavaScript's <code>yield</code> operator.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Timer.jsm" title="/en-US/docs/Mozilla/JavaScript_code_modules/Timer.jsm">Timer.jsm</a></dt>
- <dd>A pure JS implementation of <code>window.setTimeout</code>.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/Webapps.jsm" title="/en-US/docs/Mozilla/JavaScript_code_modules/Timer.jsm">Webapps.jsm</a></dt>
- <dd>Provides an interface to manage Open Web Apps.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/WebRequest.jsm">WebRequest.jsm</a></dt>
- <dd>Provides an API to add event listeners for the various stages of making an HTTP request. The event listener receives detailed information about the request, and can modify or cancel the request.</dd>
- <dt><a href="/en-US/docs/Mozilla/JavaScript_code_modules/XPCOMUtils.jsm" title="./XPCOMUtils.jsm">XPCOMUtils.jsm</a></dt>
- <dd>Contains utilities for JavaScript components loaded by the JS component loader.</dd>
-</dl>
diff --git a/files/ko/mozilla/js-ctypes/index.html b/files/ko/mozilla/js-ctypes/index.html
deleted file mode 100644
index 83634cf2ce..0000000000
--- a/files/ko/mozilla/js-ctypes/index.html
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title: js-ctypes
-slug: Mozilla/js-ctypes
-translation_of: Mozilla/js-ctypes
----
-<p><strong>js-ctypes</strong> 에서는 응용 프로그램과 확장코드가 C로 작성된 네이티브 코드를 통해 앞뒤로 호출할 수 있습니다. C++지원이 제한되니 {{bug("505907")}} 완전히 지원을 바랍니다. binary XPCOM 구성 요서와는 달리,개발자가 파이어 폭스의 여러버전과 함께 사용할 수 있는 단일 바이너리를 출시할 수 있습니다.</p>
-<div class="note">
- <strong>참고:</strong> js-ctypes는 크롬 코드에서만 사용할 수 있습니다. 즉, ctypes의 전용 응용 프로그램 및 확장 코드는 웹 사이트에 사용할 수 없습니다.</div>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Documentation" name="Documentation">문서</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Mozilla/js-ctypes/Using_js-ctypes" title="Mozilla/js-ctypes/Using_js-ctypes">소개: js-ctypes에 사용하기</a></dt>
- <dd>
- ctypes 사용하기 시직하기.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/js-ctypes/js-ctypes_reference" title="js-ctypes/js-ctypes_reference">JS-ctypes 참조</a></dt>
- <dd>
- js-ctypes API에 대한 참조설명서를 참조하십시오.</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/js-ctypes/Standard_OS_Libraries" title="Mozilla/js-ctypes/Standard_Libraries_per_OS">표준 OS 라이브러리</a></dt>
- <dd>
- 다른 운영 체제의 표준 라이브러리에 대한 문서. (예: 함수는 Windows에서 어떤 DLL을 필요로 하는지에 대한 문서)</dd>
- <dt>
- <a href="/en-US/docs/Mozilla/js-ctypes/FAQ" title="js-ctypes/FAQ">질문</a></dt>
- <dd>
- ctypes에 대해 자주 묻는 질문</dd>
- </dl>
- <p><span class="alllinks"><a href="/en-US/docs/tag/js-ctypes" title="tag/js-ctypes">모두 보기...</a></span></p>
- <h2 class="Tools" id="Examples" name="Examples"><a href="/en-US/docs/Mozilla/js-ctypes/Examples" title="Mozilla/js-ctypes/Examples">예시</a></h2>
- <a href="/en-US/docs/Mozilla/js-ctypes/Examples/Add_to_iPhoto" title="Mozilla/js-ctypes/Examples/Add_to_iPhoto">iPhoto 추가하기</a>
- <dl>
- <dd>
- Firefox에서 "iPhoto에서 이미지를 추가"하는 기능을 구현하는 맥 OS X의 Carbon과 Core Foundation framework routines을 호출하여 JS-ctypes에 사용하는 Firefox 확장기능.</dd>
- </dl>
- </td>
- <td>
- <h2 class="Community" id="Community" name="Community">커뮤니티</h2>
- <ul>
- <li>Mozilla 포럼 보기...{{DiscussionList("dev-extensions", "mozilla.dev.extensions")}}</li>
- </ul>
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">관련항목</h2>
- <ul>
- <li><a href="/en-US/docs/Extensions" title="Extensions">추가하기</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/mozilla/marketplace/publishing/소개/index.html b/files/ko/mozilla/marketplace/publishing/소개/index.html
deleted file mode 100644
index 4dc1f99578..0000000000
--- a/files/ko/mozilla/marketplace/publishing/소개/index.html
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: 소개 — 앱 출판
-slug: Mozilla/Marketplace/Publishing/소개
-tags:
- - Firefox OS
- - Marketplace
- - 마켓플레이스
- - 시작
- - 앱
- - 인트로
-translation_of: Archive/Mozilla/Marketplace/Publishing/Introduction
----
-<div class="summary">So you've figured out how you'll make your <a href="/en-US/Marketplace/Prepare/Introduction">app a success</a>, chosen how to <a href="/en-US/Marketplace/Options/Introduction">deliver it and seen the options for delivering it beyond Firefox OS</a>, and written and tested your code. Now it's time to make it available to users worldwide and publish it on Firefox Marketplace. <span class="seoSummary">This section provides a guide to all the tasks you need to perform to publish and update your Open Web Apps on Firefox Marketplace, as well as useful additional information. </span></div>
-
-<div class="column-container"> </div>
-
-<div class="row topicpage-table">
-<div class="section">
-<h2 class="Community" id="Community" name="Community">출판 가이드</h2>
-
-<dl>
- <dt><a href="/en-US/Marketplace/Publishing/Submission_checklist">Submission checklist</a></dt>
- <dd>This checklist will help you prepare for submitting your app.</dd>
- <dt><a href="/en-US/Marketplace/Publishing/Marketplace_review_criteria">Marketplace review</a></dt>
- <dd>Understand the process and criteria used when your app is reviewed.</dd>
-</dl>
-
-<h2 class="Community" id="Community" name="Community">정책 및 가이드라인</h2>
-
-<dl>
- <dt><a href="/en-US/Apps/Build/Icon_implementation_for_apps#Firefox_OS">Icons (App Center)</a></dt>
- <dd>Get details of the icon sizes required for various releases of Firefox OS.</dd>
-</dl>
-
-<dl>
- <dt><a class="external external-icon" href="https://www.mozilla.org/en-US/styleguide/products/firefox-os/icons/">Icon design (Mozilla Style Guide)</a></dt>
- <dd>Your app or in-app product icons may follow a circlar or square design, find out more from the Mozilla Style Guide.</dd>
-</dl>
-
-<dl>
- <dt><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Policies_and_Guidelines/Privacy_policies#Mozilla_Marketplace_privacy_requirements">Privacy Policies</a></dt>
- <dd>If your app uses personal data about a user, it must have a privacy policy. These guidelines cover the information you need to include in your app's privacy policy.</dd>
-</dl>
-
-<dl>
- <dt><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Policies_and_Guidelines/Marketplace_screenshot_criteria">Screenshot guidelines</a></dt>
- <dd>These guidelines provide information on the best approaches to the screenshots  you include in your app's Marketplace listing.</dd>
- <dt><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Policies_and_Guidelines/Testing_and_troubleshooting">App testing and troubleshooting</a></dt>
- <dd>These guidelines provide information on setting up a test environment, testing your app and troubleshooting issues you may find.</dd>
-</dl>
-</div>
-
-<div class="section">
-<h2 class="Community" id="Community" name="Community">앱 제출</h2>
-
-<dl>
- <dt><a href="/en-US/Marketplace/Publishing/Submit/Overview">App submission process guide</a></dt>
- <dd>So you're ready to publish your first app, or want to publish an app with a packaging method or features you haven't used before, get step-by-step instructions for submitting your app to Firefox Marketplace.</dd>
-</dl>
-
-<h2 class="Community" id="Community" name="Community">앱 업데이트하기</h2>
-
-<dl>
- <dt><a href="/en-US/Marketplace/Publishing/Updating_apps">Updating apps</a></dt>
- <dd>Maintaining the momentum behind your app means offering users regular updates; for new features and, although we all hope not, bug fixes. This page provides the information you need on how to deliver your app updates through Firefox Marketplace.</dd>
-</dl>
-
-<h2 class="Community" id="Community" name="Community">출시된 앱 관리</h2>
-
-<dl>
- <dt><a href="/en-US/Marketplace/Publishing/Managing_your_apps/Introduction_Managing_your_apps">App management guide</a></dt>
- <dd>Your app is published and you now want to make changes or find out how well it's been received. In this section discover how to change your app status, review statistics, and check your reviews and ratings on Firefox Marketplace.</dd>
-</dl>
-
-<h2 id="추가_도구">추가 도구</h2>
-
-<dl>
- <dt><a href="/en-US/Marketplace/Publishing/Adding_a_subdomain">Adding a subdomain for your app</a></dt>
- <dd>If you want to offer more than one hosted app from your website, you'll need to create a subdomain for each one. This page explains how.</dd>
-</dl>
-</div>
-</div>
-
-<p> </p>
diff --git a/files/ko/mozilla/marketplace/submission/index.html b/files/ko/mozilla/marketplace/submission/index.html
deleted file mode 100644
index 1c01f1e00d..0000000000
--- a/files/ko/mozilla/marketplace/submission/index.html
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Submission
-slug: Mozilla/Marketplace/Submission
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Mozilla/Marketplace/Submission
----
-<p>Marketplace submission</p>
diff --git a/files/ko/mozilla/marketplace_kr/index.html b/files/ko/mozilla/marketplace_kr/index.html
deleted file mode 100644
index e36b711de6..0000000000
--- a/files/ko/mozilla/marketplace_kr/index.html
+++ /dev/null
@@ -1,137 +0,0 @@
----
-title: Firefox 마켓플레이스
-slug: Mozilla/Marketplace_KR
-tags:
- - Firefox OS
- - 개관
- - 마켓플레이스
- - 비기너
- - 시작
- - 시작자
- - 아마추어
- - 앱
- - 어플리케이션
- - 우선사항
- - 응용프로그램
- - 인트로
- - 초심자
-translation_of: Archive/Mozilla/Marketplace
----
-<div class="summary">Firefox Marketplace는 개방되고 독점되지 않은 HTML5를 이용해서 만들어진 응용 프로그램들을 위한 온라인 장터입니다. 이곳에서는 당신의 응용프로그램을 Firefox Marketplace에 출판하기 위한 정보들을 찾을 수 있습니다. 응용프로그램들을 성공적으로 만들고 전달하고, 출판하고 업데이트하며 Marketplace의 기능을 이용하기 위한 라이브러리들과 API들을 찾아보세요.</div>
-
-<div class="column-container">
-<p><span class="seoSummary">파이어폭스 마켓플레이스는 크로스 플랫폼을 지원하는 <a href="/ko/docs/Apps">열린 웹앱환경</a>을 이용한 앱을 출판할 수 있는 곳입니다. Mozilla는 세상 모든 응용프로그램들에 대해 다음과 같은 가치를 추구합니다. - 공개성, 자유성, 사용자 선택성</span></p>
-</div>
-
-<div class="row topicpage-table">
-<div class="section">
-<div class="column-container">
-<p> 표준화된 웹 기술, 언어, 도구, 그리고 <a href="https://marketplace.firefox.com/">Firefox Marketplace</a> 를 사용하여<a href="https://developer.mozilla.org/en-US/Apps"> Open Web Apps</a> 를 출시할 수 있습니다. 이러한 응용프로그램들은 패키징되고 Firefox OS에서 구동되거나 당신의 웹 서버에 호스팅될 수 있습니다. 출시된 응용프로그램들은 Firefox OS 스마트폰 사용자에게 그들이 어디에 있든 제공됩니다. 사용자들은 당신의 응용프로그램을 Firefox Marketplace내의 추천 응용프로그램, 카테고리, 강력한 검색기능을 이용해 쉽게 찾을 수 있습니다. 또한 사용자들은 빠르게 무료 응용프로그램들을 설치하거나 유료 응용프로그램들을 신용카드나 다른 수단을 통해 구매할 수 있습니다.</p>
-</div>
-</div>
-</div>
-
-<div class="row topicpage-table">
-<div class="section">
-<h2 class="Community" id="Community" name="Community"></h2>
-
-<h2 class="Community" id="Community" name="Community"><a href="https://developer.mozilla.org/en-US/Marketplace/Prepare">성공을 위한 준비</a></h2>
-
-<dl>
- <dd>당신이 기쁨을 위해서, 또는 돈을 목적으로 응용프로그램을 만들지라도 당신은 사람들이 당신이 만든것을 찾고, 사용하고, 즐기기를 원할 것입니다. 이곳에서는 당신이 어떻게 소문을 내고 만족스러운 사용자들을 위해 커뮤니티를 만드는 방법을 설명합니다.</dd>
-</dl>
-
-<h2 class="Community" id="Community" name="Community"><a href="https://developer.mozilla.org/en-US/Marketplace/Options">공개 옵션</a></h2>
-
-<dl>
- <dd>패키징되거나 호스팅되거나, 그것이 문제로다. 당신의 응용프로그램 콘텐츠들을 사용자들에게 전달하는 방법과 안드로이드 기기 또는 데스크톱, 그리고 Firefox Os에서 응용프로그램을 사용할 수 있게 해주는 옵션들을 찾아보세요.</dd>
-</dl>
-
-<h2 class="Community" id="Community" name="Community"><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Introduction">응용프로그램 출판</a></h2>
-
-<dl>
- <dd>당신의 응용프로그램들을 대기상태에서 놓아주세요. 응용프로그램들을 제출하고, 평가받고, 업데이트하고, 실적을 모니터링하고, 사용자들의 피드백을 받는 과정들과 같은 Firefox Marketplace에서의 응용프로그램 등록 방법을 찾아보세요.</dd>
-</dl>
-</div>
-
-<h2 class="Tools" id="Tools" name="Tools">앱 개발자들을 위한 도구들</h2>
-
-<dl>
- <dd><strong><a href="https://developer.mozilla.org/en-US/Marketplace/APIs">Firefox Marketplace 라이브러리 및 API</a></strong> 당신의 마켓플레이스 응용프로그램에 추가할 라이브러리 및 API를 찾아보세요.</dd>
- <dd><strong><a href="https://developer.mozilla.org/en-US/Apps/Tools_and_frameworks/App_developer_tools">응용프로그램 개발자 도구</a></strong> 당신이 오픈 웹 응용프로그램 개발에 효율적이고 재밋게 사용할 수 있는 도구들의 완벽한 목록을 찾아보세요.</dd>
- <dd><strong><a href="https://developer.mozilla.org/en-US/docs/Tools/WebIDE">WebIDE</a> <a href="https://developer.mozilla.org/en-US/docs/Tools/Firefox_OS_Simulator">Firefox OS 시뮬레이터</a></strong>를 사용하거나 실제의 Firefox OS 기기를 이용하여 당신의 <a href="https://developer.mozilla.org/en-US/Firefox_OS">Firefox OS</a> 응용프로그램에 대한 테스트, 배치 및 디버깅을 할 수 있는 기본 도구입니다.</dd>
-</dl>
-</div>
-
-<h2 id="목차">목차</h2>
-
-<ol>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Prepare">성공을 위한 준비</a>
-
- <ol>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Prepare/Introduction">소개</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Prepare/Deciding_what_to_build">무엇을 만들지 정합니다</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Prepare/Getting_to_know_your_users">당신의 사용자들을 파악합니다</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Prepare/Choosing_your_business_model">당신의 비즈니스 모델을 선정합니다</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Prepare/Localizing_your_apps">당신의 응용프로그램들을 지역화합니다</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Prepare/Promoting_your_app">당신의 응용프로그램을 홍보합니다</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Prepare/Creating_your_community">당신의 커뮤니티를 만드세요</a></li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Options">출시 옵션</a>
- <ol>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Options/Introduction">소개</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Options/Packaged_apps">패키징된 응용프로그램</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Options/Hosted_apps">호스팅된 응용프로그램</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Options/Packaged_or_hosted">패키징과 호스팅이란?</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Options/Mobile_optimized_websites">모바일에 최적화된 웹사이트</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Options/Self_publishing">응용프로그램을 스스로 출시해보세요</a></li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing">응용프로그램 출시 미리보기</a>
- <ol>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Introduction">소개</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submission_checklist">제출전 확인사항</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Marketplace_review_criteria" title="An explanation of the criteria an app must meet in order to be published on the Firefox Marketplace">마켓플레이스 리뷰 표준</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Marketplace_showcase_criteria">마켓플레이스 공개행사 표준</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Adding_a_subdomain" title="For security reasons, each app must have its own domain (or subdomain) on the Web. This article covers how to go about creating a subdomain for your app.">응용프로그램을 위한 서브도메인 추가</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Policies_and_Guidelines">정책 및 가이드라인</a>
- <ol>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Policies_and_Guidelines/Introduction">안내</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Policies_and_Guidelines/Marketplace_screenshot_criteria" title="Some guidelines on how to create an effective screenshot for marketplace submission">마켓플레이스 스크린샷 표준</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Policies_and_Guidelines/Privacy_policies" title="Your users' privacy is very important, so you need to develop and adhere to a reasonable privacy policy to engender their trust. This article provides a guide to developing privacy policies.">개인 정책</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Policies_and_Guidelines/Testing_and_troubleshooting">응용프로그램 테스트 및 원인분석</a></li>
- </ol>
- </li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit">당신의 응용프로그램을 제출하기</a>
- <ol>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Overview">개관</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Sign-in_to_your_developer_account" title="This step-by-step guide will help you successfully submit your app to the Firefox Marketplace.">Step 1: 가입</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Load_your_app">Step 2: 응용프로그램 불러오기</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Enter_your_apps_details">Step 3: 세부사항 나열</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Next_steps">Step 4: 다음단계</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Rating_Your_Content">Step 5: 응용프로그램 평가</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Define_your_team">Step 6: 팀 맴버 정의</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/View_your_listing">Step 7: 목록 보기</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Edit_other_localizations">Step 8: 다른 지역의 지역화를 위한 편집</a></li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Managing_your_apps">출판된 응용프로그램 관리 및 업데이트</a>
- <ol>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Managing_your_apps/Introduction_Managing_your_apps">소개</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Managing_your_apps/Status___Versions">당신의 응용프로그램 상태</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Updating_apps" title="Information about how both hosted and packaged app updates are handled, and what you need to do to ensure that your app properly supports updating.">응용프로그램 업데이트</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/Publishing/Managing_your_apps/App_Statistics">별점</a></li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Marketplace/Add-on_submission">추가제출</a>
- <ol>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Marketplace/Add-on_submission">추가제출 개관</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Marketplace/Add-on_submission/Review_criteria">추가제출 리뷰 기준</a></li>
- </ol>
- </li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/APIs">라이브러리 및 API</a></li>
- <li><a href="https://developer.mozilla.org/en-US/Marketplace/FAQ">Firefox Marketplace FAQ</a></li>
-</ol>
diff --git a/files/ko/mozilla/mobile/index.html b/files/ko/mozilla/mobile/index.html
deleted file mode 100644
index 6431893f01..0000000000
--- a/files/ko/mozilla/mobile/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: Mobile
-slug: Mozilla/Mobile
-translation_of: Mozilla/Mobile
----
-<h2 id="Firefox_OS" name="Firefox_OS"><a href="/en-US/docs/Archive/B2G_OS">Firefox OS</a></h2>
-
-<p>Firefox OS는 사용자 인터페이스와 HTML, CSS 및 JavaScript로 작성된 응용 프로그램을 구동하는 Linux와 Mozilla의 Gecko 엔진을 사용하는 오픈 소스 모바일 운영 체제입니다.</p>
-
-<p>Firefox OS 설치 방법과 앱을 개발하는 방법에 대해서 살펴보십시오.</p>
-
-<div id="gt-res-tools">
-<div id="gt-res-tools-l">
-<div id="gt-pb-star">
-<div class="goog-toolbar-button goog-inline-block trans-pb-button"></div>
-</div>
-</div>
-</div>
-
-<h2 id="Firefox_for_Android" name="Firefox_for_Android"><a href="/en-US/docs/Mozilla/Firefox_for_Android">Firefox for Android</a></h2>
-
-<p><span class="hps">안드로이드</span><span class="hps">용</span> <span class="atn hps">Firefox</span><span>는</span> 안드로이드 기기를 <span>위한</span> <span class="atn hps">Mozilla</span><span>의</span> <span class="hps">모바일</span> <span class="hps">웹</span> <span class="hps">브라우저입니다.</span> 최근에 안드로이드 자체 UI를 사용하도록 재개발 되어서 더 빠르고 응답성도 좋아졌습니다. <span class="hps">카메라나</span><span class="hps"> 전화기능과 같은 기기 자체의 기능에 접근하는 강력한 API를 제공합니다.</span></p>
-
-<p>안드로이드용 Firefox를 만드는데 도움을 주는 방법이나 device API를 사용하는 방법, 모바일 부가 기능을 만드는 방법에 대해서 살펴보세요.</p>
-
-<h2 id="Mobile_web_development" name="Mobile_web_development"><a href="/en-US/docs/Web/Guide/Mobile">Mobile web development</a></h2>
-
-<p><span class="hps">모바일 장치는</span> <span class="atn hps">데스크톱</span><span>이나</span> <span class="hps">노트북</span> <span class="atn hps">컴퓨터와는 </span><span class="hps">매우 다른</span> <span class="hps">하드웨어 특징을</span> <span class="hps">가지고 있으며</span> 기기를 제어하는데 사용되는 <span class="atn hps">API</span><span>의 대부분은</span> 아직 표준화 단계에 있습니다.</p>
-
-<p><span class="hps">모바일 장치에서</span> 잘<span class="hps"> 보이는</span> <span class="atn hps">웹 사이트를 개발</span><span>하고</span> <span class="hps">제공되는</span> <span class="atn hps">새로운 가능성</span><span>을</span> <span class="atn hps">활용</span><span>하는 방법에 대해서 살펴보십시오. </span><span class="hps">웹 사이트가</span> <span class="hps">다른 브라우저에서</span> <span class="hps">잘</span> <span class="hps">작동하는지</span> <span class="hps">확인하는 방법을</span> <span class="hps">배웁니다.</span></p>
diff --git a/files/ko/mozilla/mobile/viewport_meta_tag/index.html b/files/ko/mozilla/mobile/viewport_meta_tag/index.html
deleted file mode 100644
index 577fa0b5ee..0000000000
--- a/files/ko/mozilla/mobile/viewport_meta_tag/index.html
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: viewport meta 태그를 이용해 모바일 브라우저상에서 레이아웃 조종하는 법
-slug: Mozilla/Mobile/Viewport_meta_tag
-tags:
- - viewport
- - 레이아웃
- - 모바일
-translation_of: Mozilla/Mobile/Viewport_meta_tag
----
-<p>앞으로 공개될 <a class="link-https" href="https://wiki.mozilla.org/Mobile/Fennec">Mobile Firefox (Fennec)</a> 1.1 에는 개선된 <a href="/en-US/docs/Web/HTML/Element/meta#Attributes"><code>&lt;meta name="viewport"&gt;</code></a> 태그를 지원한다. 이전 버전의 Fennec에서 viewport 속성(property)으로 <code>width</code>, <code>height</code>, 그리고 <code>initial-scale</code> 가 지원되긴 했지만 iphone과 android 브라우저에 맞추어 디자인된 몇몇 사이트에서 문제가 있었다. 이제 모바일 safari 에서도 같은 속성들이 지원되며, Fennec을 고쳐서 여러가지 화면크기와 다른 해상도에서도 모바일 사이트들이 문제없이 나타나도록 했다.</p>
-
-<p>이전 touch.facebook.com:</p>
-
-<p class="figure"><img alt="05-11-fennec-meta-viewport-2.png" class="default internal" src="/@api/deki/files/4371/=05-11-fennec-meta-viewport-2.png"></p>
-
-<p class="caption">개선후 touch.facebook.com:</p>
-
-<p class="figure"><img alt="05-11-fennec-meta-viewport-1.png" class="default internal" src="/@api/deki/files/4372/=05-11-fennec-meta-viewport-1.png"></p>
-
-<p>이러한 개선점들은 최신의 <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/mobile/nightly/latest-mobile-1.9.2/">Fennec 1.1</a> 와 Maemo, Windows, Mac, or Linux를 위한 <a class="external" href="http://ftp.mozilla.org/pub/mozilla.org/mobile/nightly/latest-mobile-trunk/">trunk</a> nightly 빌드에서 볼 수 있다.</p>
-
-<h2 id="배경설명">배경설명</h2>
-
-<p>Fenec과 같은 모바일 브라우저들은 뷰포트(viewport)로 알려진 가상 "window"상에 페이지를 렌더링하는데, 보통의 경우 스크린 보다 폭이 넓어 모든 페이지 레이아웃을 억지로 작은 화면에 축소할 필요가 없다. (레이아웃을 축소할 경우 모바일 사이트로 만들지 않은 사이트들은 대개 엉망이 되게 마련이다.) 사용자들은 화면을 움직이거나 줌 기능을 이용해 페이지의 보이지 않는 부분들을 볼 수 있다.</p>
-
-<p>모바일 Safari는 "viewport meta" 태그를 도입해서 웹 개발자들이 뷰포트의 크기와 스케일을 조정할 수 있게 했고, 웹 표준은 아니지만 많은 다른 모바일 브라우저들도 이 태그를 이제 지원한다. 애플의 <a href="http://developer.apple.com/safari/library/documentatio">문서</a>를 통해 이 태그의 사용법을 자세히 알 수 있기는 하지만 Fenec내에서 정확히 어떻게 구현해야 할 것인가에 대해 상당한 연구가 진행되어야 했다. 예를 들어 사파리의 문서에는 페이지 컨텐트를 "comma-delimited list"라고 쓰고 있는데, 현존하는 브라우저와 웹페이지는 comma, semicolon, 그리고 space의 다양한 조합을 사용한다.</p>
-
-<p>다양한 브라우저내의 뷰포트에 대해 더 배우고 싶으면 quirksmode.org에 있는 <a class="external" href="http://www.quirksmode.org/mobile/viewports2.html" title="http://www.quirksmode.org/mobile/viewports2.html">A Tale of Two Viewports</a> 를 보라.</p>
-
-<h2 id="뷰포트_기본">뷰포트 기본</h2>
-
-<p>모바일로 최적화된 사이트는 일반적으로 다음과 같은 태그를 포함한다:</p>
-
-<pre class="notranslate">&lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;</pre>
-
-<p><code>width </code>속성은 뷰포트의 크기를 조정한다. 특정한 숫자를 사용해 <code>width=600</code>라고 할 수도 있고 <code>device-width</code>와 같은 특정한 값을 사용할 수도 있는데, <code>device-width</code>는 100% 스케일에서 CSS 픽셀들로 계산된 화면의 폭을 의미한다. (뷰포트의 높이에 따라 크기와 위치가 변하는 요소들로 이루어진 페이지의 경우 상응하는 <code>height</code>와 <code>device-height</code> 값들이 유용하게 사용될 수 있다.)</p>
-
-<p><code>initial-scale</code> 속성은 페이지가 처음 로드될 때 줌 레벨을 조정한다. <code>maximum-scale</code>, <code>minimum-scale</code>, 그리고 <code>user-scalable</code> 속성들은 사용자가 얼마나 페이지를 줌-인, 줌-아우트 할 수 있는지를 조정한다.</p>
-
-<div class="blockIndicator warning">
-<p><code>user-scalable=no</code>를 사용하면 저시력과 같은 시각 장애를 가진 사용자에게 접근성 문제를 일으킬 수 있습니다.</p>
-</div>
-
-<h2 id="픽셀은_사실_픽셀이_아니다">픽셀은 사실 픽셀이 아니다</h2>
-
-<p>iPhone과 인기가 많은 다양한 안드로이드 폰은 3에서 4인치 (7-10센티미터) 스크린으로 320-480픽셀 (~160 dpi)로 이루어져 있다. 동일한 물리적 스크린을 갖는 Nokia N900에서 구동되는 Maemo의 파이어폭스는 480-800픽셀(~240dpi)이다. 이러한 이유로 Fennec의 최신 버전에서 보여지는 웹페이지들은 아이폰이나 안드로이드에 비해 1/3정도 작기 때문이다(실제 물리적으로). 이는 터치인터페이스에 최적화된 웹사이트에서 사용성과 가독성의 문제를 야기시킨다. Peter-Paul Koch가 이 문제에 대해 <a href="http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html">픽셀은 사실 픽셀이 아니다</a>를 작성하였다.</p>
-
-<p>Maemo 의 Fennec 1.1는 안드로이드의 웹킷기반 브라우저에 의해 각 CSS의 "픽셀"을 1.5 하드웨어 픽셀로 사용한다. 이는 <span style="font-family: courier new,andale mono,monospace; line-height: 1.5;">initial-scale=1 로 정의된 페이지를 </span><span style="line-height: 1.5;">Maemo의 </span><span style="line-height: 1.5;">Fennec과 아이폰의 사파리, 그리고 </span><a class="external" href="http://developer.android.com/guide/practices/screens_support.html#range" style="line-height: 1.5;">HDPI 와 MDPI</a> 모두의 <span style="line-height: 1.5;">안드로이드 브라우저에서 거의 동일한 물리적 사이즈로 렌더링한다는 뜻이다. 이는 </span><a class="external" href="http://www.w3.org/TR/CSS2/syndata.html#length-units" style="line-height: 1.5;">CSS 2.1 명세서</a>에 의해 아래와 같이 정의되어있다:</p>
-
-<blockquote>
-<p>만약 출력장치의 픽셀밀도가 일반적인 컴퓨터 디스플레이와 상이하게 다를경우, user agent는 반드시 픽셀값을 조절해야 한다. <span style="line-height: 1.5;">It is recommended that the pixel unit refer to the whole number of device pixels that best approximates the reference pixel. </span><span style="line-height: 1.5;">It is recommended that the reference pixel be the visual angle of one pixel on a device with a pixel density of 96dpi and a distance from the reader of an arm's length.</span><span style="line-height: 1.5;"> </span></p>
-</blockquote>
-
-<p>웹 개발자들에게 이는 세로모드에서 scale=1로 지정됐을 경우, 위에서 언급된 장치들상에서  320px이 가로로 최대가 되어야 하며,  역시 레이아웃과 이미지들도 마찬가지로 조절이 되어야 함을 의미한다. 하지만 모든 모바일 장치들이 같은 가로 값을 가지지 않는다는 점을 기억해야한다. 작성된 페이지는 가로모드뿐만 아니라, 아이패드와 안드로이드 타블렛과 같은 더 큰 장치들에서도 잘 동작되어야 한다.</p>
-
-<p>240-dpi 화면상에서, <span style="font-family: courier new,andale mono,monospace;">initial-scale=1</span>로 정의된 페이지는 Fennec과 안드로이드 웹킷에서 150%로 확대된다. 페이지의 텍스트들은 부드럽고 또렷해질것이나, 아마도 비트맵 이미지들은 최대 해상도에서 이점을 가지지 못한다. 이러한 스크린에서 또렷한 이미지를 보여주기 위해서는, 이미지나 전체적인 레이아웃을 최종 디자인의 150%(아이폰의 레티나 디스플레이와 같은 320-dpi장치들을 지원하기 위해서는 200%이다)로 작성하고, CSS나 viewport속성을 이용해 사이즈를 줄여 보여줄수도 있다.</p>
-
-<p>기본 비율은 디스플레이의 밀도에 따라 달라진다. 200dpi이하의 밀도를 갖는 디스플레이에서는 1.0이다. 200에서 300dpi사이의 장치에서는, 1.5가 된다. 300dpi이상의 장치에서는 소수점 없는 정수가 된다.(밀도/150dpi). 기본 비율은 viewport 크기가 1일때만 참이 됨을 기억하라. 그렇지 않을 경우 CSS픽셀과 장치의 픽셀간 관계는 현재의 zoom 레벨에 따라 달라진다.</p>
-
-<p><strong style="">뷰포트 너비 와 스크린 너비</strong></p>
-
-<p>많은 사이트에서 세로보기 모드로 iPhone 디스플레이에 정확하게 맞도록 뷰포트의 너비를 "width = 320, initial-scale = 1"로 설정합니다. 위에서 언급했듯이 Fennec1.0에서 특히 디스플레이가 가로 모드일때 문제가 발생했습니다. 이 문제를 해결하기 위해 Fennec 1.1은 필요한 경우 화면을 채우기 위해 뷰포트 너비를 확장합니다. 이런 현상은 Android 및 Mobile Safari의 동작과 일치하며 특히 iPad와 같은 대형 스크린 장치에 유용합니다. (Allen Pike의 iPad 사이트 용 뷰포트를 선택하여 적용해 보세요.)</p>
-
-<p>For pages that set an initial or maximum scale, this means the <code>width</code> property actually translates into a <em>minimum</em> viewport width. For example, if your layout needs at least 500 pixels of width then you can use the following markup. When the screen is more than 500 pixels wide, the browser will expand the viewport (rather than zoom in) to fit the screen:</p>
-
-<pre class="notranslate">&lt;meta name="viewport" content="width=500, initial-scale=1"&gt;</pre>
-
-<p>Fennec 1.1 also adds support for <code>minimum-scale</code>, <code>maximum-scale</code>, and <code>user-scalable</code>, with defaults and limits similar to <a class="external" href="http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html">Safari's</a>. These properties affect the initial scale and width, as well as limiting changes in zoom level.</p>
-
-<p>Mobile browsers handle orientation changes slightly differently. For example, Mobile Safari often just zooms the page when changing from portrait to landscape, instead of laying out the page as it would if originally loaded in landscape. If web developers want their scale settings to remain consistent when switching orientations on the iPhone, they must add a <code>maximum-scale</code> value to prevent this zooming, which has the sometimes-unwanted side effect of preventing users from zooming in:</p>
-
-<pre class="notranslate">&lt;meta name="viewport" content="initial-scale=1, maximum-scale=1"&gt;</pre>
-
-<p>This is not necessary in Fennec; when the device changes orientation, Fennec updates the viewport size, the page layout, and JavaScript/CSS properties like <code>device-width</code>, based on its new window dimensions.</p>
-
-<h2 id="모바일과_태블릿에_대한_일반_viewport_크기">모바일과 태블릿에 대한 일반 viewport 크기</h2>
-
-<p>If you are wanting to know what mobile and tablet devices have which viewport widths, there is a comprehensive list of <a href="http://viewportsizes.com/">모바일 및 태블릿 뷰포트 크기</a>. This gives information such as viewport width on portrait and landscape orientation as well as physical screen size, operating system and the pixel density of the device.</p>
-
-<h2 id="표준">표준</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">사양</th>
- <th scope="col">상태</th>
- <th scope="col">댓글</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('CSS3 Device', '#viewport-meta', '&lt;meta name="viewport"&gt;')}}</td>
- <td>{{Spec2('CSS3 Device')}}</td>
- <td>Non-normatively describes the Viewport META element</td>
- </tr>
- </tbody>
-</table>
-
-<p>There is clearly demand for the viewport meta tag, since it is supported by most popular mobile browsers and used by thousands of web sites. It would be good to have a true standard for web pages to control viewport properties. As the standardization process proceeds, we at Mozilla will work to make sure we can implement any changes made during standardization.</p>
diff --git a/files/ko/mozilla/participating_in_the_mozilla_project/index.html b/files/ko/mozilla/participating_in_the_mozilla_project/index.html
deleted file mode 100644
index 834c5cb808..0000000000
--- a/files/ko/mozilla/participating_in_the_mozilla_project/index.html
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: Participating in the Mozilla project
-slug: Mozilla/Participating_in_the_Mozilla_project
-translation_of: Mozilla/Participating_in_the_Mozilla_project
----
-<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">버그를 고치거나 모질라 플랫폼 코드를 개선하는 작업에 관심이 있다면, 이 곳은 여러분이 작업하는데 필요한 문서를 찾을 수 있는 곳 입니다.</p>
-<table class="mainpage-table" style="font-size: 14px; margin-bottom: 10px; margin-top: 0px; margin-right: 0px; margin-left: 0px; border-collapse: collapse; width: auto; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dotted; border-right-style: dotted; border-bottom-style: dotted; border-left-style: dotted;">
- <tbody>
- <tr>
- <td style="font-family: inherit; font-size: inherit; color: inherit; padding-top: 0px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; vertical-align: top; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dotted; border-right-style: dotted; border-bottom-style: dotted; border-left-style: dotted;">
- <h2 id="General_topics">General topics</h2>
- <dl style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/En/Developer_Guide" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/Mozilla developer guide">Mozilla developer guide</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질라 코드베이스 개선을 위한 개발 팁과 가이드.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/En/Developer_Guide/Source_Code" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/Mozilla source code">Mozilla source code</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 다운로드 또는 버전 컨트롤을 통해서 모질라 코드를 얻는 방법과 여러분이 수정한 코드를 소스 코드 트리에 포함시키는 방법에 관한 정보.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/En/Developer_Guide/Build_Instructions" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="En/Build Documentation">Build documentation</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 파이어폭스와 썬더버드 같은 모질라 프로젝트를 빌드하는 방법에 관한 정보. <em>이 페이지는 좀 더 정리를 해야할 필요가 있음.</em></dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/En/The_Mozilla_platform" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="En/The Mozilla platform">The Mozilla platform</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질라 플랫폼의 모든 API와 각 종 기술들(technologies)을 사용하는 방법에 관한 정보.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/Project:en/How_to_Help" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="Project:en/How to Help">Documenting Mozilla</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질라와 오픈 웹에 관한 새로운 문서를 적성하거나 기존의 문서 개선에 도움을 주는 방법.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/En/Debugging" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/Debugging">Debugging</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질라 코드 디버깅시, 유용한 팁과 가이드라인.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/en/QA" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/QA">Quality assurance</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 테스트와 버그 추적(tracking)에 관한 정보.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/en/Localization" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="En/Localization">Localization</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질라 프로젝트와 문서 등을 여러 언어로 번역에 필요한 참고할 문서들. </dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/en/Glossary" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="En/Glossary">Glossary</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질라 해커들이 사용하는 용어와 정의.</dd>
- </dl>
- <h2 id="Project_pages">Project pages</h2>
- <dl style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/en/Thunderbird" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/Thunderbird">Thunderbird</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질라 이메일 클라이언트</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/en/Calendar" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/Calendar">Sunbird</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질라 달력(calendar) 프로젝트</dd>
- </dl>
- </td>
- <td style="font-family: inherit; font-size: inherit; color: inherit; padding-top: 0px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; vertical-align: top; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: dotted; border-right-style: dotted; border-bottom-style: dotted; border-left-style: dotted;">
- <h2 id="Tools">Tools</h2>
- <dl style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
- <dt style="font-style: normal; font-weight: bold;">
- <a class="link-https" href="https://bugzilla.mozilla.org/" title="https://bugzilla.mozilla.org/">Bugzilla</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질라 프로젝트의 여러 이슈들을 추적하는데 사용되는 버그질라 (<a class="internal" href="/en/Bugzilla" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="En/Bugzilla">Bugzilla</a>) 데이터베이스.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="external" href="http://mxr.mozilla.org/" title="http://mxr.mozilla.org/">MXR</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 웹 상에서 모질라 소스 코드를 보거나 특정 코드를 찾는데 사용되는 프로그램.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="external" href="http://bonsai.mozilla.org/cvsqueryform.cgi" title="http://bonsai.mozilla.org/cvsqueryform.cgi">Bonsai</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 본자이(<a class="internal" href="/en/Bonsai" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="En/Bonsai">Bonsai</a>)는 누군가 소스 코드 파일을 수정했을 때, 이를 누가 수정하였는지 알려주는 프로그램.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="external" href="http://tinderbox.mozilla.org/showbuilds.cgi" title="http://tinderbox.mozilla.org/showbuilds.cgi">Tinderbox</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 틴더박스(<a class="internal" href="/en/Tinderbox" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="En/Tinderbox">Tinderbox</a>)는 소스 코드 트리가 성공적으로 빌드 되었는지 아닌지를 보여줍니다. 여러분이 현재 올바르게 빌드된 소스 코드 트리를 가지고 작업하는지 알아보기 위해서는 소스 코드를 체크인하거나 체크아웃할 때 반드시 소스 코드 트리의 상태를 확인 하세요. </dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="internal" href="/en/Crash_reporting" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/Crash reporting">Crash tracking</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 사코로(<a class="link-https" href="https://crash-reports.mozilla.com/reports" title="https://crash-reports.mozilla.com/reports">Socorro</a>)와 토크백(<a class="external" href="http://talkback-public.mozilla.org/search/start.jsp" title="http://talkback-public.mozilla.org/search/start.jsp">Talkback</a>) 충돌(crash) 보고 시스템에 관한 정보.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="external" href="http://graphs.mozilla.org/" title="http://graphs.mozilla.org/">Performance tracking</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질라 프로젝트의 성능(performance) 정보를 보세요.</dd>
- <dt style="font-style: normal; font-weight: bold;">
- <a class="external" href="http://www.mozilla.org/community/developer-forums.html" title="http://www.mozilla.org/community/developer-forums.html">Developer forums</a></dt>
- <dd style="margin-left: 0px; margin-bottom: 20px; padding-left: 16px; border-bottom-width: 1px; border-bottom-style: dashed; margin-top: 0px; margin-right: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 4px;">
- 모질자 개발 이슈들에 대한 이야기를 할 수 있는 토론 포럼의 주제별 목록</dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/mozilla/persona/bootstrapping_persona/index.html b/files/ko/mozilla/persona/bootstrapping_persona/index.html
deleted file mode 100644
index 126b3d7a43..0000000000
--- a/files/ko/mozilla/persona/bootstrapping_persona/index.html
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: Persona Hosted Services
-slug: Mozilla/Persona/Bootstrapping_Persona
-translation_of: Archive/Mozilla/Persona/Bootstrapping_Persona
----
-<p>To be truly successful and decentralized, Persona needs support from three different groups:</p>
-<ul>
- <li><strong>Web Sites</strong> must let their users sign in with Persona.</li>
- <li><strong>Web Browsers</strong> must implement the <a href="/en/DOM/navigator.id" title="navigator.id"><code>navigator.id</code></a> APIs.</li>
- <li><strong>Email Providers</strong> must become Identity Providers (IdPs).</li>
-</ul>
-<p>This creates a chicken-and-egg problem: none of these groups would significantly benefit unless there was a critical mass of users, but a distributed system can't get a critical mass of users without support from the above groups.</p>
-<p>To solve this problem, <a class="link-https" href="https://login.persona.org" rel="freelink">https://login.persona.org</a> hosts three resources:</p>
-<ol>
- <li>A fallback Identity Provider, which vouches for users whose email providers don't support Persona.</li>
- <li>A <a href="/en-US/docs/persona/Browser_compatibility" title="/en-US/docs/persona/Browser_compatibility">cross-browser</a>, JavaScript implementation of the <code><a href="/en/DOM/navigator.id" title="navigator.id">navigator.id</a></code> APIs for browsers without native support.</li>
- <li>A hosted verification API to make it easy for sites to verify user credentials.</li>
-</ol>
-<p>Together, this allows web sites to offer Persona to users regardless of browser and without email providers needing to get involved.</p>
-<p>These services are temporary, and the Persona system is designed such that they transparently and automatically drop away as native support gets added to browsers and email providers. Thus, they will become less relevant as Persona matures, and may eventually be removed all together. At that point, <a href="https://login.persona.org" rel="freelink">https://login.persona.org</a> won't feature at all in the Persona system.</p>
-<h2 id="Fallback_Identity_Provider">Fallback Identity Provider</h2>
-<p>Any domain can become an Identity Provider as long as relying parties are willing to trust the certificates issued by that domain. We expect email providers to act as an IdPs for the addresses they administer, making the user experience of Persona seamless for those users.  It allows the user to leverage their existing relationship with the email provider when authenticating at other sites.</p>
-<p>However, email providers won't become IdPs until there is significant demand from their users. In the meantime, Mozilla operates a fallback IdP at <a href="https://login.persona.org" rel="freelink">https://login.persona.org</a>. This fallback allows users to sign into sites with their existing email address, regardless of whether or not the email provider supports Persona. The fallback IdP will certify email addresses from any domain using its own authentication flow and its own password, so long as the user is able to prove control of an address by clicking a link in a verification email.</p>
-<p>Once an email provider supports Persona natively, its users will transparently begin use it instead of the fallback IdP.</p>
-<h2 id="Cross-browser_API_Library">Cross-browser API Library</h2>
-<p>For Persona to work, the user's browser must support the <a href="/en/DOM/navigator.id" title="navigator.id">navigator.id</a> API. Eventually, browsers will add native support for these APIs, but until then a <a href="/en-US/docs/persona/Browser_compatibility" title="/en-US/docs/persona/Browser_compatibility">cross-browser </a>implementation is available at <a href="https://login.persona.org/include.js" title="https://login.persona.org/include.js">https://login.persona.org/include.js</a>. By including this file, web sites can already begin using Persona. Once native implementations of the API are available, the library will automatically defer to those.</p>
-<h2 id="Remote_verification_service">Remote verification service</h2>
-<p>At <a href="https://login.persona.org" rel="freelink">https://login.persona.org</a> Mozilla hosts a <a href="/en/Persona/Remote_Verification_API" title="en/BrowserID/Remote_Verification_API">remote verification service</a> that web sites can use to verify identity assertions sent from users. This makes it simpler for web sites to support Persona as it takes care of parsing the assertion and cryptographically verifying user identities.</p>
-<p>Once the Persona data formats stabilize, verification will most likely be done locally on each site's server. This transition is especially important for user privacy, since it will make it impossible for the fallback IdP to track its users. Even with remote verification, users of native IdPs can't be tracked by that IdP.</p>
diff --git a/files/ko/mozilla/persona/browser_compatibility/index.html b/files/ko/mozilla/persona/browser_compatibility/index.html
deleted file mode 100644
index b11f987e57..0000000000
--- a/files/ko/mozilla/persona/browser_compatibility/index.html
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: Browser compatibility
-slug: Mozilla/Persona/Browser_compatibility
-translation_of: Archive/Mozilla/Persona/Browser_compatibility
----
-<h2 id="Supported_Browsers">Supported Browsers</h2>
-<p>Persona is developed, tested, and supported with the following browsers. Thanks to Persona's cross-platform JavaScript library, users do not need add-ons in order to use Persona.</p>
-<table>
- <tbody>
- <tr>
- <th colspan="3" scope="row" style="text-align: center; background-color: #d3d7cf;"><strong>Desktop Browsers</strong></th>
- </tr>
- <tr>
- <th scope="row"><strong>Internet Explorer</strong></th>
- <td colspan="2" rowspan="1" style="background-color: #8ae234;">8.0<sup>*</sup>, 9.0<sup>†</sup>, 10.0<sup>*</sup><sup>*</sup> (but see <a href="https://developer.mozilla.org/docs/persona/Browser_compatibility#Internet_Explorer_.22Compatibility_Mode.22" title="https://developer.mozilla.org/docs/persona/Browser_compatibility#Internet_Explorer_.22Compatibility_Mode.22">Compatibility Mode</a> below)</td>
- </tr>
- <tr>
- <th scope="row"><strong>Firefox</strong></th>
- <td colspan="2" style="background-color: #8ae234;">Current Stable, Beta, Aurora, Nightly, and Extended Support Releases<br>
- Previous Stable Release</td>
- </tr>
- <tr>
- <th scope="row"><strong>Chrome</strong></th>
- <td colspan="2" style="background-color: #8ae234;">Latest Stable Release</td>
- </tr>
- <tr>
- <th scope="row"><strong>Safari</strong></th>
- <td colspan="2" style="background-color: #8ae234;">Latest Stable Release</td>
- </tr>
- <tr>
- <th scope="row"><strong>Opera</strong></th>
- <td colspan="2" style="background-color: #8ae234;">Latest Stable Release<sup>‡</sup></td>
- </tr>
- <tr>
- <th colspan="3" scope="row" style="text-align: center; background-color: #d3d7cf;"><strong>iOS Browsers</strong></th>
- </tr>
- <tr>
- <th scope="row"><strong>Mobile Safari</strong></th>
- <td colspan="2" rowspan="1" style="background-color: #8ae234;">iOS 5.x — 6.x</td>
- </tr>
- <tr>
- <th colspan="3" scope="row" style="text-align: center; background-color: #d3d7cf;"><strong>Android Browsers</strong></th>
- </tr>
- <tr>
- <th scope="row"><strong>Default Browser</strong></th>
- <td colspan="2" rowspan="1" style="background-color: #8ae234;">2.2 — 4.x</td>
- </tr>
- <tr>
- <th scope="row"><strong>Firefox</strong></th>
- <td colspan="2" style="background-color: #8ae234;">Current Stable, Beta, Aurora, and Nightly Releases<br>
- Previous Stable Release</td>
- </tr>
- <tr>
- <th scope="row"><strong>Chrome</strong></th>
- <td colspan="2" style="background-color: #8ae234;">Latest Stable Release</td>
- </tr>
- </tbody>
-</table>
-<p><sup>*</sup>: For Windows XP. <sup>†</sup>: For Windows Vista and Windows 7. <sup>*</sup><sup>*</sup>Windows 8.<sup>  </sup><sup>‡</sup>: As time allows.</p>
-<h2 id="Unsupported_Browsers">Unsupported Browsers</h2>
-<ul>
- <li>Internet Explorer versions 6.0 and 7.0 are not supported. Users will be prompted to upgrade their browser. Also see the section below on <a href="https://developer.mozilla.org/docs/persona/Browser_compatibility#Internet_Explorer_.22Compatibility_Mode.22" title="https://developer.mozilla.org/docs/persona/Browser_compatibility#Internet_Explorer_.22Compatibility_Mode.22">IE "Compatibility Mode"</a>.</li>
- <li>Google Chrome Frame is not supported and will not function. Support may be added later (<a href="https://github.com/mozilla/browserid/issues/796" title="https://github.com/mozilla/browserid/issues/796">Issue #796</a>).</li>
- <li>Third party browsers on iOS are not supported and will not function. Support may be added later (<a href="https://github.com/mozilla/browserid/issues/2034" title="https://github.com/mozilla/browserid/issues/2034">Issue #2034</a>).</li>
-</ul>
-<h2 id="Internet_Explorer_Compatibility_Mode">Internet Explorer "Compatibility Mode"</h2>
-<p>From version 8.0 onwards Internet Explorer supports a feature called Compatibility Mode, in which the browser may be instructed to emulate a pre-8.0 version when rendering a page. This feature may be controlled in three different ways</p>
-<ol>
- <li>as a local setting in the browser</li>
- <li>based on the presence and value of the <a href="https://developer.mozilla.org/docs/Quirks_Mode_and_Standards_Mode" title="https://developer.mozilla.org/docs/Quirks_Mode_and_Standards_Mode">DOCTYPE</a> declaration in the page</li>
- <li>as an instruction sent from the site, using the <a href="http://msdn.microsoft.com/library/cc288325%28v=vs.85%29.aspx" title="http://msdn.microsoft.com/library/cc288325%28v=vs.85%29.aspx">"X-UA-Compatible"</a> header either as an HTTP header or as a <a href="https://developer.mozilla.org/docs/HTML/Element/meta" title="https://developer.mozilla.org/docs/HTML/Element/meta"><code>&lt;meta&gt;</code></a> tag in the page. This method overrides the other two.</li>
-</ol>
-<p>Because versions of Internet Explorer earlier than 8.0 are not supported by Persona, any version of Internet Explorer which is configured to emulate a pre-8.0 version will also not function with Persona. This is typically for one of the following reasons:</p>
-<ul>
- <li>your site is using "X-UA-Compatible" to explicitly instruct the browser to emulate a pre-8.0 version</li>
- <li>your site's pages omit the DOCTYPE, do not have the DOCTYPE as the first line of the page, or set the browser to quirks mode, and your site is not setting "X-UA-Compatible" to IE version 8.0 or higher</li>
- <li>the browser is locally configured to use a pre-8.0 Compatibility Mode, and your site is not overriding this by setting "X-UA-Compatible" to IE version 8.0 or higher</li>
-</ul>
-<p>For more information, see <a href="https://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx?Redirected=true" title="https://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx?Redirected=true">"Understanding Compatibility Modes in Internet Explorer 8"</a> and <a href="http://hsivonen.iki.fi/doctype/index.html#ie8" title="http://hsivonen.iki.fi/doctype/index.html#ie8">"IE8 and IE9 Complications"</a>.</p>
-<h2 id="Other_Browsers">Other Browsers</h2>
-<p>Despite not being explicitly supported, any browser that includes both {{ domxref("window.postMessage()") }} and {{ domxref("Storage", "localStorage") }} should work. These APIs have been available in all major browsers since March 2010.</p>
-<h2 id="Known_Issues">Known Issues</h2>
-<ul>
- <li>Browsers must accept third party cookies for full functionality (<a href="https://github.com/mozilla/browserid/issues/1352" title="https://github.com/mozilla/browserid/issues/1352">Issue #1352</a>).</li>
- <li>Android 2.x users without a default browser selected may be unable to log in (<a href="https://github.com/mozilla/browserid/issues/1854" title="https://github.com/mozilla/browserid/issues/1854">Issue #1854</a>).</li>
-</ul>
diff --git a/files/ko/mozilla/persona/index.html b/files/ko/mozilla/persona/index.html
deleted file mode 100644
index 5b48646237..0000000000
--- a/files/ko/mozilla/persona/index.html
+++ /dev/null
@@ -1,137 +0,0 @@
----
-title: Persona
-slug: Mozilla/Persona
-tags:
- - Persona
-translation_of: Archive/Mozilla/Persona
----
-<div class="callout-box">
-<p><strong>연락 및 도움을 얻고 싶다면!</strong></p>
-
-<p><a class="external" href="http://identity.mozilla.com/" title="http://identity.mozilla.com/">블로그</a>를 확인하거나, <a class="link-https" href="https://lists.mozilla.org/listinfo/dev-identity" title="https://lists.mozilla.org/listinfo/dev-identity">메일링 리스트</a>에 가입하거나, <a class="link-https" href="https://wiki.mozilla.org/IRC" title="https://wiki.mozilla.org/IRC">IRC</a>에서 <a class="link-irc" href="irc://irc.mozilla.org/identity" title="irc://irc.mozilla.org/identity"><u><font color="#0066cc">#identity</font></u></a>를 찾아보세요.</p>
-</div>
-
-<p><a class="link-https" href="https://www.mozilla.org/en-US/persona/" title="https://www.mozilla.org/en-US/persona/">Mozilla Persona</a>는 웹을 위한 크로스-브라우저 로그인 시스템으로, 쉽고 알맞은 사용이 가능합니다. Persona는 <a href="https://developer.mozilla.org/ko/docs/persona/Browser_compatibility">모든 주요 브라우저</a>에서 작동하며, <a href="https://developer.mozilla.org/ko/docs/Persona/Quick_Setup">오늘 당장 시작할 수 있습니다.</a></p>
-
-<p>왜 우리와 우리의 사이트가 Persona를 사용해야 합니까?</p>
-
-<ol>
- <li><strong>Persona는 사이트별 암호에 대한 </strong>사용자의 생성, 관리, 안전하게 관리하는 부담을 사용자와 웹사이트로부터<strong> 완전히 제거합니다.</strong></li>
- <li><strong>Persona는 사용이 간편합니다.</strong> 두 번의 클릭 만으로도 Persona 사용자는 <a href="http://voo.st" title="http://voo.st">Voost</a>나 <a href="http://crossword.thetimes.co.uk/" title="http://crossword.thetimes.co.uk/">The Times Crossword</a>와 같은 사이트에 새로운 계정을 생성하지 않고도 로그인할 수 있습니다.</li>
- <li><strong>Persona는 쉽게 구현할 수 있습니다</strong><strong>.</strong> 개발자는 반나절만에 Persona를 사이트에 추가할 수 있습니다.</li>
- <li>무엇보다도, <strong>변경 불가능이 없습니다</strong>. 개발자는 모든 사용자의 확인 된 E-Mail 주소를 받고, 사용자는 Persona에 어떠한 E-Mail 주소도 사용할 수 있습니다.</li>
-</ol>
-
-<p>여기에 더해, Persona는 점점 나아지고 있습니다: Persona는 공개된 분산프로트콜로 제작되었으며, 직접 브라우저와 통합할 수 있으며 이메일 제공자가 네이티브 지원을 할 수 있도록 합니다. Persona를 사용한 사이트들은 오늘날 코드를 전혀 바꾸지 않아도 자동적으로 UX가 개선됩니다.</p>
-
-<p>시작하기 위해 읽어보세요!</p>
-
-<div class="note"><strong>노트:</strong> Persona는 개발 중입니다. <a class="external" href="http://identity.mozilla.com/" title="http://identity.mozilla.com/">블로그</a>로부터 새로운 기능에 대해 알아보거나, <a class="link-https" href="https://lists.mozilla.org/listinfo/dev-identity" title="https://lists.mozilla.org/listinfo/dev-identity">메일링 리스트</a>에 가입하여 여러분의 의견을 피드백 해주세요!</div>
-
-<h2 id="사이트에서_Persona_사용하기">사이트에서 Persona 사용하기</h2>
-
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h3 id="시작하기">시작하기</h3>
-
- <dl>
- <dt><a href="/ko/docs/Persona/Why_Persona" title="ko/Persona/Why_Persona">왜 Persona를 사용해야 합니까?</a></dt>
- <dd>여러분의 사이트에 Persona를 지원해야 하는지, 그리고 어떻게 다른 ID와 인증 시스템이 다른지 비교해보십시오.</dd>
- <dt><a href="/en/Persona/Quick_Setup" title="BrowserID/Quick setup">빠른 설치</a></dt>
- <dd>여러분의 웹 사이트에 Persona를 빠르게 추가하는 방법을 알아보세요.</dd>
- </dl>
- </td>
- <td>
- <h3 id="Persona_API_레퍼런스">Persona API 레퍼런스</h3>
-
- <p><a href="/en/DOM/navigator.id" title="navigator.id">navigator.id API 레퍼런스</a></p>
-
- <dl>
- <dd>웹 개발자가 Persona를 사이트에 추가할 수 있는 <code>navigator.id</code> 객체를 위한 레퍼런스입니다.</dd>
- <dt><a href="/en/Persona/Remote_Verification_API" title="en/BrowserID/Remote_Verification_API">인증 API 레퍼런스</a></dt>
- <dd>원격 인증 API에 대한 레퍼런스를 아래 링크에서 제공하고 있습니다.</dd>
- <dd><code><a href="https://verifier.login.persona.org/verify">https://verifier.login.persona.org/verify</a></code></dd>
- </dl>
- </td>
- </tr>
- <tr>
- <td>
- <h3 id="가이드">가이드</h3>
-
- <dl>
- <dt><a href="/en/Persona/Security_Considerations" title="BrowserID/Security considerations">보안 고려 사항</a></dt>
- <dd>따라하기와 기술은 여러분의 Persona 개발을 안전하게 만듭니다.</dd>
- <dt><a href="/en/Persona/Browser_compatibility" title="/Browser_compatibility">브라우저 호환성</a></dt>
- <dd>브라우저의 Persona 지원에 대해 자세히 알아보세요.</dd>
- <dt><a href="/en/Persona/Internationalization" title="/Internationalization">국제화</a></dt>
- <dd>다른 언어에서는 어떻게 Persona를 관리하는지 알아보세요.</dd>
- <dt><a href="https://developer.mozilla.org/en-US/docs/Persona/The_implementor_s_guide">운영자 가이드</a></dt>
- <dd>Persona에 도움을 보탠 사이트에서 제공하는 팁을 알아보세요.</dd>
- </dl>
- </td>
- <td>
- <h3 id="리소스">리소스</h3>
-
- <dl>
- <dt><a class="link-https" href="https://github.com/mozilla/browserid/wiki/Persona-Libraries" title="https://github.com/mozilla/browserid/wiki/BrowserID-Libraries">라이브러리와 플러그인</a></dt>
- <dd>당신이 가장 선호하는 프로그래밍 언어, 웹 프레임워크, 블로그 또는 컨텐츠 관리 시스템(CMS)의 드롭인 라이브러리를 찾아보세요.</dd>
- <dt><a class="link-https" href="https://github.com/mozilla/browserid-cookbook" title="https://github.com/mozilla/browserid-cookbook">Persona 설명서</a></dt>
- <dd>Persona 사이트를 위한 예제 소스 코드입니다. C# (MVC3), PHP, Node.JS와 그 외에 대한 미리보기를 포함합니다.</dd>
- <dt> </dt>
- <dt><a href="https://developer.mozilla.org/ko/Persona/User_interface_guidelines">UI 가이드라인</a></dt>
- <dd>사이트 이용자들에게 어떻게 Persona 로그인 시스템을 선사할 수 있는 지 담겨있습니다.</dd>
- <dd> </dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p> </p>
-
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 id="ID_제공에_대한_정보">ID 제공에 대한 정보</h2>
-
- <p>만약 여러분이 E-Mail 제공 업체 또는 다른 ID 제공 서비스라면 Persona ID 제공자에 대해 링크를 통해 익혀보세요.</p>
-
- <dl>
- <dt><a href="/en-US/docs/Persona/Identity_Provider_Overview" title="IdP">IdP 개요</a></dt>
- <dd>Persona ID 제공자의 고수준 보기.</dd>
- <dt><a href="/en/Persona/Implementing_a_Persona_IdP" title="Guide to Implementing a Persona IdP">IdP 구현</a></dt>
- <dd>IdP에 대해 기술적으로 세세한 가이드입니다.</dd>
- <dt><a href="/en-US/Persona/IdP_Development_tips" title="Developer tips">개발 팁</a></dt>
- <dd>A set of tips and tricks useful while developing a new Identity Provider.</dd>
- <dt><a href="/en-US/docs/Persona/.well-known-browserid" title="https://developer.mozilla.org/en-US/docs/Persona/.well-known-browserid">.well-known/browserid</a></dt>
- <dd>IdP가 광고를 사용할 경우 프로토콜에 대한 지원과 <code>.well-known/browserid</code> 파일에 대한 목적과 구조에 대한 개요입니다.</dd>
- </dl>
- </td>
- <td>
- <h2 id="Persona_프로젝트">Persona 프로젝트</h2>
-
- <dl>
- <dt><a href="/en/Persona/Glossary" title="navigator.id">어휘</a></dt>
- <dd>BrowserID와 Persona의 용어 정의입니다.</dd>
- <dt><a href="/en/Persona/FAQ" title="en/BrowserID/FAQ">FAQ</a></dt>
- <dd>일반적인 질문에 대한 답변입니다.</dd>
- <dt><a href="/en/Persona/Protocol_Overview" title="BrowserID/Protocol overview">프로토콜 개요</a></dt>
- <dd>기본적인 BrowserID 프로토콜의 중간 수준 기술 개요입니다.</dd>
- <dt><a href="/en/persona/Crypto" title="MDN">암호화</a></dt>
- <dd>Persona와 BrowserID에 대한 암호화 개념을 살펴봅니다.</dd>
- <dt><a class="link-https" href="https://github.com/mozilla/id-specs/blob/master/browserid/index.md" title="https://github.com/mozilla/id-specs/blob/master/browserid/index.md">명세</a></dt>
- <dd>세부적인 기술은 여기에 있습니다.</dd>
- <dt><a href="/Persona/Bootstrapping_Persona" title="en/BrowserID/Bootstrapping_BrowserID">Persona 웹 사이트</a></dt>
- <dd>To get Persona going, we're hosting three services at <a class="link-https" href="https://login.persona.org" rel="freelink">https://login.persona.org</a>: a fallback Identity Provider, a portable implementation of the {{ domxref("navigator.id") }} APIs, and an identity assertion verification service.</dd>
- <dt><a href="https://github.com/mozilla/browserid">Persona</a> 소스코드</dt>
- <dd>Persona의 소스코드를 GitHub에서 찾으실 수 있습니다!</dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p> </p>
diff --git a/files/ko/mozilla/persona/quick_setup/index.html b/files/ko/mozilla/persona/quick_setup/index.html
deleted file mode 100644
index d39d67820f..0000000000
--- a/files/ko/mozilla/persona/quick_setup/index.html
+++ /dev/null
@@ -1,248 +0,0 @@
----
-title: 빠른 시작
-slug: Mozilla/Persona/Quick_Setup
-translation_of: Archive/Mozilla/Persona/Quick_Setup
----
-<p>5가지 단계를 통해 Persona 로그인 시스템을 여러분의 사이트에 추가할 수 있습니다.:</p>
-
-<ol>
- <li>페이지에 Persona 자바스크립트 라이브러리를 포함시킵니다.</li>
- <li>"로그인", "로그아웃"버튼을 추가합니다</li>
- <li>Watch for login and logout actions.</li>
- <li>이용자의 신원을 검증합니다.</li>
- <li>가장 잘 된 연습을 다시 재연합니다..</li>
-</ol>
-
-<p>여러분은 시작한 지 반나절 만에 작동하도록 할 수 있을 것이지만, 먼저 해야 할 것이 있습니다: 만약 여러분이 Persona를 여러분의 사이트에 사용하고자 한다면, 조금 기다린 후 <a href="https://mail.mozilla.org/listinfo/persona-notices">Persona notices</a> 메일링 리스트에 가입해주세요. It’s extremely low traffic, only being used to announce changes or security issues which might adversely impact your site.</p>
-
-<h2 id="1단계_Persona_라이브러리_추가하기">1단계: Persona 라이브러리 추가하기</h2>
-
-<p>Persona는 어느 브라우저에서나 작동되도록 설계되었으며 <a href="https://developer.mozilla.org/docs/persona/Browser_compatibility">모든 주요 웹브라우저들과 모바일 브라우저</a>에서 작동합니다.</p>
-
-<p>In the future we expect browsers to provide native support for Persona, but in the meantime we provide a JavaScript library that fully implements the user interface and client-side part of the protocol. By including this library, your users will be able to sign in with Persona whether or not their browser has native support.</p>
-
-<p>Once this library is loaded in your page, the Persona functions you need ({{ domxref("navigator.id.watch()", "watch()") }}, {{ domxref("navigator.id.request()", "request()") }}, and {{ domxref("navigator.id.logout()", "logout()") }}) will be available in the global <code>navigator.id</code> object.</p>
-
-<p>To include the Persona JavaScript library, place this <code>script</code> tag at the bottom of the page body:</p>
-
-<pre class="brush: html;">&lt;script src="https://login.persona.org/include.js"&gt;&lt;/script&gt;
-</pre>
-
-<p>You <strong>must</strong> include this on every page which uses {{ domxref("navigator.id") }} functions. Because Persona is still in development, you should not self-host the <code>include.js</code> file.</p>
-
-<h3 id="Suppressing_Compatibility_Mode">Suppressing Compatibility Mode</h3>
-
-<p>You should also make sure users of Internet Explorer can't use Compatibility Mode, as this will break Persona. To do this:</p>
-
-<ul>
- <li>either include <code>&lt;meta http-equiv="X-UA-Compatible" content="IE=Edge"&gt;</code> on your page, before any script elements</li>
- <li>or set the following HTTP header on your page: <code>X-UA-Compatible: IE=Edge</code>.</li>
-</ul>
-
-<p>For more information, see the notes in <a href="/en-US/docs/persona/Browser_compatibility#Internet_Explorer_.22Compatibility_Mode.22" title="/en-US/docs/persona/Browser_compatibility#Internet_Explorer_.22Compatibility_Mode.22">IE Compatibility Mode</a> and <a href="http://hsivonen.iki.fi/doctype/index.html#ie8" title="http://hsivonen.iki.fi/doctype/index.html#ie8">"IE8 and IE9 Complications"</a>.</p>
-
-<h2 id="Step_2_Add_login_and_logout_buttons">Step 2: Add login and logout buttons</h2>
-
-<p>Because Persona is designed as a DOM API, you must call functions when a user clicks a login or logout button on your site. To open the Persona dialog and prompt the user to log in, you should invoke {{ domxref("navigator.id.request()") }}. For logout, invoke {{ domxref("navigator.id.logout()") }}. Note, the call to {{ domxref("navigator.id.logout()", "logout()") }} <em>must</em> be made in the click handler of the logout button.</p>
-
-<p>For example:</p>
-
-<pre class="brush: js;">var signinLink = document.getElementById('signin');
-if (signinLink) {
- signinLink.onclick = function() { navigator.id.request(); };
-}
-
-var signoutLink = document.getElementById('signout');
-if (signoutLink) {
- signoutLink.onclick = function() { navigator.id.logout(); };
-}
-</pre>
-
-<p>What should those buttons look like? Check out our <a href="https://developer.mozilla.org/docs/persona/branding">Branding Resources</a> page for premade images and CSS-based buttons!</p>
-
-<h2 id="Step_3_Watch_for_login_and_logout_actions">Step 3: Watch for login and logout actions</h2>
-
-<p>For Persona to function, it must be told what to do when a user logs in or out. This is done by calling the {{ domxref("navigator.id.watch()") }} function and supplying three parameters:</p>
-
-<ol>
- <li>
- <p>The email address of the user currently logged into your site from this computer, or <code>null</code> if no one is logged in. For example, you might examine the browser's cookies to determine who is signed in.</p>
- </li>
- <li>
- <p>A function to invoke when an <code>onlogin</code> action is triggered. This function is passed a single parameter, an “identity assertion,” which must be verified.</p>
- </li>
- <li>
- <p>A function to invoke when an <code>onlogout</code> action is triggered. This function is not passed any parameters.</p>
- </li>
-</ol>
-
-<div class="note style-wrap">
-<p><strong>Note:</strong> You must always include both <code>onlogin</code> and <code>onlogout</code> when you call {{ domxref("navigator.id.watch()") }}.</p>
-</div>
-
-<p>For example, if you currently think Bob is logged into your site, you might do this:</p>
-
-<pre class="brush: js;">var currentUser = 'bob@example.com';
-
-navigator.id.watch({
- loggedInUser: currentUser,
- onlogin: function(assertion) {
- // A user has logged in! Here you need to:
- // 1. Send the assertion to your backend for verification and to create a session.
- // 2. Update your UI.
- $.ajax({ /* &lt;-- This example uses jQuery, but you can use whatever you'd like */
- type: 'POST',
- url: '/auth/login', // This is a URL on your website.
- data: {assertion: assertion},
- success: function(res, status, xhr) { window.location.reload(); },
- error: function(xhr, status, err) {
- navigator.id.logout();
- alert("Login failure: " + err);
- }
- });
- },
- onlogout: function() {
- // A user has logged out! Here you need to:
- // Tear down the user's session by redirecting the user or making a call to your backend.
- // Also, make sure loggedInUser will get set to null on the next page load.
- // (That's a literal JavaScript null. Not false, 0, or undefined. null.)
- $.ajax({
- type: 'POST',
- url: '/auth/logout', // This is a URL on your website.
- success: function(res, status, xhr) { window.location.reload(); },
- error: function(xhr, status, err) { alert("Logout failure: " + err); }
- });
- }
-});
-</pre>
-
-<p>In this example, both <code>onlogin</code> and <code>onlogout</code> are implemented by making an asynchronous <code>POST</code> request to your site’s backend. The backend then logs the user in or out, usually by setting or deleting information in a session cookie. Then, if everything checks out, the page reloads to take into account the new login state.</p>
-
-<p>Note that if the identity assertion can't be verified, you should call {{ domxref("navigator.id.logout()") }}: this has the effect of telling Persona that no one is currently logged in. If you don't do this, then Persona may immediately call onlogin again with the same assertion, and this can lead to an <a href="/en-US/docs/Persona/The_implementor_s_guide/Call_logout()_after_a_failed_login" title="/en-US/docs/Persona/The_implementor_s_guide/Call_logout()_after_a_failed_login">endless loop of failed logins</a>.</p>
-
-<p>You can, of course, use AJAX to implement this without reloading or redirecting, but that’s beyond the scope of this tutorial.</p>
-
-<p>Here is another example, this time not using jQuery.</p>
-
-<pre class="brush: js;">function simpleXhrSentinel(xhr) {
- return function() {
- if (xhr.readyState == 4) {
- if (xhr.status == 200){
- // reload page to reflect new login state
- window.location.reload();
- }
- else {
- navigator.id.logout();
- alert("XMLHttpRequest error: " + xhr.status);
- }
- }
- }
- }
-
-function verifyAssertion(assertion) {
- // Your backend must return HTTP status code 200 to indicate successful
- // verification of user's email address and it must arrange for the binding
- // of currentUser to said address when the page is reloaded
- var xhr = new XMLHttpRequest();
- xhr.open("POST", "/xhr/sign-in", true);
-    // see http://www.openjs.com/articles/ajax_xmlhttp_using_post.php
-    var param = "assertion="+assertion;
-    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
-    xhr.setRequestHeader("Content-length", param.length);
-    xhr.setRequestHeader("Connection", "close");
-    xhr.send(param); // for verification by your backend
-
- xhr.onreadystatechange = simpleXhrSentinel(xhr); }
-
-function signoutUser() {
- // Your backend must return HTTP status code 200 to indicate successful
- // sign out (usually the resetting of one or more session variables) and
- // it must arrange for the binding of currentUser to 'null' when the page
- // is reloaded
- var xhr = new XMLHttpRequest();
- xhr.open("GET", "/xhr/sign-out", true);
- xhr.send(null);
- xhr.onreadystatechange = simpleXhrSentinel(xhr); }
-
-// Go!
-navigator.id.watch( {
- loggedInUser: currentUser,
- onlogin: verifyAssertion,
- onlogout: signoutUser } );
-</pre>
-
-<p>You <strong>must</strong> call <code>navigator.id.watch()</code> on every page with a login or logout button. To support Persona enhancements like automatic login and global logout for your users, you <strong>should</strong> call this function on every page of your site.</p>
-
-<p>Persona will compare the email address you've passed into <code>loggedInUser</code> with its own knowledge of whether a user is currently logged in, and who they are. If these don't match, it may automatically invoke <code>onlogin</code> or <code>onlogout</code> on page load.</p>
-
-<p> </p>
-
-<h2 id="Step_4_Verify_the_user’s_credentials">Step 4: Verify the user’s credentials</h2>
-
-<p>Instead of passwords, Persona uses “identity assertions,” which are kind of like single-use, single-site passwords combined with the user’s email address. When a user wants to log in, your <code>onlogin</code> callback will be invoked with an assertion from that user. Before you can log them in, you must verify that the assertion is valid.</p>
-
-<p>It’s <em>extremely important</em> that you verify the assertion on your server, and not in JavaScript running on the user’s browser, since that would be easy to forge. The example above handed off the assertion to the site’s backend by using jQuery’s <code>$.ajax()</code> helper to <code>POST</code> it to <code>/auth/login</code>.</p>
-
-<p>Once your server has an assertion, how do you verify it? The easiest way is to use a helper service provided by Mozilla. Simply <code>POST</code> the assertion to <code>https://verifier.login.persona.org/verify</code> with two parameters:</p>
-
-<ol>
- <li><code>assertion</code>: The identity assertion provided by the user.</li>
- <li><code>audience</code>: The hostname and port of your website. You must hardcode this value in your backend; do not derive it from any data supplied by the user.</li>
-</ol>
-
-<p>For example, if you’re <code>example.com</code>, you can use the command line to test an assertion with:</p>
-
-<pre class="brush: bash;">$ curl -d "assertion=&lt;ASSERTION&gt;&amp;audience=https://example.com:443" "https://verifier.login.persona.org/verify"
-</pre>
-
-<p>If it’s valid, you’ll get a JSON response like this:</p>
-
-<pre class="brush: js;">{
- "status": "okay",
- "email": "bob@eyedee.me",
- "audience": "https://example.com:443",
- "expires": 1308859352261,
- "issuer": "eyedee.me"
-}
-</pre>
-
-<p>You can learn more about the verification service by reading <a href="https://developer.mozilla.org/en-US/docs/BrowserID/Remote_Verification_API">The Verification Service API</a>. An example <code>/auth/login</code> implementation, using <a href="http://python.org/">Python</a>, the <a href="http://flask.pocoo.org/">Flask</a> web framework, and the <a href="http://python-requests.org">Requests</a> HTTP library might look like this:</p>
-
-<pre class="brush: python;">@app.route('/auth/login', methods=['POST'])
-def login():
- # The request has to have an assertion for us to verify
- if 'assertion' not in request.form:
- abort(400)
-
- # Send the assertion to Mozilla's verifier service.
- data = {'assertion': request.form['assertion'], 'audience': 'https://example.com:443'}
- resp = requests.post('https://verifier.login.persona.org/verify', data=data, verify=True)
-
- # Did the verifier respond?
- if resp.ok:
- # Parse the response
- verification_data = resp.json()
-
- # Check if the assertion was valid
- if verification_data['status'] == 'okay':
- # Log the user in by setting a secure session cookie
- session.update({'email': verification_data['email']})
- return 'You are logged in'
-
- # Oops, something failed. Abort.
- abort(500)
-</pre>
-
-<p>For examples of how to use Persona in other languages, have a look at the <a href="https://github.com/mozilla/browserid-cookbook" title="https://github.com/mozilla/browserid-cookbook">cookbook</a>.</p>
-
-<p>The session management is probably very similar to your existing login system. The first big change is in verifying the user’s identity by checking an assertion instead of checking a password. The other big change is ensuring that the user’s email address is available for use as the <code>loggedInUser</code> parameter to {{ domxref("navigator.id.watch()") }}.</p>
-
-<p>Logout is simple: you just need to remove the user’s session cookie.</p>
-
-<h2 id="Step_5_Review_best_practices">Step 5: Review best practices</h2>
-
-<p>Once everything works and you’ve successfully logged into and out of your site, you should take a moment to review <a href="https://developer.mozilla.org/docs/BrowserID/Security_Considerations">best practices</a> for using Persona safely and securely.</p>
-
-<p>If you're making a production site, have a look at the <a href="/en-US/docs/Persona/The_implementor_s_guide" title="/en-US/docs/Persona/The_implementor_s_guide">implementor's guide</a>, where we've collected tips for adding the kind of features often needed in real-world login systems.</p>
-
-<p>Lastly, don’t forget to sign up for the <a href="https://mail.mozilla.org/listinfo/persona-notices">Persona notices</a> mailing list so you’re notified of any security issues or backwards incompatible changes to the Persona API. The list is extremely low traffic: it’s only used to announce changes which may adversely impact your site.</p>
diff --git a/files/ko/mozilla/persona/user_interface_guidelines/index.html b/files/ko/mozilla/persona/user_interface_guidelines/index.html
deleted file mode 100644
index 4be5607bf0..0000000000
--- a/files/ko/mozilla/persona/user_interface_guidelines/index.html
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title: UI 가이드라인
-slug: Mozilla/Persona/User_interface_guidelines
-tags:
- - Persona
-translation_of: Archive/Mozilla/Persona/User_interface_guidelines
----
-<p>Presenting sign-in options to users without confusing them can be difficult, especially if your site offers multiple sign-in options. This article aims to provide guidance about the best way to present Persona sign-in to your users. It covers four different possible approaches, depending on the different sign-in options the website supports:</p>
-
-<ul>
- <li><a href="#persona-only">Persona 전용으로</a></li>
- <li><a href="#persona_plus_traditional">Persona + "일반 로그인"</a> (that is, sign in with a username and password stored on the site)</li>
- <li><a href="#persona_plus_federated">Persona + 1개 이상의 다른 로그인 방법</a> (OAuth 2 나 Facebook Connect 등.)</li>
- <li><a href="#persona_plus_traditional_plus_federated">Persona + "일반 로그인" + 1개이상의 다른 로그인 방법(OAuth 2)</a></li>
-</ul>
-
-<p>In each approach there are three user interface elements to consider:</p>
-
-<ul>
- <li>the Sign in/Sign up link, displayed on pages when the user is not signed in</li>
- <li>the Sign up view: the interface that appears when the user clicks "Sign up"</li>
- <li>the Sign in view: the interface that appears when the user clicks "Sign in"</li>
-</ul>
-
-<p>None of the recommendations here are mandatory.</p>
-
-<h2 id="Persona_전용으로"><a name="persona-only">Persona 전용으로</a></h2>
-
-<p>Persona가 유일한 로그인 옵션으로 제공된다면, 제공되는 경우의 수가 하나 뿐이기 때문에, 이용자의 혼란이 줄어들 것입니다., this offers the least confusing user experience, because the user has fewer choices to make.</p>
-
-<h3 id="Sign_upSign_in_link">Sign up/Sign in link</h3>
-
-<p>여러분은 그냥 "로그인 / 회원가입"이라고 표시된 링크 하나를 보여주면 됩니다. 사용자들이 어떠한 방법으로 로그인 하는 지 미리 알도록 하기 위해서, Persona 아이콘을 포함하는 것을 추천합니다.<br>
- <br>
- <img alt="" src="https://mdn.mozillademos.org/files/6773/persona-only-signin-link.png" style="display: block; height: 132px; margin-left: auto; margin-right: auto; width: 323px;"></p>
-
-<h3 id="Sign_up_view">Sign up view</h3>
-
-<p>You don't need to implement the sign up view at all, as Persona takes care of it for you.</p>
-
-<h3 id="Sign_in_view">Sign in view</h3>
-
-<p>Similarly, you don't need to implement the Sign in view, as Persona takes care of it.</p>
-
-<h2 id="Persona_일반적인_로그인_방법"><a name="persona_plus_traditional">Persona + 일반적인 로그인 방법</a></h2>
-
-<p>In this case you support Persona alongside traditional sign-in, where you ask users for a username and password which you then store yourself.</p>
-
-<h3 id="Sign_upSign_in_link_2">Sign up/Sign in link</h3>
-
-<p>You can show the text "Sign up/Sign in", with separate links for each choice:<img alt="" src="https://mdn.mozillademos.org/files/6775/persona-plus-signin-link.png" style="display: block; height: 142px; margin-left: auto; margin-right: auto; width: 296px;"></p>
-
-<h3 id="Sign_up_view_2">Sign up view</h3>
-
-<p>When a user clicks "Sign up" you'll need to offer them the choice to sign up using Persona or to create a new username and password on your site.</p>
-
-<p>In this case it's recommended that the button for the Persona option includes the Persona icon and is labeled "Email" rather than "Persona". Users don't know what "Persona" means and won't see it as a valid sign-up option:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6777/persona-plus-trad-signup.png" style="display: block; height: 387px; margin-left: auto; margin-right: auto; width: 274px;"></p>
-
-<h3 id="Sign_in_view_2">Sign in view</h3>
-
-<p>When the user clicks "Sign in" you'll offer them the choice to sign in with Persona or the account they created on your site. This can be just like the "Sign up view", except you won't include the password confirmation field:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6779/persona-plus-trad-signin.png" style="display: block; height: 349px; margin-left: auto; margin-right: auto; width: 273px;"></p>
-
-<h2 id="Persona_federated_sign-in"><a name="persona_plus_federated">Persona + federated sign-in</a></h2>
-
-<p>In this case you support Persona alongside one or more other federated sign-in options such as Facebook Connect or Google+.</p>
-
-<h3 id="Sign_upSign_in_link_3">Sign up/Sign in link</h3>
-
-<p>You can show the text "Sign up/Sign in", with separate links for each choice:<img alt="" src="https://mdn.mozillademos.org/files/6775/persona-plus-signin-link.png" style="display: block; height: 142px; margin-left: auto; margin-right: auto; width: 296px;"></p>
-
-<h3 id="Sign_up_view_3">Sign up view</h3>
-
-<p>When a user clicks "Sign up" you'll need to offer them the choice to sign up using Persona or to sign up using one of the other federated identity options.</p>
-
-<p>In this case it's recommended that the button for the Persona option includes the Persona icon and is labeled "Email" rather than "Persona". Users don't know what "Persona" means and won't see it as a valid sign-up option:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6783/persona-plus-fed-signup.png" style="display: block; height: 185px; margin-left: auto; margin-right: auto; width: 275px;"></p>
-
-<h3 id="Sign_in_view_3">Sign in view</h3>
-
-<p>When the user clicks "Sign in" you'll offer them the choice to sign in with Persona or one of the other federated sign-in options. This can be just like the "Sign up view":</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6785/persona-plus-fed-signin.png" style="display: block; height: 187px; margin-left: auto; margin-right: auto; width: 275px;"></p>
-
-<h2 id="Persona_traditional_sign-in_federated_sign-in"><a name="persona_plus_traditional_plus_federated">Persona + traditional sign-in + federated sign-in</a></h2>
-
-<p>In this case you support everything: Persona, traditional sign-in, and one or more additional federated sign-in options.</p>
-
-<h3 id="Sign_upSign_in_link_4">Sign up/Sign in link</h3>
-
-<p>You can show the text "Sign up/Sign in", with separate links for each choice:<img alt="" src="https://mdn.mozillademos.org/files/6775/persona-plus-signin-link.png" style="display: block; height: 142px; margin-left: auto; margin-right: auto; width: 296px;"></p>
-
-<h3 id="Sign_up_view_4">Sign up view</h3>
-
-<p>When a user clicks "Sign up" you'll need to offer them the choice to sign up using Persona, to create a new username and password on your site, or to sign up using one of the other federated identity options.</p>
-
-<p>In this case it's recommended that the button for the Persona option includes the Persona icon and is labeled "Email" rather than "Persona". Users don't know what "Persona" means and won't see it as a valid sign-up option:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6787/persona-plus-everything-signup.png" style="display: block; height: 411px; margin-left: auto; margin-right: auto; width: 275px;"></p>
-
-<h3 id="Sign_in_view_4">Sign in view</h3>
-
-<p>When the user clicks "Sign in" you'll offer them the choice to sign in with Persona, one of the other federated options, or the account they created on your site. This can be just like the "Sign up view", except you won't include the password confirmation field:</p>
-
-<p><img alt="" src="https://mdn.mozillademos.org/files/6789/persona-plus-everything-signin.png" style="display: block; height: 375px; margin-left: auto; margin-right: auto; width: 275px;"></p>
-
-<h2 id="More_Info">More Info</h2>
-
-<p>You can find more information about Persona's visual design in <a href="http://people.mozilla.org/~smartell/persona/" title="http://people.mozilla.org/~smartell/persona/">Sean Martell's style primer</a>.</p>
diff --git a/files/ko/mozilla/persona/why_persona/index.html b/files/ko/mozilla/persona/why_persona/index.html
deleted file mode 100644
index 7f3552c1b6..0000000000
--- a/files/ko/mozilla/persona/why_persona/index.html
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: 왜 Persona를 사용해야 합니까?
-slug: Mozilla/Persona/Why_Persona
-translation_of: Archive/Mozilla/Persona/Why_Persona
----
-<p style=""> </p>
-<p style=""><span style="line-height: inherit;">아이디와 비밀번호로 사용자 인증을 제공하는 </span><span style="line-height: inherit;">일반적인 시스템은 불안합니다. 왜냐하면 사용자는 새로운 사이트나 서비스에 가입할 때 마다 복잡한 비밀번호를 만들어서 사용하고 그것을 기억해야 하고, 모든 사이트는 저장된 비밀번호를 안전하게 보관해야 합니다. 그러나 최근 신뢰할만한 기업들 마저 사용자 정보를 위험으로부터 지켜내지 못하는 일이 눈에 띄게 증가하고 있습니다.</span></p>
-<p><span style="line-height: inherit;">Persona는 오픈되고, 분산된 웹 규모의 식별 시스템으로써 각 사이트마다 제공하는 비밀번호 인증 시스템을 대체합니다. 이 시스템은 Facebook Connect와 같이 중앙 집중식 인프라에 의존하지 않고 가용성을 제공하고, 개인 정보 보호와 관련된 결점을 보완하는 OpenID와 같은 시스템입니다. </span></p>
-<h2 id="Persona는_사이트별_비밀번호를_제거합니다">Persona는 사이트별 비밀번호를 제거합니다</h2>
-<p><span style="line-height: inherit;">Persona는 </span><span style="line-height: inherit;">사이트별 비밀번호를 입력하는 대신 사용자가 단지 두 번의 클릭으로 사이트에 로그인 할 수 있도록 간단한 방법을 제공합니다. 이것은 안전하고, 보안적이고, 공개 키 암호화 방식의 상위에서 구축되었습니다. 패스워드 대신에 사용자의 브라우져는 하나의 사이트에만 유효하고, </span><span style="line-height: inherit;">몇 분 후에 만료되는 </span><span style="line-height: inherit;">"신원 증명" 암호를 생성합니다. Persona를 사용하는 웹 사이트는 개별 비밀번호를 사용하지 않기 때문에 더 이상 비밀번호 데이터베이스의 보안적인 저장이나 잠재적 위험으로부터 벗어날 수 있습니다.</span></p>
-<p>이 <span style="line-height: inherit;">빠른 로그인 절차는 </span><span style="line-height: inherit;">사용자가 새로운 사이트에 방문 했을 때 불편함을 덜어줍니다.</span></p>
-<h2 id="Persona의_ID는_E-Mail_주소입니다">Persona의 ID는 E-Mail 주소입니다</h2>
-<p><span style="line-height: inherit;">Persona는 각종 형태의 사용자명 보다 E-Mail 주소를 ID로 사용합니다. 이것은 사용자와 개발자 모두에게 몇 가지 장점을 제공합니다.</span></p>
-<h3 id="사용자_입장에서의_장점">사용자 입장에서의 장점</h3>
-<ul>
- <li>사용자는 이미 자신의 E-Mail 주소를 알고 있습니다. OpenID를 사용할 때 혼란스러운 URL과 새로운 것을 알아야 하는 것과 다릅니다.</li>
- <li><span style="line-height: 1.5em;">E-Mail 주소는 </span><span style="font-family: 'Courier New', 'Andale Mono', monospace; line-height: normal;">someone@some-context</span><span style="line-height: 1.5em;"> 의 깔끔한 형태를 가지는데, 이 아이디어는 사용자가 </span><code style="font-size: 14px;">@work</code><span style="line-height: 1.5em;">, </span><code style="font-size: 14px;">@home</code><span style="line-height: 1.5em;">, </span><code style="font-size: 14px;">@school</code><span style="line-height: 1.5em;"> 에 따라 자신의 ID를 쉽게 구분 지을 수 있도록 합니다. 이것은 Facebook과 Google+와 같은 소셜 네트워크의 단일 계정 정책에 따른 자신의 실제 이름으로 ID를 통합하려는 트렌드와 다릅니다.</span></li>
- <li>E-Mail은 사용자 ID의 제어권을 스스로 가지거나 다른 공급자에게 양도할 수 있습니다.</li>
-</ul>
-<h3 id="개발자_입장에서의_장점">개발자 입장에서의 장점</h3>
-<ul>
- <li>E-Mail 주소는 개발자에게 사용자에게 통하는 직접적인 연락 수단을 제공합니다.</li>
- <li>대부분의 사이트는 사용자에게 E-Mail 주소를 요구합니다. Persona는 사용자가 사이트에 로그인 할 때 자동으로 E-Mail 주소를 개발자에게 제공하고, 별도의 가입 절차가 필요 없습니다.</li>
- <li>대개의 로그인 시스템은 이미 E-Mail 주소를 고유 키로 간주하고 있습니다. 이 말은 Persona에 갖힐 필요 없이 기존의 로그인 시스템과 함께 서비스 가능하다는 것을 의미합니다.</li>
-</ul>
-<p><span style="line-height: inherit;">E-Mail은 이미 셀 수 없는 공급자들로부터 수십억 개의 계정 갖추어진 완전한 분산 시스템이라는 것은 말할 필요도 없을 것입니다.</span></p>
-<h2 id="Persona는_다른_싱글-사인-온(SSO)_공급자와_어떻게_다른가" style="">Persona는 다른 싱글-사인-온(SSO) 공급자와 어떻게 다른가?</h2>
-<p><span style="line-height: inherit;">Persona는 안전하고, 보안적이고, 쉽습니다. 사용자의 개인 정보, 권한, 선택을 다른 공급자가 하지 않거나, 하지 못하는 방법으로 보호합니다.</span></p>
-<p><span style="line-height: inherit;">Facebook이나 Google+와 같은 대부분의 소셜 네트워크는 사용자에게 실명 사용을 요구하고, 하나의 계정만을 사용하도록 제한합니다. Persona는 E-Mail 주소 위에서 만들어 짐으로써 사용자가 자신의 직장, 집 그리고 학교와 같은 각기 다른 정체성을 구분할 수 있도록 허용합니다.</span></p>
-<p><span style="line-height: inherit;">Persona는 오픈되고, 분산된 시스템입니다. E-Mail 주소를 가진 누구나 Persona를 이용해 사이트에 로그인 할 수 있습니다. 뿐만 아니라 누구나 E-Mail과 같이 자신의 ID 공급자를 호스팅하거나 다른 기관에 양도할 수 있습니다. 이것이 단일 계정을 요구하는 </span><span style="line-height: inherit;">중앙 집중식 소셜 로그인 서비스와 다른 부분입니다.</span></p>
-<p><span style="line-height: inherit;">Persona는 사용자의 개인 정보를 보호하기 위해 인증 과정 중간에 사용자의 브라우저를 넣은 새로운 접근 방식을 가집니다. 브라우저는 사용자의 E-Mail 공급자로부터 자격 증명을 획득한 이후, 다시 돌아와서 웹사이트에게 자격 증명을 제공합니다. E-Mail 공급자는 사용자를 추적하지 못하지만 웹사이트는 여전히 암호화 된 자격 증명을 확인해 사용자를 식별할 수 있습니다. OpenID를 포함한 대부분의 다른 시스템은 사용자의 로그인을 허용하기 전에 사이트에 "phone home"(역주: OAuth와 같은 시스템에서 콘텐츠 공급자가 사용자 식별 정보를 서비스 공급자에게 확인하여 식별을 확인하는 방식)을 요구합니다.</span></p>
diff --git a/files/ko/mozilla/projects/emscripten/index.html b/files/ko/mozilla/projects/emscripten/index.html
deleted file mode 100644
index 9ce63c51cc..0000000000
--- a/files/ko/mozilla/projects/emscripten/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title: Emscripten
-slug: Mozilla/Projects/Emscripten
-translation_of: Mozilla/Projects/Emscripten
----
-<p><span class="seoSummary">엠스크립튼은 자바스크립트 컴파일러의 LLVM입니다. 엠스크립튼은 LLVM 바이트 코드를 받아 웹에서 동작할 수 있는 자바스크립트로 컴파일해줍니다. (예를 들어, Clang을 이용한 C/C++ 코드나 그 외의 언어로부터 생성된 LLVM 바이트 코드)</span></p>
-
-<div class="warning">
-<p><span style="font-size: 14px;"><strong>중요</strong></span>: 이 페이지는 엠스크립튼에 대한 굉장히 간략한 설명만을 다루고 있습니다. 엠스크립튼에 대해 더욱 자세히 알고 싶다면, <a href="http://kripken.github.io/emscripten-site/index.html">공식 홈페이지의 엠스크립튼 Wiki</a>에서 정보를 찾아보세요.</p>
-</div>
-
-<p>엠스크립튼을 사용하면, 당신은</p>
-
-<ul>
- <li>C나 C++ 코드를 자바스크립트로 컴파일할 수 있습니다.</li>
- <li>LLVM 바이트코드로 변환될 수 있는 다른 코드들을 자바스크립트로 컴파일할 수 있습니다.</li>
- <li>다른 언어에서의 C/C++ 런타임을 자바스크립트로 컴파일 한 후 간접적인 방법을 통해 다른 언어의 코드를 실행시킬 수 있습니다(파이썬과 루아에 대해서는 이미 테스트 되었어요)!</li>
-</ul>
-
-<p>엠스크립튼은 네이티브 코드를 웹에서 사용 가능하게 만들어줍니다. 아시다시피 웹은 표준 기반이면서, 독립적인 서로 호환 가능한 수많은 구현체들이 존재하며, PC부터 아이패드까지 모든 곳에서 동작하는 플랫폼이지요!</p>
-
-<p>엠스크립튼을 이용하면 C나 C++ 개발자들은 일일히 코드를 자바스크립트로 포팅하는 고된 작업을 할 필요가 없습니다. 아니, 아예 자바스크립트를 배울 필요도 없습니다. 웹 개발자들에게도 또한 이점이 있는데, 이미 존재하는 수많은 네이티브 유틸리티나 라이브러리들을 그들의 사이트에 사용할 수 있기 때문입니다.</p>
-
-<p>사실상 거의 모든 포팅 가능한 C나 C++ 코드베이스가 엠스크립튼을 이용하여 자바스크립트로 컴파일 될 수 있으며, 그 범위는 그래픽 렌더링이나 소리 재생, 파일 처리 등을 요구하는 고성능 게임에서부터 Qt와 같은 어플리케이션 프레임워크까지 다양합니다.</p>
-
-<p>엠스크립튼은 빠른 코드를 생성해내며, 기본적인 컴파일 결과 값은 네이티브 속도에 가까운 성능을 낼 수 있도록 고성능으로 최적화 된 자바스크립트의 서브셋인 <a href="/en-US/docs/Games/Tools/asm.js">asm.js</a> 포맷입니다.</p>
-
-<div class="note">
-<p><strong>주의</strong>: 꽤 재미있을 것 같지요? <a href="http://kripken.github.io/emscripten-site/docs/introducing_emscripten/about_emscripten.html">엠스크립튼에 대해 좀 더 읽어보고, 한번 직접 데모를 실행</a>시켜본 다음에, <a href="http://kripken.github.io/emscripten-site/docs/getting_started/index.html">어떻게 사용하는지 시작해보세요</a>.</p>
-</div>
-
-<h2 id="비슷한_주제의_다른_MDN_글">비슷한 주제의 다른 MDN 글</h2>
-
-<ul>
- <li>MDN의 <a href="/en-US/docs/Games">Games zone</a> 에서는 게임 개발과 관련하여 유용한 정보들이 있습니다. 게임 개발에서는 엠스크립튼의 사용이 꽤나 일반적이지요.</li>
- <li>MDN의 <a href="/en-US/docs/Mozilla/Projects/Emscripten/Techniques">Emscripten techniques</a> 페이지에서는 엠스크립튼과 관련한 유용한, 엠스크립튼 Wiki에 서술되지 않은 생각들을 담고 있습니다.</li>
-</ul>
diff --git a/files/ko/mozilla/projects/index.html b/files/ko/mozilla/projects/index.html
deleted file mode 100644
index c1e43934a2..0000000000
--- a/files/ko/mozilla/projects/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Projects
-slug: Mozilla/Projects
-tags:
- - Mozilla
- - NeedsContent
- - NeedsTranslation
- - Projects
- - TopicStub
-translation_of: Mozilla/Projects
----
-<p>{{ draft() }}</p>
-<p>Below you'll find links to documentation about various Mozilla projects; these are often parts of Firefox or other products, but may also be used in other projects as well.</p>
-<p>{{ LandingPageListSubpages() }}</p>
diff --git a/files/ko/mozilla/projects/l20n/index.html b/files/ko/mozilla/projects/l20n/index.html
deleted file mode 100644
index 9f4a8dcbfb..0000000000
--- a/files/ko/mozilla/projects/l20n/index.html
+++ /dev/null
@@ -1,126 +0,0 @@
----
-title: L20n
-slug: Mozilla/Projects/L20n
-translation_of: Mozilla/Projects/L20n
----
-<div class="note">
-<p><strong>일러두기</strong>: 이 문서는 아직 드래프트 단계이거나 최신 버전이 아닐 수 있습니다. 가장 최근 문서는 <a href="https://github.com/l20n/l20n.js/tree/master/docs">깃헙 문서</a>를 확인하세요.</p>
-</div>
-
-<div class="summary">L20n은 아주 간단한 코드로 여러분이 사용하는 언어의 힘을 더욱 끌어올릴 수 있는 JavaScript 지역화 프레임워크입니다.</div>
-
-<div class="column-container">
-<div class="column-half">
-<h2 id="L20n_소개">L20n 소개</h2>
-
-<p>L20n reinvents software localization. Users should be able to benefit from the entire expressive power of the natural language. L20n keeps simple things simple, and at the same time makes complex things possible.</p>
-
-<p>Through L20n, Mozilla is creating a new generation of technology that places more power in localizers' hands. <span class="seoSummary">L20n lets localizers reach higher levels of free linguistic expression by sharpening the divide between localization and application logic.</span> It allows to adapt your web application not only to languages and cultures, but also contextual data, user gender and screen dimensions.</p>
-</div>
-
-<div class="column-half">
-<h2 id="What_L20n_looks_like">What L20n looks like</h2>
-
-<p>Here is a simple, straightforward example showing an English string being provided:</p>
-
-<pre class="brush: html">&lt;brandName "Firefox"&gt;
-&lt;about "About \{{ brandName }}"&gt;</pre>
-
-<p>Here is the same string being provided in Slovenian:</p>
-
-<pre class="brush: html">&lt;brandName {
- nominative: "Firefox",
- genitive: "Firefoxa",
- dative: "Firefoxu",
- accusative: "Firefox",
- locative: "Firefoxu",
- instrumental: "Firefoxom"
-}&gt;
-&lt;about "O \{{ brandName.locative }}"&gt;</pre>
-</div>
-</div>
-
-<p> </p>
-
-<div class="column-container">
-<div class="column-third">
-<h2 class="Documentation" id="For_Developers">For Developers</h2>
-
-<p><strong>Documentation for developers wanting to implement localization functionality on their web apps using L20n.</strong></p>
-
-<dl>
- <dt>Internationalization for your web app</dt>
- <dd>First read for developers looking to use the L20n infrastructure.</dd>
- <dt><a href="/en-US/docs/L20n/HTML_Bindings">L20n's HTML bindings</a></dt>
- <dd>Tutorial on implementing L20n in your HTML code.</dd>
- <dt><a href="/en-US/docs/L20n/Javascript_API">L20n JavaScript API</a></dt>
- <dd>An API for l20n.js.</dd>
- <dt>L20n syntax cheatsheet for developers</dt>
- <dd>A simple cheatsheet to help developers as they add L20n to their localization infrastructure.</dd>
-</dl>
-</div>
-
-<div class="column-third">
-<h2 class="Documentation" id="For_Localizers">For Localizers</h2>
-
-<p><strong>Documentation for Localizers creating localized content for a project that uses L20n.</strong></p>
-
-<dl>
- <dt><a href="http://l20n.org/learn/">Learn the L20n syntax</a></dt>
- <dd>How to naturally localize applications using L20n. Complete with use cases and examples of L20n in action.</dd>
- <dt><a href="https://developer.mozilla.org/en-US/docs/L20n/Localization_Use_Cases">Localization use-cases</a></dt>
- <dd>How to naturally localize applications using L20n. Complete with use cases and examples of L20n in action.</dd>
- <dt>L20n and Translation Memory eXchange (TMX)</dt>
- <dd>How L20n impacts the Translation Memory eXchange standard for translation memory data.</dd>
- <dt>L20n syntax cheatsheet for localizers</dt>
- <dd>A simple cheatsheet to help localizers as they localize projects with L20n.</dd>
-</dl>
-</div>
-
-<div class="column-third">
-<h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Additional resources</h2>
-
-<p><strong>Some additional resources for developers and localizers involved with L20n.</strong></p>
-
-<dl>
- <dt><a href="http://www.l20n.org" title="http://www.l20n.org">L20n.org</a></dt>
- <dd>You can try L20n live in your browser on the project page.</dd>
- <dt><a href="http://l20n.github.io/tinker/" title="http://l20n.github.io/tinker/">L20n Tinker</a></dt>
- <dd>Test out your own L20n code in L20n Tinker.</dd>
- <dt><a href="https://github.com/l20n" title="https://github.com/l20n/l20n.js">GitHub</a></dt>
- <dd>Where the main code for the L20n infrastructure and design spec lives.</dd>
- <dt><a href="https://wiki.mozilla.org/L20n" title="https://wiki.mozilla.org/L20n">Wiki page</a></dt>
- <dd>Info about the project to develop L20n.</dd>
-</dl>
-</div>
-</div>
-
-<h2 id="Subnav">Subnav</h2>
-
-<ol>
- <li><a href="#" title="Documentation for developers wanting to implement localization functionality on their web apps using L20n">For Developers</a>
-
- <ol>
- <li><a href="#" title="First read for developers looking to use the L20n infrastructure">Internationalization for your web app</a></li>
- <li><a href="/en-US/docs/Mozilla/Projects/L20n/HTML_Bindings" title="Tutorial on implementing L20n in your HTML code">L20n's HTML bindings</a></li>
- <li><a href="#" title="A complete description of the use, function, and role of L20n's .lol format.">.lol file format</a></li>
- <li><a href="#" title="A simple cheatsheet to help developers as they add L20n to their localization infrastructure.">L20n syntax cheatsheet for developers</a></li>
- </ol>
- </li>
- <li><a href="#" title="Documentation for Localizers creating localized content for a project that uses L20n.">For Localizers</a>
- <ol>
- <li><a href="#" title="How to naturally localize applications using L20n. Complete with use cases and examples of L20n in action.">Learn the L20n syntax</a></li>
- <li><a href="/en-US/docs/L20n/Localization_Use_Cases">Localization use cases</a></li>
- <li><a href="#" title="How L20n impacts the Translation Memory eXchange standard for translation memory data.">L20n and Translation Memory eXchange (TMX)</a></li>
- <li><a href="#" title="A simple cheatsheet to help localizers as they localize projects with L20n.">L20n syntax cheatsheet for localizers</a></li>
- </ol>
- </li>
- <li><a href="#" title="Some additional resources for developers and localizers involved with L20n.">Additional resources</a>
- <ol>
- <li><a href="http://www.l20n.org" title="You can try L20n live in your browser on the project page">L20n.org</a></li>
- <li><a href="http://l20n.github.io/tinker/" title="Test out your own L20n code in L20n Tinker">L20n Tinker</a></li>
- <li><a href="https://github.com/l20n/l20n.js" title="Where the main code for the L20n infrastructure and language lives">L20n GitHub repo</a></li>
- <li><a href="https://wiki.mozilla.org/L20n" title="Info about the project to develop L20n">Mozilla Wiki</a></li>
- </ol>
- </li>
-</ol>
diff --git a/files/ko/mozilla/projects/psm/index.html b/files/ko/mozilla/projects/psm/index.html
deleted file mode 100644
index 962da69c8f..0000000000
--- a/files/ko/mozilla/projects/psm/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: Personal Security Manager (PSM)
-slug: Mozilla/Projects/PSM
-translation_of: Mozilla/Projects/PSM
----
-<p>Personal Security Manager (PSM)는 클라이언트 어플리케이션을 대신하여 암호화 동작을 수행하는 라이브러리 셋으로 구성되어 있습니다. 이 암호화 동작에는 SSL 연결 설정, 오브젝트 사이닝(object signing), 서명 확인(signature verification), 증명 관리(certificate management - issuance 및 revocation 포함) 및 기타 일반적인 PKI 기능이 포함됩니다.</p>
-
-<p>주 :</p>
-
-<ul>
- <li>PSM은 현재 <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions"><u><font color="#0066cc">Firefox와 같이 빌드</font></u></a>되기 때문에 별도의 빌드 지침은 존재하지 않습니다.</li>
- <li><a href="http://www-archive.mozilla.org/projects/security/pki/psm/"><u><font color="#0066cc">PSM에 관련된 문서 정보 </font></u></a></li>
-</ul>
-
-<p> </p>
diff --git a/files/ko/mozilla/qa/bug_writing_guidelines/index.html b/files/ko/mozilla/qa/bug_writing_guidelines/index.html
deleted file mode 100644
index 886539d894..0000000000
--- a/files/ko/mozilla/qa/bug_writing_guidelines/index.html
+++ /dev/null
@@ -1,177 +0,0 @@
----
-title: 버그 작성 지침
-slug: Mozilla/QA/Bug_writing_guidelines
-tags:
- - Bugzilla
- - QA
- - 버그
-translation_of: Mozilla/QA/Bug_writing_guidelines
----
-<div class="note">
-<p>이 페이지는 2014년 4분기에 모질라 QA팀의  테크니컬 리뷰를 받아야합니다.(<span style="font-size: 14.3999996185303px; line-height: 16.7999992370605px;">Ioana </span><span style="font-size: 14.3999996185303px; line-height: 16.7999992370605px;">Chiorean님이 담당합니다) QMO의 </span><a class="link-https" href="https://quality.mozilla.org/docs/bugzilla/starter-kit/how-to-write-a-proper-bug/" style="font-size: 14px; line-height: 1.5;">How to write a proper bug</a>페이지 글이 이 글로 병합되었습니다.</p>
-
-<p><strong style="font-size: 14px; line-height: 1.5;">모질라 소프트웨어를 사용하는데 도움이 필요하다면  </strong><strong style="font-size: 14.3999996185303px; line-height: 16.7999992370605px;"><a href="http://www.mozilla.org/support/">지원 페이지</a></strong><strong style="font-size: 14px; line-height: 1.5;">에서 해당 소프트웨어를 선택하시기 바랍니다. 이 페이지는 수정하면 안됩니다. 모질라의 버그 추적 시스템인 </strong><strong style="font-size: 14.3999996185303px; line-height: 16.7999992370605px;"><a class="link-https" href="https://bugzilla.mozilla.org/">Bugzilla</a>를 사용하는 방법을 배우는데에 사용해주시기 바랍니다.</strong></p>
-
-<p><span style="font-size: 14px; line-height: 1.5;">버그 리포팅이 처음이라면 유경험자에게 도움을 받아야할 수도 있습니다. </span><a href="/en-US/docs/QA" style="font-size: 14.3999996185303px; line-height: 16.7999992370605px;">QA</a><span style="font-size: 14px; line-height: 1.5;">페이지의 커뮤니티 섹션을 참고하시기 바랍니다. 파이어폭스의 버그를 리포팅하려면 </span><a href="http://irc.mozilla.org/" style="font-size: 14.3999996185303px; line-height: 16.7999992370605px;">irc.mozilla.org</a><span style="font-size: 14px; line-height: 1.5;"> 의 </span><span style="font-family: monospace; font-size: 14.3999996185303px; line-height: 16.7999992370605px;">#firefox</span><span style="font-size: 14.3999996185303px; line-height: 16.7999992370605px;"> 채널에서 도움을 받을 수도 있습니다.</span></p>
-</div>
-
-<p>효과적인 버그 리프트는 수정될 수 있을것 같이 작성한 것입니다. 이 가이드 라인은 그런 보고서를 작성하기 위한 방법을 설명합니다.</p>
-
-<h2 id="선행준비">선행준비</h2>
-
-<ol>
- <li>당신의 소프트웨어가 최신버전인지 확인하십시오.
- <ul>
- <li>이상적으로는 개발중인 버전을 테스트하여 버그가 이미 수정되었는지 확인하십시오. (예 : <a href="http://www.mozilla.com/en-US/firefox/channel/">Firefox Beta, Aurora</a>, or bleeding-edge <a class="link-https" href="https://nightly.mozilla.org/">Nightly</a>).</li>
- </ul>
- </li>
- <li><a class="link-https" href="https://bugzilla.mozilla.org/">Bugzilla</a> 에서 해당 버그가 발견되었는지 확인하십시오. (<a href="http://www.mozilla.org/quality/help/screening-duplicates.html">예제</a>).</li>
- <li><a href="https://bugzilla.mozilla.org/enter_bug.cgi?format=guided">새로운 버그리포트</a>를 작성할때에는 대부분 버그 리포팅 방법을 안내합니다.
- <ul>
- <li>여러 가지 이슈사항을 가지고 있다면, 버그리포트를 각각 분리해서 제출하십시오.</li>
- </ul>
- </li>
-</ol>
-
-<h2 id="재현가능한_정확한_단계_작성">재현가능한 정확한 단계 작성</h2>
-
-<p>어떻게 개발자는 자신의 컴퓨터에서 버그를 재현할 수 있을까요?</p>
-
-<p>재현 단계는 버그 보고서 전체에서 <strong>가장 중요한 부분</strong>입니다.  개발자가 버그를 재현 가능한 경우에 고쳐질 가능성이 매우 높습니다. 만약 이 과정이 명확하지 않은 경우에는, 버그가 수정되었는지조차 모를 수도 있습니다.</p>
-
-<p>각 단계의 의도와 더불어 Firefox와의 상호작용을 개연성있게 설명하십시오.</p>
-
-<ul>
- <li>잘못된 예 : "다른 창에서 Gmail 열기"</li>
- <li>올바른 예 : "Cmd + N을 눌러 새 브라우저 창을 열고, 검색 주소창에 https://mail.google.com/을 입력하고 Enter 키를 누르십시오. "</li>
-</ul>
-
-<p>당신이 지시한 단계를 진행한 후, 예상했던 결과와 관찰력롸를 명확하게 설명하십시오. 추측에서 명확하게 관찰결과를 분리하십시오.</p>
-
-<ul>
- <li>잘못된 예 : "동작하지 않습니다."</li>
- <li>
- <p>올바른 예 : "내 편지함이 보이지 않고, 다음과 같은 메시지가 출력됩니다. '당신의 브라우저는 쿠키를 지원하지 않습니다. (error -91)' "</p>
- </li>
-</ul>
-
-<p>버그가 심각해보이는 경우, 버그를 재현하는 중요 단계중에 당신이 설정한 일반적이지 않은 설정이 있을 수 있습니다. 만약 당신이 작성한 버그가 <a href="http://support.mozilla.com/en-US/kb/Managing-profiles">새 Firefox 프로필</a>에서 재현되는지 확인하십시오. 만약 당신의 기존 프로필에서만 버그가 발생한다면, 어떤 설정이나 확장도구, 혹은 <a href="http://support.mozilla.com/en-US/kb/Profiles">당신의 프로필 파일</a>이 버그를 재현하는데 필요합니다.</p>
-
-<ul>
- <li><a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html#intermittent">만약 해당 버그 발생 원인을 알 수 없거나 가끔씩 나타나면 어떻게 해야할까요?</a></li>
-</ul>
-
-<h2 id="명확한_요약문_작성"><strong>명확한 요약문 작성</strong></h2>
-
-<p>어떻게하면 간략하게 버그를 설명할 수 있을까요? 이것은 버그 관리자(Triager)나 개발자가 볼 문서의 첫 부분입니다.</p>
-
-<p>좋은 요약문은 짧고 명확하게 구분가능하게 작성되어야 합니다. 그리고 해결책이 아닌 문제에 집중하여 설명해야합니다.</p>
-
-<ul>
- <li>좋은 예 : "파일 복사 메시지에서 취소를 누르면, 파일관리자에서 오류가 발생함."</li>
- <li>나쁜 예 : "소프트웨어 오류"</li>
-</ul>
-
-<ul>
- <li>좋은 예 : "overflow : hidden으로 스타일이 지정된 &lt;textarea&gt;에서 아래쪽 화살표 스크롤이 작동하지 않습니다."</li>
- <li>나쁜 예 : "내 웹사이트에서 브라우저가 동작해야합니다."</li>
-</ul>
-
-<h2 id="Finding_the_correct_product_and_component" name="Finding_the_correct_product_and_component"><strong style="font-weight: bold;">Finding the correct product and component</strong></h2>
-
-<p>You will be asked to categorize your bug into a "product" and a "component" within that product, in order to direct your report to the correct developers.</p>
-
-<p>If you're using Firefox, the bug is most likely in "Firefox", "Toolkit", or "Core".</p>
-
-<ul>
- <li><a class="link-https" href="https://bugzilla.mozilla.org/describecomponents.cgi?product=Firefox">List of components in the "Firefox" product</a> - Most parts of Firefox that you interact with directly</li>
- <li><a class="link-https" href="https://bugzilla.mozilla.org/describecomponents.cgi?product=Toolkit">List of components in the "Toolkit" product</a> - Interface widgets and some frontend features</li>
- <li><a class="link-https" href="https://bugzilla.mozilla.org/describecomponents.cgi?product=Core">List of components in the "Core" product</a> - Web page rendering, networking, etc.</li>
-</ul>
-
-<p>When in doubt, search for similar bugs and see what component they are in.</p>
-
-<p>If none of the components seem appropriate, look for a "General" component in the most appropriate product.</p>
-
-<h2 id="Specific_types_of_bugs">Specific types of bugs</h2>
-
-<p>If you are reporting a <strong>crash bug</strong>, please <a href="/en-US/docs/How_to_get_a_stacktrace_for_a_bug_report">include a Breakpad ID or attach stack trace</a>, and include the crash signature in the bug summary.</p>
-
-<p>If you are reporting a <strong>memory use or leak bug</strong>, please attach the output of about:memory (Firefox 6+). Ideally, find steps to reproduce an increase in what is shown in about:memory (even after clicking the "Minimize memory usage" button at the bottom). If you have trouble finding steps to reproduce, try the Firefox Support page titled <a href="http://support.mozilla.com/en-US/kb/High%20memory%20usage">High Memory Usage</a>. If you are a C++ developer, <a class="link-https" href="https://wiki.mozilla.org/Performance:Leak_Tools">more precise tools are available</a>.</p>
-
-<p>If you are reporting a <strong>bug involving a specific web page</strong>, please try to make a <a href="/en-US/docs/Reducing_testcases">reduced testcase</a> and attach it to the bug report.</p>
-
-<p>If the bug was <strong>recently introduced</strong>, finding a <a href="http://quality.mozilla.org/docs/bugzilla/guide-to-triaging-bugs-for-firefox/finding-a-regression-window/">regression window</a> can help identify the cause of the bug.</p>
-
-<div class="originaldocinfo">
-<h2 id="Original_document_information">Original document information</h2>
-
-<ul>
- <li>Author(s): Jesse Ruderman, Gervase Markham</li>
- <li>Other Contributors: Eli Goldberg, Claudius Gayle, Jan Leger, Felix Miata, Peter Mock, Chris Pratt, Chris Yeh, and others.</li>
-</ul>
-</div>
-
-<hr>
-<div class="note">
-<p>The following article has been merged into this page from QMO: <a class="link-https" href="https://quality.mozilla.org/docs/bugzilla/starter-kit/how-to-write-a-proper-bug/">How to write a proper bug</a></p>
-</div>
-
-<h2 id="Bug_Validity_Checklist">Bug Validity Checklist</h2>
-
-<h3 id="Verify_the_problem_you_found_is_a_New_Bug">Verify the problem you found is a New Bug</h3>
-
-<p>To verify if what you've found is indeed a new software bug in one of Mozilla's products, go through the following checklist to make sure it's something worth creating a new bug report for.</p>
-
-<ul>
- <li>Make sure it's a <a href="http://support.mozilla.com/tiki-wiki_rankings.php?limit=500&amp;categId=1" title="Support @ Mozilla">software bug</a>. It should be either an error, flaw, mistake failure of fault in the browser that produces an incorrect and/or unexpected result.</li>
- <li>See if it's an already known bug by looking at your particular version's <a href="http://www.mozilla.com/en-US/firefox/releases/">release notes</a></li>
- <li>Make sure that no one has already fixed the problem by re-verifying the bug against the latest trunk nightly located <a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/">here</a></li>
- <li>Make sure there isn't a duplicate bug already created by using this handy <a href="https://developer.mozilla.org/En/Screening_duplicate_bugs#Searching guide">guide</a> to search through Bugzilla for your problem</li>
-</ul>
-
-<p>If you're lost and not sure what to do always check out the IRC channel, #qa, at irc.mozilla.org and ask there. If no one answers, try posting to our Bugzilla <a href="/forums/quality-assurance-discussion/bugs">forums</a>. Otherwise if you haven't found your software bug, its time to write a bug report!</p>
-
-<h2 id="The_Bug_Report">The Bug Report</h2>
-
-<h3 id="Where_do_I_go_to_create_a_bug">Where do I go to create a bug?</h3>
-
-<ul>
- <li>Mozilla's main tracking tool for reporting, investigating and fixing bugs is located <a href="http://bugzilla.mozilla.org/Bugzilla">here</a>. The first step in order to log a bug, is to register an account. To do that, go to Bugzilla's home page and click on the "New Account" hyperlink at the top of the page.</li>
- <li>After registering and then logging into your new account, go back to the Bugzilla home page and click on the "New" hyperlink at the top of the page. Click the product that the bug is found in and fill out the resulting form. If you have any issues with finding the product you want to file the bug for, go to the #qa channel at irc.mozilla.org and ask for help from our very friendly MozQA community.</li>
-</ul>
-
-<h3 id="What_does_the_community_want_to_see_in_a_bug_report">What does the community want to see in a bug report?</h3>
-
-<p>There are a couple of generally-held principles that should be taken into account when creating a bug. They would be the following:</p>
-
-<ul>
- <li>Keep the Description and Summary <u>clear</u> and <u>concise</u></li>
- <li>Only report one issue in a bug report</li>
- <li>Report only facts in your bugs and remove any assumptions you might have</li>
-</ul>
-
-<h3 id="General_Outline_of_a_Bug_Report">General Outline of a Bug Report</h3>
-
-<ul>
- <li><strong>Summary</strong>: How would you describe the bug in less than 60 characters? It should quickly and uniquely identify a bug report as well as explain the problem, not your suggested solution.Good: "Cancelling a File Copy dialog crashes File Manager" Bad: "Software crashes" Bad: "Browser should work with my web site"</li>
- <li><strong>Component</strong>: In which sub-part of the software does it exist?This field is a requirement to submit any bug report. Click the word "Component" to see a description of each component. If none seems appropriate, highlight the "General" component.</li>
- <li><strong>OS</strong>: On which operating system (OS) did you find it? (e.g. Linux, Windows XP, Mac OS X.)Example: "<em>If you know the bug happens on more than one type of operating system, choose "All". If your OS isn't listed, choose Other".</em></li>
- <li><strong>Description</strong>: The details of your problem report, including:-<u>Overview</u>: This is a larger detailed restatement of the summary. An example would be: <em>"Drag-selecting any page crashes Mac builds in the NSGetFactory function"</em>. -<u>Build Id</u>: To find this either go to the "about:" page via the location bar or, if you have MozQA's <a href="https://addons.mozilla.org/en-US/firefox/addon/nightly-tester-tools/">Nightly Tester Tools</a> extension, then go to Tools | Nightly Tester Tools and select the option that contains the output of the build Id. It should look something like this: <em>"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3) Gecko/20090305 Firefox/3.1b3"</em>. -<u>Additional Builds and Platforms</u>: Whether or not the bug takes place on other platforms (or browsers, if applicable). It should look something like this: <em>"Doesn't Occur On Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b3) Gecko/20081107 Firefox/3.1b2"</em>.</li>
- <li><strong>Steps to Reproduce</strong>: Minimized, easy-to-follow steps that will trigger the bug. If they're necessary, make sure to include any special setup steps.A good example of this would look like the following: 1) View any web page. (I used the default sample page, http://www.google.com/). 2) Drag-select the page. Specifically, while holding down the mouse button, drag the mouse pointer downwards from any point in the browser's content region to the bottom of the browser's content region.</li>
- <li><strong>Actual Results</strong>: What the application did after performing the above steps.An example would be: <em>The application crashed.</em></li>
- <li><strong>Expected Results</strong>: What the application should have done, were the bug not present.An example would be: <em>The window should scroll downwards. Scrolled content should be selected. Or, at least, the application should not crash.</em></li>
-</ul>
-
-<p>Continue reading <a href="http://quality.mozilla.org/docs/bugzilla/starter-kit/how-to-write-a-proper-bug-part-2/">How to Write a Proper Bug Report Part 2</a></p>
-
-<div class="originaldocinfo">
-<h2 id="Original_document_information_2">Original document information</h2>
-
-<ul>
- <li>Author(s): Aakash Desai</li>
- <li>Date last modified: June 3, 2013 at 2:41 am PST</li>
-</ul>
-</div>
-
-<p>Triager 라는 직업군을 처음봤으나 구글 검색결과 가장 의미에 부합하는 단어로 번역해봤습니다.</p>
diff --git a/files/ko/mozilla/qa/index.html b/files/ko/mozilla/qa/index.html
deleted file mode 100644
index 87214803b6..0000000000
--- a/files/ko/mozilla/qa/index.html
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: 'QA: Quality assurance at Mozilla'
-slug: Mozilla/QA
-translation_of: Mozilla/QA
----
-<p><span class="seoSummary">QA부서에서 Mozilla 프로젝트를 함께 도울 수 있는 많은 것들이 있으며, 모두 코드를 필요로 하는건 아닙니다. 일부는 심지어 HTML이나 기타 웹 기술을 배우고, 필요로 하지도 않습니다. 테스트와 기타 QA활동으로 우리를 도우는데 관심이 있으시다면,  <a class="external" href="http://quality.mozilla.org/">quality.mozilla.org</a>를 먼저 볼 수 있을겁니다..</span></p>
-
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h2 class="Documentation" id="Documentation" name="Documentation">문서</h2>
-
- <dl>
- <dt><a href="/en-US/docs/Mozilla/QA/Bug_writing_guidelines" title="/en-US/docs/Mozilla/QA/Bug_writing_guidelines">버그 작성 지침</a></dt>
- <dd>보다 효과적으로 엔지니어가 버그를 고칠 수 있다는 가능성을 보고할 수 있습니다. 다음 지침을 통해, 버그를 모질라 엔지니어의 heep의 상단에 머물고, 고정되는것을 보장할 수 있습니다.</dd>
- <dt style="font-weight: 700;"><a class="internal" href="/en-US/docs/Mozilla/QA/Confirming_unconfirmed_bugs" title="en-US/docs/Confirming unconfirmed bugs">확인되지 않은 버그 확인</a></dt>
- <dd style="margin-left: 0; margin-bottom: .5em; padding-left: 15px;">최종 사용자의 유용한 버그 리포트만 식별하고 나머지는 닫습니다.</dd>
- <dt style="font-weight: 700;"><a href="/en-US/docs/Screening_duplicate_bugs">중복 버그 심사</a></dt>
- <dd style="margin-left: 0; margin-bottom: .5em; padding-left: 15px;">이미 나온 중복 보고서를 피하거나, 보고서를 수신함으로서 더 빠르게 버그를 수정하는데 도움을 얻릉 수 있습니다.</dd>
- <dt><a href="/en-US/docs/Mozilla/QA/Reducing_testcases" title="en-US/docs/Reducing testcases">testcases 감소</a></dt>
- <dd>개발자는 버그를 이해하고, 자동화 된 테스트를 만드는데 사용할 수 있어, 도움이 되는 간단한 테스트 케이스로 깨진 웹 페이지를 만들어 버그 리포트를 향상시킬 수 있습니다.</dd>
- <dt><a href="/en-US/docs/Mozilla/QA/Robocop" title="/en-US/docs/Mozilla/QA/Robocop">Robocop</a></dt>
- <dd>로보캅. Firefox for Android에 사용되는 자동화 된 테스트 시스템에 대한 설명서를 참조하십시오.</dd>
- <dt><a href="/en-US/docs/Mozilla/QA/Automated_testing" title="/en-US/docs/Mozilla/QA/Automated_testing">Mozilla에서 자동화 된 테스트</a></dt>
- <dd>모질라 코드에 대한 자동화된 테스트를 생성하시고 사용하는 방법에 대한 설명서를 참조하십시오.</dd>
- <dt><a href="/en-US/docs/Mozilla/QA/Developing_tests" title="en-US/docs/Developing_Tests">개발 테스트</a></dt>
- <dd>미래의 변화가 모질라에서 현재 제대로 작동되는 일들을 방해하지 않는지 확인하기 위함.</dd>
- <dt><a href="/en-US/docs/Mozilla/QA/Avoiding_intermittent_oranges" title="en-US/docs/QA/Avoiding intermittent oranges">간혈적인 oranges 방지</a></dt>
- <dd>검사 결과가 더 신뢰할 수 있도록 하는 방법에 대한 제한으로, 임의의 간혈적인 검사가 오류를 방지하는데 도움이 됩니다.</dd>
- </dl>
-
- <p><span class="alllinks"><a href="/en-US/docs/tag/QA" title="en-US/docs/tag/QA">모두보기...</a></span></p>
- </td>
- <td>
- <h2 class="Community" id="Community" name="Community">커뮤니티</h2>
-
- <ul>
- <li><a class="external" href="http://quality.mozilla.org/">QMO | quality.mozilla.org</a></li>
- <li>Mozilla 포럼 보기...
- <div></div>
- </li>
- <li><a href="https://quality.mozilla.org/docs/misc/getting-started-with-irc/#channels">IRC channels 리스트</a></li>
- <li>MozillaZine 포럼: <a class="external" href="http://forums.mozillazine.org/viewforum.php?f=23">Firefox Builds</a>, <a class="external" href="http://forums.mozillazine.org/viewforum.php?f=29">Thunderbird Builds</a></li>
- </ul>
-
- <h2 class="Tools" id="Tools" name="Tools">도구</h2>
-
- <ul>
- <li><a href="/en-US/docs/Bugzilla" title="en-US/docs/Bugzilla">Bugzilla</a> -모질라 프로젝트를 위한 버그 데이터베이스</li>
- <li><a class="external" href="http://litmus.mozilla.org/">Litmus</a></li>
- <li><a href="/en-US/docs/QA/Stress_Testing" title="en-US/docs/QA/Stress_Testing">Stress Testing</a></li>
- </ul>
-
- <p><span class="alllinks"><a href="/en-US/docs/tag/QA:Tools" title="en-US/docs/tag/QA:Tools">모두보기...</a></span></p>
-
- <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">관련 항목</h2>
-
- <ul>
- <li><a href="/en-US/docs/Developer_Guide" title="en-US/docs/Developing_Mozilla">Developing Mozilla</a></li>
- </ul>
- </td>
- </tr>
- </tbody>
-</table>
diff --git a/files/ko/mozilla/tech/index.html b/files/ko/mozilla/tech/index.html
deleted file mode 100644
index b891a01cb4..0000000000
--- a/files/ko/mozilla/tech/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: Mozilla technologies
-slug: Mozilla/Tech
-tags:
- - XUL
- - 모질라
- - 시작하기
- - 참조
-translation_of: Mozilla/Tech
----
-<p>모질라 프로젝트의 컴포넌트로 사용되는 몇가지 기술이 있습니다. 이 문서는 이를 기술합니다. (현재 모든 하위문서가 번역되진 않았습니다.)</p>
-
-<p>{{LandingPageListSubpages}}</p>
diff --git a/files/ko/mozilla/tech/xpcom/guide/index.html b/files/ko/mozilla/tech/xpcom/guide/index.html
deleted file mode 100644
index 898a1f2b20..0000000000
--- a/files/ko/mozilla/tech/xpcom/guide/index.html
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: XPCOM guide
-slug: Mozilla/Tech/XPCOM/Guide
-tags:
- - Landing
- - Mozilla
- - NeedsTranslation
- - TopicStub
- - XPCOM
-translation_of: Mozilla/Tech/XPCOM/Guide
----
-<p><span class="seoSummary">These articles provide tutorials and usage documentation for XPCOM, including how to use it in your own projects and how to build XPCOM components for your Firefox add-ons and the like.</span></p>
-<p></p><div class="row topicpage-table">
- <div class="section"><dl><dl><dt></dt></dl></dl></div>
- <div class="section"><dl><dt class="landingPageList"><a href="/ko/docs/Creating_XPCOM_Components">Creating XPCOM Components</a></dt><dd class="landingPageList"></dd></dl></div>
- </div><p></p>
diff --git a/files/ko/mozilla/tech/xpcom/language_bindings/index.html b/files/ko/mozilla/tech/xpcom/language_bindings/index.html
deleted file mode 100644
index 3bdc969de3..0000000000
--- a/files/ko/mozilla/tech/xpcom/language_bindings/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: Language bindings
-slug: Mozilla/Tech/XPCOM/Language_Bindings
-tags:
- - Embedding
- - Landing
- - Mozilla
- - NeedsTranslation
- - TopicStub
- - XPCOM
- - 'XPCOM:Language Bindings'
-translation_of: Mozilla/Tech/XPCOM/Language_Bindings
----
-<p>An <strong>XPCOM Language Binding</strong> is a bridge between a particular language and <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a> to provide access to XPCOM objects from that language, and to let modules written in that language be used as XPCOM objects by all other languages for which there are XPCOM bindings.</p>
-<p>More specifically, an XPCOM language binding:</p>
-<ul>
- <li>Enables <em>access to XPCOM objects from that language</em> (where access means reading/writing/creating XPCOM objects as well as calling methods on them).</li>
- <li>Exposes <em>modules written in the bound language as XPCOM objects</em>, thereby enabling all other languages for which XPCOM bindings exist to access these modules.</li>
-</ul>
-<p>Since the XPCOM layer itself is written in C/C++, its API can be accessed out-of-the-box using C or C++. In order to allow any other language to use the XPCOM API, a bridging layer is required.</p>
-<p>The following bridging layers are currently available:</p>
-<p></p><div class="row topicpage-table">
- <div class="section"><dl><dl><dt></dt></dl></dl></div>
- <div class="section"><dl><dt class="landingPageList"><a href="/ko/docs/PyXPCOM">PyXPCOM</a></dt><dd class="landingPageList"></dd></dl></div>
- </div><p></p>
diff --git a/files/ko/mozilla/tech/xpcom/reference/index.html b/files/ko/mozilla/tech/xpcom/reference/index.html
deleted file mode 100644
index 5a7636ec04..0000000000
--- a/files/ko/mozilla/tech/xpcom/reference/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: XPCOM reference
-slug: Mozilla/Tech/XPCOM/Reference
-tags:
- - Add-ons
- - Extensions
- - Landing
- - Mozilla
- - NeedsTranslation
- - Reference
- - TopicStub
- - XPCOM
-translation_of: Mozilla/Tech/XPCOM/Reference
----
-<p>This reference describes the interfaces and functions provided by the <a href="/en-US/docs/Mozilla/Tech/XPCOM">XPCOM</a> library. In addition, it details the various helper classes and functions, as well as the components, provided by the <a href="/en-US/docs/Mozilla/Tech/XPCOM/Glue">XPCOM glue</a> library. The contents herein are oriented primarily toward extension developers and people embedding XPCOM in other projects.</p>
-
-<div class="warning">
-<p><strong>WebExtensions are becoming the new standard for creating add-ons. </strong>Eventually support for XPCOM add-ons will be deprecated, so you should begin to investigate porting your add-ons to use the <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions">WebExtensions</a> API, and <a href="https://mzl.la/webext-feature-needed">report any missing functionality</a> so we can be sure to address your concerns. Work is ongoing on WebExtension capabilities, so your input will help prioritize and plan the work. To learn more about the kinds of changes that will be needed, see <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/Comparison_with_XUL_XPCOM_extensions">Comparison with XUL/XPCOM extensions</a>. In addition, any binaries you use will then need to be converted for use with the WebExtensions <a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_messaging">native messaging</a> API, or compiled using <a href="https://webassembly.github.io/">WebAssembly</a> or <a href="/en-US/docs/Mozilla/Projects/Emscripten">Emscripten</a>.</p>
-</div>
-
-<div class="note">
-<p>If you're working on a module in the Mozilla codebase that's compiled with the <code>MOZILLA_INTERNAL_API</code> flag set, some of these APIs -- the string functions and classes in particular -- are not the ones you should be using. See the <a href="/en-US/docs/Mozilla/Tech/XPCOM/Guide/Internal_strings">XPCOM internal string guide</a> for documentation of the internal string API used within the Mozilla codebase.</p>
-</div>
-
-<p></p><div class="row topicpage-table">
- <div class="section"><dl><dl><dt></dt></dl></dl></div>
- <div class="section"><dl><dt class="landingPageList"><a href="/ko/docs/XPCOM_Interface_Reference">XPCOM Interface Reference</a></dt><dd class="landingPageList">This is a reference to the XPCOM interfaces provided by the Mozilla platform.</dd></dl></div>
- </div><p></p>
-
-<p>Many XPCOM pages return an <code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Core_functions/nsresult">nsresult</a></code>. Prior to Gecko 19 (Firefox 19 / Thunderbird 19 / SeaMonkey 2.16), this was an integer that simply returned an error code. It is now a strongly typed <code>enum</code> when XPCOM is built using a C++11 compiler. This causes compile-time errors to occur when improper values are returned as nsresult values, thereby making it easier to catch many bugs.</p>
diff --git a/files/ko/mozilla/tech/xpcom/reference/interface/about_scriptable_interfaces/index.html b/files/ko/mozilla/tech/xpcom/reference/interface/about_scriptable_interfaces/index.html
deleted file mode 100644
index d282b17f13..0000000000
--- a/files/ko/mozilla/tech/xpcom/reference/interface/about_scriptable_interfaces/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: About Scriptable Interfaces
-slug: Mozilla/Tech/XPCOM/Reference/Interface/About_Scriptable_Interfaces
-tags:
- - 'Interfaces:Scriptable'
-translation_of: Interfaces/About_Scriptable_Interfaces
----
-<p> </p>
-
-<h3 id=".EB.AC.B8.EC.84.9C.EC.9D.98_.EC.83.81.ED.83.9C" name=".EB.AC.B8.EC.84.9C.EC.9D.98_.EC.83.81.ED.83.9C">문서의 상태</h3>
-
-<p>이 문서는 시작단계이고 문서를 완성할 생각이 없을 지도 모릅니다. 이 문서에 있는 정보들은 <a class="external" href="http://www.mozilla.org/scriptable/" rel="freelink">http://www.mozilla.org/scriptable/</a> 와 <a href="ko/Creating_XPCOM_Components">XPCOM 컴포넌트 만들기</a>에 있는 내용을 기반으로 합니다.</p>
-
-<h3 id=".EC.8A.A4.ED.81.AC.EB.A6.BD.ED.84.B0.EB.B8.94_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4.28Scriptable_Interface.29" name=".EC.8A.A4.ED.81.AC.EB.A6.BD.ED.84.B0.EB.B8.94_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4.28Scriptable_Interface.29">스크립터블 인터페이스(Scriptable Interface)</h3>
-
-<p><a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Interfaces">인터페이스</a>는 XPCOM 컴포넌트의 자세한 세부 구현을 감추면서 기능을 외부 세계로 노출할 수 있도록 해 줍니다. <a href="ko/Creating_XPCOM_Components/An_Overview_of_XPCOM#Interfaces">인터페이스</a>는 <a href="ko/XPIDL">IDL(인터페이스 기술 언어)</a>로 작성됩니다.</p>
-
-<p>interface에 scriptable 라벨링 한다는 것은, 스크립트 언어(예: <a href="ko/JavaScript">JavaScript</a>)를 이용하여 인터페이스를 통해 컴포넌트를 참조할 수 있으며 또한 인터페이스를 구현한 새로운 컴포넌트를 작성할 수 있다는 것을 의미합니다.</p>
-
-<h3 id="XPConnect" name="XPConnect">XPConnect</h3>
-
-<p><a href="ko/XPConnect">XPConnect</a>는 <a href="ko/JavaScript">JavaScript</a> 언어로 스크립터블 인터페이스를 사용하거나 구현할 수 있게 해 주는 기술입니다. 다른 스크립트 언어들에서는 <a href="ko/XPConnect">XPConnect</a>을 지원하지 않습니다.</p>
-
-<h3 id="Python" name="Python">Python</h3>
-
-<p>Python 스크립트에서 스크립터블 인터페이스를 사용하거나 구현할 수 있게 해주는 <a href="ko/XPCOM">XPCOM</a>와 Python<a class="external" href="http://python.org/">을 연결하는 확장 기능 {{ Source("extensions/python") }} 이 있습니다. </a></p>
diff --git a/files/ko/mozilla/tech/xpcom/reference/interface/nsiloginmanager/index.html b/files/ko/mozilla/tech/xpcom/reference/interface/nsiloginmanager/index.html
deleted file mode 100644
index c417f645f5..0000000000
--- a/files/ko/mozilla/tech/xpcom/reference/interface/nsiloginmanager/index.html
+++ /dev/null
@@ -1,372 +0,0 @@
----
-title: nsILoginManager
-slug: Mozilla/Tech/XPCOM/Reference/Interface/nsILoginManager
-tags:
- - Firefox 3
- - Interfaces
- - 'Interfaces:Scriptable'
- - Login Manager
- - NeedsTranslation
- - Thunderbird 3
- - TopicStub
- - XPCOM
- - XPCOM API Reference
- - thunderbird
-translation_of: Mozilla/Tech/XPCOM/Reference/Interface/nsILoginManager
----
-<p></p><div style="border: solid #ddd 2px; margin-bottom: 12px;">
-<div style="background: #eee; padding: 2px;"><code><a href="https://dxr.mozilla.org/mozilla-central/source/toolkit/components/passwordmgr/public/nsILoginManager.idl" rel="custom">toolkit/components/passwordmgr/public/nsILoginManager.idl</a></code><span style="text-align: right; float: right;"><a href="/ko/docs/Interfaces/About_Scriptable_Interfaces" style="color: #00cc00; font-weight: 700;">스크립트에서 사용 가능</a></span></div>
-<span style="padding: 4px 2px;">
-
-Used to interface with the built-in Password Manager
-</span>
-
- <div style="height: 42px; position: relative; padding: 2px; width: auto;">
-
- <div style="top: 22px; font-size: 11px; position: absolute;">1.0</div>
-
- <div style="top: 22px; font-size: 11px; position: absolute; left: 0px; text-align: right; float: right; width: 100%;">66</div>
-
- <div style="height: 8px; top: 16px; background: #dd0000; left: 0px; position: absolute; width: 8.571428571428571%;"></div>
-
-<div style="height: 8px; top: 16px; left: 8.571428571428571%; background: #00dd00; position: absolute; width: 91.42857142857143%;" title="Introduced in Gecko 1.9 (Firefox 3)"></div>
-
-<div style="top: 0px; font-size: 11px; position: absolute; left: 8.571428571428571%;">Introduced</div>
-<div style="top: 22px; font-size: 11px; position: absolute; left: 8.571428571428571%;">Gecko 1.9</div>
-
- <div style="height: 8px; top: 16px; left: 9.976190285714287%; background: #eeee00; position: absolute; width: 1%; border-radius: 4px; -webkit-border-radius: 4px;" title="Last changed in Gecko 1.9.2 (Firefox 3.6 / Thunderbird 3.1 / Fennec 1.0)"></div>
-
-</div>
-
-<div style="background: #eee; padding: 2px;">
-Inherits from: <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISupports" title="">nsISupports</a></code>
-<span style="text-align: right; float: right;">Last changed in Gecko 1.9.2 (Firefox 3.6 / Thunderbird 3.1 / Fennec 1.0)</span></div>
-</div><p></p>
-<p>Replaces <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIPasswordManager" title="">nsIPasswordManager</a></code> which was used in older versions of Gecko.</p>
-<p>Implemented by: <code>@mozilla.org/login-manager;1</code>. To create an instance, use:</p>
-<pre class="eval">var loginManager = Components.classes["@mozilla.org/login-manager;1"]
- .getService(Components.interfaces.nsILoginManager);
-</pre>
-<h2 id="Method_overview" name="Method_overview">Method overview</h2>
-<table class="standard-table">
- <tbody>
- <tr>
- <td><code>void <a href="#addLogin()">addLogin</a>(in nsILoginInfo aLogin);</code></td>
- </tr>
- <tr>
- <td><code>nsIAutoCompleteResult <a href="#autoCompleteSearch()">autoCompleteSearch</a>(in AString aSearchString, in nsIAutoCompleteResult aPreviousResult, in nsIDOMHTMLInputElement aElement);</code></td>
- </tr>
- <tr>
- <td><code>unsigned long <a href="#countLogins()">countLogins</a>(in AString aHostname, in AString aActionURL, in AString aHttpRealm);</code></td>
- </tr>
- <tr>
- <td><code>boolean <a href="#fillForm()">fillForm</a>(in nsIDOMHTMLFormElement aForm);</code> </td>
- </tr>
- <tr>
- <td><code>void <a href="#findLogins()">findLogins</a>(out unsigned long count, in AString aHostname, in AString aActionURL, in AString aHttpRealm, [retval, array, size_is(count)] out nsILoginInfo logins);</code></td>
- </tr>
- <tr>
- <td><code>void <a href="#getAllDisabledHosts()">getAllDisabledHosts</a>([optional] out unsigned long count, [retval, array, size_is(count)] out wstring hostnames);</code></td>
- </tr>
- <tr>
- <td><code>void <a href="#getAllLogins()">getAllLogins</a>([optional] out unsigned long count, [retval, array, size_is(count)] out nsILoginInfo logins);</code></td>
- </tr>
- <tr>
- <td><code>boolean <a href="#getLoginSavingEnabled()">getLoginSavingEnabled</a>(in AString aHost);</code></td>
- </tr>
- <tr>
- <td><code>void <a href="#modifyLogin()">modifyLogin</a>(in nsILoginInfo oldLogin, in nsISupports newLoginData);</code></td>
- </tr>
- <tr>
- <td><code>void <a href="#removeAllLogins()">removeAllLogins</a>();</code></td>
- </tr>
- <tr>
- <td><code>void <a href="#removeLogin()">removeLogin</a>(in nsILoginInfo aLogin);</code></td>
- </tr>
- <tr>
- <td><code>void <a href="#searchLogins()">searchLogins</a>(out unsigned long count, in nsIPropertyBag matchData, [retval, array, size_is(count)] out nsILoginInfo logins);</code> </td>
- </tr>
- <tr>
- <td><code>void <a href="#setLoginSavingEnabled()">setLoginSavingEnabled</a>(in AString aHost, in boolean isEnabled);</code></td>
- </tr>
- </tbody>
-</table>
-<h2 id="Methods" name="Methods">Methods</h2>
-<h3 id="addLogin()" name="addLogin()">addLogin()</h3>
-<p>Stores a new login in the Login Manager.</p>
-<p></p><div class="blockIndicator note"><strong>주의:</strong> Default values for the <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginMetaInfo" title="">nsILoginMetaInfo</a></code> properties are created if the specified login doesn't explicitly specify them.</div><p></p>
-<pre class="eval">void addLogin(
- in nsILoginInfo aLogin
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>aLogin</code></dt>
- <dd>
- The login to store.</dd>
-</dl>
-<h6 id="Exceptions_thrown" name="Exceptions_thrown">Exceptions thrown</h6>
-<dl>
- <dt>
-  </dt>
- <dd>
- An exception is thrown if the login information is already stored in the Login Manager. To change a login, you have to use <code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginManager#modifyLogin()">modifyLogin()</a></code>.</dd>
-</dl>
-<h3 id="autoCompleteSearch()" name="autoCompleteSearch()">autoCompleteSearch()</h3>
-<p>Generates results for a user field autocomplete menu.</p>
-<p></p><div class="blockIndicator note"><strong>주의:</strong> This method is provided for use only by the <code>FormFillController</code>, which calls it directly. It should not be used for any other purpose.</div><p></p>
-<pre class="eval">nsIAutoCompleteResult autoCompleteSearch(
- in AString aSearchString,
- in nsIAutoCompleteResult aPreviousResult,
- in nsIDOMHTMLInputElement aElement
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>aSearchString</code></dt>
- <dd>
- Missing Description</dd>
- <dt>
- <code>aPreviousResult</code></dt>
- <dd>
- Missing Description</dd>
- <dt>
- <code>aElement</code></dt>
- <dd>
- Missing Description</dd>
-</dl>
-<h6 id="Return_value" name="Return_value">Return value</h6>
-<p>Missing Description</p>
-<h3 id="countLogins()" name="countLogins()">countLogins()</h3>
-<p>Returns the number of logins matching the specified criteria. Called when only the number of logins is needed, and not the actual logins (which avoids prompting the user for a Master Password, as the logins don't need to be decrypted).</p>
-<pre class="eval">unsigned long countLogins(
- in AString aHostname,
- in AString aActionURL,
- in AString aHttpRealm
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>aHostname</code></dt>
- <dd>
- The hostname to which to restrict searches, formatted as a URL. For example, "<a class="external" href="http://www.bar.com" rel="freelink">http://www.bar.com</a>". To match all hostnames, specify <code>""</code> (empty string). A value of <code>null</code> will cause countLogins() to not match any logins.</dd>
- <dt>
- <code>aActionURL</code></dt>
- <dd>
- For form logins, this parameter should specify the URL to which the form will be submitted. To match any form login, specify <code>""</code> (empty string). To not match any form logins (For example when interested in protocol logins only), specify <code>null</code>.</dd>
- <dt>
- <code>aHttpRealm</code></dt>
- <dd>
- For protocol logins, specify the HTTP Realm for which the login applies; this is obtained from the WWW-Authenticate header (see <a class="external" href="http://tools.ietf.org/html/rfc2617" title="http://tools.ietf.org/html/rfc2617">RFC 2617</a>). To match any protocol login, specify <code>""</code> (empty string). To not match any protocol logins (For example when interested in form logins only), specify <code>null</code>.</dd>
-</dl>
-<h6 id="Return_value" name="Return_value">Return value</h6>
-<p>The number of logins matching the parameters passed.</p>
-<p></p><h3 id="fillForm()">fillForm()</h3><p></p>
-<p>Fills out a form with login information, if appropriate information is available.</p>
-<p></p><div class="blockIndicator note"><strong>주의:</strong> This method will attempt to fill out the form regardless of the setting of the <code>signon.autofillForms</code> preference.</div><p></p>
-<pre class="eval">boolean fillForm(
- in nsIDOMHTMLFormElement aForm
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>aForm</code></dt>
- <dd>
- The HTMLform to attempt to fill out.</dd>
-</dl>
-<h6 id="Return_value" name="Return_value">Return value</h6>
-<p><code>true</code> if the form was successfully filled out; otherwise <code>false</code>.</p>
-<h3 id="findLogins()" name="findLogins()">findLogins()</h3>
-<p>Searches for logins matching the specified criteria. Called when looking for logins that might be applicable to a given form or authentication request.</p>
-<pre class="eval">void findLogins(
- out unsigned long count,
- in AString aHostname,
- in AString aActionURL,
- in AString aHttpRealm,
- [retval, array, size_is(count)] out nsILoginInfo logins
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>count</code></dt>
- <dd>
- The number of elements in the returned array. JavaScript callers can simply use the array's <code>length</code> property and supply a dummy argument for this parameter.</dd>
- <dt>
- <code>aHostname</code></dt>
- <dd>
- The hostname to restrict searches to, formatted as a URL. For example, "<a class="external" href="http://www.bar.com" rel="freelink">http://www.bar.com</a>".</dd>
- <dt>
- <code>aActionURL</code></dt>
- <dd>
- For form logins, this parameter should specify the URL to which the form will be submitted. For protocol logins, specify <code>null</code>. An empty string ("") will match any value (except <code>null</code>).</dd>
- <dt>
- <code>aHttpRealm</code></dt>
- <dd>
- For protocol logins, specify the HTTP Realm for which the login applies; this is obtained from the WWW-Authenticate header (see <a class="external" href="http://tools.ietf.org/html/rfc2617" title="http://tools.ietf.org/html/rfc2617">RFC 2617</a>). For form logins, this parameter should be <code>null</code>. An empty string ("") will match any value (except <code>null</code>).</dd>
- <dt>
- <code>logins</code></dt>
- <dd>
- An array of <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginInfo" title="">nsILoginInfo</a></code> objects.</dd>
-</dl>
-<h6 id="Example" name="Example">Example</h6>
-<p>This method can be called from JavaScript like this:</p>
-<pre class="brush: js"> var logins = myLoginMgr.findLogins({}, hostname, ...);
-</pre>
-<h3 id="getAllDisabledHosts()" name="getAllDisabledHosts()">getAllDisabledHosts()</h3>
-<p>Returns a list of all hosts for which login saving is disabled.</p>
-<pre class="eval">void getAllDisabledHosts(
- [optional] out unsigned long count,
- [retval, array, size_is(count)] out wstring hostnames
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>count</code></dt>
- <dd>
- The number of elements in the returned array. JavaScript callers can simply use the array's <code>length</code> property and supply a dummy argument for this parameter.</dd>
- <dt>
- <code>hostnames</code></dt>
- <dd>
- An array of hostname strings in URL format without a pathname. For example: <span class="nowiki">"https://www.site.com"</span>.</dd>
-</dl>
-<h6 id="Example" name="Example">Example</h6>
-<p>You can call this method from JavaScript like this:</p>
-<pre class="brush: js"> var disabledHosts = myLoginMgr.getAllDisabledHosts({});
-</pre>
-<h3 id="getAllLogins()" name="getAllLogins()">getAllLogins()</h3>
-<p>Returns an array containing all logins recorded by the Login Manager.</p>
-<p>If you just want to see if any logins are stored, use <code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginManager#countLogins()">countLogins()</a></code> instead. It's more efficient, and avoids the possibility of the user being prompted for their master password.</p>
-<pre class="eval">void getAllLogins(
- [optional] out unsigned long count,
- [retval, array, size_is(count)] out nsILoginInfo logins
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>count</code></dt>
- <dd>
- The number of elements in the returned array. JavaScript callers can simply use the array's <code>length</code> property and supply a dummy argument for this parameter.</dd>
- <dt>
- <code>logins</code></dt>
- <dd>
- An array of <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginInfo" title="">nsILoginInfo</a></code> objects containing all the logins the Login Manager has on record.</dd>
-</dl>
-<h6 id="Example" name="Example">Example</h6>
-<p>You can call this method from JavaScript like this:</p>
-<pre class="brush: js"> var logins = myLoginMgr.getAllLogins({});
-</pre>
-<h3 id="getLoginSavingEnabled()" name="getLoginSavingEnabled()">getLoginSavingEnabled()</h3>
-<p>Reports whether or not saving login information is enabled for a host.</p>
-<pre class="eval">boolean getLoginSavingEnabled(
- in AString aHost
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>aHost</code></dt>
- <dd>
- The hostname to check. This argument should be in the origin URL format, with no pathname. For example: <span class="nowiki">"https://www.site.com"</span>.</dd>
-</dl>
-<h6 id="Return_value" name="Return_value">Return value</h6>
-<p><code>true</code> if login saving is enabled for the host, otherwise <code>false</code>.</p>
-<h3 id="modifyLogin()" name="modifyLogin()">modifyLogin()</h3>
-<p>Modifies an existing login by replacing it with a new one.</p>
-<p>If newLoginData is a <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginInfo" title="">nsILoginInfo</a></code>, all of the old login's <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginInfo" title="">nsILoginInfo</a></code> properties are changed to the values from newLoginData (but the old login's <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginMetaInfo" title="">nsILoginMetaInfo</a></code> properties are unmodified).</p>
-<p>If newLoginData is a <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIPropertyBag" title="">nsIPropertyBag</a></code>, only the specified properties will be changed. The <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginMetaInfo" title="">nsILoginMetaInfo</a></code> properties of oldLogin can be changed in this manner.</p>
-<p>If the propertybag contains an item named "timesUsedIncrement", the login's timesUsed property will be incremented by the item's value.</p>
-<pre class="eval">void modifyLogin(
- in nsILoginInfo oldLogin,
- in nsISupports newLoginData
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>oldLogin</code></dt>
- <dd>
- The login to be modified.</dd>
- <dt>
- <code>newLoginData</code></dt>
- <dd>
- The login information to replace the <code>oldLogin</code> with. This may be specified as either an <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginInfo" title="">nsILoginInfo</a></code> or an <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIPropertyBag2" title="">nsIPropertyBag2</a></code> object.</dd>
-</dl>
-<h3 id="removeAllLogins()" name="removeAllLogins()">removeAllLogins()</h3>
-<p>Removes all logins known by the Login Manager. This works without a need for the master password, if one is set.</p>
-<pre class="eval">void removeAllLogins();
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<p>None.</p>
-<h3 id="removeLogin()" name="removeLogin()">removeLogin()</h3>
-<p>Removes a login from the Login Manager.</p>
-<p></p><div class="blockIndicator note"><strong>주의:</strong> The specified login must exactly match a stored login. However, the values of any <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginMetaInfo" title="">nsILoginMetaInfo</a></code> properties are ignored.</div><p></p>
-<pre class="eval">void removeLogin(
- in nsILoginInfo aLogin
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>aLogin</code></dt>
- <dd>
- The login to remove from the Login Manager. Only a login that is an exact match is deleted.</dd>
-</dl>
-<p></p><h3 id="searchLogins()">searchLogins()</h3><p></p>
-<p>Searches for logins in the login manager's data store, returning an array of matching logins. If there are no matching logins, an empty array is returned.</p>
-<pre class="eval">void searchLogins(
- out unsigned long count,
- in nsIPropertyBag matchData,
- [retval, array, size_is(count)] out nsILoginInfo logins
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>count</code></dt>
- <dd>
- The number of elements in the returned array.</dd>
- <dt>
- <code>matchData</code></dt>
- <dd>
- The data used for the search. This does not follow the same requirements as <code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginManager#findLogins()">findLogins()</a></code> for those fields; wildcard matches are not specified.</dd>
- <dt>
- <code>logins</code></dt>
- <dd>
- An array of matching <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginInfo" title="">nsILoginInfo</a></code> objects.</dd>
-</dl>
-<h6 id="Example" name="Example">Example</h6>
-<p>This method can be called from JavaScript like this:</p>
-<pre class="brush: js"> var logins = myLoginMgr.searchLogins({}, matchData);
- var numLogins = logins.length;
-</pre>
-<h3 id="setLoginSavingEnabled()" name="setLoginSavingEnabled()">setLoginSavingEnabled()</h3>
-<p>Enables or disables storing logins for a specified host. When login storing is disabled, the Login Manager won't prompt the user to store logins for that host. Existing logins are not affected.</p>
-<pre class="eval">void setLoginSavingEnabled(
- in AString aHost,
- in boolean isEnabled
-);
-</pre>
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-<dl>
- <dt>
- <code>aHost</code></dt>
- <dd>
- The hostname to adjust the setting for. This argument should be in the origin URL format, with no pathname. For example: <span class="nowiki">"https://www.site.com"</span>.</dd>
- <dt>
- <code>isEnabled</code></dt>
- <dd>
- If <code>true</code>, login saving is enabled for the specified host. If <code>false</code>, login saving is disabled.</dd>
-</dl>
-<h2 id="See_also" name="See_also">See also</h2>
-<ul>
- <li><code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginInfo" title="">nsILoginInfo</a></code></li>
- <li><a href="/en/XPCOM_Interface_Reference/nsILoginManager/Using_nsILoginManager" title="en/Using_nsILoginManager">Using nsILoginManager</a></li>
-</ul>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/attribute/accesskey/index.html b/files/ko/mozilla/tech/xul/attribute/accesskey/index.html
deleted file mode 100644
index 611ef87975..0000000000
--- a/files/ko/mozilla/tech/xul/attribute/accesskey/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: accesskey
-slug: Mozilla/Tech/XUL/Attribute/accesskey
-tags:
- - XUL Attributes
-translation_of: Archive/Mozilla/XUL/Attribute/accesskey
----
-<div class="noinclude">
- <span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/ko/docs/XUL_Reference">XUL Reference home</a></span></div>
-<div class="noinclude">
- <dl>
- <dd>
- 사용요소: <code><a href="/ko/docs/Mozilla/Tech/XUL/button" title="button">button</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/checkbox" title="checkbox">checkbox</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/caption" title="caption">caption</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/description" title="description">description</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/label" title="label">label</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/listitem" title="listitem">listitem</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/radio" title="radio">radio</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarbutton" title="toolbarbutton">toolbarbutton</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/textbox (Firefox autocomplete)" title="textbox (Firefox autocomplete)">textbox (Firefox autocomplete)</a></code></dd>
- </dl>
-</div>
-<dl>
- <dt>
- <code id="a-accesskey"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code></dt>
- <dd>
- 타입:
- <i>
- character</i>
- </dd>
- <dd>
- 이 속성에는 단축키로 사용될 문자를 지정합니다. 문자는 대상 요소의 <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> 속성값인 텍스트에 포함된 문자 중 하나를 사용하는 것이 좋습니다.
- <div class="noinclude">
- 문자는 보통 밑줄이 그어져 출력되며, 이는 플랫폼과 테마에 따라 다를 수 있습니다. 사용자가 Alt(또는 플랫폼에 따라 다른 키)와 단축키를 같이 누르면 창의 어디에 있든 해당 요소가 활성화 됩니다. <b>속성값은 대소문자를 구분하지 않지만 라벨에 대문자와 소문자가 같이 있다면 accesskey 속성과 동일한 문자가 사용됩니다.</b></div>
- </dd>
-</dl>
-<h4 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h4>
-<div class="float-right">
- <img alt="Image:XUL_ref_accesskey_attr.png"></div>
-<pre>&lt;vbox&gt;
- &lt;label value="Enter Name" accesskey="e" control="myName"/&gt;
- &lt;textbox id="myName"/&gt;
- &lt;button label="Cancel" accesskey="n"/&gt;
- &lt;button label="Ok" accesskey="O"/&gt;
-&lt;/vbox&gt;
-</pre>
-<h4 id=".EB.98.90_.EB.B3.BC_.EA.B3.B3" name=".EB.98.90_.EB.B3.BC_.EA.B3.B3">또 볼 곳</h4>
-<p><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> attribute, <code id="a-acceltext"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/acceltext">acceltext</a></code> attribute</p>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/attribute/currentset/index.html b/files/ko/mozilla/tech/xul/attribute/currentset/index.html
deleted file mode 100644
index 2f597090c5..0000000000
--- a/files/ko/mozilla/tech/xul/attribute/currentset/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: currentset
-slug: Mozilla/Tech/XUL/Attribute/currentset
-tags:
- - MDC Project
- - NeedsTechnicalReview
- - XUL Attributes
-translation_of: Archive/Mozilla/XUL/Attribute/currentset
----
-<div class="noinclude">
- <span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/ko/docs/XUL_Reference">XUL Reference home</a></span></div>
-<dl>
- <dt>
- <code id="a-currentset"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/currentset">currentset</a></code></dt>
- <dd>
- <b><span class="highlightred">Firefox only</span></b></dd>
- <dd>
- 타입:
- <i>
- comma-separated string</i>
- </dd>
- <dd>
- 현재 <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>에 출력되는 항목의 집합입니다. 이 집합은 사용자가 툴바를 커스터마이징(사용자 지정) 할 경우 변경될 수 있습니다. 속성값은 쉼표(,)로 분리된 <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarpalette" title="toolbarpalette">toolbarpalette</a></code>에 있는 항목들의 ID 목록이어야 하며, 추가적으로 "<code>separator</code>", "<code>spring</code>", "<code>spacer</code>"의 문자열을 포함할 수 있습니다.</dd>
-</dl>
-<p><span class="comment">this isn't necessary the *current* set, i.e. it might not be equal the value of the currentSet property which is computed from the actual DOM</span></p>
diff --git a/files/ko/mozilla/tech/xul/attribute/image.onload/index.html b/files/ko/mozilla/tech/xul/attribute/image.onload/index.html
deleted file mode 100644
index a8b0c5020a..0000000000
--- a/files/ko/mozilla/tech/xul/attribute/image.onload/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: image.onload
-slug: Mozilla/Tech/XUL/Attribute/image.onload
-translation_of: Archive/Mozilla/XUL/Attribute/image.onload
----
-<div class="noinclude"><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/ko/docs/XUL_Reference">XUL Reference home</a></span></div>
-
-<dl>
- <dt><code id="a-image.onload"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/image.onload">image.onload</a></code></dt>
- <dd>Type: <em>script code</em></dd>
- <dd>이 이벤트 핸들러는 이미지 로딩이 완료 되었을때 <code><a href="/ko/docs/Mozilla/Tech/XUL/image" title="image">image</a></code> element에서 호출됩니다. This applies whether the image is applied via the <code id="a-src"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code> attribute or the <code>list-style-image</code> style property. If you change the image, the event will fire again when the new image loads. This event will not bubble up the element tree.</dd>
-</dl>
diff --git a/files/ko/mozilla/tech/xul/attribute/index.html b/files/ko/mozilla/tech/xul/attribute/index.html
deleted file mode 100644
index 6091401093..0000000000
--- a/files/ko/mozilla/tech/xul/attribute/index.html
+++ /dev/null
@@ -1,270 +0,0 @@
----
-title: Attributes
-slug: Mozilla/Tech/XUL/Attribute
-tags:
- - XUL Attributes
-translation_of: Archive/Mozilla/XUL/Attribute
----
-<p><span class="breadcrumbs xulRefAttr_breadcrumbs">« <a href="/ko/docs/XUL_Reference">XUL Reference home</a></span></p>
-<ul>
- <li><a href="ko/XUL/Attribute/acceltext">acceltext</a></li>
- <li><a href="ko/XUL/Attribute/accessible">accessible</a></li>
- <li><a href="ko/XUL/Attribute/accesskey">accesskey</a></li>
- <li><a href="ko/XUL/Attribute/afterselected">afterselected</a></li>
- <li><a href="ko/XUL/Attribute/align">align</a></li>
- <li><a href="ko/XUL/Attribute/allowevents">allowevents</a></li>
- <li><a href="ko/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></li>
- <li><a href="ko/XUL/Attribute/alternatingbackground">alternatingbackground</a></li>
- <li><a href="ko/XUL/Attribute/alwaysopenpopup">alwaysopenpopup</a></li>
- <li><a href="ko/XUL/Attribute/attribute">attribute</a></li>
- <li><a href="ko/XUL/Attribute/autocheck">autocheck</a></li>
- <li><a href="ko/XUL/Attribute/autoCheck">autoCheck</a></li>
- <li><a href="ko/XUL/Attribute/autocompleteenabled">autocompleteenabled</a></li>
- <li><a href="ko/XUL/Attribute/autocompletepopup">autocompletepopup</a></li>
- <li><a href="ko/XUL/Attribute/autocompletesearch">autocompletesearch</a></li>
- <li><a href="ko/XUL/Attribute/autocompletesearchparam">autocompletesearchparam</a></li>
- <li><a href="ko/XUL/Attribute/autoFill">autoFill</a></li>
- <li><a href="ko/XUL/Attribute/autoFillAfterMatch">autoFillAfterMatch</a></li>
- <li><a href="ko/XUL/Attribute/autoscroll">autoscroll</a></li>
- <li><a href="ko/XUL/Attribute/beforeselected">beforeselected</a></li>
- <li><a href="ko/XUL/Attribute/buttonaccesskeyaccept">buttonaccesskeyaccept</a></li>
- <li><a href="ko/XUL/Attribute/buttonaccesskeycancel">buttonaccesskeycancel</a></li>
- <li><a href="ko/XUL/Attribute/buttonaccesskeydisclosure">buttonaccesskeydisclosure</a></li>
- <li><a href="ko/XUL/Attribute/buttonaccesskeyextra1">buttonaccesskeyextra1</a></li>
- <li><a href="ko/XUL/Attribute/buttonaccesskeyextra2">buttonaccesskeyextra2</a></li>
- <li><a href="ko/XUL/Attribute/buttonaccesskeyhelp">buttonaccesskeyhelp</a></li>
- <li><a href="ko/XUL/Attribute/buttonalign">buttonalign</a></li>
- <li><a href="ko/XUL/Attribute/buttondir">buttondir</a></li>
- <li><a href="ko/XUL/Attribute/buttonlabelaccept">buttonlabelaccept</a></li>
- <li><a href="ko/XUL/Attribute/buttonlabelcancel">buttonlabelcancel</a></li>
- <li><a href="ko/XUL/Attribute/buttonlabeldisclosure">buttonlabeldisclosure</a></li>
- <li><a href="ko/XUL/Attribute/buttonlabelextra1">buttonlabelextra1</a></li>
- <li><a href="ko/XUL/Attribute/buttonlabelextra2">buttonlabelextra2</a></li>
- <li><a href="ko/XUL/Attribute/buttonlabelhelp">buttonlabelhelp</a></li>
- <li><a href="ko/XUL/Attribute/buttonorient">buttonorient</a></li>
- <li><a href="ko/XUL/Attribute/buttonpack">buttonpack</a></li>
- <li><a href="ko/XUL/Attribute/buttons">buttons</a></li>
- <li><a href="ko/XUL/Attribute/checked">checked</a></li>
- <li><a href="ko/XUL/Attribute/checkState">checkState</a></li>
- <li><a href="ko/XUL/Attribute/class">class</a></li>
- <li><a href="ko/XUL/Attribute/closebutton">closebutton</a></li>
- <li><a href="ko/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></li>
- <li><a href="ko/XUL/Attribute/collapse">collapse</a></li>
- <li><a href="ko/XUL/Attribute/collapsed">collapsed</a></li>
- <li><a href="ko/XUL/Attribute/color">color</a></li>
- <li><a href="ko/XUL/Attribute/cols">cols</a></li>
- <li><a href="ko/XUL/Attribute/command">command</a></li>
- <li><a href="ko/XUL/Attribute/commandupdater">commandupdater</a></li>
- <li><a href="ko/XUL/Attribute/completedefaultindex">completedefaultindex</a></li>
- <li><a href="ko/XUL/Attribute/container">container</a></li>
- <li><a href="ko/XUL/Attribute/containment">containment</a></li>
- <li><a href="ko/XUL/Attribute/contentcontextmenu">contentcontextmenu</a></li>
- <li><a href="ko/XUL/Attribute/contenttooltip">contenttooltip</a></li>
- <li><a href="ko/XUL/Attribute/context">context</a></li>
- <li><a href="ko/XUL/Attribute/contextmenu">contextmenu</a></li>
- <li><a href="ko/XUL/Attribute/control">control</a></li>
- <li><a href="ko/XUL/Attribute/crop">crop</a></li>
- <li><a href="ko/XUL/Attribute/curpos">curpos</a></li>
- <li><a href="ko/XUL/Attribute/current">current</a></li>
- <li><a href="ko/XUL/Attribute/currentset">currentset</a></li>
- <li><a href="ko/XUL/Attribute/customindex">customindex</a></li>
- <li><a href="ko/XUL/Attribute/customizable">customizable</a></li>
- <li><a href="ko/XUL/Attribute/cycler">cycler</a></li>
- <li><a href="ko/XUL/Attribute/datasources">datasources</a></li>
- <li><a href="ko/XUL/Attribute/default">default</a></li>
- <li><a href="ko/XUL/Attribute/defaultButton">defaultButton</a></li>
- <li><a href="ko/XUL/Attribute/defaultset">defaultset</a></li>
- <li><a href="ko/XUL/Attribute/description">description</a></li>
- <li><a href="ko/XUL/Attribute/dir">dir</a></li>
- <li><a href="ko/XUL/Attribute/disableAutocomplete">disableAutocomplete</a></li>
- <li><a href="ko/XUL/Attribute/disableautocomplete">disableautocomplete</a></li>
- <li><a href="ko/XUL/Attribute/disableautoselect">disableautoselect</a></li>
- <li><a href="ko/XUL/Attribute/disableclose">disableclose</a></li>
- <li><a href="ko/XUL/Attribute/disabled">disabled</a></li>
- <li><a href="ko/XUL/Attribute/disablehistory">disablehistory</a></li>
- <li><a href="ko/XUL/Attribute/disableKeyNavigation">disableKeyNavigation</a></li>
- <li><a href="ko/XUL/Attribute/disablekeynavigation">disablekeynavigation</a></li>
- <li><a href="ko/XUL/Attribute/disablesecurity">disablesecurity</a></li>
- <li><a href="ko/XUL/Attribute/dlgType">dlgType</a></li>
- <li><a href="ko/XUL/Attribute/dragging">dragging</a></li>
- <li><a href="ko/XUL/Attribute/editable">editable</a></li>
- <li><a href="ko/XUL/Attribute/editortype">editortype</a></li>
- <li><a href="ko/XUL/Attribute/element">element</a></li>
- <li><a href="ko/XUL/Attribute/empty">empty</a></li>
- <li><a href="ko/XUL/Attribute/enableColumnDrag">enableColumnDrag</a></li>
- <li><a href="ko/XUL/Attribute/enablehistory">enablehistory</a></li>
- <li><a href="ko/XUL/Attribute/equalsize">equalsize</a></li>
- <li><a href="ko/XUL/Attribute/eventnode">eventnode</a></li>
- <li><a href="ko/XUL/Attribute/events">events</a></li>
- <li><a href="ko/XUL/Attribute/firstpage">firstpage</a></li>
- <li><a href="ko/XUL/Attribute/first-tab">first-tab</a></li>
- <li><a href="ko/XUL/Attribute/fixed">fixed</a></li>
- <li><a href="ko/XUL/Attribute/flags">flags</a></li>
- <li><a href="ko/XUL/Attribute/flex">flex</a></li>
- <li><a href="ko/XUL/Attribute/focused">focused</a></li>
- <li><a href="ko/XUL/Attribute/forceComplete">forceComplete</a></li>
- <li><a href="ko/XUL/Attribute/forcecomplete">forcecomplete</a></li>
- <li><a href="ko/XUL/Attribute/grippyhidden">grippyhidden</a></li>
- <li><a href="ko/XUL/Attribute/grippytooltiptext">grippytooltiptext</a></li>
- <li><a href="ko/XUL/Attribute/group">group</a></li>
- <li><a href="ko/XUL/Attribute/handleCtrlPageUpDown">handleCtrlPageUpDown</a></li>
- <li><a href="ko/XUL/Attribute/handleCtrlTab">handleCtrlTab</a></li>
- <li><a href="ko/XUL/Attribute/height">height</a></li>
- <li><a href="ko/XUL/Attribute/helpURI">helpURI</a></li>
- <li><a href="ko/XUL/Attribute/hidden">hidden</a></li>
- <li><a href="ko/XUL/Attribute/hidechrome">hidechrome</a></li>
- <li><a href="ko/XUL/Attribute/hidecolumnpicker">hidecolumnpicker</a></li>
- <li><a href="ko/XUL/Attribute/hideheader">hideheader</a></li>
- <li><a href="ko/XUL/Attribute/homepage">homepage</a></li>
- <li><a href="ko/XUL/Attribute/icon">icon</a></li>
- <li><a href="ko/XUL/Attribute/id">id</a></li>
- <li><a href="ko/XUL/Attribute/ignoreBlurWhileSearching">ignoreBlurWhileSearching</a></li>
- <li><a href="ko/XUL/Attribute/ignoreblurwhilesearching">ignorebluewhilesearching</a></li>
- <li><a href="ko/XUL/Attribute/ignorecolumnpicker">ignorecolumnpicker</a></li>
- <li><a href="ko/XUL/Attribute/ignorekeys">ignorekeys</a></li>
- <li><a href="ko/XUL/Attribute/image">image</a></li>
- <li><a href="ko/XUL/Attribute/increment">increment</a></li>
- <li><a href="ko/XUL/Attribute/inputtooltiptext">inputtooltiptext</a></li>
- <li><a href="ko/XUL/Attribute/insertafter">insertafter</a></li>
- <li><a href="ko/XUL/Attribute/insertbefore">insertbefore</a></li>
- <li><a href="ko/XUL/Attribute/instantApply">instantApply</a></li>
- <li><a href="ko/XUL/Attribute/inverted">inverted</a></li>
- <li><a href="ko/XUL/Attribute/iscontainer">iscontainer</a></li>
- <li><a href="ko/XUL/Attribute/isempty">isempty</a></li>
- <li><a href="ko/XUL/Attribute/key">key</a></li>
- <li><a href="ko/XUL/Attribute/keycode">keycode</a></li>
- <li><a href="ko/XUL/Attribute/keytext">keytext</a></li>
- <li><a href="ko/XUL/Attribute/label">label</a></li>
- <li><a href="ko/XUL/Attribute/lastpage">lastpage</a></li>
- <li><a href="ko/XUL/Attribute/lastSelected">lastSelected</a></li>
- <li><a href="ko/XUL/Attribute/last-tab">last-tab</a></li>
- <li><a href="ko/XUL/Attribute/left">left</a></li>
- <li><a href="ko/XUL/Attribute/linkedpanel">linkedpanel</a></li>
- <li><a href="ko/XUL/Attribute/maxheight">maxheight</a></li>
- <li><a href="ko/XUL/Attribute/maxlength">maxlength</a></li>
- <li><a href="ko/XUL/Attribute/maxpos">maxpos</a></li>
- <li><a href="ko/XUL/Attribute/maxrows">maxrows</a></li>
- <li><a href="ko/XUL/Attribute/maxwidth">maxwidth</a></li>
- <li><a href="ko/XUL/Attribute/member">member</a></li>
- <li><a href="ko/XUL/Attribute/menu">menu</a></li>
- <li><a href="ko/XUL/Attribute/menuactive">menuactive</a></li>
- <li><a href="ko/XUL/Attribute/minheight">minheight</a></li>
- <li><a href="ko/XUL/Attribute/minResultsForPopup">minResultsForPopup</a></li>
- <li><a href="ko/XUL/Attribute/minresultsforpopup">minresultsforpopup</a></li>
- <li><a href="ko/XUL/Attribute/minwidth">minwidth</a></li>
- <li><a href="ko/XUL/Attribute/mode">mode</a></li>
- <li><a href="ko/XUL/Attribute/modifiers">modifiers</a></li>
- <li><a href="ko/XUL/Attribute/mousethrough">mousethrough</a></li>
- <li><a href="ko/XUL/Attribute/multiline">multiline</a></li>
- <li><a href="ko/XUL/Attribute/name">name</a></li>
- <li><a href="ko/XUL/Attribute/next">next</a></li>
- <li><a href="ko/XUL/Attribute/noautohide">noautohide</a></li>
- <li><a href="ko/XUL/Attribute/nomatch">nomatch</a></li>
- <li><a href="ko/XUL/Attribute/observes">observes</a></li>
- <li><a href="ko/XUL/Attribute/onbeforeaccept">onbeforeaccept</a></li>
- <li><a href="ko/XUL/Attribute/onbookmarkgroup">onbookmarkgroup</a></li>
- <li><a href="ko/XUL/Attribute/onchange">onchange</a></li>
- <li><a href="ko/XUL/Attribute/onclosetab">onclosetab</a></li>
- <li><a href="ko/XUL/Attribute/oncommand">oncommand</a></li>
- <li><a href="ko/XUL/Attribute/oncommandupdate">oncommandupdate</a></li>
- <li><a href="ko/XUL/Attribute/ondialogaccept">ondialogaccept</a></li>
- <li><a href="ko/XUL/Attribute/ondialogcancel">ondialogcancel</a></li>
- <li><a href="ko/XUL/Attribute/ondialogdisclosure">ondialogclosure</a></li>
- <li><a href="ko/XUL/Attribute/ondialoghelp">ondialoghelp</a></li>
- <li><a href="ko/XUL/Attribute/onerror">onerror</a></li>
- <li><a href="ko/XUL/Attribute/onerrorcommand">onerrorcommand</a></li>
- <li><a href="ko/XUL/Attribute/oninput">oninput</a></li>
- <li><a href="ko/XUL/Attribute/onload">onload</a></li>
- <li><a href="ko/XUL/Attribute/onnewtab">onnewtab</a></li>
- <li><a href="ko/XUL/Attribute/onpageadvanced">onpageadvanced</a></li>
- <li><a href="ko/XUL/Attribute/onpagehide">onpagehide</a></li>
- <li><a href="ko/XUL/Attribute/onpagerewound">onpagerewound</a></li>
- <li><a href="ko/XUL/Attribute/onpageshow">onpageshow</a></li>
- <li><a href="ko/XUL/Attribute/onpanelload">onpanelload</a></li>
- <li><a href="ko/XUL/Attribute/onpopuphidden">onpopuphidden</a></li>
- <li><a href="ko/XUL/Attribute/onpopuphiding">onpopuphiding</a></li>
- <li><a href="ko/XUL/Attribute/onpopupshowing">onpopupshowing</a></li>
- <li><a href="ko/XUL/Attribute/onpopupshown">onpopupshown</a></li>
- <li><a href="ko/XUL/Attribute/onsearchcomplete">onsearchcomplete</a></li>
- <li><a href="ko/XUL/Attribute/onselect">onselect</a></li>
- <li><a href="ko/XUL/Attribute/ontextcommand">ontextcommand</a></li>
- <li><a href="ko/XUL/Attribute/ontextentered">ontextentered</a></li>
- <li><a href="ko/XUL/Attribute/ontextrevert">ontextrevert</a></li>
- <li><a href="ko/XUL/Attribute/ontextreverted">ontextreverted</a></li>
- <li><a href="ko/XUL/Attribute/onwizardback">onwizardback</a></li>
- <li><a href="ko/XUL/Attribute/onwizardcancel">onwizardcancel</a></li>
- <li><a href="ko/XUL/Attribute/onwizardfinish">onwizardfinish</a></li>
- <li><a href="ko/XUL/Attribute/onwizardnext">onwizardnext</a></li>
- <li><a href="ko/XUL/Attribute/open">open</a></li>
- <li><a href="ko/XUL/Attribute/ordinal">ordinal</a></li>
- <li><a href="ko/XUL/Attribute/orient">orient</a></li>
- <li><a href="ko/XUL/Attribute/pack">pack</a></li>
- <li><a href="ko/XUL/Attribute/pageid">pageid</a></li>
- <li><a href="ko/XUL/Attribute/pageincrement">pageincrement</a></li>
- <li><a href="ko/XUL/Attribute/pagestep">pagestep</a></li>
- <li><a href="ko/XUL/Attribute/parent">parent</a></li>
- <li><a href="ko/XUL/Attribute/parsetype">parsetype</a></li>
- <li><a href="ko/XUL/Attribute/persist">persist</a></li>
- <li><a href="ko/XUL/Attribute/phase">phase</a></li>
- <li><a href="ko/XUL/Attribute/pickertooltiptext">pickertooltiptext</a></li>
- <li><a href="ko/XUL/Attribute/popup">popup</a></li>
- <li><a href="ko/XUL/Attribute/position">position</a></li>
- <li><a href="ko/XUL/Attribute/preference">preference</a></li>
- <li><a href="ko/XUL/Attribute/preference-editable">preference-editable</a></li>
- <li><a href="ko/XUL/Attribute/primary">primary</a></li>
- <li><a href="ko/XUL/Attribute/properties">properties</a></li>
- <li><a href="ko/XUL/Attribute/readonly">readonly</a></li>
- <li><a href="ko/XUL/Attribute/ref">ref</a></li>
- <li><a href="ko/XUL/Attribute/removeelement">removeelement</a></li>
- <li><a href="ko/XUL/Attribute/resizeafter">resizeafter</a></li>
- <li><a href="ko/XUL/Attribute/resizebefore">resizebefore</a></li>
- <li><a href="ko/XUL/Attribute/rows">rows</a></li>
- <li><a href="ko/XUL/Attribute/screenX">screenX</a></li>
- <li><a href="ko/XUL/Attribute/screenY">screenY</a></li>
- <li><a href="ko/XUL/Attribute/searchSessions">searchSessions</a></li>
- <li><a href="ko/XUL/Attribute/selected">selected</a></li>
- <li><a href="ko/XUL/Attribute/selectedIndex">selectedIndex</a></li>
- <li><a href="ko/XUL/Attribute/seltype">seltype</a></li>
- <li><a href="ko/XUL/Attribute/setfocus">setfocus</a></li>
- <li><a href="ko/XUL/Attribute/showCommentColumn">showCommentColumn</a></li>
- <li><a href="ko/XUL/Attribute/showcommentcolumn">showcommentcolumn</a></li>
- <li><a href="ko/XUL/Attribute/showpopup">showpopup</a></li>
- <li><a href="ko/XUL/Attribute/size">size</a></li>
- <li><a href="ko/XUL/Attribute/sizemode">sizemode</a></li>
- <li><a href="ko/XUL/Attribute/sizetopopup">sizetopopup</a></li>
- <li><a href="ko/XUL/Attribute/sort">sort</a></li>
- <li><a href="ko/XUL/Attribute/sortActive">sortActive</a></li>
- <li><a href="ko/XUL/Attribute/sortDirection">sortDirection</a></li>
- <li><a href="ko/XUL/Attribute/sortResource">sortResource</a></li>
- <li><a href="ko/XUL/Attribute/sortResource2">sortResource2</a></li>
- <li><a href="ko/XUL/Attribute/src">src</a></li>
- <li><a href="ko/XUL/Attribute/state">state</a></li>
- <li><a href="ko/XUL/Attribute/statedatasource">statedatasource</a></li>
- <li><a href="ko/XUL/Attribute/statusbar">statusbar</a></li>
- <li><a href="ko/XUL/Attribute/statustext">statustext</a></li>
- <li><a href="ko/XUL/Attribute/style">style</a></li>
- <li><a href="ko/XUL/Attribute/substate">substate</a></li>
- <li><a href="ko/XUL/Attribute/suppressonselect">suppressonselect</a></li>
- <li><a href="ko/XUL/Attribute/tabindex">tabindex</a></li>
- <li><a href="ko/XUL/Attribute/tabScrolling">tabScrolling</a></li>
- <li><a href="ko/XUL/Attribute/tabscrolling">tabscrolling</a></li>
- <li><a href="ko/XUL/Attribute/targets">targets</a></li>
- <li><a href="ko/XUL/Attribute/template">template</a></li>
- <li><a href="ko/XUL/Attribute/timeout">timeout</a></li>
- <li><a href="ko/XUL/Attribute/title">title</a></li>
- <li><a href="ko/XUL/Attribute/toolbarname">toolbarname</a></li>
- <li><a href="ko/XUL/Attribute/tooltip">tooltip</a></li>
- <li><a href="ko/XUL/Attribute/tooltiptext">tooltiptext</a></li>
- <li><a href="ko/XUL/Attribute/tooltiptextnew">tooltiptextnew</a></li>
- <li><a href="ko/XUL/Attribute/top">top</a></li>
- <li><a href="ko/XUL/Attribute/type">type</a></li>
- <li><a href="ko/XUL/Attribute/uri">uri</a></li>
- <li><a href="ko/XUL/Attribute/userAction">userAction</a></li>
- <li><a href="ko/XUL/Attribute/validate">validate</a></li>
- <li><a href="ko/XUL/Attribute/value">value</a></li>
- <li><a href="ko/XUL/Attribute/wait-cursor">wait-cursor</a></li>
- <li><a href="ko/XUL/Attribute/width">width</a></li>
- <li><a href="ko/XUL/Attribute/windowtype">windowtype</a></li>
- <li><a href="ko/XUL/Attribute/wrap">wrap</a></li>
-</ul>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/index.html b/files/ko/mozilla/tech/xul/index.html
deleted file mode 100644
index d2517521b3..0000000000
--- a/files/ko/mozilla/tech/xul/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: XUL
-slug: Mozilla/Tech/XUL
-tags:
- - XUL
-translation_of: Archive/Mozilla/XUL
----
-<div class="callout-box"><strong><a href="/ko/XUL_Tutorial" title="ko/XUL_Tutorial">XUL 입문서</a></strong><br>
-처음 XUL을 시작하는 사람을 위한 안내서입니다. 원문은 XULPlanet 에 있습니다.</div>
-<div><strong>XUL</strong> (XML User Interface Language)은 Mozilla의 <a href="/ko/XML" title="ko/XML">XML</a> 기반 언어로 인터넷과 연결되거나 또는 연결되지 않은 채로 동작하는 풍부한 기능을 제공하는 크로스 플랫폼 응용프로그램을 만들 수 있게 해줍니다. 이렇게 만들어진 응용프로그램은 텍스트나 그래픽, 배치 등을 쉽게 바꿀 수 있기 때문에 여러가지 요구에 맞게 즉시 상품화나 지역화 해 내어놓을 수 있습니다. 다이나믹 HTML (<a href="/ko/DHTML" title="ko/DHTML">DHTML</a>)에 친숙한 웹 개발자들은 XUL을 금방 배워서 바로 응용프로그램을 만들어 볼 수 있을 것입니다. XUL 데모(demo)를 조금 보려면 Firefox나 다른 <a href="/ko/Gecko" title="ko/Gecko">Gecko</a> 기반 브라우저에서 <a class="external" href="http://www.hevanet.com/acorbin/xul/top.xul">XUL 주기표</a>를 여세요.</div>
-<table class="topicpage-table"> <tbody> <tr> <td> <h4 id="문서"><a href="/Special:Tags?tag=XUL&amp;language=ko" title="Special:Tags?tag=XUL&amp;language=ko">문서</a></h4> <dl> <dt> <a href="/ko/XUL_Reference" title="ko/XUL_Reference">XUL 레퍼런스</a> </dt> <dd> <small>MDC에 있는 <a href="/ko/Preferences_System" title="ko/Preferences_System">prefwindow</a> 관련 문서도 보시기 바랍니다.</small> </dd> </dl> <dl> <dt> <a href="/ko/XUL_controls" title="ko/XUL_controls">XUL 컨트롤</a> </dt> <dd> <small>XUL에서 사용할 수 있는 컨트롤들의 목록입니다.</small> </dd> </dl> <dl> <dt> <a href="/ko/The_Joy_of_XUL" title="ko/The_Joy_of_XUL">XUL 개요</a> </dt> <dd> <small>XUL의 주요 특징과 구성요소들을 설명합니다.</small> </dd> </dl> <dl> <dt> <a href="/ko/XUL/PopupGuide" title="ko/XUL/PopupGuide">메뉴와 팝업 가이드</a> </dt> <dd> <small>메뉴와 팝업 판넬 사용 가이드</small> </dd> </dl> <dl> <dt> <a href="/ko/XUL/Template_Guide" title="ko/XUL/Template_Guide">템플릿 안내</a> </dt> <dd> <small>데이터소스로 부터 컨텐츠를 만드는 방법인 XUL 템플릿에 대한 자세한 안내. </small> </dd> </dl> <dl> <dt> <a href="/ko/XUL_Overlays" title="ko/XUL_Overlays">오버레이</a> </dt> <dd> <small>XUL 오버레이에 대한 글. 오버레이는 UI에 대한 추가적인 내용을 기술하기 위해서 사용됩니다. 그럼으로써 기존의 XUL 애플리케이션을 확장하고 커스터마이징하는 강력한 수단을 제공합니다. </small> </dd> </dl> <dl> <dt> <a href="/ko/XUL_improvements_in_Firefox_3" title="ko/XUL_improvements_in_Firefox_3">XUL 애플리케이션을 Firefox 3.0에 맞게 개조하기</a> </dt> <dd> <small>XUL 개발자에 영향을 미치는 <a href="/ko/Firefox_3_for_developers" title="ko/Firefox_3_for_developers">Firefox 3.0</a>에서 바뀐 점.</small> </dd> </dl> <dl> <dt> <a href="/ko/Firefox_2_for_developers#For_XUL_and_extension_developers" title="ko/Firefox_2_for_developers#For_XUL_and_extension_developers">XUL 애플리케이션을 Firefox 2.0에 맞게 개조하기</a> </dt> <dd> <small>XUL 개발자에 영향을 미치는 <a href="/ko/Firefox_2_for_developers" title="ko/Firefox_2_for_developers">Firefox 2.0</a>에서 바뀐 점.</small> </dd> </dl> <dl> <dt> <a href="/ko/Adapting_XUL_Applications_for_Firefox_1.5" title="ko/Adapting_XUL_Applications_for_Firefox_1.5">XUL 애플리케이션을 Firefox 1.5에 맞게 개조하기</a> </dt> <dd> <small>XUL 개발자에 영향을 미치는 <a href="/ko/Firefox_1.5_for_developers" title="ko/Firefox_1.5_for_developers">Firefox 1.5</a>에서 바뀐 점.</small> </dd> </dl> <p><span><a href="/Special:Tags?tag=XUL&amp;language=ko" title="Special:Tags?tag=XUL&amp;language=ko">모두 보기...</a></span></p> </td> <td> <h4 id="커뮤니티">커뮤니티</h4> <ul> <li>Mozilla 포럼 보기...</li> </ul> <p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-xul"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xul"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xul/feeds"> 웹 Feed</a></li>
-</ul><p></p> <ul> <li><a class="link-irc" href="irc://irc.mozilla.org/xul">irc.mozilla.org #xul 채널</a></li> </ul> <h4 id="도구">도구</h4>
-<ul> <li><a href="/ko/XUL_Explorer" title="ko/XUL_Explorer">XUL Explorer</a> (경량 XUL IDE)</li> <li><a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">확장 기능 개발자를 위한 확장</a> (실시간 XUL 편집기능 포함)</li> <li><a class="external" href="http://www.extensionsmirror.nl/index.php?showtopic=751">XULRef 사이드바</a></li> <li><a class="external" href="http://www.getfirebug.com/">Firebug</a></li> <li><a href="/ko/DOM_Inspector" title="ko/DOM_Inspector">DOM 검사기</a></li> <li><a class="external" href="http://www.spket.com/">Spket IDE</a>, XUL/XBL용 IDE</li> <li><a class=" external" href="http://www.amplesdk.com/" title="http://www.amplesdk.com/">Ample SDK</a>, (JavaScript/HTML 기반의 크로스 브라우저 XUL 렌더러 )</li>
-</ul>
-<p><span><a href="/Special:Tags?tag=XUL:Tools&amp;language=ko" title="Special:Tags?tag=XUL:Tools&amp;language=ko">모두 보기...</a></span></p><h4 id="관련_주제">관련 주제</h4> <dl> <dd> <a href="/ko/JavaScript" title="ko/JavaScript">JavaScript</a>, <a href="/ko/XBL" title="ko/XBL">XBL</a>, <a href="/ko/CSS" title="ko/CSS">CSS</a>, <a href="/ko/RDF" title="ko/RDF">RDF</a>, <a href="/ko/Extensions" title="ko/Extensions">확장 기능</a>, <a href="/ko/XULRunner" title="ko/XULRunner">XULRunner</a> </dd> </dl> </td> </tr> </tbody>
-</table>
-<p><span>Categories</span></p>
-<p><span>Interwiki Language Links</span></p>
-<p> </p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/menu/index.html b/files/ko/mozilla/tech/xul/menu/index.html
deleted file mode 100644
index fa3a01a593..0000000000
--- a/files/ko/mozilla/tech/xul/menu/index.html
+++ /dev/null
@@ -1,338 +0,0 @@
----
-title: menu
-slug: Mozilla/Tech/XUL/menu
-translation_of: Archive/Mozilla/XUL/menu
----
-<div class="noinclude">
- <span class="breadcrumbs XULRef_breadcrumbs">
- « <a href="/ko/docs/XUL_Reference">XUL Reference home</a> [
- <a href="#Examples">예제</a> |
- <a href="#Attributes">Attributes</a> |
- <a href="#Properties">Properties</a> |
- <a href="#Methods">Methods</a> |
- <a href="#Related">관련 항목</a> ]
-</span></div>
-<p>이 엘리먼트는 <code><a href="/ko/docs/Mozilla/Tech/XUL/menubar" title="menubar">menubar</a></code>에 위치한 <code><a href="/ko/docs/Mozilla/Tech/XUL/button" title="button">button</a></code>과 비슷합니다. 사용자가 menu 엘리먼트를 클릭하면 <code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code>의 자식 메뉴를 표시해 줍니다.  menupopup엘리먼트는 서브메뉴를 만듭니다.</p>
-<p>더자세한 정보는 <a href="/en/XUL_Tutorial/Simple_Menu_Bars" title="en/XUL_Tutorial/Simple_Menu_Bars">XUL tutorial</a>를 참고하세요.</p>
-<dl>
- <dt>
- Attributes</dt>
- <dd>
- <a href="#a-acceltext">acceltext</a>, <a href="#a-accesskey">accesskey</a>, <a href="#a-allowevents">allowevents</a>, <a href="#a-command">command</a>, <a href="#a-crop">crop</a>, <a href="#a-disabled">disabled</a>, <a href="#a-image">image</a>, <a href="#a-label">label</a>, <a href="#a-menuactive">menuactive</a>, <a href="#a-open">open</a>, <a href="#a-sizetopopup">sizetopopup</a>, <a href="#a-tabindex">tabindex</a>, <a href="#a-value">value</a></dd>
-</dl>
-<dl>
- <dt>
- Properties</dt>
- <dd>
- <a href="#p-accessibleType">accessibleType</a>, <a href="#p-accessKey">accessKey</a>, <a href="#p-command">command</a>, <a href="#p-menuitem.control">control</a>, <a href="#p-crop">crop</a>, <a href="#p-disabled">disabled</a>, <a href="#p-image">image</a>, <a href="#p-itemCount">itemCount</a>, <a href="#p-label">label</a>, <a href="#p-labelElement">labelElement</a>, <a href="#p-menupopup">menupopup</a>, <a href="#p-menu.open">open</a>, <a href="#p-parentContainer">parentContainer</a>, <a href="#p-selected">selected</a>, <a href="#p-tabIndex">tabIndex</a>, <a href="#p-value">value</a></dd>
-</dl>
-<dl>
- <dt>
- Methods</dt>
- <dd>
- <a href="#m-appendItem">appendItem</a>, <a href="#m-getIndexOfItem">getIndexOfItem</a>, <a href="#m-getItemAtIndex">getItemAtIndex</a>, <a href="#m-insertItemAt">insertItemAt</a>, <a href="#m-removeItemAt">removeItemAt</a></dd>
- <dt>
- Style classes</dt>
- <dd>
- <a href="#s-menu-iconic">menu-iconic</a></dd>
-</dl>
-<h3 id="Example" name="Example">Example</h3>
-<pre class="brush: xml">&lt;menubar id="sample-menubar"&gt;
- &lt;menu id="file-menu" label="File"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menuitem label="New"/&gt;
- &lt;menuitem label="Open"/&gt;
- &lt;menuitem label="Save"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="Exit"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menu id="edit-menu" label="Edit"&gt;
- &lt;menupopup id="edit-popup"&gt;
- &lt;menuitem label="Undo"/&gt;
- &lt;menuitem label="Redo"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
-&lt;/menubar&gt;
-</pre>
-<h3 id="Attributes" name="Attributes">Attributes</h3>
-<p></p><div id="a-acceltext">
-
-<dl>
- <dt>
- <code id="a-acceltext"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/acceltext">acceltext</a></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- Text that appears beside the <code><a href="/en-US/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code> label to indicate the shortcut key (accelerator key) to use to invoke the command. If this value is set, it overrides an assigned key set in the key attribute. This attribute does not apply to menus directly on the menubar.</dd>
-</dl>
-</div><div id="a-accesskey">
-
-
-<dl>
- <dt>
- <code id="a-accesskey"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code></dt>
- <dd>
- 타입:
- <i>
- character</i>
- </dd>
- <dd>
- 이 속성에는 단축키로 사용될 문자를 지정합니다. 문자는 대상 요소의 <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> 속성값인 텍스트에 포함된 문자 중 하나를 사용하는 것이 좋습니다.
-
- </dd>
-</dl>
-<h4 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h4>
-<div class="float-right">
- <img alt="Image:XUL_ref_accesskey_attr.png"></div>
-<pre>&lt;vbox&gt;
- &lt;label value="Enter Name" accesskey="e" control="myName"/&gt;
- &lt;textbox id="myName"/&gt;
- &lt;button label="Cancel" accesskey="n"/&gt;
- &lt;button label="Ok" accesskey="O"/&gt;
-&lt;/vbox&gt;
-</pre>
-<h4 id=".EB.98.90_.EB.B3.BC_.EA.B3.B3" name=".EB.98.90_.EB.B3.BC_.EA.B3.B3">또 볼 곳</h4>
-<p><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> attribute, <code id="a-acceltext"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/acceltext">acceltext</a></code> attribute</p>
-
-<p></p>
-</div><div id="a-allowevents">
-
-<dl>
- <dt><code id="a-allowevents"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>If true, events are passed to children of the element. Otherwise, events are passed to the element only.</dd>
-</dl>
-
-
-
-
-</div><div id="a-crop">
-
-<dl>
- <dt>
- <code id="a-crop"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/crop">crop</a></code></dt>
- <dd>
- Type: <em>one of the values below</em></dd>
- <dd>
- If the label of the element is too big to fit in its given space, the text will be cropped on the side specified by the <code>crop</code> attribute. An ellipsis will be used in place of the cropped text. If the box direction is reversed, the cropping is reversed.</dd>
- <dd>
- <dl>
- <dt>
- <code>start</code></dt>
- <dd>
- The text will be cropped on its left side in left-to-right text locales, and the right side in right-to-left locales.</dd>
- <dt>
- <code>end</code></dt>
- <dd>
- The text will be cropped on its right side in left-to-right text locales, and the right side in right-to-left locales.</dd>
- <dt>
- <code>left</code></dt>
- <dd>
- <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> The text will be cropped on its left side.</dd>
- <dt>
- <code>right</code></dt>
- <dd>
- <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> The text will be cropped on its right side.</dd>
- <dt>
- <code>center</code></dt>
- <dd>
- The text will be cropped in the middle, showing both the start and end of the text normally.</dd>
- <dt>
- <code>none</code></dt>
- <dd>
- The text will be not be cropped using an ellipsis. However, the text will simply be cut off if it is too large. The side depends on the CSS text alignment.</dd>
- </dl>
- </dd>
- <dd>
- Depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped. If you wish to use the value <code>none</code> and the displayed text is larger than this maximum width, you may be able to use the max-width CSS property (or the maxwidth attribute) to override this size. For example, for a menuitem in a menu you can add the following CSS rule when you want to use the value <code>none</code>:</dd>
- <dd>
- <pre class="eval">menupopup &gt; menuitem, menupopup &gt; menu { max-width: none; }
-</pre>
- </dd>
-</dl>
-</div><div id="a-disabled">
-
-
-<dl>
- <dt><code id="a-disabled"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>Indicates whether the element is disabled or not. If this attribute is set, the element is disabled. Disabled elements are usually drawn with grayed-out text. If the element is disabled, it does not respond to user actions, it cannot be focused, and the <code>command</code> event will not fire. In the case of form elements, it will not be submitted. Do not set the attribute to <code>true</code>, as this will suggest you can set it to <code>false</code> to enable the element again, which is not the case.
-
- <div>The <code>disabled</code> attribute is allowed only for form controls. Using it with an anchor tag (an <code>&lt;a&gt;</code> link) will have no effect.</div>
-
- <div>
- The element will, however, still respond to mouse events. To enable the element, leave this attribute out entirely.</div>
- </dd>
- <dd>Visible controls have a <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/disabled">disabled</a></span></code> property which, except for menus and menuitems, is normally preferred to use of the attribute, as it may need to update additional state.</dd>
-</dl>
-
-
-</div><div id="a-label">
-
-
-<dl>
- <dt><code id="a-label"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The label that will appear on the element. If this is left out, no text appears. For an editable <code><a href="/en-US/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code> element the value of this attribute is copied to the <code><a href="/en-US/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code>.value property upon user selection of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code>.</dd>
-</dl>
-
-
-</div><div id="a-menuactive">
-
-
-<dl>
- <dt><code id="a-menuactive"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/menuactive">menuactive</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>This attribute is set on an item in a menu when it is being hovered over. Typcially, the theme will use this to highlight the item. A <code>DOMMenuItemActive</code> event will be sent to the item when the item is hovered over, and a <code>DOMMenuItemInactive</code> event will be sent to the item when the selection moves away.</dd>
-</dl>
-</div><div id="a-open">
-
-
-<dl>
- <dt><code id="a-open"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/open">open</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>For the <code>menu</code> <code id="a-type"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/type">type</a></code> buttons, the <code>open</code> attribute is set to <code>true</code> when the menu is open. The <code>open</code> attribute is not present if the menu is closed.</dd>
-</dl>
-</div><div id="a-sizetopopup">
-
-
-<dl>
- <dt><code id="a-sizetopopup"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sizetopopup">sizetopopup</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>Indicates how the menu width and the <code><a href="/en-US/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code> width are determined. If the <code>sizetopopup</code> attribute is left out or set to <code>none</code>, the menu will be its preferred width and the popup may extend outside of this width, unaffected by the maximum width of the menu itself. Otherwise, the menu will size itself to at least the size of the popup. If the menu has a maximum width, the popup will also be this width.</dd>
- <dd>
- <dl>
- <dt><code>none</code></dt>
- <dd>The width of the popup will not be constrained to the size of the menu.</dd>
- <dt><code>pref</code></dt>
- <dd>The preferred width of the menu label or button will be the size needed for the popup contents. This is the default value for menulists.</dd>
- <dt><code>always</code></dt>
- <dd>Both the preferred and minimum width of the menu label or button will be the same as that necessary for the <code><a href="/en-US/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code>.</dd>
- </dl>
- </dd>
-</dl>
-</div><div id="a-value">
-
-
-<dl>
- <dt><code id="a-value"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/value">value</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The string attribute allows you to associate a data value with an element. It is not used for any specific purpose, but you can access it with a script for your own use. Be aware, however, that some elements, such as textbox will display the value visually, so in order to merely associate data with an element, you could 1) Use another attribute like "value2" or "data-myAtt" (as in the HTML5 draft), as XUL does not require validation (less future-proof); 2) Use <a href="/en/DOM/element.setAttributeNS" title="en/DOM/element.setAttributeNS">setAttributeNS()</a> to put custom attributes in a non-XUL namespace (serializable and future-proof); 3) Use <a href="/En/DOM/Node.setUserData" title="En/DOM/Node.setUserData">setUserData()</a> (future-proof and clean, but not easily serializable). For user editable <code><a href="/en-US/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code> elements, the contents, as visible to the user, are read and set using the Menulist.value syntax. For those elements, <a href="/en/DOM/element.setAttribute" title="en/DOM/element.setAttributeNS">setAttribute("value", myValue)</a> and <a href="/en/DOM/element.setAttribute" title="en/DOM/element.getAttributeNS">getAttribute("value")</a> do not access or affect the contents displayed to the user.</dd>
-</dl>
-
-
-
-<p> </p>
-</div><p></p>
-<h3 id="Properties" name="Properties">Properties</h3>
-<p></p><div id="p-accessibleType">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/accessibleType">accessibleType</a></span></code></dt>
- <dd>
- Type: <em>integer</em></dd>
- <dd>
- A value indicating the type of accessibility object for the element.</dd>
-</dl>
-</div><div id="p-menuitem.control">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/menuitem.control">control</a></span></code></dt>
- <dd>Type: <em><code><a href="/en-US/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code> element</em></dd>
- <dd>Returns the enclosing <code><a href="/en-US/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code> that the item is inside, if any, or <code>null</code> if there is no enclosing menu.</dd>
-</dl></div><div id="p-itemCount">
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/itemCount">itemCount</a></span></code> </dt>
- <dd>Type: <em>integer</em></dd>
- <dd>Read only property holding the number of child items.</dd>
-</dl>
-</div><div id="p-menupopup">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/menupopup">menupopup</a></span></code></dt>
- <dd>Type: <em>menupopup element</em></dd>
- <dd>A reference to the <code><a href="/en-US/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code> used by the <code><a href="/en-US/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code> or <code><a href="/en-US/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code>. This property is read-only.</dd>
-</dl></div><div id="p-menu.open">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/menu.open">open</a></span></code> </dt>
- <dd>
- Type: <em>boolean</em></dd>
- <dd>
- This property will be set to true when the menu is open. The menu may be opened by setting the open property to true and closed by setting it to false.</dd>
-</dl></div><div id="p-parentContainer">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/parentContainer">parentContainer</a></span></code> </dt>
- <dd>Type: <em><code><a href="/en-US/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code> element</em></dd>
- <dd>Read only property that returns the containing <code><a href="/en-US/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code> element, or <code>null</code> if there isn't a containing menu.</dd>
-</dl></div><div id="p-value">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/value">value</a></span></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-value"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/value">value</a></code> attribute. For <code><a href="/en-US/docs/Mozilla/Tech/XUL/textbox" title="textbox">textbox</a></code> and user editable <code><a href="/en-US/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code> elements, the contents, as visible to the user, are read and set using the <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/Textbox.value">Textbox.value</a></span></code> and Menulist.value syntax.</dd>
-</dl>
-
-<p> </p></div><p></p>
-<h3 id="Methods" name="Methods">Methods</h3>
-<p></p><table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238); float: right; width: 250px;">
-<tbody>
-<tr>
-<td>
-<p><strong>Inherited Methods</strong><br>
-<small><code><a href="https://developer.mozilla.org/ko/docs/DOM/element.addEventListener">addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.appendChild">appendChild()</a></code>, <span id="m-blur"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/click">click</a></code></span>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.cloneNode">cloneNode()</a></code>, <a href="/En/DOM/Node.compareDocumentPosition" title="En/DOM/Node.compareDocumentPosition">compareDocumentPosition</a>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.dispatchEvent">dispatchEvent()</a></code>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/focus">focus</a></code></span>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttribute">getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNode">getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNodeNS">getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNS">getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getBoundingClientRect">getBoundingClientRect()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getClientRects">getClientRects()</a></code>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/getElementsByAttribute">getElementsByAttribute</a></code></span>, <span id="m-getElementsByAttributeNS"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/getElementsByAttributeNS">getElementsByAttributeNS</a></code></span>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getElementsByClassName">getElementsByClassName()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getElementsByTagName">getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getElementsByTagNameNS">getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getFeature">getFeature()</a></code>, <a href="/En/DOM/Node.getUserData" title="En/DOM/Node.getUserData">getUserData</a>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttribute">hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttributeNS">hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttributes">hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasChildNodes">hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.insertBefore">insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.isDefaultNamespace">isDefaultNamespace()</a></code>, <a href="/En/DOM/Node.isEqualNode" title="En/DOM/Node.isEqualNode">isEqualNode</a>, <a href="/En/DOM/Node.isSameNode" title="En/DOM/Node.isSameNode">isSameNode</a>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.isSupported">isSupported()</a></code>, <a href="/En/DOM/Node.lookupNamespaceURI" title="En/DOM/Node.lookupNamespaceURI">lookupNamespaceURI</a>, <a href="/En/DOM/Node.lookupPrefix" title="En/DOM/Node.lookupPrefix">lookupPrefix</a>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.normalize">normalize()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.querySelector">querySelector()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.querySelectorAll">querySelectorAll()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttribute">removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttributeNode">removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttributeNS">removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeChild">removeChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeEventListener">removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.replaceChild">replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttribute">setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNode">setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNodeNS">setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNS">setAttributeNS()</a></code>, <a href="/En/DOM/Node.setUserData" title="En/DOM/Node.setUserData">setUserData</a></small></p>
-
-</td>
-</tr>
-</tbody>
-</table><dl>
- <dt>
- <span id="m-appendItem"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/appendItem">appendItem( label, value )</a></code></span></dt>
- <dd>
- Return type: <em>element</em></dd>
- <dd>
- Creates a new item and adds it to the end of the existing list of items. You may optionally set a value. The function returns the newly created element.</dd>
-</dl><dl>
- <dt><span id="m-getIndexOfItem"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/getIndexOfItem">getIndexOfItem( item )</a></code></span></dt>
- <dd>Return type: <em>integer</em></dd>
- <dd>Returns the zero-based position of the specified item. Items are numbered starting at the first item displayed in the list.</dd>
-</dl><dl>
- <dt><span id="m-getItemAtIndex"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/getItemAtIndex">getItemAtIndex( index )</a></code></span></dt>
- <dd>Return type: <em>element</em></dd>
- <dd>Returns the element that is at the specified index.</dd>
-</dl><dl>
- <dt>
- <span id="m-insertItemAt"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/insertItemAt">insertItemAt( index, label, value )</a></code></span></dt>
- <dd>
- Return type: <em>element</em></dd>
- <dd>
- This method creates a new item and inserts it at the specified position. You may optionally set a value. The new item element is returned.</dd>
-</dl><dl>
- <dt>
- <span id="m-removeItemAt"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/removeItemAt">removeItemAt( index )</a></code></span></dt>
- <dd>
- Return type: <em>element</em></dd>
- <dd>
- Removes the child item in the element at the specified index. The method returns the removed item.</dd>
-</dl><p></p>
-<h3 id="Style_classes" name="Style_classes">Style classes</h3>
-<p></p><dl> <dt><code><a href="https://developer.mozilla.org/en-US/docs/XUL/Style/menu-iconic">menu-iconic</a></code></dt> <dd>Use this class to have an image appear on the <code><a href="/en-US/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code>. Specify the image using the <code id="a-image"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/image">image</a></code> attribute.</dd>
-</dl><p></p>
-<h3 id="Related" name="Related">Related</h3>
-<dl>
- <dt>
- Elements</dt>
- <dd>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/menubar" title="menubar">menubar</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/menuseparator" title="menuseparator">menuseparator</a></code></dd>
-</dl>
-<dl>
- <dt>
- Interfaces</dt>
- <dd>
- <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAccessibleProvider" title="">nsIAccessibleProvider</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMXULContainerElement" title="">nsIDOMXULContainerElement</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMXULContainerItemElement" title="">nsIDOMXULContainerItemElement</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMXULSelectControlItemElement" title="">nsIDOMXULSelectControlItemElement</a></code></dd>
-</dl>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/property/index.html b/files/ko/mozilla/tech/xul/property/index.html
deleted file mode 100644
index f9c5eb52b4..0000000000
--- a/files/ko/mozilla/tech/xul/property/index.html
+++ /dev/null
@@ -1,219 +0,0 @@
----
-title: Property
-slug: Mozilla/Tech/XUL/Property
-tags:
- - XUL Properties
-translation_of: Archive/Mozilla/XUL/Property
----
-<p><span class="breadcrumbs XULRefProp_breadcrumbs">« <a href="/ko/docs/XUL_Reference" title="XUL_Reference">XUL Reference</a></span></p>
-<ul>
- <li><a href="ko/XUL/Property/accessible">accessible</a></li>
- <li><a href="ko/XUL/Property/accessKey">accessKey</a></li>
- <li><a href="ko/XUL/Property/align">align</a></li>
- <li><a href="ko/XUL/Property/allowEvents">allowEvents</a></li>
- <li><a href="ko/XUL/Property/alwaysOpenPopup">alwaysOpenPopup</a></li>
- <li><a href="ko/XUL/Property/appLocale">appLocale</a></li>
- <li><a href="ko/XUL/Property/autoCheck">autoCheck</a></li>
- <li><a href="ko/XUL/Property/autoFill">autoFill</a></li>
- <li><a href="ko/XUL/Property/autoFillAfterMatch">autoFillAfterMatch</a></li>
- <li><a href="ko/XUL/Property/boxObject">boxObject</a></li>
- <li><a href="ko/XUL/Property/browsers">browsers</a></li>
- <li><a href="ko/XUL/Property/builder">builder</a></li>
- <li><a href="ko/XUL/Property/builderView">builderView</a></li>
- <li><a href="ko/XUL/Property/buttons">buttons</a></li>
- <li><a href="ko/XUL/Property/canAdvance">canAdvance</a></li>
- <li><a href="ko/XUL/Property/canGoBack">canGoBack</a></li>
- <li><a href="ko/XUL/Property/canGoForward">canGoForward</a></li>
- <li><a href="ko/XUL/Property/canRewind">canRewind</a></li>
- <li><a href="ko/XUL/Property/checked">checked</a></li>
- <li><a href="ko/XUL/Property/checkState">checkState</a></li>
- <li><a href="ko/XUL/Property/child">child</a></li>
- <li><a href="ko/XUL/Property/children">children</a></li>
- <li><a href="ko/XUL/Property/className">className</a></li>
- <li><a href="ko/XUL/Property/collapsed">collapsed</a></li>
- <li><a href="ko/XUL/Property/color">color</a></li>
- <li><a href="ko/XUL/Property/columns">columns</a></li>
- <li><a href="ko/XUL/Property/command">command</a></li>
- <li><a href="ko/XUL/Property/commandManager">commandManager</a></li>
- <li><a href="ko/XUL/Property/completeDefaultIndex">completeDefaultIndex</a></li>
- <li><a href="ko/XUL/Property/container">container</a></li>
- <li><a href="ko/XUL/Property/contentDocument">contentDocument</a></li>
- <li><a href="ko/XUL/Property/contentTitle">contentTitle</a></li>
- <li><a href="ko/XUL/Property/contentView">contentView</a></li>
- <li><a href="ko/XUL/Property/contentViewerEdit">contentViewerEdit</a></li>
- <li><a href="ko/XUL/Property/contentViewerFile">contentViewerFile</a></li>
- <li><a href="ko/XUL/Property/contentWindow">contentWindow</a></li>
- <li><a href="ko/XUL/Property/contextMenu">contextMenu</a></li>
- <li><a href="ko/XUL/Property/control">control</a></li>
- <li><a href="ko/XUL/Property/controller">controller</a></li>
- <li><a href="ko/XUL/Property/controllers">controllers</a></li>
- <li><a href="ko/XUL/Property/crop">crop</a></li>
- <li><a href="ko/XUL/Property/current">current</a></li>
- <li><a href="ko/XUL/Property/currentIndex">currentIndex</a></li>
- <li><a href="ko/XUL/Property/currentItem">currentItem</a></li>
- <li><a href="ko/XUL/Property/currentPage">currentPage</a></li>
- <li><a href="ko/XUL/Property/currentPane">currentPane</a></li>
- <li><a href="ko/XUL/Property/currentSet">currentSet</a></li>
- <li><a href="ko/XUL/Property/currentURI">currentURI</a></li>
- <li><a href="ko/XUL/Property/customToolbarCount">customToolbarCount</a></li>
- <li><a href="ko/XUL/Property/database">database</a></li>
- <li><a href="ko/XUL/Property/datasources">datasources</a></li>
- <li><a href="ko/XUL/Property/defaultButton">defaultButton</a></li>
- <li><a href="ko/XUL/Property/description">description</a></li>
- <li><a href="ko/XUL/Property/dir">dir</a></li>
- <li><a href="ko/XUL/Property/disableAutocomplete">disableAutocomplete</a></li>
- <li><a href="ko/XUL/Property/disableAutoComplete">disableAutoComplete</a></li>
- <li><a href="ko/XUL/Property/disableautoselect">disableautoselect</a></li>
- <li><a href="ko/XUL/Property/disabled">disabled</a></li>
- <li><a href="ko/XUL/Property/disableKeyNavigation">disableKeyNavigation</a></li>
- <li><a href="ko/XUL/Property/dlgType">dlgType</a></li>
- <li><a href="ko/XUL/Property/docShell">docShell</a></li>
- <li><a href="ko/XUL/Property/documentCharsetInfo">documentCharsetInfo</a></li>
- <li><a href="ko/XUL/Property/editable">editable</a></li>
- <li><a href="ko/XUL/Property/editingSession">editingSession</a></li>
- <li><a href="ko/XUL/Property/editortype">editortype</a></li>
- <li><a href="ko/XUL/Property/enableColumnDrag">enableColumnDrag</a></li>
- <li><a href="ko/XUL/Property/eventNode">eventNode</a></li>
- <li><a href="ko/XUL/Property/firstOrdinalColumn">firstOrdinalColumn</a></li>
- <li><a href="ko/XUL/Property/firstPermanentChild">firstPermanentChild</a></li>
- <li><a href="ko/XUL/Property/flex">flex</a></li>
- <li><a href="ko/XUL/Property/focused">focused</a></li>
- <li><a href="ko/XUL/Property/focusedItem">focusedItem</a></li>
- <li><a href="ko/XUL/Property/forceComplete">forceComplete</a></li>
- <li><a href="ko/XUL/Property/group">group</a></li>
- <li><a href="ko/XUL/Property/handleCtrlPageUpDown">handleCtrlPageUpDown</a></li>
- <li><a href="ko/XUL/Property/handleCtrlTab">handleCtrlTab</a></li>
- <li><a href="ko/XUL/Property/height">height</a></li>
- <li><a href="ko/XUL/Property/hidden">hidden</a></li>
- <li><a href="ko/XUL/Property/homePage">homePage</a></li>
- <li><a href="ko/XUL/Property/id">id</a></li>
- <li><a href="ko/XUL/Property/ignoreBlurWhileSearching">ignoreBlurWhileSearching</a></li>
- <li><a href="ko/XUL/Property/image">image</a></li>
- <li><a href="ko/XUL/Property/inputField">inputField</a></li>
- <li><a href="ko/XUL/Property/inverted">inverted</a></li>
- <li><a href="ko/XUL/Property/isSearching">isSearching</a></li>
- <li><a href="ko/XUL/Property/isWaiting">isWaiting</a></li>
- <li><a href="ko/XUL/Property/label">label</a></li>
- <li><a href="ko/XUL/Property/lastSelected">lastSelected</a></li>
- <li><a href="ko/XUL/Property/left">left</a></li>
- <li><a href="ko/XUL/Property/linkedPanel">linkedPanel</a></li>
- <li><a href="ko/XUL/Property/listBoxObject">listBoxObject</a></li>
- <li><a href="ko/XUL/Property/locked">locked</a></li>
- <li><a href="ko/XUL/Property/markupDocumentViewer">markupDocumentViewer</a></li>
- <li><a href="ko/XUL/Property/maxHeight">maxHeight</a></li>
- <li><a href="ko/XUL/Property/maxLength">maxLength</a></li>
- <li><a href="ko/XUL/Property/maxRows">maxRows</a></li>
- <li><a href="ko/XUL/Property/maxWidth">maxWidth</a></li>
- <li><a href="ko/XUL/Property/menu">menu</a></li>
- <li><a href="ko/XUL/Property/menuBoxObject">menuBoxObject</a></li>
- <li><a href="ko/XUL/Property/menupopup">menupopup</a></li>
- <li><a href="ko/XUL/Property/minHeight">minHeight</a></li>
- <li><a href="ko/XUL/Property/minResultsForPopup">minResultsForPopup</a></li>
- <li><a href="ko/XUL/Property/minWidth">minWidth</a></li>
- <li><a href="ko/XUL/Property/mode">mode</a></li>
- <li><a href="ko/XUL/Property/name">name</a></li>
- <li><a href="ko/XUL/Property/next">next</a></li>
- <li><a href="ko/XUL/Property/noMatch">noMatch</a></li>
- <li><a href="ko/XUL/Property/object">object</a></li>
- <li><a href="ko/XUL/Property/observes">observes</a></li>
- <li><a href="ko/XUL/Property/onFirstPage">onFirstPage</a></li>
- <li><a href="ko/XUL/Property/onLastPage">onLastPage</a></li>
- <li><a href="ko/XUL/Property/open">open</a></li>
- <li><a href="ko/XUL/Property/ordinal">ordinal</a></li>
- <li><a href="ko/XUL/Property/orient">orient</a></li>
- <li><a href="ko/XUL/Property/pack">pack</a></li>
- <li><a href="ko/XUL/Property/pageCount">pageCount</a></li>
- <li><a href="ko/XUL/Property/pageid">pageid</a></li>
- <li><a href="ko/XUL/Property/pageIndex">pageIndex</a></li>
- <li><a href="ko/XUL/Property/pageStep">pageStep</a></li>
- <li><a href="ko/XUL/Property/palette">palette</a></li>
- <li><a href="ko/XUL/Property/persist">persist</a></li>
- <li><a href="ko/XUL/Property/popup">popup</a></li>
- <li><a href="ko/XUL/Property/popupBoxObject">popupBoxObject</a></li>
- <li><a href="ko/XUL/Property/popupOpen">popupOpen</a></li>
- <li><a href="ko/XUL/Property/position">position</a></li>
- <li><a href="ko/XUL/Property/predicate">predicate</a></li>
- <li><a href="ko/XUL/Property/preferenceElements">preferenceElements</a></li>
- <li><a href="ko/XUL/Property/preferencePanes">preferencePanes</a></li>
- <li><a href="ko/XUL/Property/preferences">preferences</a></li>
- <li><a href="ko/XUL/Property/radioGroup">radioGroup</a></li>
- <li><a href="ko/XUL/Property/readonly">readonly</a></li>
- <li><a href="ko/XUL/Property/ref">ref</a></li>
- <li><a href="ko/XUL/Property/resource">resource</a></li>
- <li><a href="ko/XUL/Property/resultsPopup">resultsPopup</a></li>
- <li><a href="ko/XUL/Property/scrollBoxObject">scrollBoxObject</a></li>
- <li><a href="ko/XUL/Property/searchCount">searchCount</a></li>
- <li><a href="ko/XUL/Property/searchParam">searchParam</a></li>
- <li><a href="ko/XUL/Property/searchSessions">searchSessions</a></li>
- <li><a href="ko/XUL/Property/securityUI">securityUI</a></li>
- <li><a href="ko/XUL/Property/selected">selected</a></li>
- <li><a href="ko/XUL/Property/selectedBrowser">selectedBrowser</a></li>
- <li><a href="ko/XUL/Property/selectedCount">selectedCount</a></li>
- <li><a href="ko/XUL/Property/selectedIndex">selectedIndex</a></li>
- <li><a href="ko/XUL/Property/selectedItem">selectedItem</a></li>
- <li><a href="ko/XUL/Property/selectedItems">selectedItems</a></li>
- <li><a href="ko/XUL/Property/selectedPanel">selectedPanel</a></li>
- <li><a href="ko/XUL/Property/selectedTab">selectedTab</a></li>
- <li><a href="ko/XUL/Property/selectionEnd">selectionEnd</a></li>
- <li><a href="ko/XUL/Property/selectionStart">selectionStart</a></li>
- <li><a href="ko/XUL/Property/selstyle">selstyle</a></li>
- <li><a href="ko/XUL/Property/selType">selType</a></li>
- <li><a href="ko/XUL/Property/sessionCount">sessionCount</a></li>
- <li><a href="ko/XUL/Property/sessionHistory">sessionHistory</a></li>
- <li><a href="ko/XUL/Property/showCommentColumn">showCommentColumn</a></li>
- <li><a href="ko/XUL/Property/showPopup">showPopup</a></li>
- <li><a href="ko/XUL/Property/size">size</a></li>
- <li><a href="ko/XUL/Property/src">src</a></li>
- <li><a href="ko/XUL/Property/statusbar">statusbar</a></li>
- <li><a href="ko/XUL/Property/statusText">statusText</a></li>
- <li><a href="ko/XUL/Property/stringBundle">stringBundle</a></li>
- <li><a href="ko/XUL/Property/strings">strings</a></li>
- <li><a href="ko/XUL/Property/style">style</a></li>
- <li><a href="ko/XUL/Property/subject">subject</a></li>
- <li><a href="ko/XUL/Property/suppressOnSelect">suppressOnSelect</a></li>
- <li><a href="ko/XUL/Property/tabContainer">tabContainer</a></li>
- <li><a href="ko/XUL/Property/tabIndex">tabIndex</a></li>
- <li><a href="ko/XUL/Property/tabs">tabs</a></li>
- <li><a href="ko/XUL/Property/tabScrolling">tabScrolling</a></li>
- <li><a href="ko/XUL/Property/tag">tag</a></li>
- <li><a href="ko/XUL/Property/textLength">textLength</a></li>
- <li><a href="ko/XUL/Property/textValue">textValue</a></li>
- <li><a href="ko/XUL/Property/timeout">timeout</a></li>
- <li><a href="ko/XUL/Property/title">title</a></li>
- <li><a href="ko/XUL/Property/toolbarName">toolbarName</a></li>
- <li><a href="ko/XUL/Property/toolbarset">toolbarset</a></li>
- <li><a href="ko/XUL/Property/tooltip">tooltip</a></li>
- <li><a href="ko/XUL/Property/tooltipText">tooltipText</a></li>
- <li><a href="ko/XUL/Property/top">top</a></li>
- <li><a href="ko/XUL/Property/treeBoxObject">treeBoxObject</a></li>
- <li><a href="ko/XUL/Property/type">type</a></li>
- <li><a href="ko/XUL/Property/uri">uri</a></li>
- <li><a href="ko/XUL/Property/userAction">userAction</a></li>
- <li><a href="ko/XUL/Property/value">value</a></li>
- <li><a href="ko/XUL/Property/view">view</a></li>
- <li><a href="ko/XUL/Property/webBrowserFind">webBrowsereFind</a></li>
- <li><a href="ko/XUL/Property/webNavigation">webNavigation</a></li>
- <li><a href="ko/XUL/Property/webProgress">webProgress</a></li>
- <li><a href="ko/XUL/Property/width">width</a></li>
- <li><a href="ko/XUL/Property/wizardPages">wizardPages</a></li>
-</ul>
-<h3 id=".EA.B4.80.EB.A0.A8_DOM_.EC.9A.94.EC.86.8C_properties" name=".EA.B4.80.EB.A0.A8_DOM_.EC.9A.94.EC.86.8C_properties">관련 DOM 요소 properties</h3>
-<ul>
- <li><a href="ko/DOM/element.attributes">DOM:element.attributes</a></li>
- <li><a href="ko/DOM/element.childNodes">DOM:element.childNodes</a></li>
- <li><a href="ko/DOM/element.cloneNode">DOM:element.cloneNode</a></li>
- <li><a href="ko/DOM/element.firstChild">DOM:element.firstChild</a></li>
- <li><a href="ko/DOM/element.lastChild">DOM:element.lastChild</a></li>
- <li><a href="ko/DOM/element.localName">DOM:element.localName</a></li>
- <li><a href="ko/DOM/element.namespaceURI">DOM:element.namespaceURI</a></li>
- <li><a href="ko/DOM/element.nextSibling">DOM:element.nextSibling</a></li>
- <li><a href="ko/DOM/element.nodeName">DOM:element.nodeName</a></li>
- <li><a href="ko/DOM/element.nodeType">DOM:element.nodeType</a></li>
- <li><a href="ko/DOM/element.nodeValue">DOM:element.nodeValue</a></li>
- <li><a href="ko/DOM/element.ownerDocument">DOM:element.ownerDocument</a></li>
- <li><a href="ko/DOM/element.parentNode">DOM:element.parentNode</a></li>
- <li><a href="ko/DOM/element.prefix">DOM:element.prefix</a></li>
- <li><a href="ko/DOM/element.previousSibling">DOM:element.previousSibling</a></li>
- <li><a href="ko/DOM/element.tagName">DOM:element.tagName</a></li>
-</ul>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/splitter/index.html b/files/ko/mozilla/tech/xul/splitter/index.html
deleted file mode 100644
index 863f3c76db..0000000000
--- a/files/ko/mozilla/tech/xul/splitter/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: splitter
-slug: Mozilla/Tech/XUL/splitter
-translation_of: Archive/Mozilla/XUL/splitter
----
-<p>&lt;?xml version="1.0"?&gt; &lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin</a>" type="text/css"?&gt;</p>
-<p>&lt;window title="XUL Splitters"</p>
-<pre class="eval"> xmlns:html="<a class="external" href="http://www.w3.org/1999/xhtml" rel="freelink">http://www.w3.org/1999/xhtml</a>"
- xmlns="<a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"&gt;
-</pre>
-<p>&lt;script&gt; &lt;![CDATA[</p>
-<p>]]&gt; &lt;/script&gt;</p>
-<p>&lt;description&gt;&lt;html:h1&gt;XUL Splitters&lt;/html:h1&gt;&lt;/description&gt;</p>
-<pre class="eval">&lt;vbox flex="1" style="overflow: auto"&gt;
-</pre>
-<pre class="eval"> &lt;groupbox orient="horizontal" flex="1"&gt;
- &lt;caption label="collapse before" /&gt;
- &lt;groupbox flex="1"&gt;&lt;label flex="1" value="Left side" /&gt;&lt;/groupbox&gt;
- &lt;splitter collapse="before" &gt;&lt;grippy /&gt;&lt;/splitter&gt;
- &lt;groupbox flex="1"&gt;&lt;label flex="1" value="Right side" /&gt;&lt;/groupbox&gt;
- &lt;/groupbox&gt;
-</pre>
-<pre class="eval"> &lt;groupbox orient="horizontal" flex="1"&gt;
- &lt;caption label="collapse after" /&gt;
- &lt;groupbox flex="1"&gt;&lt;label flex="1" value="Left side" /&gt;&lt;/groupbox&gt;
- &lt;splitter collapse="after" &gt;&lt;grippy /&gt;&lt;/splitter&gt;
- &lt;groupbox flex="1"&gt;&lt;label flex="1" value="Right side" /&gt;&lt;/groupbox&gt;
- &lt;/groupbox&gt;
-</pre>
-<pre class="eval"> &lt;groupbox orient="horizontal" flex="1"&gt;
- &lt;caption label="no collapse" /&gt;
- &lt;groupbox flex="1"&gt;&lt;label flex="1" value="Left side" /&gt;&lt;/groupbox&gt;
- &lt;splitter collapse="none" /&gt;
- &lt;groupbox flex="1"&gt;&lt;label flex="1" value="Right side" /&gt;&lt;/groupbox&gt;
- &lt;/groupbox&gt;
-</pre>
-<pre class="eval"> &lt;groupbox orient="horizontal" flex="1"&gt;
- &lt;caption label="resize the closest widgets on both sides" /&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Left most side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Middle Left side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Closest Left side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;splitter collapse="none" resizebefore="closest" resizeafter="closest" /&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Closest Right side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Middle Right side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Right most side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;/groupbox&gt;
-</pre>
-<pre class="eval"> &lt;groupbox orient="horizontal" flex="1"&gt;
- &lt;caption label="resize the farthest widgets on both sides" /&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Left most side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Middle Left side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Closest Left side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;splitter collapse="none" resizebefore="farthest" resizeafter="farthest" /&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Closest Right side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Middle Right side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Right most side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;/groupbox&gt;
-</pre>
-<p> </p>
-<pre class="eval"> &lt;groupbox orient="horizontal" flex="1"&gt;
- &lt;caption label="grow the widgets on the right side" /&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Left side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;splitter collapse="none" resizebefore="grow" resizeafter="grow" /&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Closest Right side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Middle Right side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;groupbox flex="1"&gt;&lt;description&gt;Right most side&lt;/description&gt;&lt;/groupbox&gt;
- &lt;/groupbox&gt;
-</pre>
-<pre class="eval"> &lt;groupbox orient="horizontal" flex="1"&gt;
- &lt;caption label="double splitters" /&gt;
- &lt;groupbox flex="1"&gt;&lt;label flex="1" value="Left side" /&gt;&lt;/groupbox&gt;
- &lt;splitter collapse="before" &gt;&lt;grippy /&gt;&lt;/splitter&gt;
- &lt;groupbox flex="1"&gt;&lt;label flex="1" value="Middle" /&gt;&lt;/groupbox&gt;
- &lt;splitter collapse="after" &gt;&lt;grippy /&gt;&lt;/splitter&gt;
- &lt;groupbox flex="1"&gt;&lt;label flex="1" value="Right side" /&gt;&lt;/groupbox&gt;
- &lt;/groupbox&gt;
-</pre>
-<p>&lt;/vbox&gt;</p>
-<p>&lt;/window&gt;</p>
diff --git a/files/ko/mozilla/tech/xul/template_guide/index.html b/files/ko/mozilla/tech/xul/template_guide/index.html
deleted file mode 100644
index 0d769a66de..0000000000
--- a/files/ko/mozilla/tech/xul/template_guide/index.html
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title: Template Guide
-slug: Mozilla/Tech/XUL/Template_Guide
-tags:
- - XUL
- - XUL_Template_Guide
-translation_of: Archive/Mozilla/XUL/Template_Guide
----
-<p> </p>
-<h5 id="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF_.EA.B0.9C.EC.9A.94" name="XUL_.ED.85.9C.ED.94.8C.EB.A6.BF_.EA.B0.9C.EC.9A.94">XUL 템플릿 개요</h5>
-<ul>
- <li><a href="ko/XUL/Template_Guide/Introduction">소개</a></li>
- <li><a href="ko/XUL/Template_Guide/Rule_Compilation">규칙 만들기</a></li>
- <li><a href="ko/XUL/Template_Guide/Result_Generation">결과 생성하기</a></li>
-</ul>
-<h5 id=".ED.85.9C.ED.94.8C.EB.A6.BF_.EB.AC.B8.EB.B2.95" name=".ED.85.9C.ED.94.8C.EB.A6.BF_.EB.AC.B8.EB.B2.95">템플릿 문법</h5>
-<ul>
- <li><a href="ko/XUL/Template_Guide/Conditions">컨디션</a></li>
- <li><a href="ko/XUL/Template_Guide/Actions">액션</a></li>
- <li><a href="ko/XUL/Template_Guide/Recursive_Generation">리커시브 생성</a></li>
- <li><a href="ko/XUL/Template_Guide/Simple_Example">예제</a></li>
- <li><a href="ko/XUL/Template_Guide/Bindings">바인딩</a></li>
- <li><a href="ko/XUL/Template_Guide/Attribute_Substitution">속성 대체</a></li>
- <li><a href="ko/XUL/Template_Guide/Additional_Navigation">추가 네비게이션</a></li>
- <li><a href="ko/XUL/Template_Guide/Filtering">필터링</a></li>
- <li><a href="ko/XUL/Template_Guide/Static_Content">정적 컨텐트</a></li>
- <li><a href="ko/XUL/Template_Guide/Simple_Rule_Syntax">간단한 규칙 문법</a></li>
- <li><a href="ko/XUL/Template_Guide/Containment_Properties">컨테인멘트 프로퍼티</a></li>
-</ul>
-<h5 id=".EB.8B.A4.EC.A4.91_.EA.B7.9C.EC.B9.99" name=".EB.8B.A4.EC.A4.91_.EA.B7.9C.EC.B9.99">다중 규칙</h5>
-<ul>
- <li><a href="ko/XUL/Template_Guide/Multiple_Rules">다중 규칙</a></li>
- <li><a href="ko/XUL/Template_Guide/Multiple_Rule_Example">다중 규칙 예제</a></li>
- <li><a href="ko/XUL/Template_Guide/Using_Recursive_Templates">리커시브 템플릿 사용하기</a></li>
- <li><a href="ko/XUL/Template_Guide/Special_Condition_Tests">특수 조건 테스트</a></li>
- <li><a href="ko/XUL/Template_Guide/Using_Multiple_Rules_to_Generate_More_Results">많은 결과를 만들기 위한 다중 규칙 이용</a></li>
- <li><a href="ko/XUL/Template_Guide/Building_Trees">트리 만들기</a></li>
- <li><a href="ko/XUL/Template_Guide/Building_Hierarchical_Trees">계층적 트리 만들기</a></li>
-</ul>
-<h5 id=".ED.85.9C.ED.94.8C.EB.A6.BF_.EC.88.98.EC.A0.95_.EB.B0.A9.EB.B2.95" name=".ED.85.9C.ED.94.8C.EB.A6.BF_.EC.88.98.EC.A0.95_.EB.B0.A9.EB.B2.95">템플릿 수정 방법</h5>
-<ul>
- <li><a href="ko/XUL/Template_Guide/Template_Builder_Interface">템플릿 빌더 인터페이스</a></li>
- <li><a href="ko/XUL/Template_Guide/Template_and_Tree_Listeners">템플릿과 트리 리스너</a></li>
- <li><a href="ko/XUL/Template_Guide/RDF_Modifications">RDF 변경</a></li>
-</ul>
-<h5 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C">관련 주제</h5>
-<ul>
- <li><a href="ko/XUL/Template_Guide/Sorting_Results">결과 정렬하기</a></li>
- <li><a href="ko/XUL/Template_Guide/Additional_Template_Attributes">추가 템플릿 속성</a></li>
-</ul>
-<p><span class="comment">Interwiki Language Links</span></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/toolbar/index.html b/files/ko/mozilla/tech/xul/toolbar/index.html
deleted file mode 100644
index 3efda02e8c..0000000000
--- a/files/ko/mozilla/tech/xul/toolbar/index.html
+++ /dev/null
@@ -1,218 +0,0 @@
----
-title: toolbar
-slug: Mozilla/Tech/XUL/toolbar
-tags:
- - MDC Project
- - NeedsTechnicalReview
- - XUL Elements
- - XUL Reference
-translation_of: Archive/Mozilla/XUL/toolbar
----
-<div class="noinclude">
- <span class="breadcrumbs XULRef_breadcrumbs">
- « <a href="/ko/docs/XUL_Reference">XUL Reference home</a> [
- <a href="#Examples">예제</a> |
- <a href="#Attributes">Attributes</a> |
- <a href="#Properties">Properties</a> |
- <a href="#Methods">Methods</a> |
- <a href="#Related">관련 항목</a> ]
-</span></div>
-<p>보통 한 줄로 된 버튼들을 포함하는 컨테이너로 기본적으로 내부 요소가 수평으로 나열되는 상자의 한 유형입니다. <code>toolbar</code>가 <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code> 내에 위치할 경우 <code><a href="/ko/docs/Mozilla/Tech/XUL/grippy" title="grippy">grippy</a></code>를 이용하여 접혀질 수 있습니다. 툴바는 항상 <code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> 속성을 가져야 합니다. Firefox에서는 사용자 지정 툴바(도구 모음)를 지원하지만, Mozilla 브라우저는 지원하지 않습니다.</p>
-<p>좀 더 자세한 사항은 <a href="ko/XUL_Tutorial/Toolbars">XUL tutorial</a>를 참조하세요.</p>
-<dl>
- <dt>
- Attributes</dt>
- <dd>
- <a href="#a-currentset">currentset</a>, <a href="#a-customindex">customindex</a>, <a href="#a-customizable">customizable</a>, <a href="#a-defaultset">defaultset</a>, <a href="#a-grippyhidden">grippyhidden</a>, <a href="#a-grippytooltiptext">grippytooltiptext</a>, <a href="#a-toolbar.mode">mode</a>, <a href="#a-toolbarname">toolbarname</a></dd>
-</dl>
-<dl>
- <dt>
- Properties</dt>
- <dd>
- <a href="#p-accesible">accesible</a>, <a href="#p-currentSet">currentSet</a>, <a href="#p-firstPermanentChild">firstPermanentChild</a>, <a href="#p-lastPermanentChild">lastPermanentChild</a>, <a href="#p-toolbarName">toolbarName</a></dd>
-</dl>
-<dl>
- <dt>
- Methods</dt>
- <dd>
- <a href="#m-insertItem">insertItem</a></dd>
-</dl>
-<h3 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h3>
-<div class="float-right">
- <img alt="Image:XUL_ref_toolbar.png"></div>
-<pre>&lt;toolbox&gt;
- &lt;toolbar id="nav-toolbar"&gt;
- &lt;toolbarbutton id="nav-users" accesskey="U" label="Users"/&gt;
- &lt;toolbarbutton id="nav-groups" accesskey="p" label="Groups"/&gt;
- &lt;toolbarbutton id="nav-events" accesskey="E" label="Events" disabled="true"/&gt;
- &lt;/toolbar&gt;
-&lt;/toolbox&gt;
-</pre>
-<h3 id="Attributes" name="Attributes">Attributes</h3>
-<p> </p><div id="a-currentset">
-
-<dl>
- <dt>
- <code id="a-currentset"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/currentset">currentset</a></code></dt>
- <dd>
- <b><span class="highlightred">Firefox only</span></b></dd>
- <dd>
- 타입:
- <i>
- comma-separated string</i>
- </dd>
- <dd>
- 현재 <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>에 출력되는 항목의 집합입니다. 이 집합은 사용자가 툴바를 커스터마이징(사용자 지정) 할 경우 변경될 수 있습니다. 속성값은 쉼표(,)로 분리된 <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarpalette" title="toolbarpalette">toolbarpalette</a></code>에 있는 항목들의 ID 목록이어야 하며, 추가적으로 "<code>separator</code>", "<code>spring</code>", "<code>spacer</code>"의 문자열을 포함할 수 있습니다.</dd>
-</dl>
-<p><span class="comment">this isn't necessary the *current* set, i.e. it might not be equal the value of the currentSet property which is computed from the actual DOM</span></p>
-</div> <div id="a-customindex">
-
-
-<dl>
- <dt><code id="a-customindex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/customindex">customindex</a></code></dt>
- <dd><strong><span class="highlightred">Not in SeaMonkey 1.x</span></strong></dd>
- <dd>Type: <em>integer</em></dd>
- <dd>This value is the index of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code> in the list of the custom toolbars. The value is updated automatically by the toolbar customization dialog.</dd>
-</dl>
-</div> <div id="a-customizable">
-
-
-<dl>
- <dt><code id="a-customizable"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/customizable">customizable</a></code></dt>
- <dd><strong><span class="highlightred">Not in SeaMonkey 1.x</span></strong></dd>
- <dd>Type: <em>boolean</em></dd>
- <dd>Set this attribute to <code>true</code> on <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>s that can be customized. This causes the set of buttons to be persisted across sessions.</dd>
-</dl>
-</div> <div id="a-defaultset">
-
-
-<dl>
- <dt><code id="a-defaultset"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/defaultset">defaultset</a></code></dt>
- <dd><strong><span class="highlightred">Not in SeaMonkey 1.x</span></strong></dd>
- <dd>Type: <em>comma-separated list of item ids</em></dd>
- <dd>The default set of displayed items on the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>. This should be set to a comma-separated list of item IDs from the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbarpalette" title="toolbarpalette">toolbarpalette</a></code>. For example, <code>back-button,forward-button,print-button</code>.</dd>
-</dl>
-</div> <div id="a-grippyhidden">
-
-
-<dl>
- <dt><code id="a-grippyhidden"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/grippyhidden">grippyhidden</a></code></dt>
- <dd><strong><span class="highlightred">SeaMonkey only</span></strong></dd>
- <dd>Type: <em>boolean</em></dd>
- <dd>When set to <code>true</code>, the grippy will be hidden. When set to <code>false</code>, the default, the grippy will be shown.</dd>
-</dl>
-</div> <div id="a-grippytooltiptext">
-
-
-<dl>
- <dt><code id="a-grippytooltiptext"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/grippytooltiptext">grippytooltiptext</a></code></dt>
- <dd><strong><span class="highlightred">SeaMonkey only</span></strong></dd>
- <dd>Type: <em>string</em></dd>
- <dd>The text to appear on the tooltip for the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>'s <code><a href="/en-US/docs/Mozilla/Tech/XUL/grippy" title="grippy">grippy</a></code> when the toolbar is collapsed. This would be used to label the grippy so that the user knows which toolbar it represents.</dd>
-</dl>
-</div> <div id="a-toolbar.mode">
-
-
-<dl>
- <dt><code id="a-toolbar.mode"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/toolbar.mode">mode</a></code></dt>
- <dd><strong><span class="highlightred">Not in SeaMonkey 1.x</span></strong></dd>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>How the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbarbutton" title="toolbarbutton">toolbarbutton</a></code>s on the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code> are displayed.</dd>
- <dd>
- <dl>
- <dt><code>icons</code></dt>
- <dd>Show only icons.</dd>
- <dt><code>text</code></dt>
- <dd>Show only text.</dd>
- <dt><code>full</code></dt>
- <dd>Show both.</dd>
- </dl>
- </dd>
-</dl>
-</div> <div id="a-toolbarname">
-
-
-<dl>
- <dt><code id="a-toolbarname"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/toolbarname">toolbarname</a></code></dt>
- <dd><strong><span class="highlightred">Not in SeaMonkey 1.x</span></strong></dd>
- <dd>Type: <em>string</em></dd>
- <dd>The name of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>, which is listed on the Show/Hide toolbars menu.</dd>
-</dl>
-</div><p></p>
-<h3 id="Properties" name="Properties">Properties</h3>
-<p> </p><div id="p-accessible">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/accessible">accessible</a></span></code></dt>
- <dd>
- Type: <em><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAccessible" title="">nsIAccessible</a></code></em></dd>
- <dd>
- Returns the accessibility object for the element.</dd>
-</dl></div> <div id="p-currentSet">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/currentSet">currentSet</a></span></code></dt>
- <dd><strong><span class="highlightred">Not in SeaMonkey 1.x</span></strong></dd>
- <dd>Type: <em>comma-separated list of strings</em></dd>
- <dd>Holds a comma-separated list of the IDs of the items currently on the toolbar. For spacers, separators, and flexible spacers the following strings are used instead of IDs: "<code>spacer</code>", "<code>separator</code>", "<code>spring</code>". An empty toolbar has a <code>currentSet</code> value of <code>"__empty"</code>.</dd>
-</dl>
-
-<dl>
- <dd>You may change the current set of items by setting this property. Be careful, as setting this property doesn't automatically update the <code id="a-currentset"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/currentset">currentset</a></code> attribute.</dd>
-</dl></div> <div id="p-firstPermanentChild">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/firstPermanentChild">firstPermanentChild</a></span></code></dt>
- <dd><strong><span class="highlightred">Not in SeaMonkey 1.x</span></strong></dd>
- <dd>Type: <em>element</em></dd>
- <dd>The first permanent child of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>. A permanent child is one that is not customizable and remains on the toolbar. Items that are placed directly inside the toolbar without being in the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbarpalette" title="toolbarpalette">toolbarpalette</a></code> are permanent.</dd>
-</dl></div> <div id="p-lastPermanentChild">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/lastPermanentChild">lastPermanentChild</a></span></code></dt>
- <dd><strong><span class="highlightred">Not in SeaMonkey 1.x</span></strong></dd>
- <dd>Type: <em>element</em></dd>
- <dd>The last permanent child of the toolbar. A permanent child is one that is not customizable and remains on the toolbar. Items that are placed directly inside the toolbar without being in the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbarpalette" title="toolbarpalette">toolbarpalette</a></code> are permanent.</dd>
-</dl></div> <div id="p-toolbarName">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/toolbarName">toolbarName</a></span></code></dt>
- <dd>
- <strong><span class="highlightred">Not in SeaMonkey 1.x</span></strong></dd>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- The name of the toolbar.</dd>
-</dl></div><p></p>
-<h3 id="Methods" name="Methods">Methods</h3>
-<p></p><dl>
- <dt><span id="m-insertItem"><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Method/insertItem">insertItem( id, beforeNode, wrapper, beforePermanent )</a></code></span></dt>
- <dd><strong><span class="highlightred">Not in SeaMonkey 1.x</span></strong></dd>
- <dd>Return type: <em>element</em></dd>
- <dd>Add an item with the given <var>id</var> to the <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>. The new item is added just before the item given by the second argument. If the second argument is <code>null</code>, but the <var>beforePermanent</var> argument is <code>true</code>, the item is added to the beginning of the toolbar before the first permanent item. Otherwise, if the <var>beforePermanent</var> argument is <code>false</code>, the new item is added to the end of the toolbar. The third argument can be used to wrap the new item in another element. Usually, the last argument will be <code>null</code> as it is mainly for the use of the customize dialog.</dd>
-</dl>
-
-<p>The <var>id</var> should match an element in the toolbar's <code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbarpalette" title="toolbarpalette">toolbarpalette</a></code>. Some special ids may also be used to create special spacing items:</p>
-
-<ul>
- <li><code>separator</code>: A separator, which is drawn as a vertical bar.</li>
- <li><code>spacer</code>: A non-flexible space.</li>
- <li><code>spring</code>: A flexible space.</li>
-</ul>
-
-<p>The method returns the DOM element for the created item.</p> <table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>XUL 요소에서 상속됨</strong><br> <small> <span id="m-blur"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/click">click</a></code></span>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/focus">focus</a></code></span>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/getElementsByAttribute">getElementsByAttribute</a></code></span></small></p> <p><strong>DOM 요소에서 상속됨</strong><br> <small> <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.addEventListener">addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.appendChild">appendChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.dispatchEvent">dispatchEvent()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttribute">getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNode">getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNodeNS">getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNS">getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getElementsByTagName">getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getElementsByTagNameNS">getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttribute">hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttributeNS">hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttributes">hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasChildNodes">hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.insertBefore">insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.isSupported">isSupported()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.normalize">normalize()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttribute">removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttributeNode">removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttributeNS">removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeChild">removeChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeEventListener">removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.replaceChild">replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttribute">setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNode">setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNodeNS">setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNS">setAttributeNS()</a></code></small></p> </td> </tr> </tbody>
-</table><p></p>
-<h3 id="Related" name="Related">Related</h3>
-<dl>
- <dt>
- Elements</dt>
- <dd>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarbutton" title="toolbarbutton">toolbarbutton</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbargrippy" title="toolbargrippy">toolbargrippy</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbaritem" title="toolbaritem">toolbaritem</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarpalette" title="toolbarpalette">toolbarpalette</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarseparator" title="toolbarseparator">toolbarseparator</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarset" title="toolbarset">toolbarset</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarspacer" title="toolbarspacer">toolbarspacer</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarspring" title="toolbarspring">toolbarspring</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code></dd>
-</dl>
-<dl>
- <dt>
- Interfaces</dt>
- <dd>
- <a href="ko/NsIAccessibleProvider">nsIAccessibleProvider</a></dd>
-</dl>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/toolbarbutton/index.html b/files/ko/mozilla/tech/xul/toolbarbutton/index.html
deleted file mode 100644
index b494ade76e..0000000000
--- a/files/ko/mozilla/tech/xul/toolbarbutton/index.html
+++ /dev/null
@@ -1,477 +0,0 @@
----
-title: toolbarbutton
-slug: Mozilla/Tech/XUL/toolbarbutton
-translation_of: Archive/Mozilla/XUL/toolbarbutton
----
-<div class="noinclude">
- <span class="breadcrumbs XULRef_breadcrumbs">
- « <a href="/ko/docs/XUL_Reference">XUL Reference home</a> [
- <a href="#Examples">예제</a> |
- <a href="#Attributes">Attributes</a> |
- <a href="#Properties">Properties</a> |
- <a href="#Methods">Methods</a> |
- <a href="#Related">관련 항목</a> ]
-</span></div>
-<p><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>에 올라가는 버튼입니다. 일반 <code><a href="/ko/docs/Mozilla/Tech/XUL/button" title="button">button</a></code>과 유사하지만 조금 다르게 출력됩니다. 보통 이미지를 포함합니다.</p>
-<p>자세한 사항은 <a href="ko/XUL_Tutorial/Toolbars">XUL tutorial</a>를 참조하세요.</p>
-<dl>
- <dt>
- Attributes</dt>
- <dd>
- <a href="#a-accesskey">accesskey</a>, <a href="#a-autoCheck">autoCheck</a>, <a href="#a-checkState">checkState</a>, <a href="#a-checked">checked</a>, <a href="#a-command">command</a>, <a href="#a-crop">crop</a>, <a href="#a-dir">dir</a>, <a href="#a-disabled">disabled</a>, <a href="#a-dlgType">dlgType</a>, <a href="#a-group">group</a>, <a href="#a-image">image</a>, <a href="#a-label">label</a>, <a href="#a-open">open</a>, <a href="#a-orient">orient</a>, <a href="#a-tabindex">tabindex</a>, <a href="#a-toolbarbutton.type">type</a>, <a href="#a-validate">validate</a></dd>
-</dl>
-<dl>
- <dt>
- Properties</dt>
- <dd>
- <a href="#p-accessKey">accessKey</a>, <a href="#p-accessible">accessible</a>, <a href="#p-autoCheck">autoCheck</a>, <a href="#p-checkState">checkState</a>, <a href="#p-checked">checked</a>, <a href="#p-command">command</a>, <a href="#p-crop">crop</a>, <a href="#p-dir">dir</a>, <a href="#p-disabled">disabled</a>, <a href="#p-dlgType">dlgType</a>, <a href="#p-group">group</a>, <a href="#p-image">image</a>, <a href="#p-label">label</a>, <a href="#p-open">open</a>, <a href="#p-orient">orient</a>, <a href="#p-tabIndex">tabIndex</a>, <a href="#p-type">type</a></dd>
-</dl>
-<h3 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h3>
-<p>(example needed)</p>
-<h3 id="Attributes" name="Attributes">Attributes</h3>
-<p> </p><div id="a-accesskey">
-
-
-<dl>
- <dt>
- <code id="a-accesskey"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code></dt>
- <dd>
- 타입:
- <i>
- character</i>
- </dd>
- <dd>
- 이 속성에는 단축키로 사용될 문자를 지정합니다. 문자는 대상 요소의 <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> 속성값인 텍스트에 포함된 문자 중 하나를 사용하는 것이 좋습니다.
-
- </dd>
-</dl>
-<h4 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h4>
-<div class="float-right">
- <img alt="Image:XUL_ref_accesskey_attr.png"></div>
-<pre>&lt;vbox&gt;
- &lt;label value="Enter Name" accesskey="e" control="myName"/&gt;
- &lt;textbox id="myName"/&gt;
- &lt;button label="Cancel" accesskey="n"/&gt;
- &lt;button label="Ok" accesskey="O"/&gt;
-&lt;/vbox&gt;
-</pre>
-<h4 id=".EB.98.90_.EB.B3.BC_.EA.B3.B3" name=".EB.98.90_.EB.B3.BC_.EA.B3.B3">또 볼 곳</h4>
-<p><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> attribute, <code id="a-acceltext"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/acceltext">acceltext</a></code> attribute</p>
-
-<p></p>
-</div> <div id="a-autoCheck">
-
-
-<dl>
- <dt><code id="a-autocheck"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/autocheck">autocheck</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>If this attribute is <code>true</code> or left out, the checked state of the button will be switched each time the button is pressed. If this attribute is <code>false</code>, the checked state must be adjusted manually. When autocheck is true, the button type should be "checkbox" or "radio".</dd>
-</dl>
-</div> <div id="a-checkState">
-
-
-<dl>
- <dt><code id="a-checkState"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/checkState">checkState</a></code></dt>
- <dd>Type: <em>integer</em>, values <code>0</code>, <code>1</code>, or <code>2</code></dd>
- <dd>This attribute may be used to create three state buttons, numbered 0, 1 and 2. When in state 0 or 1, pressing the button will switch to the opposite state. When in state 2, pressing the button will switch to state 0. This means that the button acts like a checkbox except that there is a third state which must be set manually by adjusting the check state. If you wish to have different behavior for how the states are adjusted, set the <code id="a-autoCheck"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/autoCheck">autoCheck</a></code> attribute to <code>false</code> and adjust the state with a script. The <code id="a-type"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/type">type</a></code> attribute must be set to <code>checkbox</code> for buttons with a check state. Constants for the possible values for this attribute are in the <code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMXULButtonElement" title="">nsIDOMXULButtonElement</a></code> interface.</dd>
-</dl>
-</div> <div id="a-checked">
-
-
-<dl>
- <dt><code id="a-checked"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/checked">checked</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>Indicates whether the element is checked or not.</dd>
- <dd>Use <code>hasAttribute()</code> to determine whether this attribute is set instead of <code>getAttribute()</code>.</dd>
- <dd>For buttons, the <code>type</code> attribute must be set to <code>checkbox</code> or <code>radio</code> for this attribute to have any effect.</dd>
-</dl>
-</div> <div id="a-command">
-
-
-<dl>
- <dt><code id="a-command"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/command">command</a></code></dt>
- <dd>Type: <em>id</em></dd>
- <dd>Set to the <code id="a-id"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> of a <code><a href="/en-US/docs/Mozilla/Tech/XUL/command" title="command">command</a></code> element that is being observed by the element.</dd>
-</dl>
-
-
-</div> <div id="a-crop">
-
-<dl>
- <dt>
- <code id="a-crop"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/crop">crop</a></code></dt>
- <dd>
- Type: <em>one of the values below</em></dd>
- <dd>
- If the label of the element is too big to fit in its given space, the text will be cropped on the side specified by the <code>crop</code> attribute. An ellipsis will be used in place of the cropped text. If the box direction is reversed, the cropping is reversed.</dd>
- <dd>
- <dl>
- <dt>
- <code>start</code></dt>
- <dd>
- The text will be cropped on its left side in left-to-right text locales, and the right side in right-to-left locales.</dd>
- <dt>
- <code>end</code></dt>
- <dd>
- The text will be cropped on its right side in left-to-right text locales, and the right side in right-to-left locales.</dd>
- <dt>
- <code>left</code></dt>
- <dd>
- <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> The text will be cropped on its left side.</dd>
- <dt>
- <code>right</code></dt>
- <dd>
- <span title="This deprecated API should no longer be used, but will probably still work."><i class="icon-thumbs-down-alt"> </i></span> The text will be cropped on its right side.</dd>
- <dt>
- <code>center</code></dt>
- <dd>
- The text will be cropped in the middle, showing both the start and end of the text normally.</dd>
- <dt>
- <code>none</code></dt>
- <dd>
- The text will be not be cropped using an ellipsis. However, the text will simply be cut off if it is too large. The side depends on the CSS text alignment.</dd>
- </dl>
- </dd>
- <dd>
- Depending on the platform and theme being used, some elements will have set a maximum width so they will always appear cropped. If you wish to use the value <code>none</code> and the displayed text is larger than this maximum width, you may be able to use the max-width CSS property (or the maxwidth attribute) to override this size. For example, for a menuitem in a menu you can add the following CSS rule when you want to use the value <code>none</code>:</dd>
- <dd>
- <pre class="eval">menupopup &gt; menuitem, menupopup &gt; menu { max-width: none; }
-</pre>
- </dd>
-</dl>
-</div> <div id="a-dir">
-
-
-<dl>
- <dt><code id="a-dir"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>The direction in which the child elements of the element are placed.
- <dl>
- <dt><code>normal</code></dt>
- <dd>For scales, the scale's values are ordered from left to right (for horizontal scales) or from top to bottom (for vertical scales)  For other elements, the elements are placed left to right or top to bottom in the order they appear in the XUL code.</dd>
- <dt><code>reverse</code></dt>
- <dd>For scales, the scale's values are ordered from right to left (for horizontal scales) or from bottom to top (for vertical scales). For other elements, they are placed right to left or bottom to top. This is reverse of the order in which they appear in the XUL code.</dd>
- </dl>
- </dd>
-</dl>
-
-
-</div> <div id="a-disabled">
-
-
-<dl>
- <dt><code id="a-disabled"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>Indicates whether the element is disabled or not. If this attribute is set, the element is disabled. Disabled elements are usually drawn with grayed-out text. If the element is disabled, it does not respond to user actions, it cannot be focused, and the <code>command</code> event will not fire. In the case of form elements, it will not be submitted. Do not set the attribute to <code>true</code>, as this will suggest you can set it to <code>false</code> to enable the element again, which is not the case.
-
- <div>The <code>disabled</code> attribute is allowed only for form controls. Using it with an anchor tag (an <code>&lt;a&gt;</code> link) will have no effect.</div>
-
- <div>
- The element will, however, still respond to mouse events. To enable the element, leave this attribute out entirely.</div>
- </dd>
- <dd>Visible controls have a <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/disabled">disabled</a></span></code> property which, except for menus and menuitems, is normally preferred to use of the attribute, as it may need to update additional state.</dd>
-</dl>
-
-
-</div> <div id="a-dlgType">
-
-
-<dl>
- <dt><code id="a-dlgtype"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/dlgtype">dlgtype</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>The dialog type of the button, used only when the button is in a dialog box. You can use this feature to replace the standard dialog box buttons with custom buttons, yet the dialog event methods will still function. For example, if the <code>dlgType</code> is set to <code>accept</code>, the button will replace the dialog box's accept button, which is usually labeled <code>OK</code>. Using this attribute on a button that is not in a dialog box has no effect. The following values can be used as the dialog type:</dd>
- <dd>
- <dl>
- <dt><code>accept</code></dt>
- <dd>The OK button, which will accept the changes when pressed.</dd>
- <dt><code>cancel</code></dt>
- <dd>The cancel button which will cancel the operation.</dd>
- <dt><code>help</code></dt>
- <dd>A help button for displaying help about the dialog.</dd>
- <dt><code>disclosure</code></dt>
- <dd>A button to show more information. This might be a button or a disclosure triangle.</dd>
- <dt><code>extra1</code></dt>
- <dd>An optional additional button.</dd>
- <dt><code>extra2</code></dt>
- <dd>A second optional additional button.</dd>
- </dl>
- </dd>
-</dl>
-</div> <div id="a-group">
-
-
-<dl>
- <dt><code id="a-group"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/group">group</a></code></dt>
- <dd>Type: <em>string group name</em> </dd>
- <dd>Buttons with type="radio" and the same value for their group attribute are put into the same group. Only one button from each group can be checked at a time. If the user selects one the buttons, the others in the group are unchecked.</dd>
-</dl>
-</div> <div id="a-image">
-
-<dl>
- <dt><code id="a-image"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/image">image</a></code></dt>
- <dd>Type: <em>URI</em></dd>
- <dd>The URI of the image to appear on the element. If this attribute is empty or left out, no image appears. The position of the image is determined by the <code id="a-dir"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code> and <code id="a-orient"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code> attributes.</dd>
-</dl>
-
-
-
-</div> <div id="a-label">
-
-
-<dl>
- <dt><code id="a-label"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The label that will appear on the element. If this is left out, no text appears. For an editable <code><a href="/en-US/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code> element the value of this attribute is copied to the <code><a href="/en-US/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code>.value property upon user selection of the <code><a href="/en-US/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code>.</dd>
-</dl>
-
-
-</div> <div id="a-open">
-
-
-<dl>
- <dt><code id="a-open"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/open">open</a></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>For the <code>menu</code> <code id="a-type"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/type">type</a></code> buttons, the <code>open</code> attribute is set to <code>true</code> when the menu is open. The <code>open</code> attribute is not present if the menu is closed.</dd>
-</dl>
-</div> <div id="a-orient">
-
-
-<dl>
- <dt><code id="a-orient"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>Used to specify whether the children of the element are oriented horizontally or vertically. The default value depends on the element. You can also use the <a href="/en-US/docs/Web/CSS/-moz-box-orient" title="The documentation about this has not yet been written; please consider contributing!"><code>-moz-box-orient</code></a> style property.
- <dl>
- <dt><code>horizontal</code></dt>
- <dd>Child elements of the element are placed next to each other in a row in the order that they appear in the XUL source.</dd>
- <dt><code>vertical</code></dt>
- <dd>Child elements of the element are placed under each other in a column in the order that they appear in the XUL source.</dd>
- </dl>
- </dd>
-</dl>
-
-
-</div> <div id="a-tabindex">
-
-
-<dl>
- <dt><code id="a-tabindex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tabindex">tabindex</a></code></dt>
- <dd>Type: <em>integer</em></dd>
- <dd>The tab order of the element. The tab order is the order in which the focus is moved when the user presses the "<code>tab</code>" key. Elements with a higher <code>tabindex</code> are later in the tab sequence.</dd>
-</dl>
-</div> <div id="a-toolbarbutton.type">
-
-
-<dl>
- <dt><code id="a-toolbarbutton.type"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/toolbarbutton.type">type</a></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>The type of button. If this attribute is not present, a normal button is created. You can set this attribute to the value <code>menu</code> to create a button with a <a href="/en/XUL/menupopup" title="en/XUL/menupopup">menu popup</a>. This will typically cause the button to be displayed differently.</dd>
-</dl>
-
-<ul>
- <li><code>menu</code>: Set the type attribute to the value <code>menu</code> to create a button with a menu popup. Place a <code><a href="/en-US/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code> element inside the button in this case. The user may click anywhere on the button to open and close the menu.</li>
- <li><code>menu-button</code>: You can also use the value <code>menu-button</code> to create a button with a menu. Unlike the <code>menu</code> type, this type requires the user to press the arrow to open the menu, but a different command may be invoked when the main part of the button is pressed.</li>
- <li><code>checkbox</code>: Use this type to create a toggle button which will switch the <code id="a-checkState"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/checkState">checked state</a></code> each time the button is pressed.</li>
- <li><code>radio</code>: Use this type to create a radio button. You can also create a group of toolbarbuttons using this type and the attribute <code id="a-group"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/group">group</a></code>.</li>
-</ul>
-
-<table class="standard-table">
- <caption>Examples:</caption>
- <thead>
- <tr>
- <th scope="row">type value</th>
- <th scope="col">&lt;<code><a href="/en-US/docs/Mozilla/Tech/XUL/toolbarbutton" title="toolbarbutton">toolbarbutton</a></code> &gt;</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row"> </th>
- <td><img alt="Toolbarbutton without a type attribute" src="https://mdn.mozillademos.org/files/13601/toolbarbutton,%20type%20no%20value.png" style="height: 41px; width: 41px;"></td>
- </tr>
- <tr>
- <th scope="row">menu</th>
- <td><img alt='Toolbarbutton with type attribute equals "menu"' src="https://mdn.mozillademos.org/files/13603/toolbarbutton,%20type%20eq%20menu.png" style="height: 42px; width: 45px;"></td>
- </tr>
- <tr>
- <th scope="row">menu-button</th>
- <td><img alt='Toolbarbutton with type attribute equals "menu-button"' src="https://mdn.mozillademos.org/files/13605/toolbarbutton,%20type%20eq%20menu-button.png" style="height: 39px; width: 53px;"></td>
- </tr>
- <tr>
- <th scope="row">checkbox</th>
- <td><img alt='Toolbarbutton with type attribute equals "checkbox"' src="https://mdn.mozillademos.org/files/13607/toolbarbutton,%20type%20eq%20checkbox.png" style="height: 41px; width: 47px;"></td>
- </tr>
- <tr>
- <th scope="row">radio</th>
- <td><img alt='Toolbarbutton with type attribute equals "radio"' src="https://mdn.mozillademos.org/files/13609/toolbarbutton,%20type%20eq%20radio.png" style="height: 41px; width: 38px;"></td>
- </tr>
- </tbody>
-</table>
-
-
-</div> <div id="a-validate">
-
-
-<dl>
- <dt><code id="a-validate"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/validate">validate</a></code></dt>
- <dd>Type: <em>one of the values below</em></dd>
- <dd>This attribute indicates whether to load the image from the cache or not. This would be useful if the images are stored remotely or you plan on swapping the image frequently. The following values are accepted, or leave out the attribute entirely for default handling:</dd>
- <dd>
- <dl>
- <dt><code>always</code></dt>
- <dd>The image is always checked to see whether it should be reloaded.</dd>
- <dt><code>never</code></dt>
- <dd>The image will be loaded from the cache if possible.</dd>
- </dl>
- </dd>
-</dl>
-</div><p></p>
-<h3 id="Properties" name="Properties">Properties</h3>
-<p> </p><div id="p-accessKey">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/accessKey">accessKey</a></span></code></dt>
- <dd>
- Type: <em>character</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-accesskey"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code> attribute.</dd>
-</dl></div> <div id="p-accessible">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/accessible">accessible</a></span></code></dt>
- <dd>
- Type: <em><code><a href="/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAccessible" title="">nsIAccessible</a></code></em></dd>
- <dd>
- Returns the accessibility object for the element.</dd>
-</dl></div> <div id="p-autoCheck">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/autoCheck">autoCheck</a></span></code></dt>
- <dd>Type: <em>boolean</em></dd>
- <dd>Gets and sets the value of the <code id="a-autoCheck"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/autoCheck">autoCheck</a></code> attribute.</dd>
-</dl></div> <div id="p-checkState">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/checkState">checkState</a></span></code></dt>
- <dd>
- Type: <em>integer</em>, values <code>0</code>, <code>1</code>, or <code>2</code></dd>
- <dd>
- Gets and sets the value of the <code id="a-checkState"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/checkState">checkState</a></code> attribute.</dd>
-</dl></div> <div id="p-checked">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/checked">checked</a></span></code></dt>
- <dd>
- Type: <em>boolean</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-checked"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/checked">checked</a></code> attribute.</dd>
-</dl></div> <div id="p-command">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/command">command</a></span></code></dt>
- <dd>Type: <em>element id</em></dd>
- <dd>Gets and sets the value of the <code id="a-command"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/command">command</a></code> attribute.</dd>
-</dl></div> <div id="p-crop">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/crop">crop</a></span></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-crop"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/crop">crop</a></code> attribute.</dd>
-</dl></div> <div id="p-dir">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/dir">dir</a></span></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-dir"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code> attribute.</dd>
-</dl></div> <div id="p-disabled">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/disabled">disabled</a></span></code></dt>
- <dd>
- Type: <em>boolean</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-disabled"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code> attribute.</dd>
-</dl>
-</div> <div id="p-dlgType">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/dlgType">dlgType</a></span></code></dt>
- <dd>Type: <em>string</em></dd>
- <dd>Gets and sets the value of the <code id="a-dlgType"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/dlgType">dlgType</a></code> attribute.</dd>
-</dl></div> <div id="p-group">
-
-<dl>
- <dt><code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/group">group</a></span></code></dt>
- <dd>Type: <em>string group name</em></dd>
- <dd>Gets and sets the value of the <code id="a-group"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/group">group</a></code> attribute.</dd>
-</dl></div> <div id="p-image">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/image">image</a></span></code></dt>
- <dd>
- Type: <em>image URL</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-image"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/image">image</a></code> attribute.</dd>
-</dl></div> <div id="p-label">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/label">label</a></span></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-label"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> attribute.</dd>
-</dl>
-</div> <div id="p-open">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/open">open</a></span></code></dt>
- <dd>
- Type: <em>boolean</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-open"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/open">open</a></code> attribute.</dd>
-</dl>
-</div> <div id="p-orient">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/orient">orient</a></span></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-orient"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code> attribute.</dd>
-</dl></div> <div id="p-tabIndex">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/tabIndex">tabIndex</a></span></code></dt>
- <dd>
- Type: <em>integer</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-tabindex"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/tabindex">tabindex</a></code> attribute.</dd>
-</dl></div> <div id="p-type">
-<dl>
- <dt>
- <code><span><a href="https://developer.mozilla.org/en-US/docs/XUL/Property/type">type</a></span></code></dt>
- <dd>
- Type: <em>string</em></dd>
- <dd>
- Gets and sets the value of the <code id="a-type"><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/type">type</a></code> attribute.</dd>
-</dl>
-</div><p></p>
-<h3 id="Methods" name="Methods">Methods</h3>
-<p></p><table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>XUL 요소에서 상속됨</strong><br> <small> <span id="m-blur"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/click">click</a></code></span>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/focus">focus</a></code></span>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/getElementsByAttribute">getElementsByAttribute</a></code></span></small></p> <p><strong>DOM 요소에서 상속됨</strong><br> <small> <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.addEventListener">addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.appendChild">appendChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.dispatchEvent">dispatchEvent()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttribute">getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNode">getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNodeNS">getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNS">getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getElementsByTagName">getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getElementsByTagNameNS">getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttribute">hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttributeNS">hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttributes">hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasChildNodes">hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.insertBefore">insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.isSupported">isSupported()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.normalize">normalize()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttribute">removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttributeNode">removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttributeNS">removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeChild">removeChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeEventListener">removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.replaceChild">replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttribute">setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNode">setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNodeNS">setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNS">setAttributeNS()</a></code></small></p> </td> </tr> </tbody>
-</table><p></p>
-<h3 id=".EA.B4.80.EB.A0.A8_.ED.95.AD.EB.AA.A9" name=".EA.B4.80.EB.A0.A8_.ED.95.AD.EB.AA.A9">관련 항목</h3>
-<dl>
- <dt>
- 요소</dt>
- <dd>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbargrippy" title="toolbargrippy">toolbargrippy</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbaritem" title="toolbaritem">toolbaritem</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarpalette" title="toolbarpalette">toolbarpalette</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarseparator" title="toolbarseparator">toolbarseparator</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarset" title="toolbarset">toolbarset</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarspacer" title="toolbarspacer">toolbarspacer</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarspring" title="toolbarspring">toolbarspring</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code></dd>
-</dl>
-<dl>
- <dt>
- 인터페이스</dt>
- <dd>
- <a href="ko/NsIAccessibleProvider">nsIAccessibleProvider</a>, <a href="ko/NsIDOMXULButtonElement">nsIDOMXULButtonElement</a></dd>
-</dl>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/toolbarpalette/index.html b/files/ko/mozilla/tech/xul/toolbarpalette/index.html
deleted file mode 100644
index d2f9a2abd6..0000000000
--- a/files/ko/mozilla/tech/xul/toolbarpalette/index.html
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: toolbarpalette
-slug: Mozilla/Tech/XUL/toolbarpalette
-tags:
- - MDC Project
- - NeedsTechnicalReview
- - XUL Elements
- - XUL Reference
-translation_of: Archive/Mozilla/XUL/toolbarpalette
----
-<div class="noinclude">
- <span class="breadcrumbs XULRef_breadcrumbs">
- « <a href="/ko/docs/XUL_Reference">XUL Reference home</a> [
- <a href="#Examples">예제</a> |
- <a href="#Attributes">Attributes</a> |
- <a href="#Properties">Properties</a> |
- <a href="#Methods">Methods</a> |
- <a href="#Related">관련 항목</a> ]
-</span></div>
-<p><b><span class="highlightred">Firefox only</span></b></p>
-<p><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>에 넣을 수 있는 항목들의 팔레트입니다. 이 요소는 직접 출력되지 않으며, 대신 도구 모음 설정 대화창의 항목들로 출력됩니다. <code>toolbarpalette</code>의 자식 요소들은 툴바에 포함될 수 있는 <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarbutton" title="toolbarbutton">toolbarbutton</a></code>과 <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbaritem" title="toolbaritem">toolbaritem</a></code> 이어야 합니다. 여백 항목은 자동적으로 포함되기 때문에 직접 추가하면 안됩니다.</p>
-<p><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>가 <code>BrowserToolbarPalette</code>인 <code>toolbarpalette</code>를 <code><a href="/ko/docs/Mozilla/Tech/XUL/overlay" title="overlay">overlay</a></code>내에 포함하여 Firefox 브라우저에 사용자 정의 버튼을 추가할 수 있습니다.</p>
-<h3 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h3>
-<p>(example needed)</p>
-<h3 id="Attributes" name="Attributes">Attributes</h3>
-<p></p><table style="border: 1px solid rgb(204, 204, 204); margin: 0 0 10px 10px; padding: 0 10px; background: rgb(238, 238, 238);">
-<tbody>
-<tr>
-<td><p><strong>Inherited from XUL element</strong><br> <small>
-<code id="a-align"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code>,
-<code id="a-allowevents"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/allowevents">allowevents</a></code>,
-<code id="a-allownegativeassertions"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/allownegativeassertions">allownegativeassertions</a></code>,
-<code id="a-class"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code>,
-<code id="a-coalesceduplicatearcs"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/coalesceduplicatearcs">coalesceduplicatearcs</a></code>,
-<code id="a-collapsed"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/collapsed">collapsed</a></code>,
-<code id="a-container"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/container">container</a></code>,
-<code id="a-containment"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/containment">containment</a></code>,
-<code id="a-context"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code>,
-<code id="a-contextmenu"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/contextmenu">contextmenu</a></code>,
-<code id="a-datasources"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/datasources">datasources</a></code>,
-<code id="a-dir"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code>,
-<code id="a-empty"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/empty">empty</a></code>,
-<code id="a-equalsize"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/equalsize">equalsize</a></code>,
-<code id="a-flags"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flags">flags</a></code>,
-<code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code>,
-<code id="a-height"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code>,
-<code id="a-hidden"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/hidden">hidden</a></code>,
-<code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code>,
-<code id="a-insertafter"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/insertafter">insertafter</a></code>,
-<code id="a-insertbefore"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/insertbefore">insertbefore</a></code>,
-<code id="a-left"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/left">left</a></code>,
-<code id="a-maxheight"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code>,
-<code id="a-maxwidth"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code>,
-<code id="a-menu"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/menu">menu</a></code>,
-<code id="a-minheight"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code>,
-<code id="a-minwidth"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code>,
-<code id="a-mousethrough"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/mousethrough">mousethrough</a></code>,
-<code id="a-observes"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/observes">observes</a></code>,
-<code id="a-ordinal"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/ordinal">ordinal</a></code>,
-<code id="a-orient"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code>,
-<code id="a-pack"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code>,
-<code id="a-persist"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/persist">persist</a></code>,
-<code id="a-popup"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code>,
-<code id="a-position"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code>,
-<code id="a-preference-editable"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/preference-editable">preference-editable</a></code>,
-<code id="a-querytype"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/querytype">querytype</a></code>,
-<code id="a-ref"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/ref">ref</a></code>,
-<code id="a-removeelement"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/removeelement">removeelement</a></code>,
-<code id="a-sortDirection"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/sortDirection">sortDirection</a></code>,
-<code id="a-sortResource"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/sortResource">sortResource</a></code>,
-<code id="a-sortResource2"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/sortResource2">sortResource2</a></code>,
-<code id="a-statustext"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/statustext">statustext</a></code>,
-<code id="a-style"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code>,
-<code id="a-template"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/template">template</a></code>,
-<code id="a-tooltip"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code>,
-<code id="a-tooltiptext"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code>,
-<code id="a-top"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/top">top</a></code>,
-<code id="a-uri"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/uri">uri</a></code>,
-<code id="a-wait-cursor"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/wait-cursor">wait-cursor</a></code>,
-<code id="a-width"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code> </small></p>
-</td>
-</tr>
-</tbody>
-</table><p></p>
-<h3 id="Properties" name="Properties">Properties</h3>
-<p></p><table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>XUL 요소에서 상속됨</strong><br> <small> <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/align">align</a></span></code>, , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/allowEvents">allowEvents</a></span></code>, , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/boxObject">boxObject</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/builder">builder</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/className">className</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/collapsed">collapsed</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/contextMenu">contextMenu</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/controllers">controllers</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/database">database</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/datasources">datasources</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/dir">dir</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/flex">flex</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/height">height</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/hidden">hidden</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/id">id</a></span></code>, , , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/left">left</a></span></code>, , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/maxHeight">maxHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/maxWidth">maxWidth</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/menu">menu</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/minHeight">minHeight</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/minWidth">minWidth</a></span></code>, , , , , , , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/observes">observes</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/ordinal">ordinal</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/orient">orient</a></span></code>, , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/pack">pack</a></span></code>, , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/persist">persist</a></span></code>, , , , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/ref">ref</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/resource">resource</a></span></code>, , , , , <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/statusText">statusText</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/style">style</a></span></code>, ,, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/tooltip">tooltip</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/tooltipText">tooltipText</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/top">top</a></span></code>, <code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/width">width</a></span></code></small></p> </td> </tr> </tbody>
-</table><p></p>
-<h3 id="Methods" name="Methods">Methods</h3>
-<p></p><table style="border: 1px solid rgb(204, 204, 204); margin: 0px 0px 10px 10px; padding: 0px 10px; background: rgb(238, 238, 238) none repeat scroll 0% 50%;"> <tbody> <tr> <td> <p><strong>XUL 요소에서 상속됨</strong><br> <small> <span id="m-blur"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/blur">blur</a></code></span>, <span id="m-click"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/click">click</a></code></span>, <span id="m-doCommand"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/doCommand">doCommand</a></code></span>, <span id="m-focus"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/focus">focus</a></code></span>, <span id="m-getElementsByAttribute"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/getElementsByAttribute">getElementsByAttribute</a></code></span></small></p> <p><strong>DOM 요소에서 상속됨</strong><br> <small> <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.addEventListener">addEventListener()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.appendChild">appendChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.dispatchEvent">dispatchEvent()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttribute">getAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNode">getAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNodeNS">getAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getAttributeNS">getAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getElementsByTagName">getElementsByTagName()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.getElementsByTagNameNS">getElementsByTagNameNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttribute">hasAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttributeNS">hasAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasAttributes">hasAttributes()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.hasChildNodes">hasChildNodes()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.insertBefore">insertBefore()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.isSupported">isSupported()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.normalize">normalize()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttribute">removeAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttributeNode">removeAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeAttributeNS">removeAttributeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeChild">removeChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.removeEventListener">removeEventListener()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.replaceChild">replaceChild()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttribute">setAttribute()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNode">setAttributeNode()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNodeNS">setAttributeNodeNS()</a></code>, <code><a href="https://developer.mozilla.org/ko/docs/DOM/element.setAttributeNS">setAttributeNS()</a></code></small></p> </td> </tr> </tbody>
-</table><p></p>
-<h3 id=".EA.B4.80.EB.A0.A8_.ED.95.AD.EB.AA.A9" name=".EA.B4.80.EB.A0.A8_.ED.95.AD.EB.AA.A9">관련 항목</h3>
-<dl>
- <dt>
- Elements</dt>
- <dd>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarbutton" title="toolbarbutton">toolbarbutton</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbargrippy" title="toolbargrippy">toolbargrippy</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbaritem" title="toolbaritem">toolbaritem</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarseparator" title="toolbarseparator">toolbarseparator</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarset" title="toolbarset">toolbarset</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarspacer" title="toolbarspacer">toolbarspacer</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarspring" title="toolbarspring">toolbarspring</a></code>, <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code></dd>
-</dl>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_controls/index.html b/files/ko/mozilla/tech/xul/xul_controls/index.html
deleted file mode 100644
index fbafdfac68..0000000000
--- a/files/ko/mozilla/tech/xul/xul_controls/index.html
+++ /dev/null
@@ -1,548 +0,0 @@
----
-title: XUL controls
-slug: Mozilla/Tech/XUL/XUL_controls
-tags:
- - XUL
-translation_of: Archive/Mozilla/XUL/XUL_controls
----
-<p>아래의 표는 <a href="/ko/XUL" title="ko/XUL">XUL</a>에서 제공하는 사용자 인터페이스 컨트롤들의 목록입니다. 컨트롤들의 단계별 사용 방법은 <a href="/ko/XUL_Tutorial" title="ko/XUL_Tutorial">XUL Tutorial</a>을, 레퍼런스 정보는 <a href="/ko/XUL_Reference" title="ko/XUL_Reference">XUL Reference</a>를 참고하세요.</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td><strong>&lt;button&gt;</strong>
-
- <p>사용자가 누를 수 있는 버튼.</p>
-
- <pre>
-&lt;button label="Save" accesskey="S"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Adding_Buttons" title="ko/XUL_Tutorial/Adding_Buttons">버튼 요소에 대한 좀더 많은 정보</a>.</li>
- <li><a href="/ko/XUL/button" title="ko/XUL/button">버튼 레퍼런스</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;button type="menu"&gt;</strong>
- <p>드롭다운 메뉴가 붙은 버튼. 버튼을 누르면 메뉴가 열립니다.</p>
-
- <pre>
-&lt;button type="menu" label="View"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="List"/&gt;
- &lt;menuitem label="Details"/&gt;
- &lt;/menupopup&gt;
-&lt;/button&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/More_Button_Features#Button_with_menupopup" title="ko/XUL_Tutorial/More_Button_Features#Button_with_menupopup">메뉴 버튼 요소의 유형에 대한 좀더 많은 정보</a>.</li>
- <li><a href="/ko/XUL/button" title="ko/XUL/button">버튼 레퍼런스</a></li>
- <li>관련 요소: <code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;button type="menu-button"&gt;</strong>
- <p>메뉴가 붙은 별도의 화살표 버튼이 있는 버튼. '<code>menu</code>' 유형과 달리 버튼의 메인 부분을 눌렀을 때 다른 행위를 수행할 수 있습니다.</p>
-
- <pre>
-&lt;button type="menu-button" label="New"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="New Document"/&gt;
- &lt;menuitem label="New Image"/&gt;
- &lt;/menupopup&gt;
-&lt;/button&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/More_Button_Features#Button_with_menupopup" title="ko/XUL_Tutorial/More_Button_Features#Button_with_menupopup">메뉴 버튼 요소의 유형에 대한 좀더 많은 정보</a>.</li>
- <li><a href="/ko/XUL/button" title="ko/XUL/button">버튼 레퍼런스</a></li>
- <li>관련 요소: <code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></li>
- </ul>
- </td>
- <td><span class="comment"><a href="/ko/Image/Controlsguide-button-menubutton.png">Image:Controlsguide-button-menubutton.png</a></span></td>
- </tr>
- <tr>
- <td><strong>&lt;checkbox&gt;</strong>
- <p>켜거나 끌 수 있는 컨트롤로, 일반적으로 가능 혹은 불가능할 수 있는 옵션을 만드는데 사용됩니다.</p>
-
- <pre>
-&lt;checkbox label="Show Toolbar Labels" checked="true"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Input_Controls#Checkboxes_and_Radio_Elements" title="ko/XUL_Tutorial/Input_Controls#Checkboxes_and_Radio_Elements">체크박스 요소에 대한 좀더 많은 정보</a>.</li>
- <li><a href="/ko/XUL/checkbox" title="ko/XUL/checkbox">체크박스 레퍼런스</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;colorpicker&gt;</strong>
- <p>색을 선택하는데 사용하는 컨트롤.</p>
-
- <pre>
-&lt;colorpicker color="#FF0000"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/colorpicker" title="ko/XUL/colorpicker">색선택기(colorpicker) 레퍼런스</a></li>
- </ul>
- </td>
- <td><span class="comment"><a href="/ko/Image/Controlsguide-colorpicker.png">Image:Controlsguide-colorpicker.png</a></span></td>
- </tr>
- <tr>
- <td><strong>&lt;colorpicker type="button"&gt;</strong>
- <p>버튼만 있는 특수한 색 선택기로, 버튼이 눌려지면 색을 선택할 수 있는 팝업이 출력됩니다.</p>
-
- <pre>
-&lt;colorpicker type="button" color="#CC0080"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/colorpicker" title="ko/XUL/colorpicker">색선택기(colorpicker) 레퍼런스</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;datepicker&gt;</strong>
-
-
- <p>날짜 입력에 사용할 수 있는 텍스트박스 집합.</p>
-
- <pre>
-&lt;datepicker value="2007/03/26"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/datepicker" title="ko/XUL/datepicker">날짜선택기(datepicker) 레퍼런스</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;datepicker type="grid"&gt;</strong>
-
-
- <p>날짜를 선택할 수 있는 달력이 출력되는 형태의 날짜선택기(datepicker).</p>
-
- <pre>
-&lt;datepicker type="grid" value="2007/02/20"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/datepicker" title="ko/XUL/datepicker">날짜선택기(datepicker) 레퍼런스</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;datepicker type="popup" &gt;</strong>
-
-
- <p>날짜를 입력할 수 있는 텍스트박스와 함께 달력 팝업을 출력할 수 있는 버튼이 같이 있는 날짜 선택기.</p>
-
- <pre>
-&lt;datepicker type="popup" value="2008/08/24"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/datepicker" title="ko/XUL/datepicker">날짜선택기(datepicker) 레퍼런스</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;description&gt;</strong>
- <p>긴 문장의 텍스트를 출력하는데 사용되는 요소</p>
-
- <pre>
-&lt;description&gt;
- Select a time for the event to start
-&lt;/description&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Adding_Labels_and_Images#Description_Element" title="ko/XUL_Tutorial/Adding_Labels_and_Images#Description_Element">description 요소에 대한 자세한 정보</a>.</li>
- <li><a href="/ko/XUL/description" title="ko/XUL/description">description 레퍼런스</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;groupbox&gt;</strong>
- <p>다른 사용자 인터페이스 컨트롤들을 포함하는 제목이 있는 상자 요소</p>
-
- <pre>
-&lt;groupbox&gt;
- &lt;caption label="Network"/&gt;
-&lt;/groupbox&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Groupboxes" title="ko/XUL_Tutorial/Groupboxes">groupbox 요소에 대한 자세한 정보</a>.</li>
- <li><a href="/ko/XUL/groupbox" title="ko/XUL/groupbox">Groupbox 레퍼런스</a></li>
- <li>관련 요소: <code><a href="/ko/docs/Mozilla/Tech/XUL/caption" title="caption">caption</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;image&gt;</strong>
- <p>URL로 지정한 이미지</p>
-
- <pre>
-&lt;image src="start.png"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Adding_Labels_and_Images#Images" title="ko/XUL_Tutorial/Adding_Labels_and_Images#Images">image 요소에 대한 자세한 정보</a>.</li>
- <li><a href="/ko/XUL/image" title="ko/XUL/image">Image 레퍼런스</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;label&gt;</strong>
- <p>label은 특정 컨트롤의 제목을 출력하기 위해 사용됩니다.</p>
-
- <pre>
-&lt;label control="volume" value="Volume:"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Adding_Labels_and_Images#Label_Element" title="ko/XUL_Tutorial/Adding_Labels_and_Images#Label_Element">label 요소에 대한 자세한 정보</a>.</li>
- <li><a href="/ko/XUL/label" title="ko/XUL/label">Label 레퍼런스</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;listbox&gt;</strong>
- <p>listbox는 라벨이 달린 항목 중 하나를 선택하는데 사용됩니다.</p>
-
- <pre>
-&lt;listbox&gt;
- &lt;listitem label="Chocolate"/&gt;
- &lt;listitem label="Jelly Beans"/&gt;
-&lt;/listbox&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/List_Controls#List_Boxes" title="ko/XUL_Tutorial/List_Controls#List_Boxes">listbox 요소에 대한 자세한 정보</a>.</li>
- <li><a href="/ko/XUL/listbox" title="ko/XUL/listbox">Listbox 레퍼런스</a></li>
- <li>관련 요소: <code><a href="/ko/docs/Mozilla/Tech/XUL/listcell" title="listcell">listcell</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/listcols" title="listcols">listcols</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/listcol" title="listcol">listcol</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/listhead" title="listhead">listhead</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/listheader" title="listheader">listheader</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/listitem" title="listitem">listitem</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;menulist&gt;</strong>
- <p>A menulist (or combobox) is used to create a control with a drop down to select a value.</p>
-
- <pre>
-&lt;menulist&gt;
- &lt;menupopup&gt;
- &lt;menulist label="Lions" value="l"/&gt;
- &lt;menuitem label="Tigers" value="t"/&gt;
- &lt;menuitem label="Bears" value="b"/&gt;
- &lt;/menupopup&gt;
-&lt;/menulist&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/List_Controls#Drop-down_Lists" title="ko/XUL_Tutorial/List_Controls#Drop-down_Lists">More information about the menulist element</a>.</li>
- <li><a href="/ko/XUL/menulist" title="ko/XUL/menulist">Menulist Reference</a></li>
- <li>Related Elements: <code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;menulist editable="true"&gt;</strong>
- <p>An editable menulist is like a standard menulist except that the selected value is displayed in a textbox where it may be modified directly or values not in the popup list may be entered.</p>
-
- <pre>
-&lt;menulist editable="true"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Elephants" value="Elephants"/&gt;
- &lt;menuitem label="Kangaroos" value="Kangaroos"/&gt;
- &lt;menuitem label="Bats" value="Bats"/&gt;
- &lt;/menupopup&gt;
-&lt;/menulist&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/List_Controls#Editable_menulist" title="ko/XUL_Tutorial/List_Controls#Editable_menulist">More information about the editable menulist element</a>.</li>
- <li><a href="/ko/XUL/menulist" title="ko/XUL/menulist">Menulist Reference</a></li>
- <li>Related Elements: <code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;progressmeter&gt;</strong>
- <p>A progress meter is used to display the progress of a lengthy task.</p>
-
- <pre>
-&lt;progressmeter value="40"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Progress_Meters" title="ko/XUL_Tutorial/Progress_Meters">More information about the progressmeter element</a>.</li>
- <li><a href="/ko/XUL/progressmeter" title="ko/XUL/progressmeter">Progressmeter Reference</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;radio&gt;</strong>
- <p>A radio button is used when only one of a set of options may be selected at a time.</p>
-
- <pre>
-&lt;radiogroup&gt;
- &lt;radio label="Light" value="light"/&gt;
- &lt;radio label="Heavy" value="heavy"/&gt;
-&lt;/radiogroup&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Input_Controls#Checkboxes_and_Radio_Buttons" title="ko/XUL_Tutorial/Input_Controls#Checkboxes_and_Radio_Buttons">More information about the radio element</a>.</li>
- <li><a href="/ko/XUL/radio" title="ko/XUL/radio">Radio Reference</a></li>
- <li>Related Elements: <code><a href="/ko/docs/Mozilla/Tech/XUL/radiogroup" title="radiogroup">radiogroup</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;richlistbox&gt;</strong>
- <p>The richlistbox displays a list of items where one or more may selected. Unlike the listbox which is designed to display only text, the richlistbox may display any type of content.</p>
-
- <pre>
-&lt;richlistbox&gt;
- &lt;richlistitem&gt;
- &lt;image src="happy.png"/&gt;
- &lt;/richlistitem&gt;
- &lt;richlistitem&gt;
- &lt;image src="sad.png"/&gt;
- &lt;/richlistitem&gt;
- &lt;richlistitem&gt;
- &lt;image src="angry.png"/&gt;
- &lt;/richlistitem&gt;
-&lt;/richlistbox&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/richlistbox" title="ko/XUL/richlistbox">Richlistbox Reference</a></li>
- <li>Related Elements: <code><a href="/ko/docs/Mozilla/Tech/XUL/richlistitem" title="richlistitem">richlistitem</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;scale&gt;</strong>
-
-
- <p>A scale displays a bar with a thumb that may be slid across the bar to select between a range of values.</p>
-
- <pre>
-&lt;scale min="1" max="10"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/scale" title="ko/XUL/scale">Scale Reference</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;textbox&gt;</strong>
- <p>A textbox which allows a single line of text to be entered.</p>
-
- <pre>
-&lt;textbox value="firefox"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Input_Controls#Text_Entry_Fields" title="ko/XUL_Tutorial/Input_Controls#Text_Entry_Fields">More information about the textbox element</a>.</li>
- <li><a href="/ko/XUL/textbox" title="ko/XUL/textbox">Textbox Reference</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;textbox multiline="true"&gt;</strong>
- <p>A textbox which allows multiple lines of text to be entered.</p>
-
- <pre>
-&lt;textbox multiline="true"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Input_Controls#Multiline_textbox" title="ko/XUL_Tutorial/Input_Controls#Multiline_textbox">More information about the multiple line textbox element</a>.</li>
- <li><a href="/ko/XUL/textbox" title="ko/XUL/textbox">Textbox Reference</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;textbox type="autocomplete"&gt;</strong>
- <p>A textbox which provides a dropdown showing matches that would complete what the user types. The user can select one to have it filled into the textbox.</p>
-
- <pre>
-&lt;textbox type="autocomplete" autocompletesearch="history"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/textbox" title="ko/XUL/textbox">Textbox Reference</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;textbox type="number"&gt;</strong>
-
-
- <p>A textbox for entering numbers. Two arrow buttons are displayed for cycling through values.</p>
-
- <pre>
-&lt;textbox type="number" min="1" max="20"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/textbox" title="ko/XUL/textbox">Textbox Reference</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;textbox type="password"&gt;</strong>
- <p>A textbox that hides the characters typed, used for entering passwords.</p>
-
- <pre>
-&lt;textbox type="password"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/textbox" title="ko/XUL/textbox">Textbox Reference</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;timepicker&gt;</strong>
-
-
- <p>A timepicker displays a set of textboxes for entering a time.</p>
-
- <pre>
-&lt;timepicker value="12:05"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL/timepicker" title="ko/XUL/timepicker">Timepicker Reference</a></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;toolbarbutton&gt;</strong>
- <p>A button that is displayed on a toolbar.</p>
-
- <pre>
-&lt;toolbarbutton label="Reload"/&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Toolbars" title="ko/XUL_Tutorial/Toolbars">More information about the toolbarbutton element</a>.</li>
- <li><a href="/ko/XUL/toolbarbutton" title="ko/XUL/toolbarbutton">Toolbarbutton Reference</a></li>
- <li>Related Elements: <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;toolbarbutton type="menu"&gt;</strong>
- <p>A button that is displayed on a toolbar with a drop down menu attached to it.</p>
-
- <pre>
-&lt;toolbarbutton type="menu" label="Show"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Toolbars"/&gt;
- &lt;menuitem label="Status Bar"/&gt;
- &lt;/menupopup&gt;
-&lt;/toolbarbutton&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Toolbars" title="ko/XUL_Tutorial/Toolbars">More information about this type of menu toolbarbutton element</a>.</li>
- <li><a href="/ko/XUL/toolbarbutton" title="ko/XUL/toolbarbutton">Toolbarbutton Reference</a></li>
- <li>Related Elements: <code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;toolbarbutton type="menu-button"&gt;</strong>
- <p>A button on a toolbar that that has a separate arrow button with a menu attached to it. Unlike with the 'menu' type, a separate action may be performed when the main part of the button is pressed.</p>
-
- <pre>
-&lt;toolbarbutton type="menu-button" label="Open"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Open Changed Files"/&gt;
- &lt;menuitem label="Open All"/&gt;
- &lt;/menupopup&gt;
-&lt;/toolbarbutton&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Toolbars" title="ko/XUL_Tutorial/Toolbars">More information about this type of menu toolbarbutton element</a>.</li>
- <li><a href="/ko/XUL/toolbarbutton" title="ko/XUL/toolbarbutton">Toolbarbutton Reference</a></li>
- <li>Related Elements: <code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- <tr>
- <td><strong>&lt;tree&gt;</strong>
- <p>A tree displays a hierarchy of items in multiple columns.</p>
-
- <pre>
-&lt;tree&gt;
- &lt;treecols&gt;
- &lt;treecol label="Name" flex="1"/&gt;
- &lt;treecol label="Size" flex="1"/&gt;
- &lt;/treecols&gt;
- &lt;treechildren&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="Popcorn"/&gt;
- &lt;treecell label="Large"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="Root Beer"/&gt;
- &lt;treecell label="Small"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
-&lt;/tree&gt;
-</pre>
-
- <ul>
- <li><a href="/ko/XUL_Tutorial/Trees" title="ko/XUL_Tutorial/Trees">More information about the tree element</a>.</li>
- <li><a href="/ko/XUL/tree" title="ko/XUL/tree">Tree Reference</a></li>
- <li>Related Elements: <code><a href="/ko/docs/Mozilla/Tech/XUL/treecell" title="treecell">treecell</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/treechildren" title="treechildren">treechildren</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/treecols" title="treecols">treecols</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/treeitem" title="treeitem">treeitem</a></code> <code><a href="/ko/docs/Mozilla/Tech/XUL/treerow" title="treerow">treerow</a></code></li>
- </ul>
- </td>
- <td></td>
- </tr>
- </tbody>
-</table>
diff --git a/files/ko/mozilla/tech/xul/xul_reference/index.html b/files/ko/mozilla/tech/xul/xul_reference/index.html
deleted file mode 100644
index 11d5570ccf..0000000000
--- a/files/ko/mozilla/tech/xul/xul_reference/index.html
+++ /dev/null
@@ -1,148 +0,0 @@
----
-title: XUL Reference
-slug: Mozilla/Tech/XUL/XUL_Reference
-tags:
- - XUL
- - XUL Reference
-translation_of: Archive/Mozilla/XUL/XUL_Reference
----
-<p>« <a href="/en-US/docs/XUL" title="en-US/XUL">XUL Reference</a> «
-</p>
-<table class="fullwidth-table">
-<tbody><tr>
-<th colspan="3">전체 XUL 요소</th>
-</tr>
-<tr>
-<td>
-<p><a href="ko/XUL/action">action</a><br>
-<a href="ko/XUL/arrowscrollbox">arrowscrollbox</a><br>
-<a href="ko/XUL/bbox">bbox</a><br>
-<a href="ko/XUL/binding">binding</a><br>
-<a href="ko/XUL/bindings">bindings</a><br>
-<a href="ko/XUL/box">box</a><br>
-<a href="ko/XUL/broadcaster">broadcaster</a><br>
-<a href="ko/XUL/broadcasterset">broadcasterset</a><br>
-<a href="ko/XUL/button">button</a><br>
-<a href="ko/XUL/browser">browser</a><br>
-<a href="ko/XUL/checkbox">checkbox</a><br>
-<a href="ko/XUL/caption">caption</a><br>
-<a href="ko/XUL/colorpicker">colorpicker</a><br>
-<a href="ko/XUL/column">column</a><br>
-<a href="ko/XUL/columns">columns</a><br>
-<a href="ko/XUL/commandset">commandset</a><br>
-<a href="ko/XUL/command">command</a><br>
-<a href="ko/XUL/conditions">conditions</a><br>
-<a href="ko/XUL/content">content</a><br>
-<a href="ko/XUL/deck">deck</a><br>
-<a href="ko/XUL/description">description</a><br>
-<a href="ko/XUL/dialog">dialog</a><br>
-<a href="ko/XUL/dialogheader">dialogheader</a><br>
-<a href="ko/XUL/editor">editor</a><br>
-<a href="ko/XUL/grid">grid</a><br>
-<a href="ko/XUL/grippy">grippy</a><br>
-<a href="ko/XUL/groupbox">groupbox</a><br>
-<a href="ko/XUL/hbox">hbox</a><br>
-<a href="ko/XUL/iframe">iframe</a><br>
-<a href="ko/XUL/image">image</a><br>
-<a href="ko/XUL/key">key</a><br>
-<a href="ko/XUL/keyset">keyset</a><br>
-<a href="ko/XUL/label">label</a><br>
-<a href="ko/XUL/listbox">listbox</a><br>
-<a href="ko/XUL/listcell">listcell</a><br>
-<a href="ko/XUL/listcol">listcol</a><br>
-<a href="ko/XUL/listcols">listcols</a><br>
-<a href="ko/XUL/listhead">listhead</a><br>
-<a href="ko/XUL/listheader">listheader</a><br>
-</p>
-</td>
-<td>
-<p><a href="ko/XUL/listitem">listitem</a><br>
-<a href="ko/XUL/member">member</a><br>
-<a href="ko/XUL/menu">menu</a><br>
-<a href="ko/XUL/menubar">menubar</a><br>
-<a href="ko/XUL/menuitem">menuitem</a><br>
-<a href="ko/XUL/menulist">menulist</a><br>
-<a href="ko/XUL/menupopup">menupopup</a><br>
-<a href="ko/XUL/menuseparator">menuseparator</a><br>
-<a href="ko/XUL/notification">notification</a><br>
-<a href="ko/XUL/notificationbox">notificationbox</a><br>
-<a href="ko/XUL/observes">observes</a><br>
-<a href="ko/XUL/overlay">overlay</a><br>
-<a href="ko/XUL/page">page</a><br>
-<a href="ko/XUL/popup">popup</a><br>
-<a href="ko/XUL/popupset">popupset</a><br>
-<a href="ko/XUL/preference">preference</a><br>
-<a href="ko/XUL/preferences">preferences</a><br>
-<a href="ko/XUL/prefpane">prefpane</a><br>
-<a href="ko/XUL/prefwindow">prefwindow</a><br>
-<a href="ko/XUL/progressmeter">progressmeter</a><br>
-<a href="ko/XUL/radio">radio</a><br>
-<a href="ko/XUL/radiogroup">radiogroup</a><br>
-<a href="ko/XUL/resizer">resizer</a><br>
-<a href="ko/XUL/richlistbox">richlistbox</a><br>
-<a href="ko/XUL/richlistitem">richlistitem</a><br>
-<a href="ko/XUL/row">row</a><br>
-<a href="ko/XUL/rows">rows</a><br>
-<a href="ko/XUL/rule">rule</a><br>
-<a href="ko/XUL/script">script</a><br>
-<a href="ko/XUL/scrollbar">scrollbar</a><br>
-<a href="ko/XUL/scrollbox">scrollbox</a><br>
-<a href="ko/XUL/scrollcorner">scrollcorner</a><br>
-<a href="ko/XUL/separator">separator</a><br>
-<a href="ko/XUL/spacer">spacer</a><br>
-<a href="ko/XUL/splitter">splitter</a><br>
-<a href="ko/XUL/stack">stack</a><br>
-<a href="ko/XUL/statusbar">statusbar</a><br>
-<a href="ko/XUL/statusbarpanel">statusbarpanel</a><br>
-</p>
-</td>
-<td>
-<p><a href="ko/XUL/stringbundle">stringbundle</a><br>
-<a href="ko/XUL/stringbundleset">stringbundleset</a><br>
-<a href="ko/XUL/tab">tab</a><br>
-<a href="ko/XUL/tabbrowser">tabbrowser</a><br>
-<a href="ko/XUL/tabbox">tabbox</a><br>
-<a href="ko/XUL/tabpanel">tabpanel</a><br>
-<a href="ko/XUL/tabpanels">tabpanels</a><br>
-<a href="ko/XUL/tabs">tabs</a><br>
-<a href="ko/XUL/template">template</a><br>
-<a href="ko/XUL/textnode">textnode</a><br>
-<a href="ko/XUL/textbox">textbox</a><br>
-<a href="ko/XUL/textbox_(Firefox_autocomplete)">textbox (Firefox autocomplete)</a><br>
-<a href="ko/XUL/textbox_(Mozilla_autocomplete)">textbox (Mozilla autocomplete)</a><br>
-<a href="ko/XUL/titlebar">titlebar</a><br>
-<a href="ko/XUL/toolbar">toolbar</a><br>
-<a href="ko/XUL/toolbarbutton">toolbarbutton</a><br>
-<a href="ko/XUL/toolbargrippy">toolbargrippy</a><br>
-<a href="ko/XUL/toolbaritem">toolbaritem</a><br>
-<a href="ko/XUL/toolbarpalette">toolbarpalette</a><br>
-<a href="ko/XUL/toolbarseparator">toolbarseparator</a><br>
-<a href="ko/XUL/toolbarset">toolbarset</a><br>
-<a href="ko/XUL/toolbarspacer">toolbarspacer</a><br>
-<a href="ko/XUL/toolbarspring">toolbarspring</a><br>
-<a href="ko/XUL/toolbox">toolbox</a><br>
-<a href="ko/XUL/tooltip">tooltip</a><br>
-<a href="ko/XUL/tree">tree</a><br>
-<a href="ko/XUL/treecell">treecell</a><br>
-<a href="ko/XUL/treechildren">treechildren</a><br>
-<a href="ko/XUL/treecol">treecol</a><br>
-<a href="ko/XUL/treecols">treecols</a><br>
-<a href="ko/XUL/treeitem">treeitem</a><br>
-<a href="ko/XUL/treerow">treerow</a><br>
-<a href="ko/XUL/treeseparator">treeseparator</a><br>
-<a href="ko/XUL/triple">triple</a><br>
-<a href="ko/XUL/vbox">vbox</a><br>
-<a href="ko/XUL/window">window</a><br>
-<a href="ko/XUL/wizard">wizard</a><br>
-<a href="ko/XUL/wizardpage">wizardpage</a><br>
-</p>
-</td>
-</tr>
-</tbody></table>
-<h3 id=".EB.8B.A4.EB.A5.B8_XUL_.EB.AA.A9.EB.A1.9D" name=".EB.8B.A4.EB.A5.B8_XUL_.EB.AA.A9.EB.A1.9D"> 다른 XUL 목록 </h3>
-<ul><li> <a href="ko/XUL/Attribute">전체 속성</a>
-</li><li> <a href="ko/XUL/Property">전체 프로퍼티</a>
-</li><li> <a href="ko/XUL/Method">전체 메소드</a>
-</li><li> <a href="ko/XUL_element_attributes">전체 XUL 요소를 위해 정의된 속성</a>
-</li><li> <a href="ko/XUL/Events">이벤트 처리기</a>
-</li></ul>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/adding_buttons/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/adding_buttons/index.html
deleted file mode 100644
index 7547d91ba9..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/adding_buttons/index.html
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title: Adding Buttons
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Adding_Buttons
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Adding_Buttons
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Creating_a_Window" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Adding_Labels_and_Images">다음 »</a></p>
-</div><p></p>
-<p>이 절에서, 우리는 창에 간단한 버튼 몇 개를 추가하는 법을 살펴보겠습니다.</p>
-<h3 id=".EC.B0.BD.EC.97.90_.EB.B2.84.ED.8A.BC_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0" name=".EC.B0.BD.EC.97.90_.EB.B2.84.ED.8A.BC_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0">창에 버튼 추가하기</h3>
-<p>우리가 지금까지 만든 창은 안에 아무것도 없습니다, 그래서 아직까지는 재미있지 않습니다. 이 절에서, 우리는 찾기(Find)와 취소(Cancel) 버튼 둘을 추가합니다. 또한 창에 버튼을 두는 간단한 방법을 배웁니다.</p>
-<p>HTML처럼, XUL은 UI 요소를 만드는 데 쓸 수 있는 태그가 다수 있습니다. 이 가운데 가장 기본은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/button" title="button">button</a></code></code> 태그입니다. 이 요소는 간단한 버튼을 만드는 데 씁니다.</p>
-<p>button 요소에는 요소와 관련된 두 주요 프로퍼티 <code>label</code>과 <code>image</code>가 있습니다. 여러분은 하나나 둘 다 필요합니다. 이와 같이, button은 label, image만이나 label과 image 둘 다 있을 수 있습니다. 예를 들어, button은 보통 대화상자에서 확인(OK)과 취소(Cancel) 버튼에 씁니다.</p>
-<h4 id="button_.EA.B5.AC.EB.AC.B8" name="button_.EA.B5.AC.EB.AC.B8">button 구문</h4>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/button" title="button">button</a></code></code> 태그의 구문은 다음과 같습니다.</p>
-<pre>&lt;button
- id="identifier"
- class="dialog"
- label="OK"
- image="images/image.jpg"
- disabled="true"
- accesskey="t"/&gt;
-</pre>
-<p>속성은 다음과 같고, 모두 선택 속성입니다.</p>
-<dl>
- <dt>
- <code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> </dt>
- <dd>
- 여러분이 식별할 수 있도록 버튼에 붙이는 유일한 식별자. 여러분은 모든 요소에서 이 속성을 봅니다. 여러분이 스타일시트나 스크립트에서 버튼을 참조하고 싶다면 이를 쓰고 싶을 겁니다. 그러나, 여러분은 거의 모든 요소에 이 속성을 추가해야 합니다. 단순함을 위해 항상 이 입문서의 요소에 두지는 않습니다.</dd>
- <dt>
- <code id="a-class"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code> </dt>
- <dd>
- 버튼의 스타일 클래스. 이는 HTML에서와 같이 작동합니다. 버튼이 안에 보이는 스타일을 나타내는 데 씁니다. 이 경우에는 <code>dialog</code>값이 쓰입니다. 대개의 경우, 여러분은 버튼에 클래스를 쓰지 않습니다.</dd>
- <dt>
- <code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> </dt>
- <dd>
- 버튼에 보이는 label. 예를 들어, 확인(
- <i>
- OK</i>
- )이나 취소(
- <i>
- Cancel</i>
- ). 이 속성을 빼면, 텍스트가 보이지 않습니다.</dd>
- <dt>
- <code id="a-image"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/image">image</a></code> </dt>
- <dd>
- 버튼에 보이는 image의 URL. 이 속성을 빼면, image가 보이지 않습니다. 여러분은 또한 <code><a href="ko/CSS/list-style-image">list-style-image</a></code> 프로퍼티를 써서 스타일시트에 image를 지정할 수 있습니다.</dd>
- <dt>
- <code id="a-disabled"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code> </dt>
- <dd>
- 이 속성을 <code>true</code>로 설정하면, button이 기능하지 않습니다. 이는 보통 회색으로 텍스트를 그립니다. 버튼이 기능하지 않으면, 버튼의 기능이 수행될 수 없습니다. 이 속성을 아주 빼면, 버튼이 작동합니다. 여러분은 <a href="ko/JavaScript">JavaScript</a>를 써서 버튼의 기능 상태를 엇바꿀(switch) 수 있습니다.</dd>
- <dt>
- <code id="a-accesskey"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code> </dt>
- <dd>
- 이는 단축키(shortcut key)로 쓸 문자로 설정돼야 합니다. 이 문자는 label 텍스트에 보여야 하고 대체로 밑줄이 그려집니다. 사용자가 ALT(나 각 플랫폼마다 다른 비슷한 키)와 access key를 눌렀을 때, 버튼은 창의 어디에서나 focus를 받습니다.</dd>
-</dl>
-<p>button은 위에 나열된 것보다 더 많은 속성을 지원함을 유념하세요. 그 밖의 속성은 <a href="ko/XUL_Tutorial/More_Button_Features">나중에 논의</a>합니다.</p>
-<h4 id=".EB.B2.84.ED.8A.BC_.EC.98.88.EC.A0.9C" name=".EB.B2.84.ED.8A.BC_.EC.98.88.EC.A0.9C">버튼 예제</h4>
-<p><span id="Example_1"><a id="Example_1"></a><strong>Example 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_buttons_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_buttons_1.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:buttons1.png"></div>
-<pre>&lt;button label="Normal"/&gt;
-&lt;button label="Disabled" disabled="true"/&gt;
-</pre>
-<p>위 예제는 그림(image)처럼 버튼을 생성합니다. 첫째 버튼은 보통 버튼입니다. 둘째 버튼은 기능하지 않으므로 회색으로 나옵니다.</p>
-<p>파일 찾기(find files) 유틸리티를 위한 간단한 찾기(Find) 버튼을 만들면서 시작합니다. 아래 예제 코드는 그 방법을 보입니다.</p>
-<pre>&lt;button id="find-button" label="Find"/&gt;
-</pre>
-<div class="note">
- Firefox는 웹 페이지에서 chrome 창 열기를 허용하지 않으므로, 입문서의 View 링크는 보통 브라우저 창에 열림을 유념하세요. 이 때문에, button은 창을 가로질러 늘어나 보입니다. 여러분은 늘어남을 막기 위해 window 태그에 align="start"를 추가할 수 있습니다.</div>
-<div class="highlight">
- <h5 id="findfile.xul_.EC.98.88.EC.A0.9C" name="findfile.xul_.EC.98.88.EC.A0.9C">findfile.xul 예제</h5>
- <p>우리가 이전 절에서 만든 findfile.xul 파일에 이 코드를 추가합시다. 코드는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/window" title="window">window</a></code></code> 태그 사이에 삽입이 필요합니다. 추가한 코드는 아래에 빨간 색으로 보입니다.</p>
- <pre class="eval">&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;
-&lt;window
- id="findfile-window"
- title="Find Files"
- orient="horizontal"
- xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;
-
- <span class="highlightred">&lt;button id="find-button" label="Find"/&gt;</span>
- <span class="highlightred">&lt;button id="cancel-button" label="Cancel"/&gt;</span>
-
-&lt;/window&gt;
-</pre>
- <div class="float-right">
- <img alt="Image:buttons2.png"></div>
- <p>여러분은 취소(Cancel) 버튼 또한 추가됐음을 알아챌 겁니다. 창은 두 버튼이 서로 곁에 보이도록 horizontal 방향을 주었습니다. 혹시 여러분이 Mozilla에서 그 파일을 열면, 여기 보이는 그림 같은 것을 얻습니다.</p>
-</div>
-<p> </p>
-<div class="note">
- 우리가 XUL 파일에 직접 텍스트 label을 넣지 않았음을 유념하세요. 우리는 <a href="ko/XUL_Tutorial/Localization">텍스트가 쉽게 번역될 수 있도록 대신 엔티티</a>를 쓸 겁니다.</div>
-<p>다음 절에서, 우리는 <a href="ko/XUL_Tutorial/Adding_Labels_and_Images"> XUL 창에 label과 image를 추가</a>하는 법을 알아보겠습니다.</p>
-<p><small>같이 보기 <a href="ko/XUL_Tutorial/More_Button_Features">more button fetaures</a></small></p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Creating_a_Window" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Adding_Labels_and_Images">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/adding_event_handlers/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/adding_event_handlers/index.html
deleted file mode 100644
index ca1cc19642..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/adding_event_handlers/index.html
+++ /dev/null
@@ -1,137 +0,0 @@
----
-title: Adding Event Handlers
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Adding_Event_Handlers
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Adding_Event_Handlers
----
-<p> </p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Scrolling_Menus" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:More_Event_Handlers">다음 »</a></p>
-</div><p></p>
-
-<p>지금까지의 파일 찾기 대화창은 꽤 괜찮은 모양세를 갖추고 있습니다. 다 끝나지는 않았지만 손쉽게 간단한 사용자 인터페이스를 만들었습니다. 다음으로는 스크립트를 추가하는 방법에 대해 알아보겠습니다.</p>
-
-<h3 id=".EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0" name=".EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0">스크립트 사용하기</h3>
-
-<p>파일 찾기 대화창이 제대로 동작하려면 대화창과 사용자의 상호작용시 실행해야하는 스크립트를 추가해야 합니다. 우리는 Find 및 Cancel 버튼과 각 메뉴 명령을 처리할 스크립트를 추가하려고 합니다. 이를 위해 <a href="ko/HTML">HTML</a>에서와 거의 동일한 방법으로 <a href="ko/JavaScript">JavaScript</a> 함수를 이용해서 작성할 것입니다.</p>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/script" title="script">script</a></code></code> 요소를 사용해서 XUL 파일에 스크립트를 포함할 수 있습니다. XUL 파일에서 <code>script</code> 태그 내에 직접 코드를 넣을수도 있지만 별도의 파일에 코드를 포함하는게 더 좋으며, 이렇게 하면 XUL창의 로딩 속도가 약간 빨라집니다. 외부 스크립트 파일과 연결하기 위해서는 <code><code id="a-src"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code></code> 속성을 사용합니다.</p>
-
-<div class="highlight">
-<h5 id=".ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C" name=".ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C">파일 찾기 예제</h5>
-
-<p>파일 찾기 대화창에 스크립트를 넣어보도록 하겠습니다. 스크립트 파일의 이름을 무엇으로 하든 상관없지만, 보통 XUL 파일과 이름은 같으면서 확장자만 .js로 하여 작성합니다. 이 경우 findfile.js가 사용될 것입니다. 여는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/window" title="window">window</a></code></code> 태그 아래 그리고 다른 요소들 앞에 아래 줄을 추가하세요.</p>
-
-<pre class="eval"><span class="highlightred">&lt;script src="findfile.js"/&gt;</span>
-</pre>
-
-<p>우리는 스크립트 파일에 무엇을 써야하는지를 안 후에 이 파일을 생성할것 입니다. 스크립트 파일에는 이벤트 핸들러에서 호출할 수 있도록 몇 개의 함수를 정의할 것입니다.</p>
-</div>
-
-<p>여러분은 하나의 XUL 파일에 여러개의 스크립트를 포함할 수 있습니다. 이를 위해서는 각각 다른 스크립트를 가리키는 여러개의 <code>script</code> 태그를 사용하면 됩니다. <code>src</code> 속성에는 상대 혹은 절대 URL을 사용할 수 있습니다. 예를 들어 다음과 같은 형식으로 URL을 사용할 수 있습니다.</p>
-
-<pre class="eval">&lt;script src="findfile.js"/&gt;
-&lt;script src="<a class="external" rel="freelink">chrome://findfiles/content/help.js</a>"/&gt;
-&lt;script src="<span class="nowiki">http://www.example.com/js/items.js</span>"/&gt;
-</pre>
-
-<p>본 자습서에서는 JavaScript의 사용법과 관련된 내용에 대해서는 다루지 않겠습니다. 이는 아주 넓은 주제이며 이를 위한 다양한 리소스들이 있습니다.</p>
-
-<div class="note">
-<p>기본적으로 JavaScript 콘솔은 웹 페이지에서 발생하는 오류만 보여줍니다. Chrome JavaScript에서 발생하는 오류를 출력하려면 설정에서 <code>javascript.options.showInConsole</code> 값을 <code>true</code>로 변경해야 합니다. 또한 디버깅을 위해 <code>javascript.options.strict</code> 설정값을 바꿀 수 있습니다. 이 값을 <code>true</code>로 설정하면, 표준에 맞지 않고 잘못 쓰여졌거나 구문에 맞지 않아서 로직 오류를 발생시킬 수 있는 것들이 JavaScript 콘솔에 기록될 것입니다.</p>
-</div>
-
-<h3 id=".EC.9D.B4.EB.B2.A4.ED.8A.B8.EC.97.90_.EC.9D.91.EB.8B.B5.ED.95.98.EA.B8.B0" name=".EC.9D.B4.EB.B2.A4.ED.8A.B8.EC.97.90_.EC.9D.91.EB.8B.B5.ED.95.98.EA.B8.B0">이벤트에 응답하기</h3>
-
-<p>스크립트는 사용자 혹은 다른 상황에 의해 발생하는 다양한 이벤트에 응답하는 코드를 포함합니다. 대략 30개 이상의 서로 다른 이벤트가 존재하며 이것들은 각각 서로 다른 방식으로 처리됩니다. 사용자가 마우스 버튼이나 키를 누르는 것과 같은 것들이 일반적인 이벤트입니다. 각각의 XUL 요소는 서로 다른 상황에서 특정 이벤트를 발생시킬 수 있는 능력이 있습니다. 어떤 이벤트는 특정 요소에 의해서만 발생됩니다.</p>
-
-<p>각 이벤트는 이름을 가지고 있으며, 'mousemove' 이벤트의 경우는 사용자가 UI 요소 위에서 마우스를 움직일 경우에 발생하는 이벤트 이름입니다. XUL은 <a class="external" href="http://www.w3.org/TR/DOM-Level-2-Events/">DOM Events</a>에서 정의한 것과 동일한 이벤트 메카니즘을 사용합니다. 사용자가 마우스를 움직이는 것과 같이, 이벤트를 발생시킬 수 있는 어떤 행위가 발생하면 해당 이벤트 유형에 해당하는 이벤트 객체가 생성됩니다. 이벤트 객체에는 마우스 위치나 눌러진 키와 같은 다양한 속성이 설정됩니다.</p>
-
-<p>그리고 나면 이벤트는 다음의 단계에 따라 XUL로 전송됩니다.</p>
-
-<ul>
- <li>캡쳐 단계(capturing phase)에서는 이벤트는 맨 먼저 창으로 전송되고 다음으로는 문서로, 다음으로는 이벤트가 발생한 XUL 요소의 부모 요소들로 하위방향으로 대상 요소에 도착할때까지 전송됩니다.</li>
- <li>타겟 단계(target phase)에서는 대상 XUL 요소로 이벤트가 전달됩니다.</li>
- <li>버블링 단계(bubbling phase)에서는 이벤트가 다시 창에 도착할 때까지 위로 각 요소들에 전송됩니다.</li>
-</ul>
-
-<p>여러분은 캡쳐나 버블링 단계에서 이벤트에 응답할 수 있습니다. 이벤트의 전파가 모두 끝난 후에 대상 요소에 미리 정의된 기본 행위가 발생합니다.</p>
-
-<p>예를 들어, 마우스가 상자안에 있는 버튼위에서 움직였다면 'mousemove' 이벤트가 발생되고, 창, 문서, 상자 순으로 전송됩니다. 여기까지오면 캡쳐 단계가 끝이 납니다. 다음으로는 버튼으로 'mousemove' 이벤트가 전달됩니다. 최종 버블링 단계에서는 다시 상자, 문서, 창으로 이벤트가 전송됩니다. 버블링 단계는 당연히 캡처 단계의 역순으로 진행됩니다. 어떤 이벤트는 버블링 단계를 수행하지 않는다는 것을 알아 두십시요.</p>
-
-<p>여러분은 이벤트 전파 단계별로 각 요소가 이벤트에 응답하도록 리스너를 부착할 수 있습니다. 하나의 이벤트는 대상 요소의 모든 부모 요소들에게도 전달되기 때문에 특정 요소나 계층 구조상 상위에 있는 요소에도 리스너를 부착할 수 있습니다. 당연히 더 높은 위치에 있는 요소에 부착된 이벤트는 이 요소 내부에 있는 모든 요소의 알림을 받게 됩니다. 반대로 버튼에 부착된 이벤트는 해당 버튼과 관련된 이벤트만 받게 됩니다. 이것은 동일하거나 유사한 코드를 사용해서 여러개의 요소의 이벤트를 처리하고자 할 때 유용합니다.</p>
-
-<p>가장 일반적으로 사용되는 이벤트는 'command' 이벤트입니다. command 이벤트는 사용자가 어떤 요소를 활성화할 때 발생합니다. 예를 들어 버튼을 누르거나, 체크박스를 변경한다던지, 메뉴의 한 항목을 선택하는 것들이 이에 해당됩니다. command 이벤트는 해당 요소를 활성화하는 여러가지 방법을 자동으로 처리하기 때문에 유용하게 사용됩니다. 예를 들어 command 이벤트는 사용자가 버튼을 클릭하기 위해 마우스를 이용하던지 Enter 키를 누르던지 상관없이 발생됩니다.</p>
-
-<p>이벤트 리스너를 요소에 부착하는데는 2가지 방법이 있습니다. 첫 번째는 속성값에 스크립트를 사용하는 것입니다. 두 번째는 대상 요소의 <code>addEventListener</code> 메소드를 호출하는 것입니다. 전자는 버블링 단계에서 발생하는 이벤트만을 처리할 수 있긴 하지만, 사용하기 쉽다는 장점이 있습니다. 후자는 어떠한 단계의 이벤트도 처리할 수 있으며 한 요소의 특정 이벤트에 대해 여러개의 리스너를 부착할 수도 있습니다. 보통 대부분의 이벤트에 대해 속성을 이용하여 처리하는 형식이 더 많이 사용됩니다.</p>
-
-<h3 id=".EC.86.8D.EC.84.B1_.EC.9D.B4.EB.B2.A4.ED.8A.B8_.EB.A6.AC.EC.8A.A4.EB.84.88" name=".EC.86.8D.EC.84.B1_.EC.9D.B4.EB.B2.A4.ED.8A.B8_.EB.A6.AC.EC.8A.A4.EB.84.88">속성 이벤트 리스너</h3>
-
-<p>속성 형태를 사용하기 위해서는 이벤트에 반응해야 할 요소에 이벤트 이름 앞에 'on'이 붙은 이름의 속성을 위치시키면 됩니다. 예를 들어, 'command' 이벤트에 해당하는 속성은 'oncommand'입니다. 속성 값은 어떤 이벤트가 발생할 때 실행될 스크립트이어야 합니다. 일반적으로 이 코드는 짧은 내용이거나 별도의 스크립트에서 정의된 함수를 호출할 것입니다. 다음은 버튼이 눌러졌을때 응답하는 예제입니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_1.xul">View</a></p>
-
-<pre class="eval">&lt;button label="OK" oncommand="alert('Button was pressed!');"/&gt;
-</pre>
-
-<p>command 이벤트는 버블링 단계를 거치기 때문에 해당 요소를 감싸는 요소(부모 요소)에도 이벤트 리스너를 부착시킬 수 있습니다. 아래의 예제에서 상자는 이벤트 리스너가 부착되어 있으며, 이 상자의 자식 요소들 모두에서 발생하는 이벤트에 응답하게 됩니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_2.xul">View</a></p>
-
-<pre class="eval">&lt;vbox oncommand="alert(event.target.tagName);"&gt;
- &lt;button label="OK"/&gt;
- &lt;checkbox label="Show images"/&gt;
-&lt;/vbox&gt;
-</pre>
-
-<p>예제에서 command 이벤트는 버튼이나 체크박스에서 vbox로의 버블링 단계를 거칩니다. 만일 또 다른 리스너가 버튼에 위치해 있었다면, 이 코드가 먼저 호출되고 다음에 vbox의 핸들러가 실행될 것입니다. 이벤트 핸들러는 이벤트 객체인 'event'라는 미리 정의된 인자를 전달 받습니다. 이것은 이벤트에 관한 특정 정보를 얻기 위해 사용됩니다. 이벤트 객체에서 자주 사용되는 속성은 이벤트의 'target' 속성으로 이것은 실제로 이벤트가 발생한 대상 요소를 포함하고 있습니다. 예제에서는 대상 요소의 태그 이름이 포함된 경고창을 출력하였습니다. 버블링 단계에서 'target' 속성은 유용하게 사용할 수 있는데, 여러분은 하나의 스크립트로 여러개의 버튼들을 처리할 수 있습니다.</p>
-
-<p>여러분은 속성 구문이 HTML 문서에서 이벤트에 사용된것과 비슷하다는 것을 발견하였을 것입니다. 사실 HTML과 XUL 모두 동일한 이벤트 메카니즘을 공유합니다. 한 가지 중요한 차이는 HTML에서는 버튼의 응답에 'click' 이벤트(<code>onclick</code> 속성)가 사용되는 반면, XUL에서는 command 이벤트가 사용된다는 것입니다. XUL에서도 click 이벤트가 존재하지만 키보드가 아닌 마우스 클릭에만 응답합니다. 따라서, XUL에서는 특정 요소가 꼭 마우스에 의해서만 처리되어야만 하는 이유가 없다면 click 이벤트를 사용하지 않는게 좋습니다. 또한, command 이벤트는 요소가 사용할 수 없는 상태(disabled)일때는 전송되지 않지만 click 이벤트는 대상 요소의 상태와 상관없이 전송됩니다.</p>
-
-<div class="highlight">
-<h5 id=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C" name=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C">우리의 파일 찾기 예제</h5>
-
-<p>파일 찾기 대화창에 있는 Find와 Cancel 버튼에는 command 이벤트 핸들러를 부착할 수 있습니다. Find 버튼을 누르면 검색을 시작해야 할 것입니다. 이 부분은 아직 구현되지 않았기 때문에 지금은 그냥 두겠습니다. 그러나 Cancel 버튼을 눌렀을때는 창이 닫히게 하는 것이 좋을것 같습니다. 아래의 코드는 이것을 어떻게 하는지 보여줍니다. 동일한 코드를 Close 메뉴 항목에도 넣어 보겠습니다.</p>
-
-<pre class="eval">&lt;menuitem label="Close" accesskey="c" <span class="highlightred">oncommand="window.close();"</span>/&gt;
-...
-
-&lt;button id="cancel-button" label="Cancel"
- <span class="highlightred">oncommand="window.close();</span>"/&gt;
-</pre>
-
-<p>두 개의 핸들러가 추가되었습니다. <code>oncommand</code> 속성이 Close 메뉴 항목에 추가되었습니다. 이 핸들러를 사용해서 사용자는 마우스로 메뉴 항목을 클릭하거나 키보드로 선택함으로서 창을 닫을 수 있습니다. Cancel 버튼에도 <code>oncommand</code> 핸들러가 추가되었습니다.</p>
-</div>
-
-<h3 id="DOM_.EC.9D.B4.EB.B2.A4.ED.8A.B8_.EB.A6.AC.EC.8A.A4.EB.84.88" name="DOM_.EC.9D.B4.EB.B2.A4.ED.8A.B8_.EB.A6.AC.EC.8A.A4.EB.84.88">DOM 이벤트 리스너</h3>
-
-<p>이벤트 핸들러를 추가하는 두 번째 방법은 해당 요소의 <code>addEventListener</code> 메소드를 호출하는 것입니다. 이 방법은 동적으로 이벤트 리스너를 부착할 수 있게 해주며 캡처 단계에서 이벤트에 응답하게 해 줍니다. 구문은 다음과 같습니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_events_3.xul">View</a></p>
-
-<pre>&lt;button id="okbutton" label="OK"/&gt;
-
-&lt;script&gt;
-function buttonPressed(event){
- alert('Button was pressed!');
-}
-
-var button = document.getElementById("okbutton");
-button.addEventListener('command', buttonPressed, true);
-&lt;/script&gt;
-</pre>
-
-<p><code><a href="ko/DOM/document.getElementById">getElementById()</a></code> 함수는 주어진 <code>id</code>에 해당하는 요소를 반환하며, 이 경우에는 버튼 요소입니다. <code><a href="ko/DOM/element.addEventListener">addEventListener()</a></code> 함수는 새로운 캡처 단계의 이벤트 리스너를 추가하기 위해 호출되었습니다. 첫 번째 인자는 응답할 대상 이벤트 이름입니다. 두 번째 인자는 이벤트가 발생했을 때 호출될 이벤트 리스너 함수입니다. 마지막 인자는 캡처 단계에서 사용하기 위해 <code>true</code>이어야 합니다. 여러분은 마지막 인자를 <code>false</code>로 설정하면 캡쳐 단계가 아닌 버블링 단계에서 응답하도록 합니다. 두 번째 인자로 주어진 이벤트 리스너 함수는 위의 <code>buttonPressed</code> 함수에서 선언된 것과 같이 인자로 event 객체 하나만 받아야 합니다.</p>
-
-<div class="highlight"><span id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"><a id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"></a><strong>지금까지의 파일 찾기 예제</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-events.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-events.xul">View</a></div>
-
-<p>다음에는 <a href="ko/XUL_Tutorial/More_Event_Handlers">이벤트 객체</a>에 대해 좀 더 자세히 알아보겠습니다.</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Scrolling_Menus" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:More_Event_Handlers">다음 »</a></p>
-</div><p></p>
-
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/adding_html_elements/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/adding_html_elements/index.html
deleted file mode 100644
index 6c3e3921ee..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/adding_html_elements/index.html
+++ /dev/null
@@ -1,114 +0,0 @@
----
-title: Adding HTML Elements
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Adding_HTML_Elements
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Adding_HTML_Elements
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Progress_Meters" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Using_Spacers">다음 »</a></p>
-</div><p></p>
-<p>버튼을 넣었으니 이제 다른 요소들을 더 넣어 보도록 하겠습니다.</p>
-<h3 id=".EC.B0.BD.EC.97.90_HTML_.EC.9A.94.EC.86.8C_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0" name=".EC.B0.BD.EC.97.90_HTML_.EC.9A.94.EC.86.8C_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0">창에 HTML 요소 추가하기</h3>
-<p>XUL 파일에는 XUL 요소뿐만 아니라 HTML 요소들도 바로 넣을 수 있습니다. 모든 HTML 요소를 XUL 파일에서 사용할 수 있기 때문에 자바 애플릿이나 테이블을 창에 표시하는 것도 가능합니다. 될 수 있으면 HTML 요소를 사용하지 않는 것이 바람직하지만(몇 가지 이유가 있지만 가장 중요한 것은 다음에 설명할 <a href="ko/XUL_Tutorial/Box_Model_Details">컨트롤의 배치</a>와 관련된 것입니다.), 그래도 이번 단원에서는 XUL에서 HTML 요소를 사용하는 방법을 알아 보도록 하겠습니다. XML은 대소문자를 구별하기 때문에 모든 태그와 속성은 소문자로 입력해야 한다는 점에 유의하세요.</p>
-<h4 id="XHTML_.EC.9D.B4.EB.A6.84.EA.B3.B5.EA.B0.84" name="XHTML_.EC.9D.B4.EB.A6.84.EA.B3.B5.EA.B0.84">XHTML 이름공간</h4>
-<p>HTML 요소를 XUL 파일에서 사용하려면 먼저 XHTML 이름공간을 사용한다는 것을 선언해야 합니다. 이렇게 함으로써, Mozilla는 HTML 태그와 XUL 태그를 구별할 수 있습니다. 아래 속성이 XUL 파일의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/window" title="window">window</a></code></code> 태그나 제일 바깥 HTML 요소에 추가되어야 합니다.</p>
-<pre class="eval"><span class="nowiki">xmlns:html="http://www.w3.org/1999/xhtml"</span>
-</pre>
-<p>이것은 XUL 을 선언하기 위해 사용했던 것과 비슷한 것으로, HTML을 선언하는 것입니다. 이것은 위와 정확히 일치하도록 입력되어야 하며, 그렇지 않아면 제대로 작동하지 않을 것입니다. 실제로는 Mozilla가 위의 URL을 다운로드하는 것은 아니며, 그냥 HTML이라는 것을 인식하기 위한 것입니다.</p>
-<p>다음은 파일 찾기 창에 추가한 예제입니다.</p>
-<pre class="eval"> &lt;?xml version="1.0"?&gt;
- &lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;
- &lt;window
- id="findfile-window"
- title="Find Files"
- orient="horizontal"
- <span class="highlightred"><span class="nowiki">xmlns:html="http://www.w3.org/1999/xhtml"</span></span>
- xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;
-</pre>
-<p>이제 다음 내용만 잘 세겨두고 있으면, HTML 태그를 사용하실 수 있습니다.</p>
-<ul>
- <li>HTML 이름 공간을 위와 같이 정의했다고 하면, 각각의 HTML 태그의 시작부분에는 <code>html:</code> 접두어가 들어가야 합니다.</li>
- <li>모든 태그는 "소문자로 입력"해야만 합니다.</li>
- <li>모든 속성값은 "인용부호"로 묶여야 합니다.</li>
- <li>XML에서는 내용이 없는 태그의 끝에 마침 슬래쉬(/&gt;)가 필요합니다. 이것은 다음 예제를 통해 보다 명확히 알 수 있을 것입니다.</li>
-</ul>
-<h4 id="HTML_.EC.9A.94.EC.86.8C_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0" name="HTML_.EC.9A.94.EC.86.8C_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0">HTML 요소 사용하기</h4>
-<p>여러분은 어떠한 HTML 태그도 사용하실 수 있습니다(사실 <code>head</code>나 <code>body</code>같은 것들은 쓸데가 없습니다). HTML 요소를 사용하는 몇 가지 예제를 아래에서 보실 수 있습니다.</p>
-<pre>&lt;html:img src="banner.jpg"/&gt;
-
-&lt;html:input type="checkbox" value="true"/&gt;
-
-&lt;html:table&gt;
- &lt;html:tr&gt;
- &lt;html:td&gt;
- A simple table
- &lt;/html:td&gt;
- &lt;/html:tr&gt;
-&lt;/html:table&gt;
-</pre>
-<p>위의 예제는 banner.jpg 이미지와 체크 박스, 단일 셀 테이블을 생성합니다. 여러분은 가능하면 XUL의 기능을 사용하는 것이 좋고, 레이아웃을 위해 테이블을 사용하지 않는게 좋습니다(레이아웃을 위한 XUL 요소가 존재합니다). 각 태그 앞에 <code>html:</code> 접두어가 추가되어 있는 것을 보실 수 있습니다. 이것은 Mozilla에게 이러한 태그가 XUL이 아닌 HTML 태그라는 것을 알려 줍니다. 만일 <code>html:</code> 부분이 빠지면 브라우저는 해당 요소가 XUL 요소인 것으로 생각할 것이며, img, input, table들은 유효한 XUL 태그가 아니기 때문에 출력되지 않을 것입니다.</p>
-<p>XUL에서는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/description" title="description">description</a></code></code>나 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/label" title="label">label</a></code></code> 요소를 이용해서 라벨을 넣을 수 있습니다. 가능하면 이런 요소들을 사용하세요. 여러분은 컨트롤에 라벨을 넣기 위해 HTML의 <code>label</code> 요소를 사용하거나, 아래의 예제와 같이 다른 블럭 요소(<code>p</code>나 <code>div</code> 같은 것들)내에 직접 텍스트를 넣어서 사용할 수 있습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_1.xul">View</a></p>
-<pre>&lt;html:p&gt;
- Search for:
- &lt;html:input id="find-text"/&gt;
- &lt;button id="okbutton" label="OK"/&gt;
-&lt;/html:p&gt;
-</pre>
-<p>위의 코드에서는 'Search for:'라는 텍스트가 출력되고, 다음에는 input 요소와 OK 버튼이 출력됩니다. 위에서와 같이 XUL 버튼이 HTML 요소 내에 나타날 수 있다는 점에 유의하세요. 텍스트는 보통 출력을 위해 사용되는 HTML 요소 내에 위치해야지만 출력됩니다. 바깥쪽에 있는 텍스트는 <code>description</code>와 같이 텍스트를 포함할 수 있는 XUL 요소외에서는 출력되지 않습니다. 아래의 예제가 도움이 될것입니다.</p>
-<h3 id="HTML_.EC.9A.94.EC.86.8C_.EC.98.88.EC.A0.9C" name="HTML_.EC.9A.94.EC.86.8C_.EC.98.88.EC.A0.9C">HTML 요소 예제</h3>
-<p>다음은 HTML 요소를 창에 추가하는 몇 가지 예제입니다. 단순하게 하기 위해 창과 다른 중복된 내용은 생략하였습니다.</p>
-<h4 id=".EC.B2.B4.ED.81.AC_.EB.B0.95.EC.8A.A4.EA.B0.80_.EC.9E.88.EB.8A.94_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90" name=".EC.B2.B4.ED.81.AC_.EB.B0.95.EC.8A.A4.EA.B0.80_.EC.9E.88.EB.8A.94_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90">체크 박스가 있는 대화상자</h4>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_2.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:htmlelem-ex1.png"></div>
-<pre>&lt;html:p&gt;
- Click the box below to remember this decision.
- &lt;html:p&gt;
- &lt;html:input id="rtd" type="checkbox"/&gt;
- &lt;html:label for="rtd"&gt;Remember This Decision&lt;/html:label&gt;
- &lt;/html:p&gt;
-&lt;/html:p&gt;
-</pre>
-<p>위 예제에서는 하나의 <code>p</code> 태그는 텍스트를 감싸고 있고, 다른 <code>p</code> 태그는 여러 줄로 텍스트를 분리하기 위해 사용되고 있습니다.</p>
-<h4 id="HTML_.EB.B8.94.EB.9F.AD_.EB.B0.94.EA.B9.A5.EC.AA.BD.EC.97.90_.EC.9E.88.EB.8A.94_.ED.85.8D.EC.8A.A4.ED.8A.B8" name="HTML_.EB.B8.94.EB.9F.AD_.EB.B0.94.EA.B9.A5.EC.AA.BD.EC.97.90_.EC.9E.88.EB.8A.94_.ED.85.8D.EC.8A.A4.ED.8A.B8">HTML 블럭 바깥쪽에 있는 텍스트</h4>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_htmlelem_3.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:htmlelem-ex2.png"></div>
-<pre>&lt;html:div&gt;
- Would you like to save the following documents?
- &lt;html:hr/&gt;
-&lt;/html:div&gt;
-Expense Report 1
-What I Did Last Summer
-&lt;button id="yes" label="Yes"/&gt;
-&lt;button id="no" label="No"/&gt;
-</pre>
-<p>그림에서 보듯이, <code>div</code> 태그 안에 있는 텍스트는 출력되지만 바깥쪽에 있는 텍스트(Expense Report 1과 What I Did Last Summer)는 출력되지 않습니다. 이것은 텍스트를 출력하기 위해 감싸고 있는 HTML 혹은 XUL 요소가 없기 때문입니다. 이 텍스트를 출력하기 위해서는 <code>div</code> 태그나 <code>description</code> 태그 내로 들어가야 합니다.</p>
-<h4 id=".EC.9E.98.EB.AA.BB.EB.90.9C_HTML_.EC.9A.94.EC.86.8C" name=".EC.9E.98.EB.AA.BB.EB.90.9C_HTML_.EC.9A.94.EC.86.8C">잘못된 HTML 요소</h4>
-<pre>&lt;html:po&gt;Case 1&lt;/html:po&gt;
-&lt;div&gt;Case 2&lt;/div&gt;
-&lt;html:description value="Case 3"/&gt;
-</pre>
-<p>위의 세 가지 경우는 모두, 서로 다른 이유 때문에 출력되지 않습니다.</p>
-<dl>
- <dt>
- Case 1 </dt>
- <dd>
- <code>po</code>는 유효한 HTML 태그가 아니며, Mozilla는 어떻게 처리해야 할지에 대해 알지 못합니다.</dd>
- <dt>
- Case 2 </dt>
- <dd>
- <code>div</code>는 HTML에서만 유효합니다. 제대로 동작하려면 <code>html:</code>한정사를 추가해야 합니다.</dd>
- <dt>
- Case 3 </dt>
- <dd>
- A <code>description</code>는 XUL에서만 유효한 요소입니다. <code>html:</code> 한정사가 없어야 합니다.</dd>
-</dl>
-<p>다음번에는 <a href="ko/XUL_Tutorial/Using_Spacers">요소들 간에 공백(spacer) 주기</a>에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Progress_Meters" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Using_Spacers">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/adding_labels_and_images/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/adding_labels_and_images/index.html
deleted file mode 100644
index 0d4391877b..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/adding_labels_and_images/index.html
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: Adding Labels and Images
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Adding_Labels_and_Images
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Adding_Labels_and_Images
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Adding_Buttons" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Input_Controls">다음 »</a></p>
-</div><p></p>
-<p>이 절은 창에 label과 image를 추가하는 법을 기술합니다. 게다가, 그룹에 요소를 포함하는 법을 살펴봅니다.</p>
-<h3 id="Text_.EC.9A.94.EC.86.8C" name="Text_.EC.9A.94.EC.86.8C">Text 요소</h3>
-<p>여러분은 태그 없이는 XUL 파일에 바로 텍스트를 끼워 넣고 표시되기를 기대할 수 없습니다. 여러분을 이런 목적을 위해 XUL 요소 둘을 쓸 수 있습니다.</p>
-<h4 id="Label_.EC.9A.94.EC.86.8C" name="Label_.EC.9A.94.EC.86.8C">Label 요소</h4>
-<p>창에 텍스트를 포함하는 가장 기본 방법은 <code><a href="/ko/docs/Mozilla/Tech/XUL/label" title="label">label</a></code> 요소를 쓰는 겁니다. 예제를 아래에 보입니다.</p>
-<p><span id="Example_1"><a id="Example_1"></a><strong>Example 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_1.xul">View</a></p>
-<pre>&lt;label value="This is some text"/&gt;
-</pre>
-<p><code><code id="a-value"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/value">value</a></code></code> 속성(attribute)은 여러분이 표시되길 바라는 텍스트를 지정하는 데 쓸 수 있습니다. 텍스트는 넘겨지지(wrap) 않아서 오직 한 줄에 보입니다. 이는 짧은 텍스트 절에 어울립니다.</p>
-<h4 id="Description_.EC.9A.94.EC.86.8C" name="Description_.EC.9A.94.EC.86.8C">Description 요소</h4>
-<p>더 긴 텍스트를 위해, 여러분은 열고 닫는 <code><a href="/ko/docs/Mozilla/Tech/XUL/description" title="description">description</a></code> 태그 안에 content를 둘 수 있습니다. <code><a href="/ko/docs/Mozilla/Tech/XUL/label" title="label">label</a></code> 요소와 <code>value</code> 속성으로 지정된 텍스트와는 달리, child 텍스트는 필요하다면 여러 줄로 넘겨집니다. 넘겨짐(wrapping)을 보기 위해 창 크기를 조정해 보세요. HTML처럼, 줄바꿈(line break)과 여분 공백(whitespace)은 space 하나로 축약됩니다. 우리가 더 쉽게 넘겨짐을 볼 수 있도록 <a href="ko/XUL_Tutorial/Element_Positioning">나중에 요소의 너비를 강제하는 법을 알아봅니다</a>.</p>
-<p><span id="Example_2"><a id="Example_2"></a><strong>Example 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_2.xul">View</a></p>
-<pre>&lt;description&gt;
- This longer section of text is displayed.
-&lt;/description&gt;
-</pre>
-<p>내부에서, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/label" title="label">label</a></code></code> 요소와 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/description" title="description">description</a></code></code> 요소 둘은 같습니다. 이는 label은 여러분이 태그 안에 둔 텍스트가 넘겨질 수 있고 description은 <code><code id="a-value"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/value">value</a></code></code> 속성이 있을 수 있음을 뜻합니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/label" title="label">label</a></code></code> 요소 text field와 같은 컨트롤(control)의 label을 위한 목적입니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/description" title="description">description</a></code></code> 요소는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/dialog" title="dialog">dialog</a></code></code> 상자의 상단에 informative text와 같은 other descriptive text를 위한 목적입니다. 관례에 따라, 여러분은 이 지침을 따르면 좋습니다.</p>
-<h4 id="Control_.EC.86.8D.EC.84.B1" name="Control_.EC.86.8D.EC.84.B1">Control 속성</h4>
-<p>여러분은 to set which control the label is associated with <code><code id="a-control"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/control">control</a></code></code> 속성을 쓸 수 있습니다. 사용자가 label을 클릭할 때, 그 컨트롤이 focus를 받습니다. <code>control</code> 속성값을 focus 받을 요소의 <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code>로 설정하세요.</p>
-<p><span id="Example_3"><a id="Example_3"></a><strong>Example 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_textimage_3.xul">View</a></p>
-<pre>&lt;label value="Click here:" control="open-button"/&gt;
-&lt;button id="open-button" label="Open"/&gt;
-</pre>
-<p>위 예제에서, label을 클릭하면 button이 focus를 받게 됩니다.</p>
-<h3 id="Image" name="Image">Image</h3>
-<p>HTML처럼, XUL은 창 안에 image를 표시하는 요소가 있습니다. 이 요소는 어울리게 <code><a href="/ko/docs/Mozilla/Tech/XUL/image" title="image">image</a></code>로 이름 지었습니다. 태그 이름이 HTML(
- <i>
- img</i>
- 대신
- <i>
- image</i>
- )과 다름을 유념하세요. 여러분은 image 파일의 URL을 지정하기 위해 <code><code id="a-src"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code></code> 속성을 쓸 수 있습니다. 아래 예제는 이를 보입니다.</p>
-<pre>&lt;image src="images/banner.jpg"/&gt;
-</pre>
-<p>비록 여러분이 이 구문을 쓸 수 있을지라도, image URL을 설정하기 위해 스타일시트를 쓰는 것이 더 낫습니다. 더 나중 절에서 <a href="ko/XUL_Tutorial/Adding_Style_Sheets">스타일시트 쓰는</a> 법을 설명하지만 예제는 완결함을 위해 여기에 보입니다. 여러분은 image URL을 설정하기 위해 <code><a href="ko/CSS/list-style-image">list-style-image</a></code> CSS 프로퍼티를 쓸 수 있습니다. 여기 예제가 있습니다.</p>
-<pre class="eval"><b>XUL:</b>
- &lt;image id="image1"/&gt;
- &lt;image id="search"/&gt;
-</pre>
-<pre class="eval"><b>Style Sheet:</b>
- #image1 {
- list-style-image: url("<a class="external" rel="freelink">chrome://findfile/skin/banner.jpg</a>");
- }
-
- #search {
- list-style-image: url("<span class="nowiki">http://example.com/images/search.png</span>");
- }
-</pre>
-<p>이 이미지들은 findfile 꾸러미(package)용 skin의 chrome 디렉토리에서 났습니다. image가 skin에 따라 바뀌기 때문에, 여러분은 보통 skin 디렉토리에 image를 둘 겁니다.</p>
-<p>다음 절에서, 우리는 <a href="ko/XUL_Tutorial/Input_Controls">창에 입력 컨트롤을 추가</a>하는 법을 배웁니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Adding_Buttons" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Input_Controls">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/adding_more_elements/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/adding_more_elements/index.html
deleted file mode 100644
index c801fbfbba..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/adding_more_elements/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
----
-title: Adding More Elements
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Adding_More_Elements
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Adding_More_Elements
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Groupboxes" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Stacks_and_Decks">다음 »</a></p>
-</div><p></p>
-<p>파일 찾기 대화창에 몇 가지 상자를 추가하면서 상자에 대한 논의를 마무리 하겠습니다.</p>
-<div class="highlight">
- <h3 id=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C.EC.97.90_.EB.AA.87.EA.B0.80.EC.A7.80_.EC.9A.94.EC.86.8C_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0" name=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C.EC.97.90_.EB.AA.87.EA.B0.80.EC.A7.80_.EC.9A.94.EC.86.8C_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0">우리의 파일 찾기 예제에 몇가지 요소 추가하기</h3>
- <p>이제 파일 찾기 대화창에 몇 가지 요소를 추가하겠습니다. 먼저 파일크기 및 날짜와 같은 정보를 검색할 수 있는 기능을 추가할 것입니다.</p>
- <pre class="eval">&lt;hbox&gt;
- <span class="highlightred">&lt;menulist id="searchtype"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Name"/&gt;
- &lt;menuitem label="Size"/&gt;
- &lt;menuitem label="Date Modified"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer style="width: 10px;"/&gt;
- &lt;menulist id="searchmode"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Is"/&gt;
- &lt;menuitem label="Is Not"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer style="width: 10px;"/&gt;</span>
- &lt;textbox id="find-text" flex="1" style="min-width: 15em;"/&gt;
-&lt;/hbox&gt;
-</pre>
- <div class="float-right">
- <img alt="Image:boxfinal1.png"></div>
- <p>2 개의 <a href="ko/XUL_Tutorial/List_Controls#_Drop-down_Lists">드롭 다운 상자</a>가 대화창에 추가되었습니다. 이들을 구분짓기 위해서 각 요소 사이에 <a href="ko/XUL_Tutorial/Using_Spacers">spacer</a>가 추가되어 있습니다. 이들 spacer는 각각 10픽셀 너비가 주어졌습니다. 창 크기가 바뀌면, 글상자는 커지지만 다른 구성요소는 그대로 있는 것을 보실 수 있습니다. 또한 라벨이 제거된 것을 보실 수 있습니다.</p>
- <p>세로 방향의 창 크기를 바꾸더라도, 해당 요소들의 크기는 변하지 않습니다. 이것은 해당 요소가 가로상자 내부에 있기 때문입니다. 만일 찾기(Find)와 취소(Cancel) 버튼이 항상 창 하단에 있게되면 보기가 더 좋을 것입니다. 이것은 2개의 가로상자 사이에 spacer를 추가해서 간단하게 처리할 수 있습니다.</p>
- <pre class="eval"><span class="highlightred">&lt;spacer style="height: 10px"/&gt;</span>
-&lt;hbox&gt;
- &lt;menulist id="searchtype"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Name"/&gt;
- &lt;menuitem label="Size"/&gt;
- &lt;menuitem label="Date Modified"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer style="width: 10px;"/&gt;
- &lt;menulist id="searchmode"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Is"/&gt;
- &lt;menuitem label="Is Not"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer style="width: 10px;"/&gt;
- &lt;textbox id="find-text" flex="1" style="min-width: 15em;"/&gt;
-&lt;/hbox&gt;
-
-<span class="highlightred">&lt;spacer style="height: 10px" flex="1"/&gt;</span>
-
-&lt;hbox&gt;
-</pre>
- <p>이제 대화창 크기가 바뀌면, 2개의 버튼은 항상 대화창 하단에 있도록 움직이게 됩니다. 첫번째 <code><a href="/ko/docs/Mozilla/Tech/XUL/spacer" title="spacer">spacer</a></code>는 제목 라벨과 검색 기준 요소 사이에 여백을 추가한 것입니다.</p>
- <p>검색 기준 둘레에 선이 있다면 더 보기 좋을 것입니다. 이를 처리할 수 있는 방법에는 두 가지가 있습니다. CSS의 <code>border</code> 속성을 사용하거나 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/groupbox" title="groupbox">groupbox</a></code></code> 요소를 사용할 수 있습니다. 첫 번째 방식은 상자 자체에 스타일 속성을 사용하면 됩니다. 우리는 후자의 방식을 사용할 것입니다. <a href="ko/XUL_Tutorial/Groupboxes">groupbox</a>는 현재의 테마에 어울리는 보기 좋은 둥근 테두리를 가진 상자를 그려주는 장점이 있습니다.</p>
- <p><code>groupbox</code>로 상자를 변경해 보겠습니다.</p>
- <pre class="eval"><span class="highlightred">&lt;groupbox orient="horizontal"&gt;</span>
- <span class="highlightred"><span class="nowiki">&lt;caption label="Search Criteria"/&gt;</span></span>
- &lt;menulist id="searchtype"&gt;
- .
- .
- .
- &lt;spacer style="width: 10px;"/&gt;
- &lt;textbox id="find-text" flex="1" style="min-width: 15em;"/&gt;
-<span class="highlightred">&lt;/groupbox&gt;</span>
-</pre>
- <div class="float-right">
- <img alt="Image:boxfinal2.png"></div>
- <p>마찬가지로 다른 표면적인 문제가 있습니다. groupbox가 상자 하단 세로방향으로 확장되도록 groupbox를 늘릴 수도 있습니다. 또한 해당 요소가 잘 위치되도록 여백의 일부를 수정할 수도 있습니다.</p>
- <p>본 자습서를 통해 요소들을 추가하면서 상자 모델과 그것들의 몇 가지 기능들에 대한 기능들에 대한 더 많은 예제를 보게 될 것입니다..</p>
- <p>지금까지의 파일 찾기 예제 <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxfinal.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxfinal.xul">View</a></p>
-</div>
-<p>다음에는 <a href="ko/XUL_Tutorial/Stacks_and_Decks">스택을 작성하는 방법</a>에 대해 알아 보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Groupboxes" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Stacks_and_Decks">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/box_model_details/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/box_model_details/index.html
deleted file mode 100644
index 64633c5d1d..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/box_model_details/index.html
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: Box Model Details
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Box_Model_Details
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Box_Model_Details
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Element_Positioning" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Groupboxes">다음 »</a></p>
-</div><p></p>
-<p>지금까지 우리는 상자모델의 많은 기능을 살펴 보았습니다. 여기서는 몇 가지 예제를 가지고 좀 더 세부적인 내용을 알아보겠습니다.</p>
-<h3 id=".EB.A0.88.EC.9D.B4.EC.95.84.EC.9B.83.EC.97.90_.EB.8C.80.ED.95.9C_.EC.B6.94.EA.B0.80_.EB.82.B4.EC.9A.A9" name=".EB.A0.88.EC.9D.B4.EC.95.84.EC.9B.83.EC.97.90_.EB.8C.80.ED.95.9C_.EC.B6.94.EA.B0.80_.EB.82.B4.EC.9A.A9">레이아웃에 대한 추가 내용</h3>
-<p><code>min-width</code>와 <code>max-height</code>같은 스타일 속성은 어떤 요소에든 적용할 수 있습니다. 지금까지는 이 속성들을 버튼과 글상자에만 적용했지만, 여백이나 상자 요소에도 적용할 수 있습니다. 게다가, <code>flex</code> 속성은 어떤 요소에든 적용할 수 있습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxdet_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxdet_1.xul">View</a></p>
-<pre>&lt;hbox flex="1"&gt;
- &lt;button label="Left" style="min-width: 100px;" flex="1"/&gt;
- &lt;spacer flex="1"/&gt;
- &lt;button label="Right" style="min-width: 100px;" flex="1"/&gt;
-&lt;/hbox&gt;
-</pre>
-<p>위의 예제에서, 3개 요소는 유연하기 때문에 스스로 크기가 조절됩니다. 2개의 버튼은 최소 넓이를 100픽셀로 하고 있습니다. 버튼은 이 크기 이하로 절대 작아지지 않지만 더 늘어날 수는 있습니다. 여기서 해당 창은 대략 200픽셀 정도의 넓이가 될 것입니다. 이는 두개의 버튼이 들어가기에 충분한 공간입니다. 3개 요소 모두가 유연하기 때문에, 더 많은 공간을 필요로 하지 않으며 flex 속성에 의해 빈 공간이 생기지 않습니다.</p>
-<div class="float-right">
- <img alt="Image:boxdet1.png"></div>
-<p>그림에서처럼, 두 개의 버튼은 이들을 포함하는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/hbox" title="hbox">hbox</a></code></code>에 맞도록 수직 방향으로도 늘어나는 것을 볼 수 있습니다. <code><code id="a-align"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> 속성은 가로상자에서 이러한 동작을 제어하는데 사용됩니다. 또한 여러분은 요소나 상자에 최대 높이를 지정해서 늘어나지 못하게도 할 수 있습니다. 어떤 상자가 최대 높이값을 가지면, 상자내에 있는 요소들은 이것에 의해 제약을 받게 된다. 그러나 여기에도 문제가 있는데, 사전에 해당 요소가 얼마나 커야 할지 알아야 한다는 것입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxdet_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxdet_2.xul">View</a></p>
-<pre>&lt;hbox flex="1" align="top"&gt;
- &lt;button label="Left" style="min-width: 100px;" flex="1"/&gt;
- &lt;spacer flex="1"/&gt;
- &lt;button label="Right" style="min-width: 100px;" flex="1"/&gt;
-&lt;/hbox&gt;
-</pre>
-<h4 id=".EC.83.81.EC.9E.90_.EB.AA.A8.EB.8D.B8_.EC.A0.95.EB.A6.AC" name=".EC.83.81.EC.9E.90_.EB.AA.A8.EB.8D.B8_.EC.A0.95.EB.A6.AC">상자 모델 정리</h4>
-<p>복잡한 레이아웃을 만드려면, 일반적으로 중첩된 상자를 추가하고 일부 요소에 최대 최소 크기를 지정해주고, 어떤 요소가 flex 속성을 가지도록 해야 합니다. 가장 좋은 인터페이스는 다양한 크기에서도 문제없이 표시될 수 있는 것입니다. 여러분 스스로 여러 경우를 시험해 보지 않으면 상자 모델을 이해하기 어려우실 겁니다.</p>
-<p>다음은 두 가지 상자 형식의 기본적인 내용을 설명하고 있습니다.</p>
-<p><b>가로상자</b></p>
-<ol>
- <li>서로 이웃하는 요소를 가로 방향으로 배치합니다.</li>
- <li>유연한 요소(flex 속성을 가진 요소)는 가로로 크기를 조절합니다.</li>
- <li>pack 속성은 자식 요소의 가로 방향 위치를 제어합니다.</li>
- <li>align 속성은 요소의 행이 어떻게 세로로 정렬될 지를 제어합니다.</li>
-</ol>
-<p><b>세로상자</b></p>
-<ol>
- <li>세로 방향으로 요소들을 배치합니다.</li>
- <li>유연한 요소(flex 속성을 가진 요소)는 세로로 크기를 조절합니다.</li>
- <li>pack 속성은 자식 요소의 세로 방향 위치를 제어합니다.</li>
- <li>align 속성은 자식 요소의 가로 정렬 방식을 제어합니다.</li>
-</ol>
-<p>상자는 테이블과 같은 HTML 요소 내부를 포함해서 XUL 어디에든 사용할 수 있습니다. 그러나 그러한 레이아웃은 일부 HTML 요소에 의해 제어되게 됩니다. 이는 <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code> 속성이 여러분이 원하는 대로 작동하지 않을 수도 있다는 것을 의미합니다. flex 속성은 상자 또는 상자 타입 요소 바로 안에 있는 요소들에 대해서만 적용된다는 점을 기억하세요.</p>
-<h3 id=".EB.A0.88.EC.9D.B4.EC.95.84.EC.9B.83_.EC.98.88.EC.A0.9C" name=".EB.A0.88.EC.9D.B4.EC.95.84.EC.9B.83_.EC.98.88.EC.A0.9C">레이아웃 예제</h3>
-<h4 id=".EC.97.AC.EB.B0.B1_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0" name=".EC.97.AC.EB.B0.B1_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0">여백 사용하기</h4>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxdet_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxdet_3.xul">View</a></p>
-<pre>&lt;hbox&gt;
- &lt;button label="One"/&gt;
- &lt;spacer style="width: 5px"/&gt;
- &lt;button label="Two"/&gt;
-&lt;/hbox&gt;
-</pre>
-<p>여기서, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/spacer" title="spacer">spacer</a></code></code> 요소는 두개의 버튼 사이의 구분자로 사용되고 있으며, 정확하게 5픽셀로 설정되어 있습니다. 여러분은 CSS의 <code>margin</code> 속성을 사용해서 여백을 설정할 수도 있습니다.</p>
-<h4 id=".EB.B2.84.ED.8A.BC_.EC.A4.91.EC.95.99.EC.A0.95.EB.A0.AC" name=".EB.B2.84.ED.8A.BC_.EC.A4.91.EC.95.99.EC.A0.95.EB.A0.AC">버튼 중앙정렬</h4>
-<p><span id="%EC%98%88%EC%A0%9C_4"><a id="%EC%98%88%EC%A0%9C_4"></a><strong>예제 4</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxdet_4.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxdet_4.xul">View</a></p>
-<pre>&lt;hbox pack="center" align="center" flex="1"&gt;
- &lt;button label="Look at Me!"/&gt;
- &lt;button label="Push Me!"/&gt;
-&lt;/hbox&gt;
-</pre>
-<p>이 예제는 2개의 버튼을 포함하고 flex 속성이 지정된 가로 상자입니다. 해당 상자는 버튼들을 가로 중앙 정렬하기 위해 <code><code id="a-pack"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code></code> 속성을 사용합니다. <code><code id="a-align"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> 속성은 버튼들을 세로로 정렬하고 있습니다. 결과적으로 상자 내 버튼들은 양방향에서 중앙에 위치하게 됩니다. 이 예제는 세로상자에도 마찬가지로 적용되는데, 다른점은 2번째 버튼이 우측이 아니라 아래에 놓이게 된다는 것입니다.</p>
-<h4 id=".ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EB.8C.80.ED.99.94.EC.B0.BD" name=".ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EB.8C.80.ED.99.94.EC.B0.BD">파일 찾기 대화창</h4>
-<p><span id="%EC%98%88%EC%A0%9C_5"><a id="%EC%98%88%EC%A0%9C_5"></a><strong>예제 5</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxdet_5.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxdet_5.xul">View</a></p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;window id="findtext" title="Find Text" orient="horizontal"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
- &lt;vbox flex="3"&gt;
- &lt;label control="t1" value="Search Text:"/&gt;
- &lt;textbox id="t1" style="min-width: 100px;" flex="1"/&gt;
- &lt;/vbox&gt;
-
- &lt;vbox style="min-width: 150px;" flex="1" align="start"&gt;
- &lt;checkbox id="c1" label="Ignore Case"/&gt;
- &lt;spacer flex="1" style="max-height: 30px;"/&gt;
- &lt;button label="Find"/&gt;
- &lt;/vbox&gt;
-
-&lt;/window&gt;
-</pre>
-<div class="float-right">
- <img alt="Image:boxdet-ex3.jpg"></div>
-<p>여기서 2개의 세로상자가 만들어 지는데, 하나는 글상자를 포함하고 다른 하나는 체크상자와 버튼을 포함합니다. 좌측 상자는 우측보다 3배 큰 유연성을 가지고 있어(flex값이 3배 큼) 창의 크기가 커지면 추가 공간도 그만큼 커지게 된다. 오른쪽 상자는 최소 넓이를 150픽셀로 제한하고 있습니다.</p>
-<p>글상자는 flex 속성을 가지고 있기 때문에 창 크기가 바뀌면 따라서 바뀌게 됩니다. 글상자 또한 최소넓이를 100픽셀로 제한하고 있습니다. 오른쪽 상자에는 라벨이 있는 체크상자가 있습니다. 체크상자 바로 아래에는 여백(spacer) 요소가 있습니다. 여백(spacer)은 커지거나 줄어들게 되지만 30픽셀보다 커지지는 않습니다. 결과적으로 체크상자와 찾기(Find) 버튼은 30픽셀 보다 크지는 않을 공간으로 서로 떨어져 나타나게 됩니다.</p>
-<p>2번째 상자는 <code>start</code>라는 정렬 속성을 가지고 있습니다. 이 속성은 자식요소를 좌측 끝에 정렬시킵니다. 이를 지정하지 않았다면, 기본값은 <code>stretch</code>가 되는데, 자식요소를 가로으로 주욱 펼치게 되었을 것입니다. 찾기(Find) 버튼의 크기가 변하지 않게 하기 위해서는 정렬 속성을 지정해야 합니다.</p>
-<p>다음에는 좀 더 특별한 유형의 상자인 <a href="ko/XUL_Tutorial/Groupboxes">the groupbox</a>에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Element_Positioning" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Groupboxes">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/content_panels/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/content_panels/index.html
deleted file mode 100644
index d255a5fa4e..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/content_panels/index.html
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title: Content Panels
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Content_Panels
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Content_Panels
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Grids" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Splitters">다음 »</a></p>
-</div><p></p>
-<p>이번 단원에서는 HTML 페이지 혹은 외부 XUL 파일을 표시할 수 있는 패널을 추가하는 방법에 대해 알아보겠습니다.</p>
-<h3 id=".EC.9E.90.EC.8B.9D_.ED.8C.A8.EB.84.90_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0" name=".EC.9E.90.EC.8B.9D_.ED.8C.A8.EB.84.90_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0">자식 패널 추가하기</h3>
-<p>여러분은 다른 페이지의 문서 일부분을 가져오고자 할 때가 있을 것입니다. 때로는 창의 일부분만을 수정하고자 할 때도 있을 것입니다. 단계별로 진행되는 마법사 대화창이 좋은 예입니다. 마법사 대화창은 여러개의 화면을 통해 단계적으로 질문을 하고 답변을 하도록 안내해줍니다. 사용자가 다음 버튼을 클릭할 때마다 마법사의 다음 화면이 표시됩니다.</p>
-<p>마법사를 만들 때 각 화면별로 다른 창이 열리도록 인터페이스를 구성할 수도 있을 것입니다. 하지만 이 방법에는 다음의 세 가지 문제점이 있습니다. 첫 번째는 각 창이 다른 위치에 나타날 수 있다는 점입니다(해결책이 있기는 합니다). 두 번째는 '뒤로'나 '다음' 버튼 등의 요소는 인터페이스 전반에 걸쳐 공통적으로 사용되기 때문에 마법사의 내용 영역만 바뀌도록 구성하는 것이 좋다는 점입니다. 세 번째는 여러 개의 창을 이용하면 스크립트를 효율적으로 사용할 수 없다는 점입니다.</p>
-<p>XUL에는 마법사 인터페이스를 만들기 위한 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/wizard" title="wizard">wizard</a></code></code> 요소가 존재한다는 점을 알고 계십시요. 이에 대해서는 <a href="ko/XUL_Tutorial/Creating_a_Wizard">이후 단원</a>에서 설명할 것입니다.</p>
-<p>또 다른 방법은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/iframe" title="iframe">iframe</a></code></code> 요소를 사용하는 것인데, 같은 이름의 HTML 요소와 아주 비슷하게 동작합니다. iframe은 하나의 창 내에 서로 다른 문서를 만들 수 있게 해 줍니다. 또한 iframe은 창의 어느 곳에나 위치할 수 있고 다른 파일에서 내용을 불러올 수 있다는 장점이 있습니다. iframe에서는 <code><code id="a-src"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code></code> 속성을 사용하여 프레임에 표시될 URL을 지정합니다. URL이 가리킬 수 있는 파일 종류에는 제한이 없지만, 보통 HTML이나 XUL 파일을 사용합니다. 스크립트를 사용하면 창에 영향을 주지 않고 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/iframe" title="iframe">iframe</a></code></code>의 내용을 바꿀 수도 있습니다.</p>
-<p>Mozilla 브라우저 창에서 웹 문서가 표시되는 영역이 바로 <code>iframe</code>으로 만들어진 것입니다. 사용자가 URL을 입력하거나 문서의 링크를 클릭하면 이 프레임의 소스가 변경되는 것입니다.</p>
-<h5 id="iframe_.EC.98.88.EC.A0.9C" name="iframe_.EC.98.88.EC.A0.9C"><code>iframe</code> 예제</h5>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_cpanels_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_cpanels_1.xul">View</a></p>
-<pre>&lt;toolbox&gt;
- &lt;toolbar id="nav-toolbar"&gt;
- &lt;toolbarbutton label="Back"/&gt;
- &lt;toolbarbutton label="Forward"/&gt;
- &lt;textbox id="urlfield"/&gt;
- &lt;/toolbar&gt;
-&lt;/toolbox&gt;
-
-&lt;iframe id="content-body" src="http://www.mozilla.org/index.html" flex="1"/&gt;
-</pre>
-<p>위 예제는 웹 브라우저로 사용할 수 있는 아주 간단한 인터페이스를 만들어 보았습니다. 상자에는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code></code>와 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/iframe" title="iframe">iframe</a></code></code> 요소를 포함합니다. 툴바에는 "뒤로 가기" 버튼과 "앞으로 가기" 버튼, URL 입력란이 포함되어 있습니다(툴바에 대해서는 <a href="ko/XUL_Tutorial/Toolbars">이후 단원</a>에서 배울것입니다). 웹 문서는 <code>iframe</code> 안에 표시되는데, 예제에서는 기본적으로 welcome.html 파일이 표시됩니다.</p>
-<p>이 예제는 완전한 기능을 제공하지는 않습니다. 나중에 사용자가 Enter 키를 누르는 것과 같은 특정 시점에 <code><code id="a-src"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code></code> 속성을 변경하는 스크립트를 추가할 것입니다.</p>
-<h3 id=".EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80" name=".EB.B8.8C.EB.9D.BC.EC.9A.B0.EC.A0.80">브라우저</h3>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code> 태그를 사용하는 두 번째 유형의 내용 패널이 있습니다. 이 패널은 브라우저처럼 내용을 출력하는 프레임을 생성하고자 할 때 사용할 수 있습니다. 사실 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/iframe" title="iframe">iframe</a></code></code>도 이러한 것을 할 수 있지만, 브라우저는 좀 더 다양한 기능을 제공합니다. 예를 들어, 브라우저는 '뒤로'나 '다음' 버튼을 사용할 수 있도록 페이지 기록을 관리합니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code> 요소는 해당 내용의 참조자와 다른 플래그들을 가지고 페이지를 로드할 수 있습니다. 당연히, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code> 태그는 브라우저와 같은 인터페이스를 만들고자 할 때 사용되어야 하지만, 간단한 패널이 필요할 때 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/iframe" title="iframe">iframe</a></code></code>을 사용할 수도 있습니다.</p>
-<p>이와 비슷한 요소인 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code></code>는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code>의 모든 기능을 제공하면서 여러 페이지들간에 이동할 수 있는 탭바를 제공합니다. 이는 Mozilla 브라우저에서 탭브라우징 인터페이스를 제공하기 위해 사용되는 위젯입니다. 사실 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code></code> 요소는 여러개의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code>를 포함하는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code></code>로 구현되어 있습니다. 두 가지 형태의 브라우저 모두 출력되는 페이지들을 제어하기 위한 비슷한 방법을 제공합니다.</p>
-<h5 id="browser_.EC.98.88.EC.A0.9C" name="browser_.EC.98.88.EC.A0.9C"><code>browser</code> 예제</h5>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_cpanels_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_cpanels_2.xul">View</a></p>
-<pre>&lt;browser src="http://www.mozilla.org" flex="1"/&gt;
-</pre>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/iframe" title="iframe">iframe</a></code></code>과 같이 <code><code id="a-src"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code></code>속성을 사용하여 브라우저에 url을 지정할 수 있습니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code></code>에서는 위와 같이 직접 url을 지정할 수 없는데 이는 이 요소가 단지 하나의 url만 출력하는 것이 아니기 때문입니다. 대신 스크립트를 사용해서 <code>loadURI</code> 함수를 호출해야만 합니다.</p>
-<p>브라우저는 출력하고자 하는 내용에 따라 3가지의 유형이 있습니다. 이 유형은 <code><a href="ko/XUL/Attribute/browser.type">type</a></code> 속성을 이용하여 지정합니다.</p>
-<p>첫 번째 유형은 기본값이며 <code>type</code> 속성이 명시되지 않았을 때 사용됩니다. 이 경우 브라우저내에 로드되는 내용은 내용을 로드하는 응용 프로그램의 일부로 취급되어 외부 창에 접근할 수 있는 방법을 가지게 됩니다. 이것은 브라우저 내에 로드된 스크립트가 최상위 창을 얻으려고 시도하면, 그것은 외부의 XUL 창을 얻게 된다는 것을 의미합니다.</p>
-<p>이러한 유형은 응용 프로그램의 일부인 자식 XUL 패널에서는 적당하지만, 웹 페이지를 로드하는 브라우저에서는 원치 않는 것입니다. 대신 여러분은 웹 페이지가 웹 페이지의 내용에만 접근할 수 있도록 제한하기를 원할 것입니다. 여러분은 Mozilla 브라우저 창이 메인 영역을 구성하는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbrowser" title="tabbrowser">tabbrowser</a></code></code>와 함께 툴바와 상태바 등과 같은 XUL 콘텐츠를 가진다는 것을 알고 있을 것입니다. 이러한 내부 영역은 웹 페이지를 출력하지만, 웹 페이지는 이들 주위의 XUL에는 접근할 수 없습니다. 이것은 브라우저가 두 번째 유형을 사용하기 때문인데, 이 유형에서는 <code><a href="ko/XUL/Attribute/browser.type">type</a></code> 속성에 <code>content</code>값을 지정합니다. 이렇게 지정하면 내용이 XUL window에 접근하지 못하도록 막아줍니다. 다음은 이에 대한 예제입니다.</p>
-<pre>&lt;browser src="http://www.mozilla.org" type="content" flex="1"/&gt;
-</pre>
-<div class="note">
- <b>중요</b>: 여러분은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/browser" title="browser">browser</a></code></code> 요소내에 원격지 웹사이트를 출력하기 위해서는 <code><a href="ko/XUL/Attribute/browser.type">type</a></code> 속성을 정확히 지정해야 합니다.</div>
-<p><code>tabbrowser</code>는 자기가 생성한 모든 탭 브라우저에 대해 자동으로 유형을 지정합니다. 그렇기 때문에 탭 브라우저의 경우 명시적으로 지정할 필요가 없습니다.</p>
-<p>세 번째 유형은 다른 내용을 출력하기 위해 사이드바를 사용하는 것과 같이 창에 다중 브라우저 요소를 포함할때 사용됩니다. 메인 <code>browser</code> 요소의 <code><a href="ko/XUL/Attribute/browser.type">type</a></code> 속성을 <code>content-primary</code>로 지정하면 이것은 창에서 주 내용이라는 것을 나타냅니다. 이것은 창 내부의 내용이 XUL 창의 'content' 속성을 이용하여 접근할 수 있다는 점만 제외하면 <code>content</code> 값과 유사하게 동작합니다. 이것은 스크립트를 사용하여 주 브라우저의 내용에 접근하기 쉽게 해 줍니다. <code>tabbrowser</code>는 자동으로 현재 보이는 브라우저에 대해 <code>type</code> 속성을 <code>content-primary</code>로 지정하며, 이것은 여러분이 현재 보이는 내용에 대해 항상 접근할 수 있다는 것을 의미합니다.</p>
-<p>다음에는 <a href="ko/XUL_Tutorial/Splitters">분할자(splitter)를 작성</a>하는 방법에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Grids" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Splitters">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/creating_a_window/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/creating_a_window/index.html
deleted file mode 100644
index 3152f51638..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/creating_a_window/index.html
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title: Creating a Window
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Creating_a_Window
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Creating_a_Window
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Manifest_Files" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Adding_Buttons">다음 »</a></p>
-</div><p></p>
-
-<div class="highlight">
-<p>우리는 이 입문서를 통해 간단한 파일 찾기(find files) 유틸리티를 만들어 볼 작정입니다.</p>
-</div>
-
-<p>하지만, 먼저 XUL 파일의 기본 구문을 살펴보겠습니다.</p>
-
-<h3 id="XUL_.ED.8C.8C.EC.9D.BC_.EB.A7.8C.EB.93.A4.EA.B8.B0" name="XUL_.ED.8C.8C.EC.9D.BC_.EB.A7.8C.EB.93.A4.EA.B8.B0">XUL 파일 만들기</h3>
-
-<p>XUL 파일은 어떤 이름도 줄 수 있지만 사실 확장자는 .xul입니다. 가장 간단한 XUL 파일의 구조는 다음과 같습니다.</p>
-
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;window
- id="findfile-window"
- title="Find Files"
- orient="horizontal"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-&lt;!-- Other elements go here --&gt;
-&lt;/window&gt;
-</pre>
-
-<p>이 창은 아무런 UI 요소를 담고 있지 않기 때문에 아무것도 하지 않습니다. UI 요소는 다음 절(section)에서 추가합니다. 여기서는 위 코드를 한줄한줄 설명합니다.</p>
-
-<ol>
- <li><strong>&lt;?xml version="1.0"?&gt;</strong><br>
- 이 줄은 이 파일이 XML 파일임을 간단히 선언합니다. 보통 HTML 파일 상단에 HTML 태그를 놓는 것과 같이 이 줄을 각 xul 파일 상단에 추가합니다.</li>
- <li><strong>&lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;</strong><br>
- 이 줄은 파일에 쓸 스타일 시트를 지정하는 데 씁니다. 이는 XML 파일이 스타일 시트를 가져오는(import) 데 쓰는 구문입니다. 이 경우에, 우리는 스킨 꾸러미(package)의 전역(global) 부분에 있는 스타일을 가져옵니다. 우리가 특정 파일을 지정하지 않기에 Mozilla가 디렉토리에서 어떤 파일을 쓸 지 결정합니다. 위 경우에, 가장 중요한 global.css 파일이 선택됩니다. 이 파일은 모든 XUL 요소를 위한 기본 선언 전부를 담고 있습니다. XML은 요소가 표시되는 법에 관한 아무런 지식이 없기 때문에, 그 파일은 방법을 나타냅니다. 보통, 모든 XUL 파일 상단에 이 줄을 놓습니다. 또한 비슷한 구문을 써서 다른 스타일 시트를 가져오기도 합니다. 보통은 자신의 스타일 시트 파일 안에서 전역 스타일 시트를 가져옴을 유념하세요.</li>
- <li><strong>&lt;window</strong><br>
- 이 줄은 창(<code><a href="/ko/docs/Mozilla/Tech/XUL/window" title="window">window</a></code>)을 기술함을 선언합니다. 각 사용자 인터페이스 창은 개별 파일에서 기술합니다. 이 태그는 대체로 HTML에서 전체 내용(content)을 둘러싸는 BODY 태그와 같습니다. <a href="ko/XUL/window#Attributes">여러 속성</a>이 <code><a href="/ko/docs/Mozilla/Tech/XUL/window" title="window">window</a></code> 태그에 놓일 수 있습니다 -- 이 경우에는 넷입니다. 예제에서, 각 속성은 각 줄에 놓이지만 그래야만 하는 건 아닙니다.</li>
- <li><strong>id="findfile-window"</strong><br>
- <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> 속성은 창이 스크립트에 의해 참조될 수 있도록 식별자(identifier)로 쓰입니다. 여러분은 보통 모든 요소에 <code>id</code> 속성을 놓습니다. 이름은 여러분이 원하는 아무거나 될 수 있지만 뭔가 관련이 있으면 좋습니다.</li>
- <li><strong>title="Find Files"</strong><br>
- <code><code id="a-title"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/title">title</a></code></code> 속성은 창이 표시될 때 제목 표시줄에 나타나는 텍스트를 기술합니다. 이번 경우에는 '파일 찾기' 텍스트가 나타납니다.</li>
- <li><strong>orient="horizontal"</strong><br>
- <code><code id="a-orient"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code></code> 속성은 창의 항목 배열을 지정합니다. <code>horizontal</code>값은 항목이 창을 가로질러 가로로 놓임음 나타냅니다. 여러분은 또한 항목이 세로로 놓임을 뜻하는 <code>vertical</code>값을 써도 됩니다. 이 값이 기본값이므로, 혹시 여러분이 세로 방향이길 바라면 속성을 아주 빼도 됩니다.</li>
- <li><strong>xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;</strong><br>
- 이 줄은 여러분이 창 요소의 자식 모두가 XUL임을 나타내기 위해 창 요소에 놓는 XUL용 이름공간(namespace)을 선언합니다. 이 URL은 실제로 결코 내려받지 않음을 유념하세요. Mozilla는 이 URL을 내부로 인지합니다.</li>
- <li><strong><span class="nowiki">&lt;!-- Other elements go here --&gt;</span></strong><br>
- 이 주석 블록을 창에 나타내기 위해 다른 요소(버튼, 메뉴, 다른 사용자 인터페이스 컴포넌트)로 바꾸세요. 우리는 이 가운데 일부를 다음 여러 절에서 추가합니다.</li>
- <li><strong>&lt;/window&gt;</strong><br>
- 그리고 끝으로, 파일 끝에서 <code><a href="/ko/docs/Mozilla/Tech/XUL/window" title="window">window</a></code> 태그를 닫을 필요가 있습니다.</li>
-</ol>
-
-<h3 id=".EC.B0.BD_.EC.97.B4.EA.B8.B0" name=".EC.B0.BD_.EC.97.B4.EA.B8.B0">창 열기</h3>
-
-<p>XUL 창을 열기 위해, 쓸 수 있는 여러 방법이 있습니다. 혹시 여러분이 단지 개발 단계에 있다면, 그냥 Mozilla 브라우저 창 주소 표시줄에 URL(chrome:, file:이든 다른 URL 형이든)을 입력할 수 있습니다. 여러분은 또한 파일 관리자에서 Mozilla와 관련된 XUL 파일로 생각하는 파일을 두 번 클릭할 수 있습니다. XUL 창은 새 창이 아닌 브라우저 창에 나타나지만 이는 개발 초기 단계 동안은 대개 충분합니다.</p>
-
-<p>물론 옳은 방법은 JavaScript를 써서 창을 여는 겁니다. <a href="ko/HTML">HTML</a> 문서를 위해 할 수 있는 것처럼 <a href="ko/DOM/window.open">window.open()</a> 함수를 쓰는 것 같은 새 구문이 필요하지 않습니다. 그러나, 'chrome'으로 불리는 추가 flag 하나가 이것이 여는 <a href="ko/DOM/window.open#Window_functionality_features">chrome</a> 문서임을 브라우저에 나타내기 위해 필요합니다. 이는 보통 브라우저 창에 있는 도구 표시줄, 메뉴 등이 없이 창을 엽니다. 구문은 아래에 기술합니다:</p>
-
-<pre>window.open(url,windowname,flags);
-
-where the flags contains the flag "chrome" as in this example
-
-window.open("chrome://navigator/content/navigator.xul", "bmarks", "chrome,width=600,height=300");
-</pre>
-
-<div class="highlight">
-<h5 id="findfile.xul_.EC.98.88.EC.A0.9C" name="findfile.xul_.EC.98.88.EC.A0.9C">findfile.xul 예제</h5>
-
-<p>파일 찾기 대화상자를 위한 기본 파일을 만들면서 시작하죠. findfile.xul 파일을 만들어 findfile.manifest 파일(우리가 이전 절에서 만들었슴)에 지정된 content 디렉토리에 넣으세요. 이 페이지 상단에 보이는 XUL 템플릿을 파일에 추가하고 저장하세요.</p>
-</div>
-
-<p>여러분은 Mozilla가 시작할 때 XUL 파일을 지정하기 위해 명령줄 매개변수 '-chrome'을 쓸 수 있습니다. 지정하지 않으면, 기본 창 열기가 열립니다(보통은 브라우저 창). 예를 들어, 우리는 다음 가운데 어느 쪽으로도 파일 찾기 대화상자를 엽니다.</p>
-
-<pre>mozilla -chrome chrome://findfile/content/findfile.xul
-
-mozilla -chrome resource:/chrome/findfile/content/findfile.xul
-</pre>
-
-<p>여러분이 명령줄(여러분의 플랫폼에 있다고 가정)에서 이 명령을 실행하면, 파일 찾기 대화상자를 Mozilla 브라우저 창 대신에 기본값으로 엽니다. 물론, 우리가 창에 아무런 UI 요소도 넣지 않았기 때문에, 나타난 창을 볼 수 없습니다. 다음 절에서 일부 요소를 추가합니다.</p>
-
-<p>효과를 보기 위해, 다음은 북마크 관리자 창을 엽니다.</p>
-
-<pre class="eval">mozilla -chrome <a class="external" rel="freelink">chrome://communicator/content/bookma...rksManager.xul</a>
-
-<span class="highlightred">혹시 Firefox를 쓴다면, 아래로 해보세요.</span>
-firefox -chrome <a class="external" rel="freelink">chrome://browser/content/bookmarks/b...rksManager.xul</a>
-</pre>
-
-<p>'-chrome' 인수는 파일에 아무런 추가 특권(privilege)을 주지 않습니다. 대신, 주소 표시줄이나 메뉴와 같은 브라우저 chrome 없이 최상위 창으로 지정된 파일을 열게 합니다. 오직 chrome URL에 추가 특권이 있습니다.</p>
-
-<div class="note"><a class="external" href="http://ted.mielczarek.org/code/mozilla/extensiondev/">Extension Developer's Extension</a>은 여러분이 XUL 코드를 쳐 넣고 Mozilla 안에서 실시간으로 결과를 보게 하는 XUL 편집기를 담고 있습니다!</div>
-
-<h3 id=".EB.AC.B8.EC.A0.9C_.ED.95.B4.EA.B2.B0.ED.95.98.EA.B8.B0" name=".EB.AC.B8.EC.A0.9C_.ED.95.B4.EA.B2.B0.ED.95.98.EA.B8.B0">문제 해결하기</h3>
-
-<ul>
- <li>혹시 XUL 창을 데스크탑에 보이지는 않지만 데스크탑 도구 표시줄에 아이콘이 있다면, xml-stylesheet 선언을 점검하세요. 여러분이 스타일시트를 바르게 포함했는지 확인하세요.</li>
-</ul>
-
-<pre class="eval"> &lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;
-</pre>
-
-<p>다음 절에서, 우리는 <a href="ko/XUL_Tutorial/Adding_Buttons">창에 버튼 몇 개를 추가</a>합니다.</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Manifest_Files" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Adding_Buttons">다음 »</a></p>
-</div><p></p>
-
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/cross_package_overlays/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/cross_package_overlays/index.html
deleted file mode 100644
index 18ae26938a..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/cross_package_overlays/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Cross Package Overlays
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Cross_Package_Overlays
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Cross_Package_Overlays
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Overlays" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Creating_an_Installer">다음 »</a></p>
-</div><p></p>
-<p>이번 단원에서는 오버레이를 임포트(import)하지 않는 파일에 오버레이를 적용하는 방법에 대해 알아보겠습니다.</p>
-<h3 id=".EB.8B.A4.EB.A5.B8_.EA.BE.B8.EB.9F.AC.EB.AF.B8.EC.97.90_.EC.98.A4.EB.B2.84.EB.A0.88.EC.9D.B4_.EC.A0.81.EC.9A.A9.ED.95.98.EA.B8.B0" name=".EB.8B.A4.EB.A5.B8_.EA.BE.B8.EB.9F.AC.EB.AF.B8.EC.97.90_.EC.98.A4.EB.B2.84.EB.A0.88.EC.9D.B4_.EC.A0.81.EC.9A.A9.ED.95.98.EA.B8.B0">다른 꾸러미에 오버레이 적용하기</h3>
-<div class="note">
- 알림: 이번 단원에서는 content.rdf를 통해 오버레이를 적용하는 방법에 대해 설명하며, <a href="ko/Gecko">Gecko</a> 1.8 (Firefox 1.5) 부터는 <a href="ko/XUL_Tutorial/Manifest_Files">선언 파일(manifest file)</a>을 사용하는 것으로 변경되었습니다.</div>
-<p>오버레이는 또 다른 유용한 기능을 제공합니다. <a href="ko/XUL_Tutorial/Overlays">앞 단원</a> 예제에서는 오버레이가 창에 의해 임포트(import)되었습니다. 여러분은 다른 방법으로 오버레이 스스로 적용할 대상 창을 명시하게도 할 수 있습니다. 여러분은 꾸러미 내에 있는 contents.rdf 파일을 수정해서 이를 지정할 수 있습니다. 이렇게 하면 오버레이를 적용하고자 하는 꾸러미를 수정하지 않고도 해당 꾸러미의 사용자 인터페이스를 변경할 수 있기 때문에 아주 유용합니다. 예를 들어 여러분은 Mozilla 브라우저 창에 <a href="ko/XUL_Tutorial/Simple_Menu_Bars">메뉴 항목</a>이나 <a href="ko/XUL_Tutorial/Toolbars">툴바</a>를 추가할 수 있습니다.</p>
-<p>우리는 이 기능을 이용해서 Mozilla 브라우저 창에 툴바를 추가할 것입니다. Mozilla Mail 응용프로그램은 브라우저 창에 내용을 넣기 위해 오버레이를 사용합니다. 예를 들어 Mail이 설치되어 있지 않다면 새 메시지(New Message) 명령이 없지만, 설치되어 있다면 오버레이가 메뉴에 적용되어 새 메시지(New Message) 명령이 추가됩니다. 아래에서는 파일 찾기 툴바를 브라우저에 추가할 것입니다. 이 기능이 유용한 것은 아니지만 어쨌든 이렇게 하겠습니다.</p>
-<p>Mozilla는 chrom 꾸러미, 스킨, 로케일 목록을 작성하는데 사용되는 contents.rdf 파일에 오버레이 목록을 추가할 수 있게 해 줍니다. 만일 오버레이를 작성하면 이것을 contents.rdf 파일에 추가할 수 있습니다. 그리고 오버레이를 적용하고자 하는 각 창 하나씩 항목을 추가합니다.</p>
-<div class="highlight">
- <h4 id=".ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C" name=".ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C">파일 찾기 예제</h4>
- <p>먼저 간단한 오버레이를 만들겠습니다. 여기에는 검색할 파일이름과 디렉토리를 입력할 수 있는 요소들만 들어 있습니다. 이 파일을 findfile.xul 파일이 있는 findfile 디렉토리에 foverlay.xul이라는 이름으로 저장하세요.</p>
- <h4 id="foverlay.xul_.EC.98.88.EC.A0.9C" name="foverlay.xul_.EC.98.88.EC.A0.9C">foverlay.xul 예제</h4>
- <p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_crosspov_1.xul.txt">Source</a></p>
- <pre>&lt;?xml version="1.0"?&gt;
-
-&lt;overlay
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
-&lt;toolbox id="navigator-toolbox"&gt;
- &lt;toolbar id="findfile_toolbar"&gt;
- &lt;label control="findfile_filename" value="Search for files named:"/&gt;
- &lt;textbox id="findfile_filename"/&gt;
- &lt;label control="findfile_dir" value="Directory:"/&gt;
- &lt;textbox id="findfile_dir"/&gt;
- &lt;button label="Browse..."/&gt;
- &lt;/toolbar&gt;
-&lt;/toolbox&gt;
-
-&lt;/overlay&gt;
-</pre>
- <p>위 파일에서 overlay를 window로 바꾸면 내용을 볼 수 있습니다. 여기서 특별하다고 할만한 것은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code></code>에 사용된 <code>id</code>입니다. 이 값(<code>navigator-toolbox</code>)은 브라우저 창(navigator.xul)에 있는 toolbox의 id와 동일합니다. 이는 브라우저 창의 toolbox에 오버레이가 적용되고 별도의 툴바에 내용이 추가된다는 것을 의미합니다.</p>
- <p>이 오버레이를 선언 파일에 적용하기 위해서는 두 가지 리소스(resource)를 추가해야 합니다. 먼저, 오버레이를 적용할 각각의 창을 하나씩 추가합니다. 아래의 코드는 contents.rdf 파일의 닫는 RDF 태그 앞에 들어가야 합니다.</p>
- <pre>&lt;RDF:Seq about="urn:mozilla:overlays"&gt;
- &lt;RDF:li resource="chrome://navigator/content/navigator.xul"/&gt;
-&lt;/RDF:Seq&gt;
-</pre>
- <p>이 코드는 오버레이 창을 루트(root) 오버레이 노드(urn:mozilla:overlay)의 자식에 넣는다는 것을 선언합니다. 여러분은 오버레이를 적용하고자 하는 창에 해당하는 <code>li</code> 노드를 추가해서 다른 노드를 추가할 수 있습니다.</p>
- <p>다음은 창에 적용할 각 오버레이를 위한 노드를 추가합니다. 이번 경우에는 하나만 있지만 다른것도 추가할 수 있습니다. 이 줄을 위의 코드 다음 줄에 추가하세요.</p>
- <pre>&lt;RDF:Seq about="chrome://navigator/content/navigator.xul"&gt;
- &lt;RDF:li&gt;chrome://findfile/content/foverlay.xul&lt;/RDF:li&gt;
-&lt;/RDF:Seq&gt;
-</pre>
-</div>
-<div class="float-right">
- <img alt="Image:crosspov1.jpg"></div>
-<p>Mozilla는 이 정보를 읽은 후 다른 창에 적용되는 오버레이 목록을 만듭니다. 이 정보는 chrome/overlayinfo 디렉토리에 저장됩니다. 이 디렉토리에 있는 파일들을 직접 수정할 필요는 없습니다. 이 파일들은 Mozilla가 처음 실행되거나 새로운 꾸러미가 설치되면 자동으로 생성되고 수정됩니다. 그러나 이 디렉토리와 chrome.rdf 파일을 삭제해서 강제로 이 데이터들이 재작성되도록 할 수 있습니다.</p>
-<p>여러분은 이러한 기법을 추가 스타일시트를 적용하는데 사용할 수 있습니다. 다음 예는 이러한 것을 보여줍니다.</p>
-<pre>&lt;RDF:Seq about="urn:mozilla:stylesheets"&gt;
- &lt;RDF:li resource="chrome://messenger/content/messenger.xul"/&gt;
-&lt;/RDF:Seq&gt;
-
-&lt;RDF:Seq about="chrome://messenger/content/messenger.xul"&gt;
- &lt;RDF:li&gt;chrome://blueswayedshoes/skin/myskinfile.css&lt;/RDF:li&gt;
-&lt;/RDF:Seq&gt;
-</pre>
-<p> </p>
-<div class="note">
- 여기서부터는 <a href="ko/Gecko">Gecko</a> 1.8 (Firefox 1.5)에서부터 사용하는 <a href="ko/XUL_Tutorial/Manifest_Files">선언 파일</a>을 통해 오버레이를 적용하는 방법입니다.</div>
-<div class="highlight">
- <p>Gecko 1.8 (Firefox 1.5) 이후부터는 <a href="ko/XUL_Tutorial/Manifest_Files">선언 파일</a>을 이용하여 다른 꾸러미에 오버레이를 적용합니다. 파일 찾기 대화창을 위한 선언 파일인 <code>findfile.manifest</code>에 다음을 추가하면 됩니다.</p>
- <pre>overlay chrome://browser/content/browser.xul chrome://findfile/content/foverlay.xul
-</pre>
-</div>
-<p>다음 단원에서는 <a href="ko/XUL_Tutorial/Creating_an_Installer">XUL 응용프로그램을 위한 인스톨러(installer) 작성</a> 방법에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Overlays" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Creating_an_Installer">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/element_positioning/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/element_positioning/index.html
deleted file mode 100644
index ce1d1c2c83..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/element_positioning/index.html
+++ /dev/null
@@ -1,259 +0,0 @@
----
-title: Element Positioning
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Element_Positioning
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Element_Positioning
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:The_Box_Model" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Box_Model_Details">다음 »</a></p>
-</div><p></p>
-
-<p>이번에는 XUL 요소의 크기와 위치를 지정하는 방법을 알아 보겠습니다.</p>
-
-<h2 id="Box_.EC.9A.94.EC.86.8C.EC.9D.98_.EC.9C.84.EC.B9.98_.EC.A7.80.EC.A0.95" name="Box_.EC.9A.94.EC.86.8C.EC.9D.98_.EC.9C.84.EC.B9.98_.EC.A7.80.EC.A0.95">Box 요소의 위치 지정</h2>
-
-<p>지금까지 상자 속의 요소들을 가로나 세로로 정렬하는 방법을 배웠습니다. 우리는 상자 속 요소의 크기와 위치를 제어할 필요가 있으며, 이를 위해 먼저 상자가 작동하는 원리에 대해 좀 더 알아볼 필요가 있습니다.</p>
-
-<p>XUL에서는 배치 방식(layout style)에 따라 내부 요소들의 위치가 결정됩니다. 예를 들어 가로 상자에 버튼을 추가하면 만약 추가된 버튼의 앞에 다른 요소가 있다면, 앞 버튼의 오른쪽에 위치하게 됩니다. 요소의 크기는 그 요소가 필요로 하는 크기와 사용자가 지시한 크기, 두 가지 요인에 의해 결정됩니다. 요소가 필요로 하는 크기는 그 요소 안에 무엇이 있느냐에 따라 달라집니다. 예를 들어 버튼의 너비는 버튼에 표시되는 문자열의 길이에 의해 결정됩니다.</p>
-
-<p>일반적으로 요소의 크기는 내부의 것들을 표시하기에 딱 알맞은 크기로 결정됩니다. 글상자(textbox) 같은 몇몇 요소들에는 기본 크기가 지정되어 있습니다. 일반 상자는 그 내부의 요소들을 모두 포함할 수 있을 만큼 충분한 크기를 가지게 됩니다. 예를 들어 세 개의 버튼을 포함하는 가로 상자의 너비는 세 개의 버튼과 약간의 여백을 포함할 정도의 넓어집니다.</p>
-
-<div class="float-right"><img alt="Image:boxstyle1n.png"></div>
-
-<p>그림에서 앞의 두 버튼은 문자열을 표시하기에 알맞은 크기로 되어 있습니다. 세 번째 버튼은 글자가 더 많기 때문에 크기가 더 큽니다. 버튼을 포함하고 있는 상자의 너비는 세 버튼의 너비와 버튼들 간의 사이 공간을 더한 전체 너비가 됩니다. 버튼의 높이도 글씨의 크기에 맞춰져 있습니다.</p>
-
-<h3 id="Width.EC.99.80_height_.EC.86.8D.EC.84.B1" name="Width.EC.99.80_height_.EC.86.8D.EC.84.B1">Width와 height 속성</h3>
-
-<p>여러분은 아마 창 내의 요소 크기를 좀 더 세밀히 제어할 필요가 있을 것입니다. 그래서 XUL은 요소의 크기를 조정할 수 있는 다양한 기능을 제공합니다. 그 중에서 가장 쉬운 방법은, HTML의 <code>img</code>에 너비와 높이를 주는 방식과 아주 비슷하게, 해당 요소에 <code><code id="a-width"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code></code>와 <code><code id="a-height"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/height">height</a></code></code> 속성을 사용하는 것입니다. 다음은 이러한 예를 보여주고 있습니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_1.xul">View</a></p>
-
-<pre>&lt;button label="OK" width="100" height="40"/&gt;
-</pre>
-
-<p>하지만 이러한 방법은 사용 환경이나 테마에 따라 문제가 발생할 수 있기 때문에 그렇게 추천할 만한 방법이 아닙니다. 더 나은 방법은 style 속성을 이용하는 것인데, 이는 HTML의 스타일 시트와 유사하게 작동합니다. 이 때는 다음의 CSS 속성을 사용할 수 있습니다.</p>
-
-<dl>
- <dt><a href="/ko/docs/Web/CSS/width" title="width CSS 속성은 요소의 너비를 설정합니다. 기본값은 콘텐츠 영역의 너비이지만, box-sizing이 border-box라면 테두리 영역의 너비를 설정합니다."><code>width</code></a> </dt>
- <dd>요소의 너비를 지정합니다.</dd>
- <dt><a href="/ko/docs/Web/CSS/height" title="height CSS 속성은 요소의 높이를 지정합니다. 기본값은 콘텐츠 영역의 높이지만, box-sizing이 border-box라면 테두리 영역의 높이를 설정합니다."><code>height</code></a> </dt>
- <dd>요소의 높이를 지정합니다.</dd>
-</dl>
-
-<p>이 속성을 사용하면 지정된 너비와 높이를 가진 요소가 생성됩니다. 만약 하나의 값만 지정하면 나머지 값은자동으로 계산됩니다. 이러한 크기 스타일을 지정할 때는 수치와 단위를 함께 입력해야 합니다.</p>
-
-<h4 id=".EC.9C.A0.EC.97.B0.ED.95.9C_.EC.9A.94.EC.86.8C.EB.93.A4" name=".EC.9C.A0.EC.97.B0.ED.95.9C_.EC.9A.94.EC.86.8C.EB.93.A4">유연한 요소들</h4>
-
-<p>유연하지 않은(non-flexible) 요소의 크기는 쉽게 계산됩니다. 이런 요소들은 지정된 크기 그대로 화면에 나타나며, 만약 크기가 지정되지 않으면 내용을 표시하기에 알맞게 크기가 정해집니다. 하지만 유연한(flexible) 요소의 크기를 계산하는 것은 조금 까다롭습니다.</p>
-
-<p>유연한 요소란 <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code> 속성의 값이 0보다 큰 요소입니다. 이들은 사용 가능한 공간에 맞추어 크기가 커지거나 줄어든다는 것을 이전 섹션에서 말씀드렸습니다. 이들의 처음 크기는 유연하지 않은(inflexible) 요소와 똑같이 계산됩니다. 다음의 예제는 앞서 말한 내용에 대해 보여줍니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_2.xul">View</a></p>
-
-<pre>&lt;window orient="horizontal"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
-&lt;hbox&gt;
- &lt;button label="Yes" flex="1"/&gt;
- &lt;button label="No"/&gt;
- &lt;button label="I really don't know one way or the other"/&gt;
-&lt;/hbox&gt;
-
-&lt;/window&gt;
-</pre>
-
-<p>이 창을 열면 처음에는 위에서 본 그림처럼 나타날 것입니다. 앞의 두 버튼은 너비가 기본값과 같을 것이고 세 번째 버튼은 글자가 더 많기 때문에 너비가 더 클 것입니다. 첫번째 버튼은 유연하도록 설정되었으며 세 버튼 모두 상자에 포함되어 있습니다. 상자의 너비는 세 버튼의 총 너비(그림에서는 약 430 픽셀)로 맞춰질 것입니다.</p>
-
-<p>만일 창의 크기를 늘리면 XUL은 빈 공간을 매꾸기 위해서 유연한 요소들이 있는지 검사합니다. 위 예제에서첫번째 버튼이 유연한 요소이지만, 창을 늘려도 버튼의 크기가 변하지 않을 것입니다. 이는 버튼을 포함하는 상자가 유연하지 않기 때문입니다. 유연하지 않은 요소는 사용 가능한 공간이 늘어나도 크기가 변하지 않으며 따라서 버튼도 더 커질 수가 없는 것입니다.</p>
-
-<p>상자도 유연 요소로 만들면 문제가 해결됩니다. 그리고 나서 창을 늘리면 빈 공간이 생기고 이 빈 공간을 채우기 위해 상자의 크기도 변경됩니다. 상자가 더 커지면 상자 내부에 빈 공간이 생기고 그러면 상자 내부의 유연 요소인 버튼이 늘어나 빈 공간을 채우게 됩니다. 이러한 과정은 중첩된 상자에 대해 반복되어 처리됩니다.</p>
-
-<h2 id=".EC.B5.9C.EC.86.8C_.ED.81.AC.EA.B8.B0.EC.99.80_.EC.B5.9C.EB.8C.80_.ED.81.AC.EA.B8.B0_.EC.A7.80.EC.A0.95.ED.95.98.EA.B8.B0" name=".EC.B5.9C.EC.86.8C_.ED.81.AC.EA.B8.B0.EC.99.80_.EC.B5.9C.EB.8C.80_.ED.81.AC.EA.B8.B0_.EC.A7.80.EC.A0.95.ED.95.98.EA.B8.B0">최소 크기와 최대 크기 지정하기</h2>
-
-<p>여러분은 어떤 요소가 유연하면서도 특정 크기보다는 더 커지지 않도록 크기를 제한해야 할 때도 있을 수 있습니다. 또 그 반대로 최소 크기를 지정하고 싶을 때도 있을 것입니다. 이러한 제한들은 다음의 네 가지 속성을 사용해서 설정할 수 있습니다.</p>
-
-<dl>
- <dt><code id="a-minwidth"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code> </dt>
- <dd>요소의 최소 너비를 지정한다.</dd>
- <dt><code id="a-minheight"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/minheight">minheight</a></code> </dt>
- <dd>요소의 최소 높이를 지정한다.</dd>
- <dt><code id="a-maxwidth"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code> </dt>
- <dd>요소의 최대 너비를 지정한다.</dd>
- <dt><code id="a-maxheight"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/maxheight">maxheight</a></code> </dt>
- <dd>요소의 최대 높이를 지정한다.</dd>
-</dl>
-
-<p>위의 모든 값은 픽셀로 계산됩니다. 그리고 위의 속성 대신 CSS의 <code>min-width</code>, <code>min-height</code>, <code>max-width</code>, <code>max-height</code>를 이용해도 됩니다.</p>
-
-<p>이 속성들은 유연한 요소에만 적용됩니다. 예를 들어 최대 높이를 지정한 유연한 버튼은 지정된 높이만큼만 늘어날 수 있습니다. 최대 높이까지 늘어난 버튼은 창의 크기를 늘려도 더 이상 늘어나지 않습니다. 이 버튼을 포함하는 상자에 최대 높이를 지정하지 않으면 상자는 버튼과 상관 없이 계속해서 늘어날 것입니다.</p>
-
-<p>만약 두 버튼이 동일하게 유연하다면, 두 버튼이 빈 공간을 똑같이 나누어 가질 것이다. 이 때 한 버튼에 최대 너비가 지정되어 있다면 남은 하나의 버튼이 남은 공간을 차지하게 됩니다.</p>
-
-<p>만약 상자에 최대 너비나 높이가 지정되어 있다면 상자 내의 요소들은 그 이상 커질 수가 없습니다. 마찬가지로 상자에 최소 너비나 높이가 지정되어 있으면 상자 내의 요소들은 그 이하로 줄어들 수가 없습니다.</p>
-
-<h5 id=".EB.84.88.EB.B9.84.EC.99.80_.EB.86.92.EC.9D.B4.EB.A5.BC_.EC.A7.80.EC.A0.95.ED.95.9C_.EC.98.88.EC.A0.9C.EB.93.A4" name=".EB.84.88.EB.B9.84.EC.99.80_.EB.86.92.EC.9D.B4.EB.A5.BC_.EC.A7.80.EC.A0.95.ED.95.9C_.EC.98.88.EC.A0.9C.EB.93.A4">너비와 높이를 지정한 예제들</h5>
-
-<pre>&lt;button label="1" style="width: 100px;"/&gt;
-&lt;button label="2" style="width: 100em; height: 10px;"/&gt;
-&lt;button label="3" flex="1" style="min-width: 50px;"/&gt;
-&lt;button label="4" flex="1" style="min-height: 2ex; max-width: 100px"/&gt;
-&lt;textbox flex="1" style="max-width: 10em;"/&gt;
-&lt;description style="max-width: 50px"&gt;This is some boring but simple
-wrapping text.&lt;/description&gt;
-</pre>
-
-<dl>
- <dt>예제 1</dt>
- <dd>첫 번째 버튼은 너비가 100픽셀(px는 픽셀을 의미)이 될 것입니다. 만약 단위를 입력하지 않으면 너비가 적용되지 않을 것입니다.</dd>
- <dt>예제 2</dt>
- <dd>두 번째 버튼은 높이가 10px, 너비가 100em(em은 사용하고 있는 글꼴의 한 글자 크기)으로 표시될 것입니다.</dd>
- <dt>예제 3</dt>
- <dd>세 번째 버튼은 유연한 요소이므로 버튼을 포함하는 상자의 크기에 따라 크기가 변경될 것입니다. 하지만 이 버튼은 50px 이하로는 줄어들지 않을 것입니다. 이 때는 다른 유연한 요소들이 유동비(flex값의 비율)와 상관 없이 남은 공간을 채울 것입니다.</dd>
- <dt>예제 4</dt>
- <dd>네 번째 버튼은 유연하지만 높이가 2ex(ex는 사용하고 있는 글꼴의 x의 크기) 이하로 줄어들지 않고, 100px 이상으로 늘어나지도 않을 것입니다.</dd>
- <dt>예제 5</dt>
- <dd>글상자는 유연하지만 크기가 10em 이상으로 늘어나지 않을 것입니다. 글자와 관련된 크기를 정할 때는 주로 em을 사용합니다. 글꼴이 변경되면서 글자의 크기가 변할 수 있지만 글상자의 크기를 em으로 지정하면 언제나 글꼴에 맞추어서 크기가 정해지기 때문에 매우 유용합니다.</dd>
- <dt>예제 6</dt>
- <dd><code><code><a href="/ko/docs/Mozilla/Tech/XUL/description" title="description">description</a></code></code> 요소의 최대 너비가 50픽셀로 지정되어 있습니다. 글자가 50픽셀을 넘으면 나머지 글자는 다음 줄에 표시될 것입니다.</dd>
-</dl>
-
-<div class="highlight">
-<h5 id=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EB.8C.80.ED.99.94.EC.B0.BD" name=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EB.8C.80.ED.99.94.EC.B0.BD">우리의 파일 찾기 대화창</h5>
-
-<p>위에서 본 스타일들 중 몇 가지를 파일 찾기 대화창에 추가해 보도록 하겠습니다. 우리는 글상자의 크기가 창의 크기에 맞추어 변하도록 만들어 볼 것입니다.</p>
-
-<pre>&lt;textbox id="find-text" flex="1" style="min-width: 15em;"/&gt;
-</pre>
-
-<div class="float-right"><img alt="Image:boxstyle1.png"></div>
-
-<p>위에서 글상자를 유연하게 만들었습니다. 이제 사용자가 대화창의 크기를 변경하면 글상자도 함께 늘어날 것입니다. 이는 사용자가 긴 문자열을 입력하고자 할 때 유용합니다. 또 최소 너비가 15em이기 때문에 글상자는 항상 적어도 15글자를 표시할 수 있게 되었습니다. 사용자가 창을 아주 작은 크기로 줄여도 글상자는 15em 이하로는 줄어들지 않을 것입니다. 이 때는 글상자가 마치 대화창의 경계를 벗어난 것처럼 그려질 것입니다. 그림에서와 같이 글상자가 창의 크기에 딱 맞추어져 있습니다.</p>
-</div>
-
-<h2 id=".EC.83.81.EC.9E.90_.EB.AC.B6.EA.B8.B0" name=".EC.83.81.EC.9E.90_.EB.AC.B6.EA.B8.B0">상자 묶기</h2>
-
-<p>유연한 상자가 두 개의 자녀 요소를 갖고 있는데, 둘 다 유연하지 않다면 어떻게 될까요? 아래의 예를 보겠습니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_3.xul">View</a></p>
-
-<pre>&lt;box flex="1"&gt;
- &lt;button label="Happy"/&gt;
- &lt;button label="Sad"/&gt;
-&lt;/box&gt;
-</pre>
-
-<p>창의 크기가 변경되면 상자의 크기도 이에 맞추어 변경됩니다. 하지만 두 개의 버튼은 크기가 고정되어 있기 때문에 변하지 않을 것입니다. 따라서 상자의 내부에 빈 공간이 생겨 창의 오른쪽 부분에 빈 공간이 생긴 것처럼 보이게 됩니다. 하지만 아마 여러분은 왼쪽에 빈 공간이 생기고, 창의 오른쪽으로 버튼이 정렬되게끔 하고 싶을 때도 있을 것입니다.</p>
-
-<p>상자 안에 여백(<code><code><a href="/ko/docs/Mozilla/Tech/XUL/spacer" title="spacer">spacer</a></code></code>)를 넣으면 되지만, 매번 그렇게 하는 것은 너무 성가실 것입니다. 더 좋은 방법은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/box" title="box">box</a></code></code>의 <code><code id="a-pack"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code></code> 속성을 이용하는 것입니다. 이 속성은 상자내의 자식 속성을 어떻게 포장 할지를 나타내는 속성입니다. 수평 상자에서는 자식 요소들의 수평 위치를 제어하는데 사용되며, 수직 정렬 상자에서는 수직 위치를 제어하는데 사용됩니다. 이 속성에 사용할 수 있는 값은 다음의 세 가지입니다.</p>
-
-<dl>
- <dt>start </dt>
- <dd>자식 요소를 수평 상자에서는 왼쪽에, 수직 상자에서는 위쪽에 위치시키며 이것이 기본값입니다.</dd>
- <dt>center </dt>
- <dd>자식 요소를 상자의 중앙에 위치시킵니다.</dd>
- <dt>end </dt>
- <dd>자식 요소를 수평 상자에서는 오른쪽에, 수직 상자에서는 아래쪽에 위치시킵니다.</dd>
-</dl>
-
-<p><code><code id="a-pack"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code></code> 속성은 자식 요소가 아니라 자식 요소를 포함하는 상자에 적용해야 합니다.</p>
-
-<p>앞의 예제를 자식 요소들이 중앙에 오도록 하려면 다음과 같이 수정할 수 있습니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_4"><a id="%EC%98%88%EC%A0%9C_4"></a><strong>예제 4</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_4.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_4.xul">View</a></p>
-
-<pre>&lt;box flex="1" pack="center"&gt;
- &lt;button label="Happy"/&gt;
- &lt;button label="Sad"/&gt;
-&lt;/box&gt;
-</pre>
-
-<p>이제 창의 크기가 변경되면 버튼이 모두 가로 방향의 중앙에 위치합니다. 이를 앞의 예와 비교해 보세요.</p>
-
-<h2 id=".EC.83.81.EC.9E.90_.EC.A0.95.EB.A0.AC" name=".EC.83.81.EC.9E.90_.EC.A0.95.EB.A0.AC">상자 정렬</h2>
-
-<p>위의 Happy-Sad 예에서 창의 너비를 변경하면 상자의 너비도 함께 변경됩니다. 창의 높이를 변경하면 버튼의 높이도 변하는 것을 보실 것입니다. 이것은 다른 방향으로는 자동으로 크기 유연성이 지정되기 때문입니다.</p>
-
-<p>이러한 동작 방법은 <code><code id="a-align"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> 속성을 이용하면 조정할 수 있습니다. <code><code id="a-align"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> 속성은 수평 상자에서는 자식 요소의 수직 위치를, 수직 상자에서는 자식 요소의 수평 위치를 조정하는데 사용합니다. 사용할 수 있는 값은 <code><code id="a-pack"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code></code>과 비슷합니다.</p>
-
-<dl>
- <dt>start </dt>
- <dd>자식 요소를 수평 상자의 윗부분에, 수직 상자의 왼쪽에 정렬합니다.</dd>
- <dt>center </dt>
- <dd>자식 요소를 상자의 중앙에 정렬합니다.</dd>
- <dt>end </dt>
- <dd>자식 요소를 수평 정렬 상자의 아래쪽에, 수직 정렬 상자의 오른쪽에 정렬합니다.</dd>
- <dt>baseline </dt>
- <dd>문자열이 위로 올라오도록 자식 요소를 정렬합니다. 이 속성은 수평 정렬 상자에만 적용됩니다.</dd>
- <dt>stretch </dt>
- <dd>이 속성의 기본값으로, 자식 요소들이 유연한 요소처럼 상자의 크기에 맞춰 늘어나도록 합니다. 단, 상자의 정렬 방향의 반대 방향에만 적용됩니다.</dd>
-</dl>
-
-<p><code><code id="a-pack"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/pack">pack</a></code></code> 속성과 마찬가지로 <code><code id="a-align"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> 속성도 자식 요소가 아닌 자식 요소를 포함하는 상자에 적용해야 합니다.</p>
-
-<p>다음의 예제에서 첫 번째 상자는 <code><code id="a-align"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> 속성이 지정되지 않았기 때문에 자식 요소들이 늘어나게 됩니다. 하지만 두 번째 상자는 <code><code id="a-align"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/align">align</a></code></code> 속성에 따라 자식 요소들이 한 가운데에 정렬되는 것을 볼 수 있을 것입니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_5"><a id="%EC%98%88%EC%A0%9C_5"></a><strong>예제 5</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_5.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_5.xul">View</a></p>
-
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="chrome://global/skin/" type="text/css"?&gt;
-
-&lt;window id="yesno" title="Question" orient="horizontal"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
- &lt;hbox&gt;
- &lt;button label="Yes"/&gt;
- &lt;button label="No"/&gt;
- &lt;/hbox&gt;
- &lt;hbox align="center"&gt;
- &lt;button label="Maybe"/&gt;
- &lt;button label="Perhaps"/&gt;
- &lt;/hbox&gt;
-
-&lt;/window&gt;
-</pre>
-
-<div class="float-right"><img alt="Image:boxstyle2-b.png"></div>
-
-<p>여러분은 pack과 align 속성 대신 style의 <code><a href="ko/CSS/-moz-box-pack">-moz-box-pack</a></code>과 <code><a href="ko/CSS/-moz-box-align">-moz-box-align</a></code>을 사용할 수 있습니다.</p>
-
-<div class="note">상자의 여러 가지 속성에 대해 직접 시험해 보시려면, <a class="external" href="http://developer.mozilla.org/samples/xultu/examples/aligner.xul">상자 정렬 예제</a>를 이용해 보시기 바랍니다.</div>
-
-<h2 id=".EB.AC.B8.EC.9E.90.EC.97.B4.EA.B3.BC_.EB.B2.84.ED.8A.BC_.EC.9E.90.EB.A5.B4.EA.B8.B0" name=".EB.AC.B8.EC.9E.90.EC.97.B4.EA.B3.BC_.EB.B2.84.ED.8A.BC_.EC.9E.90.EB.A5.B4.EA.B8.B0">문자열과 버튼 자르기</h2>
-
-<p>여러분은 아마 버튼의 최대 너비보다 긴 라벨을 가진 버튼 요소를 만들지도 모릅니다. 물론 문자열이 들어갈 만큼 버튼을 크게 만들면 되겠지만, 버튼(과 라벨을 가진 다른 요소)의 <code>crop</code> 속성을 이용하면 라벨이 너무 큰 경우 라벨이 잘려지는 방법을 제어할 수 있습니다.</p>
-
-<p>문자열이 잘리면 잘린 부분에 말줄임표(...)가 나타납니다. crop 속성에 사용할 수 있는 값은 아래의 네 가지입니다.</p>
-
-<dl>
- <dt>start </dt>
- <dd>문자열의 왼쪽이 잘립니다.</dd>
- <dt>end </dt>
- <dd>문자열의 오른쪽이 잘립니다.</dd>
- <dt>center </dt>
- <dd>문자열의 왼쪽과 오른쪽이 모두 잘립니다.</dd>
- <dt>none </dt>
- <dd>이 속성의 기본값으로 문자열이 잘리지 않습니다.</dd>
-</dl>
-
-<p>이 속성은 대화창이 어떤 크기에서든 사용할 수 있도록 만들 때 정말로 유용합니다. <code>crop</code> 속성은 <code>label</code> 속성을 갖는 요소들에서 사용할 수 있습니다. 아래의 예는 crop 속성의 사용법을 보여줍니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_6"><a id="%EC%98%88%EC%A0%9C_6"></a><strong>예제 6</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_6.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxstyle_6.xul">View</a></p>
-
-<div class="float-right"><img alt="Image:boxstyle2.png"></div>
-
-<pre>&lt;button label="Push Me Please!" crop="end" flex="1"/&gt;
-</pre>
-
-<p>창이 줄어들면 문자열의 오른쪽이 잘리는 것을 볼 수 있습니다.</p>
-
-<div class="highlight">
-<p><span id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"><a id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"></a><strong>지금까지의 파일 찾기 예제</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxstyle.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxstyle.xul">View</a></p>
-</div>
-
-<p>다음에는 지금까지 살펴본 상자 모델에 대한 요약과 함께 <a href="ko/XUL_Tutorial/Box_Model_Details">박스 모델에 대한 추가적인 세부 사항</a>에 대해 알아보겠습니다.</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:The_Box_Model" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Box_Model_Details">다음 »</a></p>
-</div><p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/focus_and_selection/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/focus_and_selection/index.html
deleted file mode 100644
index c2cc18a638..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/focus_and_selection/index.html
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: Focus and Selection
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Focus_and_Selection
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Focus_and_Selection
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Keyboard_Shortcuts" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Commands">다음 »</a></p>
-</div><p></p>
-<p>본 단원에서는 요소의 포커스(focus)와 선택(selection)을 다루는 방법에 대해 알아보겠습니다.</p>
-<h3 id=".ED.8F.AC.EC.BB.A4.EC.8A.A4.EB.A5.BC_.EC.96.BB.EC.9D.80_.EC.9A.94.EC.86.8C" name=".ED.8F.AC.EC.BB.A4.EC.8A.A4.EB.A5.BC_.EC.96.BB.EC.9D.80_.EC.9A.94.EC.86.8C">포커스를 얻은 요소</h3>
-<p>포커스를 얻은 요소라는 것은 현재의 입력 이벤트를 받는 요소를 의미합니다. 만일 창에 세 개의 텍스트 상자가 있다면, 포커스를 가진 것이 사용자가 현재 텍스트를 입력할 수 있는 텍스트 상자가 됩니다. 창 별로 한번에 하나의 요소만이 포커스를 가질 수 있습니다.</p>
-<p>사용자는 마우스로 요소를 클릭하거나 Tab 키를 눌러서 포커스를 변경할 수 있습니다. Tab 키가 눌러지면, 다음 요소가 포커스를 받습니다. 이전 요소가 포서스를 받게 하려면 Shift와 Tab 키를 누르면 됩니다.</p>
-<h4 id=".ED.83.AD_.EC.88.9C.EC.84.9C_.EB.B0.94.EA.BE.B8.EA.B8.B0" name=".ED.83.AD_.EC.88.9C.EC.84.9C_.EB.B0.94.EA.BE.B8.EA.B8.B0">탭 순서 바꾸기</h4>
-<p>사용자가 Tab 키를 눌렀을 때 포커스를 받는 요소의 순서를 바꾸기 위해서는 요소에 <code><code id="a-tabindex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/tabindex">tabindex</a></code></code> 속성을 넣으면 됩니다. 이 속성은 숫자값으로 지정되어야 합니다. 사용자가 Tab을 누르면, 다음 번 <code>tabindex</code> 값을 가진 요소로 이동합니다. 이것은 요소의 인덱스값을 순서대로 지정해서 요소의 순서를 지정할 수 있다는 것을 의미합니다. 일반적으로는 <code><code id="a-tabindex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/tabindex">tabindex</a></code></code> 속성을 지정하지 않을 것입니다. 이럴 경우에는 Tab을 누르면 다음에 출력된 요소로 포커스가 이동할 것입니다. 여러분은 순서를 바꾸고 싶을 때만 탭 인덱스를 지정하면 됩니다. 예제는 다음과 같습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_1.xul">View</a></p>
-<pre>&lt;button label="Button 1" tabindex="2"/&gt;
-&lt;button label="Button 2" tabindex="1"/&gt;
-&lt;button label="Button 3" tabindex="3"/&gt;
-</pre>
-<h4 id="focus_.EC.9D.B4.EB.B2.A4.ED.8A.B8" name="focus_.EC.9D.B4.EB.B2.A4.ED.8A.B8">focus 이벤트</h4>
-<p><code>focus</code> 이벤트는 어떤 요소가 포커스를 받았을 때 반응하기 위해 사용됩니다. <code>blur</code> 이벤트는 요소에서 포커스가 벗어났을 때 반응하기 위해 사용됩니다. 여러분은 code&gt;<a href="ko/DOM/element.onfocus">onfocus</a>&lt;/code&gt;나 <code><a href="ko/DOM/element.onblur">onblur</a></code> 속성을 요소에 붙여 포커스의 변화에 반응할 수 있습니다. 이 속성들은 HTML에 있는 해당 속성과 아주 비슷합니다. 이 이벤트 핸들러들은 요소를 강조(highlight)하거나 상태바에 텍스트를 출력하고자 할 때 보통 사용됩니다. 다음 예제는 포커스 이벤트를 처리하는 함수를 적용한 것을 보여주고 있습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_2.xul">View</a></p>
-<pre>&lt;script&gt;
-
-function displayFocus(){
- var elem=document.getElementById('sbar');
- elem.setAttribute('value','Enter your phone number.');
-}
-
-&lt;/script&gt;
-
-&lt;textbox id="tbox1"/&gt;
-&lt;textbox id="tbox2" onfocus="displayFocus();"/&gt;
-&lt;description id="sbar" value=""/&gt;
-</pre>
-<p>예제에서 focus 이벤트가 발생하면 <code>displayFocus</code> 함수가 호출될 것입니다. 이 함수는 텍스트 라벨의 값을 변경합니다. 우리는 이 예제를 확장해서 blur 이벤트가 발생할 때 텍스트가 제거되도록 만들수도 있을 것입니다. 일반적으로 사용자가 요소를 선택함에 따라 인터페이스의 일부분을 변경하기 위해 focus와 blur 이벤트를 사용합니다. 예를 들어 여러분은 사용자가 필드에 값을 입력함에 따라 합계를 갱신하거나 값의 유효성을 검증하는데 focus 이벤트를 사용할 수 있습니다. focus나 blur 이벤트에서 alert 창을 띄우지 마세요. 이렇게 하는 것은 사용자를 혼란스럽게 만들며, 아주 나쁜 사용자 인터페이스 디자인입니다.</p>
-<p>또한 DOM 함수인 <code><a href="ko/DOM/element.addEventListener">addEventListener</a></code>를 사용해서 이벤트 핸들러를 동적으로 등록할 수 있습니다. 이 함수는 어떤 요소나 이벤트에도 사용할 수 있습니다. 여기에는 3개의 인자가 있는데 이들은 이벤트 유형, 이벤트가 발생했을 때 실행할 함수, 이벤트 캡쳐를 수행할지를 여부를 나타내는 불린값(boolean) 입니다.</p>
-<h4 id=".ED.98.84.EC.9E.AC_.ED.8F.AC.EC.BB.A4.EC.8A.A4.EB.A5.BC_.EA.B0.80.EC.A7.84_.EC.9A.94.EC.86.8C_.EA.B0.80.EC.A0.B8.EC.98.A4.EA.B8.B0" name=".ED.98.84.EC.9E.AC_.ED.8F.AC.EC.BB.A4.EC.8A.A4.EB.A5.BC_.EA.B0.80.EC.A7.84_.EC.9A.94.EC.86.8C_.EA.B0.80.EC.A0.B8.EC.98.A4.EA.B8.B0">현재 포커스를 가진 요소 가져오기</h4>
-<p>현재 포커스를 가진 요소는 명령 발송자(command dispatcher)라고 불리는 객체에 저장되며, 이 객체는 창에 하나만 존재합니다. 명령 발송자는 사용자가 인터페이스를 사용함에 따라 포커스를 가진 요소의 변화를 추적하는 역활을 수행합니다. 명령 발송자는 또 다른 역활도 수행하는데 이에 대해서는 <a href="ko/XUL_Tutorial/Commands">다음 단원</a>에서 자세히 알아 보겠습니다. 지금은 명령 발송자가 가진 기능들 중 포커스와 관련된 것들에 대해서만 알아보겠습니다.</p>
-<p>여러분은 <code>document</code>의 <code>commandDispatcher</code> 속성을 이용해서 창의 명령 발송자 객체를 얻을 수 있습니다. 이곳에서 발송자의 <code>focusedElement</code> 속성으로부터 포커스를 가진 요소를 얻을 수 있습니다( <code>document.commandDispatcher.focusedElement</code>).</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_3.xul">View</a></p>
-<pre>&lt;window id="focus-example" title="Focus Example"
- onload="init();"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
-&lt;script&gt;
-function init(){
- addEventListener("focus",setFocusedElement,true);
-}
-
-function setFocusedElement(){
- var focused = document.commandDispatcher.focusedElement;
- document.getElementById("focused").value = focused.tagName;
-}
-&lt;/script&gt;
-
-&lt;hbox&gt;
- &lt;label control="username" value="User Name:"/&gt;
- &lt;textbox id="username"/&gt;
-&lt;/hbox&gt;
-
-&lt;button label="Hello"/&gt;
-&lt;checkbox label="Remember This Decision"/&gt;
-
-&lt;label id="focused" value="-No focus-"/&gt;
-
-&lt;/window&gt;
-</pre>
-<p>예제에서 창에 <code>focus</code> 이벤트 핸들러를 부착하였습니다. 우리는 캡처 이벤트 핸들러를 사용하려고 하기 때문에 <code><a href="ko/DOM/element.addEventListener">addEventListener</a></code> 메소드를 사용하였습니다. 이 메소드를 이용해 창에 캡처 이벤트 핸들러를 등록하고 <code>setFocusedElement</code> 메소드가 호출되도록 하였습니다. 이 메소드는 명령 발송자로부터 포커스를 가진 요소를 가져와서 이 요소의 태그 이름을 라벨에 출력하게 됩니다. 포커스를 가진 요소가 바뀌면, 라벨도 해당 요소의 태그 이름으로 변경됩니다.</p>
-<p>여기서 몇 가지 확인해야 할 점이 있습니다.</p>
-<ul>
- <li>첫번째로, textbox에 포커스가 가면, 태그 이름이 우리의 예상과 달리 'textbox'가 아니라 'html:input'으로 출력됩니다. 이것은 XUL 텍스트 상자가 HTML input 위젯으로 구현되어 있기 때문이며, 따라서 focus 이벤트는 이 요소가 받게 됩니다.</li>
- <li>두번째로, 텍스트 상자의 라벨을 클릭하면 포커스가 텍스트 상자로 갑니다. 이것은 라벨의 <code><code id="a-control"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/control">control</a></code></code> 속성이 텍스트 상자의 id를 가리키고 있기 때문입니다.</li>
- <li>마지막으로, 태그 이름을 출력하는 라벨은 <code><code id="a-control"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/control">control</a></code></code> 속성이 없으며, 따라서 이를 클릭하더라도 포커스에 영향을 주지 않습니다. 포커스를 가질 수 있는 요소만이 포커스를 가질 수 있습니다.</li>
-</ul>
-<h4 id=".EB.9D.BC.EB.B2.A8.EC.9D.B4_.ED.8F.AC.EC.BB.A4.EC.8A.A4.EB.A5.BC_.EA.B0.80.EC.A7.88_.EC.88.98_.EC.9E.88.EA.B2.8C_.EB.A7.8C.EB.93.A4.EA.B8.B0" name=".EB.9D.BC.EB.B2.A8.EC.9D.B4_.ED.8F.AC.EC.BB.A4.EC.8A.A4.EB.A5.BC_.EA.B0.80.EC.A7.88_.EC.88.98_.EC.9E.88.EA.B2.8C_.EB.A7.8C.EB.93.A4.EA.B8.B0">라벨이 포커스를 가질 수 있게 만들기</h4>
-<p>만일 <a href="ko/XUL_Tutorial/Introduction_to_XBL">사용자 정의 요소(XBL)</a>를 만들어 봤다면, 어떤 요소가 포커스를 가질 수 있는지의 여부를 수정할 필요가 있었을 것입니다. 이를 위해, <code>-moz-user-focus</code>라는 특별한 스타일 속성을 사용할 수 있습니다. 이 속성은 요소가 포커스를 받을 수 있는지의 여부를 제어합니다. 예를 들어, 다음 예제와 같이 라벨이 포커스를 가질 수 있게도 할 수 있습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_4"><a id="%EC%98%88%EC%A0%9C_4"></a><strong>예제 4</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_4.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_4.xul">View</a></p>
-<pre>&lt;label id="focused" style="-moz-user-focus: normal;"
- onkeypress="alert('Label Focused');" value="Focus Me"/&gt;
-</pre>
-<p>해당 스타일 속성이 <code>normal</code>로 지정되었습니다. 여러분은 요소가 포커스를 가질 수 없게 하기 위해 <code>ignore</code>값을 지정할 수도 있습니다. 이 값은 요소를 사용 불가능한 상태로 만들기 위해 사용해서는 안되며 대신 <code>disabled</code> 속성을 사용하는 것이 좋습니다. 왜냐하면 이 속성이 이런 목적을 위해 존재하는 것이기 때문입니다. 일단 예제의 라벨에 포커스가 주어지면 키 입력에 응답할 수 있습니다. 원래 라벨은 일반적으로 포커스를 받지 않도록 되어 있기 때문에 포커스가 주어져도 어떤 표시도 나타나지는 않습니다.</p>
-<h4 id=".ED.8F.AC.EC.BB.A4.EC.8A.A4.EB.A5.BC_.EB.B0.94.EA.BE.B8.EA.B8.B0" name=".ED.8F.AC.EC.BB.A4.EC.8A.A4.EB.A5.BC_.EB.B0.94.EA.BE.B8.EA.B8.B0">포커스를 바꾸기</h4>
-<p>현재 포커스를 가진 요소를 바꾸는 몇 가지 방법이 있습니다. 가장 간단한 방법은 포커스를 지정하고자 하는 XUL 요소의 <code><a href="ko/DOM/element.focus">focus</a></code> 메소드를 호출하는 것입니다. 요소에서 포커스를 제거하려면 <code><a href="ko/DOM/element.blur">blur</a></code> 메소드를 호출하면 됩니다. 다음은 이러한 내용의 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_5"><a id="%EC%98%88%EC%A0%9C_5"></a><strong>예제 5</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_5.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_focus_5.xul">View</a></p>
-<pre>&lt;textbox id="addr"/&gt;
-
-&lt;button label="Focus" oncommand="document.getElementById('addr').focus()"/&gt;
-</pre>
-<p>또는 명령 발송자 객체의 <code>advanceFocus</code>나 <code>rewindFocus</code> 메소드를 호출할 수도 있습니다. 이 메소드들은 포커스를 순서대로 다음 요소나 이전 요소로 옮깁니다. 이것은 사용자가 Tab이나 Shift+Tab 키를 눌렀을때와 동일한 것입니다.</p>
-<p>텍스트 상자는 포커스를 받을때마다 <code>focused</code>라는 특별한 속성이 추가됩니다. 스크립트나 스타일시트에서 텍스트 상자가 포커스를 가지고 있는지 검사하려면 이 속성이 존재하는지 검사하면 됩니다. 만일 텍스트 상자가 포커스를 가지고 있다면 이 속성은 <code>true</code>값을 가지고, 포커스가 없다면 속성이 존재하지 않습니다.</p>
-<p>여러분이 포커스를 다음 요소로 옮기고 싶다고 가정해 봅시다. 사용자는 보통 Tab 키를 눌러 포커스를 옮깁니다. XUL 브라우저에서는 다음과 같이 아무데서나 할 수 있습니다.</p>
-<pre> document.commandDispatcher.advanceFocus();
-</pre>
-<p>사실 <code>commandDispatcher</code>는 <a href="ko/Interfaces">nsIDOMXULCommandDispatcher interface</a>를 구현한 것입니다. 포커스를 처리하는 방법과 관련해 다른 많은 함수들이 존재합니다.</p>
-<h4 id=".ED.94.8C.EB.9E.AB.ED.8F.BC.EC.97.90_.EB.94.B0.EB.A5.B8_.EB.8F.99.EC.9E.91" name=".ED.94.8C.EB.9E.AB.ED.8F.BC.EC.97.90_.EB.94.B0.EB.A5.B8_.EB.8F.99.EC.9E.91">플랫폼에 따른 동작</h4>
-<dl>
- <dt>
- Mac OS X</dt>
- <dd>
- "Full Keyboard Access" (FKA)라는 설정이 존재합니다. XUL은 이 값에 충실하다는 것을 알아두세요. 이것은 FKA 설정이 off로 되어 있으면 텍스트 상자와 리스트/트리만이 키보드 또는 <code>focus()</code>를 사용한 코드로 포커스를 가질 수 있습니다.</dd>
-</dl>
-<h3 id=".ED.85.8D.EC.8A.A4.ED.8A.B8_.EB.B3.80.EA.B2.BD_.EC.B2.98.EB.A6.AC" name=".ED.85.8D.EC.8A.A4.ED.8A.B8_.EB.B3.80.EA.B2.BD_.EC.B2.98.EB.A6.AC">텍스트 변경 처리</h3>
-<p>사용자가 텍스트 상자의 값을 변경할 때와 관련된 2가지 이벤트가 있습니다. 당연히 이 이벤트들은 포커스를 가진 텍스트 상자로만 전송됩니다.</p>
-<ul>
- <li>input 이벤트는 텍스트가 수정될때마다 발생합니다. 새로운 값은 기존 값과 틀릴것입니다. 여러분은 key 이벤트 대신 이 이벤트를 사용하려고 할텐데, Shift 키와 같은 몇가지 키들은 값을 변경하지 않기 때문입니다. 또한 input 이벤트는 문자키가 눌러졌지만 텍스트상자의 최대 입력 가능 문자의 개수를 초과한 경우에는 발생하지 않습니다.</li>
- <li>change 이벤트는 필드가 변경될때만 발생한다는 점에서 input 이벤트와 비슷합니다. 그러나 이 이벤트는 텍스트 상자가 포커스를 잃을때만 발생하며, 따라서 한번의 변경만이 존재하게 됩니다.</li>
-</ul>
-<h3 id=".ED.85.8D.EC.8A.A4.ED.8A.B8_.EC.84.A0.ED.83.9D" name=".ED.85.8D.EC.8A.A4.ED.8A.B8_.EC.84.A0.ED.83.9D">텍스트 선택</h3>
-<p>텍스트 상자로 작업할 경우 입력된 전체 텍스트가 아닌 사용자가 선택한 것만을 가져오길 원할때가 있을 것입니다. 또는 현재 선택한 텍스트를 변경하고자 할 때도 있을 것입니다.</p>
-<p>XUL 텍스트상자는 선택을 가져오거나 수정하는 방법을 제공합니다. 가장 단순한 것은 텍스트상자에 있는 모든 텍스트를 선택하는 것입니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/textbox" title="textbox">textbox</a></code></code>의 <code><span id="m-select"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/select">select</a></code></span></code> 메소드를 이용해서 이를 수행합니다.</p>
-<pre>tbox.select();
-</pre>
-<p>그러나 텍스트의 일부분만 선택하고자 할 수도 있습니다. 이를 위해서는 <code><span id="m-setSelectionRange"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/setSelectionRange">setSelectionRange</a></code></span></code> 함수를 사용할 수 있습니다. 이 함수는 두개의 인자를 가지며, 첫번째 인자는 시작 문자의 위치이고 두번째는 선택하고자 하는 텍스트의 마지막 문자 위치입니다. 이 값들은 0 기반으로 첫번째 문자는 0이고 두번째는 1과 같이 진행됩니다.</p>
-<pre>tbox.setSelectionRange(4,8);
-</pre>
-<p>예제는 다섯번째 부터 여덟번째 문자까지를 선택합니다. 만일 필드에 여섯개의 문자만 입력되어 있다면, 다섯번째와 여섯번째 문자만 선택되고 오류가 발생하지는 않습니다.</p>
-<p>만일 두 인자에 동일한 값을 사용하면, 선택의 시작과 끝이 같이 위치가 됩니다. 이는 텍스트상자에서 커서의 위치를 변하게 할 뿐입니다. 예를 들어 아래는 커서를 텍스트의 처음으로 이동하게 하기 위해 사용될 수 있습니다.</p>
-<pre>tbox.setSelectionRange(0,0);
-</pre>
-<p>여러분은 또한 <code><code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/selectionStart">selectionStart</a></span></code></code>와 <code><code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/selectionEnd">selectionEnd</a></span></code></code> 속성을 이용해서 현재 선택된 위치를 가져올 수 있습니다. 이 속성들은 현재 선택된 것의 시작과 끝 위치를 나타냅니다. 만일 둘다 동일한 값으로 설정되어 있으면 아무런 텍스트도 선택되어 있지 않다는 것이며, 커서는 해당 위치로 이동합니다. 만일 시작과 끝 위치를 안다면, 전체 텍스트 중 일부 문자열을 뽑아낼 수 있습니다.</p>
-<p>텍스트 상자의 내용을 수정하거나 가져오려면 <code><code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/value">value</a></span></code></code> 속성을 사용하면 됩니다.</p>
-<p>텍스트 상자의 또 한가지 유용한 속성은 <code><code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/textLength">textLength</a></span></code></code>로 입력된 문자의 개수를 담고 있습니다.</p>
-<p>다음 단원에서는 <a href="ko/XUL_Tutorial/Commands">commands</a>를 사용하는 방법에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Keyboard_Shortcuts" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Commands">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/grids/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/grids/index.html
deleted file mode 100644
index 473c269406..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/grids/index.html
+++ /dev/null
@@ -1,156 +0,0 @@
----
-title: Grids
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Grids
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Grids
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Tabboxes" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Content_Panels">다음 »</a></p>
-</div><p></p>
-<p>XUL에는 표 형식의 격자를 만들기 위한 요소들이 있습니다.</p>
-<h3 id="XUL_.ED.91.9C_.ED.98.95.EC.8B.9D.EC.9D.98_.EB.A0.88.EC.9D.B4.EC.95.84.EC.9B.83" name="XUL_.ED.91.9C_.ED.98.95.EC.8B.9D.EC.9D.98_.EB.A0.88.EC.9D.B4.EC.95.84.EC.9B.83">XUL 표 형식의 레이아웃</h3>
-<p>XUL에는 표와 같은 방식으로 배치하기 위해 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/grid" title="grid">grid</a></code></code> 및 관련 요소들을 사용합니다. 이것은 HTML의 <code>table</code> 태그와 약간 비슷합니다. Grid는 자체만으로는 아무것도 출력되지 않으며, 단지 행과 열을 가진 표 형식으로 요소들을 배치시키기 위해서만 사용합니다.</p>
-<p>Grid에는 table처럼 행으로 정렬되는 요소가 있습니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/grid" title="grid">grid</a></code></code> 내부에는 사용되는 행과 열을 선언합니다. HTML의 table 처럼, 행 안에 라벨이나 버튼과 같은 내용을 넣을 수 있습니다. 그러나 grid는 행 또는 열 기반의 구조로 작성할 수 있어, 행이나 열 아무쪽에 내용을 포함할 수 있습니다. Table과 같이 행 기반으로 사용하는 것이 가장 일반적입니다. 행 기반으로 사용하더라도 격자 내 열의 크기와 모양을 설정하기 위해 열을 사용할 수 있습니다. 다른 방법으로는 열에 내용을 넣고, 모양은 행에서 설정할 수도 있습니다.</p>
-<h4 id="Grid_.EC.84.A0.EC.96.B8.ED.95.98.EA.B8.B0" name="Grid_.EC.84.A0.EC.96.B8.ED.95.98.EA.B8.B0">Grid 선언하기</h4>
-<p>행 묶음을 선언하기 위해서는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/rows" title="rows">rows</a></code></code> 태그를 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/grid" title="grid">grid</a></code></code>의 자식 요소로 사용해야 합니다. 이 요소 내부에는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/row" title="row">row</a></code></code> 요소를 추가해야 하며, 이는 각 행을 표현하기 위해 사용합니다. 행 내부에 넣고자 하는 내용은 row 요소 내에 두면 됩니다.</p>
-<p>비슷하게 열 묶음은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/columns" title="columns">columns</a></code></code> 요소로 선언하고, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/grid" title="grid">grid</a></code></code>를 자식요소로 두어야 합니다. 이 요소 내에는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/column" title="column">column</a></code></code> 요소가 들어가게 되고, 각 요소는 격자 내의 각 열에 해당하게 됩니다.</p>
-<p>예제를 통해 여태까지의 내용을 쉽게 이해하실 수 있을 것입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_1.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:grids1.png"></div>
-<pre>&lt;grid flex="1"&gt;
-
- &lt;columns&gt;
- &lt;column flex="2"/&gt;
- &lt;column flex="1"/&gt;
- &lt;/columns&gt;
-
- &lt;rows&gt;
- &lt;row&gt;
- &lt;button label="Rabbit"/&gt;
- &lt;button label="Elephant"/&gt;
- &lt;/row&gt;
- &lt;row&gt;
- &lt;button label="Koala"/&gt;
- &lt;button label="Gorilla"/&gt;
- &lt;/row&gt;
- &lt;/rows&gt;
-
-&lt;/grid&gt;
-</pre>
-<p>예제에는 격자에 2개의 행과 열이 추가되어 있습니다. 각각의 열은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/column" title="column">column</a></code></code> 태그로 선언되어 있고 <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code> 속성이 주어져 있습니다. 각 행은 두 개의 버튼 요소를 포함하고 있습니다. 각각의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/row" title="row">row</a></code></code> 요소에 있는 첫 번째 버튼은 격자의 첫 번째 열에 위치하고 두 번째 버튼은 두 번째 열에 위치합니다. XUL의 grid에서는 방(cell)을 정의하는 요소가 존재하지 않습니다. 이는 HTML의 <code>td</code>와 같은 요소가 없다는 것을 의미합니다. 대신 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/row" title="row">row</a></code></code> 요소에 내용을 직접 넣으면 됩니다.</p>
-<h4 id=".EC.97.AC.EB.9F.AC.EA.B0.9C.EC.9D.98_.EC.9A.94.EC.86.8C.EB.A5.BC_.EA.B0.80.EC.A7.80.EB.8A.94_.EA.B2.A9.EC.9E.90" name=".EC.97.AC.EB.9F.AC.EA.B0.9C.EC.9D.98_.EC.9A.94.EC.86.8C.EB.A5.BC_.EA.B0.80.EC.A7.80.EB.8A.94_.EA.B2.A9.EC.9E.90">여러개의 요소를 가지는 격자</h4>
-<p>당연히, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/button" title="button">button</a></code></code> 요소의 위치에는 어떤 요소든 사용할 수 있습니다. 만일 특정 방에 여러개의 요소들을 넣고자 한다면, 중첩된 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/hbox" title="hbox">hbox</a></code></code>나 다른 상자 요소를 사용하면 됩니다. <code>hbox</code>는 단일 요소지만 내부에 원하는 만큼의 요소를 넣을 수 있습니다. 다음은 이러한 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_2.xul">View</a></p>
-<pre>&lt;grid flex="1"&gt;
-
- &lt;columns&gt;
- &lt;column/&gt;
- &lt;column flex="1"/&gt;
- &lt;/columns&gt;
-
- &lt;rows&gt;
- &lt;row&gt;
- &lt;label control="doctitle" value="Document Title:"/&gt;
- &lt;textbox id="doctitle" flex="1"/&gt;
- &lt;/row&gt;
- &lt;row&gt;
- &lt;label control="docpath" value="Path:"/&gt;
- &lt;hbox flex="1"&gt;
- &lt;textbox id="docpath" flex="1"/&gt;
- &lt;button label="Browse..."/&gt;
- &lt;/hbox&gt;
- &lt;/row&gt;
- &lt;/rows&gt;
-
-&lt;/grid&gt;
-</pre>
-<div class="float-right">
- <img alt="Image:grids2.png"></div>
-<p>그림에서 라벨 요소를 포함하는 첫 번째 열에는 각 행별로 한개 요소씩만 있는 것을 볼 수 있습니다. 두 번째 열, 두 번째 행은 상자를 포함하며, 상자에는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/textbox" title="textbox">textbox</a></code></code>와 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/button" title="button">button</a></code></code> 두 가지 요소를 포함하고 있습니다. 여러분은 하나의 방안에 중첩된 상자나 다른 격자도 추가할 수 있습니다.</p>
-<p>예제에서 창의 크기를 조절하면, 다른 요소들은 그대로이지만 글상자들의 크기만 변하는 것을 볼 수 있습니다. 이것은 글상자들과 두 번째 column 요소에 <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code> 속성이 설정되어 있기 때문입니다. 라벨은 크기를 조절할 필요가 없기 때문에, 첫 번째 열에는 flex 속성을 지정할 필요가 없습니다.</p>
-<p>열의 초기 넓이는 열에 있는 요소들 중 가장 큰 것에 의해 결정됩니다. 마찬가지로 행의 높이는 행에 있는 요소들의 크기에 의해 결정됩니다. 여러분은 격자의 크기를 좀 더 자세히 정의하기 위해 <code><code id="a-minwidth"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/minwidth">minwidth</a></code></code>와 <code><code id="a-maxwidth"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/maxwidth">maxwidth</a></code></code>, 그리고 관련 속성을 사용할 수 있습니다.</p>
-<h4 id=".EC.97.B4_.EA.B8.B0.EB.B0.98_.EA.B5.AC.EC.A1.B0" name=".EC.97.B4_.EA.B8.B0.EB.B0.98_.EA.B5.AC.EC.A1.B0">열 기반 구조</h4>
-<p>행 대신에 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/column" title="column">column</a></code></code> 요소 내에 요소를 넣을 수 있습니다. 이렇게 할 경우, rows는 단지 행의 개수를 지정하기 위해서만 사용됩니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_3.xul">View</a></p>
-<pre>&lt;grid&gt;
- &lt;rows&gt;
- &lt;row/&gt;
- &lt;row/&gt;
- &lt;row/&gt;
- &lt;/rows&gt;
-
- &lt;columns&gt;
- &lt;column&gt;
- &lt;label control="first" value="First Name:"/&gt;
- &lt;label control="middle" value="Middle Name:"/&gt;
- &lt;label control="last" value="Last Name:"/&gt;
- &lt;/column&gt;
- &lt;column&gt;
- &lt;textbox id="first"/&gt;
- &lt;textbox id="middle"/&gt;
- &lt;textbox id="last"/&gt;
- &lt;/column&gt;
- &lt;/columns&gt;
-
-&lt;/grid&gt;
-</pre>
-<p>이 격자는 3개의 행과 2개의 열을 가집니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/row" title="row">row</a></code></code> 요소는 행이 필요로하는 공간을 확보하기 위해서 사용한 것입니다. 여러분은 행이 유연하게 동작하도록 <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code> 속성을 추가할 수 있습니다. 내용은 각 열에 위치합니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/column" title="column">column</a></code></code> 요소 내에 있는 첫 번째 요소는 첫 번째 행에, 그리고 두 번째 요소는 두 번째 행에 그리고 세 번째 요소는 세 번째 행에 위치합니다.</p>
-<p>만일 column과 row 양쪽 모두에 내용을 넣는다면, 동일한 위치에 있는 내용들은 중첩되어 출력됩니다. 이렇게 하면 격자 내에 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/stack" title="stack">stack</a></code></code> 요소를 포함하는 것처럼 보입니다.</p>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/grid" title="grid">grid</a></code></code> 태그 내 요소들의 순서는 어떤 것이 위에 출력되고 어떤 것이 아래에 놓이는지를 결정합니다. 만일 <code>rows</code> 요소가 <code>columns</code> 요소 다음에 위치하면, rows 안에 있는 내용이 상위에 표시되고, <code>columns</code> 요소가 <code>rows</code> 요소 다음에 오면, columns 내의 내용이 상위에 표시됩니다. 마찬가지로, 마우스 버튼과 키누름과 같은 이벤트는 맨 위에 있는 요소들에게만 전달됩니다. 이런 이유로 위의 예제에서는 행이 먼저 오고 다음에 열이 선언되었습니다. 만약 columns가 먼저 위치했다면, rows가 이벤트를 잡아채기 때문에 입력란에 아무것도 입력할 수 없게 됩니다.</p>
-<h4 id=".EA.B2.A9.EC.9E.90.EC.9D.98_.EC.9C.A0.EC.97.B0.EC.84.B1" name=".EA.B2.A9.EC.9E.90.EC.9D.98_.EC.9C.A0.EC.97.B0.EC.84.B1">격자의 유연성</h4>
-<p>중첩된 상자 대신 격자를 사용하면 수직, 수평 모두 유연한 공간을 만들 수 있는 장점이 있습니다. 이렇게 하기 위해서는 행과 열 모두에 <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code> 속성을 설정하면 됩니다. 다음은 이러한 효과를 보여주는 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_4"><a id="%EC%98%88%EC%A0%9C_4"></a><strong>예제 4</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_4.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_4.xul">View</a></p>
-<pre>&lt;grid flex="1"&gt;
- &lt;columns&gt;
- &lt;column flex="5"/&gt;
- &lt;column/&gt;
- &lt;column/&gt;
- &lt;/columns&gt;
- &lt;rows&gt;
- &lt;row flex="10"&gt;
- &lt;button label="Cherry"/&gt;
- &lt;button label="Lemon"/&gt;
- &lt;button label="Grape"/&gt;
- &lt;/row&gt;
- &lt;row flex="1"&gt;
- &lt;button label="Strawberry"/&gt;
- &lt;button label="Raspberry"/&gt;
- &lt;button label="Peach"/&gt;
- &lt;/row&gt;
- &lt;/rows&gt;
-&lt;/grid&gt;
-</pre>
-<p>예제에서 첫 번째 열과 두 개의 행이 유연하게 작성되었습니다. 이것은 첫 번째 열에 있는 모든 방이 가로 방향의 유연성을 가진다는 것을 의미합니다. 또한, 모든 행이 유연하도록 설정되어 모든 방은 세로 방향의 유연성을 가집니다. 첫 번째 행과 열에 해당하는 방(Cherry 버튼)은 가로 방향으로는 5만큼, 세로 방향으로는 10의 유연성을 가지며, 그 다음 방(Lemon 버튼)은 세로 방향으로만 유동적입니다.</p>
-<p>또한 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/grid" title="grid">grid</a></code></code> 요소에도 <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code> 속성이 설정되어 있기 때문에 전체 격자가 유연하며, 이렇지 않을 경우는 한 방향으로만 늘어나게 됩니다.</p>
-<h3 id=".EC.97.B4_.EA.B1.B8.EC.B9.A8.28column_spanning.29" name=".EC.97.B4_.EA.B1.B8.EC.B9.A8.28column_spanning.29">열 걸침(column spanning)</h3>
-<p>격자에는 몇 개의 행 또는 열을 병합한 방을 만들 수 있는 방법이 없습니다(<a> Discussion</a>에서 동일한 효과를 내기 위한 여러가지 방법을 볼 수 있습니다). 그러나 격자의 전체 높이나 너비 만큼에 걸치는 행이나 열을 만들 수는 있습니다. 이렇게 하기 위해서는 <code>row</code> 요소에 내용을 넣지 말고 그냥 <code>rows</code>요소에 내용을 넣으면 됩니다. 예를 들어 상자 타입의 요소를 사용할 수 있으며, 여러개의 요소들을 포함시키려면 상자 내에 다른 요소들을 넣으면 됩니다. 다음은 이러한 내용에 대한 간단한 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_5"><a id="%EC%98%88%EC%A0%9C_5"></a><strong>예제 5</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_5.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_grids_5.xul">View</a></p>
-<pre>&lt;grid&gt;
- &lt;columns&gt;
- &lt;column flex="1"/&gt;
- &lt;column flex="1"/&gt;
- &lt;/columns&gt;
-
- &lt;rows&gt;
- &lt;row&gt;
- &lt;label value="Northwest"/&gt;
- &lt;label value="Northeast"/&gt;
- &lt;/row&gt;
- &lt;button label="Equator"/&gt;
- &lt;row&gt;
- &lt;label value="Southwest"/&gt;
- &lt;label value="Southeast"/&gt;
- &lt;/row&gt;
- &lt;/rows&gt;
-&lt;/grid&gt;
-</pre>
-<p>버튼은 하나의 행에 포함되지 않아서 격자 전체 너비에 맞게 늘어날 것입니다. 여러분은 동일한 기법을 열에도 적용할 수 있습니다. 이 경우에는 격자의 전체 높이에 맞게 늘어나게 됩니다. 또한 만일 원한다면 행과 열 모두에도 사용할 수 있습니다.</p>
-<p>다음에는 <a href="ko/XUL_Tutorial/Content_Panels">내용 패널</a>을 추가하는 것에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Tabboxes" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Content_Panels">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/groupboxes/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/groupboxes/index.html
deleted file mode 100644
index 02a3067646..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/groupboxes/index.html
+++ /dev/null
@@ -1,74 +0,0 @@
----
-title: Groupboxes
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Groupboxes
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Groupboxes
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Box_Model_Details" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Adding_More_Elements">다음 »</a></p>
-</div><p></p>
-<p>이 단원에서는 요소들을 그룹에 포함하는 방법에 대해 알아 보겠습니다.</p>
-<h3 id=".EA.B7.B8.EB.A3.B9.EC.83.81.EC.9E.90" name=".EA.B7.B8.EB.A3.B9.EC.83.81.EC.9E.90">그룹상자</h3>
-<p>HTML에서는 여러 가지 요소를 그룹핑하기 위한 목적으로 사용할 수 있는 <code>fieldset</code> 요소를 제공합니다. 이 때 요소들을 둘러 싸는 테두리가 생기기 때문에 각 요소가 서로 연관되어 있음을 알 수 있게 됩니다. 체크박스의 그룹이 하나의 예가 될 수 있습니다. XUL은 비슷한 기능을 위해 사용될 수 있는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/groupbox" title="groupbox">groupbox</a></code></code> 요소를 제공합니다.</p>
-<p>이름에서 알 수 있듯이 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/groupbox" title="groupbox">groupbox</a></code></code>는 상자의 한 형태입니다. 따라서 groupbox 내부의 요소들은 상자에 적용되는 규칙에 따라 정렬됩니다. 하지만 groupbox와 일반 상자 사이에는 다음의 두 가지 차이점이 있습니다.</p>
-<ul>
- <li>기본적으로 groupbox에는 둥근 사각형 테두리가 그려지며, CSS를 이용해서 이를 변경할 수 있습니다.</li>
- <li>groupbox는 테두리의 위쪽에 제목(caption)을 넣을 수 있습니다.</li>
-</ul>
-<p>groupbox도 상자의 한 유형이기 때문에 상자에서 사용하는 <code><code id="a-orient"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code></code>나 <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code>같은 속성을 사용할 수 있습니다. groupbox에는 어떤 요소들도 넣을 수 있지만, 보통 서로 관련된 요소들만 넣습니다.</p>
-<p>groupbox의 위쪽 제목은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/caption" title="caption">caption</a></code></code> 요소를 사용해서 생성할 수 있습니다. caption은 HTML의 <code>legend</code> 요소와 비슷한 기능을 합니다. 제목을 넣을 때는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/caption" title="caption">caption</a></code></code>을 첫 번째 자녀 요소로 넣어 주면 됩니다.</p>
-<h4 id=".EA.B0.84.EB.8B.A8.ED.95.9C_groupbox_.EC.98.88.EC.A0.9C" name=".EA.B0.84.EB.8B.A8.ED.95.9C_groupbox_.EC.98.88.EC.A0.9C">간단한 groupbox 예제</h4>
-<p>아래는 간단한 groupbox 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_titledbox_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_titledbox_1.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:titledbox1.png"></div>
-<pre>&lt;groupbox&gt;
- &lt;caption label="Answer"/&gt;
- &lt;description value="Banana"/&gt;
- &lt;description value="Tangerine"/&gt;
- &lt;description value="Phone Booth"/&gt;
- &lt;description value="Kiwi"/&gt;
-&lt;/groupbox&gt;
-</pre>
-<p>이 예제를 실행하면 네 개의 문자열을 둘러 싸는
- <i>
- Answer</i>
- 라는 제목을 가진 상자가 표시됩니다. groupbox의 정렬 속성은 세로 정렬이 기본이기 때문에 문자열이 세로로 차곡차곡 쌓이게 됩니다.</p>
-<h4 id=".EC.A2.80_.EB.8D.94_.EB.B3.B5.EC.9E.A1.ED.95.9C_.EC.A0.9C.EB.AA.A9" name=".EC.A2.80_.EB.8D.94_.EB.B3.B5.EC.9E.A1.ED.95.9C_.EC.A0.9C.EB.AA.A9">좀 더 복잡한 제목</h4>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/caption" title="caption">caption</a></code></code> 요소에 자식 요소를 넣으면 더 다양한 기능을 구현할 수 있습니다. 예를 들어 모질라의 글꼴 설정 판넬은 펼침 메뉴(drop-down menu)를 제목으로 사용하고 있습니다. 자식 요소는 무엇이든 쓸 수 있지만 보통 체크박스나 펼침 메뉴가 사용됩니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_titledbox_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_titledbox_2.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:groupbox2.png"></div>
-<pre>&lt;groupbox flex="1"&gt;
- &lt;caption&gt;
- &lt;checkbox label="Enable Backups"/&gt;
- &lt;/caption&gt;
- &lt;hbox&gt;
- &lt;label control="dir" value="Directory:"/&gt;
- &lt;textbox id="dir" flex="1"/&gt;
- &lt;/hbox&gt;
- &lt;checkbox label="Compress archived files"/&gt;
-&lt;/groupbox&gt;
-</pre>
-<p>이 예제에서는 <a href="ko/XUL_Tutorial/Input_Controls#Checkboxes_and_Radio_Buttons">checkbox</a>가 제목으로 사용되었습니다. 스크립트를 사용하면 <code><a href="/ko/docs/Mozilla/Tech/XUL/checkbox" title="checkbox">checkbox</a></code>의 선택 여부에 따라 groupbox의 내용을 사용 가능/불가로 전환할 수 있습니다. 이 groupbox는 수평 <code><a href="/ko/docs/Mozilla/Tech/XUL/box" title="box">box</a></code> 하나를 갖고 있는데 그 안에는 <code><a href="/ko/docs/Mozilla/Tech/XUL/label" title="label">label</a></code>과 <code><a href="/ko/docs/Mozilla/Tech/XUL/textbox" title="textbox">textbox</a></code>가 포함되어 있습니다. 글상자와 groupbox 둘 다 flex 속성이 적용되었기 때문에 창이 늘어나면 글상자도 함께 늘어납니다. 그 다음의 체크박스는 글상자의 아래에 표시되는데 이는 groupbox의 정렬 방식이 세로 정렬이기 때문입니다. 다음 단원에서는 파일 찾기 대화창에 groupbox를 넣어 보도록 하겠습니다.</p>
-<h3 id=".EB.9D.BC.EB.94.94.EC.98.A4_.EA.B7.B8.EB.A3.B9" name=".EB.9D.BC.EB.94.94.EC.98.A4_.EA.B7.B8.EB.A3.B9">라디오 그룹</h3>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/radiogroup" title="radiogroup">radiogroup</a></code></code> 요소를 사용하면 여러 개의 라디오 버튼을 하나로 묶을 수 있습니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/radiogroup" title="radiogroup">radiogroup</a></code></code>도 상자의 일종입니다. radiogroup은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/radio" title="radio">radio</a></code></code> 버튼을 다룰 수 있는 특수 기능 외에는 다른 상자와 다를 게 없기 때문에 안에 어떠한 요소를 넣어도 상관 없습니다.</p>
-<p>radiogroup 안에 있는 라디오 버튼들은 그것들이 중첩된 상자내에 있더라도 모두 하나의 그룹이 됩니다. 이는 아래의 예제처럼 라디오 버튼으로 이루어진 구조에 다른 요소를 넣을 때 유용하게 사용될 수 있습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_titledbox_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_titledbox_3.xul">View</a></p>
-<pre>&lt;radiogroup&gt;
- &lt;radio id="no" value="no" label="No Number"/&gt;
- &lt;radio id="random" value="random" label="Random Number"/&gt;
- &lt;hbox&gt;
- &lt;radio id="specify" value="specify" label="Specify Number:"/&gt;
- &lt;textbox id="specificnumber"/&gt;
- &lt;/hbox&gt;
-&lt;/radiogroup&gt;
-</pre>
-<p>한 가지 유의할 점은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/radiogroup" title="radiogroup">radiogroup</a></code></code> 요소는 테두리가 생기지 않는다는 것입니다. 만약 테두리와 제목이 필요하다면 radiogroup을 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/groupbox" title="groupbox">groupbox</a></code></code>에 포함시켜 사용하시면 됩니다.</p>
-<p>다음에는, 지금까지 배워온 내용을 이용해서 <a href="ko/XUL_Tutorial/Adding_More_Elements">몇 가지 요소들을 파일 찾기 대화창에 추가해</a> 보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Box_Model_Details" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Adding_More_Elements">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/index.html
deleted file mode 100644
index b069c217a0..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/index.html
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: XUL Tutorial
-slug: Mozilla/Tech/XUL/XUL_Tutorial
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial
----
-<p>이 튜토리얼은 XML 유저 인터페이스 언어(XML User-Interface Language)인 XUL 을 설명합니다. 이 언어는 모질라 응용프로그램(Application)을 만드는데 사용되며 특히 유저 인터페이스를 기술하는데 사용됩니다.
-</p>
-<div class="note">
-<p>본 XUL 튜토리얼 한국어 번역본은 <a class="external" href="http://softwant.com/cgi-bin/kimsboard/bbs.php3?table=xul">김재용, 김고명</a>님에 의해 최초로 작성되었으며 그는 고맙게도 본 튜토리얼을 <a>MDC 한국 프로젝트</a>의 일부로 사용할 수 있도록 허락해 주었습니다. 두 분의 최초 한국 번역본은 XULPlanet의 Neil Deakin 허락하에 번역되었습니다.
-</p>
-</div>
-<h5 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94"> 개요 </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Introduction">개요</a>
-</li><li> <a href="ko/XUL_Tutorial/XUL_Structure">XUL의 구조</a>
-</li><li> <a href="ko/XUL_Tutorial/The_Chrome_URL">The Chrome URL</a>
-</li><li> <a href="ko/XUL_Tutorial/Manifest_Files">Manifest Files</a>
-</li></ul>
-<h5 id=".EB.8B.A8.EC.88.9C_.EC.9A.94.EC.86.8C.EB.93.A4.28Simple_Elements.29" name=".EB.8B.A8.EC.88.9C_.EC.9A.94.EC.86.8C.EB.93.A4.28Simple_Elements.29"> 단순 요소들(Simple Elements) </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Creating_a_Window">윈도우 만들기</a>
-</li><li> <a href="ko/XUL_Tutorial/Adding_Buttons">버튼 추가하기</a>
-</li><li> <a href="ko/XUL_Tutorial/Adding_Labels_and_Images">레이블과 이미지 추가하기</a>
-</li><li> <a href="ko/XUL_Tutorial/Input_Controls">입력 컨트롤</a>
-</li><li> <a href="ko/XUL_Tutorial/List_Controls">리스트 컨트롤</a>
-</li><li> <a href="ko/XUL_Tutorial/Progress_Meters">진행 지시자(Progress Meters)</a>
-</li><li> <a href="ko/XUL_Tutorial/Adding_HTML_Elements">HTML 요소 추가하기</a>
-</li><li> <a href="ko/XUL_Tutorial/Using_Spacers">여백(Spacer) 사용하기</a>
-</li><li> <a href="ko/XUL_Tutorial/More_Button_Features">그외의 버튼 기능들</a>
-</li></ul>
-<h5 id=".EB.B0.95.EC.8A.A4_.EB.AA.A8.EB.8D.B8.28The_Box_Model.29" name=".EB.B0.95.EC.8A.A4_.EB.AA.A8.EB.8D.B8.28The_Box_Model.29"> 박스 모델(The Box Model) </h5>
-<ul><li> <a href="ko/XUL_Tutorial/The_Box_Model">박스 모델</a>
-</li><li> <a href="ko/XUL_Tutorial/Element_Positioning">Element Positioning</a>
-</li><li> <a href="ko/XUL_Tutorial/Box_Model_Details">박스 모델의 세부항목</a>
-</li><li> <a href="ko/XUL_Tutorial/Groupboxes">그룹 박스(Groupboxes)</a>
-</li><li> <a href="ko/XUL_Tutorial/Adding_More_Elements">그외의 요소들 추가하기</a>
-</li></ul>
-<h5 id=".EB.8D.94.EC.9A.B1_.EB.8B.A4.EC.96.91.ED.95.9C_.EB.A0.88.EC.9D.B4.EC.95.84.EC.9B.83_.EC.9A.94.EC.86.8C.EB.93.A4.28More_Layout_Elements.29" name=".EB.8D.94.EC.9A.B1_.EB.8B.A4.EC.96.91.ED.95.9C_.EB.A0.88.EC.9D.B4.EC.95.84.EC.9B.83_.EC.9A.94.EC.86.8C.EB.93.A4.28More_Layout_Elements.29"> 더욱 다양한 레이아웃 요소들(More Layout Elements) </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Stacks_and_Decks">스택과 덱(Stacks and Decks)</a>
-</li><li> <a href="ko/XUL_Tutorial/Stack_Positioning">스택 포지셔닝(Stack Positioning)</a>
-</li><li> <a href="ko/XUL_Tutorial/Tabboxes">탭박스(Tabboxes)</a>
-</li><li> <a href="ko/XUL_Tutorial/Grids">그리드(Grids)</a>
-</li><li> <a href="ko/XUL_Tutorial/Content_Panels">컨텐츠 패널(Content Panels)</a>
-</li><li> <a href="ko/XUL_Tutorial/Splitters">스플릿터(Splitters)</a>
-</li><li> <a href="ko/XUL_Tutorial/Scroll_Bars">스크롤바(Scroll Bars)</a>
-</li></ul>
-<h5 id=".ED.88.B4.EB.B0.94.EC.99.80_.EB.A9.94.EB.89.B4.28Toolbars_and_Menus.29" name=".ED.88.B4.EB.B0.94.EC.99.80_.EB.A9.94.EB.89.B4.28Toolbars_and_Menus.29"> 툴바와 메뉴(Toolbars and Menus) </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Toolbars">툴바(Toolbars)</a>
-</li><li> <a href="ko/XUL_Tutorial/Simple_Menu_Bars">단순 메뉴바(Simple Menu Bars)</a>
-</li><li> <a href="ko/XUL_Tutorial/More_Menu_Features">다양한 메뉴 기능들</a>
-</li><li> <a href="ko/XUL_Tutorial/Popup_Menus">팝업 메뉴(Popup Menus)</a>
-</li><li> <a href="ko/XUL_Tutorial/Scrolling_Menus">스크롤링 메뉴(Scrolling Menus)</a>
-</li></ul>
-<h5 id=".EC.9D.B4.EB.B2.A4.ED.8A.B8.EC.99.80_.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8.28Events_and_Scripts.29" name=".EC.9D.B4.EB.B2.A4.ED.8A.B8.EC.99.80_.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8.28Events_and_Scripts.29"> 이벤트와 스크립트(Events and Scripts) </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Adding_Event_Handlers">이벤트 핸들러 추가하기</a>
-</li><li> <a href="ko/XUL_Tutorial/More_Event_Handlers">더욱 다양한 이벤트 핸들러</a>
-</li><li> <a href="ko/XUL_Tutorial/Keyboard_Shortcuts">단축키(Keyboard Shortcuts)</a>
-</li><li> <a href="ko/XUL_Tutorial/Focus_and_Selection">포커스(Forcus)와 선택(Selection)</a>
-</li><li> <a href="ko/XUL_Tutorial/Commands">Commands</a>
-</li><li> <a href="ko/XUL_Tutorial/Updating_Commands">Updating Commands</a>
-</li><li> <a href="ko/XUL_Tutorial/Broadcasters_and_Observers">Broadcasters and Observers</a>
-</li></ul>
-<h5 id=".EB.AC.B8.EC.84.9C_.EA.B0.9D.EC.B2.B4_.EB.AA.A8.EB.8D.B8.28Document_Object_Model.29" name=".EB.AC.B8.EC.84.9C_.EA.B0.9D.EC.B2.B4_.EB.AA.A8.EB.8D.B8.28Document_Object_Model.29"> 문서 객체 모델(Document Object Model) </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Document_Object_Model">문서 객체 모델(Document Object Model)</a>
-</li><li> <a href="ko/XUL_Tutorial/Modifying_a_XUL_Interface">XUL 인터페이스 수정하기</a>
-</li><li> <a href="ko/XUL_Tutorial/Manipulating_Lists">리스트 다루기</a>
-</li><li> <a href="ko/XUL_Tutorial/Box_Objects">박스 객체(Box Objects)</a>
-</li><li> <a href="ko/XUL_Tutorial/XPCOM_Interfaces">XPCOM 인터페이스</a>
-</li><li> <a href="ko/XUL_Tutorial/XPCOM_Examples">XPCOM 예제</a>
-</li></ul>
-<h5 id=".ED.8A.B8.EB.A6.AC.28Trees.29" name=".ED.8A.B8.EB.A6.AC.28Trees.29"> 트리(Trees) </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Trees">트리(Trees)</a>
-</li><li> <a href="ko/XUL_Tutorial/More_Tree_Features">더욱 많은 트리기능들</a>
-</li><li> <a href="ko/XUL_Tutorial/Tree_Selection">Tree Selection</a>
-</li><li> <a href="ko/XUL_Tutorial/Custom_Tree_Views">사용자 트리뷰(Custom Tree Views)</a>
-</li><li> <a href="ko/XUL_Tutorial/Tree_View_Details">트리뷰의 세부사항</a>
-</li><li> <a href="ko/XUL_Tutorial/Tree_Box_Objects">트리 박스 객체(Tree Box Objects)</a>
-</li></ul>
-<h5 id="RDF_.EC.99.80_.ED.85.9C.ED.94.8C.EB.A6.BF.28Templates.29" name="RDF_.EC.99.80_.ED.85.9C.ED.94.8C.EB.A6.BF.28Templates.29"> RDF 와 템플릿(Templates) </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Introduction_to_RDF">RFD의 개요</a>
-</li><li> <a href="ko/XUL_Tutorial/Templates">템플릿(Templates)</a>
-</li><li> <a href="ko/XUL_Tutorial/Trees_and_Templates">트리와 템플릿(Trees and Templates)</a>
-</li><li> <a href="ko/XUL_Tutorial/RDF_Datasources">RDF 데이터소스(RDF Datasources)</a>
-</li><li> <a href="ko/XUL_Tutorial/Advanced_Rules">고급 규칙(Advanced Rules)</a>
-</li><li> <a href="ko/XUL_Tutorial/Persistent_Data">영속 데이터(Persistent Data)</a>
-</li></ul>
-<h5 id=".EC.8A.A4.ED.82.A8.EA.B3.BC_.EC.A7.80.EC.97.AD.ED.99.94.28Skins_and_Locales.29" name=".EC.8A.A4.ED.82.A8.EA.B3.BC_.EC.A7.80.EC.97.AD.ED.99.94.28Skins_and_Locales.29"> 스킨과 지역화(Skins and Locales) </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Adding_Style_Sheets">스타일 시트 추가하기</a>
-</li><li> <a href="ko/XUL_Tutorial/Styling_a_Tree">트리 꾸미기</a>
-</li><li> <a href="ko/XUL_Tutorial/Modifying_the_Default_Skin">기본 스킨 고치기</a>
-</li><li> <a href="ko/XUL_Tutorial/Creating_a_Skin">스킨 만들기</a>
-</li><li> <a href="ko/XUL_Tutorial/Localization">지역화</a>
-</li><li> <a href="ko/XUL_Tutorial/Property_Files">설정 파일</a>
-</li></ul>
-<h5 id="Bindings" name="Bindings"> Bindings </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Introduction_to_XBL">XBL의 개요</a>
-</li><li> <a href="ko/XUL_Tutorial/Anonymous_Content">익명 컨텐츠(Anonymous Content)</a>
-</li><li> <a href="ko/XUL_Tutorial/XBL_Attribute_Inheritance">XBL 속성 상속</a>
-</li><li> <a href="ko/XUL_Tutorial/Adding_Properties_to_XBL-defined_Elements">속성 추가하기</a>
-</li><li> <a href="ko/XUL_Tutorial/Adding_Methods_to_XBL-defined_Elements">메소드 추가하기</a>
-</li><li> <a href="ko/XUL_Tutorial/Adding_Event_Handlers_to_XBL-defined_Elements">이벤트 핸들러 추가하기</a>
-</li><li> <a href="ko/XUL_Tutorial/XBL_Inheritance">XBL 상속</a>
-</li><li> <a href="ko/XUL_Tutorial/XBL_Example">XBL 예제</a>
-</li></ul>
-<h5 id="Specialized_Window_Types" name="Specialized_Window_Types"> Specialized Window Types </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Features_of_a_Window">Features of a Window</a>
-</li><li> <a href="ko/XUL_Tutorial/Creating_Dialogs">다이얼로그 만들기</a>
-</li><li> <a href="ko/XUL_Tutorial/Open_and_Save_Dialogs">Open and Save Dialogs</a>
-</li><li> <a href="ko/XUL_Tutorial/Creating_a_Wizard">Creating a Wizard</a>
-</li><li> <a href="ko/XUL_Tutorial/More_Wizards">More Wizards</a>
-</li><li> <a href="ko/XUL_Tutorial/Overlays">Overlays</a>
-</li><li> <a href="ko/XUL_Tutorial/Cross_Package_Overlays">Cross Package Overlays</a>
-</li></ul>
-<h5 id=".EC.84.A4.EC.B9.98.28Installation.29" name=".EC.84.A4.EC.B9.98.28Installation.29"> 설치(Installation) </h5>
-<ul><li> <a href="ko/XUL_Tutorial/Creating_an_Installer">인스톨러 생성하기</a>
-</li><li> <a href="ko/XUL_Tutorial/Install_Scripts">설치 스크립트</a>
-</li><li> <a href="ko/XUL_Tutorial/Additional_Install_Features">추가적인 설치 기능들</a>
-</li></ul>
-<div class="note">
-<p>본 XUL 튜토리얼은 본래 <a class="external" href="http://www.xulplanet.com/ndeakin/">Neil Deakin</a>에 의해 작성되었으며 그는 고맙게도 본 튜토리얼을 <a>MDC</a>의 일부로 사용할 수 있도록 허락해 주었습니다.
-</p>
-</div>
-<div class="originaldocinfo">
-<h5 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4"> 원본 문서 정보 </h5>
-<ul><li> 저자: <a class="external" href="http://www.xulplanet.com/ndeakin/">Neil Deakin</a>
-</li><li> 최종 업데이트: 2005년 6월 3일
-</li><li> 저작권 정보 : © 1999-2005 XULPlanet.com
-</li></ul>
-</div>
-<p><span class="comment">Interwiki Language Links</span>
-</p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/input_controls/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/input_controls/index.html
deleted file mode 100644
index df96b700f3..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/input_controls/index.html
+++ /dev/null
@@ -1,110 +0,0 @@
----
-title: Input Controls
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Input_Controls
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Input_Controls
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Adding_Labels_and_Images" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:List_Controls">다음 »</a></p>
-</div><p></p>
-<p>XUL은 HTML의 <a href="ko/DOM/form">form</a> 컨트롤과 비슷한 요소들을 가지고 있습니다.</p>
-<h3 id=".ED.85.8D.EC.8A.A4.ED.8A.B8_.EC.9E.85.EB.A0.A5_.EC.BB.A8.ED.8A.B8.EB.A1.A4" name=".ED.85.8D.EC.8A.A4.ED.8A.B8_.EC.9E.85.EB.A0.A5_.EC.BB.A8.ED.8A.B8.EB.A1.A4">텍스트 입력 컨트롤</h3>
-<p>HTML은 텍스트 입력 컨트롤로 사용할 수 있는 input 요소를 가집니다. XUL 또한 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/textbox" title="textbox">textbox</a></code></code>라고 하는 텍스트를 입력하는데 사용되는 비슷한 요소를 가지고 있습니다. 아무런 속성이 지정되어 있지 않으면 <code>textbox</code> 요소는 사용자가 텍스트를 입력할 수 있는 상자를 만들어 냅니다. Textbox는 HTML의 input 컨트롤과 많은 동일한 속성을 사용할 수 있습니다. 다음은 속성들의 일부입니다.</p>
-<dl>
- <dt>
- <code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> </dt>
- <dd>
- Textbox를 실별하는데 사용할 수 있는 유일식별자(unique identifier) 입니다.</dd>
- <dt>
- <code id="a-class"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/class">class</a></code> </dt>
- <dd>
- Textbox의 스타일 클래스 입니다.</dd>
- <dt>
- <code id="a-value"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/value">value</a></code> </dt>
- <dd>
- Textbox의 기본 텍스트를 지정하고 싶으면, 이 속성값에 적용하면 됩니다.</dd>
- <dt>
- <code id="a-disabled"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code> </dt>
- <dd>
- 입력을 할 수 없게 하려면 이 속성을 <code>true</code>로 지정합니다.</dd>
- <dt>
- <code id="a-type"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/type">type</a></code> </dt>
- <dd>
- 입력한 텍스트를 숨기는 textbox를 만드려면 이 속성을 <code>password</code>라는 특별한 값으로 지정할 수 있습니다.</dd>
- <dt>
- <code id="a-maxlength"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/maxlength">maxlength</a></code> </dt>
- <dd>
- Textbox에 입력할 수 있는 최대 문자수를 지정합니다.</dd>
-</dl>
-<p>HTML에서는 <code>input</code> 요소로 다양한 종류의 컨트롤 타입을 만들 수 있지만, XUL에서는 각 타입에 대응되는 별도의 요소가 있습니다.</p>
-<p>다음은 몇 가지 textbox 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_inputs_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_inputs_1.xul">View</a></p>
-<pre>&lt;label control="some-text" value="Enter some text"/&gt;
-&lt;textbox id="some-text"/&gt;
-&lt;label control="some-password" value="Enter a password"/&gt;
-&lt;textbox id="some-password" type="password" maxlength="8"/&gt;
-</pre>
-<h4 id=".EC.97.AC.EB.9F.AC.EC.A4.84.28multiline.29_textbox" name=".EC.97.AC.EB.9F.AC.EC.A4.84.28multiline.29_textbox">여러줄(multiline) textbox</h4>
-<p>위의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/textbox" title="textbox">textbox</a></code></code> 예제는 한줄짜리 텍스트만 입력하는데 사용할 수 있는 입력 컨트롤을 생성합니다. HTML에서는 더 많은 텍스트 입력 영역이 있는 <code>textarea</code> 요소가 존재합니다. XUL에서는 <code>textbox</code> 요소를 이러한 목적으로 사용할 수 있늡니다(서로 다른 두개 요소는 필요 없습니다). <code><code id="a-multiline"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/multiline">multiline</a></code></code>속성을 true로 지정하면 텍스트 입력 필드는 다중 행을 표시합니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_inputs_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_inputs_2.xul">View</a></p>
-<pre>&lt;textbox multiline="true"
- value="This is some text that could wrap onto multiple lines."/&gt;
-</pre>
-<p>HTML의 <code>textarea</code>처럼, 크기를 지정하기 위해 <code>rows</code>와 <code>cols</code>를 사용할 수 있습니다. 이 속성들은 출력될 문자의 행과 열수를 지정합니다.</p>
-<div class="highlight">
- <h4 id=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C" name=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C">우리의 파일 찾기 예제</h4>
- <p>이제 파일 찾기 대화상자에 검색을 위한 입력 필드를 추가합니다. <code>Textbox</code> 요소를 사용할 것입니다.</p>
- <pre class="eval"><span class="highlightred">&lt;label value="Search for:" control="find-text"/&gt;</span>
-<span class="highlightred">&lt;textbox id="find-text"/&gt;</span>
-
-&lt;button id="find-button" label="Find"/&gt;
-</pre>
- <div class="float-right">
- <img alt="Image:inputs1.png"></div>
- <p>앞선 섹션에서 만든 버튼 앞 부분에 위의 코드를 추가하세요. 창을 열면, 이미지와 같이 보일 것입니다.</p>
- <p>라벨과 텍스트 input 필드가 윈도우에 출력됩니다. 텍스트박스는 완전히 작동하며 텍스트를 입력하거나 선택할 수 있습니다. 예제에서 라벨의 <code><code id="a-control"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/control">control</a></code></code> 속성이 사용되어서 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/label" title="label">label</a></code></code>이 클릭되면 텍스트 박스가 선택됩니다.</p>
-</div>
-<h3 id=".EC.B2.B4.ED.81.AC.EB.B0.95.EC.8A.A4.EC.99.80_.EB.9D.BC.EB.94.94.EC.98.A4_.EB.B2.84.ED.8A.BC" name=".EC.B2.B4.ED.81.AC.EB.B0.95.EC.8A.A4.EC.99.80_.EB.9D.BC.EB.94.94.EC.98.A4_.EB.B2.84.ED.8A.BC">체크박스와 라디오 버튼</h3>
-<p>체크박스와 라디오 버튼을 만들기 위해서는 두 개의 추가적인 요소를 사용합니다. 이것들은 버튼의 일종입니다. 체크박스 요소는 가능 또는 불가능될 수 있는 옵션을 위해 사용할 수 있습니다. 라디오 버튼은 비슷한 목적으로 사용할 수 있는 것으로 여러개의 항목 중 하나만 선택할 수 있을 때 사용합니다.</p>
-<p>체크박스와 라디오 버튼은 버튼과 대부분 동일한 속성을 사용합니다. 아래 예제는 간단한 체크박스와 라디오 버튼을 보여줍니다.</p>
-<pre>&lt;checkbox id="case-sensitive" checked="true" label="Case sensitive"/&gt;
-&lt;radio id="orange" label="Orange"/&gt;
-&lt;radio id="violet" selected="true" label="Violet"/&gt;
-&lt;radio id="yellow" label="Yellow"/&gt;
-</pre>
-<p>첫번째 줄에서는 간단한 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/checkbox" title="checkbox">checkbox</a></code></code>를 생성합니다. 사용자가 체크박스를 클릭하면 선택 또는 선택되지 않은 상태를 교환합니다. <code><code id="a-checked"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/checked">checked</a></code></code> 속성은 처음 상태를 나타내기 위해 사용할 수 있습니다. 이것은 <code>true</code>또는 <code>false</code>로 지정되어야 합니다. <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> 속성은 체크박스 옆에 출력될 라벨을 지정하기 위해 사용합니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/radio" title="radio">radio</a></code></code> 버튼에서는 <code><code id="a-checked"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/checked">checked</a></code></code> 속성 대신 <code><code id="a-selected"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/selected">selected</a></code></code>를 사용해야 합니다. 라디오 버튼이 처음 선택된 상태로 마들기 위해서는 <code><code id="a-selected"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/selected">selected</a></code></code>을 <code>true</code>로 설정하세요.</p>
-<h4 id=".EB.9D.BC.EB.94.94.EC.98.A4.EA.B7.B8.EB.A3.B9_.EC.9A.94.EC.86.8C" name=".EB.9D.BC.EB.94.94.EC.98.A4.EA.B7.B8.EB.A3.B9_.EC.9A.94.EC.86.8C">라디오그룹 요소</h4>
-<p>라디오 버튼들을 그룹짖기 위해서는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/radiogroup" title="radiogroup">radiogroup</a></code></code> 요소를 사용할 필요가 있습니다. 라디오 그룹내에 있는 라디오 버튼들 중 하나만 선택할 수 있습니다. 하나를 선택하면 같은 그룹 내의 다른 것들은 모두 꺼지게 됩니다. 다음 예제는 이러한 내용을 보여줍니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_inputs_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_inputs_3.xul">View</a></p>
-<pre>&lt;radiogroup&gt;
- &lt;radio id="orange" label="Orange"/&gt;
- &lt;radio id="violet" selected="true" label="Violet"/&gt;
- &lt;radio id="yellow" label="Yellow"/&gt;
-&lt;/radiogroup&gt;
-</pre>
-<h4 id=".EC.86.8D.EC.84.B1" name=".EC.86.8D.EC.84.B1">속성</h4>
-<p>버튼처럼, 체크박스와 라디오 버튼들도 라벨과 이미지로 구성되며, 버튼들이 눌러졌을 때체크된 상태와 체크되지 않은 상태의 이미지가 바뀌어집니다. 체크 박스는 버튼과 많은 동일한 속성을 가집니다.</p>
-<dl>
- <dt>
- <code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code> </dt>
- <dd>
- 체크 박스나 라디오 버튼의 라벨를 설정합니다.</dd>
- <dt>
- <code id="a-disabled"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code> </dt>
- <dd>
- 체크 박스나 라디오 버튼을 가능 또는 불가능 하게 하기 위해서 본 속성을 <code>true</code>나 <code>false</code>로 설정하세요.</dd>
- <dt>
- <code id="a-accesskey"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code> </dt>
- <dd>
- 요소를 선택할 때 사용하는 단축키입니다. 여기에 지정된 문자는 보통 라벨에 아랫줄을 그어 출력합니다.</dd>
-</dl>
-<div class="highlight">
- <p><span id="%EC%97%AC%EA%B8%B0%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"><a id="%EC%97%AC%EA%B8%B0%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"></a><strong>여기까지의 파일 찾기 예제</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-inputs.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-inputs.xul">View</a></p>
-</div>
-<p>다음 섹션에서는 <a href="ko/XUL_Tutorial/List_Controls">리스트 박스 만들기</a>를 위한 몇 가지 요소들에 대해 알아볼 것입니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Adding_Labels_and_Images" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:List_Controls">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/introduction/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/introduction/index.html
deleted file mode 100644
index 50308acfc9..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/introduction/index.html
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: Introduction
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Introduction
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Introduction
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:XUL_Structure">다음 »</a></p>
-</div><p></p>
-<p>이 설명서는 <abbr title="XML User Interface Language">XUL</abbr>(XML 사용자 인터페이스 언어)를 배우는 데 도움을 주기 위한 것입니다. XUL은 응용 프로그램의 사용자 인터페이스를 작성하는 데 쓰이는 크로스 플랫폼 언어입니다.</p>
-<p>이 설명서는 매킨토시의 셜록이나 윈도우의 검색 대화상자처럼 파일 찾기 기능을 갖춘 간단한 사용자 인터페이스를 만드는 방법을 설명해나갈 것입니다. 하지만 다루는 내용은 사용자 인터페이스를 만들고 몇 가지 기능을 추가하는 것으로 제한할 것입니다. 실제로 파일을 찾는 기능에 대한 설명은 제공되지 않습니다. 문서 왼쪽에 파란선이 나타나는 문단은 파일 찾기 대화상자가 수정되는 부분입니다. 이러한 문단을 따라가면 우리가 원하는 사용자 인터페이스가 완성됩니다.</p>
-<h3 id="XUL.EC.9D.80_.EB.AC.B4.EC.97.87.EC.9D.B4.EB.A9.B0_.EC.99.9C_.EB.A7.8C.EB.93.A4.EC.96.B4.EC.A1.8C.EB.8A.94.EA.B0.80.3F" name="XUL.EC.9D.80_.EB.AC.B4.EC.97.87.EC.9D.B4.EB.A9.B0_.EC.99.9C_.EB.A7.8C.EB.93.A4.EC.96.B4.EC.A1.8C.EB.8A.94.EA.B0.80.3F">XUL은 무엇이며 왜 만들어졌는가?</h3>
-<p>XUL(cool의 리듬으로 줄(zool)이라고 발음합니다)은 더 쉽고 빠르게 모질라 브라우저 개발을 하기 위해 만들어졌습니다. <abbr title="Extensible Markup Language">XML</abbr> 언어이기 때문에 XML에서 사용할 수 있는 모든 기능은 XUL에서도 사용할 수 있습니다.</p>
-<p>응용 프로그램을 개발할 때 특정 플랫폼의 기능을 사용해야 하는 경우가 많기 때문에 크로스 플랫폼 소프트웨어를 만드는 데는 많은 시간과 비용이 필요합니다. 그래서 오래 전부터 크로스 플랫폼 개발 도구가 개발되고 있습니다. 예를 들어, 자바는 이식성을 가장 큰 장점으로 내세우고 있습니다. XUL도 이식 가능한 사용자 인터페이스를 만들기 위해 고안된 언어입니다. 한 플랫폼에 맞추어 응용 프로그램을 개발하는 데에도 많은 시간이 걸립니다. 컴파일을 하고 디버그를 하는 과정이 매우 길어질 수도 있습니다. 하지만, XUL을 사용하면 빠르고 쉽게 인터페이스를 만들고 수정할 수 있습니다.</p>
-<p>XUL은 다른 XML 언어의 장점을 모두 갖추고 있습니다. 예를 들어 XHTML이나 <abbr title="Math Markup Language">MathML</abbr>, <abbr title="Scalable Vector Graphics">SVG</abbr> 같은 XML 언어를 XUL 안에 삽입할 수 있습니다. 그리고 XUL에 사용된 문구는 쉽게 현지화할 수 있기 때문에 번역 작업이 수월합니다.</p>
-<h3 id="XUL.EB.A1.9C_.EB.A7.8C.EB.93.A4_.EC.88.98_.EC.9E.88.EB.8A.94_.EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4.EB.8A.94_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F" name="XUL.EB.A1.9C_.EB.A7.8C.EB.93.A4_.EC.88.98_.EC.9E.88.EB.8A.94_.EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4.EB.8A.94_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F">XUL로 만들 수 있는 사용자 인터페이스는 무엇인가?</h3>
-<p>XUL은 다양한 기능을 제공하여 세련된 그래픽 인터페이스를 만들 수 있게 해줍니다. 예를 들어 아래와 같은 엘리먼트를 만들 수 있습니다.</p>
-<ul> <li>텍스트박스, 체크박스 같은 입력 컨트롤</li> <li>버튼 등의 기능을 갖춘 도구막대</li> <li>메뉴 막대나 팝업 메뉴에 사용되는 메뉴 항목</li> <li>탭으로 이루어진 대화상자</li> <li>상하 관계나 표를 나타내는 트리</li> <li>키보드 단축글쇠</li>
-</ul>
-<p>화면에 표시되는 내용은 XUL 파일 내부의 내용이나 데이터소스에 있는 자료를 이용하여 만들어집니다. 모질라에서는 사용자의 편지함, 북마크, 검색 결과 등도 데이터소스로 사용할 수 있습니다. 메뉴나 트리 같은 엘리먼트에 내용을 넣을 때에는 이런 자료뿐만 아니라 원하는 내용을 직접 <abbr title="Resource Description Framework">RDF</abbr> 파일로 작성하여 사용할 수도 있습니다.</p>
-<p>XUL은 다음과 같이 사용할 수 있습니다.</p>
-<ul> <li>파이어폭스 확장 기능 -- 확장 기능은 브라우저에 새로운 기능을 넣는 프로그램입니다. 확장 기능은 도구 막대나 상황 메뉴에 새로운 도구를 넣기도 하고 브라우저의 사용자 인터페이스를 변화시키기도 합니다. 이러한 작업은 XUL이 제공하는 오버레이 기능을 통해 이루어지는데, 이렇게 하면 확장 기능에 제시된 사용자 인터페이스를 파이어폭스 브라우저의 사용자 인터페이스와 합칠 수 있습니다. 확장 기능은 썬더버드 등 다른 모질라 제품에도 적용될 수 있습니다.</li> <li>독립된 XULRunner 응용 프로그램 -- XULRunner는 모질라 플랫폼을 패키지화한 것으로, 이를 이용하면 독립된 XUL 응용 프로그램을 만들 수 있습니다. 이렇게 만들어진 프로그램은 실행 파일을 갖고 있기 때문에 브라우저가 없이도 실행할 수 있습니다.</li> <li>XUL 꾸러미 -- 확장 기능과 XULRunner 응용 프로그램의 중간에 위치한 단계입니다. 확장 기능처럼 만들어지지만 독립된 창에서 실행되어 독립된 응용 프로그램처럼 작동합니다. 대용량의 XULRunner를 포함하지 않는대신, 사용자가 필요에 따라 모질라 브라우저를 설치해야 합니다.</li> <li>원격 XUL 응용 프로그램 -- XUL 코드를 웹 서버에 저장하여 브라우저에서 열게 하면 일반 웹 문서처럼 작동합니다. 하지만 다른 창을 여는 등 일부 기능은 보안과 관련된 문제 때문에 사용할 수 없습니다.</li>
-</ul>
-<p>앞의 세 가지는 실행하기 전에 사용자의 컴퓨터에 설치를 해야 합니다. 하지만, 이들은 보안과 관련된 제약이 없기 때문에 하드디스크의 파일에 접근하거나 사용자의 환경 설정을 읽고 바꾸는 것과 같은 작업도 할 수 있습니다. 확장 기능은 XUL 파일을 비롯한 스크립트, 그림 파일 등이 하나의 파일로 압축되어 제공되는데 사용자는 이를 내려 받아 설치할 수 있습니다. 파이어폭스 등의 모질라 응용 프로그램은 사용자가 손쉽게 확장 기능을 설치할 수 있도록 확장 기능 관리자를 제공합니다.</p>
-<p>XUL 파일을 하드 디스크나 웹 사이트에서 바로 열 수도 있습니다. 하지만, 이 경우에는 사용할 수 있는 기능에 제약이 있고 XUL의 일부 기능이 바르게 작동하지 않을 수 있습니다. XUL로 작성된 프로그램이 웹 사이트를 통해 열리게 하려면, 웹 서버가 XUL 파일을 "application/vnd.mozilla.xul+xml" 컨텐트 타입으로 전송하도록 설정하여야 합니다. XUL은 보통 확장자가 <code>.xul</code>인 파일에 저장됩니다. 모질라에서는 다른 파일을 열 때처럼 파일 메뉴 아래의 파일 열기를 이용하거나 주소 막대에 직접 URL을 입력하여서도 XUL 파일을 열 수 있습니다.</p>
-<h3 id=".EC.9D.B4_.EC.84.A4.EB.AA.85.EC.84.9C.EB.A5.BC_.EC.9D.BD.EA.B8.B0_.EC.9C.84.ED.95.B4_.EC.95.8C.EC.95.84.EC.95.BC.ED.95.A0_.EA.B2.83.EC.9D.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F" name=".EC.9D.B4_.EC.84.A4.EB.AA.85.EC.84.9C.EB.A5.BC_.EC.9D.BD.EA.B8.B0_.EC.9C.84.ED.95.B4_.EC.95.8C.EC.95.84.EC.95.BC.ED.95.A0_.EA.B2.83.EC.9D.80_.EB.AC.B4.EC.97.87.EC.9D.B8.EA.B0.80.3F">이 설명서를 읽기 위해 알아야할 것은 무엇인가?</h3>
-<p><abbr title="HyperText Markup Language">HTML</abbr>과 XML, <abbr title="Cascading Style Sheets">CSS</abbr>에 대한 기본적인 지식이 필요합니다. 다음 사항을 항상 기억하시기 바랍니다.</p>
-<ul> <li>XUL 엘리먼트와 속성은 반드시 소문자로 입력해야 합니다. 왜냐하면 XML은 대소문자를 구분하기 때문입니다. (HTML은 그렇지 않습니다.)</li> <li>속성값은 반드시 인용 부호 안에 입력해야 합니다. 숫자도 예외가 아닙니다.</li> <li>XUL 파일은 보통 네 파일로 나뉘어지는데, 각각 레이아웃과 엘리먼트를 정의한 파일, 스타일을 선언한 파일, 현지화에 사용되는 엔티티를 선언한 파일, 스크립트 파일입니다. 여기에 그림 파일이나 특정 플랫폼을 위한 자료가 추가될 수 있습니다.</li>
-</ul>
-<p>XUL은 모질라와 그에 바탕한 브라우저(네스케이프 6 이상 그리고 모질라 Firefox)에서 지원됩니다. XUL 구문은 오랜 시간동안 여러 변화가 있었기 때문에, 올바르게 작동할 수 있는 최신의 사례를 보았으면 할 것입니다. 대부분의 사례는 모질라 1.0 이상에서 작동합니다.</p>
-<p>파이어폭스 등의 브라우저에서 작동하는 XUL도 이와 매우 비슷하지만, 도구 막대 편집 기능 등 각 브라우저에 특화된 기능을 갖추고 있습니다.</p>
-<p>이 설명서는 XUL의 다양한 기능을 설명할 것이지만 모든 기능을 다루지는 않을 것입니다. XUL에 어느 정도 익숙해진 후에 특정 엘리먼트가 지원하는 기능들을 살펴보고 싶으면 <a href="/ko/XUL_Reference" title="ko/XUL_Reference">XUL Reference</a>를 이용하시기 바랍니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:XUL_Structure">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/introduction_to_rdf/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/introduction_to_rdf/index.html
deleted file mode 100644
index c584671798..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/introduction_to_rdf/index.html
+++ /dev/null
@@ -1,74 +0,0 @@
----
-title: Introduction to RDF
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Introduction_to_RDF
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Introduction_to_RDF
----
-<p>이 장에서는 RDF ( Resource Description Framework )에 대해 살펴봅니다.</p>
-<h3 id="Resource_Description_Framework" name="Resource_Description_Framework">Resource Description Framework</h3>
-<p>북마크나 메일 메세지등과 같은 데이터의 집합을 표시하는 목적으로 트리 요소를 사용할 수 있습니다. 그렇지만, XUL 파일에 직접 데이터를 넣는것은 귀찮은 일입니다. 북마크가 직접 XUL 파일에 쓰여져 있다고 한다면 그 변경은 어려운 것이 됩니다. 그래서 이것을 해결하는 방법은 RDF 데이터소스를 이용하는 것입니다.</p>
-<p>RDF ( Resource Description Framework )란 북마크나 메일등의 리소스를 저장하기 위한 형식입니다. 다른 방법으로서 다른 형식의 데이터를 이용해 그 파일로부터 RDF 데이터를 생성하는 코드가 쓰여져 있는 경우도 있습니다. 이것이 Mozilla 가 북마크나 히스토리, 메일 메세지등의 데이터를 읽어들일 때 가고 있는 방법입니다. 개발자에게 편의를 도모하기 위해서 Mozilla 는 이러한 공통되어 이용되는 데이터를 위한 데이터소스를 제공합니다.</p>
-<p>Mozilla 가 제공하고 있는 어느 RDF 데이터 소스도 데이터로부터의 트리 생성에 이용할 수 있거나 데이터를 포함한 XML 로서 보존하고 있는 RDF 파일을 참조할 수도 있습니다. 이것에 의해 여러 줄이 있는 트리의 표시가 매우 편해집니다. RDF 는 리스트 박스나 메뉴등이 같은 다른 요소에 있어서의 생성에도 이용할 수 있습니다. 이것에 대해서는 다음 절에서 다룹니다.</p>
-<p>여기에서는 RDF 에 대해 아주 대략적으로 설명합니다. RDF 에 대한 자세한 안내는 RDF 모델 입문을 읽어 바랍니다. RDF 에 처음으로 접한다면 이 안내를 읽는 것을 추천합니다. RDF/XML 파일의 몇개의 예는 Mozilla 가 제공하고 있는 것을 보면 좋을 것입니다. RDF/XML 파일의 확장자(extension)는 rdf 입니다.</p>
-<p>RDF 는 그래프 구조로 표현되는 데이터의 모델로부터 됩니다. RDF/XML 는 RDF 데이터를 표현하기 위해서 이용되는 XML 언어입니다. 그것은 필요 충분한 단순한 요소로 설정 됩니다. 아래에 간단한 RDF 의 구조를 나타냅니다.</p>
-<pre>&lt;? xml version="1.0"? &gt;
-&lt;RDF:RDF
- xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
- ...
-&lt;/RDF:RDF&gt;
-</pre>
-<p>이것은 XUL 의 헤더와 닮아 있습니다. window 요소 대신에 RDF 요소가 이용되고 있습니다. RDF 의 요소가 올바르게 인식되도록하기 위해서 RDF 의 네임스페이스가 선언되고 있는 것이 알 수 있네요. RDF 요소의 안쪽에 데이터를 기술합니다.</p>
-<p>여기에서는 RDF 에 대해 매우 간단하게 설명합니다. 보다 자세한 것은 RDF 사양을 참조해 주세요. 예로 RDF 로부터 생성되는 북마크의 리스트에 대해 보겠습니다. 북마크의 리스트는 레코드의 집합을 포함하고 있어 각각에는 URL, 타이틀, 방문일등의 일련의 데이터가 주어지고 있습니다.</p>
-<p>북마크는 얼마든지의 필드로부터 되는 거대한 테이블로서 보존되고 있는 데이타베이스의 일종이라고 생각합니다. 다만, RDF 에서는 리스트는 동시에 계층적으로도 될 수 있습니다. 이것은 북마크를 폴더 마다 정리하거나 종류별 정리하기 위해서 필요한 일입니다. RDF 데이타베이스내의 각 필드는 첨부이름의 리소스입니다. 이름은 URI 로 기술됩니다.</p>
-<p>예를 들면, Mozilla 의 북마크 리스트에 있어서의 필드의 몇개인가는 아래에 URI 로 기술되고 있습니다.</p>
-<pre>Name http://home.netscape.com/NC-rdf#Name 북마크명
-URL http://home.netscape.com/NC-rdf#URL 링크 URL
-Description http://home.netscape.com/NC-rdf#Description 북마크의 설명
-Last Visited http://home.netscape.com/WEB-rdf#LastVisitDate 최종 방문일
-</pre>
-<p>이것들은 네임스페이스명으로 얘기되는 필드명으로부터 생성됩니다. 다음 절에서는 이것들을 사용해 필드의 값을 자동 생성시키는 방식에 대해 보고 갑니다. 최종 방문일은 다른 3개의 필드와 조금 다른 네임스페이스가 되어 있는 것에 주의해 주세요.</p>
-<p>아래에 3개의 레코드와 3개의 필드를 가지는 RDF/XML 의 예를 나타냅니다.</p>
-<pre>&lt;RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:ANIMALS="http://www.some-fictitious-zoo.com/rdf#"&gt;
-
- &lt;RDF:Seq about="http://www.some-fictitious-zoo.com/all-animals"&gt;
- &lt;RDF:li&gt;
- &lt;RDF:Description about="http://www.some-fictitious-zoo.com/mammals/lion"&gt;
- &lt;ANIMALS:name&gt;Lion&lt;/ANIMALS:name&gt;
- &lt;ANIMALS:species&gt;Panthera leo&lt;/ANIMALS:species&gt;
- &lt;ANIMALS:class&gt;Mammal&lt;/ANIMALS:class&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
- &lt;RDF:li&gt;
- &lt;RDF:Description about="http://www.some-fictitious-zoo.com/arachnids/tarantula"&gt;
- &lt;ANIMALS:name&gt;Tarantula&lt;/ANIMALS:name&gt;
- &lt;ANIMALS:species&gt;Avicularia avicularia&lt;/ANIMALS:species&gt;
- &lt;ANIMALS:class&gt;Arachnid&lt;/ANIMALS:class&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
- &lt;RDF:li&gt;
- &lt;RDF:Description about="http://www.some-fictitious-zoo.com/mammals/hippopotamus"&gt;
- &lt;ANIMALS:name&gt;Hippopotamus&lt;/ANIMALS:name&gt;
- &lt;ANIMALS:species&gt;Hippopotamus amphibius&lt;/ANIMALS:species&gt;
- &lt;ANIMALS:class&gt;Mammal&lt;/ANIMALS:class&gt;
- &lt;/RDF:Description&gt;
- &lt;/RDF:li&gt;
- &lt;/RDF:Seq&gt;
-&lt;/RDF:RDF&gt;
-</pre>
-<p>여기에서는 각 동물( animal )에 대응해 3개의 레코드가 선언되고 있습니다. 각 RDF:Description 태그가 하나의 레코드를 나타냅니다. 각각의 레코드의 내부에는 3개의 필드: name, species, class 가 기술되고 있습니다. 모든 레코드가 같은 필드에서 구성되어 있지 않으면 안 되는 것은 아닙니다만, 그렇게 하는 편이 보다 자연스럽습니다.</p>
-<p>3개의 필드 각각 네임스페이스로서 ANIMALS 가 주어지고 있어 ANIMALS 의 URL 는 RDF 태그내에서 선언되고 있습니다. 이름은 이유가 적당하게 선택한 것만으로 있지만 무엇이든 다른 이름이라도 괜찮습니다. 네임스페이스의 이용은 class 필드가 스타일의 필드와 충돌하지 않게 하는 것에 도움이 되고 있습니다.</p>
-<p>Seq 요소와 li 요소는 레코드의 리스트를 지정하기 위해서 이용하는 것입니다. 이것은 HTML 의 리스트의 선언과 잘 닮은 것입니다. Seq 요소는 요소가 순서로 나타내질 수 있는 것을 나타냅니다. 순서를 가지지 않는 경우는 Seq 요소 대신에 Bag 요소를 이용합니다. Alt 요소를 이용하면 데이터의 각 레코드가(미러 URL 등의) 대체값을 지정하고 있는 것을 지시할 수가 있습니다.</p>
-<p>네임스페이스 URL 와 거기에 계속되는 필드명에 의해 XUL 파일내의 리소스를 참조할 수가 있습니다. 위의 예에서는 다음에 특정 필드의 참조에 이용할 수 있는 URI 가 생성됩니다.</p>
-<pre>Name http://www.some-fictitious-zoo.com/rdf#name
-Species http://www.some-fictitious-zoo.com/rdf#species
-Class http://www.some-fictitious-zoo.com/rdf#class
-
-</pre>
-<p>다음 절에서는 RDF 를 사용한 XUL 요소의 생성 방법에 대해 살펴봅니다.</p>
-<p><br>
- </p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Tree_Box_Objects" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Templates">다음 »</a></p>
-</div><p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/introduction_to_xbl/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/introduction_to_xbl/index.html
deleted file mode 100644
index f6e3ddde65..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/introduction_to_xbl/index.html
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: Introduction to XBL
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Introduction_to_XBL
-tags:
- - XBL
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Introduction_to_XBL
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Property_Files" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Anonymous_Content">다음 »</a></p>
-</div><p></p>
-<p><a href="ko/XUL">XUL</a>은 자매(sister) 언어 <a href="ko/XBL">XBL</a> (eXtensible Bindings Language)이 있습니다. 이 언어는 XUL 위젯의 behavior를 선언하는데 쓰입니다.</p>
-<h3 id=".EB.B0.94.EC.9D.B8.EB.94.A9" name=".EB.B0.94.EC.9D.B8.EB.94.A9">바인딩</h3>
-<p>어플리케이션 사용자 인터페이스의 레이아웃을 정의하기 위해 XUL을 쓸 수 있습니다. 요소에 <a href="ko/XUL_Tutorial/Adding_Style_Sheets">스타일을 적용하여</a> 입맛대로 모양(look)을 바꿀 수 있습니다. 또한 스타일을 바꿔 <a href="ko/XUL_Tutorial/Creating_a_Skin">새 스킨을 만들</a> 수 있습니다.</p>
-<p><a href="ko/XUL_Tutorial/Scroll_Bars">스크롤 바</a>와 <a href="ko/XUL_Tutorial/Input_Controls#Checkboxes_and_Radio_Buttons">체크 박스</a> 같은 요소 모두의 기본 겉모양은 스타일 조정(adjust)이나 요소에 속성을 주어 수정해도 좋습니다. 그러나, XUL은 요소가 작동하는 법을 바꿀 수 있는 수단은 제공하지 않습니다. 예를 들면, 스크롤 바 막대가 기능하는 법을 바꾸고 싶을지도 모릅니다. 이를 이해서는, <a href="ko/XBL">XBL</a>이 필요합니다.</p>
-<p>XBL 파일은 바인딩 집합을 포함합니다. 각 바인딩은 XUL 위젯의 behavior를 기술합니다. 예를 들면, 바인딩은 스크롤 바에 부착될지도 모릅니다. behavior는 스크롤 바를 만드는 XUL 요소 기술뿐만 아니라 속성(property)과 메소드도 기술합니다.</p>
-<p>XUL처럼 XBL도 XML 언어입니다. 그래서 비슷한 구문 규칙이 있습니다. 다음 예는 XBL 파일의 기본 뼈대(skeleton)를 보입니다.</p>
-<pre>&lt;?xml version="1.0"?&gt;
-&lt;bindings xmlns="http://www.mozilla.org/xbl"&gt;
- &lt;binding id="binding1"&gt;
- &lt;!-- content, property, method and event descriptions go here --&gt;
- &lt;/binding&gt;
- &lt;binding id="binding2"&gt;
- &lt;!-- content, property, method and event descriptions go here --&gt;
- &lt;/binding&gt;
-&lt;/bindings&gt;
-</pre>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/bindings" title="bindings">bindings</a></code></code> 요소는 XBL 파일의 루트 요소고 하나 이상의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/binding" title="binding">binding</a></code></code> 요소를 포함합니다. 각 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/binding" title="binding">binding</a></code></code> 요소는 단일 바인딩으로 선언합니다. <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> 속성은 위 보기처럼 바인딩을 식별하기 위해 쓰일 수 있습니다. 템플릿에는 두 바인딩이 있습니다. 하나는 <code>binding1</code>으로 부르고 다른 하나는 <code>binding2</code>입니다. 하나는 스크롤 바에 다른 하나는 메뉴에 부착될지도 모릅니다. 바인딩은 어떤 XUL 요소에도 부착할 수 있습니다. CSS 클래스를 쓰면, 필요에 따라 많은 다양한 바인딩을 쓸 수 있습니다. 이것은 XBL 구문을 써서 선언합니다.</p>
-<p>바인딩 파일의 URL에 CSS 속성(property) <code><a href="ko/CSS/-moz-binding">-moz-binding</a></code>을 주어 요소에 바인딩을 할당합니다. 예를 들면,</p>
-<pre>scrollbar {
- -moz-binding: url('chrome://findfile/content/findfile.xml#binding1');
-}
-</pre>
-<p>URL은 파일 '<a class="external" rel="freelink">chrome://findfile/content/findfile.xml</a>' 안 id가 'binding1'인 바인딩을 가리킵니다.</p>
-<p>'#binding1' 구문은 HTML 파일에서 앵커(anchor)를 가리키는 것처럼 특정 바인딩을 가리키는데 쓰입니다. 보통 파일 하나에 바인딩을 전부 둘 겁니다. 이 예에서 결과는 모든 스크롤바 요소가 바인딩 'binding1'에 기술한 behavior를 지닐 겁니다.</p>
-<p>바인딩은 선언하는 다섯 가지 종류가 있습니다.</p>
-<ol>
- <li>컨텐트: 바인딩이 바운드되는 요소에 더하는 자식 요소.</li>
- <li>속성: 요소에 더하는 속성. 스크립트로 접근할 수 있습니다.</li>
- <li>메소드: 요소에 더하는 메소드. 스크립트에서 호출할 수 있습니다.</li>
- <li>이벤트: 요소가 반응할 마우스 클릭과 키누름 같은 이벤트. 바인딩은 기본 처리(handling)를 제공하는 스크립트를 더할 수 있습니다. 게다가 새 이벤트를 정의할 수도 있습니다.</li>
- <li>스타일: XBL이 정의한 요소의 사용자 정의 스타일 속성.</li>
-</ol>
-<h3 id=".EB.B0.94.EC.9D.B8.EB.94.A9_.EC.98.88.EC.A0.9C" name=".EB.B0.94.EC.9D.B8.EB.94.A9_.EC.98.88.EC.A0.9C">바인딩 예제</h3>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/box" title="box">box</a></code></code>는 사용자 정의 위젯을 만드는데 쓸 수 있을 만큼 충분히 일반적(generic)입니다(비록 어떤 요소라도 쓸 수 있지만). <code><code><a href="/ko/docs/Mozilla/Tech/XUL/box" title="box">box</a></code></code> 태그에 <code>class</code>를 할당하여 바인딩을 오직 그 클래스에 속하는 상자에 관련지을 수 있습니다. 다음 예가 이를 보입니다.</p>
-<pre class="eval"><b>XUL (example.xul):</b>
-
-&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;
-&lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://example/skin/example.css</a>" type="text/css"?&gt;
-
-&lt;window xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;
- &lt;box class="okcancelbuttons"/&gt;
-&lt;/window&gt;
-
-<b>CSS (example.css):</b>
-
-box.okcancelbuttons {
- -moz-binding: url('<a class="external" rel="freelink">chrome://example/skin/example.xml#okcancel'</a>);
-}
-
-<b>XBL (example.xml):</b>
-
-&lt;?xml version="1.0"?&gt;
-&lt;bindings xmlns="<span class="nowiki">http://www.mozilla.org/xbl</span>"
- xmlns:xul="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;
- &lt;binding id="okcancel"&gt;
- &lt;content&gt;
- &lt;xul:button label="OK"/&gt;
- &lt;xul:button label="Cancel"/&gt;
- &lt;/content&gt;
- &lt;/binding&gt;
-&lt;/bindings&gt;
-</pre>
-<p>이 예는 상자 하나가 있는 창을 만듭니다. 상자는 <code>okcancelbuttons</code>의 <code>class</code>가 있게 선언되었습니다. 파일과 관련 있는 스타일 시트는 <code>okcancelbuttons</code> 클래스가 있는 상자가 XBL 파일에 정의한 특수 바인딩을 갖는다고 말합니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/box" title="box">box</a></code></code> 말고도 다른 요소, 심지어 사용자 정의 테그를 쓸지도 모릅니다.</p>
-<p>다음 절에서 XBL의 세부 부분을 더 살펴보겠습니다. 그러나, 간략히 말하면 상자 안에 자동으로 버튼 2개(확인 버튼과 취소 버튼)를 더하게 합니다.</p>
-<p>다음 절에서는, <a href="ko/XUL_Tutorial/Anonymous_Content">XBL로 컨텐트 만들기</a>를 보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Property_Files" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Anonymous_Content">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/keyboard_shortcuts/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/keyboard_shortcuts/index.html
deleted file mode 100644
index 2b383d0c88..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/keyboard_shortcuts/index.html
+++ /dev/null
@@ -1,384 +0,0 @@
----
-title: Keyboard Shortcuts
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Keyboard_Shortcuts
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Keyboard_Shortcuts
----
-<p> </p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:More_Event_Handlers" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Focus_and_Selection">다음 »</a></p>
-</div><p></p>
-
-<p>여러분은 키보드에 응답하는 키보드 이벤트 핸들러를 사용할 수 있습니다. 그러나 모든 버튼과 메뉴 항목에 이벤트 핸들러를 사용하는 것은 정말 번거로운 일일 것입니다.</p>
-
-<h3 id=".ED.82.A4.EB.B3.B4.EB.93.9C_.EB.8B.A8.EC.B6.95.ED.82.A4_.EB.A7.8C.EB.93.A4.EA.B8.B0" name=".ED.82.A4.EB.B3.B4.EB.93.9C_.EB.8B.A8.EC.B6.95.ED.82.A4_.EB.A7.8C.EB.93.A4.EA.B8.B0">키보드 단축키 만들기</h3>
-
-<p>XUL에서는 키보드 단축키를 정의할 수 있는 방법을 제공합니다. 우리는 <a href="ko/XUL_Tutorial/Simple_Menu_Bars">메뉴 단원</a>에서 <code>accesskey</code> 속성에 대해 알아 보았습니다. 이 속성은 메뉴나 메뉴 항목을 활성화하기 위해 사용자가 누를 수 있는 키를 명시하는데 사용됩니다. 아래 예제에서는 Alt와 F(어떤 플랫폼에서는 다른 키 조합) 키를 눌러 File 메뉴를 선택할 수 있는 것을 보여주고 있습니다. File 메뉴가 열리면 Close 메뉴 항목은 C 키를 눌러 선택할 수 있습니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_keyshort_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_keyshort_1.xul">View</a></p>
-
-<pre>&lt;menubar id="sample-menubar"&gt;
- &lt;menu id="file-menu" label="File" accesskey="f"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menuitem id="close-command" label="Close" accesskey="c"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
-&lt;/menubar&gt;
-</pre>
-
-<p>여러분은 버튼에도 <code><code id="a-accesskey"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code></code> 속성을 사용할 수 있습니다. 버튼에 이 속성을 사용하고 키를 누르면 버튼이 선택(클릭)됩니다.</p>
-
-<p>그러나 여러분은 아마 좀 더 일반적인 방법으로 키보드 단축키를 설정하고 싶어할 것입니다. 예를 들어 클립보드로 텍스트를 복사하기 위해 Control+C를 누르는 것과 같은 것 말입니다. 이와 같은 단축키를 항상 사용할 수 있는 것은 아니지만 창이 열려있는 동안에는 대부분 동작할 것입니다. 보통 키보드 단축키는 아무때나 사용할 수 있고 스크립트를 사용해 무엇인지를 수행할지 여부를 검사할 수 있습니다. 예를 들어 텍스트가 선택되었을 때만 클립보드로 텍스트를 복사하는 것이 가능하도록 하게 검사할 수 있습니다.</p>
-
-<h4 id="key_.EC.9A.94.EC.86.8C" name="key_.EC.9A.94.EC.86.8C">key 요소</h4>
-
-<p>XUL에서는 하나의 창에서 사용할 키보드 단축키를 정의할 수 있게 해주는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/key" title="key">key</a></code></code> 요소를 제공합니다. 이 요소에는 누를 키와 같이 눌러야 하는 변경키(modifier key, Shift나 Control)를 명시할 수 있는 속성이 있습니다. 예제는 다음과 같습니다.</p>
-
-<pre>&lt;keyset&gt;
- &lt;key id="sample-key" modifiers="shift" key="R"/&gt;
-&lt;/keyset&gt;
-</pre>
-
-<p>위의 예제는 Shift와 R 키를 누를 때 활성화되는 단축키를 정의하고 있습니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/key" title="key">key</a></code></code> 속성(요소 이름과 동일합니다)은 어떤 키를 눌러야 할지를 나타내기 위해 사용되며 예제에서는 R 키입니다. 이 속성에는 눌러야하는 키에 해당하는 어떤 문자도 넣을 수 있습니다. 변경자는 항상 같이 눌러야 하는 키를 의미하며 <code><code id="a-modifiers"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/modifiers">modifiers</a></code></code> 속성으로 지정합니다. 이 속성은 공백으로 분리된 변경자 키 목록으로 입력하며, 아래의 값을 가질 수 있습니다.</p>
-
-<dl>
- <dt>alt </dt>
- <dd>사용자는 항상 Alt 키를 눌러야 합니다. Mac에서는 Option 키에 해당합니다.</dd>
- <dt>control </dt>
- <dd>사용자는 항상 Control 키를 눌러야 합니다.</dd>
- <dt>meta </dt>
- <dd>사용자는 항상 Meta 키를 눌러야 합니다. Mac에서는 Command 키에 해당합니다.</dd>
- <dt>shift </dt>
- <dd>사용자는 항상 Shift 키를 눌러야 합니다.</dd>
- <dt>accel </dt>
- <dd>사용자는 항상 특별한 가속키(accelerator key)를 눌러야 합니다. 여기에 사용되는 키는 사용자의 플랫폼에 따라 달라집니다. 보통 이 값을 사용하게 될 것입니다.</dd>
-</dl>
-
-<p>여러분의 키보드에서 이러한 모든 키를 제공하지 않을 것이며, 이 경우 키보드에 있는 변경키 중 하나와 연결될 것입니다.</p>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/key" title="key">key</a></code></code> 요소는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/keyset" title="keyset">keyset</a></code></code> 요소 내부에 위치해야 합니다. 이 요소는 <code>key</code> 요소를 포함하기 위해 고안된 것으로, 파일내 한 곳에서 모든 키 정의를 묶는 용도로 사용됩니다. <code>keyset</code> 요소 밖에 있는 <code>key</code> 요소는 동작하지 않습니다.</p>
-
-<p>일반적으로 각각의 플랫폼은 단축키를 위해 서로 다른 키를 사용합니다. 예를 들어, Windows는 Control 키를 사용하며, Mac에서는 Command 키를 사용합니다. 이렇게 플랫폼별로 서로 다른 <code>key</code> 요소를 정의하는 것은 불편할 것입니다. 운 좋게 해결책이 있습니다. <code>accel</code> 변경자는 플랫폼별로 단축키로 사용되는 특수 키를 나타냅니다. 이것은 다른 변경키와 동일하게 작동하면서도 각 플랫폼별로 동일하지 않을 수 있습니다.</p>
-
-<p>여기에 몇 가지 추가 예제가 있습니다.</p>
-
-<pre>&lt;keyset&gt;
- &lt;key id="copy-key" modifiers="control" key="C"/&gt;
- &lt;key id="explore-key" modifiers="control alt" key="E"/&gt;
- &lt;key id="paste-key" modifiers="accel" key="V"/&gt;
-&lt;/keyset&gt;
-</pre>
-
-<h4 id="keycode_.EC.86.8D.EC.84.B1" name="keycode_.EC.86.8D.EC.84.B1">keycode 속성</h4>
-
-<p><code><code id="a-key"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/key">key</a></code></code> 속성은 눌러야 하는 키를 지정하기 위해 사용됩니다. 그러나 문자로 나타낼 수 없는 키(Enter키나 기능키)를 지정하고 싶을 때도 있을 것입니다. <code><code id="a-key"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/key">key</a></code></code> 속성은 출력 가능한 문자에 대해서만 사용할 수 있습니다. 출력할 수 없는 문자는 <code><code id="a-keycode"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/keycode">keycode</a></code></code>라는 또 다른 속성을 이용해서 지정할 수 있습니다.</p>
-
-<p><code><code id="a-keycode"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/keycode">keycode</a></code></code> 속성에는 키를 나타내는 특별한 코드를 설정해야 합니다. 키 목록은 다음 표와 같습니다. 모든 키가 키보드 상에 있는 것은 아닙니다.</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td>VK_CANCEL</td>
- <td>VK_BACK</td>
- <td>VK_TAB</td>
- <td>VK_CLEAR</td>
- </tr>
- <tr>
- <td>VK_RETURN</td>
- <td>VK_ENTER</td>
- <td>VK_SHIFT</td>
- <td>VK_CONTROL</td>
- </tr>
- <tr>
- <td>VK_ALT</td>
- <td>VK_PAUSE</td>
- <td>VK_CAPS_LOCK</td>
- <td>VK_ESCAPE</td>
- </tr>
- <tr>
- <td>VK_SPACE</td>
- <td>VK_PAGE_UP</td>
- <td>VK_PAGE_DOWN</td>
- <td>VK_END</td>
- </tr>
- <tr>
- <td>VK_HOME</td>
- <td>VK_LEFT</td>
- <td>VK_UP</td>
- <td>VK_RIGHT</td>
- </tr>
- <tr>
- <td>VK_DOWN</td>
- <td>VK_PRINTSCREEN</td>
- <td>VK_INSERT</td>
- <td>VK_DELETE</td>
- </tr>
- <tr>
- <td>VK_0</td>
- <td>VK_1</td>
- <td>VK_2</td>
- <td>VK_3</td>
- </tr>
- <tr>
- <td>VK_4</td>
- <td>VK_5</td>
- <td>VK_6</td>
- <td>VK_7</td>
- </tr>
- <tr>
- <td>VK_8</td>
- <td>VK_9</td>
- <td>VK_SEMICOLON</td>
- <td>VK_EQUALS</td>
- </tr>
- <tr>
- <td>VK_A</td>
- <td>VK_B</td>
- <td>VK_C</td>
- <td>VK_D</td>
- </tr>
- <tr>
- <td>VK_E</td>
- <td>VK_F</td>
- <td>VK_G</td>
- <td>VK_H</td>
- </tr>
- <tr>
- <td>VK_I</td>
- <td>VK_J</td>
- <td>VK_K</td>
- <td>VK_L</td>
- </tr>
- <tr>
- <td>VK_M</td>
- <td>VK_N</td>
- <td>VK_O</td>
- <td>VK_P</td>
- </tr>
- <tr>
- <td>VK_Q</td>
- <td>VK_R</td>
- <td>VK_S</td>
- <td>VK_T</td>
- </tr>
- <tr>
- <td>VK_U</td>
- <td>VK_V</td>
- <td>VK_W</td>
- <td>VK_X</td>
- </tr>
- <tr>
- <td>VK_Y</td>
- <td>VK_Z</td>
- <td>VK_NUMPAD0</td>
- <td>VK_NUMPAD1</td>
- </tr>
- <tr>
- <td>VK_NUMPAD2</td>
- <td>VK_NUMPAD3</td>
- <td>VK_NUMPAD4</td>
- <td>VK_NUMPAD5</td>
- </tr>
- <tr>
- <td>VK_NUMPAD6</td>
- <td>VK_NUMPAD7</td>
- <td>VK_NUMPAD8</td>
- <td>VK_NUMPAD9</td>
- </tr>
- <tr>
- <td>VK_MULTIPLY</td>
- <td>VK_ADD</td>
- <td>VK_SEPARATOR</td>
- <td>VK_SUBTRACT</td>
- </tr>
- <tr>
- <td>VK_DECIMAL</td>
- <td>VK_DIVIDE</td>
- <td>VK_F1</td>
- <td>VK_F2</td>
- </tr>
- <tr>
- <td>VK_F3</td>
- <td>VK_F4</td>
- <td>VK_F5</td>
- <td>VK_F6</td>
- </tr>
- <tr>
- <td>VK_F7</td>
- <td>VK_F8</td>
- <td>VK_F9</td>
- <td>VK_F10</td>
- </tr>
- <tr>
- <td>VK_F11</td>
- <td>VK_F12</td>
- <td>VK_F13</td>
- <td>VK_F14</td>
- </tr>
- <tr>
- <td>VK_F15</td>
- <td>VK_F16</td>
- <td>VK_F17</td>
- <td>VK_F18</td>
- </tr>
- <tr>
- <td>VK_F19</td>
- <td>VK_F20</td>
- <td>VK_F21</td>
- <td>VK_F22</td>
- </tr>
- <tr>
- <td>VK_F23</td>
- <td>VK_F24</td>
- <td>VK_NUM_LOCK</td>
- <td>VK_SCROLL_LOCK</td>
- </tr>
- <tr>
- <td>VK_COMMA</td>
- <td>VK_PERIOD</td>
- <td>VK_SLASH</td>
- <td>VK_BACK_QUOTE</td>
- </tr>
- <tr>
- <td>VK_OPEN_BRACKET</td>
- <td>VK_BACK_SLASH</td>
- <td>VK_CLOSE_BRACKET</td>
- <td>VK_QUOTE</td>
- </tr>
- <tr>
- <td>VK_HELP</td>
- <td> </td>
- <td> </td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<p>예를 들어, 사용자가 Alt와 F5를 눌렀을 때 활성화되는 단축키를 만드려면 다음과 같이 하세요.</p>
-
-<pre>&lt;keyset&gt;
- &lt;key id="test-key" modifiers="alt" keycode="VK_F5"/&gt;
-&lt;/keyset&gt;
-</pre>
-
-<p>아래 예제는 좀 더 많은 단축키를 보여줍니다.</p>
-
-<pre>&lt;keyset&gt;
- &lt;key id="copy-key" modifiers="accel" key="C"/&gt;
- &lt;key id="find-key" keycode="VK_F3"/&gt;
- &lt;key id="switch-key" modifiers="control alt" key="1"/&gt;
-&lt;/keyset&gt;
-</pre>
-
-<p>첫 번째 키는 사용자가 사용하는 플랫폼에 해당하는 단축키와 C를 눌렀을 때 호출됩니다. 두번째는 F3을 눌렀을 때 호출됩니다. 세 번째는 Control키와 Alt키 그리고 1을 눌렀을 때 호출됩니다. 만일 키보드의 메인 영역에 있는 키와 숫자 패드에 있는 키를 구분하기 위해서는 VK_NUMPAD 키(VK_NUMPAD1과 같은 것)를 사용하세요.</p>
-
-<div class="note">
-<p>응용 프로그램에서 사용할 단축키의 선택과 관련된 더 많은 정보는 <a class="external" href="http://www.mozilla.org/access/keyboard/">Mozilla Keyboard Planning FAQ and Cross Reference</a>를 참조하세요.</p>
-</div>
-
-<h3 id=".ED.82.A4.EB.B3.B4.EB.93.9C_.EB.8B.A8.EC.B6.95.ED.82.A4_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0" name=".ED.82.A4.EB.B3.B4.EB.93.9C_.EB.8B.A8.EC.B6.95.ED.82.A4_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0">키보드 단축키 사용하기</h3>
-
-<p>어떻게 키보드 단축키를 정의하는지를 알았으니까, 이제는 사용 방법에 대해 알아보겠습니다. 두 가지 방법이 있습니다. 첫 번째는 가장 간단한 방법으로 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/key" title="key">key</a></code></code> 요소에서 키입력(keypress) 이벤트 핸들러를 사용하는 방법입니다. 사용자가 키를 누르면 스크립트가 호출됩니다. 예제는 다음과 같습니다.</p>
-
-<pre>&lt;keyset&gt;
- &lt;key id="copy-key" modifiers="accel" key="C" oncommand="DoCopy();"/&gt;
-&lt;/keyset&gt;
-</pre>
-
-<p><code>DoCopy</code> 함수는 사용자가 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/key" title="key">key</a></code></code> 요소에서 명시한 키를 눌렀을때 호출됩니다. 위 예제에서는 클립보드에 복사하는 키(Control+C)입니다. 이 단축키는 창이 열려있는 동안은 계속 동작합니다. <code>DoCopy</code> 함수는 텍스트가 선택되어 있는지 검사한 후 클립보드에 선택한 텍스트를 복사할 것입니다. 텍스트상자는 원래 클립보드와 관련된 단축키가 있으므로 구현할 필요는 없다는 것을 기억하세요.</p>
-
-<h4 id=".EB.A9.94.EB.89.B4.EC.97.90_.ED.82.A4.EB.B3.B4.EB.93.9C_.EB.8B.A8.EC.B6.95.ED.82.A4_.EC.A7.80.EC.A0.95.ED.95.98.EA.B8.B0" name=".EB.A9.94.EB.89.B4.EC.97.90_.ED.82.A4.EB.B3.B4.EB.93.9C_.EB.8B.A8.EC.B6.95.ED.82.A4_.EC.A7.80.EC.A0.95.ED.95.98.EA.B8.B0">메뉴에 키보드 단축키 지정하기</h4>
-
-<p>메뉴에 있는 명령에 대한 키보드 단축키를 지정할 경우에는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/key" title="key">key</a></code></code> 요소와 메뉴 명령을 직접 연결할 수 있습니다. 이를 위해서는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></code> 요소에 <code><code id="a-key"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/key">key</a></code></code> 속성을 추가하면 됩니다. 이 속성에는 사용할 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/key" title="key">key</a></code></code> 요소의 <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code>값을 지정하면 됩니다. 예제는 다음과 같습니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_keyshort_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_keyshort_2.xul">View</a></p>
-
-<div class="float-right"><img alt="Image:keyshort1.jpg"></div>
-
-<pre>&lt;keyset&gt;
- &lt;key id="paste-key" modifiers="accel" key="V"
- oncommand="alert('Paste invoked')"/&gt;
-&lt;/keyset&gt;
-
-&lt;menubar id="sample-menubar"&gt;
- &lt;menu id="edit-menu" label="Edit" accesskey="e"&gt;
- &lt;menupopup id="edit-popup"&gt;
- &lt;menuitem id="paste-command"
- accesskey="p" key="paste-key"
- label="Paste" oncommand="alert('Paste invoked')"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
-&lt;/menubar&gt;
-</pre>
-
-<p>위 예제에서 메뉴 항목의 <code><code id="a-key"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/key">key</a></code></code> 속성값은 <code>paste-key</code>로 앞에서 정의된 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/key" title="key">key</a></code></code> 요소의 <code>id</code>와 동일한 값입니다. 여러분은 이 값을 여러개의 메뉴 항목에 대한 키보드 단축키로 여러번 사용할 수 있습니다.</p>
-
-<p>여러분은 그림에서 보듯이 Paste 메뉴 옆에 Control과 V키 텍스트가 위치하는 것을 볼 수 있으며, 이는 이 메뉴를 호출하기 위해 이 키 조합을 누르면 된다는 것을 나타냅니다. 이것은 <code>key</code> 요소에 있는 <code>modifier</code> 속성에 따라 자동으로 추가됩니다. 메뉴에 연결되는 키보드 단축키는 메뉴가 열리지 않은 상태에서도 동작합니다.</p>
-
-<p>키 정의의 또 다른 기능은 쉽게 사용 불가능한 상태로 만들 수 있다는 것입니다. 이를 위해서는 <code>key</code> 요소에 <code><code id="a-disabled"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></code> 속성을 추가하고 <code>true</code>값으로 설정하면 됩니다. 이렇게 지정하면 해당 키보드 단축키는 사용 불가능한 상태이면 따라서 키를 누르더라도 호출되지 않습니다. 스크립트를 이용해 <code>disabled</code> 속성을 변경는 것은 유용한 기능입니다.</p>
-
-<div class="highlight">
-<h4 id=".ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C" name=".ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C">파일 찾기 예제</h4>
-
-<p>파일 찾기 대화창을 위한 키보드 단축키를 추가해 보겠습니다. 4개의 단축키를 넣을 것인데, Cut, Copy, Paste 명령에 각각 하나씩과 ESC를 눌렀을 경우 사용할 Close 명령에 하나를 추가할 것입니다.</p>
-
-<pre class="eval"><span class="highlightred">&lt;keyset&gt;
- &lt;key id="cut_cmd" modifiers="accel" key="X"/&gt;
- &lt;key id="copy_cmd" modifiers="accel" key="C"/&gt;
- &lt;key id="paste_cmd" modifiers="accel" key="V"/&gt;
- &lt;key id="close_cmd" keycode="VK_ESCAPE" oncommand="window.close();"/&gt;
-&lt;/keyset&gt;</span>
-
-&lt;vbox flex="1"&gt;
- &lt;toolbox&gt;
- &lt;menubar id="findfiles-menubar"&gt;
- &lt;menu id="file-menu" label="File" accesskey="f"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menuitem label="Open Search..." accesskey="o"/&gt;
- &lt;menuitem label="Save Search..." accesskey="s"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="Close" accesskey="c" <span class="highlightred">key="close_cmd"</span>
- oncommand="window.close();"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menu id="edit-menu" label="Edit" accesskey="e"&gt;
- &lt;menupopup id="edit-popup"&gt;
- &lt;menuitem label="Cut" accesskey="t" <span class="highlightred">key="cut_cmd"</span>/&gt;
- &lt;menuitem label="Copy" accesskey="c" <span class="highlightred">key="copy_cmd"</span>/&gt;
- &lt;menuitem label="Paste" accesskey="p" <span class="highlightred">key="paste_cmd"</span> disabled="true"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
-</pre>
-
-<p>이제 우리는 명령을 실행하기 위해 단축키를 사용할 수 있습니다. 물론 아직 클립보드와 관련된 스크립트를 작성하지 않았기 때문에 아무것도 수행되지는 않을 것입니다.</p>
-</div>
-
-<h3 id=".ED.82.A4_.EC.9D.B4.EB.B2.A4.ED.8A.B8" name=".ED.82.A4_.EC.9D.B4.EB.B2.A4.ED.8A.B8">키 이벤트</h3>
-
-<p>위에서 언급한 키와 관련된 기능이 적당하지 않은 경우에 사용할 수 있는 세 가지 키보드 이벤트가 있습니다. 이 이벤트는 다음과 같습니다.</p>
-
-<dl>
- <dt>keypress </dt>
- <dd>포커스를 가진 요소에 키가 눌러졌다가 때어질때 호출됩니다. 입력필드에 특정 문자만 입력 가능 하도록 하고자 할 때 사용할 수 있습니다.</dd>
- <dt>keydown </dt>
- <dd>포커스를 가진 요소에 키가 눌러졌을 때 호출됩니다. 이 이벤트는 키를 누른 후 때지 않더라도 발생합니다.</dd>
- <dt>keyup </dt>
- <dd>포커스를 가진 요소에 눌러진 키가 떨어질 때 호출됩니다.</dd>
-</dl>
-
-<p>키 이벤트는 포커스를 가진 요소로만 전달됩니다. 일반적으로 텍스트상자, 버튼, 체크박스 등이 이에 해당합니다. 포커스를 가진 요소가 아무것도 없다면 XUL 문서가 이벤트의 대상이 됩니다. 이 경우, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/window" title="window">window</a></code></code> 태그에 이벤트 리스너를 추가할 수 있습니다. 그렇지만 일반적으로 전역적인 키에 응답하는 경우에는 앞에서 언급한 키보드 단축키를 사용합니다.</p>
-
-<p>키의 <a href="ko/DOM/event">이벤트 객체</a>는 눌러진 키에 대한 정보를 담고 있는 두 가지 속성이 있습니다. <code><a href="ko/DOM/event.keyCode">keyCode</a></code> 속성은 키 코드를 가지고 있으며 앞 절에서 본 키 테이블에 있는 상수들 중 하나와 비교될 수 있습니다. <code><a href="ko/DOM/event.charCode">charCode</a></code> 속성은 출력 가능한 문자로 눌러진 키에 해당하는 문자 코드를 담고 있습니다.</p>
-
-<div class="highlight"><span id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"><a id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"></a><strong>지금까지의 파일 찾기 예제</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-keyshort.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-keyshort.xul">View</a></div>
-
-<p>다음 절에서는 <a href="ko/XUL_Tutorial/Focus_and_Selection">포커스와 선택을 처리</a>하는 방법에 대해 알아보겠습니다.</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:More_Event_Handlers" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Focus_and_Selection">다음 »</a></p>
-</div><p></p>
-
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/list_controls/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/list_controls/index.html
deleted file mode 100644
index de4f6124da..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/list_controls/index.html
+++ /dev/null
@@ -1,133 +0,0 @@
----
-title: List Controls
-slug: Mozilla/Tech/XUL/XUL_Tutorial/List_Controls
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/List_Controls
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Input_Controls" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Progress_Meters">다음 »</a></p>
-</div><p></p>
-<p>XUL은 목록 상자를 생성하는 여러 요소의 형식을 가지고 있습니다.</p>
-<h3 id=".EB.AA.A9.EB.A1.9D_.EC.83.81.EC.9E.90" name=".EB.AA.A9.EB.A1.9D_.EC.83.81.EC.9E.90">목록 상자</h3>
-<p>목록 상자는 목록에서 여러 항목을 표시하는 데 사용됩니다. 사용자는 리스트에서 어떤 항목을 선택할 수 있습니다.</p>
-<p>XUL은 목록을 생성하기 위해 두 가지 요소 타입을 제공하는데, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listbox" title="listbox">listbox</a></code></code> 요소는 다중 행 목록 상자를, 그리고 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code></code>요소는 드롭다운 목록 상자를 생성합니다. 이들은 HTML <code>select</code> 요소와 유사한 방식으로 작업을 하면서, 두 가지 기능 모두 수행하지만, XUL의 요소는 추가적인 기능을 가지고 있습니다.</p>
-<p>가장 단순한 목록 상자는 상자 자체에 대해서는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listbox" title="listbox">listbox</a></code></code>를 사용하고, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listitem" title="listitem">listitem</a></code></code> 요소는 각 항목으로 사용합니다. 예제를 보면, 이 목록 상자는 4개의 행을 가지면서, 각 항목마다 하나씩입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_1.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:lists1.png"></div>
-<pre>&lt;listbox&gt;
- &lt;listitem label="Butter Pecan"/&gt;
- &lt;listitem label="Chocolate Chip"/&gt;
- &lt;listitem label="Raspberry Ripple"/&gt;
- &lt;listitem label="Squash Swirl"/&gt;
-&lt;/listbox&gt;
-</pre>
-<p>HTML의 <code>option</code> 요소가 가진 것과 마찬가지로, 사용자는 <code><code id="a-value"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/value">value</a></code></code> 속성을 사용해서 각 항목에 대해 값을 할당할 수 있습니다. 그리고 나서 스크립트로 해당 값을 사용할 수 있습니다. 목록 상자는 적당한 크기를 기본으로 설정하지만, <code><code id="a-rows"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/rows">rows</a></code></code> 속성으로 크기를 제어할 수 있습니다. 목록 상자에 출력될 행 수를 지정하기 위해 값을 설정하세요. <code>rows</code> 값 보다 더 많은 행이 있으면 이를 표시할 수 있는 스크롤바가 나타납니다.</p>
-<p>다음의 예제는 이러한 추가 기능을 설명합니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_2.xul">View</a></p>
-<pre>&lt;listbox rows="3"&gt;
- &lt;listitem label="Butter Pecan" value="bpecan"/&gt;
- &lt;listitem label="Chocolate Chip" value="chocchip"/&gt;
- &lt;listitem label="Raspberry Ripple" value="raspripple"/&gt;
- &lt;listitem label="Squash Swirl" value="squash"/&gt;
-&lt;/listbox&gt;
-</pre>
-<p>이 예제는 한번에 단 3개 행만을 표시하도록 변경된 것입니다. 또한 목록에 있는 각 항목에 값이 추가되었습니다. 목록 상자는 더 많은 기능을 제공하며, 다음에서 설명하고 있습니다.</p>
-<h3 id=".EB.8B.A4.EC.A4.91.EC.97.B4_.EB.AA.A9.EB.A1.9D_.EC.83.81.EC.9E.90" name=".EB.8B.A4.EC.A4.91.EC.97.B4_.EB.AA.A9.EB.A1.9D_.EC.83.81.EC.9E.90">다중열 목록 상자</h3>
-<p>목록 상자는 다중열을 지원합니다. 셀에는 보통 텍스트가 쓰이지만 어떤 컨텐츠도 포함할 수 있습니다. 사용자가 목록에서 항목을 선택하면 행 전체가 선택되며, 하나의 셀만 선택되도록 할 수는 없습니다.</p>
-<p>목록 상자에 열을 명시하기 위해서는 2개의 태그가 사용됩니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listcols" title="listcols">listcols</a></code></code> 요소는 열의 정보를 담기 위해 사용되며, 각 열에 대한 정보는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listcol" title="listcol">listcol</a></code></code>요소를 사용해 명시합니다. 목록 상자의 각 열별로 하나의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listcol" title="listcol">listcol</a></code></code> 요소가 필요합니다.</p>
-<p>행에 포함되는 각 셀은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listcell" title="listcell">listcell</a></code></code> 요소를 사용해 표현합니다. 3개의 열을 표현하려면, 각각의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listitem" title="listitem">listitem</a></code></code> 내부에 3개의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listcell" title="listcell">listcell</a></code></code>을 넣어야 합니다. 셀의 텍스트 컨텐츠를 명시하려면 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listcell" title="listcell">listcell</a></code></code> 요소의 <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> 속성을 사용합니다. 하나의 열만 있는 단순한 경우에는 <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> 속성을 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listitem" title="listitem">listitem</a></code></code> 요소에 직접 넣을 수 있으며, 이럴 경우에는 앞서 보았던 목록 상자 예제처럼 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listcell" title="listcell">listcell</a></code></code> 요소가 전혀 필요 없습니다.</p>
-<p>다음은 두 개의 열과 세개의 행을 가진 목록 박스 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_3.xul">View</a></p>
-<pre>&lt;listbox&gt;
- &lt;listcols&gt;
- &lt;listcol/&gt;
- &lt;listcol/&gt;
- &lt;/listcols&gt;
- &lt;listitem&gt;
- &lt;listcell label="George"/&gt;
- &lt;listcell label="House Painter"/&gt;
- &lt;/listitem&gt;
- &lt;listitem&gt;
- &lt;listcell label="Mary Ellen"/&gt;
- &lt;listcell label="Candle Maker"/&gt;
- &lt;/listitem&gt;
- &lt;listitem&gt;
- &lt;listcell label="Roger"/&gt;
- &lt;listcell label="Swashbuckler"/&gt;
- &lt;/listitem&gt;
-&lt;/listbox&gt;
-</pre>
-<h3 id=".EB.A8.B8.EB.A6.AC_.ED.96.89" name=".EB.A8.B8.EB.A6.AC_.ED.96.89">머리 행</h3>
-<p>목록 상자에서는 특별한 머리 행을 사용할 수 있습니다. 이것은 일반적인 행과 비슷하지만 다른 모양으로 출력됩니다. 이것은 열 머리를 만들기 위해 사용할 수 있으며, 두 개의 새로운 요소가 사용됩니다.</p>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/listhead" title="listhead">listhead</a></code></code> 요소는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/listitem" title="listitem">listitem</a></code></code>가 보통 행에 사용되는 것처럼, 머리 행을 위해 사용합니다. 머리 행은 보통 행이 아니라서, 스크립트를 이용해 목록 상자의 첫번째 행을 얻으려고 할 경우 무시됩니다.</p>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/listheader" title="listheader">listheader</a></code></code> 요소는 머리 행의 각 셀에 사용됩니다. 머리 셀의 라벨을 지정하기 위해서는 <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> 속성을 사용하세요.</p>
-<p>다음은 예제 3에 머리 행을 추가한 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_4"><a id="%EC%98%88%EC%A0%9C_4"></a><strong>예제 4</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_4.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_4.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:morelists1.png"></div>
-<pre>&lt;listbox&gt;
-
- &lt;listhead&gt;
- &lt;listheader label="Name"/&gt;
- &lt;listheader label="Occupation"/&gt;
- &lt;/listhead&gt;
-
- &lt;listcols&gt;
- &lt;listcol/&gt;
- &lt;listcol flex="1"/&gt;
- &lt;/listcols&gt;
-
- &lt;listitem&gt;
- &lt;listcell label="George"/&gt;
- &lt;listcell label="House Painter"/&gt;
- &lt;/listitem&gt;
- &lt;listitem&gt;
- &lt;listcell label="Mary Ellen"/&gt;
- &lt;listcell label="Candle Maker"/&gt;
- &lt;/listitem&gt;
- &lt;listitem&gt;
- &lt;listcell label="Roger"/&gt;
- &lt;listcell label="Swashbuckler"/&gt;
- &lt;/listitem&gt;
-
-&lt;/listbox&gt;
-</pre>
-<p>위 예제에서는 열을 유연하게 만들기 위해 <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code> 속성을 사용하였습니다. 이 속성은 다음 절에서 설명하겠지만, 여기서는 열이 남은 공간을 모두 채우도록 하는데 사용하고 있습니다. 여러분이 창의 크기를 변경하면 열이 창만큼 늘어나는 것을 볼 수 있을 것입니다. 창의 크기가 줄어들면, 셀안에 있는 라벨이 자동으로 잘려 지고 생략부호가 출력됩니다. 생략부호가 출력되지 않도록 하기 위해서는 셀이나 아이템에 <code><code id="a-crop"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/crop">crop</a></code></code> 속성을 <code>none</code>으로 설정하면 됩니다.</p>
-<h3 id=".EB.93.9C.EB.A1.AD.EB.8B.A4.EC.9A.B4_.EB.AA.A9.EB.A1.9D" name=".EB.93.9C.EB.A1.AD.EB.8B.A4.EC.9A.B4_.EB.AA.A9.EB.A1.9D">드롭다운 목록</h3>
-<p>드롭다운 목록은 <code>select</code> 요소를 사용하여 HTML에서 생성할 수 있습니다. 사용자는 텍스트상자에서 하나만 선택된 것을 볼 수도 그리고 화살표를 클릭하거나 다른 선택을 하기 위해 텍스트상자 옆에 있는 유사한 버튼을 클릭할 수도 있습니다. 다른 선택사항은 팝업창에 나타날 것입니다. XUL은 이런 목적에 사용할 수 잇는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code></code> 요소를 가지고 있습니다. 이것은 텍스트상자와 그 옆에 있는 버튼으로 이루어집니다. 이름이 선택된 것은 내부에서 선택된 메뉴로 띄워졌기 때문입니다.</p>
-<p>드롭다운 상자를 기술하기 위해서는 세 가지 요소가 필요합니다. 첫번째는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code></code> 요소로 버튼을 가진 텍스트상자를 생성합니다. 두번째는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code>으로 버튼을 클릭했을 때 나타나는 팝업창을 생성합니다. 세번재는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></code>으로 개별 선택 항목을 생성합니다.</p>
-<p>다음의 예제는 이런한 점을 잘 설명하고 있는 구문입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_5"><a id="%EC%98%88%EC%A0%9C_5"></a><strong>예제 5</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_5.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_5.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:inputs2.png"></div>
-<pre>&lt;menulist label="Bus"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Car"/&gt;
- &lt;menuitem label="Taxi"/&gt;
- &lt;menuitem label="Bus" selected="true"/&gt;
- &lt;menuitem label="Train"/&gt;
- &lt;/menupopup&gt;
-&lt;/menulist&gt;
-</pre>
-<p>위의 menulist는 4가지 선택 항목을 담고있는 데, 각각은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></code> 요소에 해당 합니다. 선택 항목을 보이도록 하려면 menulist에서 화살 버튼(▼)을 클릭합니다. 하나를 선택하면, menulist에서 선택된 것이 나타납니다. <code><code id="a-selected"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/selected">selected</a></code></code> 속성은 기본적으로 선택된 값을 지정하는 데 사용됩니다.</p>
-<h4 id=".ED.8E.B8.EC.A7.91_.EA.B0.80.EB.8A.A5.ED.95.9C_.EB.A9.94.EB.89.B4.EB.AA.A9.EB.A1.9D" name=".ED.8E.B8.EC.A7.91_.EA.B0.80.EB.8A.A5.ED.95.9C_.EB.A9.94.EB.89.B4.EB.AA.A9.EB.A1.9D">편집 가능한 메뉴목록</h4>
-<p>기본적으로 사용자는 목록에서 선택항목을 선택할 수만 있습니다. 여러분은 직접 타이핑해서 입력 할 수는 없습니다. 또 다른 종류의 menulist은 필드에서 텍스트 편집을 허용합니다. 예를 들면, 브라우저의 URL 필드 이전에 타이핑한 URL 선택을 위한 드롭다운 메뉴가 있는 데, 거기에 입력할 수도 있습니다.</p>
-<p>편집가능한 menulist를 만들려면, 다음과 같은 <code><code id="a-editable"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/editable">editable</a></code></code> 속성을 추가하면 됩니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_6"><a id="%EC%98%88%EC%A0%9C_6"></a><strong>예제 6</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_6.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_lists_6.xul">View</a></p>
-<pre>&lt;menulist editable="true"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="www.mozilla.org"/&gt;
- &lt;menuitem label="www.xulplanet.com"/&gt;
- &lt;menuitem label="www.dmoz.org"/&gt;
- &lt;/menupopup&gt;
-&lt;/menulist&gt;
-</pre>
-<p>생성된 URL 필드는 사용자가 선택할 수 있는 이미 설정된 선택 항목을 가지고 있으면서 또한 필드에다 사용자 자신이 타이핑할 수도 있습니다. 사용자가 입력한 텍스트는 새로운 선택항목으로 추가되지는 않습니다. <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> 속성은 이 예제에선 사용되지 않았기 때문에, 기본 값은 공백으로 처리되게 됩니다.</p>
-<p>다음 장에서는 <a href="ko/XUL_Tutorial/Progress_Meters">진행 지시자 만들기</a>를 익혀 보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Input_Controls" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Progress_Meters">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/localization/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/localization/index.html
deleted file mode 100644
index 7ca10f7172..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/localization/index.html
+++ /dev/null
@@ -1,279 +0,0 @@
----
-title: Localization
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Localization
-tags:
- - Localization
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Localization
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Creating_a_Skin" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Property_Files">다음 »</a></p>
-</div><p></p>
-<p>XUL과 XML은 지역화를 허락하는 편리한 방법인 엔티티(entity)를 제공합니다.</p>
-<h3 id=".EC.97.94.ED.8B.B0.ED.8B.B0" name=".EC.97.94.ED.8B.B0.ED.8B.B0">엔티티</h3>
-<p>많은 응용프로그램은 될 수 있는 대로 인터페이스를 다른 언어로 옮기기 간단하게 만듭니다. 보통은, 각 언어를 위해 문자열 표를 만듭니다. 응용프로그램에 직접 하드코딩한 텍스트 대신, 각 언어별 텍스트는 오직 문자열 표로 만든 참조입니다. <a href="ko/XML">XML</a>은 비슷한 목적으로 쓸 수 있는 엔티티를 제공합니다.</p>
-<p>여러분이 <a href="ko/HTML">HTML</a>를 써 봤다면 엔티티와는 벌써 친숙할 겁니다. 코드 <code>&amp;lt;</code>와 <code>&amp;gt;</code>는 텍스트에 less than(~보다 적은)과 greater than(~보다 큰) 기호로 놓고 쓸 수 있는 엔티티 예입니다. XML에는 사용자 정의 엔티티를 선언하게 하는 문법이 있습니다. 여러분은 엔티티가 그 값(하나로 이어진 텍스트일 수 있는)으로 치환되도록 사용자 정의 엔티티를 쓸 수 있습니다. 엔티티가 속성값을 포함하는 텍스트마다 쓰일 지도 모릅니다. 아래 예는 버튼에 쓰이는 엔티티를 실제로 보입니다.</p>
-<pre>&lt;button label="&amp;findLabel;"/&gt;
-</pre>
-<p>label에 나타날 텍스트는 엔티티 <code>&amp;findLabel;</code>의 값입니다. 파일은 지원하는 각 언어를 위한 엔티티 선언을 포함하여 만듭니다. 영어에서, <code>&amp;findLabel;</code> 엔티티는 아마도 "Find" 텍스트 값으로 선언될 겁니다.</p>
-<h3 id="DTD_.ED.8C.8C.EC.9D.BC" name="DTD_.ED.8C.8C.EC.9D.BC">DTD 파일</h3>
-<p>엔티티는 DTD (
- <i>
- 문서 형 선언</i>
- ) 파일에 선언합니다. 이 형의 파일은 보통 특정 XML 파일의 문법과 의미를 선언하는데 쓰지만 또한 엔티티 선언에 씁니다. Mozilla chrome 시스템에서, &lt;tt&gt;locales&lt;/tt&gt; 하위디렉토리에 있는 DTD 파일을 발견할 겁니다. 보통 XUL 파일당 DTD 파일(확장자가 &lt;tt&gt;.dtd&lt;/tt&gt;) 하나입니다.</p>
-<p>chome 디렉토리를 들여다보면, 당신 언어를 위한 압축(archive) 파일이 보입니다. (&lt;tt&gt;en-US.jar&lt;/tt&gt;는 영어 기본값입니다.) 여러 언어 locale 파일이 있을 지도 모릅니다. 예를 들어, 미국 영어(en-US)와 프랑스어(fr). 이 압축 파일 안에서, 각 창을 위한 지역화 텍스트를 담은 파일을 발견할 겁니다. 압축 파일의 구조는 <a href="ko/XUL_Tutorial/Creating_a_Skin">스킨</a>에 쓰는 디렉토리 구조와 매우 비슷합니다.</p>
-<p>압축 파일 안에, 엔티티를 선언한 DTD 파일을 둡니다. 대체로, 각 XUL 파일에 DTD 파일 하나이고 보통은 &lt;tt&gt;.dtd&lt;/tt&gt; 확장자를 빼면 같은 파일명입니다. 그래서 파일 찾기(find files) 대화상자는 findfile.dtd로 이름 붙인 파일이 필요합니다.</p>
-<p>설치하지 않은 chrome 파일을 위해서는, 그냥 XUL 파일과 같은 디렉토리에 DTD 파일을 둘 수 있습니다.</p>
-<div class="note">
- <b>주의:</b> 아스키가 아닌 문자를 위해 DTD 파일을 UTF-8N으로 인코드해야 합니다.</div>
-<p>한 번 XUL에 DTD 파일을 만들면, XUL 파일에 쓰고 싶은 DTD 파일을 나타내는 줄이 XUL 파일에 필요합니다. 그렇지 않으면, 엔티티를 찾을 수 없을 거라는 에러가 발생합니다. 이를 위해, XUL 파일 위쪽쯤에 다음 꼴로 한 줄을 추가하세요.</p>
-<pre>&lt;!DOCTYPE window SYSTEM "chrome://findfile/locale/findfile.dtd"&gt;
-</pre>
-<p>이 줄은 나타낸 URL이 파일을 위한 DTD로 쓰임을 지정합니다. 이 경우에, 우리는 &lt;tt&gt;findfile.dtd&lt;/tt&gt; 파일을 쓰기 원한다고 선언했습니다. 이 줄은 보통 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/window" title="window">window</a></code></code> 요소 바로 앞에 둡니다.</p>
-<h3 id=".EC.97.94.ED.8B.B0.ED.8B.B0_.EC.84.A0.EC.96.B8.ED.95.98.EA.B8.B0" name=".EC.97.94.ED.8B.B0.ED.8B.B0_.EC.84.A0.EC.96.B8.ED.95.98.EA.B8.B0">엔티티 선언하기</h3>
-<p>엔티티는 아래 보는 대로 간단한 문법을 써서 선언합니다.</p>
-<pre>&lt;!ENTITY findLabel "Find"&gt;
-</pre>
-<p>이 예는 이름이 <code>findLabel</code>이고 값이 "Find"인 엔티티를 만듭니다. 이는 텍스트 "&amp;findLabel;"가 XUL 파일에 나타날 때마다, 텍스트 "Find"로 바꿈을 뜻합니다. 엔티티 선언은 선언 끝에 끌리는(trailing) 빗금(/)이 없음을 유념하세요. 다른 언어를 위한 DTD 파일에서는, 그 언어를 위한 텍스트가 대신 쓰입니다.</p>
-<pre class="eval"><b>for Korean:</b>
-&lt;!ENTITY findLabel "찾기"&gt;
-</pre>
-<p>예를 들면, 다음 텍스트는</p>
-<pre>&lt;description value="&amp;findLabel;"/&gt;
-</pre>
-<p>아래처럼 옮깁니다.</p>
-<pre class="eval"><b>English version:</b>
-&lt;description value="Find"/&gt;
-
-<b>Korean version:</b>
-&lt;description value="찾기"/&gt;
-</pre>
-<p>여러분은 인터페이스에 쓸 라벨이나 텍스트 문자열을 위한 엔티티를 선언합니다. XUL 파일에 직접 표시할 텍스트가 전혀 없어도 좋습니다.</p>
-<p>텍스트 라벨를 위한 엔티티 사용 외에도, 엔티티를 다른 언어에서는 서로 다른 아무 값에 써도 좋습니다. 예를 들면, <a href="ko/XUL_Tutorial/Keyboard_Shortcuts">키보드 단축키</a></p>
-<pre class="eval"> <b>XUL</b>
- &lt;menuitem label="&amp;undo.label;" accesskey="&amp;undo.key;"/&gt;
- <b>DTD</b>
- &lt;!ENTITY undo.label "Undo"&gt;
- &lt;!ENTITY undo.key "u"&gt;
-</pre>
-<p>위 예는 엔티티 둘을 씁니다. 실행 취소 메뉴 항목 라벨에 하나 그리고 단축키를 위해 하나.</p>
-<p> </p>
-<div class="highlight">
- <h3 id="Find_Files_.EC.98.88.EC.A0.9C_.EB.B0.94.EA.BE.B8.EA.B8.B0" name="Find_Files_.EC.98.88.EC.A0.9C_.EB.B0.94.EA.BE.B8.EA.B8.B0">Find Files 예제 바꾸기</h3>
- <p>모든 텍스트 문자열을 위해 DTD 파일을 쓰도록 find files 대화상자를 수정하여 어떻게 이 모두를 함께 놓는지 살펴봅시다. 전체 XUL 파일은 빨간색으로 쓴 바뀐 부분과 함께 아래에 보입니다.</p>
- <pre class="eval">&lt;?xml version="1.0"?&gt;
-
-&lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://global/skin/</a>" type="text/css"?&gt;
-&lt;?xml-stylesheet href="findfile.css" type="text/css"?&gt;
-
-<span class="highlightred">&lt;!DOCTYPE window SYSTEM "<a class="external" rel="freelink">chrome://findfile/locale/findfile.dtd</a>"&gt;</span>
-
-&lt;window
- id="findfile-window"
- title="<span class="highlightred">&amp;findWindow.title;</span>"
- persist="screenX screenY width height"
- orient="horizontal"
- onload="initSearchList()"
- xmlns="<span class="nowiki">http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;
-
-&lt;script src="findfile.js"/&gt;
-
-&lt;popupset&gt;
- &lt;popup id="editpopup"&gt;
- &lt;menuitem label="Cut" accesskey="<span class="highlightred">&amp;cutCmd.accesskey;</span>"/&gt;
- &lt;menuitem label="Copy" accesskey="<span class="highlightred">&amp;copyCmd.accesskey;</span>"/&gt;
- &lt;menuitem label="Paste" accesskey="<span class="highlightred">&amp;pasteCmd.accesskey;</span>" disabled="true"/&gt;
- &lt;/popup&gt;
-&lt;/popupset&gt;
-
-&lt;keyset&gt;
- &lt;key id="cut_cmd" modifiers="accel" key="<span class="highlightred">&amp;cutCmd.commandkey;</span>"/&gt;
- &lt;key id="copy_cmd" modifiers="accel" key="<span class="highlightred">&amp;copyCmd.commandkey;</span>"/&gt;
- &lt;key id="paste_cmd" modifiers="accel" key="<span class="highlightred">&amp;pasteCmd.commandkey;</span>"/&gt;
- &lt;key id="close_cmd" keycode="VK_ESCAPE" oncommand="window.close();"/&gt;
-&lt;/keyset&gt;
-
-&lt;vbox flex="1"&gt;
-
- &lt;toolbox&gt;
-
- &lt;menubar id="findfiles-menubar"&gt;
- &lt;menu id="file-menu" label="<span class="highlightred">&amp;fileMenu.label;</span>"
- accesskey="<span class="highlightred">&amp;fileMenu.accesskey;</span>"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menuitem label="<span class="highlightred">&amp;openCmd.label;</span>"
- accesskey="<span class="highlightred">&amp;openCmd.accesskey;</span>"/&gt;
- &lt;menuitem label="<span class="highlightred">&amp;saveCmd.label;</span>"
- accesskey="<span class="highlightred">&amp;saveCmd.accesskey;</span>"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="<span class="highlightred">&amp;closeCmd.label;</span>"
- accesskey="<span class="highlightred">&amp;closeCmd.accesskey;" key="close_cmd" oncommand="window.close();</span>"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menu id="edit-menu" label="<span class="highlightred">&amp;editMenu.label;</span>"
- accesskey="<span class="highlightred">&amp;editMenu.accesskey;</span>"&gt;
- &lt;menupopup id="edit-popup"&gt;
- &lt;menuitem label="<span class="highlightred">&amp;cutCmd.label;</span>"
- accesskey="<span class="highlightred">&amp;cutCmd.accesskey;</span>" key="cut_cmd"/&gt;
- &lt;menuitem label="<span class="highlightred">&amp;copyCmd.label;</span>"
- accesskey="<span class="highlightred">&amp;copyCmd.accesskey;</span>" key="copy_cmd"/&gt;
- &lt;menuitem label="<span class="highlightred">&amp;pasteCmd.label;</span>"
- accesskey="<span class="highlightred">&amp;pasteCmd.accesskey;</span>" key="paste_cmd" disabled="true"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-
- &lt;toolbar id="findfiles-toolbar"&gt;
- &lt;toolbarbutton id="opensearch" label="<span class="highlightred">&amp;openCmdToolbar.label;</span>"/&gt;
- &lt;toolbarbutton id="savesearch" label="<span class="highlightred">&amp;saveCmdToolbar.label;</span>"/&gt;
- &lt;/toolbar&gt;
- &lt;/toolbox&gt;
-
- &lt;tabbox&gt;
- &lt;tabs&gt;
- &lt;tab label="<span class="highlightred">&amp;searchTab;</span>" selected="true"/&gt;
- &lt;tab label="<span class="highlightred">&amp;optionsTab;</span>"/&gt;
- &lt;/tabs&gt;
-
- &lt;tabpanels&gt;
-
- &lt;tabpanel id="searchpanel" orient="vertical" context="editpopup"&gt;
-
- &lt;description&gt;
- <span class="highlightred">&amp;findDescription;</span>
- &lt;/description&gt;
-
- &lt;spacer class="titlespace"/&gt;
-
- &lt;groupbox orient="horizontal"&gt;
- &lt;caption label="<span class="highlightred">&amp;findCriteria;</span>"/&gt;
-
- &lt;menulist id="searchtype"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="<span class="highlightred">&amp;type.name;</span>"/&gt;
- &lt;menuitem label="<span class="highlightred">&amp;type.size;</span>"/&gt;
- &lt;menuitem label="<span class="highlightred">&amp;type.date;</span>"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer class="springspace"/&gt;
- &lt;menulist id="searchmode"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="<span class="highlightred">&amp;mode.is;</span>"/&gt;
- &lt;menuitem label="<span class="highlightred">&amp;mode.isnot;</span>"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer class="springspace"/&gt;
-
- &lt;menulist id="find-text" flex="1"
- editable="true"
- datasources="<a class="external" rel="freelink">file:///mozilla/recents.rdf</a>"
- ref="<span class="nowiki">http://www.xulplanet.com/rdf/recent/all</span>"&gt;
- &lt;template&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="<span class="nowiki">rdf:http://www.xulplanet.com/rdf/recent#Label</span>" uri="rdf:*"/&gt;
- &lt;/menupopup&gt;
- &lt;/template&gt;
- &lt;/menulist&gt;
-
- &lt;/groupbox&gt;
-
- &lt;/tabpanel&gt;
-
- &lt;tabpanel id="optionspanel" orient="vertical"&gt;
- &lt;checkbox id="casecheck" label="<span class="highlightred">&amp;casesensitive;</span>"/&gt;
- &lt;checkbox id="wordscheck" label="<span class="highlightred">&amp;matchfilename;</span>"/&gt;
- &lt;/tabpanel&gt;
-
- &lt;/tabpanels&gt;
- &lt;/tabbox&gt;
-
- &lt;tree id="results" style="display: none;" flex="1"&gt;
- &lt;treecols&gt;
- &lt;treecol id="name" label="<span class="highlightred">&amp;results.filename;</span>" flex="1"/&gt;
- &lt;treecol id="location" label="<span class="highlightred">&amp;results.location;</span>" flex="2"/&gt;
- &lt;treecol id="size" label="<span class="highlightred">&amp;results.size;</span>" flex="1"/&gt;
- &lt;/treecols&gt;
-
- &lt;treechildren&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="mozilla"/&gt;
- &lt;treecell label="/usr/local"/&gt;
- &lt;treecell label="<span class="highlightred">&amp;bytes.before;</span>2520<span class="highlightred">&amp;bytes.after;</span>"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
- &lt;/tree&gt;
-
- &lt;splitter id="splitbar" resizeafter="grow" style="display: none;"/&gt;
-
- &lt;spacer class="titlespace"/&gt;
-
- &lt;hbox&gt;
- &lt;progressmeter id="progmeter" value="50%" style="display: none;"/&gt;
- &lt;spacer flex="1"/&gt;
- &lt;button id="find-button" label="<span class="highlightred">&amp;button.find;</span>"
- oncommand="doFind()"/&gt;
- &lt;button id="cancel-button" label="<span class="highlightred">&amp;button.cancel;</span>"
- oncommand="window.close();"/&gt;
- &lt;/hbox&gt;
-&lt;/vbox&gt;
-
-&lt;/window&gt;
-</pre>
- <p>각 텍스트 문자열은 엔티티 참조로 바뀝니다. DTD 파일은 XUL 파일의 시작 부분쯤에 포함됩니다. 추가될 각 엔티티는 DTD 파일에 선언하면 좋습니다. 창은 XUL 파일에서 찾은 엔티티가 선언되지 않았으면 표시되지 않습니다.</p>
- <p>엔티티 이름은 중요하지 않음을 유념하세요. 위 예제에서, 엔티티에 쓰인 단어는 마침표로 구분됐습니다. 여러분은 이렇게 하지 않아도 됩니다. 여기 엔티티 이름은 Mozilla 코드 나머지와 비슷한 관례(convention)를 따릅니다.</p>
- <p>여러분이 텍스트 '2520 bytes'는 두 엔티티로 바뀌었음에 알아챌지도 모릅니다. 이는 구(phrase) 구조가 딴 locale에서 다를 지도 모르기 때문입니다. 예를 들면, 숫자는 대응하는 'bytes' 뒤 말고 앞에 나올 필요가 있을지도 모릅니다. 물론, 이는 필요에 따라 KB나 MB 표시를 위해 더 복잡할 지도 모릅니다.</p>
- <p>단축키(access key와 keyboard shortcut)도 아마 딴 locale에서 다를 지도 모르기 때문에 또한 엔티티로 번역됩니다.</p>
- <p>다음은, DTD 파일(findfile.dtd)입니다.</p>
- <pre>&lt;!ENTITY findWindow.title "Find Files"&gt;
-&lt;!ENTITY fileMenu.label "File"&gt;
-&lt;!ENTITY editMenu.label "Edit"&gt;
-&lt;!ENTITY fileMenu.accesskey "f"&gt;
-&lt;!ENTITY editMenu.accesskey "e"&gt;
-&lt;!ENTITY openCmd.label "Open Search..."&gt;
-&lt;!ENTITY saveCmd.label "Save Search..."&gt;
-&lt;!ENTITY closeCmd.label "Close"&gt;
-&lt;!ENTITY openCmd.accesskey "o"&gt;
-&lt;!ENTITY saveCmd.accesskey "s"&gt;
-&lt;!ENTITY closeCmd.accesskey "c"&gt;
-&lt;!ENTITY cutCmd.label "Cut"&gt;
-&lt;!ENTITY copyCmd.label "Copy"&gt;
-&lt;!ENTITY pasteCmd.label "Paste"&gt;
-&lt;!ENTITY cutCmd.accesskey "t"&gt;
-&lt;!ENTITY copyCmd.accesskey "c"&gt;
-&lt;!ENTITY pasteCmd.accesskey "p"&gt;
-&lt;!ENTITY cutCmd.commandkey "X"&gt;
-&lt;!ENTITY copyCmd.commandkey "C"&gt;
-&lt;!ENTITY pasteCmd.commandkey "V"&gt;
-&lt;!ENTITY openCmdToolbar.label "Open"&gt;
-&lt;!ENTITY saveCmdToolbar.label "Save"&gt;
-&lt;!ENTITY searchTab "Search"&gt;
-&lt;!ENTITY optionsTab "Options"&gt;
-&lt;!ENTITY findDescription "Enter your search criteria below and select the Find button to begin the search."&gt;
-&lt;!ENTITY findCriteria "Search Criteria"&gt;
-&lt;!ENTITY type.name "Name"&gt;
-&lt;!ENTITY type.size "Size"&gt;
-&lt;!ENTITY type.date "Date Modified"&gt;
-&lt;!ENTITY mode.is "Is"&gt;
-&lt;!ENTITY mode.isnot "Is Not"&gt;
-&lt;!ENTITY casesensitive "Case Sensitive Search"&gt;
-&lt;!ENTITY matchfilename "Match Entire Filename"&gt;
-&lt;!ENTITY results.filename "Filename"&gt;
-&lt;!ENTITY results.location "Location"&gt;
-&lt;!ENTITY results.size "Size"&gt;
-&lt;!ENTITY bytes.before ""&gt;
-&lt;!ENTITY bytes.after "bytes"&gt;
-&lt;!ENTITY button.find "Find"&gt;
-&lt;!ENTITY button.cancel "Cancel"&gt;
-</pre>
- <p>이제, 새 언어를 위한 텍스트를 추가하기 위해 필요한 모든 것은 다른 DTD 파일을 만드는 겁니다. 딴 locale에 DTD 파일을 추가하기 위해 chrome 시스템을 써서, 같은 XUL 파일을 다른 언어에 쓸 수 있습니다.</p>
- <p>지금까지 Find files 예제: <a href="https://developer.mozilla.org/samples/xultu/examples//findfile/findfile-locale.xul.txt">Source</a></p>
-</div>
-<p><br>
- 다음은, <a href="ko/XUL_Tutorial/Property_Files">프로퍼티 파일</a>을 보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Creating_a_Skin" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Property_Files">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/manifest_files/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/manifest_files/index.html
deleted file mode 100644
index bf2e970432..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/manifest_files/index.html
+++ /dev/null
@@ -1,118 +0,0 @@
----
-title: Manifest Files
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Manifest_Files
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Manifest_Files
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:The_Chrome_URL" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Creating_a_Window">다음 »</a></p>
-</div><p></p>
-<p><br>
- 이번 섹션에서는 꾸러미에 chrome과 XUL 파일을 넣는 방법과 꾸러미를 위한 선언 파일(manifest file)을 생성하는 방법에 대해 알아 보겠습니다.</p>
-<h3 id=".EA.BE.B8.EB.9F.AC.EB.AF.B8" name=".EA.BE.B8.EB.9F.AC.EB.AF.B8">꾸러미</h3>
-<p>꾸러미는 사용자 인터페이스의 기능을 정의하는 XUL 파일과 스크립트의 집합입니다. 꾸러미는 모질라에 설치될 수 있으며, chrome URL로 참조될 수도 있습니다. 꾸러미는 어떤 종류의 파일도 포함할 수 있고, 필요한 경우에는 꾸러미의 여러 부분을 하위 디렉토리에 나누어 담을 수도 있습니다. 꾸러미는 디렉토리나 JAR 아카이브로 저장될 수 있습니다.</p>
-<h3 id=".EC.84.A0.EC.96.B8_.ED.8C.8C.EC.9D.BC" name=".EC.84.A0.EC.96.B8_.ED.8C.8C.EC.9D.BC">선언 파일</h3>
-<p>선언 파일은 꾸러미를 설명하고 꾸러미의 디스크에서의 위치와 chrome URL을 연결하는데 사용됩니다. Mozilla 응용 프로그램이 시작될 때 어떤 꾸러미들이 설치되어 있는지 확인하기 위해 chrome 디렉토리에 있는 선언 파일을 검사합니다. 이것은 새로운 꾸러미를 설치하기 위해 여러분이 해야 할 작업은 새로운 선언 파일을 어플리케이션 chrome 디렉토리나 사용자 chrome 디렉토리에 추가하는 것 뿐이라는 것을 의미합니다. 후자의 chrome 디렉토리는 보통 어플리케이션 디렉토리에 쓰기 권한이 없을 수 있기 때문에 사용되는 방법입니다.</p>
-<p>만일 여러분이 권한이 있는 XUL 코드를 Firefox 브라우저에서 테스트 하려고 한다며, 다음의 절차와 같이 한줄만 있는 선언 파일을 가지고 쉽게 할 수 있습니다.</p>
-<ol>
- <li>어딘가에 새로운 디렉토리를 생성하세요. 예를 들어, Windows일 경우 C:\testfiles일 수 있겠습니다.</li>
- <li>Chrome 디렉토리에 test.manifest라는 이름을 가진 새로운 <b>ASCII</b><sup>1</sup> 파일을 만드세요. 파일은 .manifest라는 확장자를 가지기만 하면 어떤 이름이든 상관 없습니다. <sup>(1. BOM을 가진 UTF-8은 작동하지 않습니다.)</sup></li>
- <li>선언 파일에 다음 라인을 추가하세요.</li>
-</ol>
-<pre class="eval"> content tests <a class="external" rel="freelink">file:///C:/testfiles/</a>
-</pre>
-<p>위 라인상의 파일 경로는 앞서 생성한 디렉토리를 가리켜야 합니다. 파일 경로를 정확히 모를 경우에는 브라우저에서 해당 경로를 열고 주소 영역에서 URL을 복사하세요.</p>
-<p>이게 답니다! 이제 여러분이 새로운 디렉토리에 몇 가지 XUL 파일들을 추가만 하면, <a class="external" rel="freelink">chrome://tests/content/</a>&lt;filename&gt; 형식으로 chrom URL을 입력하여 해당 파일을을 로드할 수 있을 것입니다. 물론 변경된 내용을 반영하기 위해서는 브라우저를 재시작 해야 합니다. 만일 파일이 로드되지 않는다면, 파일 경로가 정확한지 확인하세요.</p>
-<p>내용(content) 꾸러미를 위한 선언 파일 라인의 기본 구문은 다음과 같습니다.</p>
-<p>'content &lt;packagename&gt; &lt;filepath&gt;'</p>
-<p>첫 번째 필드인 'content'는 내용(content) 꾸러미라는 것을 나타냅니다. 테마일 경우에는 'skin'을 쓰고, 로케일인 경우에는 'locale'을 사용합니다. 위 예제에서 packagename은 'tests'이고, 이것은 <a class="external" rel="freelink">chrome://tests/content/sample.xul의</a> chrome URL 첫번째 필드가 'tests'라는 것을 의미합니다. 만일 꾸러미 이름이 'browser'였다면 chrom URL은 <a class="external" rel="freelink">chrome://browser/content/가</a> 될 수 있습니다. 마지막 필드는 파일들이 위치한 경로 입니다. 이것은 파일 URL을 사용한 로컬 파일 경로이거나 jar URL을 사용한 JAR 아카이브(archive) 일 수 있습니다. JAR 아카이브에 대해서는 잠시 후에 설명할 것입니다. 선언 파일에 또 다른 라인을 포함하여 여러개의 꾸러미를 명시할 수도 있습니다.</p>
-<p>Firefox에서 사용하는 browser.manifest 파일은 다음과 같습니다.</p>
-<pre>content branding jar:browser.jar!/content/branding/ xpcnativewrappers=yes
-content browser jar:browser.jar!/content/browser/ xpcnativewrappers=yes
-overlay chrome://global/content/viewSource.xul chrome://browser/content/viewSourceOverlay.xul
-overlay chrome://global/content/viewPartialSource.xul chrome://browser/content/viewSourceOverlay.xul
-overlay chrome://browser/content/pageInfo.xul chrome://pippki/content/PageInfoOverlay.xul
-</pre>
-<p>여기에는 'branding'과 'browser' 두 개의 꾸러미가 나열되어 있습니다. 또 세 개의 overlays가 명시되어 있는데, 이는 다른 꾸러미의 내용(content)이 함께 조합될 수 있게 해 줍니다. 확장기능들은 대부분 브라우저의 UI와 확장기능의 UI가 병합(merge)되기 때문에 overlays를 사용하게 됩니다.</p>
-<p>branding과 browser 꾸러미의 파일 경로는 content가 아카이브로 꾸려져 있기 때문에 jar URL을 사용하고 있습니다. JAR 아카이브는 ZIP 유틸리티를 이용해 생성할 수 있습니다. Chrome 디렉토리에 위치한 JAR 파일인 경우에는 다음과 같이 아주 간단합니다.</p>
-<p>jar:&lt;filename.jar&gt;!/&lt;path_in_archive&gt;</p>
-<p>browser 꾸러미에서 아카이브는 browser.jar이며 chrome 디렉토리에 선언 파일과 함께 위치합니다. 'content/browser' 경로는 XUL 파일이 위치한 아카이브 내의 경로를 나타냅니다. 만일 아카이브 내에 어떤 경로도 존재하지 않을 경우에는 경로를 명시할 필요가 없습니다. 여기서는 하나의 아카이브에 branding 꾸러미가 다른 경로로 저장되어 있으므로 명시되어 있습니다.</p>
-<p>위에서 생성한 'tests' 꾸러미의 경우, 아카이브로 파일을 꾸리지 않았기 때문에 파일 경로가 직접 사용되었습니다. 개발시에는 변경이 발생할 때마다 매번 모든 파일을 꾸릴 필요가 없기 때문에, 이렇게 하는 것이 좋습니다. 그러나 응용프로그램이나 확장기능으로 배포할 경우에는 조그만 다수의 파일을 설치해야 하는 번거로움을 피하기 위해 하나의 아카이브로 묶길 원할 것입니다.</p>
-<p>선언 파일의 라인 끝에 있는 xpcnativewrappers=yes 부분은 선택적으로 사용되는 플래그입니다. 자바스크립트에서는 웹 페이상에서 있는 코드가 내장(built-in) 함수를 재정의(override) 할 수 있습니다. 만일 xpcnativewrappers 플래그(flag)가 명시되어 있다면, 권한이 부여된 컨텍스트(privileged context)에서 실행되는 스크립트는 재정의된 함수가 아닌 원래의 내장 함수를 호출한다는 것을 의미합니다. 플래그 없이 확장기능이 수정된 버전의 함수를 호출하려고 하면 제대로 작동하지 않을 수도 있고, 더욱이 보안 구멍이 생겨날 수 있습니다. 이 플래그는 이러한 문제점을 방지하기 위해 추가되었으며, 새로운 확장 기능들에서는 항상 사용하는게 좋습니다. 그러나 이러한 변화에 호환되지 않는 오래된 학장기능들에서는 무시됩니다. 이 기능에 대한 자세한 정보는 <a href="ko/XPCNativeWrapper">XPCNativeWrapper</a>를 참조하세요.</p>
-<h3 id=".ED.85.8C.EB.A7.88.EC.99.80_.EB.A1.9C.EC.BC.80.EC.9D.BC" name=".ED.85.8C.EB.A7.88.EC.99.80_.EB.A1.9C.EC.BC.80.EC.9D.BC">테마와 로케일</h3>
-<p>테마와 로케일에서의 구문은 내용 꾸러미와 유사하지만, 여러분은 테마나 로케일을 제공할 내용 꾸러미를 명시해야 할 필요가 있습니다.</p>
-<pre>skin browser classic/1.0 jar:classic.jar!/skin/classic/browser/
-locale browser en-US jar:en-US.jar!/locale/browser/
-</pre>
-<p>위의 예에서 browser에 스킨과 로케일을 적용한다는 것을 나타내기 위한 특별한 필드가 추가되었습니다. 스킨 이름은 'classic/1.0'입니다. 이 경우에 테마 이름의 일부분으로 버전 번호가 사용되었지만, 여러분의 테마를 만들 경우에는 선택적인 사항입니다. Mozilla는 버전 번호를 특별한 방법으로 처리하지 않습니다. 위의 경우 버전 번호는 그냥 테마 이름의 일부분일 뿐입니다. 로케일은 'en-US'입니다. 이것들을 연결하는 chrome URL은 <a class="external" rel="freelink">chrome://browser/skin과</a> <a class="external" rel="freelink">chrome://browser/locale일</a> 수 있습니다. 여러분의 테마나 로케일을 작성할 경우에는 위의 두 줄중 하나를 가진 선언 파일을 생성하고 테마나 로케일에 맞게 수정하기만 하면 됩니다.</p>
-<p>테마에 대한 자세한 정보는 <a href="ko/Themes">Themes</a>를 참조하시고 로케일에 대한 자세한 정보는 <a href="ko/Localization">Localization</a>을 참조하세요.</p>
-<div class="highlight">
- <h3 id=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90_.EC.98.88.EC.A0.9C" name=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90_.EC.98.88.EC.A0.9C">우리의 파일 찾기 대화상자 예제</h3>
- <p>이제 우리가 작성하려고 하는 파일 찾가 대화 상자를 위한 선언 파일을 만들어 보도록 하겠습니다. 원한다면 세 가지 타입을 하나의 파일에 넣을 수 있습니다. 모든 부분(content, skin, locale)이 하나의 파일에 포함되는 확장 기능을 작성할 때 보통 이렇게 합니다. 파일 찾기 대화상자에서는 이러한 방법을 사용할 것입니다. Chrome 디렉토리에 findfile.manifest 파일을 생성하고 다음의 내용을 추가하세요.</p>
- <pre>content findfile file:///findfile/content/
-skin findfile classic/1.0 file:///findfile/skin/
-locale findfile en-US file:///findfile/locale/
-</pre>
- <p>위에서 열거된 새로운 디렉토리들을 생성하세요. 디렉토리를 어디에 생성하는지에는 상관이 없지만 선언 파일에서 명시한 파일 경로는 반드시 해당 디렉토리를 가리켜야 합니다. 당연히 여러분의 시스템에 맞는 디렉토리 경로를 사용하면 됩니다. 만일 꾸러미를 배포할 경우에는 JAR 파일로 묶길 원할 수도 있고 그렇게 되면 경로를 수정해야 합니다. 이번 경우에는 선언 파일에 대해 설명하고 다음 섹션에서 볼 예제를 위한 디렉토리를 준비할 목적으로 생성할 것입니다.</p>
- <p>스킨과 로케일 줄의 두번째 필드가 'findfile'로 명시되었다는 것을 확인하세요. 이것은 스킨과 로케일이 첫 번째 줄에서 명시한 findfile 꾸러미를 수정한다는 것을 의미합니다. 위의 세 가지 경로는 각 부분을 위한 하위 디렉토리를 명시합니다. 여러분은 각 부분에 해당하는 파일을 분리하여 관리하기 위해 하위 디렉토리를 작성하길 원할 것입니다.</p>
-</div>
-<h3 id=".EA.BE.B8.EB.9F.AC.EB.AF.B8_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0" name=".EA.BE.B8.EB.9F.AC.EB.AF.B8_.EC.84.A4.EC.B9.98.ED.95.98.EA.B8.B0">꾸러미 설치하기</h3>
-<p>응용 프로그램을 설치하기 위해서는 설치 프로그램을 만들거나 다른 응용 프로그램에 포함시킬 필요가 있습니다. 어떤 방법을 사용할 것인지는 여러분이 작성하는 응용 프로그램의 종류에 따라 달라집니다. 확장 기능일 경우에는 설치 파일인 <a href="ko/Install_Manifests">install.rdf</a>를 작성해야 하는데, 이는 어떤 것들을 설치할 것인지, 확장기능의 제작자가 누구인지, 호환되는 브라우저 버전이나 응용프로그램 등과 같은 내용을 포함하고 있습니다. 또한 확장 기능은 파일이 설치되는 장소에 제약이 있으므로 <a href="ko/Bundles">고유의 디렉토리 구조</a>를 필요로 합니다. 확장 기능은 <a href="ko/XPI">XPI</a> 파일로 꾸려지게 됩니다. XPI는 <a href="ko/XPInstall">XPInstall</a>의 약자로 Mozilla에서 컴포넌트를 설치할 때 사용됩니다. JAR 파일과 마찬가지로 XPI 파일도 확장자만 다른 ZIP 파일 이기 때문에 ZIP 유틸리티로 보거나 생성할 수 있습니다.</p>
-<p>Firefox의 확장 기능 관리자는 XPI 파일로 꾸려져 있는 확장 기능의 설치를 자동으로 처리해 줍니다. 작성한 확장 기능은 사용자들이 설치를 위해 위치할 수 있는 <a class="link-https" href="https://addons.mozilla.org/">Mozilla Add-ons site</a>로 업로드 할 것을 권장합니다. 어떤 사이트에서나 설치할 수는 있지만, 특정 사이트는 기본적으로 설치가 허가되지 않도록 되어 있을 수 있습니다.</p>
-<p>파일들을 설치하기 위해서는 JavaScript로 작성된 스크립트를 이용할 수도 있습니다. 이러한 방법은 아무 위치에나 파일을 복사할 수 있으며, 다른 방법의 파일 관리 작업을 수행할 수 있게 해 줍니다. 그러나 스크립트로 설치된 응용프로그램은 확장 기능 관리자에 표시되지 않을 것이고, 따라서 자동화된 설치 해제 방법이 존재하지 않습니다. 이런 이유로 설치 스크립트는 잘 사용되지 않습니다.</p>
-<p>독립형 응용 프로그램일 경우에는 XULRunner를 사용하여 꾸려질 수 있습니다. 이렇게 하면 별도의 실행 파일이 가능하며, 브라우저와는 독립적으로 응용 프로그램을 배포할 수 있습니다.</p>
-<p>확장기능을 작성하는 좀 더 자세한 정보는 <a href="ko/Extensions">Extensions</a>을 참조하시고, XULRunner에 대한 상세한 정보는 <a href="ko/XULRunner">XULRunner</a>를 참조하세요.</p>
-<h3 id=".EC.98.A4.EB.9E.98.EB.90.9C_.EC.96.B4.ED.94.8C.EB.A6.AC.EC.BC.80.EC.9D.B4.EC.85.98" name=".EC.98.A4.EB.9E.98.EB.90.9C_.EC.96.B4.ED.94.8C.EB.A6.AC.EC.BC.80.EC.9D.B4.EC.85.98">오래된 어플리케이션</h3>
-<p>만일 Mozilla 소프트웨어의 옛 버전(Firefox 1.5나 Mozilla 1.8 이전 버전)을 위한 응용 프로그램을 작성할 경우에는 좀 더 많은 단계가 추가됩니다. 다음은 옛 버전을 위한 꾸러미를 설정하는 방법에 대해 설명합니다. 여러분이 새로운 확장기능이나 XUL 응용 프로그램을 작성할 경우에는 본 섹션을 건너 뛰어도 됩니다.</p>
-<div class="note">
- <b>주의</b>: 언급되는 예전 절차는 새로운 SeaMonkey 1.0에도 적용됩니다. SeaMonkey 1.0의 코드베이스는 아직 "선언" 포맷을 채택하지 않고 있습니다.</div>
-<pre class="eval">&lt;?xml version="1.0"?&gt;
-
-&lt;RDF:RDF xmlns:RDF="<span class="nowiki">http://www.w3.org/1999/02/22-rdf-syntax-ns#</span>"
- xmlns:chrome="<span class="nowiki">http://www.mozilla.org/rdf/chrome#</span>"&gt;
-
- &lt;RDF:Seq about="urn:mozilla:package:root"&gt;
- &lt;RDF:li resource="urn:mozilla:package:<span class="highlightred">myapplication</span>"/&gt;
- &lt;/RDF:Seq&gt;
-
- &lt;RDF:Description about="urn:mozilla:package:<span class="highlightred">myapplication</span>"
- chrome:displayName="<span class="highlightblue">Application Title</span>"
- chrome:author="<span class="highlightblue">Author Name</span>"
- chrome:name="<span class="highlightred">myapplication</span>"
- chrome:extension="true"/&gt;
-
-&lt;/RDF:RDF&gt;
-</pre>
-<pre class="eval">content,install,url,<span class="highlightred"><a class="external" rel="freelink">file:///main/app/</a></span>
-</pre>
-<ol>
- <li>Create a directory somewhere on your disk. Many people put this as a subdirectory inside Mozilla's chrome directory, but this isn't necessary. The directory could be anywhere and on any disk. Put your XUL files in this directory.</li>
- <li>Create a file called contents.rdf and place it in this directory. Copy the text in the box below into the new contents.rdf file. This file is used to identify the application id, its name, author, version and so on.</li>
- <li>Change the highlighted parts of the file above to your own information. The red text 'myapplication' should be the ID of your application. You make this up, but typically, the ID is similar to your application's name. Replace the blue highlighted text above with your application's title and author.</li>
- <li>If the 'chrome:extension' field is true, the application is a Mozilla Firefox Extension and it will show up in the Extensions window of the browser. If false, it will not appear.</li>
- <li>Save the contents.rdf and make sure it is in the directory you created in step 1.</li>
- <li>Open the file &lt;mozilla-directory&gt;/chrome/installed-chrome.txt, where &lt;mozilla-directory&gt; is the directory where Mozilla is installed. Exit Mozilla before you do this.</li>
- <li>Next, you are going to register the new application with Mozilla so it will know where to find it. Add a line at the end of installed-chrome.txt pointing to the new directory you created in step 1. Change the highlighted text to the file URL below of the directory. Make sure that it URL ends with a slash and that you press enter at the end of the line. If you aren't sure what the URL is, open the directory created in step 1 into a Mozilla browser and copy the URL from the location field. Note that the reference should always be a directory, not a file.</li>
- <li>Delete the file &lt;mozilla-directory&gt;/chrome/chrome.rdf.</li>
- <li>Start Mozilla. You should be able to view any XUL files you put into the directory using a URL of the form: <b><a class="external" rel="freelink">chrome://</a><span class="highlightred">applicationid</span>/content/file.xul</b> where file.xul is the filename. Your main XUL file should be applicationid.xul which you can load using the shortcut URL <b><a class="external" rel="freelink">chrome://</a><span class="highlightred">applicationid</span>/content/</b>.</li>
-</ol>
-<p>If you are creating skin and/or locale portions, repeat the steps above, except that the format of the contents.rdf file is slightly different. Look at the contents.rdf files in other applications for details.</p>
-<h3 id=".EB.AC.B8.EC.A0.9C_.ED.95.B4.EA.B2.B0" name=".EB.AC.B8.EC.A0.9C_.ED.95.B4.EA.B2.B0">문제 해결</h3>
-<p>Chrome 꾸러미를 작성하는 것은 종종 꼼수가 필요하고, 문제 발생의 원인을 찾기가 어려울 수 있습니다. 여기에서는 여러분들이 작업을 시작하는데 있어서의 몇 가지 팁을 제공하고자 합니다.</p>
-<ul>
- <li>&lt;mozilla 디렉토리&gt;/chrome/chrome.rdf 파일을 열어보세요. 아마 여러분의 어플리케이션 ID에 대한 참조를 찾을 수 있을 것입니다. 발견할 수 없을 경우에는 등록이 잘못된 것입니다. 만약 참조를 발견하셨다면 아마도 파일을 로드할 때 chrome URL을 잘못 사용했을 것입니다.</li>
- <li>&lt;mozilla 디렉토리&gt;/chrom/chrome.rdf 파일을 삭제해 보세요. 그 파일은 다시 생성됩니다. 또한 만약 overlays를 사용한다면 &lt;mozilla 디렉토리&gt;/chrome/overlayinfo/ 디렉토리 전체를 삭제해 보세요.</li>
- <li>Make sure that the URL in the line you added to installed-chrome.txt ends with a slash and the file itself ends with a blank line.</li>
- <li>윈도우즈에서는 파일 URL이 <a class="external" rel="freelink">file://C/files/app/</a> 형식이어야 하며, 여기서 C는 드라이브 문자입니다.</li>
- <li>contents.rdf 파일이 올바른 디렉토리에 존재하며 바른 형태(well-formed)인지를 확인 하십시요. Mozilla에서 contents.rdf 파일을 열어, 바른 형태의 XML로 구문 분석되는지 보세요. 그렇지 않다면 노란 배경에 오류가 보일것입니다.</li>
- <li>여러분이 Mozilla 디버그 빌드(debug build)를 사용하고 있다면, 시작시에 어떤 chrome 어플리케이션이 검사되는지를 나타내는 몇 가지 정보가 터미널에 출력될 것입니다. 여러분이 작성한 어플리케이션이 목록상에 나타나는지 확인하세요.</li>
- <li>XUL 파일 내 "XML Parsing Error: undefined entity"라는 오류 메시지는 선언 파일의 오류이거나 선언 파일에서 참조하는 jar 파일상의 오류에 의해 발생할 수 있습니다. 예를 들어 &lt;!DOCTYPE window SYSTEM "<a class="external" rel="freelink">chrome://fireclipse/locale/fireclipse.dtd</a>"&gt;에서의 dtd 파일은 반드시 존재해야 하고 디렉토리도 "로케일" 선언 파일에서 정확히 언급되어 있어야만 하며, 만일 그렇지 않다면 XML 구문분석이 실패할 것입니다.</li>
-</ul>
-<p>선언 파일에 대한 좀더 자세한 정보는 <a href="ko/Chrome_Registration">Chrome Registration</a>를 참조하세요.</p>
-<p>다음 섹션에서는 XUL 언어에 대해 좀 더 자세히 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:The_Chrome_URL" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Creating_a_Window">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/more_button_features/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/more_button_features/index.html
deleted file mode 100644
index a34556a984..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/more_button_features/index.html
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title: More Button Features
-slug: Mozilla/Tech/XUL/XUL_Tutorial/More_Button_Features
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/More_Button_Features
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Using_Spacers" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:The_Box_Model">다음 »</a></p>
-</div><p></p>
-<p>이번 단원에서는 버튼의 부가적인 기능들에 대해 알아 보겠습니다.</p>
-<h3 id=".EA.B7.B8.EB.A6.BC_.EB.84.A3.EA.B8.B0" name=".EA.B7.B8.EB.A6.BC_.EB.84.A3.EA.B8.B0">그림 넣기</h3>
-<p>버튼에 그림을 넣을 때는 <code><code id="a-image"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/image">image</a></code></code> 속성에 URL을 지정해 주면 됩니다. 그림은 상대든 절대 URL이든 상관없이 로드되며, 읽어온 그림을 버튼에 표시합니다.</p>
-<p>아래의 버튼은 <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code>과 <code><code id="a-image"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/image">image</a></code></code>(happy.png)을 모두 포함하고 있습니다. 그림은 라벨의 왼쪽에 표시되는데 다른 두 가지 속성을 이용하여 그림의 위치를 바꿀 수 있습니다. 이에 대해서는 잠시 후에 설명하겠습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_1.xul">View</a></p>
-<pre>&lt;button label="Help" image="happy.png"/&gt;
-</pre>
-<h4 id="CSS.EB.A1.9C_.EA.B7.B8.EB.A6.BC_.EB.84.A3.EA.B8.B0" name="CSS.EB.A1.9C_.EA.B7.B8.EB.A6.BC_.EB.84.A3.EA.B8.B0">CSS로 그림 넣기</h4>
-<p>이미지를 지정하는 또 다른 방법은 버튼에 CSS의 <code>list-style-image</code> 스타일 속성을 이용하는 것입니다. 이 방법은 XUL 파일을 바꾸지 않고도 '스킨'(이 경우는 그림)을 변경할 수 있도록 고안된 것입니다. 예제는 아래와 같습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_2.xul">View</a></p>
-<pre>&lt;button id="find-button"
- label="Find" style="list-style-image: url('happy.png')"/&gt;
-</pre>
-<p>위의 예에서도 'happy.png'라는 그림이 버튼에 표시됩니다. <code><code id="a-style"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code></code> 속성은 HTML에서의 style 속성과 비슷하게 동작합니다. 일반적으로, style 속성은 모든 XUL 요소에 사용할 수 있습니다. 스타일 선언은 별도의 스타일 시트에 넣는 것이 좋다는 점을 명심하세요.</p>
-<h3 id=".EA.B7.B8.EB.A6.BC_.EC.9C.84.EC.B9.98_.EC.A7.80.EC.A0.95.ED.95.98.EA.B8.B0" name=".EA.B7.B8.EB.A6.BC_.EC.9C.84.EC.B9.98_.EC.A7.80.EC.A0.95.ED.95.98.EA.B8.B0">그림 위치 지정하기</h3>
-<p>기본적으로 버튼의 그림은 글씨의 왼쪽에 표시됩니다. 그림의 위치를 지정하기 위해서는 두 가지의 속성을 사용할 수 있습니다.</p>
-<p><code><code id="a-dir"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/dir">dir</a></code></code> 속성은 그림과 글씨의 방향을 제어합니다. dir 속성값을 <code>reverse</code>로 지정하면 그림이 글씨의 오른쪽에 출력됩니다. 반대로 <code>normal</code>을 사용하거나 값을 지정하지 않으면 그림은 글씨의 왼쪽에 나타납니다.</p>
-<p><code><code id="a-orient"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code></code> 속성을 사용하면 그림과 글씨의 상하 관계를 조정할 수 있습니다. 기본값은 <code>horizontal</code>로 그림이 글자의 왼쪽이나 오른쪽에 표시되도록 합니다. 이 값을 <code>vertical</code>로 지정하면 그림이 글자의 위나 아래에 나타나게 됩니다. 이 때는 <code>dir</code> 속성은 위, 아래의 방향을 지정하기 위해 사용할 수 있는데 <code>normal</code>일 때는 그림이 글씨 위에, <code>reverse</code>일 때는 그림이 글씨 아래에 표시됩니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_3.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:advbtns1.png"></div>
-<pre>&lt;button label="Left" image="happy.png"/&gt;
-&lt;button label="Right" image="happy.png" dir="reverse"/&gt;
-&lt;button label="Above" image="happy.png" orient="vertical"/&gt;
-&lt;button label="Below" image="happy.png" orient="vertical" dir="reverse"/&gt;
-</pre>
-<p>위의 예제는 앞에서 말한 네 가지 정렬 방식이 모두 사용되었습니다. 기본값을 사용할 때는 위와 같이 속성값을 지정하지 않아도 됩니다.</p>
-<h3 id=".ED.8A.B9.EB.B3.84.ED.95.9C_.EB.82.B4.EC.9A.A9.EC.9D.84_.EA.B0.80.EC.A7.80.EB.8A.94_.EB.B2.84.ED.8A.BC" name=".ED.8A.B9.EB.B3.84.ED.95.9C_.EB.82.B4.EC.9A.A9.EC.9D.84_.EA.B0.80.EC.A7.80.EB.8A.94_.EB.B2.84.ED.8A.BC">특별한 내용을 가지는 버튼</h3>
-<p>버튼 내부에는 임의의 마크업을 포함할 수 있으며 이런것들은 버튼의 안쪽에 표시됩니다. 이 기능을 자주 사용하지는 않겠지만, XUL이 제공하지 않는 사용자 정의 요소(custom element)를 만들 때 유용하게 쓰일 수 있습니다.</p>
-<p>아래는 두 단어가 빨간색인 버튼을 만드는 예입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_4"><a id="%EC%98%88%EC%A0%9C_4"></a><strong>예제 4</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_4.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_4.xul">View</a></p>
-<pre>&lt;button&gt;
- &lt;description value="This is a"/&gt;
- &lt;description value="rather strange" style="color: red;"/&gt;
- &lt;description value="button"/&gt;
-&lt;/button&gt;
-</pre>
-<p>어떠한 XUL 요소도 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/button" title="button">button</a></code></code>에 삽입될 수 있습니다. 하지만 HTML 요소들은 무시되기 때문에, 대신 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/description" title="description">description</a></code></code>을 사용해야 합니다. 그리고 버튼에 <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> 속성값을 지정하면 버튼 내부의 모든 내용이 사라진다는 것에 유념하세요.</p>
-<h4 id="Menupopup.EC.9D.B4_.EC.9E.88.EB.8A.94_.EB.B2.84.ED.8A.BC" name="Menupopup.EC.9D.B4_.EC.9E.88.EB.8A.94_.EB.B2.84.ED.8A.BC">Menupopup이 있는 버튼</h4>
-<p>여러분은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code></code>처럼 버튼을 눌렀을때 드롭 다운 메뉴가 나오도록 하기 위해, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code> 요소를 버튼 내부에 넣을 수 있습니다. 이 때 <code><a href="ko/XUL/Attribute/button.type">type</a></code> 속성을 반드시 <code>menu</code>로 지정해야 합니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_5"><a id="%EC%98%88%EC%A0%9C_5"></a><strong>예제 5</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_5.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advbtns_5.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:advbtns2.png"></div>
-<pre>&lt;button type="menu" label="Device"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Printer"/&gt;
- &lt;menuitem label="Mouse"/&gt;
- &lt;menuitem label="Keyboard"/&gt;
- &lt;/menupopup&gt;
-&lt;/button&gt;
-</pre>
-<p>위의 예를 실행시키고 버튼을 클릭하면 세 가지 항목이 있는 메뉴가 펼쳐집니다. 하지만 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code></code>와 달리 항목을 선택해도 버튼의 라벨은 변하지 않습니다. 이런 종류의 버튼은 각 항목마다 스크립트를 지정하여 작업을 수행하게 함으로써 메뉴처럼 사용할 수 있습니다. 메뉴에 대한 더 자세한 내용은 나중에 알아보겠습니다.</p>
-<p>여러분은 <code><a href="ko/XUL/Attribute/button.type">type</a></code> 속성을 <code>menu-button</code>으로 지정하여 메뉴가 있는 버튼을 만들 수 있는데, 이렇게 만들어진 버튼은 위의 버튼과는 모양이 다릅니다. 위 그림의 왼쪽은 'menu'이고 두번째는 'menu-button'을 사용한 것입니다. 둘 다 메뉴를 가리키는 화살표를 가지고 있습니다. 하지만 'menu'를 사용한 버튼은 사용자가 버튼의 아무 곳이나 클릭하면 메뉴가 나타나는 반면 'menu-button'을 사용한 버튼은 사용자가 화살표를 눌러야 메뉴가 나타납니다.</p>
-<p>다음에서는 <a href="ko/XUL_Tutorial/The_Box_Model">XUL 요소가 창내에 배치되는 방법</a>에 대해 좀 더 자세히 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Using_Spacers" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:The_Box_Model">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/more_event_handlers/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/more_event_handlers/index.html
deleted file mode 100644
index 17f4af786a..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/more_event_handlers/index.html
+++ /dev/null
@@ -1,140 +0,0 @@
----
-title: More Event Handlers
-slug: Mozilla/Tech/XUL/XUL_Tutorial/More_Event_Handlers
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/More_Event_Handlers
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Adding_Event_Handlers" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Keyboard_Shortcuts">다음 »</a></p>
-</div><p></p>
-<p>이번 단원에서는 이벤트 객체에 대해 검토해보고, 추가적인 이벤트들에 대해 설명하겠습니다.</p>
-<h3 id=".EC.9D.B4.EB.B2.A4.ED.8A.B8_.EA.B0.9D.EC.B2.B4" name=".EC.9D.B4.EB.B2.A4.ED.8A.B8_.EA.B0.9D.EC.B2.B4">이벤트 객체</h3>
-<p>각 이벤트 핸들러는 <a href="ko/DOM/event">event</a> 객체가 저장된 하나의 인자를 가집니다. 속성 형식의 이벤트 리스너에서의 이벤트 객체는 명시하지 않더라도 스크립트 코드에서 'event'라는 이름으로 참조할 수 있습니다. <a href="ko/DOM/element.addEventListener">addEventListener</a> 형태일 경우에는 리스너 함수의 첫 번째 인자가 이벤트 객체가 됩니다. 이벤트 객체에는 이벤트가 처리되는 동안 사용할 수 있는 많은 속성이 있습니다. 전체 목록은 <a class="external" href="http://xulplanet.com/references/objref/Event.html">XULPlanet object reference</a>에서 보실 수 있습니다.</p>
-<p>우리는 지난 단원에서 이벤트의 <code><a href="ko/DOM/event.target">target</a></code> 속성에 대해 알아 보았습니다. 이 속성은 이벤트가 발생한 대상 요소에 대한 참조를 가지고 있습니다. 이와 유사한 <code><a href="ko/DOM/event.currentTarget">currentTarget</a></code> 속성은 현재 이벤트 리스너가 처리하고 있는 대상 요소에 대한 참조를 가집니다. 아래 예제에서 <code><a href="ko/DOM/event.target">target</a></code> 속성은 활성화된 버튼이나 체크박스 중 하나에 대한 참조인 반면 <code><a href="ko/DOM/event.currentTarget">currentTarget</a></code> 속성은 항상 vbox가 됩니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_1.xul">View</a></p>
-<pre>&lt;vbox oncommand="alert(event.currentTarget.tagName);"&gt;
- &lt;button label="OK"/&gt;
- &lt;checkbox label="Show images"/&gt;
-&lt;/vbox&gt;
-</pre>
-<h4 id=".EC.9D.B4.EB.B2.A4.ED.8A.B8_.EC.A0.84.ED.8C.8C_.EC.A4.91.EC.A7.80" name=".EC.9D.B4.EB.B2.A4.ED.8A.B8_.EC.A0.84.ED.8C.8C_.EC.A4.91.EC.A7.80">이벤트 전파 중지</h4>
-<p>일단 이벤트를 처리하였으면, 이벤트의 전파 단계 중 어디에 있는지에 상관없이, 이벤트의 버블링이나 캡처 단계를 중지하여 다른 요소들로 이벤트가 전파되는 것을 막고자 할때가 있을 것입니다. 이는 이벤트 핸들러를 대상 요소에 어떻게 부착했는지에 따라 그 방법이 달라집니다.</p>
-<p>캡처 단계는 버블링 단계 이전에 발생한다고 했던 것을 기억하세요. 그렇게 때문에 캡처 단계에서 실행되는 리스너는 버블 단계의 리스너보다 먼저 실행됩니다. 만일 캡처 단계에서 이벤트 전파가 중지된다면, 이후에 발생할 수 있는 캡처 리스너나 버블링 리스너는 해당 이벤트에 대해 아무런 알림도 받지 못하게 됩니다. 이벤트 전파를 막기 위해서는 다음 예제와 같이 이벤트 객체의 <code><a href="ko/DOM/event.stopPropagation">stopPropagation</a></code> 메소드를 호출하면 됩니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_2.xul">View</a></p>
-<pre>&lt;hbox id="outerbox"&gt;
- &lt;button id="okbutton" label="OK"/&gt;
-&lt;/hbox&gt;
-
-&lt;script&gt;
-function buttonPressed(event){
- alert('Button was pressed!');
-}
-
-function boxPressed(event){
- alert('Box was pressed!');
- event.stopPropagation();
-}
-
-var button = document.getElementById("okbutton");
-button.addEventListener('command',buttonPressed,true);
-
-var outerbox = document.getElementById("outerbox");
-outerbox.addEventListener('command',boxPressed,true);
-&lt;/script&gt;
-</pre>
-<p>예제에서, 한 이벤트 리스너는 버튼에 또 다른 이벤트 리스너는 상자에 추가되었습니다. <code><a href="ko/DOM/event.stopPropagation">stopPropagation</a></code> 메소드는 상자의 리스너에서 호출되므로, 버튼의 리스너는 절대 호출되지 않습니다. 만일 이 메소드가 제거되면 모든 리스너가 호출되고 2개의 알림창(alert)이 나타날 것입니다.</p>
-<h4 id=".EA.B8.B0.EB.B3.B8_.ED.96.89.EC.9C.84_.EB.A7.89.EA.B8.B0" name=".EA.B8.B0.EB.B3.B8_.ED.96.89.EC.9C.84_.EB.A7.89.EA.B8.B0">기본 행위 막기</h4>
-<p>어떤 요소에 아무런 이벤트 핸들러도 등록되어 있지 않다면, 캡처와 버블링 단계가 다 끝난후에 내장된(default) 방법으로 이벤트가 처리됩니다. 이 내장된 방법은 이벤트와 대상 요소의 종류에 따라 다릅니다. 예를 들어 'popupshowing' 이벤트는 팝업이 출력되기 전에 전달받는 이벤트이며, 기본(default) 동작은 팝업을 출력하는 것입니다. 만일 기본 동작이 일어나지 않도록 하면, 팝업은 출력되지 않을 것입니다. 기본 동작은 이벤트 객체의 <code><a href="ko/DOM/event.preventDefault">preventDefault</a></code> 메소드로 막을 수 있으며, 아래의 예제와 같습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_3.xul">View</a></p>
-<pre>&lt;button label="Types" type="menu"&gt;
- &lt;menupopup onpopupshowing="event.preventDefault();"&gt;
- &lt;menuitem label="Glass"/&gt;
- &lt;menuitem label="Plastic"/&gt;
- &lt;/menupopup&gt;
-&lt;/button&gt;
-</pre>
-<p>속성 형태로 작성된 이벤트 리스너에서는 해당 코드에서 false값을 반환하도록 해서 기본 행위를 막을 수 있는 방법도 있습니다. 기본 동작을 막는 것은 <code><a href="ko/DOM/event.stopPropagation">stopPropagation</a></code> 메소드로 이벤트 전파를 막는 것과는 다르다는 사실을 알아두세요. 기본 행위가 막혀 있더라도, 이벤트는 계속 진행됩니다. 마찬가지로, <code><a href="ko/DOM/event.stopPropagation">stopPropagation</a></code> 메소드를 호출한다고 해서 기본 동작이 실행되지 않는 것은 아닙니다. 여러분은 두 동작을 모두 실행되지 않게 하기 위해서는 두 메소드 모두 호출해야 합니다.</p>
-<p>일단 이벤트 전파나 기본 동작을 막았다면 다음 이벤트에서도 동일하게 동작할 것입니다.</p>
-<p>다음 단원의 내용은 자주 사용되는 몇가지 이벤트 목록입니다. 전체 목록은 <a class="external" href="http://www.xulplanet.com/references/elemref/ref_EventHandlers.html">XULPlanet event reference</a>를 참조하세요.</p>
-<h3 id=".EB.A7.88.EC.9A.B0.EC.8A.A4_.EC.9D.B4.EB.B2.A4.ED.8A.B8" name=".EB.A7.88.EC.9A.B0.EC.8A.A4_.EC.9D.B4.EB.B2.A4.ED.8A.B8">마우스 이벤트</h3>
-<p>마우스만의 동작을 처리하는데 사용되는 여러가지 이벤트가 있으며, 간략한 설명은 아래와 같습니다.</p>
-<dl>
- <dt>
- click </dt>
- <dd>
- 마우스로 대상 요소를 클릭했을때(버튼을 눌렀다 땔때) 호출됩니다.</dd>
-</dl>
-<dl>
- <dt>
- dblclick </dt>
- <dd>
- 마우스 버튼을 더블클릭했을때 호출됩니다.</dd>
-</dl>
-<dl>
- <dt>
- mousedown </dt>
- <dd>
- 마우스 버튼이 대상 요소에 눌러졌을때 호출됩니다. 이벤트 핸들러는 마우스 버튼이 눌러지면 떨어지지 않더라도 호출됩니다.</dd>
-</dl>
-<dl>
- <dt>
- mouseup </dt>
- <dd>
- 마우스 버튼이 떨어질때 호출됩니다.</dd>
-</dl>
-<dl>
- <dt>
- mouseover </dt>
- <dd>
- 마우스 포인터가 요소위로 움직이면 호출됩니다. 이 이벤트는 요소를 강조(highlight)하기 위해서 사용할 수 있지만, CSS에서 이런 것을 자동으로 처리하므로 이벤트로 처리할 필요는 없습니다. 그래도 상태바에 몇 가지 도움말을 제공하고자 할 때 사용할 수 있습니다.</dd>
-</dl>
-<dl>
- <dt>
- mousemove </dt>
- <dd>
- 마우스 포인터가 요소 위에서 움직이면 호출됩니다. 이 이벤트는 마우스를 움직임에 따라 자주 호출될 수 있기 때문에 긴 시간이 걸리는 작업을 이 핸들러에서 수행하도록 하는 것은 바람직하지 않습니다.</dd>
-</dl>
-<dl>
- <dt>
- mouseout </dt>
- <dd>
- 마우스 포인터가 대상 요소의 밖으로 나갈 때 호출됩니다. 강조된 대상 요소를 원래데로 바꾸거나 상태바의 텍스트를 제거할 때 사용할 수 있습니다.</dd>
-</dl>
-<p>이것들 외에도 드래그와 관련된 이벤트들이 있으며 이는 사용자가 마우스 버튼을 누른 상태에서 주위로 끌 때 발생합니다. 이러한 이벤트들에 대해서는 <a href="ko/Drag_and_Drop">Drag and Drop</a>에서 설명하겠습니다.</p>
-<h4 id=".EB.A7.88.EC.9A.B0.EC.8A.A4_.EB.B2.84.ED.8A.BC_.EC.9D.B4.EB.B2.A4.ED.8A.B8_.EC.86.8D.EC.84.B1" name=".EB.A7.88.EC.9A.B0.EC.8A.A4_.EB.B2.84.ED.8A.BC_.EC.9D.B4.EB.B2.A4.ED.8A.B8_.EC.86.8D.EC.84.B1">마우스 버튼 이벤트 속성</h4>
-<p>마우스 버튼 이벤트가 발생하면, 어떤 마우스 버튼이 눌러졌는지와 마우스 포인터의 위치가 어디인지를 확인할 수 있는 속성을 사용할 수 있습니다. 이벤트의 <code><a href="ko/DOM/event.button">button</a></code> 속성은 어떤 버튼이 눌러졌는지를 나타내는 속성으로, 왼쪽 버튼은 0, 오른쪽 버튼은 1, 가운데 버튼은 2의 값을 가집니다. 마우스의 버튼이 다르게 설정되었다면 값이 달라질 수 있습니다.</p>
-<p><code><a href="ko/DOM/event.detail">detail</a></code> 속성은 버튼이 빠른 시간 내 순차적으로 클릭된 횟수를 저장합니다. 이 속성을 이용해서 한번 클릭인지, 더블 클릭인지 혹은 3회 클릭인지를 확인할 수 있습니다. 물론 더블 클릭만 확인하고자 하면 dblclick 이벤트를 사용할 수 있습니다. click 이벤트가 첫 번째 클릭에 의해 발생하고 두번째 클릭, 세번째 클릭 각각에 대해 이벤트가 발생하지만 dblclick 이벤트는 더블 클릭시 한번만 발생합니다.</p>
-<p><code><a href="ko/DOM/event.button">button</a></code>과 <code><a href="ko/DOM/event.detail">detail</a></code> 속성은 마우스 버튼과 관련된 이벤트에만 해당됩니다. 마우스의 움직임과 관련된 이벤트에서는 해당 속성값이 0으로 설정될 것입니다.</p>
-<h4 id=".EB.A7.88.EC.9A.B0.EC.8A.A4_.EC.9C.84.EC.B9.98_.EA.B4.80.EB.A0.A8_.EC.9D.B4.EB.B2.A4.ED.8A.B8_.EC.86.8D.EC.84.B1" name=".EB.A7.88.EC.9A.B0.EC.8A.A4_.EC.9C.84.EC.B9.98_.EA.B4.80.EB.A0.A8_.EC.9D.B4.EB.B2.A4.ED.8A.B8_.EC.86.8D.EC.84.B1">마우스 위치 관련 이벤트 속성</h4>
-<p>그러나 모든 마우스 이벤트에는 이벤트가 발생한 마우스 위치 좌표를 저장하는 속성이 있습니다. 이 속성에는 두 가지 종류의 좌표가 있습니다. 첫 번째는 <code><a href="ko/DOM/event.screenX">screenX</a></code>와 <code><a href="ko/DOM/event.screenY">screenY</a></code> 속성으로 화면의 좌상단에 상대적인 좌표입니다. 두 번째는 <code><a href="ko/DOM/event.clientX">clientX</a></code>와 <code><a href="ko/DOM/event.clientY">clientY</a></code>로 문서의 좌상단에 상대적인 좌표입니다. 다음은 현재의 마우스 좌표를 출력하는 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_4"><a id="%EC%98%88%EC%A0%9C_4"></a><strong>예제 4</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_4.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advevents_4.xul">View</a></p>
-<pre>&lt;script&gt;
-
-function updateMouseCoordinates(event){
- var text = "X:" + event.clientX + " Y:" + event.clientY;
- document.getElementById("xy").value = text;
-}
-&lt;/script&gt;
-
-&lt;label id="xy"/&gt;
-&lt;hbox width="400" height="400" onmousemove="updateMouseCoordinates(event);"/&gt;
-</pre>
-<p>예제에서는 상자의 크기를 명시적으로 지정했기 때문에 효과를 좀더 쉽게 볼 수 있습니다. 이벤트 핸들러는 <code><a href="ko/DOM/event.clientX">clientX</a></code>와 <code><a href="ko/DOM/event.clientY">clientY</a></code> 속성값을 얻어 문자열을 만들었습니다. 그리고 이 문자열을 라벨의 value 속성에 할당했습니다. <code>updateMouseCoordinates</code> 함수의 인자로 event가 넘어오는 것을 기억하세요. 만일 상자의 경계을 넘어 빠르게 마우스가 이동한다면, 아마 마우스 좌표가 400에 정확히 멈추지 않는 것을 알게 될것입니다. 이것은 mousemove 이벤트가 일정한 간격으로 발생하며, 다음 이벤트가 발생하기 전에 마우스의 위치가 밖으로 빠져나갔기 때문입니다. 당연히 마우스가 움직이는 매 픽셀마다 mousemove 이벤트가 전송된다면 너무 비효율적일 것입니다.</p>
-<h4 id=".EC.9A.94.EC.86.8C.EC.97.90_.EC.83.81.EB.8C.80.EC.A0.81.EC.9D.B8_.EC.A2.8C.ED.91.9C" name=".EC.9A.94.EC.86.8C.EC.97.90_.EC.83.81.EB.8C.80.EC.A0.81.EC.9D.B8_.EC.A2.8C.ED.91.9C">요소에 상대적인 좌표</h4>
-<p>여러분은 전체 창이 아닌 이벤트가 발생한 요소에 상대적인 좌표(요소 내에서의 좌표)를 얻고자 할때가 있을 것입니다. 이는 이벤트의 위치에서 요소의 위치를 빼주면 얻을 수 있으며 코드는 다음과 같습니다.</p>
-<pre>var element = event.target;
-var elementX = event.clientX - element.boxObject.x;
-var elementY = event.clientY - element.boxObject.y;
-</pre>
-<p>XUL 요소들에는 <code><code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/boxObject">boxObject</a></span></code></code>라는 속성을 사용해서 얻을 수 있는 상자 객체가 있습니다. 상자 객체에 대해서는 <a href="ko/XUL_Tutorial/Box_Objects">이후 단원</a>에서 배우겠지만, 간단히 말해서 이 객체는 요소가 출력되는 방법에 대한 정보(요소의 x, y 좌표등)를 가지고 있다고 보면 됩니다. 예제 코드에서는 요소 기준의 이벤트 좌표를 얻기 위해 이벤트 좌표에서 상자 객체의 좌표를 뺐습니다.</p>
-<h3 id=".EB.A1.9C.EB.93.9C.28load.29_.EC.9D.B4.EB.B2.A4.ED.8A.B8" name=".EB.A1.9C.EB.93.9C.28load.29_.EC.9D.B4.EB.B2.A4.ED.8A.B8">로드(load) 이벤트</h3>
-<p>로드 이벤트는 XUL 파일의 로딩이 완료되고 내용이 출력되기 직전에 문서(<code><code><a href="/ko/docs/Mozilla/Tech/XUL/window" title="window">window</a></code></code> 태그)로 전송됩니다. 이 이벤트는 일반적으로 변수들을 초기화하고 사용자가 창을 사용할 수 있기 전에 해야 할 일들을 처리하는데 사용됩니다. 여러분은 이러한 초기화 작업을 함수 외부의 최상위 레벨 스크립트로 처리하는 것보다는 로드 이벤트를 사용하는 것이 좋습니다. 이것은 XUL 요소들이 로드되지 않았거나 초기화되지 않았을수도 있기 때문이며, 따라서 어떤 것들은 원하는데로 동작하지 않을 수 있습니다. 로드 이벤트를 사용하려면 window 태그에 onload 속성을 넣으면 됩니다. 초기화를 필요로 하는 것들은 로드 이벤트 핸들러에서 호출하세요.</p>
-<p>또한 창이 닫힐 때 혹은 브라우저의 관점에서는 페이지가 다른 URL로 넘어갈 때 발생하는 언로드(unload) 이벤트가 있습니다. 이 이벤트는 창이 닫히기 전 변경된 정보를 저장하는 것과 같은 용도로 사용할 수 있습니다.</p>
-<p>다음에는 <a href="ko/XUL_Tutorial/Keyboard_Shortcuts">단축키</a>를 추가하는 방법에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Adding_Event_Handlers" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Keyboard_Shortcuts">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/more_menu_features/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/more_menu_features/index.html
deleted file mode 100644
index 897dbaa148..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/more_menu_features/index.html
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title: More Menu Features
-slug: Mozilla/Tech/XUL/XUL_Tutorial/More_Menu_Features
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/More_Menu_Features
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Simple_Menu_Bars" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Popup_Menus">다음 »</a></p>
-</div><p></p>
-<p>이번 단원에서는 하위 메뉴와 체크 메뉴를 만드는 방법을 알아 보겠습니다.</p>
-<h3 id=".ED.95.98.EC.9C.84_.EB.A9.94.EB.89.B4_.EB.A7.8C.EB.93.A4.EA.B8.B0" name=".ED.95.98.EC.9C.84_.EB.A9.94.EB.89.B4_.EB.A7.8C.EB.93.A4.EA.B8.B0">하위 메뉴 만들기</h3>
-<p>여러분은 기존에 있는 요소들을 사용하여 다른 메뉴 내에 있는 서브메뉴(중첩 메뉴)를 만들 수 있습니다. <code>menupopup</code>안에는 어떤 요소든 넣을 수 있다는 것을 기억해보세요. 지난 단원에서는 <code>menupopup</code>안에 <code>menuitem</code>과 <code>menuseparator</code>를 넣는 방법을 알아 보았습니다. 그러나 여러분은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code> 요소내에 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code></code>를 넣기만 하면 하위 메뉴를 만들 수 있습니다. 이것은 <code>menu</code> 요소가 꼭 메뉴바의 바로 아래에 있지 않더라도 유효한 것이기 때문에 동작하게 됩니다. 아래는 File 메뉴내에 간단한 하위 메뉴가 존재하는 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_1.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:menubar-ex3.png"></div>
-<pre>&lt;toolbox flex="1"&gt;
- &lt;menubar id="sample-menubar"&gt;
- &lt;menu id="file-menu" label="File"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menu id="new-menu" label="New"&gt;
- &lt;menupopup id="new-popup"&gt;
- &lt;menuitem label="Window"/&gt;
- &lt;menuitem label="Message"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menuitem label="Open"/&gt;
- &lt;menuitem label="Save"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="Exit"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-&lt;/toolbox&gt;
-</pre>
-<div class="highlight">
- <h3 id=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C.EC.97.90_.EB.A9.94.EB.89.B4_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0" name=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C.EC.97.90_.EB.A9.94.EB.89.B4_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0">우리의 파일 찾기 예제에 메뉴 추가하기</h3>
- <p>이제 파일 찾기 대화창에 메뉴를 넣어 봅시다. 우리는 File 메뉴와 Edit 메뉴에 간단한 명령 몇 가지를 넣을 것입니다. 이 방법은 위의 예제와 비슷합니다.</p>
- <pre class="eval">&lt;toolbox&gt;
-
- <span class="highlightred">&lt;menubar id="findfiles-menubar"&gt;
- &lt;menu id="file-menu" label="File" accesskey="f"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menuitem label="Open Search..." accesskey="o"/&gt;
- &lt;menuitem label="Save Search..." accesskey="s"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="Close" accesskey="c"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menu id="edit-menu" label="Edit" accesskey="e"&gt;
- &lt;menupopup id="edit-popup"&gt;
- &lt;menuitem label="Cut" accesskey="t"/&gt;
- &lt;menuitem label="Copy" accesskey="c"/&gt;
- &lt;menuitem label="Paste" accesskey="p" disabled="true"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;</span>
-
-&lt;toolbar id="findfiles-toolbar&gt;
-</pre>
- <div class="float-right">
- <img alt="Image:menubar1.png"></div>
- <p>여기서 여러개의 명령을 가진 두 개의 메뉴를 만들었습니다. 툴박스 내에 어떻게 메뉴바가 추가되었는지를 유심히 보세요. Open Search와 Save Search 뒤에 불은 세 개의 점은 사용자가 해당 명령을 선택할 때 대화창이 열릴것이라는 것을 알려주는 일반적인 방법입니다. 각 메뉴와 메뉴 항목에는 접근글쇠(Access key)가 지정되어 있습니다. 그림을 보면 지정된 글자가 메뉴 제목에 밑줄로 표시된 것을 알 수 있습니다. 또 붙이기(Paste) 명령은 현재 사용불가 상태입니다. 우리는 아무 것도 붙일 것이 없다고 가정할 것입니다.</p>
- <p><span id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"><a id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"></a><strong>지금까지의 파일 찾기 예제</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-advmenu.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-advmenu.xul">View</a></p>
-</div>
-<h3 id=".EB.A9.94.EB.89.B4.EC.97.90_.EC.B2.B4.ED.81.AC_.ED.91.9C.EC.8B.9C_.EB.84.A3.EA.B8.B0" name=".EB.A9.94.EB.89.B4.EC.97.90_.EC.B2.B4.ED.81.AC_.ED.91.9C.EC.8B.9C_.EB.84.A3.EA.B8.B0">메뉴에 체크 표시 넣기</h3>
-<p>많은 프로그램들에서는 체크할 수 있는 메뉴를 사용합니다. 예를 들어 현재 사용하고 있는 기능은 명령 옆에 체크가 있고 그렇지 않은 기능은 체크가 없는 메뉴 같은 것입니다. 사용자가 메뉴를 선택하면 체크 상태가 바뀝니다. 또 메뉴 항목에 라디오 버튼을 넣고 싶을 때도 있을 것입니다.</p>
-<p>체크 메뉴를 만드는 방법은 <code><a href="/ko/docs/Mozilla/Tech/XUL/checkbox" title="checkbox">checkbox</a></code>와 <code><a href="/ko/docs/Mozilla/Tech/XUL/radio" title="radio">radio</a></code>를 만드는 방법과 비슷합니다. 이를 위해서는 두 개의 속성이 필요한데, <code><a href="ko/XUL/Attribute/button.type">type</a></code> 속성은 체크의 형식을 지정할 때, <code><a href="ko/XUL/Attribute/menuitem.name">name</a></code> 속성은 관련된 명령을 하나로 묶을 때 사용합니다. 아래는 체크 항목을 가진 메뉴를 만드는 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_2.xul">View</a></p>
-<pre>&lt;toolbox&gt;
- &lt;menubar id="options-menubar"&gt;
- &lt;menu id="options_menu" label="Options"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Make Backups" type="checkbox"/&gt;
- &lt;menuitem label="Email Administrator" type="checkbox" checked="true"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-&lt;/toolbox&gt;
-</pre>
-<p>메뉴 항목이 체크될 수 있도록 <code><a href="ko/XUL/Attribute/button.type">type</a></code> 속성이 추가되었습니다. 해당 속성값을 <code>checkbox</code>로 설정하면 메뉴 항목을 클릭할 때마다 체크가 설정/해제됩니다.</p>
-<h4 id=".EB.9D.BC.EB.94.94.EC.98.A4.EB.B2.84.ED.8A.BC.EC.9D.B4_.EC.9E.88.EB.8A.94_.EB.A9.94.EB.89.B4" name=".EB.9D.BC.EB.94.94.EC.98.A4.EB.B2.84.ED.8A.BC.EC.9D.B4_.EC.9E.88.EB.8A.94_.EB.A9.94.EB.89.B4">라디오버튼이 있는 메뉴</h4>
-<p>일반 체크 외에도 <code><a href="ko/XUL/Attribute/button.type">type</a></code> 속성의 값을 <code>radio</code>로 지정하면 라디오 형식의 체크를 만들 수 있습니다. 라디오 체크는 한 그룹의 메뉴 항목 중 하나만 선택할 수 있도록 만들 때 사용됩니다. 예를 들면 한번에 하나의 글꼴만 선택할 수 있는 글꼴 메뉴 같은 것입니다. 이 때 다른 항목이 선택되면 이전에 선택되었던 항목은 체크가 해제됩니다.</p>
-<p>여러 개의 메뉴 항목을 하나의 그룹으로 묶을 때는 각 메뉴 항목의 <code><a href="ko/XUL/Attribute/menuitem.name">name</a></code> 속성을 같은 값으로 지정하면 됩니다. 아래 예제를 보겠습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_advmenu_3.xul">View</a></p>
-<pre>&lt;toolbox&gt;
- &lt;menubar id="planets-menubar"&gt;
- &lt;menu id="planet-menu" label="Planet"&gt;
- &lt;menupopup&gt;
- &lt;menuitem id="jupiter" label="Jupiter" type="radio" name="ringed"/&gt;
- &lt;menuitem id="saturn" label="Saturn" type="radio" name="ringed" checked="true"/&gt;
- &lt;menuitem id="uranus" label="Uranus" type="radio" name="ringed"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem id="earth" label="Earth" type="radio" name="inhabited" checked="true"/&gt;
- &lt;menuitem id="moon" label="Moon" type="radio" name="inhabited"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-&lt;/toolbox&gt;
-</pre>
-<p>예제를 실행시키면, 처음 세 개의 메뉴 항목 중 한 가지만 선택할 수 있다는 것을 알게 될 것입니다. 이 메뉴 항목들은 모두 동일한 <code>name</code> 속성값을 가지고 있기 때문에 하나의 그룹으로 엮인 것입니다. 마지막 메뉴 항목인 Earth는 라디오 메뉴이지만 <code>name</code> 속성값이 다르기 때문에 그 무리에 속하지 않습니다.</p>
-<p>물론 하나의 그룹 항목들은 모두 동일한 메뉴 안에 있어야 합니다. 꼭 붙어 있어야 할 필요는 없지만, 상식적으로 생각할 때 서로 붙어 있는 것이 좋을 것입니다.</p>
-<p>다음 단원에서는 <a href="ko/XUL_Tutorial/Popup_Menus">팝업 메뉴</a>를 작성하는 방법에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Simple_Menu_Bars" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Popup_Menus">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/popup_menus/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/popup_menus/index.html
deleted file mode 100644
index a3062b42d7..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/popup_menus/index.html
+++ /dev/null
@@ -1,190 +0,0 @@
----
-title: Popup Menus
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Popup_Menus
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Popup_Menus
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:More_Menu_Features" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Scrolling_Menus">다음 »</a></p>
-</div><p></p>
-<p>이전 단원에서는 메뉴바에 들어가는 메뉴를 만드는 방법에 대해 알아보았습니다. XUL은 팝업 메뉴를 만들 수 있는 능력도 가지고 있습니다. 팝업 메뉴는 대개 오른쪽 마우스 버튼을 누를 때 표시됩니다.</p>
-<h3 id=".ED.8C.9D.EC.97.85_.EB.A9.94.EB.89.B4_.EB.A7.8C.EB.93.A4.EA.B8.B0" name=".ED.8C.9D.EC.97.85_.EB.A9.94.EB.89.B4_.EB.A7.8C.EB.93.A4.EA.B8.B0">팝업 메뉴 만들기</h3>
-<p>XUL은 아래에서 설명하는 3가지 다른 형태의 팝업이 있습니다. 주된 차이는 표시되는 방식에 있습니다.</p>
-<dl>
- <dt>
- 일반 팝업(Plain Popups)</dt>
- <dd>
- 일반 팝업은 대상 요소에 마우스 왼쪽 버튼을 클릭하였을 때 나타나는 팝업창입니다. 일반 팝업은 어디에나 위치할 수 있으며, 어떤 내용이든 담을 수 있다는 점을 제외하고 메뉴바에 있는 메뉴와 아주 비슷합니다. 브라우저 창에서 뒤로와 앞으로 가기 버튼 옆에 있는 조그만 아래방향 화살표를 눌렀을 때 나타나는 드롭 다운 메뉴가 이의 좋은 예입니다.</dd>
-</dl>
-<dl>
- <dt>
- 문맥 팝업(Context Popups)</dt>
- <dd>
- 문맥 팝업은 사용자가 문맥 메뉴 버튼(대개 마우스 오른쪽 버튼)을 누를 때 나타나는 팝업창입니다. 일부 플랫폼에서는 다른 버튼일 수도 있지만, 이것은 항상 문맥전용 메뉴를 호출하는 버튼 또는 키와 마우스의 조합입니다. 예를 들어 맥킨토시에서는 사용자가 제어키(Ctrl)를 누르고 마우스 버튼을 클릭하거나, 잠깐 동안 마우스 버튼을 누르고 있어야 합니다.</dd>
-</dl>
-<dl>
- <dt>
- 툴팁(Tooltips)</dt>
- <dd>
- 툴팁 팝업창은 사용자가 어떤 요소위에 마우스를 올렸을 때 나타납니다. 이런 유형의 팝업은 보통 버튼 자체에서 제공되는 것보다 좀더 구체적인 버튼에 대한 설명을 제공하는 데 사용됩니다.</dd>
-</dl>
-<p>이들 세 가지 유형의 팝업은 사용자가 이것들을 호출하는 방식이 서로 다릅니다. 그래서 팝업 유형은 팝업을 호출하는 요소에 의해 결정됩니다.</p>
-<h4 id=".ED.8C.9D.EC.97.85_.EB.82.B4.EC.9A.A9_.EC.84.A0.EC.96.B8.ED.95.98.EA.B8.B0" name=".ED.8C.9D.EC.97.85_.EB.82.B4.EC.9A.A9_.EC.84.A0.EC.96.B8.ED.95.98.EA.B8.B0">팝업 내용 선언하기</h4>
-<p>팝업은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code> 요소를 사용하여 선언됩니다. 이는 특별한 속성이 없는 상자의 한 유형입니다. 팝업이 호출되면, 여러분이 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code>에 넣은 모든 요소를 포함하는 창이 화면에 출력될 것입니다. 여러분은 <code>menupopup</code>에 <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> 속성을 항상 넣어주어야 합니다. 이것은 이 속성이 팝업과 특정 요소를 연결하는데 사용되기 때문인데, 이 의미에 대해서는 곧 알게될 것입니다. 먼저, 예제를 보겠습니다.</p>
-<pre>&lt;popupset&gt;
- &lt;menupopup id="clipmenu"&gt;
- &lt;menuitem label="Cut"/&gt;
- &lt;menuitem label="Copy"/&gt;
- &lt;menuitem label="Paste"/&gt;
- &lt;/menupopup&gt;
-&lt;/popupset&gt;
-</pre>
-<p>여기서 볼 수 있듯이, 3개의 메뉴가 있는 단순 팝업메뉴가 만들어졌습니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code> 요소는 3개 메뉴 항목을 둘러싸고 있습니다. 여러분은 <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> 속성이 <code>menupopup</code> 요소 자체에 설정된 것을 볼 수 있습니다.</p>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/popupset" title="popupset">popupset</a></code></code> 요소는 전체 팝업메뉴 선언부를 둘러싸고 있습니다. 이 요소는 팝업의 일반적인 컨테이너로 선택사항입니다. 이 요소는 화면에 나타나지는 않지만 사용할 모든 팝업들을 선언할 위치 역할로 사용됩니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/popupset" title="popupset">popupset</a></code></code>이라는 이름이 의미하듯, 내부에 여러개의 팝업을 선언할 수 있습니다. 첫 번째 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/popup" title="popup">popup</a></code></code> 요소 다음에 그냥 추가하기만 하면 됩니다. 하나의 파일에 여러개의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/popupset" title="popupset">popupset</a></code></code>을 둘 수도 있지만, 대개는 하나만 존재할 것입니다.</p>
-<h4 id=".EC.9A.94.EC.86.8C.EC.99.80_.ED.8C.9D.EC.97.85.EC.9D.84_.EC.97.B0.EA.B2.B0.ED.95.98.EA.B8.B0" name=".EC.9A.94.EC.86.8C.EC.99.80_.ED.8C.9D.EC.97.85.EC.9D.84_.EC.97.B0.EA.B2.B0.ED.95.98.EA.B8.B0">요소와 팝업을 연결하기</h4>
-<p>이제 팝업을 만들었으니 팝업이 나타나도록 해야할 시간입니다. 이를 위해 팝업과 팝업이 나타날 요소를 연결시켜야 합니다. 이렇게 하는 것은 사용자가 창의 어떤 영역을 클릭했을 때만 팝업이 나타나야 하기 때문입니다. 대개, 이 요소는 특정 버튼이거나 상자가 됩니다.</p>
-<p>팝업을 요소와 연결시키려면 3가지 속성 중 하나를 해당 요소에 추가하면 됩니다. 추가할 요소는 만들고자 하는 팝업의 종류에 따라 달라집니다. 일반 팝업의 경우에는 해당 요소에 <code><code id="a-popup"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/popup">popup</a></code></code> 속성을 사용하고, 문맥 팝업은 <code><code id="a-context"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code></code> 속성을 사용합니다. 마지막으로 툴팁 팝업은 <code><code id="a-tooltip"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code></code> 속성을 사용합니다.</p>
-<p>위의 속성에는 출력하고자 하는 <code>menupopup</code>의 <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> 속성값을 지정해야 합니다. 보통 하나의 파일이 여러개의 팝업을 포함하는 이유가 이 때문입니다.</p>
-<p>위의 예제를 이용해 문맥 팝업을 만들고자 합니다. 이것은 <code><code id="a-context"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code></code> 속성을 사용해야 하며, 연결하고자 하는 팝업의 <code>id</code> 속성값을 이 속성값으로 지정해야 한다는 것을 의미합니다. 아래 예제는 이러한 사항을 어떻게 처리할 수 있는 지를 보여주고 있습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_1.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:popups-ex1.png"></div>
-<pre>&lt;popupset&gt;
- &lt;menupopup id="clipmenu"&gt;
- &lt;menuitem label="Cut"/&gt;
- &lt;menuitem label="Copy"/&gt;
- &lt;menuitem label="Paste"/&gt;
- &lt;/menupopup&gt;
-&lt;/popupset&gt;
-
-&lt;box context="clipmenu"&gt;
- &lt;label value="Context click for menu"/&gt;
-&lt;/box&gt;
-</pre>
-<p>여기서 팝업은 상자와 연결되었습니다. 상자 어디서든 문맥 클릭(context-click, 오른쪽 클릭)을 하면 팝업메뉴가 나타날 것입니다. 또한 상자의 자식 요소를 클릭할 때도 팝업이 나타나기 때문에 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/label" title="label">label</a></code></code> 요소를 클릭해도 동일하게 동작할 것입니다. <code><code id="a-context"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/context">context</a></code></code> 속성은 상자와 해당 id를 가진 팝업을 연결하기 위해 사용되었습니다. 이 경우, <code>id</code>가 <code>clipmenu</code>인 팝업이 나타날 것입니다. 이런 식으로 수많은 팝업을 가질 수 있으며, 이들을 다른 요소와 연결할 수 있습니다.</p>
-<p>여러분은 하나의 요소에 다른 종류의 팝업 속성을 설정하여 여러개의 팝업과 연결할 수 있습니다. 또 하나의 팝업을 여러개의 요소에도 연결할 수 있는데 이는 XUL의 팝업 구문이 가진 장점 중 하나입니다. 팝업은 XUL 요소에만 연결할 수 있으며, HTML 요소와는 연결할 수 없습니다.</p>
-<h3 id=".ED.88.B4.ED.8C.81" name=".ED.88.B4.ED.8C.81">툴팁</h3>
-<p>여기서는 툴팁을 만드는 단순한 방법을 살펴보겠습니다. 툴팁을 만드는데는 두 가지 방법이 있습니다. 일반적으로 사용되는 가장 단순한 방법은 툴팁을 적용하고자 하는 요소에 <code><code id="a-tooltiptext"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/tooltiptext">tooltiptext</a></code></code> 속성을 추가하는 것입니다.</p>
-<p>두 번째 방법은 툴팁의 내용을 담고 있는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tooltip" title="tooltip">tooltip</a></code></code> 요소를 사용하는 것입니다. 이 방법은 각각의 툴팁 내용을 포함하는 별도의 블록 또는 내용을 설정하는 스크립트의 작성을 필요로 합니다. 그러나 이러한 방법을 이용하면 툴팁에 텍스트 외에도 어떠한 내용도 사용할 수 있는 장점이 있습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_2.xul">View</a></p>
-<pre>&lt;button label="Save" tooltiptext="Click here to save your stuff"/&gt;
-
-&lt;popupset&gt;
- &lt;tooltip id="moretip" orient="vertical" style="background-color: #33DD00;"&gt;
- &lt;description value="Click here to see more information"/&gt;
- &lt;description value="Really!" style="color: red;"/&gt;
- &lt;/tooltip&gt;
-&lt;/popupset&gt;
-
-&lt;button label="More" tooltip="moretip"/&gt;
-</pre>
-<p>이 2개의 버튼은 각각 툴팁을 가지고 있습니다. 첫 번째는 기본 툴팁 방식을, 두 번째는 다른 배경색과 서식이 적용된 텍스트로 구성된 커스텀 툴팁을 사용하고 있습니다. 툴팁은 More 버튼과 연결되어 있으며, 이를 위해 버튼의 <code><code id="a-tooltip"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/tooltip">tooltip</a></code></code> 속성에 해당 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tooltip" title="tooltip">tooltip</a></code></code> 요소의 <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> 속성값이 설정되어 있습니다. 여기서 <code>tooltip</code> 요소는 다른 팝업 유형처럼 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/popupset" title="popupset">popupset</a></code></code> 내부에 위치하고 있다는 점에 유의하세요.</p>
-<h3 id=".ED.8C.9D.EC.97.85_.EC.A0.95.EB.A0.AC" name=".ED.8C.9D.EC.97.85_.EC.A0.95.EB.A0.AC">팝업 정렬</h3>
-<p>기본적으로, 팝업과 문맥 창은 마우스 포인터가 위치한 곳에 나타납니다. 툴팁은 해당 요소의 약간 아래 위치하는데, 이는 마우스 포인터가 이를 가리지 않게 하기 위해서 입니다. 그렇다 하더라, 팝업이 나타날 위치를 좀 더 상세히 지정하고 싶은 경우가 있을 것입니다. 예를 들어, 브라우저의 뒤로 가기 버튼을 클릭했을 때 나타나는 팝업 메뉴는 마우스 포인터가 있는 곳이 아닌, 뒤로 가기 버튼 바로 아래 나타나도록 하는 것이 좋을 것입니다.</p>
-<p>팝업 위치를 변경하기 위해서는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/popup" title="popup">popup</a></code></code> 요소에 <code><code id="a-position"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/position">position</a></code></code>이라는 또 다른 속성을 사용할 수 있습니다. 또한 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code> 요소에도 이를 추가할 수 있습니다. 이 속성은 팝업을 발생시키는 요소에 상대적인 팝업 위치를 지시하는 데 사용됩니다. 여러가지 값을 설정할 수 있으며, 각각을 간단히 설명하면 아래와 같습니다.</p>
-<dl>
- <dt>
- after_start</dt>
- <dd>
- 팝업은 요소의 아래에 왼쪽으로 정렬되어 나타납니다(팝업의 왼쪽 = 요소의 왼쪽, 팝업의 위 = 요소의 아래). 해당 팝업창이 요소보다 큰 경우, 오른쪽으로 확장됩니다. 이것은 브라우저의 뒤로와 앞으로 가기 버튼과 연결된 드롭다운 메뉴에 사용되는 값입니다.</dd>
-</dl>
-<dl>
- <dt>
- after_end</dt>
- <dd>
- 팝업창은 요소의 아래에 오른쪽으로 정렬되어 나타납니다(팝업의 오른쪽 = 요소의 오른쪽, 팝업의 위 = 요소의 아래).</dd>
-</dl>
-<dl>
- <dt>
- before_start</dt>
- <dd>
- 팝업창은 요소의 위쪽에 왼쪽으로 정렬되어 나타납니다(팝업의 왼쪽 = 요소의 왼쪽, 팝업의 아래 = 요소의 위).</dd>
-</dl>
-<dl>
- <dt>
- before_end</dt>
- <dd>
- 팝업창은 요소의 위쪽에 오른쪽으로 정렬되어 나타납니다(팝업의 오른쪽 = 요소의 오른쪽, 팝업의 아래 = 요소의 위).</dd>
-</dl>
-<dl>
- <dt>
- end_after</dt>
- <dd>
- 팝업은 요소의 오른쪽에 아래쪽으로 정렬되어 나타납니다(팝업의 왼쪽 = 요소의 오른쪽, 팝업의 아래 = 요소의 아래).</dd>
-</dl>
-<dl>
- <dt>
- end_before</dt>
- <dd>
- 팝업은 요소의 오른쪽에 위쪽으로 정렬되어 나타납니다(팝업의 왼쪽 = 요소의 오른쪽, 팝업의 위 = 요소의 위).</dd>
-</dl>
-<dl>
- <dt>
- start_after</dt>
- <dd>
- 팝업은 요소의 왼쪽에 아래쪽으로 정렬되어 나타납니다(팝업의 오른쪽 = 요소의 왼쪽, 팝업의 아래 = 요소의 아래).</dd>
-</dl>
-<dl>
- <dt>
- start_before</dt>
- <dd>
- 팝업은 요소의 왼쪽에 위쪽으로 정렬되어 나타납니다(팝업의 오른쪽 = 요소의 왼쪽, 팝업의 위 = 요소의 위).</dd>
-</dl>
-<dl>
- <dt>
- overlap</dt>
- <dd>
- 팝업은 요소의 위에 나타납니다(요소의 왼쪽 위 = 팝업의 왼쪽 위).</dd>
-</dl>
-<dl>
- <dt>
- at_pointer</dt>
- <dd>
- 팝업은 마우스 포인터 위치에 나타납니다.</dd>
-</dl>
-<dl>
- <dt>
- after_pointer</dt>
- <dd>
- 팝업은 마우스 포인터와 가로 위치는 같으면서 세로 위치는 마우스 포인터 아래 부분에 나타납니다. 이것은 툴팁이 나타나는 방식입니다.</dd>
-</dl>
-<p>팝업 요소에 <code>position</code> 속성을 추가함으로써 팝업이 나타날 위치를 정확하게 지정할 수 있습니다. 그러나 정확한 픽셀 위치를 지정할 수는 없습니다. 아마도 툴팁 요소에 대한 이 속성값은 변경하려고 하지 않겠지만, <code>position</code> 속성은 세 가지 팝업 유형 모두에 사용될 수 있습니다. 아래 예제는 팝업 메뉴를 가진 뒤로가기 버튼을 만드는 것을 보여주는 것입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_popups_3.xul">View</a></p>
-<pre>&lt;popupset&gt;
- &lt;menupopup id="backpopup" position="after_start"&gt;
- &lt;menuitem label="Page 1"/&gt;
- &lt;menuitem label="Page 2"/&gt;
- &lt;/menupopup&gt;
-&lt;/popupset&gt;
-
-&lt;button label="Pop Me Up" popup="backpopup"/&gt;
-</pre>
-<div class="highlight">
- <h3 id="Our_find_files_example" name="Our_find_files_example">Our find files example</h3>
- <p>파일 찾기 대화창에 간단한 팝업 메뉴를 추가해 보겠습니다. 단순하게 하기 위해, Edit 메뉴의 내용을 그냥 복사했습니다. 첫 번째 탭 패널위에서 클릭했을 때 팝업이 나타나도록 해 봅시다.</p>
- <pre class="eval"><span class="highlightred">&lt;popupset&gt;
- &lt;menupopup id="editpopup"&gt;
- &lt;menuitem label="Cut" accesskey="t"/&gt;
- &lt;menuitem label="Copy" accesskey="c"/&gt;
- &lt;menuitem label="Paste" accesskey="p" disabled="true"/&gt;
- &lt;/menupopup&gt;
-&lt;/popupset&gt;</span>
-
-&lt;vbox flex="1"&gt;
-.
-.
-.
-
-<span class="highlightred">&lt;tabpanel id="searchpanel" orient="vertical" context="editpopup"&gt;</span>
-</pre>
- <p>여기에 있는 eidt 메뉴와 유사한 단순 팝업이 첫 번째 탭패널에 추가되었습니다. 첫 번째 패널 어디서든 마우스 오른쪽 버튼을 클릭하면(맥킨토시에서는 Ctrl-클릭), 팝업이 나타날 것입니다. 그러나 해당 팝업은 그 이외 장소에서 클릭하면 나타나지 않을 것입니다. 주의할 사항은 글상자의 경우 자체 내장 팝업메뉴가 있어서 우리가 지정한 팝업 메뉴가 나타나지 않을 것입니다.</p>
- <p><span id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"><a id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"></a><strong>지금까지의 파일 찾기 예제</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-popups.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-popups.xul">View</a></p>
-</div>
-<p>다음 단원에서는 <a href="ko/XUL_Tutorial/Scrolling_Menus">스크롤 메뉴</a>를 작성하는 방법에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:More_Menu_Features" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Scrolling_Menus">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/progress_meters/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/progress_meters/index.html
deleted file mode 100644
index 2593628bfa..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/progress_meters/index.html
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title: Progress Meters
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Progress_Meters
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Progress_Meters
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:List_Controls" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Adding_HTML_Elements">다음 »</a></p>
-</div><p></p>
-<p>본 섹션에서는 진행 지시자를 생성하는 방법에 대해 알아보겠습니다.</p>
-<h3 id=".EC.A7.84.ED.96.89_.EC.A7.80.EC.8B.9C.EC.9E.90_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0" name=".EC.A7.84.ED.96.89_.EC.A7.80.EC.8B.9C.EC.9E.90_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0">진행 지시자 추가하기</h3>
-<p>진행 지시자는 작업이 얼마나 진행되었는지를 나타내는 막대입니다. 여러분은 보통 파일을 다운로드 받을때나 시간이 긴 작업이 진행될 때 보실 수 있습니다. XUL에서는 이러한 진행 지시자를 생성하기 위해 <code><a href="/ko/docs/Mozilla/Tech/XUL/progressmeter" title="progressmeter">progressmeter</a></code> 요소를 사용합니다. 진행 지시자에는 결정(determinate)과 미결정(undeterminate)의 두가지 종류가 있습니다.</p>
-<p>결정 진행 지시자는 어떠한 작업이 수행될 전체 시간의 길이를 알고 있을 때 사용합니다. 진행 지시자는 점점 차게 되고 다 차게 되면 작업이 완료되었음을 나타냅니다. 이러한 진행 지시자는 파일의 크기를 알고 있는 다운로드 대화상자의 경우에 사용할 수 있습니다.</p>
-<p>미결정 진행 지시자는 작업이 수행될 전체 시간 길이를 모를때 사용합니다. 진행 지시자는 사용중인 플랫폼이나 테마에 따라, 회전하는 이발소 간판(barbaer pole)이나 미끄러지는 상자와 같은 에니메이션으로 표시됩니다.</p>
-<p>결정 진행 지시자: <img alt="Image:prog-det.png"></p>
-<p>미결정 진행 지시자: <img alt="Image:prog-udet.png"></p>
-<p>진행 지시자는 다음과 같은 구문으로 표현됩니다.:</p>
-<pre>&lt;progressmeter
- id="identifier"
- mode="determined"
- value="50%"/&gt;
-</pre>
-<p>속성은 다음과 같습니다.</p>
-<dl>
- <dt>
- <code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code> </dt>
- <dd>
- 진행 지시자의 유일 식별자 입니다.</dd>
- <dt>
- <a href="ko/XUL/Attribute/progressmeter.mode">mode</a></dt>
- <dd>
- 진행 지시자의 유형을 나타냅니다. 만일 <code>determined</code>로 지정하면 결정 진행 지시자를 의미하는 것으로 작업이 진행됨에 따라 채워지게 됩니다. 만일 <code>undetermined</code>로 지정하면 미결정 진행 지시자를 나타내는 것으로 작업이 진행될 시간을 모르는 경우에 사용됩니다. 본 속성을 지정하지 않은 경우에는 <code>determined</code>가 기본값입니다.</dd>
- <dt>
- <code id="a-value"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/value">value</a></code> </dt>
- <dd>
- 진행 지시자의 현재값을 나타내며, 결정 진행 지시자일 경우에만 사용할 수 있습니다. 값은 0에서 100사이의 백분률(퍼센트)로 입력해야 합니다. 보통은 작업이 진행됨에 따라 스크립트로 변경하게 됩니다.</dd>
-</dl>
-<div class="highlight">
- <h5 id=".ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C" name=".ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C">파일 찾기 예제</h5>
- <p>우리의 파일 찾기 대화상자에 진행 지시자를 추가해 보겠습니다. 파일 찾기에서는 얼마나 많은 파일이 검색될지, 검색 시간이 얼마나 걸릴지 모르기 때문에 보통 미결정 진행 지시자를 사용합니다. 그러나 개발단계에서는 좀 혼란스러울 수 있으므로, 여기서는 결정 진행 지시자를 추가하겠습니다. 진행 지시자는 보통 검색이 진행중인 때만 나타납니다. 진행 지시자를 켜고 끄기 위한 스크립트는 나중에 추가하겠습니다.</p>
- <pre class="eval">&lt;hbox&gt;
-
- <span class="highlightred">&lt;progressmeter value="50%" style="margin: 4px;"/&gt;</span>
-
- &lt;spacer flex="1"/&gt;
-&lt;/hbox&gt;
-</pre>
- <p>창에서 계기값을 볼 수 있도록 value를 50%로 설정하였습니다. 창의 가장자리와 구분하기 위해 지시자의 여백을 4픽셀로 설정하였습니다. 앞서 말씀드린 바와 같이, 우리는 검색이 수행될 동안만 진행 바가 표시되기를 원합니다. 필요에 따라 스크립트가 보이거나 숨길 것입니다.</p>
- <p>여태까지의 예제입니다. <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-progress.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-progress.xul">View</a></p>
- <p><img alt="Image:progress1.png"></p>
- <p> </p>
-</div>
-<p>다음 섹션에서는 <a href="ko/XUL_Tutorial/Adding_HTML_Elements">HTML을 사용하여 창에 더 많은 요소를 추가하는 방법</a>에 대해 배울 것입니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:List_Controls" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Adding_HTML_Elements">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/property_files/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/property_files/index.html
deleted file mode 100644
index 7c99944148..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/property_files/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: Property Files
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Property_Files
-tags:
- - Localization
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Property_Files
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Localization" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Introduction_to_XBL">다음 »</a></p>
-</div><p></p>
-<p>스크립트에서는, 엔티티를 쓸 수 없습니다. 대신 프로퍼티(property) 파일을 씁니다.</p>
-<h3 id=".ED.94.84.EB.A1.9C.ED.8D.BC.ED.8B.B0" name=".ED.94.84.EB.A1.9C.ED.8D.BC.ED.8B.B0">프로퍼티</h3>
-<p>DTD 파일은 XUL 파일에 텍스트가 있을 때 적당합니다. 그러나, 스크립트는 for 엔티티 분석되지 않습니다. 게다가, 예를 들어 혹시 여러분이 표시되는 텍스트를 정확히 모를 경우 스크립트에서 생성된 메시지를 표시하고 싶을지도 모릅니다. 이런 목적에, 프로퍼티 파일을 쓸 수 있습니다.</p>
-<p>프로퍼티 파일에는 문자열 집합이 담깁니다. DTD 파일과 함께 확장자가 .properties인 프로퍼티 파일이 있습니다. 이 파일에서 프로퍼티는 이름=값 구문으로 선언합니다. 예를 아래에 보입니다:</p>
-<pre>notFoundAlert=No files were found matching the criteria.
-deleteAlert=Click OK to have all your files deleted.
-resultMessage=%2$S files found in the %1$S directory.
-</pre>
-<p>이 프로퍼티 파일은 세 프로퍼티를 담고 있습니다. 스크립트로 이 프로퍼티를 읽고 사용자에게 표시됩니다.</p>
-<h3 id="Stringbundle" name="Stringbundle">Stringbundle</h3>
-<p>여러분이 직접 프로퍼티를 읽는 코드를 작성할 수 있으나 XUL이 여러분을 위해 이 일을 하는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/stringbundle" title="stringbundle">stringbundle</a></code></code> 요소(element)를 제공합니다. 요소에는 프로퍼티 파일에서 문자열를 얻고 다른 locale 정보를 얻는데 쓸 수 있는 많은 함수가 있습니다. 이 요소는 프로퍼티 파일의 content를 읽어들이고 여러분을 위해 프로퍼티 목록을 만듭니다. 그러면 여러분은 이름으로 특정 프로퍼티를 찾아볼 수 있습니다.</p>
-<pre>&lt;stringbundleset id="strbundles"&gt;
-&lt;stringbundle id="strings" src="strings.properties"/&gt;
-&lt;/stringbundleset&gt;
-</pre>
-<p>이 요소를 포함하면 XUL 파일과 같은 디렉토리의 'strings.properties' 파일에서 프로퍼티를 읽습니다. locale에서 파일을 읽으려면 chrome URL을 쓰세요. 다른 비표시 요소처럼, 여러분은 stringbundle을 모두 한데 모으기 위해 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/stringbundleset" title="stringbundleset">stringbundleset</a></code></code> 요소 안에 여러분의 stringbundle 모두를 선언해야 합니다.</p>
-<h4 id="Bundle.EC.97.90.EC.84.9C_.EB.AC.B8.EC.9E.90.EC.97.B4_.EC.96.BB.EA.B8.B0" name="Bundle.EC.97.90.EC.84.9C_.EB.AC.B8.EC.9E.90.EC.97.B4_.EC.96.BB.EA.B8.B0">Bundle에서 문자열 얻기</h4>
-<p>이 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/stringbundle" title="stringbundle">stringbundle</a></code></code> 요소에는 많은 프로퍼티가 있습니다. 처음은 bundle에서 문자열을 읽기 위해 스크립트에 쓰일 수 있는 <code>getString</code>입니다.</p>
-<pre>var strbundle = document.getElementById("strings");
-var nofilesfound=strbundle.getString("notFoundAlert");
-
-alert(nofilesfound);
-</pre>
-<ul>
- <li>이 예제는 먼저 <code>id</code>를 써서 bundle 참조(reference)를 얻습니다</li>
- <li>그리고 나서, 프로퍼티 파일에서 'notFoundAlert' 문자열을 찾아봅니다. 함수 <code>getString()</code>은 문자열 값이나 문자열이 없으면 null을 돌려줍니다.</li>
- <li>끝으로, 문자열이 경고 대화 상자에 표시됩니다.</li>
-</ul>
-<h4 id=".ED.85.8D.EC.8A.A4.ED.8A.B8_.ED.8F.AC.EB.A7.B7.ED.8C.85" name=".ED.85.8D.EC.8A.A4.ED.8A.B8_.ED.8F.AC.EB.A7.B7.ED.8C.85">텍스트 포맷팅</h4>
-<p>다음 메소드는 <code>getFormattedString()</code>입니다. 이 메소드 또한 bundle에서 주어진 키 이름으로 문자열을 얻습니다. 게다가, 포맷팅 코드(예컨대, <code>%S</code>)가 나올 때마다 주어진 배열의 연속하는 각 요소로 바뀝니다.</p>
-<pre>var dir = "/usr/local/document";
-var count = 10;
-
-var strbundle = document.getElementById("strings");
-var result = strbundle.getFormattedString("resultMessage", [ dir, count ]);
-
-alert(result);
-</pre>
-<p>이 예제는 다음 메시지를 경고 대화 상자에 표시합니다.</p>
-<pre>10 files found in the /usr/local/document directory.
-</pre>
-<p>여러분은 포맷팅 코드 <code>%1$S</code>와 <code>%2$S</code>가 쓰이고 배열에서 다른 순서로 바뀜을 알아챌 겁니다. 포맷팅 코드 %
- <i>
- n</i>
- $S는 직접 대응하는 매개변수(parameter)의 위치를 지정합니다. 비록 낱말 순서가 모든 언어에서 같지 않더라도, <code>getFormattedString()</code>을 써서 지정한 순서로 프로퍼티 파일을 작성할 수 있습니다.</p>
-<h3 id=".EB.B9.84.EC.95.84.EC.8A.A4.ED.82.A4_.EB.AC.B8.EC.9E.90_.EC.9D.B4.EC.8A.A4.EC.BC.80.EC.9D.B4.ED.94.84" name=".EB.B9.84.EC.95.84.EC.8A.A4.ED.82.A4_.EB.AC.B8.EC.9E.90_.EC.9D.B4.EC.8A.A4.EC.BC.80.EC.9D.B4.ED.94.84">비아스키 문자 이스케이프</h3>
-<p>비록 많은 언어에서 비ASCII 문자가 필요하더라도, 프로퍼티 파일은 오직 ASCII 문자를 써서 작성해야 합니다. 그러나, 프로퍼티 파일은 XXXX가 문자 코드인 <code>\uXXXX</code> 형식 이스케이프 시퀀스를 써서 다른 문자를 지원합니다. 그러므로, 혹시 여러분의 프로퍼티 파일이 비ASCII 문자를 담고 있으면, 여러분은 이를 'escaped-unicode' 형식으로 변환해야 합니다. 이를 위해, 여러분은 Sun사의 Java Development Kit (JDK)와 같이 묶인 native2ascii 명령줄 유틸리티를 쓸 수 있습니다.</p>
-<p>다음 절에서는, <a href="ko/XUL_Tutorial/Introduction_to_XBL">요소의 behavior</a>를 정의하는 데 쓸 수 있는 XBL을 보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Localization" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Introduction_to_XBL">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/scroll_bars/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/scroll_bars/index.html
deleted file mode 100644
index 583447186e..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/scroll_bars/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Scroll Bars
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Scroll_Bars
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Scroll_Bars
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Splitters" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Toolbars">다음 »</a></p>
-</div><p></p>
-<p>이제, 창에 스크롤바를 추가해 보도록 하겠습니다.</p>
-<h3 id=".EC.8A.A4.ED.81.AC.EB.A1.A4.EB.B0.94_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0" name=".EC.8A.A4.ED.81.AC.EB.A1.A4.EB.B0.94_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0">스크롤바 추가하기</h3>
-<p>스크롤바는 대개 사용자가 긴 문서를 이동하기 위해 사용됩니다. 또한 어떤 범위에 해당하는 값을 선택하기 위해서도 사용될 수 있습니다. 스크롤바는 여러 방식으로 생성될 수 있는데, XUL에서는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/scrollbar" title="scrollbar">scrollbar</a></code></code> 태그를 이용해서 만들어 집니다. 글상자와 같은 일부 요소는 내용이 너무 긴 경우와 같이, 필요에 따라 스크롤바를 추가할 수 있습니다.</p>
-<p>이 단원에서는 독립적인 스크롤바의 생성 방법에 대해 다룰 것입니다. 사용자는 스크롤바를 조정하여 값을 설정하게 될 것입니다. 여러분은 그리 많이 사용할 일이 없을 것입니다. 스크롤바는 주요 부분인 조정 가능한 스크롤상자(thumb)와 양 끝단에 있는 2개의 화살표 버튼들로 구성됩니다. 스크롤바는 이러한 모든 요소들을 자동으로 생성합니다.</p>
-<p><img alt="Image:scroll1.png"></p>
-<p>스크롤바의 구문은 다음과 같습니다.</p>
-<pre>&lt;scrollbar
- id="identifier"
- orient="horizontal"
- curpos="20"
- maxpos="100"
- increment="1"
- pageincrement="10"/&gt;
-</pre>
-<p>속성은 다음과 같습니다.</p>
-<dl>
- <dt>
- <code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></dt>
- <dd>
- 스크롤바의 유일 식별자.</dd>
-</dl>
-<dl>
- <dt>
- <code id="a-orient"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code></dt>
- <dd>
- 이 속성은 스크롤바의 방향을 지정합니다. 기본값은 <code>horizontal</code>로, 좌측에서 우측으로 늘어나는 스크롤바를 만듭니다. <code>vertical</code>이라는 속성을 지정할 수도 있는데, 이는 상단에서 하단으로 늘어나는 스크롤바를 만듭니다.</dd>
-</dl>
-<dl>
- <dt>
- <code id="a-curpos"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/curpos">curpos</a></code></dt>
- <dd>
- 이 속성은 스크롤상자(여러분이 스크롤바에서 앞뒤로 움직일 수 있는 막대)의 현재 위치를 나타냅니다. 이 속성값은 0부터 <code>maxpos</code> 속성에 지정한 값의 범위를 가집니다. 이 속성값은 단위를 필요로 하지 않으며, 기본값은 0입니다.</dd>
-</dl>
-<dl>
- <dt>
- <code id="a-maxpos"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/maxpos">maxpos</a></code></dt>
- <dd>
- 이것은 스크롤상자의 최대 위치를 가리킵니다. 숫자로 나타내며 단위는 없습니다. 기본값은 100입니다.</dd>
-</dl>
-<dl>
- <dt>
- <code id="a-increment"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/increment">increment</a></code></dt>
- <dd>
- 여기에 명시한 값은 사용자가 스크롤바에 있는 화살표 버튼을 클릭했을 때 <code>curpos</code> 값을 얼마나 변경할 지 지정합니다. 기본값은 1입니다.</dd>
-</dl>
-<dl>
- <dt>
- <code id="a-pageincrement"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/pageincrement">pageincrement</a></code></dt>
- <dd>
- 여기에 명시한 값은 사용자가 스크롤바의 구간의 쪽를 클릭했을 때, 즉 스크롤상자와 화살표 사이의 영역을 클릭할 때 얼만큼의 <code>curpos</code>값이 변경될지를 지정합니다. 기본값은 10입니다.</dd>
-</dl>
-<p>위에 있는 구문 예제는 0부터 100까지의 범위를 가지는 스크롤바를 생성할 것입니다. 100이라는 값은 목록에 있는 줄 수 일수 있지만, 여러분이 원하는 어떤 것일 수도 있습니다. 이 예제에서 초기값은 20입니다. 스크롤바의 화살표 중 하나를 클릭하면, 값은 위나 아래로 1씩 바뀌게 됩니다. 스크롤바의 페이지 영역(스크롤박스와 화살표 버튼 사이 영역)을 클릭하면 10만큼 바뀌게 됩니다.</p>
-<p>사용자가 스크롤바 화살표를 클릭하면 스크롤상자는 <code>increment</code>값에 지정한 양만큼 이동하게 됩니다. 이 속성값을 증가시키면 클릭할 때마다 더 멀리 이동하게 됩니다. 스크롤바의 좌측단 또는 최상단 위치는 0값을 가지며 우측단과 최하단 위치는 <code>maxpos</code>에 지정된 값을 가집니다.</p>
-<p>스크롤바의 값을 조정함으로써, 스크롤상자 부분을 원하는 곳에 위치시키고 화살표를 클릭했을 때 이동범위를 변경할 수 있습니다.</p>
-<p>다음에는 <a href="ko/XUL_Tutorial/Toolbars">툴바</a>를 만드는 방법에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Splitters" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Toolbars">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/scrolling_menus/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/scrolling_menus/index.html
deleted file mode 100644
index bf2600329a..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/scrolling_menus/index.html
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: Scrolling Menus
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Scrolling_Menus
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Scrolling_Menus
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Popup_Menus" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Adding_Event_Handlers">다음 »</a></p>
-</div><p></p>
-<p>이번 단원에서는 스크롤 메뉴와 스크롤 기능의 사용 방법에 대해 알아보겠습니다.</p>
-<h3 id=".ED.81.B0_.EB.A9.94.EB.89.B4_.EB.A7.8C.EB.93.A4.EA.B8.B0" name=".ED.81.B0_.EB.A9.94.EB.89.B4_.EB.A7.8C.EB.93.A4.EA.B8.B0">큰 메뉴 만들기</h3>
-<p>화면에 다 넣을수 없을만큼 많은 명령을 가진 메뉴를 작성하면 어떻게 될지 궁금하실 것입니다. Mozilla에서는 이런 경우를 위해 항목이 스크롤되는 기능을 제공합니다.</p>
-<div class="float-right">
- <img alt="Image:menuscroll1.png"></div>
-<p>만약 사용할 수 있는 공간이 모자라면 메뉴의 양 끝에 화살표가 나타납니다. 이 때 마우스를 화살표 위에 갖다 대면 메뉴가 위, 아래로 스크롤됩니다. 공간이 충분하다면 화살표는 나타나지 않습니다. 이 때 주의할 것은 스크롤의 작동 방식은 테마에 따라 다르다는 것입니다.</p>
-<p>스크롤 기능은 자동으로 실행됩니다. 따라서 스크롤 메뉴를 만들기 위해 다른 것을 건드릴 필요는 없습니다. 스크롤 기능은 <code>menubar</code>, <code>popup</code>, <code>menulist</code>에 있는 메뉴에 적용됩니다. 이 기능은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/arrowscrollbox" title="arrowscrollbox">arrowscrollbox</a></code></code> 요소를 이용하여 구현됩니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/arrowscrollbox" title="arrowscrollbox">arrowscrollbox</a></code></code> 요소는 화살표가 있는 스크롤 상자를 만들 때도 사용할 수 있습니다.</p>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/arrowscrollbox" title="arrowscrollbox">arrowscrollbox</a></code></code> 요소는 일반 상자가 사용될 수 있는 곳 어디서나 사용될 수 있습니다. 꼭 메뉴에만 사용해야 하는 것은 아닙니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/arrowscrollbox" title="arrowscrollbox">arrowscrollbox</a></code></code> 요소는 항상 세로 상자이며 어떤 요소든 포함할 수 있습니다. 여러분은 드롭다운이 아닌 목록을 구현하기 위해 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/arrowscrollbox" title="arrowscrollbox">arrowscrollbox</a></code></code> 요소를 사용할 수도 있습니다.</p>
-<h4 id=".EC.98.88.EC.A0.9C_-_.EC.8A.A4.ED.81.AC.EB.A1.A4.EB.90.98.EB.8A.94_.EB.B2.84.ED.8A.BC_.EB.AA.A9.EB.A1.9D" name=".EC.98.88.EC.A0.9C_-_.EC.8A.A4.ED.81.AC.EB.A1.A4.EB.90.98.EB.8A.94_.EB.B2.84.ED.8A.BC_.EB.AA.A9.EB.A1.9D">예제 - 스크롤되는 버튼 목록</h4>
-<p>아래는 스크롤할 수 있는 버튼 목록을 만드는 방법을 보여주는 예제입니다(화살표를 보려면 창을 줄여야 할것입니다).</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_menuscroll_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_menuscroll_1.xul">View</a></p>
-<pre>&lt;arrowscrollbox orient="vertical" flex="1"&gt;
- &lt;button label="Red"/&gt;
- &lt;button label="Blue"/&gt;
- &lt;button label="Green"/&gt;
- &lt;button label="Yellow"/&gt;
- &lt;button label="Orange"/&gt;
- &lt;button label="Silver"/&gt;
- &lt;button label="Lavender"/&gt;
- &lt;button label="Gold"/&gt;
- &lt;button label="Turquoise"/&gt;
- &lt;button label="Peach"/&gt;
- &lt;button label="Maroon"/&gt;
- &lt;button label="Black"/&gt;
-&lt;/arrowscrollbox&gt;
-</pre>
-<p>예제를 실행하면 전체 화면으로 표시될 것입니다. 하지만 창의 높이를 줄이면, 스크롤 화살표가 나타날 것입니다. 다시 창을 키우면 화살표가 사라질 것입니다.</p>
-<p>항상 화살표가 보이도록 하고 싶다면 <code>arrowscrollbox</code>에 CSS의 <code>max-height</code> 속성을 사용하여 크기를 제한하면 됩니다.</p>
-<p><code>arrowscrollbox</code>는 주로 메뉴와 팝업에서 유용하게 사용됩니다.</p>
-<p>다음에는 XUL 요소에 <a href="ko/XUL_Tutorial/Adding_Event_Handlers">이벤트 핸들러</a>를 지정하는 방법에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Popup_Menus" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Adding_Event_Handlers">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/simple_menu_bars/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/simple_menu_bars/index.html
deleted file mode 100644
index 2ba8d57bcf..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/simple_menu_bars/index.html
+++ /dev/null
@@ -1,160 +0,0 @@
----
-title: Simple Menu Bars
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Simple_Menu_Bars
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Simple_Menu_Bars
----
-<p> </p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Toolbars" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:More_Menu_Features">다음 »</a></p>
-</div><p></p>
-
-<p>이번 단원에서는 메뉴를 포함하는 메뉴바의 작성 방법에 대해 알아보겠습니다.</p>
-
-<h3 id=".EB.A9.94.EB.89.B4_.EB.A7.8C.EB.93.A4.EA.B8.B0" name=".EB.A9.94.EB.89.B4_.EB.A7.8C.EB.93.A4.EA.B8.B0">메뉴 만들기</h3>
-
-<p>XUL에는 메뉴를 만들 수 있는 여러가지 다양한 방법이 있습니다. 가장 기본적인 방식은 많은 응용프로그램이 그러하듯이 메뉴들을 포함하는 메뉴바를 추가하는 방법이며, 또한 팝업 메뉴도 만들 수 있습니다. XUL의 메뉴 기능은 메뉴바나 팝업 메뉴를 만들 수 있는 여러가지 요소들로 구성되어 있습니다. 메뉴에 있는 항목들은 쉽게 커스터마이징 할 수 있습니다. 우리는 이미 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code></code>를 사용해서 <a href="ko/XUL_Tutorial/List_Controls#Drop-down_Lists">메뉴를 만드는 방법</a>을 살펴보았습니다. 이 단원은 이 내용을 기반으로 진행될 것입니다.</p>
-
-<p>메뉴바는 대개 툴바와 비슷한 방법으로 작성됩니다. 메뉴바는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code></code> 요소 내부에 위치할 수 있으며, 메뉴바의 왼쪽에 이를 닫을 수 있는 그리피가 나타납니다(주의: Firefox에서는 더 이상 그리피를 지원하지 않습니다). 메뉴는 툴바와 작동방식도 비슷합니다. XUL은 메뉴에만 특별한 몇 가지 요소를 가지고 있습니다.</p>
-
-<p>메뉴바와 메뉴의 작성과 관련된 4가지 요소가 있으며, 여기서는 간략하게 다루고 진행하면서 자세히 다루겠습니다.</p>
-
-<dl>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/menubar" title="menubar">menubar</a></code></dt>
- <dd>메뉴들의 컨테이너.</dd>
-</dl>
-
-<dl>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code></dt>
- <dd>이름과 달리, 실제로는 메뉴바에 있는 메뉴의 제목을 나타낼 뿐입니다. 이 요소는 메뉴바 내에 위치하거나 독립적으로 위치할 수 있습니다.</dd>
-</dl>
-
-<dl>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></dt>
- <dd>메뉴 제목을 클릭하였을 때 나타나는 팝업 상자입니다. 이 상자는 메뉴 명령 목록을 포함합니다.</dd>
-</dl>
-
-<dl>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></dt>
- <dd>메뉴의 개별 명령으로 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code>에 위치합니다.</dd>
-</dl>
-
-<dl>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/menuseparator" title="menuseparator">menuseparator</a></code></dt>
- <dd>메뉴의 구분 막대로 <code>menupopup</code>에 위치합니다.</dd>
-</dl>
-
-<div class="note">
-<p>맥킨토시를 제외한 모든 플랫폼에서 원하는 대로 메뉴바에 있는 메뉴를 변경할 수 있습니다. 이것은 메킨토시에는 시스템에 의해 화면 상단을 따라 자신만의 메뉴를 만들기 때문입니다. 여러분은 커스텀 메뉴를 만들 수는 있지만, 메뉴에 적용한 특별한 서식 규칙이나 비(非)-메뉴 요소는 적용되지 않을 수 있습니다. 메뉴를 만들 때 이 점을 염두에 두어야 합니다.</p>
-</div>
-
-<h5 id=".EA.B0.84.EB.8B.A8.ED.95.9C_.EB.A9.94.EB.89.B4.EB.B0.94_.EC.98.88.EC.A0.9C" name=".EA.B0.84.EB.8B.A8.ED.95.9C_.EB.A9.94.EB.89.B4.EB.B0.94_.EC.98.88.EC.A0.9C">간단한 메뉴바 예제</h5>
-
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_menubar_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_menubar_1.xul">View</a></p>
-
-<div class="float-right"><img alt="Image:menubar-ex1.png"></div>
-
-<pre>&lt;toolbox flex="1"&gt;
- &lt;menubar id="sample-menubar"&gt;
- &lt;menu id="file-menu" label="File"&gt;
- &lt;menupopup id="file-popup"&gt;
- &lt;menuitem label="New"/&gt;
- &lt;menuitem label="Open"/&gt;
- &lt;menuitem label="Save"/&gt;
- &lt;menuseparator/&gt;
- &lt;menuitem label="Exit"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;menu id="edit-menu" label="Edit"&gt;
- &lt;menupopup id="edit-popup"&gt;
- &lt;menuitem label="Undo"/&gt;
- &lt;menuitem label="Redo"/&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-&lt;/toolbox&gt;
-</pre>
-
-<p>위 예제에서는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menubar" title="menubar">menubar</a></code></code> 요소를 사용해서 간단한 메뉴바와 메뉴바에 위치한 메뉴들을 만들었습니다. 여기서는 File과 Edit 2개 메뉴가 작성되었습니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code></code> 요소는 메뉴상단에 제목을 만들며, 메뉴바에 나타납니다. 팝업은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code> 요소를 사용하여 만들어집니다. 팝업은 사용자가 이의 부모 메뉴 제목을 클릭할 때 튀어나오게 됩니다. 팝업의 크기는 팝업에 포함된 명령에 맞게 충분히 크게 나타납니다. 명령 자체는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></code>를 사용해서 만들어집니다. 각 <code>menuitem</code>은 메뉴 팝업에서 하나의 명령을 나타냅니다.</p>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/menuseparator" title="menuseparator">menuseparator</a></code></code> 요소를 사용해서 메뉴에 구분자를 만들 수도 있습니다. 이것은 menuitem 그룹들을 나눌 때 사용됩니다.</p>
-
-<h4 id="menubar_.EC.9A.94.EC.86.8C" name="menubar_.EC.9A.94.EC.86.8C"><code>menubar</code> 요소</h4>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/menubar" title="menubar">menubar</a></code></code>는 메뉴를 담는 상자입니다. 메뉴바가 flex 속성을 갖는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code></code> 내부에 위치하고 있다는 점을 주의깊게 보시기 바랍니다. 메뉴바는 특별한 속성을 가지지는 않지만 상자 유형에 속합니다. 이것은 <code><code id="a-orient"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code></code> 속성값을 <code>vertical</code>로 하면 세로 방향의 메뉴바를 만들 수 있다는 것을 의미합니다.</p>
-
-<h4 id="menu_.EC.9A.94.EC.86.8C" name="menu_.EC.9A.94.EC.86.8C"><code>menu</code> 요소</h4>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code></code> 요소는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/button" title="button">button</a></code></code> 요소와 비슷하게 동작합니다. <code>menu</code> 요소는 <code>button</code>과 몇 가지 동일한 속성을 가지며 그 외 추가적인 속성을 포함합니다.</p>
-
-<dl>
- <dt><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></dt>
- <dd>메뉴의 유일 식별자.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></dt>
- <dd>File 또는 Edit와 같은 메뉴에 나타나는 텍스트.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-disabled"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></dt>
- <dd>이 불린(boolean) 속성은 메뉴 사용여부를 결정합니다. 할 수는 있지만, 전체 메뉴를 사용 중지할 필요는 극히 드뭅니다. 이 속성은 <code>true</code> 또는 <code>false</code> 중 한가지 값을 가집니다. 물론, 기본값은 후자입니다.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-accesskey"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code></dt>
- <dd>이 속성은 사용자가 메뉴 항목을 활성화하기 위해 누를 수 있는 키입니다. 이 문자는 대개 메뉴 제목에 밑줄이 그어진 문자로 출력됩니다. Mozilla는 label 속성을 검토해서 여기에 지정된 문자를 찾아 밑줄을 추가합니다. 그렇기 때문에 라벨 텍스트에 있는 문자 중 하나를 이 속성으로 지정하는 것이 좋습니다. 물론 여기에 지정한 문자가 라벨 텍스트에 없더라도 동작합니다.</dd>
-</dl>
-
-<div class="float-right"><img alt="Image:menubar-ex2.png"></div>
-
-<p>꼭은 아니지만, <code>menu</code> 요소는 보통 <code>menubar</code>에 위치합니다. 만약 menubar에 포함되어 있지 않으면 다른 형태로 출력됩니다. 여기에 있는 그림은 메뉴바가 없는 경우 앞서의 예제가 어떤 모습이 되는지 보여주고 있습니다.</p>
-
-<h4 id="menupopup_.EC.9A.94.EC.86.8C" name="menupopup_.EC.9A.94.EC.86.8C"><code>menupopup</code> 요소</h4>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code> 요소는 메뉴 명령들을 포함하는 팝업창을 만듭니다. 이 요소는 세로 방향을 기본으로 하는 상자입니다. 원할 경우 가로 방향으로 바꿀 수 있으며, 그렇게 하면 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></code>들은 행으로 위치하게 됩니다. 일반적으로 <code>menuitem</code>과 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menuseparator" title="menuseparator">menuseparator</a></code></code>만 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menupopup" title="menupopup">menupopup</a></code></code>에 위치합니다. 여려분은 <code>menupopup</code>에 어떤 요소든 넣을 수 있지만, 앞서 말한바와 같이 맥킨토시에서는 무시될 것입니다.</p>
-
-<h4 id="menuitem_.EC.9A.94.EC.86.8C" name="menuitem_.EC.9A.94.EC.86.8C"><code>menuitem</code> 요소</h4>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></code> 요소는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menu" title="menu">menu</a></code></code> 요소와 아주 비슷하며 일부 동일한 속성들을 가지고 있습니다.</p>
-
-<dl>
- <dt><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></dt>
- <dd>메뉴 제목버튼의 유일 식별자.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></dt>
- <dd>Open 또는 Save같은 메뉴 항목에 나타날 텍스트.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-disabled"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/disabled">disabled</a></code></dt>
- <dd>이 불린(boolean) 속성은 메뉴 사용여부를 결정합니다. 이 속성은 <code>true</code> 또는 <code>false</code> 중에서 하나의 값으로 지정될 수 있으며 후자가 기본값입니다.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-accesskey"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/accesskey">accesskey</a></code></dt>
- <dd>이 속성은 사용자가 메뉴 항목을 활성화하기 위해 누를 수 있는 키입니다. 이 문자는 대개 메뉴제목에 밑줄이 그어진 문자로 출력됩니다. Mozilla는 label 속성을 검토해서 여기에 지정한 문자를 찾아 밑줄을 추가합니다. 그렇기 때문에 라벨 텍스트에 있는 문자 중 하나를 이 속성으로 지정하는 것이 좋습니다.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-acceltext"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/acceltext">acceltext</a></code></dt>
- <dd>이것은 메뉴 명령글 옆에 표시될 단축키 텍스트를 지정합니다. 그렇다고 해당 단축키와 <code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code>을 바로 연결하는 것은 아닙니다(이 속성을 지정한다고 단축키를 눌렀을때 해당 메뉴가 실행되는 것은 아닙니다). 이 방법에 대해서는 <a href="ko/XUL_Tutorial/Keyboard_Shortcuts">이후</a>에 다룰 것이다.</dd>
-</dl>
-
-<h4 id="menuseparator_.EC.9A.94.EC.86.8C" name="menuseparator_.EC.9A.94.EC.86.8C"><code>menuseparator</code> 요소</h4>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/menuseparator" title="menuseparator">menuseparator</a></code></code>에는 특별한 속성이 없습니다. 단지 메뉴 항목들 사이에 가로막대를 만들 뿐입니다.</p>
-
-<p>다음 단원에서는 <a href="ko/XUL_Tutorial/More_Menu_Features">다양한 메뉴 기능들</a>에 대해 알아 보겠습니다.</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Toolbars" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:More_Menu_Features">다음 »</a></p>
-</div><p></p>
-
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/splitters/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/splitters/index.html
deleted file mode 100644
index 796b8fcb52..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/splitters/index.html
+++ /dev/null
@@ -1,139 +0,0 @@
----
-title: Splitters
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Splitters
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Splitters
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Content_Panels" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Scroll_Bars">다음 »</a></p>
-</div><p></p>
-
-<p>이번 단원에서는 splitter를 창에 추가하는 방법에 대해 알아보겠습니다.</p>
-
-<h2 id=".EC.83.81.EC.9E.90_.EB.82.98.EB.88.84.EA.B8.B0" name=".EC.83.81.EC.9E.90_.EB.82.98.EB.88.84.EA.B8.B0">상자 나누기</h2>
-
-<p>하나의 창 안에 사용자가 크기를 변경할 수 있는 2개 영역이 있었으면 할 때가 있습니다. Mozilla 브라우저 창이 이러한 예로, 브라우저 창에서는 메인 영역과 사이드바 패널 프레임 사이에 있는 막대를 드래그 해서 사이드바 패널의 크기를 조정할 수 있습니다. 또한 빗살대(notch)를 클릭해서 사이드바를 숨길 수도 있습니다.</p>
-
-<h3 id="Splitter_.EC.9A.94.EC.86.8C" name="Splitter_.EC.9A.94.EC.86.8C">Splitter 요소</h3>
-
-<p>이러한 기능은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/splitter" title="splitter">splitter</a></code></code>라는 요소를 사용하여 구현할 수 있습니다. 이 요소는 2개 영역 사이에 좁은 막대를 만들어서 영역의 크기를 변경할 수 있게 해 줍니다. Splitter 요소는 넣고 싶은 곳 아무데서나 사용할 수 있으며, 동일한 상자 내에서 splitter 앞에 오는 요소와 다음에 오는 요소의 크기를 변경할 수 있습니다.</p>
-
-<p>Splitter가 가로상자 내부에 사용되면 가로 방향으로, 세로상자 내부에 사용되면 세로 방향으로 크기를 변경할 수 있게 해 줍니다.</p>
-
-<p>Splitter 구문은 다음과 같습니다:</p>
-
-<pre>&lt;splitter
- id="identifier"
- state="open"
- collapse="before"
- resizebefore="closest"
- resizeafter="closest"&gt;
-</pre>
-
-<p>속성은 다음과 같습니다.</p>
-
-<dl>
- <dt><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></dt>
- <dd>splitter 유일 식별자.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-state"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/state">state</a></code></dt>
- <dd>splitter의 상태를 나타냅니다. 기본값은 <code>open</code>으로 이값을 설정하면 기본적으로 열린 상태가 되며, <code>collapsed</code>로 설정하면 패널 중 하나는 닫힌 상태가 되어 다른 쪽이 나머지 공간을 차지하는 상태로 출력됩니다.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-collapse"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/collapse">collapse</a></code></dt>
- <dd>이 속성은 splitter의 빗살대(또는 그리피(grippy))를 클릭하거나 닫힘 상태로 설정하였을 경우, 패널의 어느 면이 닫히게 될지를 지정합니다. 이 속성값을 <code>before</code>로 설정하면 splitter 앞에 오는 요소가 닫히게 되며, <code>after</code>로 설정하면 splitter 다음에 오는 요소가 닫히게 됩니다. 만일 기본값인 <code>none</code>으로 설정하면, 그리피를 클릭하더라도 패널은 닫히지 않습니다.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-resizebefore"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/resizebefore">resizebefore</a></code></dt>
- <dd>Splitter를 드래그하면, splitter의 왼쪽(혹은 위쪽)에 있는 요소들은 크기가 변하게 됩니다. 이 속성은 왼쪽(혹은 위쪽)에 있는 요소들 중 어떤 요소의 크기가 변하게 될지를 지정합니다. 이 속성값을 <code>closest</code>로 설정하면 splitter의 바로 왼쪽에 있는 요소의 크기가 변경됩니다. 반면, <code>farthest</code>로 설정하면 splitter의 왼쪽에 있는 요소들 중 가장 멀리있는 요소의 크기를 변경하게 됩니다(상자 내 첫번째 요소). 기본값은 <code>closest</code> 입니다.</dd>
-</dl>
-
-<dl>
- <dt><code id="a-resizeafter"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/resizeafter">resizeafter</a></code></dt>
- <dd>Splitter를 드래그하면, splitter의 오른쪽(혹은 아래쪽)에 있는 요소들은 크기가 변하게 됩니다. 이 속성은 오른쪽(혹은 아래쪽)에 있는 요소들 중 어떤 요소의 크기가 변하게 될지를 지정합니다. 이 속성값을 <code>closest</code>로 설정하면 splitter의 바로 오른쪽에 있는 요소의 크기가 변경됩니다. 반면, <code>farthest</code>로 설정하면 splitter의 오른쪽에 있는 요소들 중 가장 멀리있는 요소의 크기를 변경하게 됩니다(상자 내 마지막 요소). 이 속성은 <code>grow</code>값을 가질 수도 있는데, 이것은 splitter를 드래그하더라도 오른쪽에 있는 요소들의 크기가 변경되지 않도록 하며, 대신 이들을 포함하는 전체 상자의 크기가 변경됩니다. 기본값은 <code>closest</code>입니다.</dd>
-</dl>
-
-<p>Splitter에 <code><code id="a-collapse"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/collapse">collapse</a></code></code> 속성을 설정하였다면 사용자가 해당 요소를 닫을 수 있도록 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/grippy" title="grippy">grippy</a></code></code> 요소도 추가해 주는 것이 좋습니다. Firefox 브라우저에서는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/grippy" title="grippy">grippy</a></code></code> 요소를 지원하지 않습니다. 따라서 해당 요소를 splitter 요소에 넣더라도 출력되지 않으며, splitter를 클릭하더라도 한번에 닫히지 않습니다.</p>
-
-<h3 id="Splitter_.EC.98.88.EC.A0.9C" name="Splitter_.EC.98.88.EC.A0.9C">Splitter 예제</h3>
-
-<p>다음 예제를 보면 도움이 될 것입니다.</p>
-
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_splitter_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_splitter_1.xul">View</a></p>
-
-<pre>&lt;hbox flex="1"&gt;
- &lt;iframe id="content-1" width="60" height="20" src="w1.html"/&gt;
- &lt;splitter collapse="before" resizeafter="farthest"&gt;
- &lt;grippy/&gt;
- &lt;/splitter&gt;
- &lt;iframe id="content-2" width="60" height="20" src="w2.html"/&gt;
- &lt;iframe id="content-3" width="60" height="20" src="w3.html"/&gt;
- &lt;iframe id="content-4" width="60" height="20" src="w4.html"/&gt;
-&lt;/hbox&gt;
-</pre>
-
-<div class="float-right"><img alt="Image:splitter-ex1.jpg"></div>
-
-<p>예제에서는 4개의 iframe이 생성되어 있으며 splitter는 첫 번째와 두 번째 사이에 위치하고 있습니다. <code><code id="a-collapse"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/collapse">collapse</a></code></code> 속성에는 <code>before</code>값이 설정되어 있으며, 이것은 그리피를 클릭하면 첫 번째 프레임이 사라지고 나머지 프레임들이 왼쪽으로 이동하게 된다는 것을 의미합니다. 그리피는 splitter 내 중앙에 그려집니다.</p>
-
-<p>splitter의 <code><code id="a-resizeafter"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/resizeafter">resizeafter</a></code></code> 속성 값은 <code>farthest</code>로 설정되어 있습니다. 이것은 splitter를 드래그하면 splitter 다음에 위치한(그림에서는 오른쪽) 요소들 중 가장 멀리있는 요소의 크기가 변경된다는 것을 의미합니다. 이 경우 4번 프레임의 크기가 변경됩니다.</p>
-
-<p><code><code id="a-resizebefore"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/resizebefore">resizebefore</a></code></code> 속성의 값은 지정하지 않았기 때문에 기본값인 <code>closest</code>로 지정됩니다. 위의 예제에서는, splitter 앞에 하나의 프레임밖에 없기 때문에, 1번 프레임의 크기가 변하게 됩니다.</p>
-
-<p>2번과 3번 프레임은 4번 프레임이 최소크기가 될 때까지 드래그 한 이후에 크기가 변경됩니다.</p>
-
-<div class="float-right"><img alt="Image:splitter-ex2.jpg"></div>
-
-<p>그림은 splitter가 닫힌 상태인 4개 패널 모습입니다.</p>
-
-<div class="float-right"><img alt="Image:splitter-ex3.jpg"></div>
-
-<p>그림은 splitter가 오른쪽으로 크기를 변경한 상태의 패널 모습입니다. 주목해야할 점은 중간의 2개 패널은 크기가 변하지 않았다는 것입니다. 1번과 4번 패널만 크기가 바뀌었습니다. 4번째 패널을 보면 알 수 있습니다. splitter를 오른쪽으로 계속해서 드래그하면, 다른 2개의 패널이 오그라들게 됩니다.</p>
-
-<p>상자에서의 최소 또는 최대 너비를 지정하기 위해 iframe에 <code>min-width</code>, <code>max-height</code> 같은 스타일 속성을 사용할 수 있습니다. 그럴 경우, splitter가 이를 감지하여 최소와 최대크기를 넘어서 끌기할 수 없게 해 줍니다.</p>
-
-<p>예를 들어, 4번 패널에 최소 넓이를 30픽셀로 지정했다면, 그 이하 크기로 줄지않게 됩니다. 그 외 다른 2개 패널은 줄어들게 될 것입니다. 만약 1번 패널의 최소넓이를 50픽셀로 설정했다면, splitter를 오른쪽으로 10픽셀 드래그 할 수 있을 것입니다(왜냐하면 60픽셀 넓이로 시작했기 때문입니다). 그렇다 하더라도 여전히 splitter를 닫을 수는 있습니다.</p>
-
-<p>원할 경우 상자에 하나 이상의 splitter를 사용할 수도 있는데, 이 경우 splitter의 다른 부분을 닫을 수있습니다. 마찬가지로 iframe 뿐만 아니라 어떠한 요소든 닫을 수 있습니다.</p>
-
-<h2 id=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C" name=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C">우리의 파일 찾기 예제</h2>
-
-<div class="highlight">
-<p>파일 찾기 대화창에 splitter를 사용하였을 경우 어떠한 모양이 될지 알아 봅시다. 한 가지는 대화창에 검색결과를 추가하려는 것입니다. 우리는 검색 조건과 아래의 버튼들 사이에 공간을 추가할 것입니다. 여러분은 splitter를 이용해 검색결과를 닫거나 감출 수 있을 것입니다.</p>
-
-<pre class="eval">&lt;/tabbox&gt;
-
- <span class="highlightred">&lt;iframe src="results.html"/&gt;
- &lt;splitter resizeafter="grow"/&gt;</span>
-
- &lt;hbox&gt;
-</pre>
-
-<p>여기에 보면, splitter와 iframe이 대화창에 추가되었습니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code></code> 뒤에 있던 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/spacer" title="spacer">spacer</a></code></code>는 더 이상 필요없기 때문에 이를 삭제할 수 있습니다. 프레임의 내용은 '&lt;tt&gt;results.html&lt;/tt&gt;'이라는 파일에 포함되어 있습니다. 지금은 이 파일을 만들어서 아무거나 입력을 하시면 됩니다. iframe은 결과 목록을 만드는 방법에 대해 알게되는 <a href="ko/XUL_Tutorial/Trees">시점에</a> 결과 목록으로 대체될 것입니다. 지금은 splitter를 설명하기 위한 목적으로만 사용하는 것입니다.</p>
-
-<p>splitter의 <code>collapse</code> 속성에는 splitter 앞에 오는 요소를 닫는다는 의미의 <code>before</code>값이 설정되어 있으며, 여기서는 iframe이 이에 해당됩니다. 아래 보이는 그림에서처럼 그리피를 클릭하면 iframe이 닫히고 버튼이 위로 움직이게 됩니다.</p>
-
-<p><code>resizeafter</code> 속성에는 <code>grow</code>값이 설정되어 있어 splitter 아래의 요소들은 splitter를 아래로 드래그 하면 아래로 밀려가게 됩니다. 결과적으로 프레임의 내용은 어떠한 방향으로든 커질 수 있는 것입니다. 주의할 점은 창의 크기가 자동으로 변경되지는 않는다는 것입니다. 그리고, 세로상자 안에 splitter가 포함되어 있어, 예제에서는 가로 방향 splitter가 된다는 것을 유념해 보기 바랍니다.</p>
-
-<p>일반 상태:</p>
-
-<p><img alt="Image:splitter1.png"></p>
-
-<p>닫힌 상태:</p>
-
-<p><img alt="Image:splitter2.png"></p>
-
-<p><span id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"><a id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"></a><strong>지금까지의 파일 찾기 예제</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-splitter.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-splitter.xul">View</a></p>
-</div>
-
-<p>다음에는 <a href="ko/XUL_Tutorial/Scroll_Bars">스크롤바</a>를 만드는 방법에 대해 알아보겠습니다.</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Content_Panels" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Scroll_Bars">다음 »</a></p>
-</div><p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/stack_positioning/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/stack_positioning/index.html
deleted file mode 100644
index c237926ae8..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/stack_positioning/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: Stack Positioning
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Stack_Positioning
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Stack_Positioning
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Stacks_and_Decks" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Tabboxes">다음 »</a></p>
-</div><p></p>
-<p>이 단원에서는 스택 내에 있는 요소들의 위치를 지정하는 방법에 대해 알아보겠습니다.</p>
-<h3 id=".EC.8A.A4.ED.83.9D_.EB.82.B4_.EC.9E.90.EC.8B.9D_.EC.9A.94.EC.86.8C.EC.9D.98_.EC.9C.84.EC.B9.98" name=".EC.8A.A4.ED.83.9D_.EB.82.B4_.EC.9E.90.EC.8B.9D_.EC.9A.94.EC.86.8C.EC.9D.98_.EC.9C.84.EC.B9.98">스택 내 자식 요소의 위치</h3>
-<p>일반적으로 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/stack" title="stack">stack</a></code></code>의 자식 요소는 스택의 크기에 맞추어 늘어납니다. 그러나 여려분은 특정 좌표에 자식 요소를 배치할 수도 있습니다. 예를 들어, 스택에 두개의 자식 버튼이 있다면, 첫번째 버튼은 좌측에서 20픽셀 그리고 상단에서는 50픽셀 떨어진 곳에, 두번째 버튼은 좌측에서 100픽셀 그리고 상단에서 5픽셀 떨어진 곳에 위치시킬 수 있습니다.</p>
-<p>자식 요소의 위치는 요소에 두 가지 속성을 사용해서 지정할 수 있습니다. 가로 위치의 경우 <code>left</code> 속성을 사용하고 세로위치는 <code>top</code>속성을 사용합니다. 스택의 자식에 이들 속성을 사용하지 않으며, 해당 자식들은 stack 크기에 맞쳐 늘어나게 됩니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_bulletins_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_bulletins_1.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:bulletins1.png"></div>
-<pre>&lt;stack&gt;
- &lt;button label="Goblins" left="5" top="5"/&gt;
- &lt;button label="Trolls" left="60" top="20"/&gt;
- &lt;button label="Vampires" left="10" top="60"/&gt;
-&lt;/stack&gt;
-</pre>
-<p>여기서 <code>stack</code>은 3가지 요소를 포함하고 있는데, 각 요소들에 <code>left</code>와 <code>top</code> 속성이 지정되어 있어 그림과 같이 위치하고 있습니다. 예제에서 3가지 자식 요소가 모두 버튼이지만, 요소들이 모두 같은 형식일 필요는 없습니다. 그것은 상자와 다른 스택을 포함해서 어떤 요소든 될 수 있습니다.</p>
-<p><code>stack</code>의 크기는 자식 요소의 위치에 의해 결정됩니다. 즉, 모든 자식 요소가 볼 수 있도록 항상 크기가 조정됩니다. 따라서 <code>left</code> 속성을 400으로 설정했으면, 스택은 해당 요소의 넓이에 400픽셀을 더한 정도의 너비를 가지게 됩니다. <code>width</code>와 <code>max-width</code> 같은 여러 스타일 속성을 사용해서 이 크기를 재정의할 수 있습니다.</p>
-<p>여러분은 스크립트를 사용해서 <code>left</code>와 <code>top</code> 속성 값을 조정할 수 있으며, 요소를 이동하게 만들 수 있습니다. 스택은 절대위치값을 가지는 요소가 위치를 바꿀 때, 다른 요소의 위치에는 영향을 주지 않는다는 장점이 있습니다. 보통 상자에서는 요소의 위치를 옮기면, 다른 요소의 위치가 섞이게 됩니다.</p>
-<p>자식 요소가 겹쳐질 수 있도록 하는 것 역시 가능합니다. 자식 요소들이 그려질 때는, <code>stack</code>에 나타난 순서대로 보이게 됩니다. 즉, <code>stack</code>의 첫 번째 자식이 맨 뒤에 나타나고, 다음 자식 요소는 그 위에 나타나고, 마지막 요소는 최상위에 오게 됩니다. 해당 요소의 순서를 옮기기 위해 DOM 함수를 이용할 수 있습니다.</p>
-<p>마우스 이벤트에 응답하는 경우, 상위에 있는 요소가 해당 이벤트를 먼저 인식하게 됩니다. 이것은 두 개의 버튼이 겹쳐있을 경우, 다른 버튼을 덮고 있는 상위 버튼이 마우스 클릭을 인식하게 된다는 것을 의미합니다.</p>
-<p>다음 섹션에서는 덱과 비슷하지만 고유한 네비게이션 방법을 제공하는 <a href="ko/XUL_Tutorial/Tabboxes">탭박스</a>에 대해 설명하겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Stacks_and_Decks" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Tabboxes">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/stacks_and_decks/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/stacks_and_decks/index.html
deleted file mode 100644
index 76e39325c6..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/stacks_and_decks/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: Stacks and Decks
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Stacks_and_Decks
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Stacks_and_Decks
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Adding_More_Elements" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Stack_Positioning">다음 »</a></p>
-</div><p></p>
-<p>여러분은 여러 요소를 카드를 쌓아 올리듯이 표시해야 할 때가 있을 수도 있습니다. 스택(stack)과 덱(deck) 요소를 이런 용도로 사용하실 수 있습니다.</p>
-<h3 id=".EC.BB.A8.ED.85.8C.EC.9D.B4.EB.84.88.28containers.29" name=".EC.BB.A8.ED.85.8C.EC.9D.B4.EB.84.88.28containers.29">컨테이너(containers)</h3>
-<p>XUL의 모든 상자 요소는 다른 요소를 포함할 수 있는 개체입니다. <a href="ko/XUL_Tutorial/Toolbars">툴바</a>나 <a href="ko/XUL_Tutorial/Tabboxes">탭패널</a>처럼 특수화된 상자도 여러 가지가 있습니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/box" title="box">box</a></code></code> 태그는 아무런 특징이 없는 가장 단순한 상자를 만듭니다. 하지만 특수화된 상자들은 일반 상자처럼 내부의 요소들을 <code id="a-배치"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/배치">배치</a></code>하는 것 외에 다른 기능들도 가지고 있습니다.</p>
-<p>실제로 여러 가지 구성 요소들은 다른 요소를 포함할 수 있습니다. 우리는 앞에서 버튼이 다른 요소를 포함하는 것을 살펴 보았습니다. 스크롤바는 여러분이 지정하지 않아도 필요한 요소를 만드는 특수화된 상자입니다. 그리고 막대가 이동하는 것도 스스로 제어합니다.</p>
-<p>앞으로 몇 단원에 걸쳐 다른 요소를 포함하는 요소들에 대해 알아 볼 것입니다. 그들은 모두 특수화된 상자로서 상자의 모든 속성을 사용할 수 있습니다.</p>
-<h3 id=".EC.8A.A4.ED.83.9D.28stack.29" name=".EC.8A.A4.ED.83.9D.28stack.29">스택(stack)</h3>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/Stack" title="Stack">Stack</a></code></code> 요소는 단순한 상자입니다. 일반 상자와 똑같이 작동하지만 자식 요소를 아래에서부터 쌓는 특징을 가지고 있습니다. 첫 번째 자식 요소가 바닥에 표시되고, 두 번째 자식 요소가 그 위에, 그리고 세 번째 자식 요소가 그 위에 표시되는 방식입니다. 쌓아 올릴 수 있는 요소의 수에는 제한이 없습니다.</p>
-<p>스택은 자식 요소가 나란히 표시되는 상자와 달리, 아래에서부터 위로 쌓이기 때문에 <code><code><span><a href="https://developer.mozilla.org/ko/docs/XUL/Property/orient">orient</a></span></code></code> 속성의 의미가 없습니다. 스택의 크기는 가장 큰 자식 요소에 의해 결정되지만 스택과 그 자식 요소에 <code>width</code>, <code>height</code>, <code>min-width</code> 등의 CSS 속성을 사용할 수도 있습니다.</p>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/stack" title="stack">stack</a></code></code> 요소는 기존의 요소 위에 상태를 표시하는 개체를 표시하고 싶을 때 사용할 수도 있습니다. 예를 들어, 상태바를 막대와 그 위에 중첩된 라벨로 만들 수도 있습니다.</p>
-<h4 id=".EC.8A.A4.ED.83.9D.EC.9D.84_.EC.9D.B4.EC.9A.A9.ED.95.B4.EC.84.9C_.EA.B7.B8.EB.A6.BC.EC.9E.90_.ED.9A.A8.EA.B3.BC_.EC.A3.BC.EA.B8.B0" name=".EC.8A.A4.ED.83.9D.EC.9D.84_.EC.9D.B4.EC.9A.A9.ED.95.B4.EC.84.9C_.EA.B7.B8.EB.A6.BC.EC.9E.90_.ED.9A.A8.EA.B3.BC_.EC.A3.BC.EA.B8.B0">스택을 이용해서 그림자 효과 주기</h4>
-<p>또한 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/stack" title="stack">stack</a></code></code>을 사용하여 손쉽게 많은 CSS 속성을 흉내낼 수 있습니다. 아래는 text-shadow 속성과 비슷한 효과를 내는 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_stacks_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_stacks_1.xul">View</a></p>
-<pre>&lt;stack&gt;
- &lt;description value="Shadowed" style="padding-left: 1px; padding-top: 1px; font-size: 15pt"/&gt;
- &lt;description value="Shadowed" style="color: red; font-size: 15pt;"/&gt;
-&lt;/stack&gt;
-</pre>
-<div class="float-right">
- <img alt="Image:stacks1.png"></div>
-<p>두 개의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/description" title="description">description</a></code></code>은 15포인트 크기의 문자열을 생성합니다. 하지만 첫 번째 것은 왼쪽과 위쪽에 여백을 주어 1픽셀씩 오른쪽과 아래쪽으로 밀려나게 하였습니다. 그래서 똑같이 'Shadowed'란 문자열을 표시하지만 두 번째 것과 조금 위치가 다릅니다. 두 번째 <code>description</code> 요소는 빨간색으로 표시되기 때문에 효과를 쉽게 알아 볼 수 있습니다.</p>
-<p>이 방법이 <code>text-shadow</code>보다 좋은 이유는 그림자를 원하는 대로 꾸밀 수 있기 때문입니다. 예를 들어 그림자를 다른 글꼴과 크기로 표시하거나 밑줄을 그을 수도 있습니다. (깜빡이는 효과도 줄 수 있습니다). 게다가 아직까지 Mozilla는 CSS의 text-shadow를 지원하지 않고 있습니다. 단점은 그림자가 차지하는 공간 때문에 스택의 크기가 커진다는 것입니다. 그림자 효과는 사용 불가 버튼을 표시할 때 매우 유용합니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_stacks_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_stacks_2.xul">View</a></p>
-<pre>&lt;stack style="background-color: #C0C0C0"&gt;
- &lt;description value="Disabled" style="color: white; padding-left: 1px; padding-top: 1px;"/&gt;
- &lt;description value="Disabled" style="color: grey;"/&gt;
-&lt;/stack&gt;
-</pre>
-<p>이렇게 하면 사용 불가능한 것처럼 보입니다.</p>
-<p>한 가지 주의할 점은 마우스 클릭과 키 누름 같은 이벤트는 가장 위의 요소 즉, 스택의 마지막 요소에만 적용된다는 것입니다. 이는 버튼이 스택의 마지막 요소일때만 제대로 동작한다는 것을 의미합니다.</p>
-<h3 id=".EB.8D.B1.28decks.29" name=".EB.8D.B1.28decks.29">덱(decks)</h3>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/deck" title="deck">deck</a></code></code> 요소는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/stack" title="stack">stack</a></code></code>처럼 자식 요소들을 쌓아 놓지만 한 번에 하나의 자식 요소만 표시하는 요소입니다. 덱은 유사한 여러 판넬이 순차적으로 표시되는 마법사 인터페이스를 만들 때 유용하게 사용할 수 있습니다. 개별 창을 만들고 각 창에 네비게이션 버튼을 만드는 것보다, 하나의 창에서 내용이 변하는 곳에 덱을 사용하는 것이 보다 편리합니다.</p>
-<p>스택에서처럼 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/deck" title="deck">deck</a></code></code>의 바로 아래 자식 요소들은 덱의 한 쪽(page)이 됩니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/deck" title="deck">deck</a></code></code>의 자식 요소가 세 개라면 덱은 세 쪽을 갖고 있는 셈입니다. 화면에 나타나는 쪽은 <code><code id="a-selectedIndex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/selectedIndex">selectedIndex</a></code></code> 속성을 이용하여 조절할 수 있습니다. 인덱스는 표시하고 싶은 쪽에 해당하는 번호입니다. 쪽의 번호는 0부터 시작하기 때문에 덱의 첫 번째 자녀 요소는 0, 두 번째는 1의 순서가 됩니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_stacks_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_stacks_3.xul">View</a></p>
-<pre>&lt;deck selectedIndex="2"&gt;
- &lt;description value="This is the first page"/&gt;
- &lt;button label="This is the second page"/&gt;
- &lt;box&gt;
- &lt;description value="This is the third page"/&gt;
- &lt;button label="This is also the third page"/&gt;
- &lt;/box&gt;
-&lt;/deck&gt;
-</pre>
-<p>예제에는 세 쪽이 있는데 기본적으로 표시되는 것은 세 번째 쪽입니다. 세 번째 쪽은 두 개의 요소를 포함하는 상자입니다. 상자와 그 안의 요소들이 쪽을 구성합니다. 덱의 크기는 가장 큰 자식 요소의 크기와 같기 때문에 여기서는 세 번째 자식 요소의 크기가 덱의 크기가 됩니다.</p>
-<p>여러분은 스크립트를 사용하여 <code><code id="a-selectedIndex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/selectedIndex">selectedIndex</a></code></code>의 값을 변경하면 표시되는 쪽을 바꿀 수 있습니다. 이에 대해서는 이벤트와 DOM에 대한 단원에서 좀더 알아 보도록 하겠습니다.</p>
-<p>다음 섹션에서는 <a href="ko/XUL_Tutorial/Stack_Positioning">자식 요소의 위치를 지장하기 위해</a> 어떻게 스택을 사용할 수 있는지에 대해 설명하겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Adding_More_Elements" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Stack_Positioning">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/tabboxes/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/tabboxes/index.html
deleted file mode 100644
index 74de7d0cb8..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/tabboxes/index.html
+++ /dev/null
@@ -1,159 +0,0 @@
----
-title: Tabboxes
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Tabboxes
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Tabboxes
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Stack_Positioning" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Grids">다음 »</a></p>
-</div><p></p>
-
-<p>환경설정 대화창은 탭을 사용하여 나타내는 것이 일반적입니다. 본 섹션에서는 탭 패널의 작성 방법에 대해 알아보겠습니다.</p>
-
-<h2 id=".ED.83.AD.EC.83.81.EC.9E.90" name=".ED.83.AD.EC.83.81.EC.9E.90">탭상자</h2>
-
-<p>탭상자는 환경설정 창에서 자주 사용됩니다. 일련의 탭들이 창의 상단부에 표시되며, 사용자는 서로 다른 선택사항들을 보기 위해 각각의 탭을 클릭할 수 있습니다. 이 기능은 선택 사항들을 한 화면에 다 담을 수 없을 때 유용하게 사용될 수 있습니다.</p>
-
-<p>XUL에서도 이러한 대화창을 구현할 수 있는 방법을 제공합니다. 이를 위해서는 다섯 개의 요소에 대해 먼저 알아야 하는데 여기서는 각 요소들에 대해 대략적으로 설명하고 상세한 내용은 아래에서 설명하도록 하겠습니다.</p>
-
-<dl>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code></dt>
- <dd>탭과 탭 페이지를 포함하는 외부 상자입니다.</dd>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code></dt>
- <dd>각 탭을 포함하는 내부 상자로 다시 말하면 탭을 포함하는 행을 나타냅니다.</dd>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code></dt>
- <dd>개별 탭을 나타내며 탭을 클릭하면 탭 페이지가 전면에 표시됩니다.</dd>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/tabpanels" title="tabpanels">tabpanels</a></code></dt>
- <dd>여러 개의 탭 페이지를 포함하는 요소입니다.</dd>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code></dt>
- <dd>단일 탭 페이지를 나타내며 실제 내용들이 위치하게 됩니다. 첫 번째 tabpanel은 첫 번째 탭에 해당하고, 두 번째 tabpanel은 두 번째 탭에 해당하는 식입니다.</dd>
-</dl>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code></code>는 최외곽 요소로 탭을 포함하는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code></code>요소와 각 탭 페이지을 포함하는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabpanels" title="tabpanels">tabpanels</a></code></code> 요소로 구성됩니다.</p>
-
-<p>다음은 탭상자의 일반적인 구문입니다.</p>
-
-<pre>&lt;tabbox id="tablist"&gt;
- &lt;tabs&gt;
- &lt;!-- tab elements go here --&gt;
- &lt;/tabs&gt;
- &lt;tabpanels&gt;
- &lt;!-- tabpanel elements go here --&gt;
- &lt;/tabpanels&gt;
-&lt;/tabbox&gt;
-</pre>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code></code> 요소들은 일반 상자와 비슷한 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code></code> 요소 안에 놓입니다. 그리고 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code></code> 요소 자신은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code></code> 안에 놓이게 됩니다. 또한 <code>tabbox</code>는 <code>tabpanels</code> 요소를 포함하는데 이는 탭 상자의 수직 정렬 속성에 따라 탭의 아래에 표시됩니다.</p>
-
-<p>실제로 탭 상자는 일반 상자와 별반 다른 게 없습니다. 상자와 마찬가지로 탭 또한 어떤한 요소든 포함할 수 있습니다. 다른 점이 있다면 모양이 조금 다르고 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/deck" title="deck">deck</a></code></code>처럼 한번에 하나의 탭 패널 밖에 표시되지 않는다는 것입니다.</p>
-
-<p>각 탭 페이지의 내용은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code></code>에 포함됩니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code></code>에 포함된다고 생각하기 쉽지만, tab은 상단에 표시되는 탭의 내용을 포함하는 요소입니다.</p>
-
-<p>각 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code></code> 요소는 하나의 탭 페이지를 나타냅니다. 첫 번째 패널은 첫 번째 탭에, 두 번째 패널은 두 번째 탭에 대응됩니다. 따라서 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tab" title="tab">tab</a></code></code>과 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabpanel" title="tabpanel">tabpanel</a></code></code> 사이에는 일대일 대응 관계가 성립합니다.</p>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code></code>의 크기는 가장 큰 탭 페이지의 크기에 의해 결정됩니다. 예를 들어 한 탭 페이지에 열 개의 글상자가 있고 다른 탭 페이지에는 하나의 글상자 밖에 없다고 하면, 탭 페이지의 크기는 가장 많은 공간을 차지하는 열 개의 글상자를 가진 탭 페이지의 크기에 맞춰진다는 것을 의미합니다. 사용자가 다른 탭을 선택해도 탭 영역의 크기는 변하지 않습니다.</p>
-
-<h3 id=".ED.83.AD.EC.83.81.EC.9E.90_.EC.98.88.EC.A0.9C" name=".ED.83.AD.EC.83.81.EC.9E.90_.EC.98.88.EC.A0.9C">탭상자 예제</h3>
-
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_tabpanel_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_tabpanel_1.xul">View</a></p>
-
-<div class="float-right"><img alt="Image:tabpanel1.png"></div>
-
-<pre>&lt;tabbox&gt;
- &lt;tabs&gt;
- &lt;tab label="Mail"/&gt;
- &lt;tab label="News"/&gt;
- &lt;/tabs&gt;
- &lt;tabpanels&gt;
- &lt;tabpanel id="mailtab"&gt;
- &lt;checkbox label="Automatically check for mail"/&gt;
- &lt;/tabpanel&gt;
- &lt;tabpanel id="newstab"&gt;
- &lt;button label="Clear News Buffer"/&gt;
- &lt;/tabpanel&gt;
- &lt;/tabpanels&gt;
-&lt;/tabbox&gt;
-</pre>
-
-<p>예제에는 두 개의 탭이 포함되어 있으며, 첫 번째 탭은 라벨이 'Mail'이고, 두 번째는 'News' 입니다. 사용자가 Mail 탭을 클릭하면 첫 번째 탭 페이지의 내용이 탭 아래에 표시됩니다. 이 경우, 'Automatically check for mail'이라는 라벨이 붙은 체크박스가 나타날 것입니다. 두 번째 탭을 클릭하면 'Clear News Buffer'라는 라벨을 가진 버튼을 포함하는 상자가 표시될 것입니다.</p>
-
-<p>기본적으로 선택된 탭페이지를 지정하기 위해서는 <code>tabbox</code>의 <code>selectedIndex</code> 속성을 설정하면 됩니다. 이 속성은 <code><a href="/ko/docs/Mozilla/Tech/XUL/deck" title="deck">deck</a></code>과 마찬가지로 0에서 시작하며 <code>tabs</code>에 포함되어 있는 탭의 순서 번호를 입력할 수 있습니다. 해당 값에 0미만의 값을 입력하면 0을 입력한 것과 같이 첫번째 탭이 선택된 것으로 출력됩니다. 그리고, 탭의 갯수보다 큰 값을 입력하면 탭은 아무것도 선택되지 않은 것으로 출력되지만, 탭패널에는 첫번째 페이지가 출력될 것입니다.</p>
-
-<h3 id=".ED.83.AD.EC.9D.98_.EC.9C.84.EC.B9.98" name=".ED.83.AD.EC.9D.98_.EC.9C.84.EC.B9.98">탭의 위치</h3>
-
-<p>끝으로, 탭의 위치를 바꿔서 탭 페이지의 원하는 방향에 탭이 표시되도록 하는 방법을 알아 보겠습니다. 이러한 작업을 하기 위해 특별한 문법이 있는 것이 아니라 간단히 <code>orient</code>와 <code>dir</code> 속성 값을 설정하면 됩니다. 레이아웃에 관한한 탭 요소들은 일반 상자와 아주 유사하다는 점을 기억하세요. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabbox" title="tabbox">tabbox</a></code></code>는 기본적으로 수직 정렬 방식인 일반 컨테이너 상자이고, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code></code> 요소는 기본적으로 수평 정렬 방식인 일반 컨테이너 상자이라는 점을 알고 있으면 됩니다.</p>
-
-<p>예를 들어 탭을 왼쪽에 표시하려고 한다며, 탭들이 수직적으로 쌓이게 출력되도록 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabs" title="tabs">tabs</a></code></code>의 <code>orient</code> 속성을 <code>vertical</code>로 변경한 후 <code>tabbox</code>의 <code>orient</code> 속성을 <code>horizontal</code>로 설정하면 됩니다. 이렇게 하면 탭 페이지의 상단이 아닌 왼쪽에 탭이 수직방향으로 쌓이게 출력됩니다. 탭 페이지는 겹쳐 있기 때문에 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tabpanels" title="tabpanels">tabpanels</a></code></code> 요소의 <code>orient</code> 속성을 바꾸는 것은 아무런 의미가 없습니다.</p>
-
-<p>여러분은 코드상에서 <code>tabpanels</code> 요소 다음으로 <code>tabs</code> 요소 위치를 옮겨서 오른쪽이나 아래쪽에 탭이 배치되도록 할 수 있습니다. 또 다른 방법으로는 <code>tabbox</code>의 <code>dir</code> 속성을 <code>reverse</code>로 지정하셔도 됩니다. 그러나 탭의 위치를 옮기면 특정 테마에서 보기가 좋지 않을 수 있기 때문에 그냥 상단에 두는게 좋을 것입니다.</p>
-
-<div class="highlight">
-<h2 id=".ED.8C.8C.EC.9D.BC.EC.B0.BE.EA.B8.B0_.EB.8C.80.ED.99.94.EC.B0.BD.EC.97.90_.ED.83.AD_.EB.84.A3.EA.B8.B0" name=".ED.8C.8C.EC.9D.BC.EC.B0.BE.EA.B8.B0_.EB.8C.80.ED.99.94.EC.B0.BD.EC.97.90_.ED.83.AD_.EB.84.A3.EA.B8.B0">파일찾기 대화창에 탭 넣기</h2>
-
-<p>파일찾기 대화창에 두 번째 패널을 넣어 보겠습니다. 우리는 검색과 관련된 설정을 포함할 Options 탭(기본적으로 선택되어 있도록 하겠습니다)을 만들 것입니다. 이렇게 하는 것이 그다지 좋은 인터페이스는 아니지만, 탭을 설명하기 위해 사용할 목적으로 이렇게 만들 것입니다. 위쪽의 라벨과 검색 상자는 첫 번째 탭에 넣어야 합니다. 두 번째 탭에는 몇가지 설정 사항을 넣겠습니다. 진행막대와 버튼은 탭 외부의 메인 대화창 위에 두도록 하겠습니다.</p>
-
-<pre class="eval">&lt;vbox flex="1"&gt;
-
-<span class="highlightred">&lt;tabbox selectedIndex="1"&gt;
- &lt;tabs&gt;
- &lt;tab label="Search"/&gt;
- &lt;tab label="Options"/&gt;
- &lt;/tabs&gt;
-
- &lt;tabpanels&gt;
- &lt;tabpanel id="searchpanel" orient="vertical"&gt;</span>
-
- &lt;description&gt;
- Enter your search criteria below and select the Find button to begin
- the search.
- &lt;/description&gt;
-
- &lt;spacer style="height: 10px"/&gt;
-
- &lt;groupbox orient="horizontal"&gt;
- <span class="nowiki">&lt;caption label="Search Criteria"/&gt;</span>
-
- &lt;menulist id="searchtype"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Name"/&gt;
- &lt;menuitem label="Size"/&gt;
- &lt;menuitem label="Date Modified"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
- &lt;spacer style="width: 10px;"/&gt;
- &lt;menulist id="searchmode"&gt;
- &lt;menupopup&gt;
- &lt;menuitem label="Is"/&gt;
- &lt;menuitem label="Is Not"/&gt;
- &lt;/menupopup&gt;
- &lt;/menulist&gt;
-
- &lt;spacer style="height: 10px"/&gt;
- &lt;textbox id="find-text" flex="1" style="min-width: 15em;"/&gt;
-
- &lt;/groupbox&gt;
- <span class="highlightred">&lt;/tabpanel&gt;
-
- &lt;tabpanel id="optionspanel" orient="vertical"&gt;
- &lt;checkbox id="casecheck" label="Case Sensitive Search"/&gt;
- &lt;checkbox id="wordscheck" label="Match Entire Filename"/&gt;
- &lt;/tabpanel&gt;
-
- &lt;/tabpanels&gt;
-&lt;/tabbox&gt;</span>
-</pre>
-
-<div class="float-right"><img alt="Image:tabpanel2.png"></div>
-
-<p>탭 요소들이 창의 중심부에 추가되었습니다. Search와 Options의 두 탭을 볼 수 있는데, 각 탭을 클릭하면 그에 맞는 탭 페이지가 표시됩니다. 그림에서 보듯이, 두 번째 탭에는 두 개의 선택 사항이 있으며, 첫 번째 탭은 상단에 탭이 있는 것을 제외하면 이전의 파일찾기 창과 차이가 없습니다.</p>
-
-<p><span id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"><a id="%EC%A7%80%EA%B8%88%EA%B9%8C%EC%A7%80%EC%9D%98_%ED%8C%8C%EC%9D%BC_%EC%B0%BE%EA%B8%B0_%EC%98%88%EC%A0%9C"></a><strong>지금까지의 파일 찾기 예제</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-tabpanel.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-tabpanel.xul">View</a></p>
-</div>
-
-<p>다음에는 <a href="ko/XUL_Tutorial/Grids">격자 형식의 컨텐츠를 작성하는 방법</a>에 대해 배워보겠습니다.</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Stack_Positioning" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Grids">다음 »</a></p>
-</div><p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/templates/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/templates/index.html
deleted file mode 100644
index dd1af0a361..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/templates/index.html
+++ /dev/null
@@ -1,126 +0,0 @@
----
-title: Templates
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Templates
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Templates
----
-<h3 id=".ED.85.9C.ED.94.8C.EB.A6.BF" name=".ED.85.9C.ED.94.8C.EB.A6.BF">템플릿</h3>
-<p>이 절에서는 데이터로부터 요소를 생성시키는 방법에 대해 살펴보고 갑니다.</p>
-<h4 id=".EC.9A.94.EC.86.8C.EC.9D.98_.EC.83.9D.EC.84.B1" name=".EC.9A.94.EC.86.8C.EC.9D.98_.EC.83.9D.EC.84.B1">요소의 생성</h4>
-<p>XUL 에는 RDF 파일 혹은 내부 데이터 소스에 의한 RDF 로부터 공급되는 데이터로부터 요소를 생성하는 기능이 있습니다. Mozilla 에서는 북마크나 히스토리 혹은 메일 메세지등의 여러 가지의 데이터 소스가 제공되고 있습니다. 이것들에 대한 자세한 것은 다음 절에 취급합니다.</p>
-<p>보편적으로, 트리 항목(treeitem)이나 메뉴 항목(menuitem)등의 요소가 데이터로부터 생성되게 됩니다. 그렇지만, 필요하면 다른 요소에 이용하는 일도 가능합니다. 그렇게 말한 요소가 보다 유용이 되는 것은 특수한 상황에 있어야하지만 트리나 메뉴에는 긴 코드를 필요로 하므로 우선은 그러한 요소에 대하고 나서 시작합니다.</p>
-<p>RDF 데이터에 근거한 요소의 생성을 가능하게 하기 위해서는, 생성되는 요소 마다 복제되는 것 같은 단순한 템플릿을 줄 필요가 있습니다. 요컨데, 최초의 요소만을 주어 두어 나머지의 요소는 그것을 바탕으로 구축시키는 것입니다.</p>
-<p>템플릿은 template 요소에 의해 작성됩니다. 그 중에 구축되는 각 요소에 대해 이용하고 싶은 요소를 둡니다. template 요소는 구축되는 요소를 포함하게 되는 요소내에 둘 필요가 있습니다. 예를 들면 트리의 경우, template 요소를 tree 요소내에 둡니다.</p>
-<p>예를 보는 편이 빠를 것입니다. 간단한 예로서 탑 레벨의 각 북마크에 대응하는 버튼을 작성해 봅시다. Mozilla 에는 북마크 데이터 소스가 있으므로 데이터의 취득에는 그것을 이용합니다. 이 예에서는 버튼을 작성하는 대상으로 탑 레벨의 북마크(혹은 북마크 폴더)만을 취득합니다. 아래층의 북마크에 대해서는 트리나 메뉴등의 계층을 표시하는 요소가 필요하게 됩니다.</p>
-<p>내부의 RDF 데이터 소스를 참조하는 것 같은 이 예나 다른 것은 chrome URL 로부터 읽혔을 경우에 대해서만 유효합니다. 안전상의 이유로부터 Mozilla 에서는 다른 소스로부터 남을 수 있는 데이터 소스에의 액세스는 할 수 없게 되어 있습니다.</p>
-<p>이 예를 실제로 보기 위해서(때문에)는, chrome 패키지를 작성해 파일을 거기로부터 읽어들이게 할 필요가 있습니다. chrome URL 를 브라우저의 URL 필드에 입력합니다.</p>
-<p>Example 9.2. 1: 소스</p>
-<pre>&lt;vbox datasources="rdf:bookmarks" ref="NC:BookmarksRoot" flex="1"&gt;
- &lt;template&gt;
- &lt;button uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;/template&gt;
-&lt;/vbox&gt;
-</pre>
-<p>여기에서는, 각 탑 레벨의 북마크에 대응하는 버튼을 포함한 세로 줄의 박스가 작성됩니다만, 위에 보여지듯이, template 요소는 button 요소를 1개만 포함하고 있습니다. 이 버튼이 생성할 필요가 있는 모든 버튼의 바탕으로 됩니다. 화면으로부터 알듯이, 각 북마크에 대응하는 일련의 버튼이 작성되고 있습니다.</p>
-<p>이 예의 윈도우를 연 채로 해서 브라우저로 북마크를 추가해 보세요. 일련의 버튼이 즉시 갱신되는 것을 알 수 있습니다.(다만, 윈도우에 한 번 포커스를 댈 필요가 있을지도 모릅니다).</p>
-<p>템플릿 자체는 세로 줄의 박스내에 놓여져 있습니다. 박스에는 템플릿을 이용하기 위한 2개의 특별한 속성이 주어지고 있어 이용하는 데이터를 어디에서 얻는지를 지정하고 있습니다. 우선 datasources 속성입니다만, 이것은 RDF 데이터 소스를 요소 생성에 있어서의 데이터 공급원으로 하는 경우에 이용합니다. 이 경우 rdf:bookmarks 가 이용됩니다. 이것은 북마크 데이터 소스라고 짐작이 되겠지요. 이 데이터 소스는 Mozilla 가 제공하는 것입니다. 당신 자신에 의한 데이터 소스를 이용하고 싶은 경우는, 아래의 예에 나타나고 있듯이 datasources 속성에 RDF 파일의 URL 를 지정합니다.</p>
-<pre>&lt;box datasources="chrome://zoo/content/animals.rdf"
- ref="http://www.some-fictitious-zoo.com/all-animals"&gt;
-
-</pre>
-<p><br>
- 공백 캐릭터로 나눠지는 것으로 한 번에 복수의 데이터 소스를 속성으로 지정할 수도 있습니다. 이것은 복수의 소스로부터의 데이터를 표시시키고 싶은 경우에 이용할 수 있습니다.</p>
-<p>다음에 ref 속성에는 데이터 소스내의 어디에서 데이터를 취득하는지를 지정합니다. 위의 북마크의 경우, 북마크 계층에 있어서의 루트를 지시하는 값 NC:BookmarksRoot 가 이용되고 있습니다. 여기로 지정 가능한 값은 이용하는 데이터 소스에 의존합니다. 당신 자신에 의한 데이터 소스를 이용하는 경우, 지정하는 값은 RDF 의 Bag, Seq, Alt 몇개의 요소에 있어서의 about 속성의 값에 대응하는 것이 됩니다.</p>
-<p>이것들 2개의 속성을 위의 박스에 나누어주는 것으로 템플릿으로부터의 요소의 생성이 가능하게 됩니다. 다만, 템플릿내의 요소는 다른 방법으로 선언될 필요가 있습니다. 위의 예로 보여지듯이, button 요소에는 uri 속성이 주어지고 있고 label 속성의 값이 통상과 다른 것이 되어 있습니다.</p>
-<p>템플릿내에 있어서의 속성값은 데이터 소스로부터 값을 취득해야 하는 것을 지시하기 때문에 'rdf:'로 시작됩니다. 전의 예에서는 label 속성이 이것에 해당합니다. 속성값의 나머지의 부분은 데이터 소스내의 name 프롭퍼티를 참조합니다. [역주:The remainder of the value refers to the name property is the datasource. 문법적으로 이상한 느낌이지만, 문중의 'property is ...'는 'property in ...'의 오타라고 생각된다. ] 그것은 데이터 소스로 이용되고 있는 이름 공간 URL 에 프롭퍼티명을 부가한 것으로 구성되어 있습니다. 여기를 이해할 수 없는 경우는 전 장의 마지막 부분을 읽어 봐 주세요. 거기에 RDF 내의 리소스가 어떤 형태로 참조될지가 진술되고 있습니다. 여기에서는 북마크명 밖에 이용하지 않았습니다만, 그 밖에도 여러 가지의 필드를 이용할 수 있습니다.</p>
-<p>버튼의 label에는 북마크명을 설정하고 싶었기 때문에, 버튼의 label 속성은 이 특별한 URI 로 설정되어 있습니다. URI 를 button 요소의 임의의 속성이나 다른 요소의 속성으로 설정할 수도 있었습니다. 이러한 속성의 값은 데이터 소스 - 여기에서는 북마크 데이터 소스 - 로부터 공급되는 데이터로 옮겨집니다. 그 결과, 버튼의 label는 북마크명이 되는 것입니다.</p>
-<p>아래의 예에서는 데이터 소스를 이용해 버튼에 있어서의 다른 속성을 어떻게 설정 할 수 있는지를 나타내고 있습니다. 물론, 데이터 소스에는 적절한 리소스가 주어지고 있는 것으로 합니다. 만약 속성에 대응하는 리소스가 눈에 띄지 않는 경우, 그 속성의 값은 캐릭터 라인이 됩니다.</p>
-<pre>&lt;button class="rdf:http://www.example.com/rdf#class"
- uri="rdf:*"
- label="rdf:http://www.example.com/rdf#name"/&gt;
- crop="rdf:http://www.example.com/rdf#crop"/&gt;
-
-</pre>
-<p><br>
- 보듯이 다른 데이터 소스로부터 공급되는 속성을 이용해 동적으로 요소의 리스트를 생성시킬 수가 있습니다.</p>
-<p>내용 생성을 시작하는 장소의 요소는 uri 속성으로 지정합니다. 보다 이전의 내용의 생성은 한 번 잘른 것인데 비해 내부의 내용은 각각의 리소스에 대해 생성됩니다. 이 점에 대해서는 트리에 대한 템플릿의 작성에 대해 말할 때에 자세하게 살펴보기로 하겠습니다.</p>
-<p>이러한 기능을 템플릿을 포함한 컨테이너 - 여기에서는 박스 - 에 부가하는 것으로써, 외부의 데이터로부터 여러 가지의 흥미를 끄는 내용 리스트를 생성시킬 수가 있습니다. 물론, 템플릿내에는 복수의 요소를 두어도 어느 요소에도 고유의 RDF 참조를 줄 수가 있습니다. 아래에 그 예를 나타냅니다.</p>
-<p>Example 9.2. 2: 소스</p>
-<pre>&lt;vbox datasources="rdf:bookmarks" ref="NC:BookmarksRoot" flex="1"&gt;
- &lt;template&gt;
- &lt;vbox uri="rdf:*"&gt;
- &lt;button label="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;label value="rdf:http://home.netscape.com/NC-rdf#URL"/&gt;
- &lt;/vbox&gt;
- &lt;/template&gt;
-&lt;/vbox&gt;
-</pre>
-<p><br>
- 이 예는 각 북마크에 대해 버튼과 label를 가지는 세로 줄의 박스를 생성합니다. 버튼은 북마크명, label는 URL 를 가지게 됩니다.</p>
-<p>생성되는 새로운 요소는 XUL 내에 직접 기록된 요소와 기능적으로는 아무런 바뀔 것은 없습니다. 템플릿에 의해 생성되는 모든 요소에 대해 리소스를 특정하는 id 속성이 주어집니다. 이것을 이용해 리소스를 특정할 수 있습니다.</p>
-<p>아래의 예와 같이 같은 속성에 복수의 리소스치를 공백 캐릭터로 단락지어 지정할 수도 있습니다. 리소스 구문의 상세입니다.</p>
-<p>Example 9.2. 3: 소스</p>
-<pre>&lt;vbox datasources="rdf:bookmarks" ref="NC:BookmarksRoot"
- flex="1"&gt;
- &lt;template&gt;
- &lt;label uri="rdf:*" value="rdf:http://home.netscape.com/NC-rdf#Name rdf:http://home.netscape.com/NC-rdf#URL"/&gt;
- &lt;/template&gt;
-&lt;/vbox&gt;
-</pre>
-<h4 id=".ED.85.9C.ED.94.8C.EB.A6.BF_.EA.B5.AC.EC.B6.95_.EB.B0.A9.EB.B2.95" name=".ED.85.9C.ED.94.8C.EB.A6.BF_.EA.B5.AC.EC.B6.95_.EB.B0.A9.EB.B2.95">템플릿 구축 방법</h4>
-<p>요소가 데이터소스의 속성을 가질 때, 그 요소는 템플릿으로부터 구축되는 것을 의미합니다. 내용이 구축될지 어떨지는 template 태그는 아니고, datasources 속성으로 정해지는 것에 주의해 주세요. 이 속성이 존재할 때, 빌더로 불리는 오브젝트가 요소에 부가됩니다. 이 오브젝트가 템플릿으로부터의 내용 생성의 역할을 하게 됩니다. JavaScript 로부터는 builder 속성으로부터 빌더객체에 액세스 할 수가 있습니다. 통상, 내용 생성이 자동적으로 행해지지 않을 때에 빌더에 내용의 재생성을 실시하게 하고 싶은 경우를 제외하면, 이 필요성은 없을 것입니다.</p>
-<p>빌더에는 2 종류가 있습니다. 1개는 대부분의 경우에 이용되는 내용 빌더로 불려지고 또 하나는 트리에 대해서만 이용되는 트리빌더입니다.</p>
-<p>내용 빌더는 template 요소내의 내용을 꺼내 항목 마다 복제합니다. 예를 들면, 위의 예로 유저가 10 개의 북마크를 가지고 있는 경우, 10 개의 label 요소가 생성되어 vbox 요소의 아이 요소로서 추가되겠지요. 문서 트리의 주사에 DOM 함수를 사용하면, 이러한 요소를 찾아내 프롭퍼티를 조사할 수 있습니다. 이러한 요소는 표시되는 한편, template 요소 자체는 문서 트리내에는 존재하는 것의 표시는 되지 않습니다. 더욱, 각 label의 id 속성은 그 항목의 RDF 리소스로 설정됩니다.</p>
-<p>내용 빌더는 항상 uri="rdf:*" 가 지정되었는데로부터 생성을 개시합니다. uri 속성이 요소 트리에 대해 하위의 요소에게 줄 수 있는 경우, 상위의 요소는 한 번 밖에 작성되지 않습니다. 아래의 예에서는 hbox 가 1개 작성되어 그 내용은 항목 마다 생성되는 label로 채워질 수 있게 됩니다.</p>
-<pre>&lt;template&gt;
- &lt;hbox&gt;
- &lt;label uri="rdf:*" value="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;/hbox&gt;
-&lt;/template&gt;
-</pre>
-<p>데이터소스 속성을 가지는 요소내에 존재하지만 템플릿의 외측에 있는 내용도 표시됩니다. 이와 같이, 템플릿에 대해 정적인 내용과 동적인 내용을 혼합할 수가 있습니다.</p>
-<p>한편, 트리빌더는 항목 마다 DOM 요소를 생성할 것은 없습니다. 그 대신 필요가 생길 때에 RDF 데이터소스로부터 데이터를 직접 취득합니다. 트리는 몇천줄의 항목을 표시하는 것이 되고 있으므로 이 편이 효율적인 것입니다. 셀의 하나하나에 대해서 요소를 생성하는 것은 비용이 너무 비싸게 듭니다. 다만, 트리에서는 텍스트 밖에 표시할 수 없습니다. [역주:8.1 절 「트리」에서는 트리는 화상도 내용으로서 포함할 수 있다고 기록되고 있다. ] 더욱, 요소는 생성되지 않기 때문에 트리의 셀에 대한 스타일에 CSS 프롭퍼티를 이용하는 것은 통상의 방법에서는 할 수 없습니다.</p>
-<p>트리빌더는 트리에 대해서만 이용됩니다. 다른 요소에서는 콘텐츠빌더만 이용됩니다만, 이것은 특히 문제가 되는 것이 아닙니다. 메뉴등의 다른 요소에는 그러한 다수의 항목을 표시하는 것은 상정되어 있지 않기 때문입니다. 내용빌더를 트리에 이용하는 일도 가능하여 treeitem 요소와 관련하는 요소가 항목 마다 작성됩니다.</p>
-<h4 id=".EB.A3.B0" name=".EB.A3.B0">룰</h4>
-<p>전에 언급한 예에 있어서 화상에서는 3번째의 버튼에는 하이픈만이 표시되고 있는 것을 알 것입니다. 이것은 북마크의 리스트에 있어서의 separator 입니다. 지금까지의 이용과 같이 RDF 북마크 데이터 소스도 마치 통상의 북마크와 같게 separator를 공급합니다. separator의 리소스에 대해서는 사실은 버튼의 대신에 작은 틈새를 두고 싶었습니다만. 즉, 통상의 북마크와 separator에 대해 다른 종류의 내용을 작성시키고 싶은 것입니다.</p>
-<p>이것을 실시하려면 rule 요소를 이용합니다. 작성시키고 싶은 요소의 종류 마다 룰을 정의합니다. 여기의 예에서는 북마크에 대한 룰과 separator에 대한 룰이 필요하게 됩니다. 어느 룰을 어느 RDF 리소스에 적용할까는 rule 요소에 나누어주는 속성에 의해 정해집니다.</p>
-<p>어느 룰을 데이터에 적용할까를 주시하는 과정에 대해서는 각 rule 요소에 대해 합치할지 어떨지가 차례로 조사할 수 있습니다. 즉, 룰을 정의하는 차례가 중요하게 됩니다. 먼저 정의되고 있는 룰이 다음에 정의되고 있는 룰보다 우선됩니다.</p>
-<p>다음의 예는 이전의 예에 2개의 룰을 더한 것입니다.</p>
-<p>Example 9.2. 4: 소스</p>
-<pre>&lt;window
- id="example-window"
- title="Bookmarks List"
- xmlns:html="http://www.w3.org/1999/xhtml"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
-
- &lt;vbox datasources="rdf:bookmarks" ref="NC:BookmarksRoot" flex="1"&gt;
- &lt;template&gt;
-
- &lt;rule rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator"&gt;
- &lt;spacer uri="rdf:*" height="16"/&gt;
- &lt;/rule&gt;
-
- &lt;rule&gt;
- &lt;button uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;/rule&gt;
-
- &lt;/template&gt;
- &lt;/vbox&gt;
-
-&lt;/window&gt;
-</pre>
-<p>2개의 룰을 이용하는 것으로써, 템플릿내의 내용은 선택적으로 생성되게 됩니다. 최초의 rule 요소에서는 rdf:type 속성으로 보여지도록, 북마크 separator가 선택됩니다. 후의 룰에서는 rule 요소에 어떤 속성도 나누어주어지지 않기 때문에, 모든 데이터가 일치합니다.</p>
-<p>rule 태그에 놓여진 모든 속성이 일치 조건에 이용됩니다. 이 경우, 북마크 데이터 소스는 separator인가 어떤가를 구별할 수 있듯이 rdf:type 프롭퍼티를 공급하고 있습니다. 이 속성은, RDF 북마크 데이터 소스에 대해, separator에 대한 고유의 값으로 설정됩니다. 이것에 의해 separator가 아닌 것이라는 구별을 붙일 수 있게 됩니다. 동일한 기법은 RDF 의 Description 요소에게 줄 수 있고 있는 임의의 속성에 대해 적용할 수가 있습니다.</p>
-<p>위의 예의 최초의 룰로 주어지고 있는 특별한 URL 값은 separator에게 이용되는 것입니다. 즉, separator에 대해서는 최초의 룰에 따라 16 픽셀의 틈새를 비우는 spacer 요소가 생성됩니다. separator가 아닌 모든 요소에 대해서는 최초의 룰에 일치하지 않고 후의 룰에 따르게 됩니다. 후의 룰에서는 속성이 일절 지정되어 있지 않기 때문에 모든 데이터에 일치하게 됩니다. 이것은 물론, 나머지의 데이터에 대해서 실시하고 싶었던 것입니다.</p>
-<p>하나 더, RDF 네임스페이스( rdf:type )으로부터 속성을 꺼내고 싶었기 때문에 네임스페이스 선언을 window 태그에 부가할 필요가 있었던 것에 깨닫았을 것입니다. 이것을 해 두지 않으면 속성은 XUL 네임스페이스에 포함되는 것이라고 보여져 버립니다. 물론 거기에는 존재하지 않기 때문에, 룰은 합치하지 않게 됩니다. 자기 부담의 네임스페이스의 속성을 이용하는 경우도 룰에 일치시키기 위해서는 이름 공간 선언이 필요하게 됩니다.</p>
-<p>2번째의 룰이 제거되었을 때에 무엇이 일어날까는 상상이 붙겠지요. 그 결과는 다만 separator 1개가 표시되는 것만으로 있어, 북마크는 합치하는 룰이 없기 때문에 표시되지 않습니다.</p>
-<p>간단하게 말하면, rule 요소에 나누어주어진 모든 속성이 RDF 리소스의 대응하는 속성에 일치할 때 룰이 일치한다고 하는 것입니다. RDF 파일의 경우는 리소스는 Description 요소가 됩니다.</p>
-<p>다만, 소수의 예외가 있습니다. 속성 id, rdf:property, rdf:instanceOf 에는 일치시킬 수가 없습니다. 어쨌든, 자기 부담의 속성을 자기 부담의 네임스페이스에서 준비하면 끝나는 것이므로, 문제가 되는 것은 없을 것입니다.</p>
-<p>최초의 룰이 존재하지 않는 템플릿에 대해서는, 실제는 속성을 가지지 않는 다만 하나의 룰이 지정되고 있는 것이라고 되는 것에 주의해 주세요.</p>
-<p>다음절에서는 트리에 대한 템플릿의 이용을 살펴보고 갑니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Introduction_to_RDF" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Trees_and_Templates">다음 »</a></p>
-</div><p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/the_box_model/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/the_box_model/index.html
deleted file mode 100644
index c5c3d5fa1d..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/the_box_model/index.html
+++ /dev/null
@@ -1,118 +0,0 @@
----
-title: The Box Model
-slug: Mozilla/Tech/XUL/XUL_Tutorial/The_Box_Model
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/The_Box_Model
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:More_Button_Features" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Element_Positioning">다음 »</a></p>
-</div><p></p>
-<p>이 단원에서는, XUL이 레이아웃을 어떻게 처리하는지에 대해 알아보겠습니다.</p>
-<h3 id=".EC.83.81.EC.9E.90_.EC.86.8C.EA.B0.9C" name=".EC.83.81.EC.9E.90_.EC.86.8C.EA.B0.9C">상자 소개</h3>
-<p>XUL에서 레이아웃의 주된 형식은 '상자모델'이라고 하는 것입니다. 이 모델은 창을 여러개의 상자로 분할 할 수 있도록 해 줍니다. 상자 내부의 요소는 가로 또는 세로 <code id="a-orient(방향)"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/orient(방향)">orient(방향)</a></code>을 가지게 됩니다. 여러개의 상자와 공백, <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code>속성을 가진 요소들을 묶음으로써, 창의 레이아웃을 제어할 수 있습니다.</p>
-<p>상자는 XUL의 요소들을 배치하기 위해 가장 중요한 부분이지만, 몇 가지 단순한 규칙만을 가집니다. 상자는 가로 또는 세로 두 방향 중 하나의 형태로 자식이 배치되도록 할 수 있습니다. 가로상자는 상자에 포함된 요소를 가로 방향으로 세로 상자는 세로 방향으로 정렬시킵니다. 여러분은 상자를 HTML 테이블의 행 또는 열로 생각하실 수 있습니다. CSS 스타일 속성과 더불어 자식 요소에 사용되는 여러 속성은 자식 요소의 위치와 크기를 정확하게 제어할 수 있게 해 줍니다.</p>
-<h4 id=".EC.83.81.EC.9E.90_.EC.9A.94.EC.86.8C.EB.93.A4" name=".EC.83.81.EC.9E.90_.EC.9A.94.EC.86.8C.EB.93.A4">상자 요소들</h4>
-<p>상자의 기본 구문은 다음과 같습니다.</p>
-<pre>&lt;hbox&gt;
- &lt;!-- horizontal elements --&gt;
-&lt;/hbox&gt;
-
-&lt;vbox&gt;
- &lt;!-- vertical elements --&gt;
-&lt;/vbox&gt;
-</pre>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/hbox" title="hbox">hbox</a></code></code> 요소는 가로 방향의 상자를 만드는 데 사용됩니다. <code>hbox</code>에 포함되는 요소들은 하나의 행 안에 수평적으로 배치됩니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/vbox" title="vbox">vbox</a></code></code> 요소는 세로 방향의 상자를 만드는 데 사용됩니다. 상자에 추가되는 요소들은 아래쪽으로 배치됩니다.</p>
-<p>또한 가로 방향을 기본으로 하는 기본적인 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/box" title="box">box</a></code></code> 요소가 존재하는데, 이것은 <code>hbox</code>와 같은 역할을 한다는 의미입니다. 그렇다 하더라도, 상자의 방향을 제어하기 위해서 <code><code id="a-orient"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/orient">orient</a></code></code> 속성을 사용할 수 있습니다. 이 속성을 이용하면 가로 상자를 만들기 위해서는 <code>horizontal</code>값을 세로 상자는 <code>vertical</code>값을 설정하면 됩니다.</p>
-<p>따라서 다음의 두 줄은 동일한 것입니다.</p>
-<pre>&lt;vbox&gt;&lt;/vbox&gt;
-
-&lt;box orient="vertical"&gt;&lt;/box&gt;
-</pre>
-<p>다음의 예제는 3개의 버튼을 세로로 나타내는 방법을 보여주고 있습니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_1"><a id="%EC%98%88%EC%A0%9C_1"></a><strong>예제 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxes_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxes_1.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:boxes-ex1.png"></div>
-<pre>&lt;vbox&gt;
- &lt;button id="yes" label="Yes"/&gt;
- &lt;button id="no" label="No"/&gt;
- &lt;button id="maybe" label="Maybe"/&gt;
-&lt;/vbox&gt;
-</pre>
-<p>여기에 있는 3개 버튼은 상자가 지시한 대로 세로 방향으로 배치되어 있습니다. 버튼을 가로 방향으로 배치되도록 하려면 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/vbox" title="vbox">vbox</a></code></code>를 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/hbox" title="hbox">hbox</a></code></code>로 변경하기만 하면 됩니다.</p>
-<h4 id=".EB.A1.9C.EA.B7.B8.EC.9D.B8_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90_.EC.98.88.EC.A0.9C" name=".EB.A1.9C.EA.B7.B8.EC.9D.B8_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90_.EC.98.88.EC.A0.9C">로그인 대화상자 예제</h4>
-<p>여러분은 다른 상자를 포함해서 상자내에 원하는데로 많은 요소를 추가할 수 있습니다. 가로 상자의 경우에, 추가되는 요소는 이전 요소의 오른쪽에 놓이게 됩니다. 상자에 포함된 요소들은 다음 줄로 넘어가지 않기 때문에, 요소를 추가하면 창의 너비가 그 만큰 넓어지게 됩니다. 마찬가지로, 세로상자에 추가된 요소는 이전 요소의 아래에 놓이게 됩니다. 아래는 간단한 로그인 대화상자 예제입니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_2"><a id="%EC%98%88%EC%A0%9C_2"></a><strong>예제 2</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxes_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxes_2.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:boxes-ex2.png"></div>
-<pre>&lt;vbox&gt;
- &lt;hbox&gt;
- &lt;label control="login" value="Login:"/&gt;
- &lt;textbox id="login"/&gt;
- &lt;/hbox&gt;
- &lt;hbox&gt;
- &lt;label control="pass" value="Password:"/&gt;
- &lt;textbox id="pass"/&gt;
- &lt;/hbox&gt;
- &lt;button id="ok" label="OK"/&gt;
- &lt;button id="cancel" label="Cancel"/&gt;
-&lt;/vbox&gt;
-</pre>
-<p>위 예제에서는, 2개의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/hbox" title="hbox">hbox</a></code></code> 태그와 2개의 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/button" title="button">button</a></code></code> 요소, 총 4개 요소가 세로 방향으로 배치되어 있습니다. 주의할 것은 상자의 바로 아래 자식 요소만 세로 방향으로 처리된다는 점입니다. 라벨과 글상자는 안쪽 <code>hbox</code> 요소 내부에 있기 때문에, 이들 상자의 방향인 가로 방향에 따라 배치되어 있습니다. 각 라벨과 글상자가 가로 방향으로 배치되어 있는 것을 그림에서 확인하실 수 있습니다.</p>
-<h5 id=".EA.B8.80.EC.83.81.EC.9E.90_.EC.A0.95.EB.A0.AC" name=".EA.B8.80.EC.83.81.EC.9E.90_.EC.A0.95.EB.A0.AC">글상자 정렬</h5>
-<p>로그인 대화상자의 그림을 자세히 보면, 2개의 글상자가 정렬되어 있지 않은 것을 볼 수 있습니다. 아마도 정렬되어 있다면 더 보기 좋을 것입니다. 이 작업을 위해서는 몇 가지 상자를 추가해 주어야 합니다.</p>
-<p><span id="%EC%98%88%EC%A0%9C_3"><a id="%EC%98%88%EC%A0%9C_3"></a><strong>예제 3</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxes_3.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_boxes_3.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:boxes-ex3.png"></div>
-<pre>&lt;vbox&gt;
- &lt;hbox&gt;
- &lt;vbox&gt;
- &lt;label control="login" value="Login:"/&gt;
- &lt;label control="pass" value="Password:"/&gt;
- &lt;/vbox&gt;
- &lt;vbox&gt;
- &lt;textbox id="login"/&gt;
- &lt;textbox id="pass"/&gt;
- &lt;/vbox&gt;
- &lt;/hbox&gt;
- &lt;button id="ok" label="OK"/&gt;
- &lt;button id="cancel" label="Cancel"/&gt;
-&lt;/vbox&gt;
-</pre>
-<p>이제 글상자가 어떻게 정렬되었는지 주의깊게 보시기 바랍니다. 이렇게 하기 위해 우리는 주 상자 내에 또 다른 상자를 추가해야 했습니다. 원래는 2개의 라벨과 글상자가 가로 상자 내부에 위치하고 있었습니다. 그런데 이번에는 라벨을 모두 하나의 수직 상자에, 글상자도 모두 하나의 수직 상자에 포함되어 있습니다. 여기서 사용한 수직 상자가 각 요소들을 수직으로 정렬시킵니다. 수평 상자는 라벨을 포함하는 수직 상자와 글상자를 포함하는 수직 상자를 수평적으로 배치하기 위해 사용되었습니다. 만일 이 수평 상자를 없애면 글상자는 모두 라벨의 아래에 위치하게 될 것입니다.</p>
-<p>이제 남은 문제는 'Password' 라벨이 오른쪽에 있는 글상자에 비해 너무 높이 위치해 있다는 점입니다. 이 문제를 해결하려면 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/grid" title="grid">grid</a></code></code> 라는 요소를 사용할 수 밖에 없는데, 이에 대해서는 <a href="ko/XUL_Tutorial/Grids">이후 단원</a>에서 배우게 될 것입니다.</p>
-<div class="highlight">
- <h4 id=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EB.8C.80.ED.99.94.EC.B0.BD_.EC.98.88.EC.A0.9C" name=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EB.8C.80.ED.99.94.EC.B0.BD_.EC.98.88.EC.A0.9C">우리의 파일 찾기 대화창 예제</h4>
- <p>파일 찾기 대화창에 몇 가지 상자를 추가해 보겠습니다. 모든 요소를 포함하도록 제일 바깥쪽에 세로 상자를 추가하고, 글상자와 버튼 주변에 가로상자를 추가하겠습니다. 이렇게 하면 버튼이 글상자 아래에 나타나게 될것입니다.</p>
- <pre class="eval"><span class="highlightred">&lt;vbox flex="1"&gt;
-
- &lt;description&gt;
- Enter your search criteria below and select the Find button to begin
- the search.
- &lt;/description&gt;
-
- &lt;hbox&gt;</span>
- &lt;label value="Search for:" control="find-text"/&gt;
- &lt;textbox id="find-text"/&gt;
- <span class="highlightred">&lt;/hbox&gt;
-
- &lt;hbox&gt;
- &lt;spacer flex="1"/&gt;</span>
-
- &lt;button id="find-button" label="Find"/&gt;
- &lt;button id="cancel-button" label="Cancel"/&gt;
- <span class="highlightred">&lt;/hbox&gt;
-&lt;/vbox&gt;</span>
-</pre>
- <div class="float-right">
- <img alt="Image:boxes1.png"></div>
- <p><br>
- 세로상자는 메인 텍스트와 글상자를 포함한 상자와 버튼을 포함한 상자를 세로 방향으로 배치되게 해 줍니다. 안쪽의 수평 상자들은 그들이 포함한 요소들을 수평적으로 배치되게 해 줍니다. 그림에서 보듯이, 라벨과 글상자는 나란히 놓여 있습니다. 공백요소와 2개의 버튼 또한 상자에서 가로로 배치되어 있습니다. <code><code><a href="/ko/docs/Mozilla/Tech/XUL/spacer" title="spacer">spacer</a></code></code> 요소가 flex 속성을 지정하고 있기 때문에, 버튼들이 오른쪽에 붙어있다는 점에 주목하세요.</p>
- <p><span id="%EC%97%AC%ED%83%9C%EA%B9%8C%EC%A7%80%EC%9D%98_%EC%98%88%EC%A0%9C"><a id="%EC%97%AC%ED%83%9C%EA%B9%8C%EC%A7%80%EC%9D%98_%EC%98%88%EC%A0%9C"></a><strong>여태까지의 예제</strong></span>: <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxes.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-boxes.xul">View</a></p>
-</div>
-<p>다음 섹션에서는, <a href="ko/XUL_Tutorial/Element_Positioning">요소들의 크기를 지정하고 크기에 제한을 주는 방법</a>에 대해 알아 보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:More_Button_Features" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Element_Positioning">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/the_chrome_url/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/the_chrome_url/index.html
deleted file mode 100644
index 51136bcd49..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/the_chrome_url/index.html
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title: The Chrome URL
-slug: Mozilla/Tech/XUL/XUL_Tutorial/The_Chrome_URL
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/The_Chrome_URL
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:XUL_Structure" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Manifest_Files">다음 »</a></p>
-</div><p></p>
-<p>이번 섹션에서는 XUL 문서와 다른 chrome 파일을 참조하는 방법을 설명합니다.</p>
-<h3 id="Chrome_URL" name="Chrome_URL">Chrome URL</h3>
-<p>XUL 파일은 HTML 파일처럼 일반적인 HTTP URL(또는 어떤 형태의 URL이든)로 참조될 수 있습니다. 그러나 Mozilla의 chrome 시스템에 설치된 꾸러미는 특별한 chrome URL로 참조될 수 있습니다. Mozilla에 포함된 꾸러미들은 미리 설치되어 있는 것들이지만 여러분은 여러분의 것을 등록할 수 있습니다.</p>
-<p>설치된 꾸러미는 보안 제한사항에 구애받지 않는다는 장점을 가지는데, 이것은 많은 응용프로그램에 필요한 것입니다. 다른 URL 타입에 대한 또 다른 장점은 이것들이 다중 테마와 로케일을 자동으로 처리한다는 점입니다. 예를 들어 chrome URL은 여러분이 현재 사용중인 테마가 무엇인지 몰라도 테마에 포함된 이미지와 같은 파일을 참조하도록 해 줍니다. 각 테마내 파일 이름이 같다면 여러분은 chrome URL을 이용해서 파일을 참조할 수 있습니다. Mozilla는 파일이 어디에 위치하는지 결정하는데 신경 쓸 것이고 올바른 데이터를 반환할 것입니다. 이는 꾸러미가 이에 접근하기 위해 설치되어 있는 장소에 구애받지 않는다는 것을 의미합니다. Chrome URL은 파일들의 물리적인 위치에 독립적입니다. 이는 파일의 위치와 관련된 많은 부분을 신경 쓰지 않고도 다수의 파일을 가진 응용프로그램을 작성하기 쉽게 만들어 줍니다.</p>
-<p>Chrome URL의 기본 구문은 다음과 같습니다.</p>
-<pre class="eval"><a class="external" rel="freelink">chrome://</a><i>&lt;package name&gt;</i>/<i>&lt;part&gt;</i>/<i>&lt;file.xul&gt;</i>
-</pre>
-<p>&lt;package name&gt;은 messenger나 editor와 같은 꾸러미 이름을 가리킵니다. &lt;part&gt;는 'content', 'skin', 'locale' 중에 하나가 될 수 있으며 여러분이 원하는 것에 따라 달라집니다. 'file.xul'은 그냥 파일 이름입니다.</p>
-<p><b>Example</b>: <a class="external" rel="freelink">chrome://messenger/content/messenger.xul</a></p>
-<p>위의 예제는 메신저 창을 가리킵니다. 여러분은 부분(part)에 해당하는 'content'를 'skin'으로 변경하고 파일명을 바꾸기만 하면 파일을 가리킬 수 있습니다. 비슷하게 'content' 대신 'locale'을 사용하면 로케인 부분의 파일을 가리킬 수 있습니다.</p>
-<p>여러분이 chrome URL을 열면, Mozilla는 설치된 꾸러미 리스트를 조사하여 꾸러미 이름과 부분(part)이 일치하는 JAR 파일이나 디렉토리를 위치시키려고 합니다. Chrome URL과 JAR 파일들간의 연결은 chrome 디렉토리에 저장되어 있는 선언 파일에 명시되어 있습니다. 여러분이 messenger.jar 파일을 다른 곳으로 옮기더라도 선언 파일을 이에 맞게 수정한다면, Thunderbird는 특정 설치 위치에 의존하지 않기 때문에 정상적으로 동작합니다. Chrome URL을 사용함으로써 이와 같은 세부 사항은 Mozilla가 처리하도록 할 수 있습니다. 이와 유사하게, 사용자가 테마를 바꾸더라도 chrome URL의 'skin' 부분이 다른 파일들로 번역되고 따라서 XUL과 스크립트는 수정할 필요가 없게 됩니다.</p>
-<p>아래 몇가지 예제가 있습니다. 어떠한 URL도 어떤 테마나 로케일을 사용하는지 명시하지 않았고 특정 디렉토리 또한 명시되지 않았음을 잘 보세요.</p>
-<pre class="eval"><a class="external" rel="freelink">chrome://messenger/content/messenger.xul</a>
-<a class="external" rel="freelink">chrome://messenger/content/attach.js</a>
-<a class="external" rel="freelink">chrome://messenger/skin/icons/folder-inbox.gif</a>
-<a class="external" rel="freelink">chrome://messenger/locale/messenger.dtd</a>
-</pre>
-<p>하위 디렉토리를 참조하기 위해서는 chrome URL의 끝에 하위 디렉토리를 붙여 주기만 하면 됩니다. 다음 URL들은 북마크 창을 참조하는 것으로 꾸러미 이름이 Mozilla Suite와 Firefox에서 서로 틀리기 때문에 모두 열거하였습니다.</p>
-<pre class="eval"><a class="external" rel="freelink">chrome://communicator/content/bookma...rksManager.xul</a> (Mozilla)
-<a class="external" rel="freelink">chrome://browser/content/bookmarks/b...rksManager.xul</a> (Firefox)
-</pre>
-<p>여러분은 일반적인 URL이 사용되는 어디서나 chrome URL을 사용할 수 있습니다. 여러분은 Mozilla 브라우저 창의 URL 바에도 직접 입력할 수 있습니다. 만일 브라우저의 주소 영역에 위에서 언급한 URL 중의 하나를 입력하면, 웹 페이지가 출력되는 것과 같이 창이 출력되는 것을 보게 될 것이고, 별도의 창인 것처럼 대부분의 기능들이 동작합니다. 그러나 어떤 대화상자들은 올바로 작동하지 않을 수도 있는데 이는 그들이 열릴 때 윈도우에서 특정 인자(argument)를 제공해야 할 필요가 있기 때문일 수도 있습니다.</p>
-<p>여러분은 다음과 같이 파일명을 명시하지 않은 chrome URL을 볼 수도 있습니다.</p>
-<pre class="eval"><a class="external" rel="freelink">chrome://browser/content/</a>
-</pre>
-<p>이 경우에는 꾸러미 이름과 부분(part)만이 명시되어 있습니다. 이런 종류의 참조는 자동으로 올바른 디렉토리에서 적절한 파일이 선택됩니다. Content일 경우에는 꾸러미 이름과 동일한 이름인 xul 확장자를 가진 파일이 선택됩니다. 위의 예제에서는 browser.xul 파일이 선택됩니다. messenger일 경우에는 messenger.xul 파일이 선택될 것입니다. 여러분의 응용 프로그램을 만들 때는 짧은 형태를 사용하여 참조할 수 있도록 메인 윈도우에 해당하는 파일을 꾸러미 이름과 동일하게 만들고자 할 것입니다. 이렇게 하면 사용자는 꾸러미 이름만 알면 되므로 응용프로그램을 여는데 수월해 집니다. 물론, 확장 기능과 같이 브라우저의 인터페이스를 수정하는 경우에는 UI를 통해 자신을 표현하기 때문에 사용자가 URL을 꼭 알 필요가 없습니다.</p>
-<p>스킨인 경우에는 &lt;package name&gt;.css 파일이 선택되고, 로케일에서는 &lt;package name&gt;.dtd가 선택됩니다.</p>
-<p>Chrome URL은 디스크 상의 위치와 관련 없다는 것을 기억하세요. Chrome URL의 앞 두 부분은 꾸러미 이름과 부분(part)(content, skin, locale 중 하나)입니다. 컨텐츠 파일은 보통 'content'라는 디렉토리에 넣지만 이건 관습적인 것일 뿐이고, 이러한 파일들이 완전히 다른 구조에 위치해도 상관없습니다.</p>
-<p>다음 섹션에서는 .manifest 파일과 꾸러미를 어떻게 만드는지 알아볼 것입니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:XUL_Structure" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Manifest_Files">다음 »</a></p>
-</div><p></p>
-<p><span class="comment">Interwiki Language Links</span></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/toolbars/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/toolbars/index.html
deleted file mode 100644
index 157184118b..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/toolbars/index.html
+++ /dev/null
@@ -1,107 +0,0 @@
----
-title: Toolbars
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Toolbars
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Toolbars
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Scroll_Bars" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Simple_Menu_Bars">다음 »</a></p>
-</div><p></p>
-
-<p>툴바(toolbar)는 보통 창의 상단에 위치하면서 일반적인 기능을 수행하는 여러 버튼을 포함합니다. XUL은 툴바를 만드는 방법을 제공합니다.</p>
-
-<h2 id=".ED.88.B4.EB.B0.94_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0" name=".ED.88.B4.EB.B0.94_.EC.B6.94.EA.B0.80.ED.95.98.EA.B8.B0">툴바 추가하기</h2>
-
-<p>다른 요소들처럼 XUL 툴바도 상자 유형 중 하나입니다. 보통 툴바에는 <a href="ko/XUL_Tutorial/Adding_Buttons">버튼</a>들이 놓여지지만, 어떤 요소도 툴바에 놓을 수 있습니다. 예를 들어, Mozilla 브라우저에는 페이지 URL을 표시하는 <a href="ko/XUL_Tutorial/Input_Controls#Text_Entry_Fields">글상자</a>를 포함한 툴바가 있습니다.</p>
-
-<p>툴바는 창내의 가로 혹은 세로 어떤 방향으로도 위치될 수 있습니다. 물론 글상자를 세로 툴바에 두지는 않을 것입니다. 사실 툴바는 그냥 상자이기 때문에 원하는 곳 어디든 위치할 수 있으며, 창의 중앙에도 배치할 수 있습니다. 그러나 대개 툴바들은 창의 상단에 나타나는게 보통입니다. 여러개의 툴바가 순서대로 위치하면, 보통 '툴박스(toolbox)'라고 불리는 것으로 묶게 됩니다.</p>
-
-<p>툴바의 좌측면에는 작은 무늬(notch)가 있는데, 이것을 클릭하면 툴바가 접혀지고 무늬만 보이게 됩니다. 무늬는 '그리피(grippy)'라고도 부릅니다. 여러개의 툴바가 하나의 툴박스 내에 있을때, 그리피들을 클릭하면 한 줄로 닫힙니다. 이렇게 해서 툴바가 사용하는 공간을 줄이게 됩니다. 세로 방향의 툴바는 상단 모서리에 그리피가 있습니다. 일반적으로, 사용자들은 메인 윈도우의 공간을 넓히기 위해 툴바를 닫습니다.</p>
-
-<h5 id="toolbox_.EC.95.88.EC.97.90_.EC.9E.88.EB.8A.94_.EA.B0.84.EB.8B.A8.ED.95.9C_toolbar" name="toolbox_.EC.95.88.EC.97.90_.EC.9E.88.EB.8A.94_.EA.B0.84.EB.8B.A8.ED.95.9C_toolbar"><code>toolbox</code> 안에 있는 간단한 <code>toolbar</code></h5>
-
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_toolbar_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_toolbar_1.xul">View</a></p>
-
-<div class="float-right"><img alt="Image:toolbar1.jpg"></div>
-
-<pre class="brush: xml">&lt;toolbox&gt;
- &lt;toolbar id="nav-toolbar"&gt;
- &lt;toolbarbutton label="Back"/&gt;
- &lt;toolbarbutton label="Forward"/&gt;
- &lt;/toolbar&gt;
-&lt;/toolbox&gt;
-</pre>
-
-<p>이 예제는 뒤로가기(Back)와 앞으로가기(Forward) 버튼을 가진 툴바를 만듭니다. 하나의 툴바가 툴박스내에 위치하고 있습니다. 툴바와 관련하여 4가지 새로운 태그가 있는데 각 내용은 다음과 같습니다.</p>
-
-<dl>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code></dt>
- <dd>툴바를 포함하는 상자.</dd>
-</dl>
-
-<dl>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code></dt>
- <dd>버튼과 같은 툴바 아이템을 포함하는 하나의 툴바. 툴바는 왼쪽 혹은 위쪽에 있는 그리피를 사용하여 접을 수 있습니다..</dd>
-</dl>
-
-<dl>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbarbutton" title="toolbarbutton">toolbarbutton</a></code></dt>
- <dd>툴바에 있는 버튼으로 일반 버튼과 동일한 기능을 가지고 있지만 조금 다르게 출력됩니다.</dd>
-</dl>
-
-<dl>
- <dt><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbargrippy" title="toolbargrippy">toolbargrippy</a></code></dt>
- <dd>이 요소는 툴바를 접거나 여는데 사용되는 무늬를 만듭니다. 자동으로 추가되기 때문에 직접 사용할 필요는 없습니다.</dd>
-</dl>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code></code>는 실제 툴바를 만드는 메인 요소입니다. 일반적으로 툴바에는 버튼들이 포함되는데 다른 요소들도 넣을 수 있습니다. 툴바는 <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> 속성을 가지는게 좋으며, 그렇지 않으면 접거나 펼칠 수 없게 될 수도 있습니다.</p>
-
-<p>위 예제에서는 단지 한개의 툴바만 작성되었습니다. 첫 번째 툴바 다음에 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbar" title="toolbar">toolbar</a></code></code>요소를 더 추가해서 다중 툴바도 쉽게 만들 수 있습니다.</p>
-
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code></code>는 툴바의 컨테이너입니다. 일부 응용프로그램에서는 창의 상단에 여러개의 툴바가 있을 것입니다. 이들 모두를 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbox" title="toolbox">toolbox</a></code></code> 안에 넣을 수 있습니다.</p>
-
-<p>여러분은 <code>toolbar</code> 요소를 <code>toolbox</code> 안에 넣어야 하는 것은 아닙니다.</p>
-
-<h3 id=".ED.88.B4.EB.B0.95.EC.8A.A4.EC.97.90_.EC.9E.88.EB.8A.94_.EA.B7.B8.EB.A6.AC.ED.94.BC" name=".ED.88.B4.EB.B0.95.EC.8A.A4.EC.97.90_.EC.9E.88.EB.8A.94_.EA.B7.B8.EB.A6.AC.ED.94.BC">툴박스에 있는 그리피</h3>
-
-<div class="note"><b>주의</b>: Firefox에는 <code>toolbargrippy</code> 요소가 없습니다.</div>
-
-<p>툴박스에 있는 그리피들은 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/toolbargrippy" title="toolbargrippy">toolbargrippy</a></code></code>라는 요소를 이용해서 작성됩니다. 그리피의 목적이 툴바를 접기 위한 것이기 때문에, 툴바 밖에서 이 요소를 사용하는 것은 아무 의미가 없습니다. 그러나 좀 다른 스타일을 원할 수 도 있습니다. 여러분은 <code>toolbar</code> 요소의 <code><code id="a-grippyhidden"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/grippyhidden">grippyhidden</a></code></code> 속성을 <code>true</code>로 설정하면 그리피를 숨길 수 있습니다.</p>
-
-<div class="float-right">
-<p>동일 툴바들이지만 두 개는 접혀 있습니다.<br>
- <img alt="Image:toolbar3.jpg"></p>
-</div>
-
-<p>3개의 툴바를 가진 툴박스<br>
- <img alt="Image:toolbar2.jpg"></p>
-
-<div class="highlight">
-<h3 id=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C" name=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C">우리의 파일 찾기 예제</h3>
-
-<p>파일 찾기 대화창에 툴바를 넣어 보겠습니다. 사실 툴바가 꼭 필요한 것은 아니지만 설명을 위해서 추가할 것입니다. 2개의 버튼이 추가될 것인데, 열기(Open)와 저장(Save) 버튼입니다. 아마도 이것들은 사용자가 검색 결과를 저장하고 나중에 다시 열어볼 수 있게 해줄 것 같습니다.</p>
-
-<pre class="eval">&lt;vbox flex="1"&gt;
- <span class="highlightblue">&lt;toolbox&gt;
- &lt;toolbar id="findfiles-toolbar"&gt;
- &lt;toolbarbutton id="opensearch" label="Open"/&gt;
- &lt;toolbarbutton id="savesearch" label="Save"/&gt;
- &lt;/toolbar&gt;
- &lt;/toolbox&gt;</span>
- &lt;tabbox&gt;
-</pre>
-
-<div class="float-right"><img alt="Image:toolbar5.png"></div>
-
-<p>2개의 버튼을 가진 툴바가 추가되었습니다. 그림에서 여러분은 툴바가 상단에 가로방향으로 나타나 있는 것을 볼 수 있습니다. 그리피 또한 툴바의 왼쪽면에 보입니다. 주목할 점은 툴바가 세로 상자 내 탭상자 바로 위의 위치하고 있다는 것입니다. 이것은 툴바가 모든 것보다 앞에 나타나도록 하기 위해 세로방향을 사용했기 때문입니다.</p>
-
-<p>지금까지의 파일 찾기 예제 : <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-toolbar.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-toolbar.xul">View</a></p>
-</div>
-
-<p>다음에는 창에 <a href="ko/XUL_Tutorial/Simple_Menu_Bars">메뉴바</a>를 넣는 방법에 대해 알아보겠습니다.</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Scroll_Bars" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Simple_Menu_Bars">다음 »</a></p>
-</div><p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/trees/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/trees/index.html
deleted file mode 100644
index 23e3afa192..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/trees/index.html
+++ /dev/null
@@ -1,166 +0,0 @@
----
-title: Trees
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Trees
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Trees
----
-<p> </p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:XPCOM_Examples" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:More_Tree_Features">다음 »</a></p>
-</div><p></p>
-<p>XUL은 tree를 사용하여 표형태 또는 계층목록을 만드는 방법을 제공합니다.</p>
-<h3 id=".ED.8A.B8.EB.A6.AC" name=".ED.8A.B8.EB.A6.AC">트리</h3>
-<p><a href="ko/XUL/tree">tree</a>에서 가장 복잡한 요소중 하나가 tree입니다. listbox처럼, tree는 항목을 만드는 데 사용할 수 있습니다. tree 요소는 계층적 목록 또는 표를 만들 수도 있습니다. 예를 들어 메일 프로그램에서 메시지 목록, 또는 모질라의 북마크 편집창을 tree를 사용하여 만들 수 있습니다.</p>
-<p>어떤 측면에서 tree는 <code><a href="ko/XUL/listbox">listbox</a></code>와 유사합니다. 둘다 다중 행과 열을 가진 표를 만드는 데 사용할 수 있으며, 둘다 열 머릿말(header)을 담을 수 있습니다. tree는 안쪽(netsted) 행을 지원하지만, listbox는 그렇지 않습니다. 하지만, listbox는 어떤 형태의 내용도 담을 수 있습니다. 반면 tree는 글과 그림 내용만 담을 수 있습니다. listbox는 단순하게 처리할 경우, tree에 대한 대안으로 만들어졌기 때문에, 필요한 경우 대신 사용할 수 있습니다. (프로그레스 바나 체크 박스 같은 경우 트리에 추가할 수 있습니다.)</p>
-<p>tree는 칼럼 세트와 tree body 두 가지 부분으로 나누어 집니다. A tree consists of two parts, the set of columns, and the tree body.</p>
-<ul>
- <li>칼럼 세트는 <code><a href="ko/XUL/treecol">treecol</a></code> 요소의 갯수로 표시합니다. 각 칼럼은 tree의 상위 헤더로 나타납니다.</li>
-</ul>
-<p>elements, one for each column. Each column will appear as a header at the top of the tree.</p>
-<ul>
- <li>tree body는 tree에 포함되거나 <code><a href="ko/XUL/treechildren">treechildren</a></code> 태그로 만든 데이터를 말합니다.</li>
-</ul>
-<p>The tree is unique in that the body of the tree consists only of a single widget which draws all of the data in the tree. This contrasts with the listbox, where individual <code><a href="ko/XUL/listitem">listitem</a></code> and <code><a href="ko/XUL/listcell">listcell</a></code> tags are used to specify the rows in the listbox. In a tree, all of the data to be displayed is supplied by a separate object, called a tree view. When it comes time to display a cell, the tree widget will call out to this tree view to determine what to display, which in turn will be drawn by the tree. The tree is smart enough to only ask for information from the view for those rows that need to be displayed. This allows the view to be optimized such that it only needs to load the data for displayed content. For instance, a tree might have thousands of rows, yet most of them will be scrolled off the border of the tree, hidden from view. This means that the tree is scalable to any number of rows without any performance problems. Of course, this is independant of the performance of the view object itself.</p>
-<p>A tree view is an object which implements the <a href="ko/NsITreeView">nsITreeView</a> interface. This interface contains thirty properties and functions which you may implement. These functions will be called by the tree as necessary to retrieve data and state about the tree. For instance, the <code>getCellText()</code> function will be called to get the label for a particular cell in the tree.</p>
-<p>An advantage of using a tree view is that it allows the view to store the data in a manner which is more suitable for the data, or to load the data on demand as rows are displayed. This allows more flexibility when using trees.</p>
-<p>Naturally, having to implement a tree view with thirty or so properties and methods for every tree can be very cumbersome, especially for simple trees. Fortunately, XUL provides a couple of built-in view implementations which do most of the hard work for you. For most trees, especially when you first start to use trees, you will use one of these built-in types. However, you can create a view entirely from scratch if necessary. If you do, you might store the data in an <a href="ko/A_re-introduction_to_JavaScript#Arrays">array</a> or JavaScript data structure, or load the data from an XML file.</p>
-<p>Since the entire body of the tree is a single widget, you can't change the style of individual rows or cells in the normal way. This is because there are no elements that display the individual cells, like there is with the <a href="ko/XUL_Tutorial/List_Controls#Multi-Column_List_Boxes">listbox</a>. Instead, all drawing is done by the tree body using data supplied by the view. This is an important point and many XUL developers have trouble understanding this aspect. To modify the appearance of a tree cell, the view must instead associate a set of keywords for a row and cell. A special CSS syntax is used which styles components of the tree body with those keywords. In a sense, it is somewhat like using CSS classes. Tree styling will be discussed in detail in a <a href="ko/XUL_Tutorial/Styling_a_Tree">later section</a>.</p>
-<h3 id="Tree_.EC.9A.94.EC.86.8C" name="Tree_.EC.9A.94.EC.86.8C">Tree 요소</h3>
-<p>Trees can be created with the <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tree" title="tree">tree</a></code></code> element, which is described in the following sections. There are also two elements used to define the columns to be displayed in the tree.</p>
-<dl>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/tree" title="tree">tree</a></code></dt>
- <dd>
- This is the outer element of a tree.</dd>
-</dl>
-<dl>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/treecols" title="treecols">treecols</a></code></dt>
- <dd>
- This element is a placeholder for a set of <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code></code> elements.</dd>
-</dl>
-<dl>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code></dt>
- <dd>
- This is used to declare a column of the tree. By using this element, you can specify additional information about how the data in the columns are sorted and if the user can resize the columns. You should always place an <code><a href="/ko/XUL/Attribute/id" title="ko/XUL/Attribute/id">id</a></code> attribute on a column, as Mozilla uses the ids to identify the columns when rearranging and hiding them. This is no longer required in Mozilla 1.8 and later, but it is still a good idea to use ids on columns.</dd>
-</dl>
-<dl>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/treechildren" title="treechildren">treechildren</a></code></dt>
- <dd>
- This contains the main body of the tree where the individual rows of data will be displayed.</dd>
-</dl>
-<h5 id=".EB.91.90.EA.B0.9C_.EC.B9.BC.EB.9F.BC.EC.9D.84_.EA.B0.80.EC.A7.84_.ED.8A.B8.EB.A6.AC" name=".EB.91.90.EA.B0.9C_.EC.B9.BC.EB.9F.BC.EC.9D.84_.EA.B0.80.EC.A7.84_.ED.8A.B8.EB.A6.AC">두개 칼럼을 가진 트리</h5>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_trees_1.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_trees_1.xul">View</a></p>
-<pre>&lt;tree flex="1"&gt;
-
- &lt;treecols&gt;
- &lt;treecol id="nameColumn" label="Name" flex="1"/&gt;
- &lt;treecol id="addressColumn" label="Address" flex="2"/&gt;
- &lt;/treecols&gt;
-
- &lt;treechildren/&gt;
-
-&lt;/tree&gt;
-</pre>
-<p>First, the entire table is surrounded with a <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tree" title="tree">tree</a></code></code> element. This declares an element that is used as a table or tree. As with HTML tables, the data in a tree is always organized into rows. The columns are specified using the <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treecols" title="treecols">treecols</a></code></code> tag.</p>
-<p>You may place as many columns as you wish in a tree. As with <a href="/ko/XUL_Tutorial/List_Controls" title="ko/XUL_Tutorial/List_Controls">listboxes</a>, a header row will appear with column labels. A drop-down menu will appear in the upper-right corner of the tree, which the user may use to show and hide individual columns. Each column is created with a <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code></code> element. You can set the header label using the <code>label</code> attribute. You may also want to make the columns flexible if your tree is flexible, so that the columns stretch as the tree does. In this example, the second column will be approximately twice as wide as the first column. All of the columns should be placed directly inside a <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treecols" title="treecols">treecols</a></code></code> element.</p>
-<p>In this case we haven't specified a view to supply the tree's data, so we'll only see column headers and an empty tree body. You may have to resize the window to see anything since there isn't any data to display. Since the tree has been marked as flexible, the body will stretch to fit the available space. Making a tree flexible is quite commonly done, as it is often the case that the data in the tree is the most significant information displayed, so it makes sense to make the tree grow to fit. However, you may specify a specific number of rows to appear in a tree by setting the <code><code id="a-rows"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/rows">rows</a></code></code> attribute on the <code><code><a href="/ko/docs/Mozilla/Tech/XUL/tree" title="tree">tree</a></code></code> element. This attribute specifies how many rows are displayed in the user interface, not how many rows of data there are. The total number of rows is supplied by the tree view. If there are more rows of data in the tree, a scrollbar will appear to allow the user to see the rest of them. If you don't specify the <code><code id="a-rows"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/rows">rows</a></code></code> attribute, the default value is 0, which means that none of the rows will appear. In this case, you would make the tree flexible. If your tree is flexible, it doesn't need a <code><code id="a-rows"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/rows">rows</a></code></code> attribute since it will grow to fit the available space.</p>
-<h3 id="The_Content_Tree_View" name="The_Content_Tree_View">The Content Tree View</h3>
-<p>Having said that the data to be displayed in a tree comes from a view and not from XUL tags, there happens to be a built-in tree view which gets its data from XUL tags. This may be a bit confusing, but essentially, one of the built-in tree views uses a set of tags which can be used to specify information about the data in the tree. The following tags are used:</p>
-<dl>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/treeitem" title="treeitem">treeitem</a></code></dt>
- <dd>
- This contains a single parent row and all its descendants. This element also serves as the item which can be selected by the user. The treeitem tag would go around the entire row so that it is selectable as a whole.</dd>
-</dl>
-<dl>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/treerow" title="treerow">treerow</a></code></dt>
- <dd>
- A single row in the tree, which should be placed inside a <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treeitem" title="treeitem">treeitem</a></code></code> tag.</dd>
-</dl>
-<dl>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XUL/treecell" title="treecell">treecell</a></code></dt>
- <dd>
- A single cell in a tree. This element would go inside a treerow element.</dd>
-</dl>
-<p>Conveniently, these tags may be placed directly inside the <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treechildren" title="treechildren">treechildren</a></code></code> tag, nested in the order above. The tags define the data to be displayed in the tree body. In this case, the tree uses the built-in tree view, called a content tree view, which uses the labels and values specified on these elements as the data for the tree. When the tree needs to display a row, the tree asks the content tree view for a cell's label by calling the view's getCellText function, which in turn gets the data from the label of the appropriate <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treecell" title="treecell">treecell</a></code></code>.</p>
-<p>However, the three elements listed above are not displayed directly. They are used only as the source for the data for the view. Thus, only a handful of attributes apply to the <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treeitem" title="treeitem">treeitem</a></code></code> and related elements. For instance, you cannot change the appearance of the tree rows using the <code><code id="a-style"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/style">style</a></code></code> attribute or with other CSS properties and the box related features such as flexibility and orientation cannot be used.</p>
-<p>In fact, apart from some tree specific attributes, the only attributes that will have any effect will be the <code><code id="a-label"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/label">label</a></code></code> attribute to set a text label for a cell and the <code><code id="a-src"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/src">src</a></code></code> attribute to set an image. However, there are special ways of styling the tree and setting other features which we will see in later sections.</p>
-<p>Also, events do not get sent to <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treeitem" title="treeitem">treeitem</a></code></code> element and their children; instead they get sent to the <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treechildren" title="treechildren">treechildren</a></code></code> element.</p>
-<p>That the treeitems are unlike other XUL elements is a common source of confusion for XUL developers. Essentially, the tree content view is a view where the data for the cells is supplied from tags placed inside the tree. Naturally, if you are using a different kind of view, the data will be supplied from another source, and there won't be any <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treeitem" title="treeitem">treeitem</a></code></code> elements at all.</p>
-<p>Let's start by looking at how to create a simple tree with multiple columns using the tree content view. This could be used to create a list of mail messages. There might be multiple columns, such as the sender and the subject.</p>
-<h4 id="treechildren_.EC.98.88.EC.A0.9C" name="treechildren_.EC.98.88.EC.A0.9C"><code>treechildren</code> 예제</h4>
-<p><a href="https://developer.mozilla.org/samples/xultu/examples/ex_trees_2.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/ex_trees_2.xul">View</a></p>
-<div class="float-right">
- <img alt="Image:trees1.png"></div>
-<pre>&lt;tree flex="1"&gt;
-
- &lt;treecols&gt;
- &lt;treecol id="sender" label="Sender" flex="1"/&gt;
- &lt;treecol id="subject" label="Subject" flex="2"/&gt;
- &lt;/treecols&gt;
-
- &lt;treechildren&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="joe@somewhere.com"/&gt;
- &lt;treecell label="Top secret plans"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="mel@whereever.com"/&gt;
- &lt;treecell label="Let's do lunch"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
-
-&lt;/tree&gt;
-</pre>
-<p>그림에서 보듯이, 두개의 자료 열을 가진 tree가 만들어졌습니다.</p>
-<p>이 tree는 두개의 열을 가지고 있고, 이 중 두번째는 첫번째보다 더많은 공간을 차지하게 되어있습니다. 이 경우 해당 열에 flex 속성을 줄 것입니다. CSS의 <code><code id="a-width"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/width">width</a></code></code> 속성으로 넓이값을 줄 수도 있습니다. tree에 있는 열의 숫자만큼 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treecol" title="treecol">treecol</a></code></code> 요소를 포함시켜야 한다. 그렇지않으면 엉뚱한 일이 발생합니다.</p>
-<p><br>
- 머릿말 행(header row)은 자동으로 만들어집니다. 오른쪽 위에 있는 버튼은 해당 열을 숨기고 감출 수 있습니다. 이 버튼을 숨기고 싶다면 <code><code id="a-hidecolumnpicker"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/hidecolumnpicker">hidecolumnpicker</a></code></code> 속성을 tree에 넣거나 true 값을 주면 됩니다. 각 열에 id 속성을 설정했는 지 또는 행의 숨김과 보기가 작동하는 지를 확인하도록 합니다.</p>
-<p>Make sure that you set an <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> attribute on each column or the hiding and showing of columns will not work in all versions of Mozilla.</p>
-<p>The <code>treechildren</code> element surrounds all of the rows. Inside the body are individual rows, which may in turn contain other rows. For a simpler tree, each row is created with the <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treeitem" title="treeitem">treeitem</a></code></code> and <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treerow" title="treerow">treerow</a></code></code> elements. The <code>treerow</code> element surrounds all of the cells in a single row, while a <code>treeitem</code> element would surround a row and all of its children. Trees with nested rows are described in the next section.</p>
-<p>Inside the rows, you will put individual tree cells. These are created using the <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treecell" title="treecell">treecell</a></code></code> element. You can set the text for the cell using the <code>label</code> attribute. The first <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treecell" title="treecell">treecell</a></code></code> in a row determines the content that will appear in the first column, the second <code><code><a href="/ko/docs/Mozilla/Tech/XUL/treecell" title="treecell">treecell</a></code></code> determines the content that will appear in the second column, and so on.</p>
-<p><br>
- 사용자는 마우스로 항목을 클릭하거나 키보드를 사용해서, treeitem을 선택할 수 있습니다. Shift 또는 Control 키를 누른 상태에서 다른 행을 클릭해서 다중 항목을 선택할 수 있습니다. 다중선택을 사용 못하게 하려면, tree에 <code><code id="a-seltype"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/seltype">seltype</a></code></code> 속성을 넣고, 값을 <code>single</code>로 합니다. 이렇게하면, 한번에 한 행만 선택할 수 있습니다.</p>
-<div class="highlight">
- <h4 id=".EC.B0.BE.EC.9D.80_.ED.8C.8C.EC.9D.BC.EC.97.90.EC.84.9C_tree_.EC.B6.94.EA.B0.80" name=".EC.B0.BE.EC.9D.80_.ED.8C.8C.EC.9D.BC.EC.97.90.EC.84.9C_tree_.EC.B6.94.EA.B0.80">찾은 파일에서 tree 추가</h4>
- <p>검색결과가 표시되도록 파일찾기(find files) 창에 tree를 추가해보자. 다음 코드는 iframe에 추가해야 한다. tree는 treeview를 사용합니다. 아래 코드는 <a href="ko/XUL_Tutorial/Content_Panels#iframe_example">iframe</a>에 추가할 수 있습니다.</p>
- <pre class="eval"><span class="highlightred">&lt;tree flex="1"&gt;
- &lt;treecols&gt;
- &lt;treecol id="name" label="Filename" flex="1"/&gt;
- &lt;treecol id="location" label="Location" flex="2"/&gt;
- &lt;treecol id="size" label="Size" flex="1"/&gt;
- &lt;/treecols&gt;
-
- &lt;treechildren&gt;
- &lt;treeitem&gt;
- &lt;treerow&gt;
- &lt;treecell label="mozilla"/&gt;
- &lt;treecell label="/usr/local"/&gt;
- &lt;treecell label="2520 bytes"/&gt;
- &lt;/treerow&gt;
- &lt;/treeitem&gt;
- &lt;/treechildren&gt;
-&lt;/tree&gt;</span>
-
-&lt;splitter collapse="before" resizeafter="grow"/&gt;
-</pre>
- <p>파일명(filename), 위치(location) 그리고 파일크기(file size)라는 3개의 행을 가진 tree를 추가한 것입니다. 두번째 열은 더 큰 flex(flex="2")값을 가지고 있기 때문에 넓이가 2배가 됩니다. 하나의 행이 추가되었는 데, 하나의 행을 가진 표가 어떤 모습인지 설명하기 위한 것입니다. 실제 마무리 단계에서는, 검색했을 경우 해당 열은 스크립트에 의해 추가될 것입니다.</p>
- <p>지금까지 예제는 <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-trees.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-trees.xul">View</a>에서 보실 수 있습니다.</p>
-</div>
-<p><br>
- 다음 장에서는 <a href="ko/XUL_Tutorial/More_Tree_Features">고급 tree 기능</a>에 대해 알아 보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:XPCOM_Examples" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:More_Tree_Features">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/using_spacers/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/using_spacers/index.html
deleted file mode 100644
index 34128c0e57..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/using_spacers/index.html
+++ /dev/null
@@ -1,112 +0,0 @@
----
-title: Using Spacers
-slug: Mozilla/Tech/XUL/XUL_Tutorial/Using_Spacers
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/Using_Spacers
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Adding_HTML_Elements" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:More_Button_Features">다음 »</a></p>
-</div><p></p>
-<p>이 단원에는 우리가 만든 요소들 사이에 여백을 넣는 방법을 알아볼 것입니다.</p>
-<h3 id=".EC.97.AC.EB.B0.B1.28spacer.29_.EB.84.A3.EA.B8.B0" name=".EC.97.AC.EB.B0.B1.28spacer.29_.EB.84.A3.EA.B8.B0">여백(spacer) 넣기</h3>
-<p>사용자 인터페이스를 개발하는데 있어서의 문제점 중 하나는 사용자마다 서로 다른 화면 장치를 가진다는 것입니다. 어떤 사용자는 고해상도에 큰 화면을 가지고 있으며, 또 다른 사용자는 저해상도를 가지고 있을 수 있습니다. 더군다나, 다른 플랫폼은 사용자 인터페이스에 특별한 요구조건을 가지고 있을 수 있습니다. 다중 언어를 지원할 경우, 어떤 언어에 사용된 텍스트는 다른 언어보다 더 많은 공간이 필요할지도 모릅니다.</p>
-<p>다중 플랫폼과 언어를 지원해야 하는 응용프로그램은 이를 위해 많은 여백을 가지는 창 배치를 합니다. 일부 플랫폼과 사용자인터페이스 툴킷은 사용자의 요구에 맞게 크기 조절과 위치 설정을 잘 처리하는 구성요소를 제공합니다. (예를 들어, 자바에서는 레이아웃 관리자를 사용합니다.)</p>
-<p>XUL은 요소의 위치와 크기 재설정을 자동으로 처리할 수 있는 기능을 제공하고 있습니다. 앞서 본것 처럼, 파일 찾기 창은 내부 요소 크기에 맞게 표시되었습니다. 우리가 새로운 요소를 추가할 때마다 창 크기는 더욱 커졌습니다.</p>
-<p>XUL은 '상자 모델(Box Model)'이라고 하는 레이아웃 시스템을 사용합니다. 이에 대해서는 <a href="ko/XUL_Tutorial/The_Box_Model">다음 단원</a>에서 언급할텐데, 이는 기본적으로 창을 요소를 포함한 일련의 상자로 나눌 수 있게 해줍니다. 상자는 사용자가 정의한 사양에 근거하여 위치와 크기를 조절하게 된다. 현재로써는, <code><code><a href="/ko/docs/Mozilla/Tech/XUL/window" title="window">window</a></code></code> 요소가 상자 형식이라는 것만 알도록 하자.</p>
-<p>상자에 대한 세부 내용을 다루기 전에, 레이아웃에 유용한 또 다른 XUL 요소인 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/spacer" title="spacer">spacer</a></code></code>를 소개할 것입니다. 여백(spacer)는 매우 단순하고 한가지 속성만을 필요로 하는데, 곧 설명하겠습니다. 가장 단순한 여백(spacer)은 다음과 같습니다.</p>
-<pre class="eval">&lt;spacer flex="1"/&gt;
-</pre>
-<p><code><code><a href="/ko/docs/Mozilla/Tech/XUL/spacer" title="spacer">spacer</a></code></code>는 창에 공백을 넣는 데 사용됩니다. 공백 요소의 가장 유용한 점은 사용자가 창의 크기를 조절하는 것처럼 공백 자체가 늘어나거나 줄어들 수 있다는 것입니다. 창의 크기와 상관없이 버튼을 창의 오른쪽 또는 하단에 두면서 오른쪽 또는 하단 모서리에 고정시키는 것이라고 보면 됩니다. 앞으로 보겠지만, 수많은 레이아웃 효과를 주기 위해서 여러개의 공백 요소를 사용할 수 있습니다.</p>
-<p>위의 구문에서, 공백 요소는 <code><code id="a-flex"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/flex">flex</a></code></code>라는 한 가지 속성을 가지고 있습니다. 이것은 공백의 유연성을 정의하는 데 사용됩니다. 위의 경우에서, 공백은 1이라는 flex를 가집니다. 이것은 공백 요소를 신축성 있게 만들어 줍니다. 사용자가 직접 창 내부에 공백 요소를 위치시키면, 창의 크기가 변경됨에 따라 공백도 같이 늘어나게 됩니다.</p>
-<p>잠시 후 파일찾기 대화창에 공백 요소를 추가할 것입니다. 그 전에 먼저 현재 대화창의 크기를 조절할 때 어떤일이 일어나는지 보도록 하겠습니다.</p>
-<p><img alt="Image:springs1.jpg"></p>
-<p>파일찾기 창의 크기를 변경하더라도 포함된 요소들은 그것들의 원래 위치에 그대로 있는 것을 볼 수 있습니다. 창이 더 많은 공간을 가지게 되더라도, 이들 중 어느 것도 이동하거나 크기를 변경하지 않습니다. 글상자(text box)와 찾기(Fine) 버튼 사이에 공백 요소를 추가하였을 때는 어떻게 될지 보겠습니다.</p>
-<p><img alt="Image:springs2.jpg"></p>
-<p>공백 요소를 추가하고 창 크기를 조절하면, 공백이 여백을 채우기 위해 확장되는 것을 볼 수 있습니다. 버튼들은 밀려나 위치하게 됩니다.</p>
-<div class="highlight">
- <h5 id=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C" name=".EC.9A.B0.EB.A6.AC.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C">우리의 파일 찾기 예제</h5>
- <p>공백 요소를 추가한 코드는 아래와 같습니다. 해당 요소를 Find 버튼 앞에 삽입하세요.</p>
- <pre class="eval"><span class="highlightred">&lt;spacer flex="1"/&gt;</span>
-
-&lt;button id="find-button" label="Find"/&gt;
-</pre>
-</div>
-<h3 id=".EC.9C.A0.EC.97.B0.EC.84.B1.EC.97.90_.EB.8C.80.ED.95.9C_.EB.8D.94_.EB.A7.8E.EC.9D.80_.EA.B2.83.EB.93.A4" name=".EC.9C.A0.EC.97.B0.EC.84.B1.EC.97.90_.EB.8C.80.ED.95.9C_.EB.8D.94_.EB.A7.8E.EC.9D.80_.EA.B2.83.EB.93.A4">유연성에 대한 더 많은 것들</h3>
-<p>XUL은 요소에 적당한 넓이와 높이를 계산하여 여백을 추가하는 식으로 창에 있는 요소를 배치합니다. 사용자가 요소의 넓이와 높이에 대한 정보를 지정하지 않으면, 요소의 기본 크기는 내용에 의해 결정됩니다. 대화상자의 취소(Cancel) 버튼이 항상 기본 넓이로 설정되어 있어서 글에 맞출 수 있습니다. 매우 긴 라벨을 가진 버튼을 만든다면, 버튼의 기본 크기는 전체 라벨을 담기에 충분하게 커지게 됩니다. 글상자와 같은 다른 요소는 적당한 기본 크기를 선택한 것을 볼 수 있습니다.</p>
-<p><code>flex</code> 속성은 어떤 요소가 상자(이 경우, 창)에 맞출 수 있도록 크기 변경 여부를 지정하는 데 사용됩니다. 앞에서, 공백 요소에 적용된 flex 속성을 봤지만, 이 속성은 어떤 요소에도 적용할 수 있습니다. 예를 들어, 여러분은 아마 Find 버튼 크기가 수정되도록 하기를 원하실 수도 있습니다.</p>
-<p><img alt="Image:springs3.jpg"></p>
-<p>그림에서 보는 것처럼, 찾기(Find) 버튼에 flex 속성을 지정하면, 창의 크기가 바뀌었을 때 버튼의 크기도 변경됩니다. 공백 요소는 특별한 것이 아니고 그냥 숨겨진 버튼이라고 생각하시면 됩니다. 이것은 화면에서 출력되지 않을 뿐이지, 버튼과 동일한 방식으로 동작합니다.</p>
-<p>여러분이 위 그림에서 뭔가를 눈치챘을 지 모르겠습니다. 찾기(Find) 버튼의 크기가 커졌을 뿐만 아니라, 주 라벨과 버튼 사이에 약간의 여백이 나타난 것을 보실 수 있습니다. 당연한 것이지만, 이것은 앞에서 공백 요소를 넣은 것입니다. 공백 요소가 그 자체 크기를 조절한 것입니다. 자세히 보면, 변경되는 크기가 공백 요소와 버튼에 균등하게 나누어져 적용되는 것을 볼 수 있습니다. 여유 공간의 절반은 공백 요소에 나머지 절반은 버튼에 적용되는 것입니다.</p>
-<p>이런 효과를 보는 이유는 공백 요소와 찾기(Find) 버튼 모두 flex 속성을 가지고 있기 때문입니다. 둘 다 <code>flex</code>을 가지기 때문에, 버튼과 공백 요소 모두 균일하게 크기를 변경한 것입니다.</p>
-<p>만일 요소를 어떤 요소를 다른 것에 비해 두배 크기로 적용하려면 어떻게 할까? 그렇게 하려면 <code>flex</code> 속성값을 더 높은 숫자로 쓰면 됩니다. 요소의 flex 값은 비율을 나타냅니다. 만일 어떤 요소의 flex값이 1이고 다음 요소의 값은 2라면, 후자는 첫 번째의 두배 비율로 커지게 됩니다. 사실, flex 값이 2라는 것은 flex가 1인 요소 2개 가지고 있다고 말하는 것과 같습니다.</p>
-<p><code>flex</code> 속성은 실제 크기를 나타내기 위해 사용되는 것이 아닙니다. 대신 그것은 포함하는 상자의 자식들 중간에 어떻게 빈 공간을 넣을지를 나타내는 것입니다. 우리는 다음 섹션에서 상자에 대해 알아볼 것입니다. 상자의 자식들의 기본 크기가 정해지면 유연성 값(flex)은 상자 내의 빈 공간을 나누는데 사용됩니다. 예를 들어 상자의 너비가 200픽셀이고 두 개의 유연한 버튼(flex값을 가진 버튼)을 포함한 경우, 첫 번째 버튼이 50픽셀이고 다음 버튼은 90픽셀이면, 남은 공간은 60픽셀입니다. 만일 버튼 모두의 flex값이 1이면 각 버튼의 너비가 30픽셀씩 추가되어 나눠집니다. 만일 두번째 버튼의 flex값이 2로 증가하면, 첫번째 버튼은 20픽셀의 남은 공간을 두번째 버튼은 40픽셀의 추가 공간을 할당받게 됩니다.</p>
-<p><code>flex</code> 속성은 어떠한 요소에도 포함될 수 있지만 XUL 상자에 바로 포함되어 있는 요소에서만 의미가 있습니다. 이것은 HTML 요소에도 <code>flex</code>를 넣을 수 있지만, 해당 요소가 비상자(non-box) 요소의 내부에 있다면 아무 효과도 일어나지 않는다는 것을 의미합니다.</p>
-<h5 id="Flex_.EC.98.88.EC.A0.9C" name="Flex_.EC.98.88.EC.A0.9C">Flex 예제</h5>
-<pre class="eval">예제 1:
- &lt;button label="Find" flex="1"/&gt;
- &lt;button label="Cancel" flex="1"/&gt;
-
-예제 2:
- &lt;button label="Find" flex="1"/&gt;
- &lt;button label="Cancel" flex="10"/&gt;
-
-예제 3:
- &lt;button label="Find" flex="2"/&gt;
- &lt;button label="Replace"/&gt;
- &lt;button label="Cancel" flex="4"/&gt;
-
-예제 4:
- &lt;button label="Find" flex="2"/&gt;
- &lt;button label="Replace" flex="2"/&gt;
- &lt;button label="Cancel" flex="3"/&gt;
-
-예제 5:
- &lt;html:div&gt;
- &lt;button label="Find" flex="2"/&gt;
- &lt;button label="Replace" flex="2"/&gt;
- &lt;/html:div&gt;
-
-예제 6:
- &lt;button label="Find" flex="145"/&gt;
- &lt;button label="Replace" flex="145"/&gt;
-</pre>
-<dl>
- <dt>
- 예제 1 </dt>
- <dd>
- 이 경우 유연성(flexibility)은 두 버튼에서 균등하게 나뉘어집니다. 두 버튼은 균등하게 크기를 변경하게 됩니다.</dd>
- <dt>
- 예제 2 </dt>
- <dd>
- 이 경우, 두 버튼은 커지긴 하지만, Cancel 버튼의 flex값이 Find 버튼의 flex값보다 10배 크기 때문에, 찾기(Find) 버튼은 항상 취소(Cancel)버튼의 크기 증가값의 1/10 크기만큼만 변하게 됩니다. 가능한 공간은 1만큼의 Find 버튼 영역과 10만큼의 Cancel 버튼 영역으로 나누어지게 됩니다.</dd>
- <dt>
- 예제 3 </dt>
- <dd>
- 버튼 중 2개만이 유연하도록 표시되어 있습니다. Replace 버튼은 절대 크기가 변하지 않을 것이고, 나머지는 변할 것입니다. 취소(Cancel) 버튼은 항상 찾기(Find) 버튼의 두 배만큼 커지는데 이는 flex 값이 두배이기 때문입니다.</dd>
- <dt>
- 예제 4 </dt>
- <dd>
- 이 경우, 3개 모두 유연함을 가지고 있습니다. 찾기(Find)와 바꾸기(Replace) 버튼은 항상 같은 크기이지만 취소(Cancel)은 약간은 더 크게 됩니다(정확히 말하면 50% 더 커집니다).</dd>
- <dt>
- 예제 5 </dt>
- <dd>
- 여기서는 두 개 버튼이 div 요소내에 있습니다. 이처럼 버튼이 상자내에 직접 사용되지 않은 경우에는 flex의 의미가 없어집니다. 이 경우에는 flex가 없는 것과 동일한 효과를 보이게 됩니다.</dd>
- <dt>
- 예제 6 </dt>
- <dd>
- 두 버튼의 flex 값이 모두 같기 때문에, 동일하게 변합니다. flex에 145 대신 1값을 적용하더라도 동일하게 동작할 것입니다. 이 경우에는 전혀 차이가 없습니다. 여러분은 가독성을 위해서 가능한 낮은 숫자를 사용할 것을 권장합니다.</dd>
-</dl>
-<p>버튼의 라벨과 최소 크기 같은 다른 요인들이 버튼의 실제 크기에 영향을 준다는 점을 반드시 명심하세요. 예를 들어 버튼에 포함된 라벨이 필요로 하는 공간보다 작게는 줄어들지는 않을 것입니다.</p>
-<p>flex값을 0으로 설정하는 것은 <code>flex</code> 속성을 사용하지 않은 것과 같은 효과를 나타냅니다. 이것은 해당 요소가 전혀 유연하지 않게 된다는 것을 의미합니다. 여러분은 때때로 flex 값을 백분률로 지정한 것을 볼 수도 있을 것입니다. 이것은 특별한 의미는 없고 백분률 기호(%)가 없는 것처럼 처리됩니다.</p>
-<p>여러분은 파일 찾기 대화상자를 수직으로 크기 조절을 했을 때 버튼의 크기가 자동적으로 창의 높이에 맞게 늘어나는 것을 보실 수 있을 것입니다. 이것은, 모든 버튼들은 내부적으로 수직 flex가 지정되어 있기 때문입니다. 다음 섹션에서는 이것을 어떻게 수정할 수 있는지에 대해 공부하겠습니다.</p>
-<div class="highlight">
- <h5 id=".EC.97.AC.ED.83.9C.EA.B9.8C.EC.A7.80.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C" name=".EC.97.AC.ED.83.9C.EA.B9.8C.EC.A7.80.EC.9D.98_.ED.8C.8C.EC.9D.BC_.EC.B0.BE.EA.B8.B0_.EC.98.88.EC.A0.9C">여태까지의 파일 찾기 예제</h5>
- <p><a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-springs.xul.txt">Source</a> <a href="https://developer.mozilla.org/samples/xultu/examples/findfile/findfile-springs.xul">View</a></p>
-</div>
-<p>다음에는 <a href="ko/XUL_Tutorial/More_Button_Features">버튼의 부가적인 기능들</a>에 대해 알아보겠습니다.</p>
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Adding_HTML_Elements" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:More_Button_Features">다음 »</a></p>
-</div><p></p>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/xpcom_examples/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/xpcom_examples/index.html
deleted file mode 100644
index 4b3eaea401..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/xpcom_examples/index.html
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: XPCOM Examples
-slug: Mozilla/Tech/XUL/XUL_Tutorial/XPCOM_Examples
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/XPCOM_Examples
----
-<p>
-</p><p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:XPCOM_Interfaces" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Trees">다음 »</a></p>
-</div>
-<p></p><p>본 단원에서는 몇가지 인터페이스와 함께 XPCOM를 이용하는 예제를 제공합니다.
-</p>
-<h3 id=".EC.B0.BD_.EA.B4.80.EB.A6.AC" name=".EC.B0.BD_.EA.B4.80.EB.A6.AC"> 창 관리 </h3>
-<div class="note">
-<p>본 예제에는 <a href="ko/XUL_Tutorial/Templates">이후 단원</a>에서 보게될 RDF 데이터소스에 대한 내용이 들어 있습니다. 따라서 이에 대한 지식이 없다면 넘어가도 괜찮습니다.
-</p>
-</div>
-<h4 id=".EC.B0.BD_.EB.A9.94.EB.89.B4_.EB.A7.8C.EB.93.A4.EA.B8.B0" name=".EC.B0.BD_.EB.A9.94.EB.89.B4_.EB.A7.8C.EB.93.A4.EA.B8.B0"> 창 메뉴 만들기 </h4>
-<p>The list of currently open Mozilla windows can be used as an <a href="ko/XUL_Tutorial/RDF_Datasources">RDF datasource</a>. This allows you to create a Window menu with a list of the currently open windows in the application. The datasource for this is <code>rdf:window-mediator</code>. We can use this as in the following example:
-</p><p><span id="Example_1"><a id="Example_1"></a><strong>Example 1</strong></span> : <a href="https://developer.mozilla.org/samples/xultu/examples/ex_xpcomex_1.xul.txt">Source</a>
-</p>
-<pre>&lt;toolbox&gt;
- &lt;menubar id="windowlist-menubar"&gt;
- &lt;menu label="Window"&gt;
- &lt;menupopup id="window-menu" datasources="rdf:window-mediator" ref="NC:WindowMediatorRoot"&gt;
- &lt;template&gt;
- &lt;rule&gt;
- &lt;menuitem uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;/rule&gt;
- &lt;/template&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-&lt;/toolbox&gt;
-</pre>
-<p>A Window menu will be created with a list of all the open windows. Try this example by opening a number of browser windows and you'll see that they are all listed on the menu.
-</p>
-<h4 id="Window_mediator_component" name="Window_mediator_component"> Window mediator component </h4>
-<p>This is fine for displaying a list of open windows, but we would like to enhance this so that clicking on the menu item will switch to that window. This is accomplished by using the <a class="external" href="http://xulplanet.com/references/xpcomref/comps/c_rdfdatasource1namewindowmediator.html">window mediator component</a>. It implements the interface nsIWindowDataSource. The code below shows how to get a component which implements it:
-</p>
-<pre>var wmdata = Components.classes["@mozilla.org/rdf/datasource;1?name=window-mediator"].getService();
-wmdata.QueryInterface(Components.interfaces.nsIWindowDataSource);
-</pre>
-<p>This code retrieves a window mediator data source component. The component used here is the same one that handles the window-mediator RDF datasource. You can also get this component through the RDF service, which is another service that manages RDF datasources.
-</p><p>The <a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIWindowDataSource.html">nsIWindowDataSource</a> interface has a function <code>getWindowForResource</code>, which can be used to get the window given a resource. In the earlier example, we generated the list of windows and added it to a menu via a template. The template generates an <code>id</code> attribute on each <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menuitem" title="menuitem">menuitem</a></code></code> element. The value of this attribute can be used as the resource. That means that in order to switch the window focus, we need to do the following:
-</p>
-<ol><li> Determine the element that the user clicked on.
-</li><li> Get the value of the <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> attribute from the element.
-</li><li> Pass this value to <code>getWindowForResource()</code> to get a window object.
-</li><li> Switch the focus to this window.
-</li></ol>
-<p>The example below shows how we might do this:
-</p>
-<pre>&lt;toolbox&gt;
- &lt;menubar id="windowlist-menubar"&gt;
- &lt;menu label="Window" oncommand="switchFocus(event.target);"&gt;
- &lt;menupopup id="window-menu" datasources="rdf:window-mediator" ref="NC:WindowMediatorRoot"&gt;
- &lt;template&gt;
- &lt;rule&gt;
- &lt;menuitem uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name"/&gt;
- &lt;/rule&gt;
- &lt;/template&gt;
- &lt;/menupopup&gt;
- &lt;/menu&gt;
- &lt;/menubar&gt;
-&lt;/toolbox&gt;
-
-&lt;script&gt;
-function switchFocus(elem)
-{
- var mediator = Components.classes["@mozilla.org/rdf/datasource;1?name=window-mediator"].getService();
- mediator.QueryInterface(Components.interfaces.nsIWindowDataSource);
-
- var resource = elem.getAttribute('id');
- switchwindow = mediator.getWindowForResource(resource);
-
- if (switchwindow){
- switchwindow.focus();
- }
-}
-&lt;/script&gt;
-</pre>
-<p>A command handler was added to the menu element which calls the function switchFocus() with a parameter of the element that was selected from the menu. The function switchFocus():
-</p>
-<ul><li> first gets a reference to a component which implements the window mediator interface. </li><li> Next, we get the <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> attribute for the element. We can use the value of the <code><code id="a-id"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/id">id</a></code></code> attribute as the resource. </li><li> The function <code>getWindowForResource()</code> takes the resource and returns a window that matches it. This window, stored in the <code>switchwindow</code> variable, is the same as the JavaScript window object. </li><li> This means that you can call any of the functions provided by it, one of which is the <code><span id="m-focus"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/focus">focus()</a></code></span></code> function.
-</li></ul>
-<h3 id=".EC.BF.A0.EA.B8.B0.28cookies.29" name=".EC.BF.A0.EA.B8.B0.28cookies.29"> 쿠기(cookies) </h3>
-<p>다음으로 브라우저에 저장된 쿠키 목록을 가져와 보겠습니다. 쿠키 서비스는 다양한 목적으로 사용될 수 있습니다. 쿠키 서비스는 <code><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsICookieManager.html">nsICookieManager</a></code> 인터페이스를 구현하고 있으며, 저장된 모든 쿠키를 열거하는데 사용할 수 있습니다. 다음은 MozillaZine에서 설정된 모든 쿠키의 이름을 메뉴 목록에 출력하는 예제입니다.
-</p>
-<pre>&lt;script&gt;
-
-function getCookies()
-{
- var menu = document.getElementById("cookieMenu");
- menu.removeAllItems();
-
- var cookieManager = Components.classes["@mozilla.org/cookiemanager;1"]
- .getService(Components.interfaces.nsICookieManager);
-
- var iter = cookieManager.enumerator;
- while (iter.hasMoreElements()){
- var cookie = iter.getNext();
- if (cookie instanceof Components.interfaces.nsICookie){
- if (cookie.host == "www.mozillazine.org")
- menu.appendItem(cookie.name,cookie.value);
- }
- }
-}
-&lt;/script&gt;
-
-&lt;hbox&gt;
- &lt;menulist id="cookieMenu" onpopupshowing="getCookies();"/&gt;
-&lt;/hbox&gt;
-</pre>
-<p><br>
-getCookies() 함수는 메뉴가 열릴때마다 호출되는데, 이는 <code><code><a href="/ko/docs/Mozilla/Tech/XUL/menulist" title="menulist">menulist</a></code></code> 요소의 <code><code id="a-onpopupshowing"><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Attribute/onpopupshowing">onpopupshowing</a></code></code> 속성에 지정되어 있습니다. getCookies() 함수의 처음 두줄은 menulist를 가져와서 현재 메뉴에 있는 모든 항목을 삭제하는 것입니다. 이것은 getCookies() 함수가 메뉴가 열릴때마다 호출되고, 매번 이전 항목이 남아있지 않아야 하기 때문입니다.
-</p><p>다음은 쿠키 관리자에 대한 참조를 받아옵니다. 쿠키 관리자에는 <code><a href="ko/NsISimpleEnumerator">nsISimpleEnumerator</a></code> 인터페이스를 구현하는 객체를 반환하는 <code>enumerator</code> 메소드가 있습니다. 이 메소드는 모든 쿠키별로 반복(iteratee)하기 위해 사용됩니다. 해당 인터페이스(nsISimpleEnumerator)에는 <code>hasMoreElements()</code> 메소드가 있으며 마지막 쿠키에 도달하기 전까지는 true를 반환합니다. <code>getNext()</code> 메소드는 쿠키를 가져온 후 열거자(enumerator)의 인덱스를 다음 쿠키로 이동합니다. <code>enumerator</code>는 범용 객체를 반환하기 때문에, 사용하기 전에 QueryInterface() 함수로 <code><a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsICookie.html">nsICookie</a></code> 인터페이스를 얻어와야 합니다. 예제에서는 <code>instanceof</code> 연산자를 사용하였습니다.
-</p><p>마지막으로 메뉴에 쿠키를 추가하며, 이를 위해 쿠키의 호스트, 이름, 값이 사용되었습니다. 메뉴에는 <code><span id="m-appendItem"><code><a href="https://developer.mozilla.org/ko/docs/Mozilla/Tech/XUL/Method/appendItem">appendItem()</a></code></span></code> 함수가 있으며, 이 함수는 주어진 라벨과 값으로 메뉴 항목을 추가하는데 사용됩니다.
-</p>
-<h3 id=".EB.98.90_.EB.B3.BC.EA.B3.B3" name=".EB.98.90_.EB.B3.BC.EA.B3.B3"> 또 볼곳 </h3>
-<p>아래에서 좀더 많은 예제를 볼 수 있습니다.
-</p>
-<ul><li> <a href="ko/Code_snippets">Code snippets</a>
-</li><li> <a class=" external" href="http://kb.mozillazine.org/Category:XPCOM_example_code" rel="freelink">http://kb.mozillazine.org/Category:XPCOM_example_code</a>
-</li></ul>
-<p>다음에는 <a href="ko/XUL_Tutorial/Trees">트리의 작성방법</a>에 대해 알아보겠습니다.
-</p><p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:XPCOM_Interfaces" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:Trees">다음 »</a></p>
-</div>
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/xpcom_interfaces/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/xpcom_interfaces/index.html
deleted file mode 100644
index 135628bf09..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/xpcom_interfaces/index.html
+++ /dev/null
@@ -1,187 +0,0 @@
----
-title: XPCOM Interfaces
-slug: Mozilla/Tech/XUL/XUL_Tutorial/XPCOM_Interfaces
-tags:
- - XPConnect
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/XPCOM_Interfaces
----
-<p> </p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Box_Objects" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:XPCOM_Examples">다음 »</a></p>
-</div><p></p>
-
-<p>이번 단원에서는, Mozilla가 사용하는 객체 시스템인 <a href="ko/XPCOM">XPCOM</a> (Cross-platform Component Object Model)에 대해 간단히 알아보겠습니다.</p>
-
-<h3 id=".EB.84.A4.EC.9D.B4.ED.8B.B0.EB.B8.8C_.EA.B0.9D.EC.B2.B4_.ED.98.B8.EC.B6.9C.ED.95.98.EA.B8.B0" name=".EB.84.A4.EC.9D.B4.ED.8B.B0.EB.B8.8C_.EA.B0.9D.EC.B2.B4_.ED.98.B8.EC.B6.9C.ED.95.98.EA.B8.B0">네이티브 객체 호출하기</h3>
-
-<p>우리는 XUL을 사용해서 복잡한 사용자 인터페이스를 작성할 수 있습니다. 또한, 인터페이스를 변경하고 어떤 작업을 수행하는 스크립트를 붙일 수도 있습니다. 그러나 아직도 JavaScript를 이용해서 직접적으로 수행할 수 없는 많은 것들이 존재합니다. 예를 들어, 메일 응용프로그램을 작성하고자 한다면, 메일 서버에 접속해서 메일을 보내거나 받을 수 있는 스크립트를 작성해야 할 것입니다. 그러나 JavaScript로는 이러한 것들을 할 수 없습니다.</p>
-
-<p>이러한 기능을 처리할 수 있는 유일한 방법은 메일을 주고 받을 수 있는 네이티브(native) 코드를 작성하는 것입니다. 또한 작성된 네이티브 코드를 스크립트에서 손쉽게 호출할 수 있는 방법도 있어야 할 것입니다. Mozilla는 <a href="ko/XPCOM">XPCOM</a> (Cross-platform Component Object Model)을 사용해 이러한 것들을 수행할 수 있는 방법을 제공합니다.</p>
-
-<div class="note">
-<p>Mozilla에서는 많은 수의 XPCOM 컴포넌트와 인터페이스를 제공합니다. 따라서 대부분의 경우 직접 네이티브 코드를 작성할 필요는 없을 것입니다. 이번 단원을 학습한 후에 <a class="external" href="http://xulplanet.com/references/xpcomref/">XULPlanet XPCOM Reference</a>를 보면서 필요한 인터페이스를 찾을 수 있을 것입니다.</p>
-</div>
-
-<h3 id="XPCOM.EC.97.90_.EA.B4.80.ED.95.98.EC.97.AC" name="XPCOM.EC.97.90_.EA.B4.80.ED.95.98.EC.97.AC">XPCOM에 관하여</h3>
-
-<p>Mozilla는 각각의 고유한 작업을 수행하는 컴포넌트들의 집합으로 구성되어 있습니다. 예를 들어, 메뉴, 버튼, 요소들에 해당하는 컴포넌트가 있습니다. 컴포넌트들은 인터페이스라고 불리는 정의들로부터 구축됩니다.</p>
-
-<p>Mozilla에서의 인터페이스는 컴포넌트들에 의해 구현되어야 하는 기능들의 집합입니다. 컴포넌트는 무엇인가를 수행하는 Mozilla에 있는 코드를 구현한 것입니다. 각각의 컴포넌트는 인터페이스에 서술된데로 기능을 구현합니다. 단일 컴포넌트가 여러 개의 인터페이스를 구현할 수도 있고, 여러 개의 컴포넌트들이 하나의 인터페이스를 구현할 수도 있습니다.</p>
-
-<p>파일 컴포넌트를 예로 들어 보겠습니다. 인터페이스는 파일이 수행할 수 있는 함수와 속성을 서술하여 작성할 필요가 있을 것입니다. 파일에는 이름, 수정일자, 크기와 같은 속성과 파일의 이동, 복사, 삭제를 수행하는 함수가 포함되어야 할 것입니다.</p>
-
-<p>파일 인터페이스는 파일의 특성에 대해서만 서술하고, 이를 구현하지는 않습니다. 파일 인터페이스의 구현은 컴포넌트의 몫입니다. 컴포넌트는 파일의 이름과 날짜, 크기 등을 가져올 수 있는 코드를 가질 것입니다. 또한 파일을 복사하거나 이름을 바꾸는 코드도 있을 것입니다.</p>
-
-<p>컴포넌트가 인터페이스를 올바르게 구현했다면 어떻게 구현되는지에 대해서는 신경쓰지 않아도 됩니다. 물론 플랫폼에 따라 서로 다른 구현이 있을 것입니다. 파일 컴포넌트의 Windows와 Macintosh 버전은 꽤 틀릴 것입니다. 그러나 그들은 모두 동일한 인터페이스를 구현할 것입니다. 따라서 우리는 인터페이스를 통해 알게 된 함수로 접근함으로서 해당 컴포넌트를 사용할 수 있습니다.</p>
-
-<p>Mozilla에서 인터페이스 이름을 쉽게 알아볼 수 있도록, 보통 'nsI', 'mozI'가 이름 앞에 붙습니다. 예를 들어 <code>nsIAddressBook</code>는 주소록과 관련된 인터페이스이며, <code>nsISound</code>는 음악 파일을 플레이 하는데 사용되며, <code>nsILocalFile</code>는 파일을 사용하는 것과 관련된 인터페이스 입니다. Mozilla에 있는 많은 인터페이스에 대해서는 <a href="ko/Interfaces">인터페이스</a>를 참조하세요.</p>
-
-<p>XPCOM 컴포넌트는 대부분 네이티브 코드로 구현되어 있으며, 이는 JavaScript가 자체적으로는 하지 못하는 것들을 할 수 있다는 것을 의미합니다. 그러나 잠시 후 보시겠지만, 이를 호출할 수 있는 방법이 있습니다. 우리는 인터페이스에서 기술한데로 이를 구현한 컴포넌트에서 제공되는 어떤 함수도 호출할 수 있습니다. 예를 들어 어떤 컴포넌트를 가지고 있다면, 그것이 <code>nsISound</code> 인터페이스를 구현하는지 검사할 수 있으며, 그렇다면 그것을 통해 음악을 플레이 할 수 있습니다.</p>
-
-<p>스크립트에서 XPCOM을 호출하는 절차를 <a href="ko/XPConnect">XPConnect</a>라고 부르며, 이는 스크립트 객체를 네이티브 객체로 변환해주는 계층(layer)입니다.</p>
-
-<h3 id="XPCOM_.EA.B0.9D.EC.B2.B4_.EC.83.9D.EC.84.B1" name="XPCOM_.EA.B0.9D.EC.B2.B4_.EC.83.9D.EC.84.B1">XPCOM 객체 생성</h3>
-
-<p>XPCOM 컴포넌트를 호출하는데는 3가지 단계가 있습니다.</p>
-
-<ol>
- <li>컴포넌트를 얻는다.</li>
- <li>사용하고자 하는 인터페이스를 구현한 컴포넌트의 일부를 얻는다.</li>
- <li>필요한 함수를 호출한다.</li>
-</ol>
-
-<p>처음 두 단계만 실행하면, 마지막 단계는 필요시마다 반복할 수 있습니다. 우리가 파일 이름을 바꾼다고 합시다. 이를 위해 우리는 <code>nsILocalFile</code> 인터페이스를 사용할 수 있습니다. 첫번째 단계는 파일 컴포넌트를 얻어오는 것입니다. 두번째는 파일 컴포넌트에 질의해서 <code>nsILocalFile</code> 인터페이스를 구현하는 부분은 얻어오는 것입니다. 마지막으로 해당 인터페이스에서 제공하는 함수를 호출합니다. 이 인터페이스는 하나의 파일을 표현하는데 사용됩니다.</p>
-
-<p>우리는 인터페이스 이름이 'nsI'나 'mozI'로 시작하는 것을 자주 봤습니다. 그러나 컴포넌트는 URI와 같은 문자열을 사용해서 참조됩니다. Mozilla는 내부 레지스트리에 사용 가능한 모든 컴포넌트의 목록을 저장하고 있습니다. 사용자는 필요한 경우 새로운 컴포넌트를 설치할 수 있습니다. 이는 플러그인과 아주 비슷하게 동작합니다.</p>
-
-<p>Mozilla에서는 파일 컴포넌트를 제공하며, 이는 <code><a href="ko/NsILocalFile">nsILocalFile</a></code> 인터페이스를 구현합니다. 이 컴포넌트는 <code><a class="link-mailto" href="mailto:'@mozilla.org" rel="freelink">'@mozilla.org</a>/file/local;1'</code>로 참조될 수 있으며 이 문자열을 계약(contract)ID라고 부릅니다. 계약ID의 구문은 다음과 같습니다.</p>
-
-<pre class="eval">@&lt;internetdomain&gt;/module[/submodule[...]];&lt;version&gt;[?&lt;name&gt;=&lt;value&gt;[&amp;&lt;name&gt;=&lt;value&gt;[...]]]
-</pre>
-
-<p>다른 컴포넌트들도 이와 비슷한 방법으로 참조할 수 있습니다.</p>
-
-<p>컴포넌트의 계약ID는 컴포넌트를 얻기 위해 사용할 수 있으며, JavaScript 코드를 사용해 컴포넌트를 얻는 방법은 다음과 같습니다.</p>
-
-<pre>var aFile = Components.classes["@mozilla.org/file/local;1"].createInstance();
-</pre>
-
-<p>파일 컴포넌트를 얻어와<em>aFile</em> 변수에 저장하였습니다. 예제의 <code><a href="ko/Components_object">Components</a></code>는 컴포넌트와 관련된 함수를 제공하는 범용 객체를 참조합니다. 여기서 우리는 <code>classes</code> 속성으로부터 컴포넌트 클래스를 얻어옵니다. <code>classes</code> 속성은 사용할 수 있는 모든 컴포넌트를 가지고 있는 배열입니다. 다른 컴포넌트를 얻어오려면 대괄호 안에 있는 계약ID를 사용하고자 하는 컴포넌트의 ID로 변경하면 됩니다. 마지막으로 <code>createInstance()</code> 함수를 이용해 인스턴스를 생성하였습니다.</p>
-
-<p>여러분은 <code>createInstance()</code>함수의 반환값이, 컴포넌트가 존재하지 않는다는 것을 의미하는 null이 아닌지 확인하는게 좋습니다.</p>
-
-<p>그러나 이 시점에서 우리는 파일 컴포넌트 자체에 대한 참조만을 얻었을 뿐입니다. 컴포넌트 내의 함수를 호출하기 위해서는 컴포넌트의 인스턴스를 얻어야만 합니다. 이 경우에는 <code><a href="ko/NsILocalFile">nsILocalFile</a></code>로 다음의 두번째 줄에서 필요한 코드가 추가되어 있습니다.</p>
-
-<pre>var aFile = Components.classes["@mozilla.org/file/local;1"].createInstance();
-if (aFile) aFile.QueryInterface(Components.interfaces.nsILocalFile);
-</pre>
-
-<p><code>QueryInterface()</code> 는 모든 컴포넌트에서 제공되는 함수로, 해당 컴포넌트의 특정 인터페이스를 얻기 위해 사용됩니다. 이 함수는 얻고자 하는 인터페이스를 명시한 한 개의 인자를 받습니다. <code>Components</code> 객체의 <code>interfaces</code> 속성에는 해당 컴포넌트에서 사용 가능한 모든 인터페이스의 목록이 들어 있습니다. 여기서 우리는 <code>nsILocalFile</code> 인터페이스를 사용하고자 하므로, 이를 <code>QueryInterface()</code>의 인자로 넘겼습니다. 결과적으로 <code>aFile</code> 변수는 파일 컴포넌트에서 nsILocalFile 인터페이스를 구현하는 부분을 참조하게 됩니다.</p>
-
-<p>위의 JavaScript 코드는 아무 컴포넌트의 어떤 인터페이스에서도 사용할 수 있습니다. 코드의 컴포넌트 이름을 사용하고자 하는 컴포넌트와 인터페이스 이름으로 바꿔서 사용하면 됩니다. 또 당연히 변수 이름도 바꿀 수 있습니다. 예를 들어 사운드 인터페이스를 얻으려면 다음과 같이 수정하면 됩니다.</p>
-
-<pre>var sound = Components.classes["@mozilla.org/sound;1"].createInstance();
-if (sound) sound.QueryInterface(Components.interfaces.nsISound);
-</pre>
-
-<p>XPCOM 인터페이스는 다른 인터페이스로부터 상속될 수 있습니다. 다른 인터페이스로부터 상속된 인터페이스는 자신의 함수와 부모 인터페이스가 가진 모든 함수를 가지게 됩니다. 모든 인터페이스는 <code>nsISupports</code>라고 불리는 최상위 인터페이스에서 상속됩니다. 이 인터페이스에는 앞서 보았던 JavaScript를 지원하기 위한 목적인 <code>QueryInterface()</code>라는 한가지 함수만 있습니다. <code>nsISupports</code> 인터페이스가 모든 컴포넌트에 의해 구현되기 때문에, <code>QueryInterface()</code> 함수도 모든 컴포넌트에서 사용할 수 있는 것입니다.</p>
-
-<p>몇몇 컴포넌트들은 동일한 인터페이스를 구현할 수도 있습니다. 그러한 경우 보통은 어떤 클래스의 서브클래스들인 경우이겠지만, 꼭 그래야 하는것은 아닙니다. 아무 컴포넌트나 <code>nsILocalFile</code>의 기능을 구현할 수 있습니다. 또한 하나의 컴포넌트가 여러개의 인터페이스를 구현할 수도 있습니다. 이런 이유들 때문에 위와 같이 두 단계로 진행되는 것입니다.</p>
-
-<p>그러나 위의 코드를 자주 사용하기 때문에 다음과 같이 줄여서도 사용할 수 있습니다.</p>
-
-<pre>var aLocalFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
-</pre>
-
-<p>이 코드는 앞서의 두줄 짜리 코드와 동일한 일을 하는 한줄 짜리 코드입니다. 여기서는 앞서의 두 단계에 있었던 인스턴스를 생성한 후에 인터페이스를 얻기 위해 쿼리하는 부분이 제거되었습니다.</p>
-
-<p>만일 객체에 <code>QueryInterface()</code>를 호출하고 해당 객체에서 지원하지 않는 인터페이스를 요청하면 예외가 발생합니다. 어떤 컴포넌트에서 어떤 인터페이스가 지원되는지 확신이 없을 경우 이를 확인하기 위해 <code><a href="ko/Core_JavaScript_1.5_Reference/Operators/Special_Operators/instanceof_Operator">instanceof</a></code> 연산자를 사용할 수 있습니다.</p>
-
-<pre>var aFile = Components.classes["@mozilla.org/file/local;1"].createInstance();
-if (aFile instanceof Components.interfaces.nsILocalFile){
- // do something
-}
-</pre>
-
-<p>위 코드에서 <code>instanceof</code> 연산자는 aFile이 nsILocalFile 인터페이스를 구현하였다면 true를 반환합니다. 이것은 <code>QueryInterface()</code>를 호출하는 것에 대한 부작용이 있으며, 따라서 aFile은 이후에 유효해집니다.</p>
-
-<h3 id=".EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4.EC.9D.98_.ED.95.A8.EC.88.98_.ED.98.B8.EC.B6.9C" name=".EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4.EC.9D.98_.ED.95.A8.EC.88.98_.ED.98.B8.EC.B6.9C">인터페이스의 함수 호출</h3>
-
-<p>이제 우리는 nsILocalFile 인터페이스를 구현한 컴포넌트를 참조하는 객체를 가지고 있으므로, 이로부터 nsILocalFile의 함수를 호출할 수 있습니다. 아래의 표는 nsILocalFile 인터페이스에 있는 함수와 메소드의 일부를 보여주고 있습니다.</p>
-
-<dl>
- <dt>initWithPath </dt>
- <dd>이 메소드는 nsILocalFile에서 사용할 파일명과 경로를 초기화하는데 사용됩니다. 첫번째 인자는 '/usr/local/mozilla'와 같은 파일 경로이어야 합니다.</dd>
- <dt>leafName </dt>
- <dd>디렉토리 부분을 뺀 파일명.</dd>
- <dt>fileSize </dt>
- <dd>파일 크기.</dd>
- <dt>isDirectory() </dt>
- <dd>nsILocalFile이 디렉토리이며 true를 반환합니다.</dd>
- <dt>remove(recursive) </dt>
- <dd>파일을 삭제합니다. 만일 recursive 인자가 true이면 디렉토리와 이 안에 있는 모든 파일, 하위 디렉토리 모두 삭제됩니다.</dd>
- <dt>copyTo(directory,newname) </dt>
- <dd>파일을 다른 디렉토리로 복사하며, 선택적으로 파일명을 바꿀 수 있습니다. directory 인자는 파일이 복사될 디렉토리에 대한 nsILocalFile 객체이어야 합니다.</dd>
- <dt>moveTo(directory,newname) </dt>
- <dd>파일을 다른 디렉토리로 이동하거나 이름을 변경합니다. directory 인자는 파일이 이동할 대상 디렉토리에 대한 nsILocalFile 객체이어야 합니다.</dd>
-</dl>
-
-<p>파일을 삭제하기 위해서 먼저 해당 파일을 nsILocalFile에 할당해야 합니다. <code>initWithPath()</code> 메소드를 호출함으로서 어떤 파일인지를 알려줍니다. 이 속성에는 그냥 파일의 경로만 할당하세요. 다음으로 <code>remove()</code> 함수를 호출합니다. 이 함수는 재귀적으로 삭제할지를 나타내는 한개 인자만을 받습니다. 아래 코드는 이러한 두 단계를 보여줍니다.</p>
-
-<pre>var aFile = Components.classes["@mozilla.org/file/local;1"].createInstance();
-if (aFile instanceof Components.interfaces.nsILocalFile){
- aFile.initWithPath("/mozilla/testfile.txt");
- aFile.remove(false);
-}
-</pre>
-
-<p>이 코드는 /mozilla/testfile.txt 파일을 삭제할 것입니다. 임의의 이벤트 핸들러에 위 코드를 추가해서 실행해 보세요. 위의 파일명은 삭제하고자 하는 것으로 바꿔주어야 할 것입니다.</p>
-
-<p>위 표에 있는 함수들 중 copyTo()와 moveTo() 함수는 각각 파일을 복사하고 이동하기 위해 사용됩니다. 여기서 주의할 것은 이 함수들의 복사하거나 이동할 대상 디렉토리 인자가 문자열 값이 아닌 nsILocalFile 이어야 한다는 점입니다. 이것은 이 함수를 실행하려면 두 개의 파일 컴포넌트가 필요하다는 것을 의미합니다. 아래 예제는 어떻게 파일을 복사하는지를 보여줍니다.</p>
-
-<pre>function copyFile(sourcefile,destdir)
-{
- // get a component for the file to copy
- var aFile = Components.classes["@mozilla.org/file/local;1"]
- .createInstance(Components.interfaces.nsILocalFile);
- if (!aFile) return false;
-
- // get a component for the directory to copy to
- var aDir = Components.classes["@mozilla.org/file/local;1"]
- .createInstance(Components.interfaces.nsILocalFile);
- if (!aDir) return false;
-
- // next, assign URLs to the file components
- aFile.initWithPath(sourcefile);
- aDir.initWithPath(destdir);
-
- // finally, copy the file, without renaming it
- aFile.copyTo(aDir,null);
-}
-
-copyFile("/mozilla/testfile.txt","/etc");
-</pre>
-
-<h3 id="XPCOM_.EC.84.9C.EB.B9.84.EC.8A.A4" name="XPCOM_.EC.84.9C.EB.B9.84.EC.8A.A4">XPCOM 서비스</h3>
-
-<p>어떤 XPCOM 컴포넌트들은 서비스라 불리는 특별한 컴포넌트들입니다. 이것들은 꼭 하나만 존재해야 하기 때문에 인스턴스를 만들지 않습니다. 서비스는 전역 데이터를 획득 또는 지정하거나 다른 객체들에 대한 어떤 동작을 수행하기 위한 범용 함수를 제공합니다. 서비스 컴포넌트에 대한 참조를 얻어오기 위해서는 <code>createInstance()&lt;code&gt; 함수 대신 &lt;code&gt;getService()</code> 함수를 호출해야 합니다. 이것 이외에는 다른 컴포넌트들과 특별히 다른점은 없습니다.</p>
-
-<p>Mozilla에서 제공하는 서비스들 중 북마크 서비스가 이에 해당합니다. 이 서비스를 이용하면 현재 사용자의 북마크 목록에 북마크를 추가할 수 있습니다. 다음은 이에 대한 예입니다.</p>
-
-<pre>var bmarks = Components.classes["@mozilla.org/browser/bookmarks-service;1"].getService();
-bmarks.QueryInterface(Components.interfaces.nsIBookmarksService);
-bmarks.addBookmarkImmediately("http://www.mozilla.org","Mozilla",0,null);
-</pre>
-
-<p>먼저 "@mozilla.org/browser/bookmarks-service;1" 컴포넌트가 반환되고 이의 서비스가 <code>bmarks</code> 변수에 저장되었습니다. 우리는 nsIBookmarksService 인터페이스를 얻기 위해 <code>QueryInterface()</code>를 사용했습니다. 이 인터페이스에서 제공하는 <code>addBookmarkImmediately()</code> 함수는 북마크를 추가하기 위해 사용됩니다. 이 함수의 처음 두개의 인자는 북마크의 URL과 제목입니다. 세번째 인자는 북마크 유형으로 보통 0이며, 마지막 인자는 북마크될 문서의 문자 인코딩으로 null일 수 있습니다.</p>
-
-<p>다음에는 우리가 사용할 수 있는 <a href="ko/XUL_Tutorial/XPCOM_Examples">Mozilla에서 제공하는 몇가지 인터페이스</a>에 대해 알아보겠습니다.</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Box_Objects" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:XPCOM_Examples">다음 »</a></p>
-</div><p></p>
-
-<p></p>
diff --git a/files/ko/mozilla/tech/xul/xul_tutorial/xul_structure/index.html b/files/ko/mozilla/tech/xul/xul_tutorial/xul_structure/index.html
deleted file mode 100644
index 4f1326dc6a..0000000000
--- a/files/ko/mozilla/tech/xul/xul_tutorial/xul_structure/index.html
+++ /dev/null
@@ -1,166 +0,0 @@
----
-title: XUL Structure
-slug: Mozilla/Tech/XUL/XUL_Tutorial/XUL_Structure
-tags:
- - XUL
- - XUL_Tutorial
-translation_of: Archive/Mozilla/XUL/Tutorial/XUL_Structure
----
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Introduction" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:The_Chrome_URL">다음 »</a></p>
-</div><p></p>
-
-<p><br>
- 우리는 먼저 Mozilla에서 XUL의 작동 방식에 대해 알아볼 것 입니다.</p>
-
-<h3 id="XUL.EC.9D.98_.EC.9E.91.EB.8F.99_.EB.B0.A9.EC.8B.9D" name="XUL.EC.9D.98_.EC.9E.91.EB.8F.99_.EB.B0.A9.EC.8B.9D">XUL의 작동 방식</h3>
-
-<p>Mozilla에서 XUL은 HTML이나 다른 유형의 컨텐츠가 동작하는 것과 매우 비슷한 방법으로 동작합니다. 사용자가 브라우저의 주소 영역에 HTML 페이지의 URL을 입력하면, 브라우저는 해당 웹 사이트를 찾고 내용을 다운로드합니다. Mozilla의 렌더링 엔진은 HTML 소스 형태인 내용을 가져와서 <a href="ko/DOM">DOM</a>이라고 하는 문서 트리 구조로 변환합니다. 그 후 트리는 화면에 출력될 수 있는 객체 집합으로 변경됩니다. <a href="ko/CSS">CSS</a>, 이미지, 기타 다른 기술들이 출력을 제어하는데 사용됩니다. XUL도 동일한 방식으로 동작합니다.</p>
-
-<p>사실 Mozilla에서는 문서 형태가 HTML, XUL 혹은 <a href="ko/SVG">SVG</a> 인지 상관없이 동일한 내부 코드에 의해 작동됩니다. 이것은 동일한 CSS 속성을 HTML과 XUL 모두의 스타일에 사용할 수 있으며, 많은 기능들을 공유할 수 있다는 것을 의미합니다. 그러나 HTML에서의 폼(form)이나 XUL에서의 <a href="ko/XUL_Tutorial/Overlays">overlays</a>같이 고유한 것들도 존재합니다. XUL과 HTML은 동일한 방법으로 동작하므로 둘 다 로컬 파일 시스템, 웹 페이지, 확장 기능 혹은 독립형 <a href="ko/XULRunner">XULRunner</a> 응용프로그램을 통해 로드할 수 있습니다.</p>
-
-<p><code><span class="nowiki">http://localhost/~username/</span></code>과 같은 원격지의 컨텐츠는 문서 형태가 HTML이나 XUL 혹은 다른 형태인지에 상관없이 보안상의 이유로 컨텐츠가 수행할 수 있는 동작에 제한을 가지게 됩니다. 이러한 이유 때문에 Mozilla에서는 컨텐츠를 로컬에 설치하고 <strong><a href="ko/Chrome">chrome</a></strong> 시스템의 일부분으로 등록할 수 있는 방법을 제공하고 있습니다. 이는 <code><a class="external" rel="freelink">chrome://</a></code> URL이라고 불리는 특별한 URL 형식에 의해 가능합니다. Chrome URL을 사용하여 파일에 접근하게 되면, 해당 파일들은 로컬 파일이나 설정, 북마크 등에 접근할 수 있는 향상된 권한을 가지며, 또 다른 권한이 필요한 동작을 수행할 수 있습니다. 전자 인증서로 서명되거나 그러한 행위를 수행하도록 허가되지 않는다면, 당연히 웹 페이지들은 이러한 권한을 얻을 수 없습니다.</p>
-
-<p>이러한 <strong>chrome</strong> 꾸러미의 등록이 Firefox 확장 기능이 브라우저에 기능을 추가할 수 있는 방법입니다. 확장 기능은 XUL, 자바스크립트, 스타일시트, 이미지들을 단일 파일로 묶어 놓은 작은 꾸러미입니다. 이 파일은 ZIP 유틸리티를 이용하여 생성할 수 있습니다. 사용자가 꾸러미 파일을 다운로드 받으면, 컴퓨터에 확장 기능이 설치될 것입니다. 꾸러미는 브라우저의 XUL과 확장 기능의 XUL을 조합하는 <a href="ko/Overlay">overlay</a>라는 고유 기능을 사용하여 브라우저에 잡히게 됩니다. 사용자에게는 마치 확장 기능이 브라우저를 <strong>수정</strong>한것 처럼 보이겠지만 사실 모든 코드는 분리되어 있으며 확장 기능은 쉽게 설치 해제(uninstall)할 수 있습니다. 물론 등록된 꾸러미가 꼭 overlay를 사용해야 할 필요는 없습니다. Overlay를 사용하지 않는 꾸러미들은 메인 브라우저의 인터페이스를 통해서는 접근할 수 없지만, chrome URL을 이용해서 여전히 접근할 수 있습니다.</p>
-
-<p>독립형 XUL 응용프로그램들은 유사한 방법으로 XUL코드를 포함할 수 있지만, 당연히 확장기능처럼 별도로 설치되어야만 하는 것과는 달리 응용프로그램을 위한 XUL이 설치의 일부분에 포함되어야만 합니다. 그러나 이러한 XUL 코드가 응용프로그램이 UI를 출력할 수 있는 것과 같은 chrome 시스템에 등록될 것입니다.</p>
-
-<p>Mozilla 브라우저 자체는 XUL 파일, 자바스크립트, 스타일시트를 포함하는 꾸러미 집합이라는 것을 알 필요가 있습니다. 이러한 파일들은 chrome URL을 통해 접근 가능하고 보다 강화된 권한을 가지며 다른 꾸러미들처럼 동작합니다. 물론 브라우저는 대부분의 확장기능보다 더 크고 복잡합니다. 수 많은 다른 컴포넌트들뿐만 아니라 Firefox와 Thunderbird도 모두 XUL로 작성되어 있고 chrome URL을 통해 접근할 수 있습니다. 여러분은 이러한 꾸러미를 Firefox나 다른 XUL 응용 프로그램이 설치된 chrome 디렉토리에서 확인할 수 있습니다.</p>
-
-<p>Chrome URL은 항상 '<a class="external" rel="freelink">chrome://'로</a> 시작합니다. <span class="nowiki">'http://'</span> URL이 항상 HTTP를 사용해 접근하는 원격 웹 사이트를 참조하고, '<a class="external" rel="freelink">file://</a>' URL이 항상 로컬 파일을 참조하는 것과 마찬가지로 '<a class="external" rel="freelink">chrome://</a>' URL은 항상 설치된 꾸러미와 확장기능을 참조합니다. 다음 섹션에서 chrome URL의 구문에 대해 좀 더 자세히 알아 볼 것입니다. Chrome URL을 통해 컨텐츠에 접근할 때는 위에서 언급한 다른 종류의 URL이 갖지 못한 강화된 권환을 획득한다는 것에 유의하십시요. 예를 들어 HTTP URL은 특별한 권한을 가지고 있지 않으므로, 웹 페이지가 로컬 파일을 읽으려고 하면 오류가 발생할 것입니다. 그러나 chrome URL을 이용하여 로드된 파일은 제약 없이 파일을 읽을 수 있습니다.</p>
-
-<p>이러한 차이는 중요합니다. 이것은 사용자의 북마크를 읽는 것과 같이 웹 페이지상의 컨텐츠가 할 수 없는 것이 있다는 것을 의미합니다. 이러한 차이점은 출력되는 컨텐츠의 종류에 따른 것은 아니고 단지 사용된 URL의 종류에 따른 것입니다. 웹 사이트에 위치한 HTML과 XUL은 모두 특별한 퍼미션이 없지만, chrome URL을 통해 로드되면 강화된 퍼미션을 가지게 됩니다.</p>
-
-<p>만일 여러분이 웹사이트에서 XUL을 사용한다면, HTML 파일들을 웹 사이트에 올리것처럼 XUL 파일을 올리고 브라우저 <small><span class="nowiki">http://localhost/xul.php</span></small>에서 URL을 로드합니다. 여러분의 웹 서버가 XUL 파일을 <strong><code>application/vnd.mozilla.xul+xml</code></strong>의 컨텐츠 타입(PHP에서는 <code>header('content-type:application/vnd.mozilla.xul+xml');</code>)으로 보낼 수 있도록 설정되어 있는지 확인하세요. 이 컨텐츠 타입은 Mozilla가 HTML과 XUL을 구분하는데 사용됩니다. Mozilla는 파일 시스템을 통해 파일을 읽은 것이 아니면 파일 확장자를 사용하는 것은 아니지만, 모든 XUL 파일들에 대해 .xul 확장자를 사용하는 것이 좋습니다. 여러분은 여러분의 컴퓨터의 브라우저에서 열거나 파일 매니저에서 더블 클릭하여 XUL 파일을 로드할 수 있습니다.</p>
-
-<div class="note">원격 XUL은 기능상의 중대한 제약 조건을 가지는 것을 기억하세요.</div>
-
-<h4 id=".EB.AC.B8.EC.84.9C_.EC.9C.A0.ED.98.95:_HTML_XML_XUL_CSS" name=".EB.AC.B8.EC.84.9C_.EC.9C.A0.ED.98.95:_HTML_XML_XUL_CSS">문서 유형: HTML XML XUL CSS</h4>
-
-<p>Mozilla는 문서 유형들 간의 대부분의 기능들은 공유하지만 HTML과 XUL에 대해 완전히 다른 종류의 문서 객체(<a href="ko/DOM">DOM</a>)를 사용합니다. Mozilla에는 HTML, XML, XUL의 세 가지 종류의 주요 문서 유형이 존재합니다. 본질적으로 HTML 문서는 HTML 문서에 사용되고 XUL 문서는 XUL 문서에 XML 문서는 다른 종류의 XML 문서에 사용됩니다. XUL 역시 XML이기 때문에 XUL 문서는 좀 더 일반적인 XML 문서의 서브 타입입니다. 기능상의 사소한 차이점이 존재합니다. 예를 들어 HTML 페이지에서의 폼 컨트롤은 <code>document.forms</code> 속성을 통해 접근할 수 있는 반면, XUL은 HTML에서의 폼이 없기 때문에 이러한 속성은 XUL 문서에서는 사용할 수 없습니다. 비슷하게 overlayer나 template과 같은 XUL 고유 기능은 XUL문서에서만 가능합니다.</p>
-
-<p>이러한 문서간의 차이는 중요합니다. 문서 타입에 특정하지 않은 많은 XUL의 기능을 HTML이나 XML 문서에서도 사용할 수 있습니다. 그러나 다른 기능들은 올바른 유형의 문서를 필요로 합니다. 예를 들어 여러분은 XUL layout 타입은 XUL 문서 타입에 의존하지 않기 때문에 다른 문서에서도 사용할 수 있습니다.</p>
-
-<p>위에서 언급한 점을 요약하면 다음과 같습니다.</p>
-
-<ul>
- <li>Mozilla는 <a href="ko/HTML">HTML</a>과 <a href="ko/XUL">XUL</a>을 동일한 내부 엔진으로 출력하고 출력 양식을 결정하기 위해 <a href="ko/CSS">CSS</a>를 사용합니다.</li>
-</ul>
-
-<ul>
- <li>XUL은 원격지, 로컬 파일 시스템이나 설치된 꾸러미로부터 로드될 수 있고, <a href="ko/Chrome">chrome</a> URL을 사용해서 접근할 수 있습니다. 마지막 방법은 브라우저의 확장 기능이 하는 것입니다.</li>
-</ul>
-
-<ul>
- <li>Chrome URL은 설치된 꾸러미에 접근하고 강화된 권한으로 여는데 사용할 수 있습니다.</li>
-</ul>
-
-<ul>
- <li>HTML, XML, XUL은 서로 다른 문서 타입을 가집니다. 어떠한 기능들은 아무 문서 타입에서도 사용할 수 있지만 어떠한 기능들은 특정 유형의 문서에서만 사용할 수 있습니다.</li>
-</ul>
-
-<p>다음 섹션에서는 Mozilla에 설치될 수 있는 chrome 꾸러미의 기본 구조에 대해 설명합니다. 그러나 여러분이 지금 당장 간단한 응용 프로그램을 작성하고 싶다면, <a href="ko/XUL_Tutorial/Creating_a_Window">Creating a Window</a>로 건너뛰고 다음을 위해 본 섹션은 저장하세요.</p>
-
-<h3 id="Package_Organization" name="Package_Organization">Package Organization</h3>
-
-<p>Mozilla is organized in such a way that you can have as many components as you want pre-installed. Each extension is also a component with a separate chrome URL. It also has one component for each installed theme and locale. Each of these components, or packages, is made up of a set of files that describe the user interface for it. For example, the messenger component has descriptions of the mail messages list window, the composition window and the address book dialogs.</p>
-
-<p>The packages that are provided with Mozilla are located within the chrome directory, which are in the directory where you installed Mozilla. The chrome directory is where you find all the files that describe the user interface used by the Mozilla browser, mail client, and other applications. Typically, you put all the XUL files for an application in this directory, although extensions are installed in the extensions directory for a particular user. Just copying a XUL file into the chrome directory doesn't give the file any extra permissions, nor can it be accessed via a chrome URL. To gain the extra privileges, you will need to create a manifest file and put that in the chrome directory. This file is easy to create, as it is typically only a couple of lines long. It is used to map a chrome URL to a file or directory path on the disk where the XUL files are located. Details of how to create this file will be discussed in a <a href="ko/XUL_Tutorial/Manifest_Files">later section</a>.</p>
-
-<p>The only way to create content that can be accessed through a chrome URL is by creating a package as described in the next few sections. This directory is called 'chrome' likely because it seemed like a convenient name to use for the directory where the chrome packages that are included with Mozilla are kept.</p>
-
-<p>To further the confusion, there are two other places where the word "chrome" might appear. These are the <code>-chrome</code> command line argument and the <code>chrome</code> modifier to the <code><a href="ko/DOM/window.open">window.open()</a></code> function. Neither of these features grant extra privileges; instead they are used to open a new top-level window without the browser UI such as the menu and toolbar. You will commonly use this feature in more complex XUL applications since you wouldn't want the browser UI to exist around your dialog boxes.</p>
-
-<p>The files for a package are usually combined into a single JAR file. A JAR file may created and examined using a ZIP utility. For instance, you can open the JAR files in Mozilla's chrome directory to see the basic structure of a package. Although it's normal to combine the files into a JAR file, packages may also be accessed in expanded form into a directory. Although you don't normally distribute a package this way, it is handy during development since you can edit the file directly and then reload the XUL file without having to repackage or reinstall the files.</p>
-
-<p>By default, Mozilla applications parse XUL files and scripts, and store a pre-compiled version in memory for the remainder of the application session. This improves performance. However, because of this, the XUL will be not be reloaded even when the source files are changed. To disable this mechanism, it is necessary to change the preference <code>nglayout.debug.disable_xul_cache</code>. In Firefox, this preference may be added to the user preferences by typing "about:config" in the address field, and setting this value to true. Or, just manually edit your user.js preferences file and add the following line:</p>
-
-<pre class="eval">pref("nglayout.debug.disable_xul_cache", true);
-</pre>
-
-<p>There are usually three different parts to a chrome package, although they are all optional. Each part is stored in a different directory. These three sets are the content, the skin, and the locale, which are all described below. A particular package might provide one or more skins and locales, but a user can replace them with their own. In addition, the package might include several different applications, each accessible via different chrome URLs. The packaging system is flexible enough so that you can include whatever parts you need and allow other parts, such as the text for different languages, to be downloaded separately.</p>
-
-<p>The three types of chrome packages are:</p>
-
-<ul>
- <li><strong>Content</strong> - Windows and scripts<br>
- The declarations of the windows and the user interface elements contained within them. These are stored in XUL files, which have a .xul extension. A content package can have multiple XUL files, but the main window should have a filename that is the same as the package name. For example, the editor package will have a file within it called editor.xul. Scripts are placed in separate files alongside the XUL files.</li>
- <li><strong>Skin</strong> - Style sheets, images and other theme specific files<br>
- Style sheets describe details of the appearance of a window. They are stored separately from XUL files to facilitate modifying the skin (theme) of an application. Any images used are stored here also.</li>
- <li><strong>Locale</strong> - Locale specific files<br>
- All the text that is displayed within a window is stored separately. This way, a user can have a set for their own language.</li>
-</ul>
-
-<h3 id="Content_Packages" name="Content_Packages">Content Packages</h3>
-
-<p>The name of the JAR file might describe what it contains, but you can't be sure unless you view its contents. Let's use the browser package included with Firefox as an example. If you extract the files in browser.jar, you will find that it contains a directory structure much like the following:</p>
-
-<pre>content
- browser
- browser.xul
- browser.js
- -- other browser XUL and JS files goes here --
- bookmarks
- -- bookmarks files go here --
- preferences
- -- preferences files go here --
-.
-.
-.
-</pre>
-
-<p>This is easily recognizable as a content package, as the top-level directory is called content. For skins, this directory will usually be called skin and for locales, it will usually be called locale. This naming scheme isn't necessary, but this is a common convention to make the parts of a package clearer. Some packages may include a content section, a skin, and a locale. In this case, you will find a subdirectory for each type. For example, Chatzilla is distributed in this way.</p>
-
-<p>The content/browser directory contains a number of files with .xul and .js extensions. The XUL files are the ones with the .xul extension. The files with .js extensions are JavaScript files containing scripts that handle the functionality of a window. Many XUL files have a script file associated with them, and some may have more than one.</p>
-
-<p>In the listing above, two files have been shown. There are of course others, but for simplicity they aren't shown. The file browser.xul is the XUL file that describes the main browser window. The main window for a content package should have the same name as the package with a .xul extension. In this case, the package name is "browser" so we expect to find browser.xul. Some of the other XUL files describe separate windows. For example, the file pageInfo.xul describes the page info dialog.</p>
-
-<p>Many packages will include a contents.rdf file, which describes the package, its author, and the overlays it uses. However, this file is obsolete and has been replaced with a simpler mechanism. This newer method is the manifest file mentioned earlier, and you will find these as files with the .manifest extension in the chrome directory. For instance, browser.manifest describes the browser package.</p>
-
-<p>Several subdirectories, such as bookmarks and preferences, describe additional sections of the browser component. They are placed in different directories only to keep the files more organized.</p>
-
-<h3 id="Skins_or_Themes" name="Skins_or_Themes">Skins or Themes</h3>
-
-<p>Although the underlying code for Mozilla calls them skins and the user interface calls them themes, they're both referring to the same thing. The classic.jar file describes the default theme provided with Firefox. The structure is similar to the content packages. For example, examining classic.jar:</p>
-
-<pre>skin
- classic
- browser
- browser.css
- -- other browser skin files go here --
- global
- -- global skin files go here --
-.
-.
-.
-</pre>
-
-<p>Again, this directory structure isn't necessary and is used for convenience. You can actually put all the files in one directory at the top level and not use subdirectories. However, for larger applications, subdirectories are used to separate the different components. In the example above, a directory exists for theme related files for the browser and another for global theme related files. The global directory contains skin files that are general to all packages. These files will apply to all components and will be included with your own standalone applications. The global part defines the appearance of all of the common XUL widgets, whereas the other directories have files that are specific to those applications. Firefox includes both the global and browser theme files in one archive, but they can be included separately.</p>
-
-<p>A skin is made up of CSS files and a number of images used to define the look of an interface. The file browser.css is used by browser.xul and contains styles that define the appearance of various parts of the browser interface. Again, note how the file browser.css has the same name as the package. By changing the CSS files, you can adjust the appearance of a window without changing its function. This is how you can create a new theme. The XUL part remains the same but the skin part changes independently.</p>
-
-<h3 id="Locales" name="Locales">Locales</h3>
-
-<p>The file en-US.jar describes the language information for each component, in this case for US English. Like the skins, each language file contains files that specify text used by the package for a specific language. The locale structure is similar to the others, so it won't be listed here.</p>
-
-<p>The localized text is stored in two types of files: DTD files and properties files. The DTD files have a .dtd extension and contain entity declarations, one for each text string that is used in a window. For example, the file browser.dtd contains entity declarations for each menu command. In addition, keyboard shortcuts for each command are also defined, because they may be different for each language. DTD files are used by XUL files so, in general, you will have one per XUL file. The locale part also contains properties files, which are similar, but are used by script files. The file browser.properties contains a few such localized strings.</p>
-
-<p>This structure allows you to translate Mozilla or a component into a different language by just adding a new locale for that language. You don't have to change the XUL code at all. In addition, another person could supply a separate package that applies a skin or locale to your content part, thus providing support for a new theme or language without having to change the original package.</p>
-
-<h3 id="Other_Packages" name="Other_Packages">Other Packages</h3>
-
-<p>There is a one special package called toolkit (or global). We saw the global directory earlier for skins. The file toolkit.jar contains the corresponding content part for it. It contains some global dialogs and definitions. It also defines the default appearance and functionality of the various common XUL widgets such as textboxes and buttons. The files located in the global part of a skin package contain the default look for all of the XUL interface elements. The toolkit package is used by all XUL applications.</p>
-
-<h3 id="Adding_a_Package" name="Adding_a_Package">Adding a Package</h3>
-
-<p>Mozilla places the packages that are included with the installation in the chrome directory. However, they do not need to be placed there. When installing another package, you can place it anywhere on the disk, as long as a manifest file points to it. It is common to place packages into the chrome directory simply because it is convenient; however, they will work just as well from another directory or somewhere on your local network. You cannot store them on a remote site, unless the remote site is mounted through the local file system.</p>
-
-<p>There are two chrome directories used for XUL applications: one is installed in the same place where the application is installed, while the other is part of user's profile. The former allows packages that are shared by all users while the latter allows packages to be created only for a specific user or users. Extensions, while installed in a separate extensions directory, are also usually user specific. Any manifest files located in either chrome directory will be examined to see which packages are installed.</p>
-
-<p>In the next section, we'll look at how to refer to chrome packages using the chrome URL.</p>
-
-<p></p><div class="prevnext" style="text-align: right;">
- <p><a href="/ko/docs/XUL_Tutorial:Introduction" style="float: left;">« 이전</a><a href="/ko/docs/XUL_Tutorial:The_Chrome_URL">다음 »</a></p>
-</div> <span class="comment">Interwiki Language Links</span><p></p>
-
-<p></p>
diff --git a/files/ko/mozilla/개발자_프로그램/index.html b/files/ko/mozilla/개발자_프로그램/index.html
deleted file mode 100644
index 0282bfa7e2..0000000000
--- a/files/ko/mozilla/개발자_프로그램/index.html
+++ /dev/null
@@ -1,124 +0,0 @@
----
-title: Mozilla 개발자 프로그램
-slug: Mozilla/개발자_프로그램
-translation_of: Mozilla/Connect
----
-<div class="summary">
-<pre><span class="seoSummary">Enable, inspire and collaborate to make the Web the primary platform used to create experiences across all connected devices.</span></pre>
-</div>
-
-<div>
-<div class="column-container dev-program-callouts dev-program-block dev-program-first dev-program-column-wrapper">
-<div class="dev-program-callout">
-<div class="callout-link-container">
-<h2 id="Hacks_blog">Hacks blog</h2>
-
-<p>Open Web을 개발하는 사람들의 가장 핵심 수단인 Mozilla Hacks blog는 웹 기술과 브라우저 특징들의 최신 뉴스와 토론들을 제공합니다.</p>
-
-<div class="callout-link-wrapper"><a class="callout-link ignore-external" href="https://hacks.mozilla.org/" style="white-space: normal;">Read it now </a></div>
-</div>
-</div>
-
-<div class="dev-program-callout">
-<div class="callout-link-container">
-<h2 id="Feedback_channels">Feedback channels</h2>
-
-<p>Do you have a <a href="http://mzl.la/devtools">great idea for the Developer Tools</a> in Firefox or <a href="http://mzl.la/openwebapps">how Open Web Apps should work</a>? Let us know and help shape the future features!</p>
-
-<p>Building things and need help? Ask away on Stack Overflow!<br>
- <span class="smaller"><strong>{{anch("Developer discussions", "Search the Q&amp;A below")}}</strong></span></p>
-
-<div class="callout-link-wrapper"><a class="callout-link ignore-external" href="http://stackoverflow.com/r/mozilla" style="white-space: normal;">Mozilla Q&amp;A on Stack Overflow </a></div>
-</div>
-</div>
-
-<div class="dev-program-callout">
-<div class="callout-link-container">
-<h2 id="Join_MDN">Join MDN</h2>
-
-<p>개발자 프로그램에 가입하세요! You will able to <a href="/en-US/docs/MDN/Contribute">edit the documentation</a> here, create a profile to show off your work, and get access to features over time as we roll them out.</p>
-
-<div class="callout-link-wrapper"><a class="callout-link" href="/profile/edit" style="white-space: normal;">Join or log in </a></div>
-</div>
-</div>
-</div>
-
-<div class="dev-program-explanation dev-program-block">
-<h2 id="Connect_with_Mozilla">Connect with Mozilla</h2>
-
-<p>Developers are creating the future by building services and apps for people all over the world. The goal of Mozilla Developer Relations is to help developers to use open and standardized web technologies to succeed in achieving their goals. In addition to the documentation here on MDN, we offer help and other resources towards this goal, through various channels. We invite you to connect, learn, and share your own knowledge.</p>
-
-<p>We are offering help through <a href="http://stackoverflow.com/r/mozilla">Q&amp;A on Stack Overflow</a>, to solve specific technical issues and challenges you might have. We also have a newsletter keeping you informed on the latest happenings in the web scene around web apps and more. <a href="https://marketplace.firefox.com/developers/#newsletter-signup">Subscribe to the Apps &amp; Hacks newsletter.</a></p>
-
-<p>If you share Mozilla's <a href="https://www.mozilla.org/en-US/mission/">mission</a> and <a href="https://www.mozilla.org/en-US/about/manifesto/">principles</a>, and want to help spread them to more developers, check out the ways you can <a href="https://wiki.mozilla.org/Engagement/Developer_Engagement/Technical_Evangelism/Get_Involved">get involved with technical evangelism</a>, and join our <a href="https://lists.mozilla.org/listinfo/evangelism">evangelism discussion group</a>.</p>
-
-<p>We have a lot of plans and ideas for iteratively expanding our Developer Relations offerings, and we want you involved as we do so! So, <a href="http://stackoverflow.com/r/mozilla">follow the tags on Stack Overflow</a>, <a href="https://hacks.mozilla.org/">subscribe to the Hacks blog</a>, <a href="https://marketplace.firefox.com/developers/#newsletter-signup">subscribe to the newsletter, </a>and <a href="/profile/edit">sign up for an account</a>!</p>
-
-<h2 id="Join_Mozilla" style="line-height: 30px;"><strong>Join Mozilla</strong></h2>
-
-<p><span style="line-height: 1.5;">If you want to go beyond <em>connecting</em> with Mozilla, you can <em>join</em> Mozilla and help realize <a href="https://www.mozilla.org/mission/">Mozilla's mission of building a better Internet</a>. As a developer, you have skills to contribute in many areas, as well as the opportunity to enhance your skills. Mozilla is an open source project, so we "default to open." You can "view source" and contribute to our software development projects, like the Firefox browser for desktop and Android, Firefox OS, and Mozilla's own websites. You can become part of an international community and get recognition for your efforts. Here are some of the advantages of contributing to the Mozilla project.</span></p>
-
-<h3 id="Opportunity_to_learn_something_new"><strong>Opportunity to learn something new </strong></h3>
-
-<div>
-<p><span style="line-height: 1.5;">In writing code for an open source project, you may face problems you have not encountered before, which present learning opportunities for you. You can try out new tools and techniques in an open source project. For example, if you've never done any unit testing, and cannot get permission from your boss to do so in your regular job, writing some code for an open source project would be an excellent place to try it out. Contributing to open source gives you the opportunity to collaborate with and get to know many people around the world who have similar interests. Moreover, an open source organization like Mozilla has many contributors who can help you in solving problems you encounter.</span> If you're just getting started contributing, you can look for "mentored" bugs, where an experienced contributor has offered to help a newcomer fix them.</p>
-
-<h3 id="What_can_I_get_by_contributing"><strong>What can I get by contributing ? </strong></h3>
-
-<p><span style="line-height: 1.5;">Exploring many things and getting recognition in the community -- these are the intangible benefits of contributing to Mozilla. While we can't guarantee specific tangible benefits, many valued contributors receive free Mozilla gear and invitations to Mozilla-related events, and are first in line to be considered for internships. Moreover, your experience in contributing to an open source project might help you find a job. </span><span style="line-height: 1.5;">More and more employers of developers are looking at open source contributions. They like to see that you're blogging and contributing to mailing lists, and they really like to see you listed as a committer on an open source project. It can also help with the work experience section of your resume. </span></p>
-
-<h3 id="How_can_I_contribute_to_Mozilla"><strong>How can I contribute to Mozilla ? </strong></h3>
-
-<p><span style="line-height: 1.5;">Mozilla에 기여할 수 있는 많은 프로젝트 영역이 있습니다. You can find a current, complete list on the main Mozilla <a href="https://www.mozilla.org/contribute">참여</a> page. Some areas that may interest you as a developer include:</span></p>
-
-<ul>
- <li><a href="http://www.whatcanidoformozilla.org/">Coding</a></li>
- <li><a href="http://www.whatcanidoformozilla.org/">Web development</a></li>
- <li><a href="/en-US/Firefox_OS/Developing_Gaia">Firefox OS</a></li>
- <li><a href="https://quality.mozilla.org/teams/">QA</a></li>
- <li><a href="https://wiki.mozilla.org/Marketplace/Contributing/Addons">Add-ons</a></li>
- <li><a href="https://wiki.mozilla.org/Marketplace/Contributing/Apps">Apps</a></li>
- <li><a href="/en-US/docs/MDN/Getting_started">Developer documentation (here on MDN)</a></li>
-</ul>
-</div>
-</div>
-
-<div class="column-container dev-program-block">
-<div class="column-half" id="Developer_discussions">
-<h2 id="QA_on_Stack_Overflow_See_all_QA...">Q&amp;A on Stack Overflow <a class="heading-link" href="http://stackoverflow.com/r/mozilla">See all Q&amp;A...</a></h2>
-
-<p>We have Q&amp;A to discuss challenges and issues when developing, in particular for Firefox OS and the Open Web on mobile. It's available on Stack Overflow under the easy URL <a href="http://stackoverflow.com/r/mozilla">http://stackoverflow.com/r/mozilla</a>.</p>
-
-<div class="stack-form">Stack form</div>
-
-<h3 id="Latest_QA_Topics">Latest Q&amp;A Topics</h3>
-</div>
-
-<div class="column-half dev-program-hacks dev-program-block"> </div>
-</div>
-
-<p class="dev-program-block"><img alt="Developers at a Firefox OS workshop in Madrid." src="https://mdn.mozillademos.org/files/7479/PhonesUp.jpg" style="display: block; height: 359px; margin: 0px auto; max-width: 100%; width: 720px;"></p>
-
-<div class="column-container dev-program-block">
-<div class="column-7 dev-program-events">
-<h2 id="Mozilla는_어디에_있나요_View_attendees_and_details_on_our_Events_page...">Mozilla는 어디에 있나요? <a class="heading-link" href="https://developer.mozilla.org/en/events">View attendees and details on our Events page... </a></h2>
-
-<p>Here is a listing of events where Mozilla representatives will be speaking. 대화를 꼭 나눠보세요!</p>
-</div>
-
-<div class="column-5">
-<h2 id="관련_자원들">관련 자원들</h2>
-
-<ul class="no-bullets">
- <li><a href="http://www.youtube.com/user/mozhacks">Mozilla Hacks on YouTube</a>
-
- <ul>
- <li><a href="http://www.youtube.com/playlist?list=PLo3w8EB99pqIHIUUv08hBCHq1OgPKhdo0">Firefox OS 동영상</a></li>
- <li><a href="http://www.youtube.com/playlist?list=PLo3w8EB99pqLZNY22xKbTEzMfYo9PXAlm">Firefox 개발자 도구 동영상</a></li>
- </ul>
- </li>
- <li><a href="https://twitter.com/mozhacks">@mozhacks on Twitter</a></li>
-</ul>
-</div>
-</div>
-</div>
diff --git a/files/ko/mozilla/안드로이드용_파이어폭스/index.html b/files/ko/mozilla/안드로이드용_파이어폭스/index.html
deleted file mode 100644
index 131f5749fa..0000000000
--- a/files/ko/mozilla/안드로이드용_파이어폭스/index.html
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: Firefox for Android
-slug: Mozilla/안드로이드용_파이어폭스
-translation_of: Mozilla/Firefox_for_Android
----
-<p>점점 더 많은 사람들에게 있어서 모바일 기기가 웹에 접속하는 주요한, 더 나아가서 유일한 방법이 되고 있습니다. <a href="https://www.mozilla.org/ko/mobile/">안드로이드용 Firefox</a>(코드네임 Fennec)는 개방적이고, 수정이 자유롭고, 표준에 기반한 데스크탑 Firefox와 비슷한 브라우저입니다.</p>
-<p>안드로이드용 Firefox는 XUL 대신 기본 안드로이드 위젯에서 만들어진 UI를 사용합니다. 이를 통해 처음 구동 시간과 같은 성능을 향상시키고 메모리 절감 효과를 얻었습니다.</p>
-<p> </p>
-<h2 id="안드로이드용_Firefox에_기여하기">안드로이드용 Firefox에 기여하기</h2>
-<p>안드로이드용 Firefox에 대한 정보를 얻을 수 있는 가장 좋은 시작점은 <a class="link-https" href="https://wiki.mozilla.org/Mobile">프로젝트 위키 페이지</a>입니다.</p>
-<p>다음과 같은 활동을 통해서 안드로이드용 Firefox를 만들고 개선하는데 도움을 줄 수 있습니다:</p>
-<ul>
- <li><a class="link-https" href="https://wiki.mozilla.org/Mobile/Testdrivers_Program">테스트</a>에 도움 주기
- <ul>
- <li>모바일 게코(gecko)와 주요 사이트의 호환성 - <a href="/en-US/docs/Mozilla/Firefox_for_Android/Compatibility_Testing" title="https://developer-new.mozilla.org/en-US/docs/Mozilla/Firefox_for_Android/Compatibility_Testing">자세한 정보</a> 살펴보기</li>
- </ul>
- </li>
- <li><a class="link-irc" href="irc://irc.mozilla.org/#mobile">IRC</a>나 <a class="link-https" href="https://wiki.mozilla.org/Mobile/Notes">수요일 개발자 회의</a>를 통해 개발팀과 연락하기</li>
- <li><a class="external" href="http://planet.firefox.com/mobile/">플래닛 firefox</a>와 <a class="link-https" href="https://twitter.com/#!/mozmobile" title="https://twitter.com/#!/mozmobile">트위터</a>를 통해 최신 프로젝트 뉴스 확인</li>
- <li><a href="https://wiki.mozilla.org/Mobile/Fennec/Android" title="https://wiki.mozilla.org/Mobile/Fennec/Android">안드로이드용 Firefox 빌드하고 수정하기</a> (Fennec)</li>
-</ul>
-<h2 id="모바일_웹_개발">모바일 웹 개발</h2>
-<p><a href="/En/Mobile" title="En/Mobile">모바일 기기를 위한 웹사이트 디자인</a>에 가이드 문서를 올리고 있습니다.</p>
-<p>안드로이드용 Firefox를 사용하면 기기의 다양한 기능을 사용할 수 있는 API를 사용할 수 있습니다. 이를 통해 웹과 네이티브 어플리케이션 사이의 차이를 줄일 수 있습니다:</p>
-<ul>
- <li><a class="external" href="http://hacks.mozilla.org/2012/02/using-the-battery-api-part-of-webapi/" title="http://hacks.mozilla.org/2012/02/using-the-battery-api-part-of-webapi/">배터리 </a></li>
- <li><a href="/en/DOM/Using_the_Camera_API" title="Using the Camera API">카메라</a></li>
- <li><a href="/en/API/WebTelephony/Introduction_to_WebTelephony" title="Introduction to WebTelephony">WebTelephony</a></li>
- <li><a href="/en/API/WebSMS/Introduction_to_WebSMS" title="Introduction to WebSMS">WebSMS</a></li>
- <li><a href="/En/Using_geolocation" title="Using geolocation">위치정보</a></li>
- <li><a href="/en/Detecting_device_orientation" title="https://developer.mozilla.org/en/detecting_device_orientation">Orientation</a></li>
-</ul>
-<p>안드로이드용 Firfox를 <a class="link-https" href="https://www.mozilla.org/en-US/mobile/">안드로이드 기기에 설치</a>하거나 <a class="link-https" href="https://wiki.mozilla.org/Mobile/Fennec/Android/Emulator">안드로이드 에뮬레이터를 사용해서 데스크탑에서 실행</a>해 봄으로써 사이트를 테스트해 볼 수 있습니다.</p>
-<h2 id="모바일_부가기능_제작">모바일 부가기능 제작</h2>
-<p>안드로이드용 Firefox는 다른 게코 기반의 어플리케이션과 동일한 <a href="/en/Extensions" title="en/Extensions">확장 시스템</a>을 통해서 <a href="/en/Extensions/Mobile" title="en/Extensions/Firefox_on_Android">부가 기능을 지원</a>합니다. 새로운 확장 시스템을 만들지 않았습니다. 이 말은 데스크탑용 부가 기능을 만들던 것과 <a href="/en/Building_an_Extension" title="en/Building_an_Extension">동일한 과정</a>을 통해서 안드로이드용 Firefox의 부가기능을 만들 수 있다는 말입니다. 하지만 데스크탑용 Firefox 부가 기능이 <strong>자동으로 작동하지는 않습니다</strong>. 사용자 인터페이스가 너무 다르기 때문입니다.</p>
-<div class="note">
- 안드로이드용 Firefox에는 <code>install.rdf</code>에 지정되어야 하는 독자적인 어플리케이션 인식자가 있습니다. 인식자는 <code>{aa3c5121-dab2-40e2-81ca-7ea25febc110}</code>입니다.</div>
-<p>기존의 재시작 해야만 하는 부가기능과 <a href="/en/Extensions/Bootstrapped_extensions" title="en/Extensions/Bootstrapped_extensions">재시작이 필요없는</a> 부가기능은 동일한 접근방법을 가지고 있습니다. 부가기능을 설치하거나 삭제할 때 재시작을 해야만 하는 방식은 사용자 경험에 많은 영향을 미치기 때문에 가능하다면 재시작이 필요없는 방식이 선호됩니다.</p>
-<h3 id="기본_개요">기본 개요</h3>
-<ul>
- <li>UI에 XUL이 없기 때문에 UI의 추가나 변경 기능은 필요가 없습니다.</li>
- <li><code>gBrowser</code> 같은 내부 코드와 객체가 존재하지 않습니다. 내부 코드에 대해서는 안드로이드용 Firefox의 <a class="external" href="http://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/browser.js" title="http://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/browser.js"><code>browser.js</code></a>를 참조하세요. 많은 수의 기본 기능들이 위치하고 있습니다.</li>
- <li>Services like <code>nsIPromptService</code>나 <code>nsIAlertsService</code> 같은 서비스는 안드로이드의 기본 UI를 사용하도록 구현되었습니다.</li>
- <li>안드로이드의 기본 UI를 다루는 <a href="/en/Extensions/Mobile/API/NativeWindow" title="en/Extensions/Mobile/NativeWindow"><code>NativeWindow</code></a> 자바스크립트 객체가 있습니다.</li>
-</ul>
-<h2 id="안드로이드용_Firefox_도움말">안드로이드용 Firefox 도움말</h2>
-<p>안드로이드용 Firefox를 사용하기 위한 문서와 도움말이 <a class="external" href="http://support.mozilla.org/mobile" title="http://support.mozilla.org/mobile">Mozilla Support website</a>를 통해서 제공되고 있습니다.</p>
diff --git a/files/ko/mozilla/지역화/index.html b/files/ko/mozilla/지역화/index.html
deleted file mode 100644
index fda2a6a834..0000000000
--- a/files/ko/mozilla/지역화/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: Mozilla 지역화
-slug: Mozilla/지역화
-tags:
- - l10n
- - 모질라
- - 번역
- - 지역화
-translation_of: Mozilla/Localization
----
-<p><span class="seoSummary"><strong>지역화</strong>(L10n) 는 소프트웨어 사용자 인터페이스를 한 언어에서 다른 언어로 번역하고 다른 문화에 적합하도록 맞추는 과정입니다. 이러한 자원들은 지역화에 포함된 기술적 측면에 관심있는 모두를 위한것입니다. 모든 기여자들과 개발자들을 위한 것입니다.</span></p>
-
-<h2 id="참고">참고</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Project:MDN/Localizing" title="/en-US/docs/Project:MDN/Localizing">Localizing MDN</a></dt>
- <dd>이 자원은 여기 MDN 문서의 지역화를 커버합니다.</dd>
-</dl>
-
-<p><a href="https://developer.mozilla.org/en-US/Apps/Build/Localization">App localization</a>(응용프로그램 지역화)</p>
-
-<p>     이 문서들은 파이어폭스 OS 앱을 포함한, 앱 지역화에 좀 더 특별히 적용됩니다.</p>
-
-<p><a href="https://developer.mozilla.org/en-US/docs/Web/API/L10n">L10n</a></p>
-
-<p>     파이어폭스 OS를 지역화하기 위한 L10n API에 대한 참고 문서</p>
diff --git a/files/ko/mozilla/지역화/localizing_with_verbatim/index.html b/files/ko/mozilla/지역화/localizing_with_verbatim/index.html
deleted file mode 100644
index 6f01ebb051..0000000000
--- a/files/ko/mozilla/지역화/localizing_with_verbatim/index.html
+++ /dev/null
@@ -1,125 +0,0 @@
----
-title: Verbatim을 이용해 지역화하기
-slug: Mozilla/지역화/Localizing_with_Verbatim
-translation_of: Mozilla/Localization/Localizing_with_Pontoon
----
-<p><span class="seoSummary">Verbatim은 모질라 웹 컨텐츠들을 지역하기 위한 웹 기반의 툴(정확힌 모질라에서 호스트된 Pootle 인스턴스)입니다 . 여러분은 모든 언어를 지원할수 있는 이 툴을 이용해 여러가지 모질라 프로젝트들을 지역화할수 있습니다. 이 가이드는 여러분을 보통의 모질라 웹 프로젝트를 지역화 하는 방법을 소개할 것입니다.</span>이 튜토리얼은 여러분에게 Verbatim을 이용해 여러분이 지역화 커뮤니티에 공헌하기 위해 모질라 프로젝트를 지역화 하는 데에 단단한 기반을 제공해 줄 것입니다. 우리는 어떤 모질라 웹 프로젝트들이 Verbatim을 이용하고 있는 지, Verbatim을 어떻게 사용하기 시작할지,  그리고 Verbatim을 이용해서 보통 이루어진 일들에 대해서 다룰 것입니다.</p>
-<h2 id="Verbatim을_사용하기_시작하기">Verbatim을 사용하기 시작하기</h2>
-<p>Verbatim이 온라인에 기반되어 있으므로, 번역자들은 Verbatim을 이용하기 위해서 무조건 인터넷에 연결되어 있어야 합니다. There are essentially two ways to get started with Verbatim: start a new localization or join an existing localization community's efforts. Either way, you will need to follow these steps to start working on a Verbatim project.</p>
-<table style="width: 100%; border-style: solid; border-color: rgb(0,0,0);">
- <thead>
- <tr style="text-align: center;">
- <th scope="col" style="text-align: center;">Verbatim에서 새로운 지역화를 시작하기</th>
- <th scope="col" style="text-align: center;">Verbatim에서 진행중인 지역화에 참여하기</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>
- <ol>
- <li>Point your browser to <a class="external" href="http://localize.mozilla.org/">http://localize.mozilla.org</a>. This is where Verbatim is hosted.</li>
- </ol>
- </td>
- <td>
- <ol>
- <li>Point your browser to <a class="external" href="http://localize.mozilla.org/">http://localize.mozilla.org</a>. This is where Verbatim is hosted.</li>
- </ol>
- </td>
- </tr>
- <tr>
- <td>
- <ol start="2">
- <li>If you have a Mozilla LDAP account, simply sign in using your LDAP credentials. If not, register for an account and sign in once you've completed registration. The links for both are located in the upper right-hand corner of the page.</li>
- </ol>
- </td>
- <td>
- <ol start="2">
- <li>If you have a Mozilla LDAP account, simply sign in using your LDAP credentials. If not, register for an account and sign in once you've completed registration. The links for both are located in the upper right-hand corner of the page.</li>
- </ol>
- </td>
- </tr>
- <tr>
- <td>
- <ol start="3">
- <li>File a <a class="link-https" href="https://bugzilla.mozilla.org/enter_bug.cgi?alias=&amp;assigned_to=nobody%40mozilla.org&amp;blocked=&amp;bug_file_loc=https%3A%2F%2Flocalize.mozilla.org%2F&amp;bug_severity=normal&amp;bug_status=NEW&amp;cf_blocking_191=---&amp;cf_blocking_192=---&amp;cf_status_191=---&amp;cf_status_192=---&amp;cf_status_firefox10=---&amp;cf_status_firefox11=---&amp;cf_status_firefox8=---&amp;cf_status_firefox9=---&amp;cf_tracking_firefox10=---&amp;cf_tracking_firefox11=---&amp;cf_tracking_firefox8=---&amp;cf_tracking_firefox9=---&amp;comment=I%20would%20like%20to%20request%20that%20you%20add%20the%20%5Binsert%20your%20locale%20code%20here%5D%20as%20a%20new%20localization%20in%20Verbatim.%0D%0A%0D%0A%5BAdd%20any%20other%20comments%20you%20may%20have%20here.%5D&amp;component=Verbatim&amp;contenttypeentry=&amp;contenttypemethod=autodetect&amp;contenttypeselection=text%2Fplain&amp;data=&amp;defined_groups=1&amp;dependson=&amp;description=&amp;flag_type-4=X&amp;flag_type-607=X&amp;form_name=enter_bug&amp;keywords=&amp;maketemplate=Remember%20values%20as%20bookmarkable%20template&amp;op_sys=All&amp;priority=--&amp;product=Webtools&amp;qa_contact=verbatim%40webtools.bugs&amp;rep_platform=All&amp;requestee_type-325=&amp;requestee_type-4=&amp;requestee_type-607=&amp;short_desc=Request%20for%20new%20localization%20on%20Verbatim&amp;status_whiteboard=&amp;target_milestone=---&amp;version=Trunk" title="https://bugzilla.mozilla.org/enter_bug.cgi?alias=&amp;assigned_to=nobody%40mozilla.org&amp;blocked=&amp;bug_file_loc=https%3A%2F%2Flocalize.mozilla.org%2F&amp;bug_severity=normal&amp;bug_status=NEW&amp;cf_blocking_191=---&amp;cf_blocking_192=---&amp;cf_status_191=---&amp;cf_status_192=---&amp;cf_status_firefox10=---&amp;cf_status_firefox11=---&amp;cf_status_firefox8=---&amp;cf_status_firefox9=---&amp;cf_tracking_firefox10=---&amp;cf_tracking_firefox11=---&amp;cf_tracking_firefox8=---&amp;cf_tracking_firefox9=---&amp;comment=I%20would%20like%20to%20request%20that%20you%20add%20the%20%5Binsert%20your%20locale%20code%20here%5D%20as%20a%20new%20localization%20in%20Verbatim.%0D%0A%0D%0A%5BAdd%20any%20other%20comments%20you%20may%20have%20here.%5D&amp;component=Verbatim&amp;contenttypeentry=&amp;contenttypemethod=autodetect&amp;contenttypeselection=text%2Fplain&amp;data=&amp;defined_groups=1&amp;dependson=&amp;description=&amp;flag_type-4=X&amp;flag_type-607=X&amp;form_name=enter_bug&amp;keywords=&amp;maketemplate=Remember%20values%20as%20bookmarkable%20template&amp;op_sys=All&amp;priority=--&amp;product=Webtools&amp;qa_contact=verbatim%40webtools.bugs&amp;rep_platform=All&amp;requestee_type-325=&amp;requestee_type-4=&amp;requestee_type-607=&amp;short_desc=Request%20for%20new%20localization%20on%20Verbatim&amp;status_whiteboard=&amp;target_milestone=---&amp;version=Trunk">bug</a> using this prefilled bugzilla template. Add your locale code and language name to the description field, as well as any other information you'd like to share. See the following example.</li>
- </ol>
- <div class="note">
- <strong>Example</strong>: I would like to request that you add the <em><strong>en-US</strong></em> as a new localization in Verbatim. The langauge is <em><strong>English</strong></em>. Also, I like cookies. Lots and lots of cookies. I can easily be motivated by any and all baked goods.</div>
- </td>
- <td>
- <ol start="3">
- <li><a class="link-https" href="https://wiki.mozilla.org/Category:L10n_Teams" title="https://wiki.mozilla.org/Category:L10n_Teams">Contact the community</a> to find out which projects they need you to concentrate your efforts on. See the following example for what you could include in your email to the community leaders.</li>
- </ol>
- <div class="note">
- <strong>Example</strong>: I would like to join your localization efforts on Verbatim for this locale. Where would be the best place for me to begin? Also, I would like to buy you a drink to encourage you to let me join the team!</div>
- </td>
- </tr>
- </tbody>
-</table>
-<p>Now that you're registered and logged in, we'll outline the general translation workflow, using the <a class="link-https" href="https://localize.mozilla.org/projects/fxhome/" title="https://localize.mozilla.org/projects/fxhome/">Firefox Home project</a> as our example.</p>
-<h2 id="Translating">Translating</h2>
-<p>First thing's first, you need to find untranslated source strings to translate.</p>
-<ol>
- <li>Navigate to the <a class="link-https" href="https://localize.mozilla.org/projects/mdn" title="https://localize.mozilla.org/projects/fxhome/">MDN project page</a>.</li>
- <li>Select your language from the <strong>Overview</strong> tab.</li>
- <li>Now click on the the <strong>Translate</strong> tab. This tab will display the directories for the MDN user interface.</li>
- <li>Select the <strong>LC Messages</strong> directory. This is where the project's <code>.po</code> files containing translatable strings are located. You will now see an overview of each <code>.po</code> file.</li>
- <li>In the summary column, the number of words untranslated will be shown as a link. Click on that link to be taken directly to the first string that needs to be translated.</li>
-</ol>
-<p>Now you're ready to contribute translations and you won't believe how easy it is. Check it out, you can contribute translations in two simple steps:</p>
-<ol>
- <li>Simply type your translation in the box to below the English string</li>
- <li>Select <strong>Suggest</strong>. If you have approval permission, select <strong>Submit</strong>. You will then be taken to the next string that needs translating.</li>
- <li>Hooray! You're translating! Repeat steps one and two for the remainder of the untranslated strings.</li>
-</ol>
-<div class="note">
- <strong>Note</strong>: If you come across a string that already has a suggested translation, you can still suggest your own translation if you feel it is more accurate.</div>
-<h3 id="Some_extra_cool_features_on_Verbatim">Some extra cool features on Verbatim</h3>
-<p>Here are a few additional items about the Verbatim interface that you should be aware of. Some of these can be seen in the screen shot below.</p>
-<p><a href="/@api/deki/files/5930/=Translate_Tab.png" title="Translate Tab.png"><img alt="Translate Tab.png" class="internal default" src="/@api/deki/files/5930/=Translate_Tab.png" style="width: 1113px; height: 221px;"></a></p>
-<ul>
- <li>You can copy the English string over to the translation box by clicking the <strong>Copy</strong> icon.</li>
- <li>You can use machine translation by clicking on the <strong>Google Translate</strong> icon.</li>
- <li>You can move forward and back through the strings by clicking the <strong>Next</strong> and <strong>Previous</strong> buttons.</li>
- <li>You can navigate directly to a particular string by clicking it's string number on the far left.</li>
- <li>You can mark a translation as <strong>Fuzzy</strong> if you think there could be a better way to say something. This will mark it so it can be found and updated later. Remember that only submitted strings will be commited to the localization's repository, not fuzzy strings. If strings remain marked as fuzzy, the source string will appear in your localized version instead of a translated string.</li>
- <li>You can add notes about a particular string in the <strong>Translator Comments</strong> section.</li>
- <li>When translating a string with both singular and plural forms you will see two boxes on the right hand side. The box for the singular form is labeled <strong>Plural Form 0</strong> and the box for the plural form is labeled <strong>Plural Form 1</strong>.</li>
-</ul>
-<h2 id="Additional_tasks">Additional tasks</h2>
-<p>If you are a localizer with approval priviledges, here are a few more tasks that you should be aware of.</p>
-<h3 id="Review_suggested_translations">Review suggested translations</h3>
-<ol start="1">
- <li>Click on the <strong>Review</strong> tab. It will show how many strings are waiting for review for each <code>.po</code> file.<a href="/@api/deki/files/5931/=Review_Tab1.png" title="Review Tab1.png"><img align="right" alt="Review Tab1.png" class="internal rwrap" src="/@api/deki/files/5931/=Review_Tab1.png?size=webview" style="width: 274px; height: 145px;"></a></li>
- <li>Select <span style="font-weight: bold;">Review</span><strong> suggestions</strong> to start approving suggestions. It will take you to the first string that needs to be reviewed.</li>
- <li>You can accept the suggestion by clicking the green checkmark or reject the suggestion by clicking the red X (see the screen shot from the previous section).</li>
-</ol>
-<p>It is important to note that <em>only</em> submitted strings will appear in your localized pages. Neither suggestions nor fuzzy strings will appear. Before commiting your final localized product, make sure all strings have been submitted.</p>
-<h3 id="Using_VCS_on_Verbatim">Using VCS on Verbatim</h3>
-<p>VCS (<strong>V</strong>ersion <strong>C</strong>ontrol <strong>S</strong>ystem) is the repository system we use to update the project's strings as well as push your translated content onto the web. The difference between the two tasks is simply a matter of which link to click.</p>
-<p><img align="right" alt="VCS.png" class="internal rwrap" src="/@api/deki/files/5925/=VCS.png" style="">To push your strings onto the web and see your changes, simply select the <strong>Commit to VCS</strong> link underneath each file name. It usually takes about an hour before you can see your changes on the project site.</p>
-<p>To update your <code>.po</code> files with new untranslated strings, simple select the <strong>Update from VCS</strong> link underneath each file name.</p>
-<p> </p>
-<div class="note">
- <br>
- <strong>Note</strong>: Some projects are automatically updated nightly while others require you to manually update them to receive new source content. Be sure to pay close attention to this, as it can alter your workflow.</div>
-<h2 id="Translating_Verbatim_files_with_an_external_application">Translating Verbatim files with an external application</h2>
-<p>While in the <strong>Translate</strong> tab, you have the option to export the <code>.po </code>and <code>.xliff</code> files and translate the strings with an external application (i.e., a text editor or translation memory tool).</p>
-<ol>
- <li>To download the <code>.po</code> file, select the <strong>Download</strong> link found underneath each file name. To download the .<code>xliff</code> file, select the <strong>Download XLIFF</strong> link.</li>
- <li>Proceed to translate the strings using your selected tool.</li>
-</ol>
-<p>Once you've finished your translations, you'll need to upload your file to Verbatim. You can do this from the <strong>Translate</strong> tab.</p>
-<ol>
- <li>Navigate to the bottom of the files list to the <strong>Upload File</strong> section.</li>
- <li>Click on the <strong>Browse</strong> button and select the file you wish to upload.</li>
- <li>Select an upload setting from the options provided.</li>
- <li>Once your upload setting has been selected, click <strong>Upload</strong>.</li>
-</ol>
-<div class="warning">
- <p class="warning"><strong>Important</strong>: There have been some problems in the past with community members updating their source strings while others are in the process of localizing the previous updated files. This can cause community members to overlook new source strings, producing untranslated strings in a localized project. Be sure to coordinate these manual updates within your community to avoid this problem.</p>
-</div>
-<h2 id="You're_ready_to_go!">You're ready to go!</h2>
-<p>Whew! You've arrived at the end! Time to take what you've learned and put it to good use spreading Mozilla to everyone in your region. Have fun and <a class="link-mailto" href="mailto:l10n-drivers@mozilla.com" title="l10n-drivers@mozilla.com">let us know</a> if you run into any difficulties. We'll be happy to help in any way we can.</p>
-<p> </p>
-<p><a href="/en/Localization_Quick_Start_Guide:_Translation" title="Localization Quick Start Guide: Translation">Back: Quick Start Guide</a></p>
diff --git a/files/ko/mozilla/지역화/pontoon_지역화/index.html b/files/ko/mozilla/지역화/pontoon_지역화/index.html
deleted file mode 100644
index 8d5664ca83..0000000000
--- a/files/ko/mozilla/지역화/pontoon_지역화/index.html
+++ /dev/null
@@ -1,135 +0,0 @@
----
-title: Pontoon 지역화 하기
-slug: Mozilla/지역화/Pontoon_지역화
-translation_of: Mozilla/Localization/Localizing_with_Pontoon
----
-<p><a href="https://pontoon.mozilla.org" title="https://pontoon.mozilla.org">Pontoon</a> 은 보시면 알만한 (WYSIWYG) 웹 기반 지역화 (l10n) 도구 입니다. Mozilla 에서, 우리는 Firefox 부터 Mozilla.org 까지 모든 Mozilla 제품과 웹사이트들을 지역화하는데 Pontoon 을 사용합니다. Pontoon 은 지역화 작업흐름에서 기술적인 능력이 거의 없이도 사용할 수 있는 아주 간단하고 교육적인 도구입니다. 여기서 우리는 로그인 하는 것 부터 여러분의 공헌을 마무리하는 것 까지 Pontoon 을 사용해 프로젝트를 지역화하는 방법에 대해 이야기 할 것입니다. 그 과정 중에, 여러분이 지역화 공헌을 더 쉽게 그리고 더 효과적으로 할 수 있게 해주는 몇 가지 매력적인 특징들을 짚어볼 것입니다.</p>
-
-<div class="note">
-<p><strong>개발자이십니까?</strong> <a href="/en-US/docs/Implementing_Pontoon_Mozilla">implementing Pontoon in your project</a> 를 읽어 보시거나 <a href="https://github.com/mozilla/pontoon">GitHub</a> 에서 참여하는 방법에 대해 배워보세요.</p>
-</div>
-
-<h2 id="첫_단계">첫 단계</h2>
-
-<p><a href="https://pontoon.mozilla.org" title="https://pontoon.mozilla.org">Pontoon 홈페이지</a>는 아주 사용하기 쉽습니다. 프로젝트 지역화를 시작하기 위해, Persona 아이콘을 클릭하여 로그인 하세요. 다음으로, 여러분이 작업하고 싶은 프로젝트와 여러분의 언어를 드롭다운 메뉴에서 선택하세요. Pontoon 은 여러분이 지역화를 시작할 수 있도록 선택한 언어를 자동으로 열어줍니다. 참고하세요, 여기서 우리의 목적은 <a href="https://affiliates.mozilla.org/">Firefox Affiliates</a> 웹사이트를 사용해 Pontoon 의 기능과 작업흐름을 데모해 보는겁니다. 이것이 Photoon 에서 그것을 열었을 때 입니다:</p>
-
-<p><em><img alt="Browser app and workspace" src="https://mdn.mozillademos.org/files/8323/affiliates.png" style="height: 558px;"></em></p>
-
-<h3 id="메인_툴바">메인 툴바</h3>
-
-<p>보시다시피 인터페이스의 대부분은 번역되는 웹사이트에 달려있습니다. 단지 다음 항목들(왼쪽에서 오른쪽으로)을 포함하는 상단의 툴바가 Pontoon 에 속해있습니다:</p>
-
-<p><img alt="Main toolbar" src="https://mdn.mozillademos.org/files/8325/toolbar.png"></p>
-
-<h4 id="문자열의_리스트">문자열의 리스트</h4>
-
-<p>지역화를 위한 리스트를 가진 사이드바를 엽니다.</p>
-
-<h4 id="프로젝트_셀렉터_(제휴된것)"><span id="cke_bm_939S" style="display: none;"> </span>프로젝트 셀렉터 (제휴된것)</h4>
-
-<p>지역화를 위한 프로젝트를 변경합니다.</p>
-
-<h4 id="리소스_셀렉터_(홈페이지)"><span id="cke_bm_940S" style="display: none;"> </span>리소스 셀렉터 (홈페이지)</h4>
-
-<p>부속 페이지나 지역화 파일들같은 지역화를 위한 프로젝트 자원들을 변경합니다. 프로젝트를 위한 가용 자원이 없다면 숨깁니다.</p>
-
-<h4 id="sect1"><span id="cke_bm_941S" style="display: none;"> </span></h4>
-
-<dl>
-</dl>
-
-<h4 id="언어_셀렉터_(Slovenian)">언어 셀렉터 (Slovenian)</h4>
-
-<p>지역화를 위한 언어를 변경합니다.</p>
-
-<h4 id="Go">Go</h4>
-
-<p>프로젝트-자원-언어 선택을 엽니다.</p>
-
-<h4 id="진행상황_표시기">진행상황 표시기</h4>
-
-<p>지역화중인 자원에 대한 여러분의 진행상황을 나타냅니다. 팝업에서 세부사항을 볼 수 있습니다.</p>
-
-<dl>
-</dl>
-
-<h4 id="사용자_메뉴"><span id="cke_bm_943S" style="display: none;"> </span>사용자 메뉴</h4>
-
-<p>저장소에 커밋하거나 파일을 다운받고 로그아웃하기 같은 여러분만의 작업을 할 수 있도록 해줍니다.</p>
-
-<h4 id="정보_메뉴">정보 메뉴</h4>
-
-<p>키보드 단축기 목록과 기대하는 프로젝트 타임라인같은 중요한 정보를 줍니다.</p>
-
-<dl>
-</dl>
-
-<p>좋습니다, 이제 번역 좀 해볼까요?<span id="cke_bm_608E" style="display: none;"> </span></p>
-
-<dl>
-</dl>
-
-<h2 id="번역하기">번역하기</h2>
-
-<p>지역화를 위해 Pontoon 을 사용할 때 몇 가지 번역을 위한 옵션이 있습니다. 컨텍스트에서 번역하거나, 컨텍스트 밖에서 하거나, 둘의 조합에서 할 수 있습니다. 컨텍스트 단위 번역을 살펴봅시다.</p>
-
-<h3 id="컨텍스트에서">컨텍스트에서</h3>
-
-<p>Pontoon's in-context translation mode is what puts it above others. 웹 페이지(또는 웹 앱)를 열고 페이지의 실시간 편집을 활성화합니다. 여기 여러분이 번역할 첫번째 문자열이 있습니다:</p>
-
-<p><img alt="In-context localization" src="https://mdn.mozillademos.org/files/8331/in-context.png"></p>
-
-<ol>
- <li>마우스를 번역할 문자위에 올려놓으세요.</li>
- <li>문자위에 수정 버튼이 나타납니다. 클릭하여 번역 모드를 활성화하세요.</li>
- <li>원본 문자를 여러분의 언어로 번역한 문자로 바꾸세요.</li>
- <li>저장 버튼을 눌러 번역을 저장하세요.</li>
-</ol>
-
-<div>
-<h3 id="컨텍스트_밖에서">컨텍스트 밖에서</h3>
-
-<p>어떤 문자열은 컨텍스트 안에서 번역하는 것이 불가능합니다. 예를들면, 웹사이트의 &lt;title&gt; 태그 안의 내용과 유동적이거나 다양한 복수형 문자열이 있습니다. 메인 툴바의 햄버거 아이콘을 클릭하는 것으로 사이드바에 모든 번역가능한 문자열의 목록을 열 수 있습니다. 또한 컨텍스트 밖 지역화를 위해 사이드바를 사용할 수도 있습니다:</p>
-
-<p><img alt="Out-of-context localization: list" src="https://mdn.mozillademos.org/files/8337/out-of-context-1.png"> <img alt="Out-of-context localization: translate" src="https://mdn.mozillademos.org/files/8335/out-of-context-2.png"></p>
-
-<ol>
- <li>번역할 문자열을 클릭하세요.</li>
- <li>원본 문자열과 세부 사항(코멘트들)을 포함하는 번역 패널을 여세요.</li>
- <li>아래 번역 공간에서 문자열을 번역하세요.</li>
- <li>저장 버튼을 클릭해 번역을 저장하세요.</li>
-</ol>
-
-<p>만약 해당 문자열이 컨텍스트 안에서도 번역 가능한 것이라면 컨텍스트 밖에서 문자열을 번역한 것 처럼 웹사이트에 번역한 내용이 나타날 것입니다. </p>
-
-<h3 id="번역_도우미">번역 도우미</h3>
-</div>
-
-<p>보시다시피 번역 영역 바깥에 있는 히스토리, 번역 기록, 기계 번역 그리고 다른 로케일로부터 제안을 받으실 수 있습니다. 여러분이 문장을 번역하실 때 각 도우미들은 다음과 같이 도움을 드릴 것입니다:</p>
-
-<p><img alt="Translation helpers: History" src="https://mdn.mozillademos.org/files/8339/helpers-history.png"> <img alt="Translation helpers: Machinery" src="https://mdn.mozillademos.org/files/8341/helpers-machinery.png"> <img alt="Translation helpers: Other locales" src="https://mdn.mozillademos.org/files/8343/helpers-locales.png"> <img alt="Translation helpers: Search" src="https://mdn.mozillademos.org/files/8345/helpers-menu.png"></p>
-
-<h4 id="History">History</h4>
-
-<p>이전에 다른 사용자들이 사용했던 제안 번역을 표시합니다.</p>
-
-<h4 id="Machinery">Machinery</h4>
-
-<p>여러 서비스에서 사용된 예를 표시합니다: 내부적으로 저장된 번역 기록, <a href="http://transvision.mozfr.org/">Mozilla Transvision</a>, <a href="https://amagama-live.translatehouse.org/">open source translation memory</a>, <a href="http://www.microsoft.com/Language/">Microsoft terminology</a> 그리고 <a href="http://www.bing.com/translator">machine translation</a>.</p>
-
-<h4 id="Other_locales">Other locales</h4>
-
-<p>다른 로케일에서 사용한 번역을 표시합니다.</p>
-
-<h4 id="Search">Search</h4>
-
-<p>Almost like machinery, but takes provided keyword as input parameter instead of the original string.</p>
-
-<p>추천단어를 클릭하면, 번역 영역으로 내용이 복사됩니다.</p>
-
-<dl>
-</dl>
-
-<h2 id="게시하기">게시하기</h2>
-
-<p>이제 여러분은 repo 에 커밋하는 것으로 지역화 작업을 게시하실 것입니다. Pontoon 으로도 가능합니다! 실제로, Pontoon 은 시간 단위로 저장소와 자동으로 동기화됩니다. 이제 이 작업을 기념하기 위해 스스로 격려하거나, 가벼운 춤을 추거나, 잠을 자거나 또는 다른 것을 해도 좋습니다!</p>
diff --git a/files/ko/msx_emulator_(jsmsx)/index.html b/files/ko/msx_emulator_(jsmsx)/index.html
deleted file mode 100644
index 2ddf77ccfd..0000000000
--- a/files/ko/msx_emulator_(jsmsx)/index.html
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: MSX Emulator (jsMSX)
-slug: MSX_Emulator_(jsMSX)
-translation_of: Archive/Web/MSX_Emulator_(jsMSX)
----
-<p> </p>
-<h3 id="What_is_it.3F" name="What_is_it.3F">간략한 소개</h3>
-<p><strong>jsMSX</strong> 는 100% <a href="/en/JavaScript" style="line-height: 1.5;" title="en/JavaScript">JavaScript</a>로만 구현한 <span style="line-height: 1.5;">첫 </span><a class="external" href="http://en.wikipedia.org/wiki/MSX" style="line-height: 1.5;">MSX</a><span style="line-height: 1.5;"> 에뮬레이터입니다. </span></p>
-<p>MSX 팬이라면 잘 알고 계시는 <a class="external" href="http://en.wikipedia.org/wiki/Z80">Z80 CPU</a>, <a class="external" href="http://en.wikipedia.org/wiki/TMS9918">TMS9918 Video Display Processor (VDP)</a>, PPI, RAM slots, 그리고 Megaram 등을 에뮬레이션합니다. MSX1.0 기반으로 개발된 다양한 프로그램이나 게임을 실행할 수 있습니다.</p>
-<p>JavaScript는 웹브라우저 상에서 가장 활발히 사용하는 스크립트 언어이지만 C언어나 Java언어에 비해서는 성능이 많이 떨어집니다. 따라서, jSMSX가 초당 5~60번의 인터럽트를 처리하려면 상당히 빠른 컴퓨터가 필요합니다. </p>
-<h3 id="Why.3F" name="Why.3F">구현 이유?</h3>
-<p>개발 동기는  <a href="/en/Drawing_Graphics_with_Canvas" title="en/Drawing_Graphics_with_Canvas">&lt;canvas&gt; tag</a> 의 기능을 많은 사람들에게 알리는데 적당하겠다고 생각했고 <a href="/en/Firefox_2_for_developers" title="en/Firefox_2_for_developers">Firefox 2</a> 브라우저가 이런 기능을 잘  지원하였습니다.</p>
-<p>아시다시피 javascript의 성능이 그리 좋지 않아 많은 해결해야할 도전 과제들이 있습니다. jsMSX는 javascript의 성능을 평가하고 이를 개선하는데 비교 자료로 사용될 수 있습니다.</p>
-<p>jsMSX는 웹 로직과 MSX 프로그램을 긴밀하게 연결하는데 사용할 수 있을 것입니다.</p>
-<h3 id="How_to_help" name="How_to_help">도울 수 있는 방법</h3>
-<p>성능 향상이 필요한 많은 일들이 있고, MSX 2.0, MSX 2.0+ 그리고 TurboR 기능들도 여전히 구현이 필요한 부분으로 남아있습니다. 버젼 1.0은 MSX1.0에 적합하도록 최적화된 뒤에 릴리즈될 예정입니다. 버젼 2.0, 3.0 그리고 4.0도 각각 MSX 2.0, 2.0+ 그리고 TurboR에 각각 대응되어 릴리즈할 생각입니다.</p>
-<p>zip파을을 풀 수 있는 JavaScript 펑션이 압축된 ROM을 읽고 풀어내는데 도움이 될 것입니다. 이러한 다양한 일에 참여를 원한다면,다음을 방문해주세요. <a class="external" href="http://sourceforge.net/projects/jsmsx">please have a look at the project</a>, <a class="external" href="http://sourceforge.net/forum/?group_id=175343">please drop a line to the project forum</a>.</p>
-<h3 id="External_Links" name="External_Links">링크</h3>
-<ul>
- <li><a class="external" href="http://jsmsxdemo.googlepages.com/jsmsx.html">View the online demo (requires Firefox 2+)</a></li>
- <li><a class="external" href="http://jsmsx.sourceforge.net">jsMSX Project</a></li>
-</ul>
-<h3 id="See_Also" name="See_Also">참고</h3>
-<ul>
- <li><a href="/en/Drawing_Graphics_with_Canvas" title="en/Drawing_Graphics_with_Canvas">Drawing Graphics with Canvas</a></li>
- <li><a href="/en/Canvas_tutorial" title="en/Canvas_tutorial">Canvas tutorial</a></li>
- <li><a class="external" href="http://www.kingsquare.nl/jsc64" title="http://www.kingsquare.nl/jsc64">jsC64 The 100% JavaScript / Canvas Commodore 64 emulator</a></li>
-</ul>
diff --git a/files/ko/new_compatibility_tables_beta/index.html b/files/ko/new_compatibility_tables_beta/index.html
deleted file mode 100644
index 80c52f2506..0000000000
--- a/files/ko/new_compatibility_tables_beta/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: 새로운 호환성 정보 베타버전
-slug: New_Compatibility_Tables_Beta
-translation_of: Archive/MDN/New_Compatibility_Tables_Beta
----
-<p>당신은 아마도 우리의 새로운 호환성 테이블 중에 있는 베타 알림 링크를 누르고 이 페이지로 왔을 것입니다. (새 테이블을 보고 싶으신가요? <a href="https://developer.mozilla.org/en-US/docs/MDN/Contribute/Howto/Be_a_beta_tester">베타 테스터가 되어보십시오.</a> )</p>
-
-<p>우리가 이것을 테스트하는데 도와주셔서 감사드립니다. 이것들은 더 큰 프로젝트의 일부분입니다. 우리는 <a href="https://github.com/mdn/browser-compat-data">브라우저 호환 정보를 규격화된 JSON에 옮기고 있습니다.</a></p>
-
-<p>데이터가 새 포맷으로 변환되면, 새 테이블이 웹 문서에 나타날 것입니다.</p>
-
-<h2 id="편집">편집</h2>
-
-<p>호환성 정보들은 브라우저 호환 정보가 있는 <a href="https://github.com/mdn/browser-compat-data">GitHub 저장소</a> 내 JSON 파일로 옮기고 있습니다.</p>
-
-<p>호환성 정보들에 기여하시려면, 저장소 내 Issues에 보고하거나, pull request를 보내십시오.</p>
-
-<h2 id="기여하기">기여하기</h2>
-
-<p>올려져 있는 자료에 문제가 있다면, <a href="https://github.com/mdn/browser-compat-data">GitHub 저장소 내 Issues에</a> 알려 주십시오.</p>
-
-<p>테이블이 이상하게 보이거나, 기능상의 오류가 있으시다면,  "오류 보고하기" 버튼을 눌러 오류를 알려 주십시오.</p>
-
-<p>시간이 있으시다면, <a class="external external-icon" href="http://www.surveygizmo.com/s3/2342437/0b5ff6b6b8f6">설문조사에 참여</a>해 주시면 감사하겠습니다. 저희는 의견을 환영합니다.</p>
diff --git a/files/ko/nsicryptohash/index.html b/files/ko/nsicryptohash/index.html
deleted file mode 100644
index a7d656279f..0000000000
--- a/files/ko/nsicryptohash/index.html
+++ /dev/null
@@ -1,271 +0,0 @@
----
-title: nsICryptoHash
-slug: nsICryptoHash
-tags:
- - Add-ons
- - Extensions
- - Interfaces
- - 'Interfaces:Scriptable'
-translation_of: Mozilla/Tech/XPCOM/Reference/Interface/nsICryptoHash
----
-<p> </p>
-
-<h3 id=".EC.86.8C.EA.B0.9C" name=".EC.86.8C.EA.B0.9C">소개</h3>
-
-<p><code>nsICryptoHash</code>는 자료의 암호 해쉬 함수를 계산하기 위해 사용합니다. 예를 들어 파일이 담고 있는 데이터가 기대한 것인지 확인하기 위해 MD5 해쉬를 계산할 수 있습니다. 제공되는 해쉬 알고리즘은 MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512입니다. 이 인터페이스는 <a href="ko/Firefox_1.5">파이어폭스 1.5</a> 버전 이상에서만 사용할 수 있습니다.</p>
-
-<p></p><div style="border: solid #ddd 2px; margin-bottom: 12px;">
-<div style="background: #eee; padding: 2px;"><code><a href="https://dxr.mozilla.org/mozilla-central/source/netwerk/base/public/nsICryptoHash.idl" rel="custom">netwerk/base/public/nsICryptoHash.idl</a></code><span style="text-align: right; float: right;"><a href="/ko/docs/Interfaces/About_Scriptable_Interfaces" style="color: #00cc00; font-weight: 700;">스크립트에서 사용 가능</a></span></div>
-<span style="padding: 4px 2px;">
-
-<i>Please add a summary to this article.</i>
-</span>
-
-<div style="background: #eee; padding: 2px;">
-<span> </span>
-<span style="text-align: right; float: right;">Last changed in Gecko 1.8 (Firefox 1.5 / Thunderbird 1.5 / SeaMonkey 1.0)</span></div>
-</div><p></p>
-
-<h3 id=".EC.83.81.EC.88.98" name=".EC.83.81.EC.88.98">상수</h3>
-
-<h4 id=".ED.95.B4.EC.89.AC_.EC.95.8C.EA.B3.A0.EB.A6.AC.EC.A6.98" name=".ED.95.B4.EC.89.AC_.EC.95.8C.EA.B3.A0.EB.A6.AC.EC.A6.98">해쉬 알고리즘</h4>
-
-<p>이 상수들은 인터페이스가 제공하는 해쉬 알고리즘을 나타냅니다. 사용가능한 것은 다음과 같습니다. :</p>
-
-<ul>
- <li><code>MD2</code></li>
- <li><code>MD5</code></li>
- <li><code>SHA1</code></li>
- <li><code>SHA512</code></li>
- <li><code>SHA256</code></li>
- <li><code>SHA384</code></li>
-</ul>
-
-<h3 id=".EB.A9.94.EC.84.9C.EB.93.9C" name=".EB.A9.94.EC.84.9C.EB.93.9C">메서드</h3>
-
-<h4 id="init" name="init">init</h4>
-
-<pre>void init(in unsigned long aAlgorithm);
-</pre>
-
-<p><code>init()</code>는 인터페이스에 정의된 상수를 이용하여 해쉬 알고리즘을 결정하여 객체를 초기화합니다. 객체의 자료를 갱신하기 전에 반드시 이 메서드나 <code><a href="#initWithString">initWithString()</a></code>를 호출해야 합니다.</p>
-
-<h5 id=".ED.8C.A8.EB.9F.AC.EB.AF.B8.ED.84.B0" name=".ED.8C.A8.EB.9F.AC.EB.AF.B8.ED.84.B0">패러미터</h5>
-
-<p><code>aAlgorithm</code></p>
-
-<dl>
- <dd>해쉬 알고리즘을 선택합니다. 인터페이스에 정의된 상수 중 하나를 선택해야 합니다.</dd>
-</dl>
-
-<h5 id=".EC.98.88.EC.99.B8" name=".EC.98.88.EC.99.B8">예외</h5>
-
-<p><code><span class="nowiki">NS_ERROR_INVALID_ARG</span></code></p>
-
-<dl>
- <dd>지원하지 않는 해쉬 알고리즘이 선택되었다는 것을 알립니다.</dd>
-</dl>
-
-<h4 id="initWithString" name="initWithString">initWithString</h4>
-
-<pre>void initWithString(in ACString aAlgorithm);
-</pre>
-
-<p><code>initWithString()</code>는 <code>"MD5"</code>와 같이 문자열로 된 알고리즘의 이름으로 해쉬 알고리즘을 선택하여 객체를 초기화한다. 객체의 자료를 갱신하기 전에 반드시 이 메서드나 <code><a href="#init">init()</a></code>를 호출해야 합니다.</p>
-
-<h5 id=".ED.8C.A8.EB.9F.AC.EB.AF.B8.ED.84.B0_2" name=".ED.8C.A8.EB.9F.AC.EB.AF.B8.ED.84.B0_2">패러미터</h5>
-
-<p><code>aAlgorithm</code></p>
-
-<dl>
- <dd>사용할 해쉬 알고리즘이 선택합니다.</dd>
-</dl>
-
-<h5 id=".EC.98.88.EC.99.B8_2" name=".EC.98.88.EC.99.B8_2">예외</h5>
-
-<p><code>NS_ERROR_INVALID_ARG</code></p>
-
-<dl>
- <dd>지원하지 않는 해쉬 알고리즘이 선택되었다는 것을 알립니다.</dd>
-</dl>
-
-<h4 id="update" name="update">update</h4>
-
-<pre>void update([const, array, size_is(aLen)] in octet aData, in unsigned long aLen);
-</pre>
-
-<p><code>update()</code>는 해쉬된 자료 배열을 객체에 추가합니다. 이 메서드 사용 예제는 <a href="#.EB.AC.B8.EC.9E.90.EC.97.B4_.ED.95.B4.EC.89.AC_.EC.97.B0.EC.82.B0.ED.95.98.EA.B8.B0">문자열 해쉬 연산하기</a>를 보세요.</p>
-
-<h5 id=".ED.8C.A8.EB.9F.AC.EB.AF.B8.ED.84.B0_3" name=".ED.8C.A8.EB.9F.AC.EB.AF.B8.ED.84.B0_3">패러미터</h5>
-
-<p><code>aData</code></p>
-
-<dl>
- <dd>해쉬를 계산하기 위해 넘기는 버퍼</dd>
-</dl>
-
-<p><code>aLen</code></p>
-
-<dl>
- <dd>버퍼 <code>aData</code>의 길이</dd>
-</dl>
-
-<h5 id=".EC.98.88.EC.99.B8_3" name=".EC.98.88.EC.99.B8_3">예외</h5>
-
-<p><code>NS_ERROR_NOT_INITIALIZED</code></p>
-
-<dl>
- <dd><code><a href="#init">init()</a></code>나 <code><a href="#initWithString">initWithString()</a></code>가 호출되지 않았다는 것을 알립니다.</dd>
-</dl>
-
-<h4 id="updateFromStream" name="updateFromStream">updateFromStream</h4>
-
-<pre>void updateFromStream(in nsIInputStream aStream, in unsigned long aLen);
-</pre>
-
-<p><code>updateFromStream()</code>는 <code><a href="ko/NsIInputStream">nsIInputStream</a></code>로 해쉬될 데이터를 추가합니다. 이 메서드의 사용 예제는 <a href="#.ED.8C.8C.EC.9D.BC_.ED.95.B4.EC.89.AC_.EC.97.B0.EC.82.B0.ED.95.98.EA.B8.B0">파일 해쉬 연산하기</a>를 보세요.</p>
-
-<h5 id=".ED.8C.A8.EB.9F.AC.EB.AF.B8.ED.84.B0_4" name=".ED.8C.A8.EB.9F.AC.EB.AF.B8.ED.84.B0_4">패러미터</h5>
-
-<p><code>aStream</code></p>
-
-<dl>
- <dd>읽어올 입력 스트림</dd>
-</dl>
-
-<p><code>aLen</code></p>
-
-<dl>
- <dd><code>aStream</code>으로 부터 읽을 양을 결정합니다. 해쉬 갱신할 수 있는 최대 양으로 지정하려면 <code>PR_UINT32_MAX</code>를 전달하면 됩니다.</dd>
-</dl>
-
-<h5 id=".EC.98.88.EC.99.B8_4" name=".EC.98.88.EC.99.B8_4">예외</h5>
-
-<p><code>NS_ERROR_NOT_INITIALIZED</code></p>
-
-<dl>
- <dd><code><a href="#init">init()</a></code>나 <code><a href="#initWithString">initWithString()</a></code>가 호출되지 않았다는 것을 알립니다.</dd>
-</dl>
-
-<p><code>NS_ERROR_NOT_AVAILABLE</code></p>
-
-<dl>
- <dd>해쉬 연산 자료량이 허용되지 않습니다.</dd>
-</dl>
-
-<h4 id="finish" name="finish">finish</h4>
-
-<pre>ACString finish(in PRBool aASCII);
-</pre>
-
-<p><code>finish()</code> 메서드는 해쉬 객체를 완성시켜 실제 해쉬 자료를 생성합니다.</p>
-
-<h5 id=".ED.8C.A8.EB.9F.AC.EB.AF.B8.ED.84.B0_5" name=".ED.8C.A8.EB.9F.AC.EB.AF.B8.ED.84.B0_5">패러미터</h5>
-
-<p><code>aASCII</code></p>
-
-<dl>
- <dd>참이면 반환 값은 base 64 인코딩된 문자열입니다. 거짓이면 이진(binary) 자료로 반환합니다.</dd>
-</dl>
-
-<h5 id=".EB.B0.98.ED.99.98_.EA.B0.92" name=".EB.B0.98.ED.99.98_.EA.B0.92">반환 값</h5>
-
-<p>이 메서드는 객체가 읽은 자료의 해쉬를 반환합니다. 이 반환 값은 이진 자료일 수 있고 base 64 인코딩된 문자열일 수 있습니다.</p>
-
-<h5 id=".EC.98.88.EC.99.B8_5" name=".EC.98.88.EC.99.B8_5">예외</h5>
-
-<p><code>NS_ERROR_NOT_INITIALIZED</code></p>
-
-<dl>
- <dd><code><a href="#init">init()</a></code>나 <code><a href="#initWithString">initWithString()</a></code>가 호출되지 않았다는 것을 알립니다.</dd>
-</dl>
-
-<div class="note"><strong>주의:</strong> 이 메서드는 <code><a href="#init">init()</a></code>가 호출된 후로 수회 실행이 가능합니다. 이 호출은 객체를 초기상태로 만듭니다.</div>
-
-<h3 id=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C" name=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C">예제 코드</h3>
-
-<div class="note"><strong>주의:</strong> 아래의 예제는 파이어폭스 2에 구현된 <a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>의 특성을 사용합니다. 파이어폭스 1.5에서 예제를 사용할려면 배열 통합(array comprehension) 대신에 반복을 사용하세요.</div>
-
-<h4 id=".ED.8C.8C.EC.9D.BC_.ED.95.B4.EC.89.AC_.EC.97.B0.EC.82.B0.ED.95.98.EA.B8.B0" name=".ED.8C.8C.EC.9D.BC_.ED.95.B4.EC.89.AC_.EC.97.B0.EC.82.B0.ED.95.98.EA.B8.B0">파일 해쉬 연산하기</h4>
-
-<p><code>nsICryptoHash</code>를 사용하여 파일 해쉬 연산을 쉽게할 수 있습니다. <code>nsICryptoHash</code> 인스턴스를 생성하고 파일을 입력 스트림으로 열고 파일의 자료로 해쉬를 갱신하길 원할 겁니다. 아래의 예제가 파일 MD5 해쉬 연산을 어떻게 하는지 보여줍니다.</p>
-
-<pre>// hardcoded here for convenience
-var path = "c:\\windows\\notepad.exe";
-var f = Components.classes["@mozilla.org/file/local;1"]
- .createInstance(Components.interfaces.nsILocalFile);
-f.initWithPath(path);
-var istream = Components.classes["@mozilla.org/network/file-input-stream;1"]
- .createInstance(Components.interfaces.nsIFileInputStream);
-// open for reading
-istream.init(f, 0x01, 0444, 0);
-var ch = Components.classes["@mozilla.org/security/hash;1"]
- .createInstance(Components.interfaces.nsICryptoHash);
-// we want to use the MD5 algorithm
-ch.init(ch.MD5);
-// this tells updateFromStream to read the entire file
-const PR_UINT32_MAX = 0xffffffff;
-ch.updateFromStream(istream, PR_UINT32_MAX);
-// pass false here to get binary data back
-var hash = ch.finish(false);
-
-// return the two-digit hexadecimal code for a byte
-function toHexString(charCode)
-{
- return ("0" + charCode.toString(16)).slice(-2);
-}
-
-// convert the binary hash data to a hex string.
-var s = Array.from(hash, (c, i) =&gt; toHexString(hash.charCodeAt(i))).join("");
-// s now contains your hash in hex
-</pre>
-
-<p>내 윈도우즈 XP SP2 시스템에서 해쉬 값으로 <code>5eb63bbbe01eeed093cb22bb8f5acdc3</code>를 주었지만 여러분의 경우는 수가 다를 수 있습니다. 이 간단한 예제는 인터페이스의 기능을 대부분 보여줍니다.</p>
-
-<p>첫번째로 주목할 부분은 <code><a href="#init">init()</a></code> 메서드를 호출할 때 해쉬 알고리즘을 결정하는 것입니다. 가능한 모든 올고리즘은 인터페이스의 <a href="#.EC.83.81.EC.88.98">상수</a>에 규정되어 있습니다.</p>
-
-<p>또 주목할 곳은 <code><a href="#updateFromStream">updateFromStream()</a></code> 메서드를 호출할 때 두번째 패러미터가 읽어들일 바이트 수라는 것입니다. 여기에 <code>PR_UINT32_MAX</code>를 보내면 전체 파일을 읽길 원한다고 지시하는 겁니다.</p>
-
-<p>마지막으로 <code><a href="#finish">finish()</a></code> 메서드 호출이 해쉬 값을 생성하는 것입니다. 예제처럼 첫번째 패러미터가 <code>false</code>이면 이진 값을 반환합니다. <code>true</code>를 보내면 해쉬 값은 base 64 인코딩된 문자열로 옵니다. 이 예제에서 해쉬 프로그램에 의해 이진 자료를 입력하고 그 결과로 기본 출력인 16진 문자열을 얻습니다.</p>
-
-<h4 id=".EB.AC.B8.EC.9E.90.EC.97.B4_.ED.95.B4.EC.89.AC_.EC.97.B0.EC.82.B0.ED.95.98.EA.B8.B0" name=".EB.AC.B8.EC.9E.90.EC.97.B4_.ED.95.B4.EC.89.AC_.EC.97.B0.EC.82.B0.ED.95.98.EA.B8.B0">문자열 해쉬 연산하기</h4>
-
-<p>또다른 기본 연산은 문자열 해쉬 값을 연산하는 것입니다. 해쉬 함수가 여러 바이트를 연산하기 때문에 먼저 문자열을 <code><a href="ko/NsIScriptableUnicodeConverter">nsIScriptableUnicodeConverter</a></code>를 사용하여 바이트의 순열로 바꾸고 원하는 유니코드 인코딩으로 바꿔야 합니다.</p>
-
-<div class="note"><strong>주의:</strong> 다른 인코딩은 다른 해쉬 값을 만듭니다! 결과 값을 비교할려면 항상 같은 인코딩을 사용해야 합니다.</div>
-
-<p>아래의 예제는 문자열을 UTF-8 인코딩의 바이트로 바꾸고 MD5 해쉬 값을 계산하는 방법을 보여줍니다. 결과 값은 이전 예제 처럼 16진 문자열입니다.</p>
-
-<pre>var str = "hello world";
-var converter =
- Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].
- createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
-
-// we use UTF-8 here, you can choose other encodings.
-converter.charset = "UTF-8";
-// result is an out parameter,
-// result.value will contain the array length
-var result = {};
-// data is an array of bytes
-var data = converter.convertToByteArray(str, result);
-var ch = Components.classes["@mozilla.org/security/hash;1"]
- .createInstance(Components.interfaces.nsICryptoHash);
-ch.init(ch.MD5);
-ch.update(data, data.length);
-var hash = ch.finish(false);
-
-// return the two-digit hexadecimal code for a byte
-function toHexString(charCode)
-{
- return ("0" + charCode.toString(16)).slice(-2);
-}
-
-// convert the binary hash data to a hex string.
-var s = Array.from(hash, (c, i) =&gt; toHexString(hash.charCodeAt(i))).join("");
-// s now contains your hash in hex: should be
-// 5eb63bbbe01eeed093cb22bb8f5acdc3
-</pre>
-
-<p>이 예제에서 해쉬 배열을 보내기 위해 <code><a href="#update">update()</a></code> 메서드를 씁니다. 이전 예제처럼 이진 결과를 16진 문자열로 변경했습니다.</p>
-
-<p></p>
diff --git a/files/ko/nsiidleservice/index.html b/files/ko/nsiidleservice/index.html
deleted file mode 100644
index d8989f6375..0000000000
--- a/files/ko/nsiidleservice/index.html
+++ /dev/null
@@ -1,134 +0,0 @@
----
-title: nsIIdleService
-slug: nsIIdleService
-tags:
- - Interfaces
- - MDC Project
- - NeedsContent
- - XPCOM API Reference
-translation_of: Mozilla/Tech/XPCOM/Reference/Interface/nsIIdleService
----
-<p>« <a href="/ko/docs/XPCOM_API_Reference">XPCOM API Reference</a> </p>
-<p></p><div style="border: solid #ddd 2px; margin-bottom: 12px;">
-<div style="background: #eee; padding: 2px;"><code><a href="https://dxr.mozilla.org/mozilla-central/source/widget/public/nsIIdleService.idl" rel="custom">widget/public/nsIIdleService.idl</a></code><span style="text-align: right; float: right;"><a href="/ko/docs/Interfaces/About_Scriptable_Interfaces" style="color: #00cc00; font-weight: 700;">스크립트에서 사용 가능</a></span></div>
-<span style="padding: 4px 2px;">
-
-<i>Please add a summary to this article.</i>
-</span>
-
-<div style="background: #eee; padding: 2px;">
-<span> </span>
-<span style="text-align: right; float: right;">Last changed in Gecko 1.9a </span></div>
-</div><p></p>
-<h2 id=".EC.9A.94.EC.95.BD" name=".EC.9A.94.EC.95.BD">요약</h2>
-<p>유휴 서비스를 이용하면 사용자가 얼마나 오래 '유휴 상태' 즉, 마우스나 키보드를 사용하지 않았는지 감시할 수 있습니다. 유휴 시간을 직접 얻을 수도 있지만 대부분의 경우 미리 지정한 간격에 대한 관찰자를 등록하게 됩니다.</p>
-<p>현재 <code>nsIIdleService</code> 구현은 Windows, Mac OS X, Linux (XScreenSaver 이용)에 존재합니다.</p>
-<p>구현 클래스: <code>@mozilla.org/widget/idleservice;1</code>. 인스턴스를 생성하려면 다음과 코드를 사용합니다.</p>
-<pre class="eval">var idleService = Components.classes["@mozilla.org/widget/idleservice;1"]
- .getService(Components.interfaces.nsIIdleService)
-</pre>
-<h2 id=".EB.A9.94.EC.86.8C.EB.93.9C_.EA.B0.9C.EC.9A.94" name=".EB.A9.94.EC.86.8C.EB.93.9C_.EA.B0.9C.EC.9A.94">메소드 개요</h2>
-<table class="standard-table">
- <tbody>
- <tr>
- <td><code>void <a href="#addIdleObserver.28.29">addIdleObserver</a>(in <a href="ko/NsIObserver">nsIObserver</a> observer, in unsigned long time)</code></td>
- </tr>
- <tr>
- <td><code>void <a href="#removeIdleObserver.28.29">removeIdleObserver</a>(in <a href="ko/NsIObserver">nsIObserver</a> observer, in unsigned long time)</code></td>
- </tr>
- </tbody>
-</table>
-<h2 id=".EC.86.8D.EC.84.B1" name=".EC.86.8D.EC.84.B1">속성</h2>
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">속성</td>
- <td class="header">형식</td>
- <td class="header">설명</td>
- </tr>
- <tr>
- <td><code>idleTime</code></td>
- <td><code>long</code></td>
- <td>1000분의 1초 단위의 마지막 사용자 동작 이후 지난 시간.
- <i>
- 읽기 전용.</i>
- </td>
- </tr>
- </tbody>
-</table>
-<h2 id=".EB.A9.94.EC.86.8C.EB.93.9C" name=".EB.A9.94.EC.86.8C.EB.93.9C">메소드</h2>
-<h3 id="addIdleObserver.28.29" name="addIdleObserver.28.29">addIdleObserver()</h3>
-<p>사용자가 특정 시간 동안 유휴일 때와 유휴 상태에서 돌아올 때 알림을 받을 관찰자를 추가합니다.</p>
-<pre class="eval">void addIdleObserver(
- in nsIObserver observer,
- in unsigned long time
-)
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98" name=".EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98">매개 변수</h6>
-<dl>
- <dt>
- &lt;tt&gt;observer&lt;/tt&gt;</dt>
- <dd>
- 알림을 받을 <a href="ko/NsIObserver">관찰자</a></dd>
-</dl>
-<dl>
- <dt>
- &lt;tt&gt;time&lt;/tt&gt;</dt>
- <dd>
- 관찰자에게 알리기 전에 사용자가 유휴 상태이어야 하는 초 단위 시간.</dd>
-</dl>
-<h6 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0">참고</h6>
-<ul>
- <li>관찰자가 받게 되는 알림의 제목은 항상 <code>nsIIdleService</code> 자체입니다. 사용자가 유휴가 되면 관찰자 주제는 'idle'이고 다시 돌아오면 관찰자 주제는 'back'입니다. 알림의 data 매개 변수는 현재의 사용자 유휴 시간을 포함하고 있습니다.</li>
-</ul>
-<ul>
- <li>같은 관찰자를 두 번 추가할 수 있습니다.</li>
-</ul>
-<ul>
- <li>대부분의 구현은 유휴 정보를 위해서 운영체제를 정기적으로 확인해야 합니다. 이는 구현의 확인 간격 만큼 알림이 지연되어 도착할 수 있다는 뜻입니다. 현재의 구현은 5초 간격을 사용하고 있습니다.</li>
-</ul>
-<h3 id="removeIdleObserver.28.29" name="removeIdleObserver.28.29">removeIdleObserver()</h3>
-<p>addIdleObserver로 등록한 관찰자를 제거합니다.</p>
-<pre class="eval">void removeIdleObserver(
- in nsIObserver observer,
- in unsigned long time
-)
-</pre>
-<h6 id=".EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98_2" name=".EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98_2">매개 변수</h6>
-<dl>
- <dt>
- &lt;tt&gt;observer&lt;/tt&gt;</dt>
- <dd>
- 삭제할 <a href="ko/NsIObserver">관찰자</a></dd>
-</dl>
-<dl>
- <dt>
- &lt;tt&gt;time&lt;/tt&gt;</dt>
- <dd>
- 관찰자가 기다리던 시간</dd>
-</dl>
-<h6 id="Remarks" name="Remarks">Remarks</h6>
-<p>관찰자는 것은 여러분이 지정한 유휴 시간에 대하여 한 번 제거하게 됩니다. 관찰자를 여러 번 추가했다면 그 수 만큼 제거</p>
-<h2 id=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C" name=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C">예제 코드</h2>
-<p>예제 1:</p>
-<pre class="eval">var idleService = Components.classes["@mozilla.org/widget/idleservice;1"]
- .getService(Components.interfaces.nsIIdleService)
-setTimeout(function() { alert(idleService.idleTime) }, 1000)
-// if you don't use the mouse or the keyboard after running this snippet,
-// you'll see a number around 1000 alerted.
-</pre>
-<p>예제 2:</p>
-<pre class="eval">var idleService = Components.classes["@mozilla.org/widget/idleservice;1"]
- .getService(Components.interfaces.nsIIdleService)
-var idleObserver = {
- observe: function(subject, topic, data) {
- alert("topic: " + topic + "\ndata: " + data);
- }
-};
-idleService.addIdleObserver(idleObserver, 60); // one minute
-// ...
-// Don't forget to remove the observer using removeIdleObserver!
-idleService.removeIdleObserver(idleObserver, 60);
-</pre>
-<p><span class="comment">Interwiki Language Links</span></p>
-<p></p>
diff --git a/files/ko/nss/index.html b/files/ko/nss/index.html
deleted file mode 100644
index 5e8100645e..0000000000
--- a/files/ko/nss/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: Network Security Services
-slug: NSS
-tags:
- - MDC Project
- - NSS
- - NeedsMigration
-translation_of: Mozilla/Projects/NSS
----
-<p> </p>
-<p><b>네트워크 보안 서비스</b>(<b>NSS</b>, Network Security Services)는 보안이 가능한 클라이언트와 서버의 응용 프로그램 개발을 지원하는 양방향 플랫폼으로 설계된 라이브러리의 묶음입니다. NSS로 개발된 응용 프로그램은 SSL 2, v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3와 이외의 보안 기준들을 지원합니다. 지원되는 기준들에 대한 자세한 정보는 <a href="ko/Overview_of_NSS">Overview of NSS</a>를 참고하세요. 자주 묻는 질문 리스트는 [[NSS_FAQ{{mediawiki.external('FAQ')}}]를 참고하세요.</p>
-<p>NSS는 모질라 공용 라이선스, GNU 일반 공용 라이선스 그리고 GNU 소형 일반 공용 라이선스 하에서 이용이 가능합니다. .tar 파일로 배포된 NSS를 다운로드 하려면 <a class="external" href="http://www.mozilla.org/projects/security/pki/src/download.html">PKI 소스 다운로드</a>를 참조하세요.</p>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h4 id="Documentation" name="Documentation"><a>Documentation</a></h4>
- <div class="note">
- <p>모질라 NSS 관련 문서는 <a class="external" href="http://www.mozilla.org/projects/security/pki/nss/">에서 확인할 수 있습니다. 모든 문서는 위키 형태로 변환되어야 합니다. </a></p>
- </div>
- <p><a class="external" href="http://www.mozilla.org/projects/security/pki/nss/">아래 주제와 관련된 추가 문서를 사용할 수 있습니다. (위키에서만 가능) </a></p>
- <ul>
- <li><a href="ko/NSS_reference">NSS Reference (진행중)</a></li>
- <li><a href="ko/PKCS11_Module_Specs">The strings NSS uses to load PKCS #11 modules</a></li>
- <li><a href="ko/PKCS11">Documentation on implementing PKCS #11 modules</a></li>
- <li><a href="ko/JavaScript_crypto">Using the window.crypto object from JavaScript</a></li>
- <li><a href="ko/HTTP_Delegation">Delegation of HTTP download for OCSP</a></li>
- <li><a href="ko/TLS_Cipher_Suite_Discovery">TLS Cipher Suite Discovery</a></li>
- <li>View <a>all NSS-related articles on MDC</a></li>
- </ul>
- <p>QA/testing :</p>
- <ul>
- <li><a href="ko/Testing_third-party_PKCS#11_modules.2Ftokens_with_NSS">Testing third-party PKCS #11 modules/tokens with NSS</a></li>
- </ul>
- <p>Information on NSS planning can be found at <a class="external" href="http://wiki.mozilla.org/NSS">wiki.mozilla.org</a>, including:</p>
- <ul>
- <li><a class="external" href="http://wiki.mozilla.org/FIPS_Validation">FIPS Validation</a></li>
- <li><a class="external" href="http://wiki.mozilla.org/NSS:Roadmap">NSS Roadmap page</a></li>
- </ul>
- </td>
- <td>
- <h4 id="Community" name="Community">Community</h4>
- <ul>
- <li>View Mozilla Security forums...</li>
- </ul>
- <p>{{ DiscussionList("dev-security", "mozilla.dev.security") }}</p>
- <ul>
- <li>View Mozilla Cryptography forums...</li>
- </ul>
- <p>{{ DiscussionList("dev-tech-crypto", "mozilla.dev.tech.crypto") }}</p>
- <h4 id="Related_Topics" name="Related_Topics">Related Topics</h4>
- <dl>
- <dd>
- <a href="ko/Security">Security</a></dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
-<p> </p>
-<div class="noinclude">
-  </div>
-<p>{{ languages( { "es": "es/NSS", "ja": "ja/NSS" } ) }}</p>
diff --git a/files/ko/nss/new_nss_samples/index.html b/files/ko/nss/new_nss_samples/index.html
deleted file mode 100644
index dd972868a6..0000000000
--- a/files/ko/nss/new_nss_samples/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title: New NSS Samples
-slug: NSS/New_NSS_Samples
-translation_of: Mozilla/Projects/NSS/New_NSS_Samples
----
-<h2 id="New_NSS_Sample_Code">New NSS Sample Code</h2>
-
-<p> </p>
-
-<p>여기 샘플 코드 모음은 NSS가 암호화 작업, 인증서 처리, SSL 등에 어떻게 사용될 수 있는지 보여줍니다. 또한 암호화 적용에 대한 몇 가지 모범 사례를 보여줍니다.</p>
-
-<p><br>
- These new examples are still a work in progress. See https://bugzilla.mozilla.org/show_bug.cgi?id=490238</p>
-
-<p>You are welcome to download the new samples via:</p>
-
-<pre class="bz_comment_text" id="comment_text_42">hg clone https://hg.mozilla.org/projects/nss; cd nss; hg update SAMPLES_BRANCH
-</pre>
-
-<p>These are the new examples</p>
-
-<ol>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Sample_Code/Sample1_-_Hashing">Sample Code 1: Hashing</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Sample_Code/Sample2_-_Initialize_NSS_Database">Sample Code 2: Init NSS database</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Encrypt_Decrypt_MAC_Using_Token">Sample Code 3: Encrypt/Decrypt and Mac Using Token</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Encrypt_Decrypt_MAC_Keys_As_Session_Objects">Sample Code 4: Encrypt/Decrypt and Mac Using Session Objects</a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Sample_Code/Enc_Dec_MAC_Output_Plblic_Key_as_CSR">Sample Code 5: Encrypt/Decrypt/MAC Output Public Key as a CSR </a></li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Sample_Code/Enc_Dec_MAC_Using_Key_Wrap_CertReq_PKCS10_CSR">Sample Code 6: Encrypt/Decrypt/MAC Generating a PKCS#11 CSR</a></li>
-</ol>
-
-<p>This is common code used by the new examples</p>
-
-<ol>
- <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Sample_Code/Utiltiies_for_nss_samples">Sample Code 0: Utilities</a></li>
-</ol>
-
-<p>Thanks are due to Shailendra Jain, Mozilla Community member, who is the principal author of these samples.</p>
diff --git a/files/ko/places/accessing_bookmarks/index.html b/files/ko/places/accessing_bookmarks/index.html
deleted file mode 100644
index 76d52c1ab7..0000000000
--- a/files/ko/places/accessing_bookmarks/index.html
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: Accessing Bookmarks
-slug: Places/Accessing_Bookmarks
-tags:
- - Firefox 3
- - Places
-translation_of: Mozilla/Tech/Places/Manipulating_bookmarks_using_Places
----
-<p></p>
-<p>이 문서는 북마크 트리의 일부를 빠르게 구하기를 원하는 사람들을 위한 빠른 시작을 제공합니다. 북마크는 <a href="ko/Places/Query_System">플레이스 질의 시스템</a>을 이용하여 구할 수 있으며, 이는 더 일반적인 정보를 담고 있습니다. 북마크 서비스 API에 대해서는 <a href="ko/Places/Bookmarks_Service">북마크 서비스</a>를 참고하시기 바랍니다.</p>
-<h3 id=".EC.A7.88.EC.9D.98.EC.99.80_.EC.98.B5.EC.85.98_.EA.B0.9C.EC.B2.B4_.EC.96.BB.EA.B8.B0" name=".EC.A7.88.EC.9D.98.EC.99.80_.EC.98.B5.EC.85.98_.EA.B0.9C.EC.B2.B4_.EC.96.BB.EA.B8.B0">질의와 옵션 개체 얻기</h3>
-<p>모든 질의는 히스토리 서비스를 통해 실행합니다. 먼저 히스토리 서비스에서 빈 질의와 옵션 개체를 얻어야 합니다.</p>
-<pre>var historyService = Components.classes["@mozilla.org/browser/nav-history-service;1"]
- .getService(Components.interfaces.nsINavHistoryService);
-var options = historyService.getNewQueryOptions();
-var query = historyService.getNewQuery();
-</pre>
-<h3 id=".EC.9B.90.ED.95.98.EB.8A.94_.ED.8F.B4.EB.8D.94_.EC.B0.BE.EA.B8.B0" name=".EC.9B.90.ED.95.98.EB.8A.94_.ED.8F.B4.EB.8D.94_.EC.B0.BE.EA.B8.B0">원하는 폴더 찾기</h3>
-<p>알려진 폴더 ID는 북마크 서비스에서 구할 수 있습니다. <code><a href="https://dxr.mozilla.org/mozilla-central/source//toolkit/components/places/public/nsINavBookmarksService.idl" rel="custom">/toolkit/components/places/public/nsINavBookmarksService.idl</a></code>에 정의된 속성은 <code>bookmarksMenuFolder</code>, <code>tagsFolder</code>, <code>unfiledBookmarksFolder</code>, <code>toolbarFolder</code>입니다. 이전 질의에서 폴더 ID를 얻을 수도 있습니다.</p>
-<p>이 예제는 북마크 도구 막대의 ID를 얻는 것입니다.</p>
-<pre>var bookmarksService = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"]
- .getService(Components.interfaces.nsINavBookmarksService);
-var toolbarFolder = bookmarksService.toolbarFolder;
-</pre>
-<p><code>placesRoot</code>는 전체 플레이스 계층 구조의 최상위 폴더입니다. 이는 사용자 데이터 뿐만 아니라 관리 데이터를 포함하고 있어서 질의에 사용하는 것은 바람직하지 않습니다.</p>
-<h3 id=".EC.A7.88.EC.9D.98.EC.99.80_.EC.98.B5.EC.85.98_.EA.B0.9C.EC.B2.B4_.EC.B1.84.EC.9A.B0.EA.B8.B0" name=".EC.A7.88.EC.9D.98.EC.99.80_.EC.98.B5.EC.85.98_.EA.B0.9C.EC.B2.B4_.EC.B1.84.EC.9A.B0.EA.B8.B0">질의와 옵션 개체 채우기</h3>
-<p>전체 북마크 트리를 원하면 그룹화 옵션 <code>GROUP_BY_FOLDER</code>을 사용해야 합니다. 현재, 질의 시스템은 이 플래그가 필요하지 않으며 정확하게 한 폴더의 내용을 요청하면 항상 계층 구조를 반환합니다. 이는 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=331487" title="Fix GROUP_BY_FOLDER in query system">bug 331487</a>입니다. 버그가 수정되면 <code>GROUP_BY_FOLDER</code>이 없는 북마크 질의는 모든 폴더와 서브폴더에서 질의에 부합하는 모든 북마크의 단순 목록을 반환할 것입니다.</p>
-<p>통상의 북마크 질의에서 여러분은 하나의 최상위 폴더를 갖습니다. 질의 개체에서 이 폴더는 <code>setFolders</code>에 주어집니다.</p>
-<pre>options.setGroupingMode([options.GROUP_BY_FOLDER],1);
-query.setFolders([toolbarFolder], 1);
-</pre>
-<h3 id=".EC.A7.88.EC.9D.98_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0" name=".EC.A7.88.EC.9D.98_.EC.8B.A4.ED.96.89.ED.95.98.EA.B8.B0">질의 실행하기</h3>
-<p><code>executeQuery</code> 및 <code>executeQueries</code> 함수는 질의 결과를 포함한 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryResult" title="">nsINavHistoryResult</a></code> 개체를 반환합니다.</p>
-<pre>var result = historyService.executeQuery(query, options);
-</pre>
-<h3 id=".EA.B2.B0.EA.B3.BC_.EC.96.BB.EA.B8.B0" name=".EA.B2.B0.EA.B3.BC_.EC.96.BB.EA.B8.B0">결과 얻기</h3>
-<p>(예제와 같이) 키워드나 날짜 범위와 같은 고급 매개 변수가 없이 폴더로 분류된 딱 하나의 폴더를 질의할 때, 결과의 <code>root</code>는 폴더에 해당하는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryContainerResultNode" title="">nsINavHistoryContainerResultNode</a></code>가 됩니다. 질의가 복잡하거나 <code>GROUP_BY_FOLDER</code>를 사용하지 않았다면 루트는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavHistoryQueryResultNode" title="">nsINavHistoryQueryResultNode</a></code>가 됩니다.</p>
-<p>결과 콘테이너의 자식을 접근하기 전에 먼저 그것을 열고 나서 자식을 탐색할 수 있습니다. 콘테이너가 열려 있는 동안 북마크 시스템의 공지를 듣고 자신을 최신 상태로 유지하게 됩니다. 작업을 마치면 꼭 콘테이너를 닫아 자원을 해제하십시오. 그렇지 않으면 콘테이너는 계속 알림을 받고 자신을 갱신하여 전체 브라우저를 느리게 합니다.</p>
-<pre>var rootNode = result.root;
-rootNode.containerOpen = true;
-
-// iterate over the immediate children of this folder and dump to console
-for (var i = 0; i &lt; rootNode.childCount; i ++) {
- var node = rootNode.getChild(i);
- dump("Child: " + node.title + "\n");
-}
-
-// close a container after using it!
-rootNode.containerOpen = false;
-</pre>
-<p><code>RESULT_TYPE_FOLDER</code> 형식이나 다른 형식의 노드를 만나면 이 폴더를 열고 계층 구조의 아래로 내려갈 수 있습니다. 여러 가지 결과 형식을 이해하려면 <a href="ko/Places/Query_System">플레이스:질의 시스템</a>의 "결과 이용하기" 섹션을 참고하시기 바랍니다.</p>
-<h3 id=".EC.A0.84.EC.B2.B4_.EC.BD.94.EB.93.9C" name=".EC.A0.84.EC.B2.B4_.EC.BD.94.EB.93.9C">전체 코드</h3>
-<pre>var historyService = Components.classes["@mozilla.org/browser/nav-history-service;1"]
- .getService(Components.interfaces.nsINavHistoryService);
-var options = historyService.getNewQueryOptions();
-var query = historyService.getNewQuery();
-
-var bookmarksService = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"]
- .getService(Components.interfaces.nsINavBookmarksService);
-var toolbarFolder = bookmarksService.toolbarFolder;
-
-//comment out the next line for now; the bug hasn't been fixed; final version should include the next line
-options.setGroupingMode([options.GROUP_BY_FOLDER],1);
-query.setFolders([toolbarFolder], 1);
-
-var result = historyService.executeQuery(query, options);
-var rootNode = result.root;
-rootNode.containerOpen = true;
-
-// iterate over the immediate children of this folder and dump to console
-for (var i = 0; i &lt; rootNode.childCount; i ++) {
- var node = rootNode.getChild(i);
- dump("Child: " + node.title + "\n");
-}
-
-// close a container after using it!
-rootNode.containerOpen = false;
-</pre>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/places/index.html b/files/ko/places/index.html
deleted file mode 100644
index 99ffcc3778..0000000000
--- a/files/ko/places/index.html
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title: Places
-slug: Places
-tags:
- - Add-ons
- - Developing Mozilla
- - Extensions
- - Places
-translation_of: Mozilla/Tech/Places
----
-<p></p>
-
-<p>플레이스(Places)는 Firefox의 북마크와 히스토리 시스템을 재작성한 것입니다. 이는 상당한 유연성과 복잡한 질의가 가능한 것을 목표로 삼고 있습니다. 파비콘(favicon) 저장소나 임의의 정보로 페이지에 주석을 달 수 있는 것과 같은 새로운 기능도 포함하고 있습니다. 또한, 다양한 새로운 사용자 인터페이스도 포함하고 있는데 본 개발자 문서에서는 이에 대해 다루지 않습니다(<a class="wikimo" href="https://wiki.mozilla.org/Places" title="플레이스에 대한 모질라 위키 페이지">플레이스에 대한 모질라 위키 페이지</a>를 참고하십시오).</p>
-
-<p>플레이스는 <a href="/ko/Storage" title="ko/Storage">mozStorage</a> 인터페이스를 이용하여 <a class="external" href="http://sqlite.org/">sqlite</a> 데이터베이스에 데이터를 저장합니다.</p>
-
-<h2 id=".EC.A3.BC.EC.A0.9C" name=".EC.A3.BC.EC.A0.9C">주제</h2>
-
-<dl>
- <dt><a href="/ko/Places/Query_System" title="ko/Places/Query_System">질의 시스템(Query System)</a></dt>
- <dd>특정 매개 변수로 북마크와 히스토리 시스템을 질의하는 방법.</dd>
-</dl>
-
-<dl>
- <dt><a href="/ko/Places/Accessing_Bookmarks" title="ko/Places/Accessing_Bookmarks">북마크 접근하기(Accessing Bookmarks)</a></dt>
- <dd>북마크를 접근하는 방법.</dd>
-</dl>
-
-<dl>
- <dt><a href="/ko/Places/Custom_Containers" title="ko/Places/Custom_Containers">사용자 정의 콘테이너(Custom Containers)</a></dt>
- <dd>플레이스 뷰에 서드파티 원본의 링크를 표시하기 위하여 사용자 정의 콘테이너를 생성하는 방법.</dd>
-</dl>
-
-<dl>
- <dt><a href="/ko/Places/Views" title="ko/Places/Views">뷰(Views)</a></dt>
- <dd>자신의 애플리케이션이나 확장에 플레이스 뷰를 생성하고 구성하는 방법.</dd>
-</dl>
-
-<dl>
- <dt><a href="/ko/Places/Instantiating_Views" title="ko/Places/Instantiating_Views">뷰 생성하기(Instantiating Views)</a></dt>
- <dd>자신의 확장이나 애플리케이션에 사용하기 위하여 내장된 플레이스 뷰를 포함한 콘트롤을 생성하는 방법.</dd>
-</dl>
-
-<h2 id=".EC.84.9C.EB.B9.84.EC.8A.A4_API_.EB.AC.B8.EC.84.9C" name=".EC.84.9C.EB.B9.84.EC.8A.A4_API_.EB.AC.B8.EC.84.9C">서비스 API 문서</h2>
-
-<dl>
- <dt><a href="/ko/Places/History_Service" title="ko/Places/History_Service">히스토리 서비스(History Service)</a></dt>
- <dt><a href="/ko/Places/Bookmarks_Service" title="ko/Places/Bookmarks_Service">북마크 서비스(Bookmarks Service)</a></dt>
- <dt><a href="/ko/Places/Annotation_Service" title="ko/Places/Annotation_Service">주석 서비스(Annotation Service)</a></dt>
- <dt><a href="/ko/Places/Livemark_Service" title="ko/Places/Livemark_Service">라이브마크 서비스(Livemark Service)</a></dt>
- <dt><a href="/ko/Places/Favicon_Service" title="ko/Places/Favicon_Service">파비콘 서비스(Favicon Service)</a></dt>
- <dt><a href="/ko/Places/Tagging_Service" title="ko/Places/Tagging_Service">태깅 서비스(Tagging Service)</a></dt>
-</dl>
-
-<h2 id=".EC.84.A4.EA.B3.84_.EB.AC.B8.EC.84.9C" name=".EC.84.A4.EA.B3.84_.EB.AC.B8.EC.84.9C">설계 문서</h2>
-
-<dl>
- <dt><a href="/ko/Places/Design" title="ko/Places/Design">플레이스 데이터베이스 디자인(Places Database Design)</a></dt>
- <dd>플레이스 데이터베이스 설계에 대한 고수준 개요.</dd>
- <dt><a href="/ko/Places/History_Service/Design" title="ko/Places/History_Service/Design">히스토리 서비스 설계(History Service Design)</a></dt>
- <dd>히스토리 서비스 설계.</dd>
- <dt><a href="/ko/Places/Bookmarks_Service/Design" title="ko/Places/Bookmarks_Service/Design">북마크 서비스 설계(Bookmark Service Design)</a></dt>
- <dd>북마크 서비스 설계.</dd>
- <dt><a href="/ko/Places/Annotation_Service/Design" title="ko/Places/Annotation_Service/Design">주석 서비스 설계(Annotation Service Design)</a></dt>
- <dd>주석 서비스 설계.</dd>
- <dt><a href="/ko/Places/Awesomebar" title="ko/Places/Awesomebar">위치 막대 설계(Location Bar Design)</a></dt>
- <dd>멋진 막대(awesomebar)라는 별명을 가진 플레이스 구동 위치 막대(Places-driven Location Bar)의 설계 및 알고리즘.</dd>
-</dl>
-
-<p></p>
diff --git a/files/ko/preferences_system/examples/index.html b/files/ko/preferences_system/examples/index.html
deleted file mode 100644
index cc536d86f3..0000000000
--- a/files/ko/preferences_system/examples/index.html
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: Examples
-slug: Preferences_System/Examples
-tags:
- - NeedsContent
- - Preferences system
----
-<p>{{ Preferences_System_TOC() }}
-</p>
-<h3 id="Preferences_.EB.8C.80.ED.99.94.EC.83.81.EC.9E.90_.EC.98.88"> Preferences 대화상자 예 </h3>
-<pre class="eval">&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet href="<span>chrome://global/skin/</span>" type="text/css"?&gt;
-
-&lt;prefwindow id="stockwatcher2-prefs"
- title="StockWatcher 2 Options"
- xmlns="<span>http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul</span>"&gt;
-
-&lt;prefpane id="sw2-stock-pane" label="Stock Settings"&gt;
- &lt;preferences&gt;
- &lt;preference id="pref_symbol" name="stockwatcher2.symbol" type="string"/&gt;
- &lt;/preferences&gt;
-
- &lt;hbox align="center"&gt;
- &lt;label control="symbol" value="Stock to watch: "/&gt;
- &lt;textbox preference="pref_symbol" id="symbol" maxlength="4"/&gt;
- &lt;/hbox&gt;
-&lt;/prefpane&gt;
-
-&lt;/prefwindow&gt;
-</pre>
-<p>같이 보기: <a href="ko/Adding_preferences_to_an_extension"> 확장기능에 preferences 추가하기</a>
-</p>{{ languages( { "en": "en/Preferences_System/Examples", "ja": "ja/Preferences_System/Examples" } ) }}
diff --git a/files/ko/preferences_system/index.html b/files/ko/preferences_system/index.html
deleted file mode 100644
index 4a1d1f2717..0000000000
--- a/files/ko/preferences_system/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: Preferences System
-slug: Preferences_System
-tags:
- - Preferences system
- - XUL
----
-<p>이 문서는 Aviary Toolkit의 새 preferences system을 설명합니다. 이 시스템을 쓰면 여러 플랫폼(Windows, MacOS X, GNOME)에서 알맞게 동작하고 표시하는 preferences 창을 만들 수 있습니다.
-</p><p><b>주의:</b> Preferences System은 오직 Firefox/Thunderbird 1.5(alpha와 beta 포함)에서 시작할 수 있습니다. Firefox 1.0 기반 응용프로그램과 확장기능에서는 쓸 수 없습니다.
-</p><p>새 시스템은 <a href="ko/XUL">XUL</a> 요소와 속성 몇 개로 구현됩니다. 이에 관한 참조 정보는 아래 링크 가운데 하나를 클릭하면 이용할 수 있습니다.
-</p><div class="moreinfo"> <p><strong><a href="/ko/docs/Preferences_System">Preferences System</a> 문서:</strong></p> <ul> <li>소개: <a href="/ko/docs/Preferences_System/Getting_Started">시작하기</a> | <a href="/ko/docs/Preferences_System/Examples">예제</a> | <a href="/ko/docs/Preferences_System/Troubleshooting">문제 해결하기</a></li> <li>참조: <code><a href="/ko/docs/Mozilla/Tech/XUL/prefwindow" title="prefwindow">prefwindow</a></code> | <code><a href="/ko/docs/Mozilla/Tech/XUL/prefpane" title="prefpane">prefpane</a></code> | <code><a href="/ko/docs/Mozilla/Tech/XUL/preferences" title="preferences">preferences</a></code> | <code><a href="/ko/docs/Mozilla/Tech/XUL/preference" title="preference">preference</a></code> | <a href="/ko/docs/Preferences_System/New_attributes">새 속성</a></li> </ul></div>
-
-<h3 id=".EC.82.AC.EC.9A.A9" name=".EC.82.AC.EC.9A.A9"> 사용 </h3>
-<p><span class="comment">this will eventually be moved from here</span>
-</p><p>전형이 될 만한 preferences 창을 위한 코드는 아래처럼 보일 수 있습니다:
-</p>
-<pre>&lt;prefwindow id="appPreferences"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;
- &lt;prefpane id="pane1" label="&amp;pane1.title;"&gt;
- &lt;preferences&gt;
- &lt;preference id="pref1" name="pref.name" type="bool"/&gt;
- &lt;/preferences&gt;
-
- .. 위 preferences를 참조하는 UI 요소, 예를 들면:
- &lt;checkbox id="check1" preference="pref1"
- label="&amp;check1.label;" accesskey="&amp;check1.accesskey;"/&gt;
- &lt;/prefpane&gt;
-
- &lt;prefpane id="pane2" label="&amp;pane2.title;" src="chrome://uri/to/pane.xul"/&gt;
-&lt;/prefwindow&gt;
-</pre>
-<p>Pane content는 inline이나 dynamic 오버레이(overlay)를 거쳐 로드될 pane content를 위해 공급된 외부 chrome URI로 지정할 수 있습니다. 여러분은 대상으로 삼는 플랫폼을 위한 <abbr title="Human Interface Guidelines">HIG</abbr>를 읽는데 주의하고 서로 다른 창 제목을 알맞게 설정하기 위해 필요하다면 XUL 전처리기(preprocessor)를 써야 합니다. 또한 창 크기가 선택(된) panel이 바뀜에 따라 바뀌지 않는 플랫폼(예 Windows)을 위한 높이(em으로)뿐만 아니라, 각 대상 플랫폼을 위한 전처리기를 써서 알맞게 창 너비(em으로)를 지정하는데 주의해야 합니다.
-</p>
-<h3 id="XULRunner_.EC.9D.91.EC.9A.A9.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.97.90.EC.84.9C_.EC.93.B0.EB.8A.94_.EB.B2.95" name="XULRunner_.EC.9D.91.EC.9A.A9.ED.94.84.EB.A1.9C.EA.B7.B8.EB.9E.A8.EC.97.90.EC.84.9C_.EC.93.B0.EB.8A.94_.EB.B2.95"> XULRunner 응용프로그램에서 쓰는 법 </h3>
-<p>XULRunner 응용프로그램에서 preferences 대화상자를 열 때는, 반드시 다음사항을 점검하세요:
-</p>
-<ul><li> 두 boolean preferences(browser.preferences.animateFadeIn과 browser.preferences.instantApply)는 기본 preferences로 정의돼야 합니다(<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=350528" title="FIXED: XULRunner needs to ship with some additional preferences">bug 350528</a> 참조). 예:
-</li></ul>
-<pre class="eval">pref("browser.preferences.animateFadeIn", false);
-pref("browser.preferences.instantApply", true);
-</pre>
-<ul><li> preferences 대화상자를 열기 위해 openDialog()를 호출할 때는, "toolbar"가 features 문자열에 포함돼야 합니다. 예:
-</li></ul>
-<pre class="eval">var features = "chrome,titlebar,toolbar,centerscreen,modal";
-window.openDialog(url, "Preferences", features);
-</pre>
-<h3 id="Bugzilla" name="Bugzilla"> Bugzilla </h3>
-<p>Preferences 바인딩의 bug를 위한 컴포넌트(하지만 Firefox/Thunderbird Options UI용은 아님)는 Toolkit:Preferences (<a class="link-https" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Toolkit">file a bug</a> <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&amp;product=Toolkit&amp;component=Preferences&amp;resolution=---&amp;chfieldto=Now">list open bugs</a>)
-</p>
diff --git a/files/ko/pyxpcom/index.html b/files/ko/pyxpcom/index.html
deleted file mode 100644
index e085b157f1..0000000000
--- a/files/ko/pyxpcom/index.html
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title: PyXPCOM
-slug: PyXPCOM
-tags:
- - PyXPCOM
- - 'XPCOM:Language Bindings'
-translation_of: Mozilla/Tech/XPCOM/Language_bindings/PyXPCOM
----
-<p>
-</p>
-<div>
-<p><b>PyXPCOM</b>는 <a class="external" href="http://www.python.org/">파이썬</a>과 <a href="ko/XPCOM">XPCOM</a> 사이를 통신할 수 있게 하고, 파이썬 애플리케이션이 XPCOM 객체에 접근할 수 있게 하고, XPCOM이 XPCOM 인터페이스로 구현된 어떠한 파이썬 클래스에도 접근할 수 있게 합니다. PyXPCOM을 이용하면, 개발자는 파이썬 애플리케이션으로 XPCOM이나 임베디드 <a href="ko/Gecko">Gecko</a>와 대화할 수 있습니다. PyXPCOM는 <a href="ko/JavaXPCOM">JavaXPCOM</a>(Java-XPCOM bridge)나 <a href="ko/XPConnect">XPConnect</a>(JavaScript-XPCOM bridge)와 유사합니다.
-</p><p>파이썬 클래스와 인터페이스: 모질라는 엠베더와 컴포넌트 개발자가 이용할 수 있는 많은 외부 인터페이스를 정의합니다. PyXPCOM은 그들의 인터페이스를 파이썬 인터페이스처럼 접근할 수 있게 합니다. 또한 PyXPCOM은 XPCOM 헬퍼 함수와 같이, 파이썬에서 XPCOM과 Gecko를 초기화하고 종료하는 함수에 접근할 수 있는 몇몇 클래스를 포함하고 있습니다.
-</p>
-</div>
-<table class="topicpage-table">
-<tbody><tr><td>
-<h4 id="Documentation"> <a>Documentation</a> </h4>
-<dl><dt> <a href="ko/Building_PyXPCOM">PyXPCOM 빌드하기</a>
-</dt><dd> <small>PyXPCOM를 빌드하는 방법입니다.</small>
-</dd></dl>
-<dl><dt> <a href="ko/Creating_a_Python_XPCOM_component">파이썬 XPCOM 컴포넌트 만들기</a>
-</dt><dd> <small>파이썬으로 간단한 <a href="ko/XPCOM">XPCOM</a> 컴포넌트를 어떻게 만드는지 보여주는 예제</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.ibm.com/developerworks/webservices/library/co-pyxp1/">PyXPCOM 알기</a>
-</dt><dd> <small> PyXPCOM은 XPCOM과 파이썬을 연결하는 기술입니다. 이 기사는 당신이 PyXPCOM을 시작할 수 있게 합니다.</small>
-</dd></dl>
-<p><span>NOTE: The links to Part II and III of this series are broken and I cannot find them on the IBM site. Please update this page if/when the links can be found.</span>
-</p><p><span><a>모두 보기...</a></span>
-</p>
-<h4 id="역사"> 역사 </h4>
-<p>PyXPCOM은 <a class="external" href="http://www.activestate.com/">ActiveState Tool Corporation</a>에 의해 처음 개발되었고, 그들의 <a class="external" href="http://www.activestate.com/Products/Komodo">Komodo 프로젝트</a>에서 <a class="external" href="http://aspn.activestate.com/ASPN/Downloads/Komodo/index/PyXPCOM/">나왔습니다</a>. 현재 릴리즈는 모질리 빌드 시스템에 <a class="external" href="http://public.activestate.com/pyxpcom/">통합되었습니다</a>.
-</p>
-</td>
-<td>
-<h4 id="커뮤니티"> 커뮤니티 </h4>
-<ul><li> 모질라 포럼 보기...
-</li></ul>
-<p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-xpcom"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xpcom"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xpcom/feeds"> 웹 Feed</a></li>
-</ul>
-<p></p>
-<ul><li> <a class="external" href="http://listserv.activestate.com/mailman/listinfo/pyxpcom">메일링 리스트</a>
-</li><li> <a class="link-irc" href="irc://irc.mozilla.org:6667/pyxpcom">#pyxpcom on irc.mozilla.org</a>
-</li></ul>
-<h4 id="소스_코드"> 소스 코드 </h4>
-<ul><li> PyXPCOM 코드는 trunk의 <code><a href="https://dxr.mozilla.org/mozilla-central/source/extensions/python/xpcom/" rel="custom">extensions/python/xpcom/</a></code> 디렉토리에서 받을 수 있습니다.
-</li><li> PyXPCOM는 기본적으로 빌드되지 않습니다. PyXPCOM를 빌드하려면, <a href="ko/Building_PyXPCOM">Building PyXPCOM</a> 문서를 보세요.
-</li></ul>
-<h4 id="관련_주제"> 관련 주제 </h4>
-<dl><dd> <a href="ko/XPCOM">XPCOM</a>
-</dd><dd> <a href="ko/PyDOM">PyDOM</a>: 파이썬으로 JavaScript를 대체하기
-</dd></dl>
-</td></tr></tbody></table>
-<p><span>Categories</span>
-</p><p><span>Interwiki Language Links</span>
-</p><p><br>
-</p>
diff --git a/files/ko/rdf/index.html b/files/ko/rdf/index.html
deleted file mode 100644
index 7cd149a3f5..0000000000
--- a/files/ko/rdf/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: RDF
-slug: RDF
-tags:
- - RDF
-translation_of: Archive/Web/RDF
----
-<div>
-<p><b>Resource Description Framework (RDF)</b> 는 XML 응용 프로그램으로 종종 구현되는 메타데이터 모델을 위한 명세의 일종입니다. RDF 관련 명세는 World Wide Web Consortium (W3C) 에서 유지됩니다.
-</p><p>RDF 메타데이터 모델은 주어-술어-목적어 (subject-predicate-object) 형식의 표현으로 (RDF 용어로는 트리플 이라고 합니다) 자원에 대한 정보를 표현하자는 아이디어에 기반한 것입니다. 주어(subject)는 설명하고자 하는 자원이고, 술어(predicate)는 그 자원의 특징, 정보 혹은 종종 다른 주어나 목적어와의 관계를 표현합니다. 목적어(object)는 특징의 값이나 관계의 대상 등이 됩니다.
-</p>
-</div>
-<table class="topicpage-table">
-<tbody><tr><td>
-<h4 id="Documentation" name="Documentation"> <a>Documentation</a> </h4>
-<dl><dt> <a href="ko/XTech_2005_Presentations/Directions_of_the_Mozilla_RDF_engine">Mozilla RDF 엔진의 방향</a>
-</dt><dd> <small>이 프레젠테이션은 새로운 Mozilla RDF 엔진의 개발 내용을 보여줍니다. 여기에는 공개 웹 컨텐츠를 위한 RDF API 의 공개 계획과 성능 및 정확도의 향상 등의 내용이 포함됩니다.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.xml.com/pub/a/2001/01/24/rdf.html">RDF 란 무엇인가?</a>
-</dt><dd> <small><a class="external" href="http://www.xml.com">XML.com</a> 에 있는 Resource Description Framework 에 대한 Tim Bray 의 소개글.</small>
-</dd></dl>
-<dl><dt> <a href="ko/RDF_in_Mozilla_FAQ">RDF in Mozilla FAQ</a>
-</dt><dd> <small>Mozilla 의 Resource Description Framework 에 대한 자주 묻는 질문들 (FAQ).</small>
-</dd></dl>
-<dl><dt> <a href="ko/RDF_in_Fifty_Words_or_Less">RDF in Fifty Words or Less</a>
-</dt><dd> <small>Resource Description Framework 에 대한 간략한 소개. </small>
-</dd></dl>
-<dl><dt> <a href="ko/RDF_Datasource_How-To">RDF 데이터 소스 How-To</a>
-</dt><dd> <small>Mozilla 의 RDF 구현을 통해 어떻게 고유한 클라이언트 단의 데이터 소스를 생성하는 지에 대한 cookbook 스타일의 문서.</small>
-</dd></dl>
-<dl><dt> <a href="ko/Aggregating_the_In-Memory_Datasource">메모리 상의 데이터 소스 모으기</a>
-</dt><dd> <small>메모리 상의 데이터 소스에 <a href="ko/XPCOM">XPCOM</a> 모음(aggregation) 사용하기.</small>
-</dd></dl>
-<p><span class="alllinks"><a>모두 보기...</a></span>
-</p>
-</td>
-<td>
-<h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0"> 커뮤니티 </h4>
-<ul><li> Mozilla 포럼 보기...
-</li></ul>
-<p>{{ DiscussionList("dev-tech-rdf", "mozilla.dev.tech.rdf") }}
-</p>
-<ul><li> <a class="external" href="http://www.ilrt.bris.ac.uk/discovery/rdf-dev/">RDF-Dev 메일링 리스트</a>
-</li></ul>
-<h4 id=".EA.B0.9C.EB.B0.9C_.EB.8F.84.EA.B5.AC" name=".EA.B0.9C.EB.B0.9C_.EB.8F.84.EA.B5.AC"> 개발 도구 </h4>
-<ul><li> <a class="external" href="http://planetrdf.com/guide/#sec-tools">RDF 편집기와 개발 도구들</a>
-</li><li> <a class="external" href="http://www.w3.org/RDF/Validator/">RDF 검사기</a>
-</li></ul>
-<h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C"> 관련 주제 </h4>
-<dl><dd> <a href="ko/XML">XML</a>
-</dd></dl>
-</td></tr></tbody></table>
-<p><span class="comment">Categories</span>
-</p><p><span class="comment">Interwiki Language Links</span>
-</p><p><br>
-</p>{{ languages( { "en": "en/RDF", "fr": "fr/RDF", "it": "it/RDF", "ja": "ja/RDF", "pl": "pl/RDF", "pt": "pt/RDF" } ) }}
diff --git a/files/ko/rhino/index.html b/files/ko/rhino/index.html
deleted file mode 100644
index 5a0ac0f06d..0000000000
--- a/files/ko/rhino/index.html
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: Rhino
-slug: Rhino
-tags:
- - Java
- - JavaScript
- - Rhino
-translation_of: Mozilla/Projects/Rhino
----
-<p><img alt="Image:rhino.jpg" class="internal" src="/@api/deki/files/832/=Rhino.jpg"></p>
-<p><strong>Rhino</strong> 는 순수 자바 언어로 된 <a href="/en/JavaScript" style="line-height: inherit;" title="en/JavaScript">JavaScript</a> 오픈소스 구현체입니다. 전형적으로 자바 애플리케이션에 적용되어서 최종 사용자에게 스크립팅을 제공합니다. J2SE 6에는 기본 자바 스크립팅 엔진으로 포함되어 있습니다.</p>
-<h4 id="Rhino_downloads" name="Rhino_downloads">Rhino 다운로드</h4>
-<p><a class="internal" href="/en/RhinoDownload" title="en/RhinoDownload">소스와 바이너리</a> 얻는 방법 </p>
-<h4 id="Rhino_documentation" name="Rhino_documentation">Rhino 문서</h4>
-<p>스크립트 작성자와 포함하기 위한 분들을 위한 <a href="/en/Rhino_documentation" title="en/Rhino_documentation">Rhino에 관련된 정보</a>.</p>
-<h4 id="Rhino_help" name="Rhino_help">Rhino 도움말</h4>
-<p>막혔을 때 <a href="/en/Rhino/Community" title="en/Rhino/Community">도움이 되는 것</a>.</p>
-<p>{{ languages( { "ja": "ja/Rhino" } ) }}</p>
diff --git a/files/ko/sandbox/index.html b/files/ko/sandbox/index.html
deleted file mode 100644
index 96b6ad4f75..0000000000
--- a/files/ko/sandbox/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: 샌드박스
-slug: Sandbox
-translation_of: Sandbox
----
-<p> </p>
-
-<p>{{IncludeSubnav("/ko/docs/MDN")}}</p>
-
-<p>{{DocStatusQuickLinks()}}</p>
-
-<p> </p>
-
-<p>{{DocStatus("Learn")}}</p>
diff --git a/files/ko/spidermonkey/index.html b/files/ko/spidermonkey/index.html
deleted file mode 100644
index a5b5389490..0000000000
--- a/files/ko/spidermonkey/index.html
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: SpiderMonkey
-slug: SpiderMonkey
-tags:
- - SpiderMonkey
-translation_of: Mozilla/Projects/SpiderMonkey
----
-<div><strong>SpiderMonkey</strong>는 C로 만든 <a href="ko/Gecko">Gecko</a>의 <a href="ko/JavaScript">JavaScript</a> 엔진입니다. 다양한 Mozilla 제품에 쓰이고 MPL/GPL/LGPL 세 라이센스 아래서 쓸 수 있습니다.</div>
-
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"><a>문서</a></h4>
-
- <dl>
- <dt><a href="ko/JSAPI_Reference">JSAPI Reference</a></dt>
- <dd><small>SpiderMonkey API 레퍼런스.</small></dd>
- </dl>
-
- <dl>
- <dt><a href="ko/JSDBGAPI_Reference">JSDBGAPI Reference</a></dt>
- <dd><small>SpiderMonkey 디버깅 API 레퍼런스.</small></dd>
- </dl>
-
- <dl>
- <dt><a href="ko/JavaScript_C_Engine_Embedder's_Guide">JavaScript C Engine Embedder's Guide</a></dt>
- <dd><small>이 길잡이(guide)는 SpiderMonkey 개요를 제공하고 자바스크립트를 인식하게끔 어플리케이션에서 엔진 호출을 임베드할 수 있는 법을 설명합니다.</small></dd>
- </dl>
-
- <dl>
- <dt><a class="external" href="http://www.mozilla.org/js/spidermonkey/tutorial.html">How to embed the JavaScript engine</a></dt>
- <dd><small>SpiderMonkey 임베딩에 관한 빈약한(bare-bones) 입문서.</small></dd>
- </dl>
-
- <dl>
- <dt><a href="ko/SpiderMonkey_Garbage_Collection_Tips">SpiderMonkey Garbage Collection Tips</a></dt>
- <dd><small>가비지 컬렉터 함정(pitfall)을 피하는 팁.</small></dd>
- </dl>
-
- <dl>
- <dt><a href="ko/Introduction_to_the_JavaScript_shell">Introduction to the JavaScript shell</a></dt>
- <dd><small>자바스크립트 쉘을 구하고 빌드하고 쓰는 법.</small></dd>
- </dl>
-
- <p><span class="alllinks"><a>View All...</a></span></p>
- </td>
- <td>
- <h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0">커뮤니티</h4>
-
- <ul>
- <li>Mozilla 포럼 보기...</li>
- </ul>
-
- <h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C">관련 주제</h4>
-
- <dl>
- <dd><a href="ko/JavaScript">JavaScript</a></dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p><span class="comment">Categories</span></p>
-
-<p><span class="comment">Interwiki Language Links</span></p>
diff --git a/files/ko/storage/index.html b/files/ko/storage/index.html
deleted file mode 100644
index 15a47c1be3..0000000000
--- a/files/ko/storage/index.html
+++ /dev/null
@@ -1,396 +0,0 @@
----
-title: Storage
-slug: Storage
-tags:
- - Guide
- - Interfaces
- - Storage
- - Toolkit API
-translation_of: Mozilla/Tech/XPCOM/Storage
----
-<p><strong>저장소(Storage)</strong>는 <a class="external" href="http://www.sqlite.org/">SQLite</a> 데이터베이스 API입니다. 이는 신뢰할 수 있는 호출자에게 제공되는데 여기에는 확장과 Firefox 콤포넌트만 해당합니다.</p>
-
-<p>API는 현재 "확정되지 않은 상태(unfrozen)"로서 언제든지 바뀔 수 있습니다. 사실 Storage 기능이 도입되고 파이어폭스 릴리즈 때마다 변화가 있었습니다. 그리고 앞으로도 변화가 있을 것입니다.</p>
-
-<div class="note"><strong>참고:</strong> Storage는 웹 페이지가 영속적인 데이터를 저장하는데 사용하는 <a href="/ko/DOM/Storage" title="ko/DOM/Storage">DOM:Storage</a> 기능이나 (확장이 사용하기 위한 <a href="/ko/XPCOM" title="ko/XPCOM">XPCOM</a> 저장소 유틸리티인) <a href="/ko/Session_store_API" title="ko/Session_store_API">Session store API</a> 기능과는 다릅니다.</div>
-
-<h2 id="시작하기">시작하기</h2>
-
-<p>이 문서는 mozStorage API와 sqlite의 몇 가지 특성에 대해 다룹니다. SQL이나 "일반적인" sqlite에 대해서는 다루지 <em>않습니다</em>. 하지만, <a href="#See_also"> 참고 섹션</a>에서 유용한 링크를 찾을 수 있습니다. mozStorage API에 대한 도움을 얻으려면 news.mozilla.org 뉴스 서버의 mozilla.dev.apps.firefox 그룹으로 질문을 올릴 수 있습니다. 버그를 신고하려면 <a class="link-https" href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Toolkit&amp;component=Storage">Bugzilla</a> (product "Toolkit", component "Storage")를 이용하십시오.</p>
-
-<p>이제 시작하겠습니다. mozStorage는 많은 다른 데이터베이스 시스템과 유사하게 설계되었습니다. 사용을 위한 전반적인 절차는 다음과 같습니다.</p>
-
-<ol>
- <li><a href="/ko/mozIStorageService" title="https://developer.mozilla.org/ko/mozIStorageService">Storage 서비스</a> 얻기</li>
- <li>선택한 데이터베이스로 접속을 엽니다.</li>
- <li>접속에서 실행할 구문을 생성합니다.</li>
- <li>필요한 경우에 매개 변수를 구문에 대입합니다.</li>
- <li>구문을 실행합니다.</li>
- <li>오류를 확인합니다.</li>
- <li>구문을 초기화합니다.</li>
-</ol>
-
-<h2 id="Opening_a_connection" name="Opening_a_connection">데이터베이스에 연결하기</h2>
-
-<p>아래의 자바스크립트의 예제는 profile디렉토리의 <code>my_db_file_name.sqlite</code>를 여는 예제입니다.</p>
-
-<pre class="brush: js">var file = Components.classes["@mozilla.org/file/directory_service;1"]
- .getService(Components.interfaces.nsIProperties)
- .get("ProfD", Components.interfaces.nsIFile);
-file.append("my_db_file_name.sqlite");
-
-var storageService = Components.classes["@mozilla.org/storage/service;1"]
- .getService(Components.interfaces.mozIStorageService);
-var mDBConn = storageService.openDatabase(file); // Will also create the file if it does not exist
-</pre>
-
-<p>똑같이 C++에서는 아래와 같습니다.:</p>
-
-<pre class="brush: cpp">nsCOMPtr&lt;nsIFile&gt; dbFile;
-rv = NS_GetSpecialDirectory(NS_APP_USER_PROFILE_50_DIR,
- getter_AddRefs(dbFile));
-NS_ENSURE_SUCCESS(rv, rv);
-rv = dbFile-&gt;Append(NS_LITERAL_STRING("my_db_file_name.sqlite"));
-NS_ENSURE_SUCCESS(rv, rv);
-nsCOMPtr&lt;mozIStorageService&gt; dbService =
- do_GetService(MOZ_STORAGE_SERVICE_CONTRACTID, &amp;rv);
-NS_ENSURE_SUCCESS(rv, rv);
-
-nsCOMPtr&lt;mozIStorageConnection&gt; dbConn;
-rv = dbService-&gt;OpenDatabase(dbFile, getter_AddRefs(dbConn));
-NS_ENSURE_SUCCESS(rv, rv);
-</pre>
-
-<div class="note">Note:  <code>MOZ_STORAGE_SERVICE_CONTRACTID</code>는 <code><a href="https://dxr.mozilla.org/mozilla-central/source/storage/build/mozStorageCID.h" rel="custom">storage/build/mozStorageCID.h</a></code>에서 정의 되어있습니다..</div>
-
-<p></p><div class="blockIndicator warning">
- <p><strong>Warning:</strong> 아마도 sqlite database라는 의미로 '.sdb'라고 확장자를 쓰고 싶을 겁니다. 그러나 이 건 추천하고 싶지 않네요. 이 확장자는윈도우즈에서는 'Application Compatibility Database'라는 의미로 특별히 취급하고 있습니다. 그래서 이 확장자의 파일이 바뀌면 시스템 복원 기능이 자동으로 백업을 하게 됩니다. 그러므로 이 확장자를 쓰는 것은 파일시스템에 오버헤드를 발행하게 만듭니다.</p>
-</div><p></p>
-
-<h2 id="Statements" name="Statements">연결 끊기</h2>
-
-<p>동기 트랜젝션을 사용 중에 연결을 끊으려면 <code><a href="https://developer.mozilla.org/ko/docs/XPCOM_Interface_Reference/mozIStorageConnection#close()">mozIStorageConnection.close()</a></code> 함수를 사용하세요. 비동기 트랜젝션을 사용한다면 <code><a href="https://developer.mozilla.org/ko/docs/XPCOM_Interface_Reference/mozIStorageConnection#asyncClose()">mozIStorageConnection.asyncClose()</a></code> 함수를 사용해야 합니다. 후자는 모든 연결이 끊어지기 전의 모든 진행중인 트랜젝션에 사용할 수 있습니다. 그리고 부차적으로 연결이 끊어졌을 때 콜백함수를 사용할 수 있습니다.</p>
-
-<h2 id=".EA.B5.AC.EB.AC.B8" name=".EA.B5.AC.EB.AC.B8">구문</h2>
-
-<p>아래 단계에 따라 SQLite 데이터베이스에 구문을 생성하고 실행할 수 있습니다. 전체 레퍼런스는 <a href="/ko/MozIStorageStatement" title="ko/MozIStorageStatement">mozIStorageStatement</a>를 참고하십시오.</p>
-
-<h3 id="Creating_a_statement" name="Creating_a_statement">구문생성</h3>
-
-<p>SQL문을 실행하는 방법은 두가지가 있습니다.</p>
-
-<h4 id="실행_결과를_반환하지_않는_방법">실행 결과를 반환하지 않는 방법</h4>
-
-<p>실행한 결과가 있어야 하는 경우 자바스크립트에서는 <code><a href="https://developer.mozilla.org/ko/docs/XPCOM_Interface_Reference/mozIStorageConnection#executeSimpleSQL()">mozIStorageConnection.executeSimpleSQL()</a></code> API를 사용하세요. :</p>
-
-<pre class="brush: js">dbConn.executeSimpleSQL("CREATE TEMP TABLE table_name (column_name INTEGER)");
-</pre>
-
-<p>마찬가지로 C++에서는 아래와 같습니다.:</p>
-
-<pre class="brush: cpp">rv = mDBConn-&gt;ExecuteSimpleSQL(NS_LITERAL_CSTRING("CREATE TEMP TABLE table_name (column_name INTEGER)"));
-NS_ENSURE_SUCCESS(rv, rv);</pre>
-
-<h4 id="실행결과를_보여주는_방법">실행결과를 보여주는 방법</h4>
-
-<p>반면 실행 결과물이 필요한 경우 자바스크립트에서는 <code><a href="https://developer.mozilla.org/ko/docs/XPCOM_Interface_Reference/mozIStorageConnection#createStatement()">mozIStorageConnection.createStatement()</a></code> API를 사용하세요.:</p>
-
-<pre class="brush: js">var statement = dbConn.createStatement("SELECT * FROM table_name WHERE column_name = :parameter");
-</pre>
-
-<p>This example uses a named placeholder called "parameter" to be bound later (described in <a href="#Binding_Parameters">Binding Parameters</a>).  Similarly, the C++ looks like this:</p>
-
-<pre class="brush: cpp">nsCOMPtr&lt;mozIStorageStatement&gt; statement;
-rv = dbConn-&gt;CreateStatement(NS_LITERAL_CSTRING("SELECT * FROM table_name WHERE column_name = ?1"),
- getter_AddRefs(statement));
-NS_ENSURE_SUCCESS(rv, rv);
-</pre>
-
-<p>This example uses the numbered placeholder indexed by zero for a parameter to be bound later (described in <a href="#Binding_Parameters">Binding Parameters</a>).</p>
-
-<p></p><div class="blockIndicator note"><strong>주의:</strong> Numerical indexes for parameters are always one less than the number you write in the SQL.  The use of numerical indexes for parameters is strongly discouraged in JavaScript where named parameters are much easier to use.</div><p></p>
-
-<p></p><div class="blockIndicator note"><strong>주의:</strong> If you need to execute a statement multiple times, caching the result of createStatement will give you a noticeable performance improvement because the SQL query does not need to be parsed each time.</div><p></p>
-
-<h3 id=".EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98_.EB.8C.80.EC.9E.85" name=".EB.A7.A4.EA.B0.9C_.EB.B3.80.EC.88.98_.EB.8C.80.EC.9E.85">매개 변수 대입</h3>
-
-<p>일반적으로 실행 중에 매개 변수를 포함한 SQL 문자열을 생성하는 것보다 모든 매개 변수를 별도로 대입하는 것이 가장 좋은 방법입니다. 다른 무엇보다도 이는 SQL 주입 공격을 방지할 수 있는데, 대입한 매개 변수는 절대 SQL로 실행되지 않기 때문입니다.</p>
-
-<p>여러분은 플레이스홀더를 포함한 구문에 매개 변수를 대입합니다. 플레이스홀더는 색인으로 참조하는데, "?1"로 시작하고 그 다음 "?2"...와 같습니다. 플레이스홀더를 대입하려면 구문 함수 BindXXXParameter(0) BindXXXParameter(1)... 를 사용합니다.</p>
-
-<dl>
- <dd>
- <div class="note">주의: 플레이스홀더의 색인은 1부터 시작합니다. 대입 함수로 전달하는 정수는 0부터 시작합니다. 이는 "?1"가 매개 변수 0에 대응하고 "?2"가 매개 변수 1에 대응한다는 것을 의미합니다.</div>
- </dd>
-</dl>
-
-<p>"?xx" 대신 ":example"와 같은 이름있는 매개 변수를 사용할 수도 있습니다.</p>
-
-<p>플레이스홀더는 하나의 SQL 구문에 여러 번 나타날 수 있으며 모든 인스턴스는 대입한 값으로 대체합니다. 대입하지 않은 매개 변수는 NULL로 해석합니다.</p>
-
-<p>아래 예제는 <code>bindUTF8StringParameter()</code>와 <code>bindInt32Parameter()</code>만 사용하고 있습니다. 모든 대입 함수 목록은 <a href="/ko/MozIStorageStatement#Binding_functions" title="ko/MozIStorageStatement#Binding_functions">mozIStorageStatement</a>를 참고하시기 바랍니다.</p>
-
-<p>C++ 예제:</p>
-
-<pre>nsCOMPtr&lt;mozIStorageStatement&gt; statement;
-rv = mDBConn-&gt;CreateStatement(NS_LITERAL_CSTRING("SELECT * FROM foo WHERE a = ?1 AND b &gt; ?2"),
- getter_AddRefs(statement));
-NS_ENSURE_SUCCESS(rv, rv);
-rv = statement-&gt;BindUTF8StringParameter(0, "hello"); // "hello" will be substituted for "?1"
-NS_ENSURE_SUCCESS(rv, rv);
-rv = statement-&gt;BindInt32Parameter(1, 1234); // 1234 will be substituted for "?2"
-NS_ENSURE_SUCCESS(rv, rv);
-</pre>
-
-<p>자바스크립트 예제:</p>
-
-<pre>var statement = mDBConn.createStatement("SELECT * FROM foo WHERE a = ?1 AND b &gt; ?2");
-statement.bindUTF8StringParameter(0, "hello");
-statement.bindInt32Parameter(1, 1234);
-</pre>
-
-<p>이름있는 매개 변수를 사용하는 경우에는 <code>getParameterIndex</code> 메소드를 사용하여 이름있는 매개 변수의 색인을 얻어야 합니다. 자바스크립트 예제는 다음과 같습니다.</p>
-
-<pre>var statement = mDBConn.createStatement("SELECT * FROM foo WHERE a = :myfirstparam AND b &gt; :mysecondparam");
-
-var firstidx = statement.getParameterIndex(":myfirstparam");
-statement.bindUTF8StringParameter(firstidx, "hello");
-
-var secondidx = statement.getParameterIndex(":mysecondparam");
-statement.bindInt32Parameter(secondidx, 1234);
-</pre>
-
-<p>같은 질의에 이름있는 매개 변수와 색인된 매개 변수를 혼합할 수도 있습니다.</p>
-
-<pre>var statement = mDBConn.createStatement("SELECT * FROM foo WHERE a = ?1 AND b &gt; :mysecondparam");
-
-statement.bindUTF8StringParameter(0, "hello");
-// you can also use
-// var firstidx = statement.getParameterIndex("?1");
-// statement.bindUTF8StringParameter(firstidx, "hello");
-
-var secondidx = statement.getParameterIndex(":mysecondparam");
-statement.bindInt32Parameter(secondidx, 1234);
-</pre>
-
-<p><code>IN ( value-list )</code> 표현식과 함께 <code>WHERE</code> 절을 사용하는 경우에 대입은 동작하지 않게 됩니다. 대신 문자열을 생성하시기 바랍니다. 사용자 입력을 처리하는 경우가 아니라면 보안 문제는 없습니다.</p>
-
-<pre>var ids = "3,21,72,89";
-var sql = "DELETE FROM table WHERE id IN ( "+ ids +" )";
-</pre>
-
-<h3 id=".EA.B5.AC.EB.AC.B8_.EC.8B.A4.ED.96.89" name=".EA.B5.AC.EB.AC.B8_.EC.8B.A4.ED.96.89">구문 실행</h3>
-
-<p>구문을 실행하는 주 방법은 <code>mozIStorageStatement.executeStep</code>입니다. 이 함수는 구문이 생성하는 모든 결과 행을 나열할 수 있도록 해주고 더 이상 결과가 없을 때를 알려줍니다.</p>
-
-<p><code>executeStep</code>를 호출할 후에 <a href="/ko/MozIStorageValueArray" title="ko/MozIStorageValueArray">mozIStorageValueArray</a>에서 <strong>적절한 getter 함수를 사용하여</strong> 결과 행의 값을 얻을 수 있습니다(mozIStorageStatement는 mozIStorageValueArray를 구현합니다). 아래의 예제는 <code>getInt32()</code>만 사용하고 있습니다.</p>
-
-<p>값의 형식은 지정한 열의 형식을 반환하는 <code>mozIStorageValueArray.getTypeOfIndex</code>로 구할 수 있습니다. 그러나, 주의하십시오. sqlite는 형식있는 데이터베이스가 아닙니다. 열에 선언한 형식과 무관하게 모든 셀에 아무 형식이나 입력할 수 있습니다. 다른 형식을 요청하면 sqlite는 최선을 다하여 그것을 변환하고 변환이 불가능하면 기본 값으로 처리합니다. 그러므로 형식 오류를 얻을 수 없으며 이상한 데이터 출력을 얻을 수도 있습니다.</p>
-
-<p>C++ 코드는 <code>AsInt32</code>, <code>AsDouble</code>과 같은 함수를 이용할 수도 있는데, 이는 더 편리한 C++ 반환 값으로 값을 반환합니다. 하지만, 색인이 잘못된 경우에도 오류가 발생하지 않으므로 주의하십시오. 다른 오류가 발생하는 것도 불가능한데, sqlite는 사리에 맞지 않는 경우에도 항상 형식을 변환하기 때문입니다.</p>
-
-<p>C++ 예제:</p>
-
-<pre>PRBool hasMoreData;
-while (NS_SUCCEEDED(statement-&gt;ExecuteStep(&amp;hasMoreData)) &amp;&amp; hasMoreData) {
- PRInt32 value = statement-&gt;AsInt32(0);
- // use the value...
-}
-</pre>
-
-<p>자바스크립트 예제:</p>
-
-<pre>while (statement.executeStep()) {
- var value = statement.getInt32(0); // use the correct function!
- // use the value...
-}
-</pre>
-
-<p><code>mozIStorageStatement.execute()</code>는 구문에서 얻을 데이터가 없는 경우에 편리한 함수입니다. 이는 구문을 한 번 실행하고 초기화합니다. 이는 삽입 구문에 대해 유용한데 코드를 매우 간단하게 하기 때문입니다.</p>
-
-<pre>var statement = mDBConn.createStatement("INSERT INTO my_table VALUES (?1)");
-statement.bindInt32Parameter(52);
-statement.execute();
-</pre>
-
-<p>파일 <img alt="Image:TTRW2.zip">은 데이터베이스에 대하여 SQL SELECT를 실행하는 간단하지만 완전한 자바스크립트입니다.</p>
-
-<h3 id=".EA.B5.AC.EB.AC.B8_.EC.B4.88.EA.B8.B0.ED.99.94" name=".EA.B5.AC.EB.AC.B8_.EC.B4.88.EA.B8.B0.ED.99.94">구문 초기화</h3>
-
-<p>더 이상 사용하지 않는 구문을 초기화하는 것은 중요합니다. 초기화되지 않은 쓰기 구문은 테이블에 잠금을 유지하여 다른 구문이 테이블을 접근하는 것을 막게 됩니다. 초기화되지 않은 읽기 구문은 쓰기를 막게 됩니다.</p>
-
-<p>구문 개체가 해제되면 해당 데이터베이스 구문은 닫힙니다. C++을 사용 중인 경우, 모든 참조가 소멸된다는 것을 알고 있다면 따로 구문을 초기화할 필요가 없습니다. 또한 <code>mozIStorageStatement.execute()</code>를 사용하는 경우에도 따로 구문을 초기화할 필요가 없습니다. 이 함수는 여러분을 대신하여 구문을 초기화합니다. 나머지 경우에는 <code>mozIStorageStatement.reset()</code>를 호출하십시오.</p>
-
-<p>자바스크립트 호출자는 확실하게 구문을 초기화해야 합니다. 특히 예외에 대해서 주의하십시오. 예외가 발생하거나 데이터베이스에 접근하는 것이 불가능해진 경우에도 구문을 초기화하는 것을 확실하게 해야 합니다. 구문 초기화는 비교적 가벼운 작업이고 이미 초기화된 경우에도 아무런 문제가 발생하지 않기 때문에 불필요한 초기화에 대해서 걱정할 필요는 없습니다.</p>
-
-<pre>var statement = connection.createStatement(...);
-try {
- // use the statement...
-} finally {
- statement.reset();
-}
-</pre>
-
-<p>C++ 호출자도 같은 일을 해야 합니다. <code><a href="https://dxr.mozilla.org/mozilla-central/source/storage/public/mozStorageHelper.h" rel="custom">storage/public/mozStorageHelper.h</a></code>에는 mozStorageStatementScoper라고 불리우는 유효 영역이 있는 개체가 있는데, 이 개체는 둘러싼 영역을 빠져 나갈 때 주어진 구문이 초기화되는 것을 보장합니다. 가능하면 이 개체를 사용하는 것이 바람직합니다.</p>
-
-<pre>void someClass::someFunction()
-{
- mozStorageStatementScoper scoper(mStatement)
- // use the statement
-}
-</pre>
-
-<h2 id=".EC.B5.9C.EC.A2.85_insert_.EC.95.84.EC.9D.B4.EB.94.94" name=".EC.B5.9C.EC.A2.85_insert_.EC.95.84.EC.9D.B4.EB.94.94">최종 insert 아이디</h2>
-
-<p>연결의 <code>lastInsertRowID</code> 속성을 이용하면 데이터베이스의 마지막 <code>INSERT</code> 작업에서 할당한 아이디(rowid)를 구할 수 있습니다.<br>
- 이는 여러분이 테이블에 <code>INTEGER PRIMARY KEY</code>나 <code>INTEGER PRIMARY KEY AUTOINCREMENT</code>로 지정된 열을 가지고 있을 때 유용한데, 이 경우 SQLite는 여러분이 값을 제공하지 않으면 삽입하는 각 행에 대하여 자동으로 값을 할당합니다. 반환 값은 자바스크립트에서는 <code>number</code> 형식이고 C++에서는 <code>long long</code>입니다.</p>
-
-<p><code>lastInsertRowID</code>를 이용하는 자바스크립트 예제는 다음과 같습니다.</p>
-
-<pre>var sql = "INSERT INTO contacts_table (number_col, name_col) VALUES (?1, ?2)"
-var statement = mDBConn.createStatement(sql);
- statement.bindUTF8StringParameter(0, number);
- statement.bindUTF8StringParameter(1, name);
- statement.execute();
- statement.reset();
-
-var rowid = mDBConn.lastInsertRowID;
-</pre>
-
-<h2 id=".ED.8A.B8.EB.9E.9C.EC.9E.AD.EC.85.98" name=".ED.8A.B8.EB.9E.9C.EC.9E.AD.EC.85.98">트랜잭션</h2>
-
-<p>mozIStorageConnection는 트랜잭션을 시작하고 끝내는 함수를 가지고 있습니다. 명시적으로 트랜잭션을 사용하지 않으면 각 구문에 대하여 암시적인 트랜잭션이 생성됩니다. 이는 성능과 밀접한 관계가 있습니다. 각 트랜잭션에 대해 부하가 걸리는데 특히 커밋에 대해서 그렇습니다. 그러므로 하나의 행에서 여러 구문을 실행할 때 하나의 트랜잭션으로 처리하면 커다란 성능 향상을 얻을 수 있습니다. 성능에 대한 자세한 정보는 <a href="/ko/Storage/Performance" title="ko/Storage/Performance">Storage:Performance</a>를 참고하십시오.</p>
-
-<p>다른 데이터베이스 시스템과의 주요한 차이점은 sqlite가 중첩 트랜잭션을 지원하지 않는다는 것입니다. 이는 하나의 트랜잭션을 열면 다른 트랜잭션을 열 수 없다는 뜻입니다. <code>mozIStorageConnection.transactionInProgress</code>를 확인하면 현재 진행 중인 트랜잭션이 있는지 알 수 있습니다.</p>
-
-<p>SQL 구문으로 "BEGIN TRANSACTION"과 "END TRANSACTION"을 직접 실행할 수도 있습니다(이는 함수를 호출할 때 연결에서 실행하는 것입니다). 하지만 <code>mozIStorageConnection.beginTransaction</code>와 관련 함수를 사용하는 것이 바람직한데, 트랜잭션의 상태를 연결에 저장하기 때문입니다. 그렇지 않으면 <code>transactionInProgress</code> 속성은 잘못된 값을 갖게 됩니다.</p>
-
-<p>sqlite는 다음과 같은 트랜잭션 형식을 가지고 있습니다.</p>
-
-<ul>
- <li>mozIStorageConnection.TRANSACTION_DEFERRED: 기본 값. 필요할 때(보통 트랜잭션의 구문을 처음으로 실행할 때) 데이터베이스 잠금을 얻습니다.</li>
-</ul>
-
-<ul>
- <li>mozIStorageConnection.TRANSACTION_IMMEDIATE: 곧바로 데이터베이스에 대한 읽기 잠금을 얻습니다.</li>
-</ul>
-
-<ul>
- <li>mozIStorageConnection.TRANSACTION_EXCLUSIVE: 곧바로 데이터베이스에 대한 쓰기 잠금을 얻습니다.</li>
-</ul>
-
-<p>이 트랜잭션의 형식을 <code>mozIStorageConnection.beginTransactionAs</code>로 전달하여 여러분에게 필요한 트랜잭션의 종류를 지정할 수 있습니다. 다른 트랜잭션이 이미 시작되었다면 이 작업은 성공하지 못한다는 것을 잊지 마십시오. 보통 기본 TRANSACTION_DEFERRED 형식으로 충분하며 다른 형식이 필요한 이유를 제대로 알지 못한다면 사용해서는 안됩니다. 더 자세한 정보는 <a class="external" href="http://www.sqlite.org/lang_transaction.html">BEGIN TRANSACTION</a>과 <a class="external" href="http://www.sqlite.org/lockingv3.html">locking</a>에 대한 sqlite 문서를 참고하십시오.</p>
-
-<pre>var ourTransaction = false;
-if (!mDBConn.transactionInProgress) {
- ourTransaction = true;
- mDBConn.beginTransactionAs(mDBConn.TRANSACTION_DEFERRED);
-}
-
-// ... use the connection ...
-
-if (ourTransaction)
- mDBConn.commitTransaction();
-</pre>
-
-<p>C++ 코드에서는 <code><a href="https://dxr.mozilla.org/mozilla-central/source/storage/public/mozStorageHelper.h" rel="custom">storage/public/mozStorageHelper.h</a></code>에 정의된 mozStorageTransaction 도우미 클래스를 사용할 수 있습니다. 이 클래스는 유효 범위에 들어오면 지정한 연결에서 지정한 형식의 트랜잭션을 시작하고 유효 범위를 벗어나면 트랜잭션을 커밋하거나 롤백합니다. 트랜잭션이 이미 진행 중이라면 트랜잭션 도우미 클래스는 어떤 작업도 하지 않습니다.</p>
-
-<p>또한 명시적으로 커밋하는 함수도 가지고 있습니다. 전형적인 용법은 롤백을 기본으로 하는 클래스를 생성하고 나서 처리가 성공하면 명시적으로 트랜잭션을 커밋하는 것입니다.</p>
-
-<pre>nsresult someFunction()
-{
- // deferred transaction (the default) with rollback on failure
- mozStorageTransaction transaction(mDBConn, PR_FALSE);
-
- // ... use the connection ...
-
- // everything succeeded, now explicitly commit
- return transaction.Commit();
-}
-</pre>
-
-<h2 id=".EB.8D.B0.EC.9D.B4.ED.84.B0.EB.B2.A0.EC.9D.B4.EC.8A.A4.EB.A5.BC_.EC.86.90.EC.83.81.ED.95.98.EB.8A.94_.EA.B2.BD.EC.9A.B0" name=".EB.8D.B0.EC.9D.B4.ED.84.B0.EB.B2.A0.EC.9D.B4.EC.8A.A4.EB.A5.BC_.EC.86.90.EC.83.81.ED.95.98.EB.8A.94_.EA.B2.BD.EC.9A.B0">데이터베이스를 손상하는 경우</h2>
-
-<ul>
- <li>다음 문서에서 손상(corruption)에 대한 섹션을 참고하십시오. <a class="external" href="http://www.sqlite.org/lockingv3.html">File locking and concurrency in sqlite version 3</a>.</li>
-</ul>
-
-<ul>
- <li><code>strcmp</code>로 비교하면 정확하게 같은 이름은 아니지만 실제 동일한 파일로 하나 이상의 연결을 엽니다. "my.db"와 "../dir/my.db" 또는 (대소문자 구별이 없는) 윈도우에서 "my.db"와 "My.db"가 여기에 포함됩니다. Sqlite는 많은 경우를 처리하려고 시도하지만 여러분은 그것에 의존하면 안됩니다.</li>
-</ul>
-
-<ul>
- <li>심볼릭 링크나 하드 링크로 데이터베이스를 접근합니다.</li>
-</ul>
-
-<ul>
- <li>하나 이상의 스레드에서 같은 데이터베이스로 연결을 엽니다(아래의 "스레드 안전성" 참고).</li>
-</ul>
-
-<ul>
- <li>하나 이상의 스레드에서 연결이나 구문을 접근합니다(아래의 "스레드 안전성" 참고).</li>
-</ul>
-
-<ul>
- <li>데이터베이스가 열려 있는 동안 외부 프로그램에서 데이터베이스를 엽니다. 우리의 캐시는 이 작업을 안전하게 처리할 수 있도록 하는 sqlite의 일반 파일 잠금을 방해합니다.</li>
-</ul>
-
-<h2 id="SQLite_.EC.9E.A0.EA.B8.88" name="SQLite_.EC.9E.A0.EA.B8.88">SQLite 잠금</h2>
-
-<p>SQLite는 전체 데이터베이스를 잠급니다. 즉, 읽기 동작 중인 경우에 쓰기 시도는 SQLITE_BUSY를 반환하고, 쓰기 동작 중인 경우에 읽기 시도는 SQLITE_BUSY를 반환합니다. 구문은 첫 번째 step()부터 reset() 호출 때까지 동작 중인 것으로 간주합니다. execute()는 하나의 실행으로 step()과 reset()을 호출합니다. 흔한 문제는 step()하기를 마친 후에 reset() 구문을 빠뜨리는 것입니다.</p>
-
-<p>주어진 SQLite 연결은 여러 구문을 동시에 열 수 있지만, 잠금 모델은 이 구문들이 동시에 처리할 수 있는 작업(읽기 또는 쓰기)을 제한합니다. 사실 여러 구문이 동시에 읽는 것은 가능합니다. 그러나 여러 구문이 같은 테이블을 동시에 읽고 쓰는 것은 불가능합니다. 이는 같은 연결에서 동작하더라도 마찬가지입니다.</p>
-
-<p>SQLite는 연결 수준과 테이블 수준의 2층 잠금 모델을 가지고 있습니다. 많은 사람들이 연결(데이터베이스) 수준 잠금 모델에 대해서 잘 알고 있습니다. 이는 읽는 작업은 여럿이지만 쓰는 작업은 단 하나입니다. 테이블 수준(B-트리) 잠금은 가끔 헷갈리는 것입니다. (내부적으로 데이터베이스의 각 테이블은 자신의 B-트리를 가지고 있으므로 "테이블"과 "B-트리"는 기술적으로 동의어입니다).</p>
-
-<h3 id=".ED.85.8C.EC.9D.B4.EB.B8.94_.EC.88.98.EC.A4.80_.EC.9E.A0.EA.B8.88" name=".ED.85.8C.EC.9D.B4.EB.B8.94_.EC.88.98.EC.A4.80_.EC.9E.A0.EA.B8.88">테이블 수준 잠금</h3>
-
-<p>하나의 연결만 가지고 있고 그것이 쓰기 작업을 위하여 데이터베이스를 잠궜다면 원하는 작업을 처리하기 위해 여러 구문을 사용할 수 있다고 생각할 지도 모릅니다. 전적으로 그렇지는 않습니다. 여러분은 데이터베이스를 탐색 중인 구문 핸들(예를 들어, 열려 있는 SELECT 구문)이 관리하는 테이블(B-트리) 수준 잠금에 대해서 알아야 합니다.</p>
-
-<p>일반적인 규칙은 다음과 같습니다. 구문 핸들은 다른 구문 핸들이 읽고 있는(열려 있는 커서가 있는) 테이블(B-트리)을 수정하지 <strong>않습니다</strong>. 구문 핸들이 다른 구문 핸들과 같은 연결(트랜잭션 문맥, 데이터베이스 잠금 등)을 공유하더라도 마찬가지입니다. <strong>그러한 작업 시도는 여전히 차단됩니다(즉, SQLITE_BUSY를 반환합니다)</strong>.</p>
-
-<p>이 문제는 하나의 구문으로 테이블을 탐색(iterate)하고 다른 구문으로 그 안의 레코드를 수정하려고 할 때 자주 발생합니다. 이 작업은 제대로 동작하지 않습니다(또는 최적화 수행의 개입에 따라 동작하지 않을 가능성을 수반합니다(아래 참고)). 수정 구문은 차단되는데 읽기 구문이 테이블에 열린 커서를 가지고 있기 때문입니다.</p>
-
-<h3 id=".EC.9E.A0.EA.B8.88_.EB.AC.B8.EC.A0.9C_.ED.94.BC.ED.95.98.EA.B8.B0" name=".EC.9E.A0.EA.B8.88_.EB.AC.B8.EC.A0.9C_.ED.94.BC.ED.95.98.EA.B8.B0">잠금 문제 피하기</h3>
-
-<p>해결책은 위에서 설명한대로 (1)을 따르는 것입니다. 이론적으로 (2)는 SQLite 3.x에서 제대로 동작하지 않습니다. 이 시나리오에서는 여러 개의 연결에 대하여 테이블 잠금과 더불어 데이터베이스 잠금이 역할을 하게 됩니다. 연결 2(수정 연결)는 연결 1(읽기 연결)이 테이터베이스를 읽는 동안 그것을 수정할 수 없습니다. 연결 2는 수정하는 SQL 구문을 실행하기 위하여 배타적인 잠금이 필요한데, 연결 1이 데이터베이스를 읽는 구문을 가지고 있는 한 이를 얻을 수 없습니다(연결 1은 이 때 공유하는 읽기 잠금을 가지고 있는데 이는 다른 연결이 배타적인 잠금을 얻을 수 없도록 합니다).</p>
-
-<p>다른 선택 사항은 임시 테이블을 이용하는 것입니다. 해당 테이블의 결과를 포함한 임시 테이블을 생성하고 (읽기 구문의 테이블 잠금을 임시 테이블에 두면서) 그것을 탐색하십시오. 그러면 수정 구문은 문제 없이 실제 테이블을 바꿀 수 있습니다. 이 작업은 하나의 연결(트랜잭션 문맥)에서 나온 구문으로 수행할 수 있습니다. 이 시나리오는 ORDER BY가 내부적으로 임시 테이블을 생성할 수 있는 것처럼 가끔 보이지 않게 일어나기도 합니다. 그러나 최적화 수행이 모든 경우에 이렇게 할 것이라고 가정하는 것은 안전하지 않습니다. 오직 명시적으로 임시 테이블을 생성하는 것이 후자의 선택 사항을 수행하는 안전한 방법입니다.</p>
-
-<h2 id=".EC.8A.A4.EB.A0.88.EB.93.9C_.EC.95.88.EC.A0.84.EC.84.B1" name=".EC.8A.A4.EB.A0.88.EB.93.9C_.EC.95.88.EC.A0.84.EC.84.B1">스레드 안전성</h2>
-
-<p>mozStorage 서비스와 sqlite는 스레드에 대해 안전합니다. 그러나 다른 mozStorage나 sqlite 개체나 작업은 스레드에 대해 안전하지 않습니다.</p>
-
-<ul>
- <li>저장소 서비스는 주 스레드에서 생성해야 합니다. 다른 스레드에서 서비스를 접근하려면 주 스레드에서 미리 getService를 호출해야 합니다.</li>
-</ul>
-
-<ul>
- <li>연결이나 구문을 여러 스레드에서 접근할 수 없습니다. 저장소 개체는 스레드에 대해 안전하지 않으므로 그것의 sqlite 표현 또한 스레드에 대해 안전하지 않습니다. 잠금을 실행하고 한 순간에 하나의 스레드만 작업하는 것을 보장하더라도 문제가 발생할 수 있습니다. 이러한 경우는 테스트를 거치지 않았으며 sqlite에 어떤 내부적인 스레드별 상태가 있을지도 모릅니다. 이렇게 하지 않는 것이 바람직합니다.</li>
-</ul>
-
-<ul>
- <li>다른 스레드에서 여러 연결로 하나의 데이터베이스를 접근할 수 없습니다. 일반적으로 sqlite는 이를 허용합니다. 그러나, 우리는 <code>sqlite3_enable_shared_cache(1);</code>을 이용하여 여러 연결에서 같은 캐시를 공유하고 있습니다. 이는 성능을 위하여 매우 중요합니다. 그러나 캐시 접근에 잠금이 없어서 하나 이상의 스레드에서 이를 사용하면 문제가 발생합니다.</li>
-</ul>
-
-<p>그러나, 자바스크립트 브라우저 확장 작성자는 처음 보기보다 이 제약의 영향을 덜 받는다는 사실에 주목할 만합니다. 자바스크립트 안에서 배타적으로 데이터베이스가 생성되고 이용되면 보통 스레드 안전성은 문제가 되지 않습니다. SpiderMonkey(파이어팍스의 자바스크립트 엔진)는 자바스크립트가 다른 스레드에서 실행되는 경우나 다른 스레드에서 만든 콜백에서 실행되는 경우를 제외하고 하나의 영구적인 스레드에서 자바스크립트를 실행합니다. 다중 스레드 자바스크립트의 잘못된 사용을 제외하면, 자바스크립트 스레드가 아닌 시스템 수준 스레드가 사용 중인 데이터베이스를 mozStorage를 통해 접근하는 경우에만 문제가 발생합니다.</p>
-
-<h2 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0">참고</h2>
-
-<ul>
- <li><a href="/ko/MozIStorageConnection" title="ko/MozIStorageConnection">mozIStorageConnection</a> Database connection to a specific file or in-memory data storage</li>
- <li><a href="/ko/MozIStorageStatement" title="ko/MozIStorageStatement">mozIStorageStatement</a> Create and execute SQL statements on a SQLite database.</li>
- <li><a href="/ko/MozIStorageValueArray" title="ko/MozIStorageValueArray">mozIStorageValueArray</a> Wraps an array of SQL values, such as a result row.</li>
- <li><a href="/ko/MozIStorageFunction" title="ko/MozIStorageFunction">mozIStorageFunction</a> Create a new SQLite function.</li>
- <li><a href="/ko/MozIStorageAggregateFunction" title="ko/MozIStorageAggregateFunction">mozIStorageAggregateFunction</a> Create a new SQLite aggregate function.</li>
- <li><a href="/ko/MozIStorageProgressHandler" title="ko/MozIStorageProgressHandler">mozIStorageProgressHandler</a> Monitor progress during the execution of a statement.</li>
- <li><a href="/ko/MozIStorageStatementWrapper" title="ko/MozIStorageStatementWrapper">mozIStorageStatementWrapper</a> Storage statement wrapper</li>
-</ul>
-
-<ul>
- <li><a href="/ko/Storage/Performance" title="ko/Storage/Performance">Storage:Performance</a> How to get your database connection performing well.</li>
- <li><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/3072">Storage Inspector Extension</a> Makes it easy to view any sqlite database files in the current profile.</li>
- <li><a class="external" href="http://www.sqlite.org/lang.html">SQLite Syntax</a> Query language understood by SQLite</li>
- <li><a class="external" href="http://sqlitebrowser.sourceforge.net/">SQLite Database Browser</a> is a capable free tool available for many platforms. It can be handy for examining existing databases and testing SQL statements.</li>
- <li><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/5817">SQLite Manager Extension</a> helps manage sqlite database files on your computer.</li>
-</ul>
diff --git a/files/ko/the_basics_of_web_services/index.html b/files/ko/the_basics_of_web_services/index.html
deleted file mode 100644
index c886028f1c..0000000000
--- a/files/ko/the_basics_of_web_services/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: The Basics of Web Services
-slug: The_Basics_of_Web_Services
-tags:
- - SOAP
- - XML
- - XML Web Services
-translation_of: Archive/The_Basics_of_Web_Services
----
-<p><span>Summary: A current hot topic on the web right now are Web Services. This short guide will allow you to learn more about web services.</span>
-</p>
-<h3 id=".EA.B8.B0.EB.B3.B8"> 기본 </h3>
-<p>웹 서비스는 전혀 새로운 것이 아닙니다. 웹 사이트로부터 뉴스를 긁어오기 위해 RSS나 Atom 피드를 사용해 본 적이 있다면 웹 서비스가 어떻게 동작하는 지 알고 있는 것입니다.
-</p><p>웹 서비스는 XML 형식을 사용해 요청을 전송하고 데이터를 주고 받습니다. 이를 통해 서버와 클라이언트는 서로를 알 수 있습니다. (<a href="ko/XML_Introduction">XML Introduction</a>).
-</p><p>HTML form을 통한 서버 사이드 스크립트(PHP, ASP 등)와의 비교를 통해 웹 서비스를 좀 더 쉽게 이해할 수 있습니다. 웹 서비스나 HTML form 모두 요청을 주고 받습니다. 가장 큰 차이는 웹 서비스의 경우 XML을 사용한다는 것입니다.
-</p>
-<h3 id=".EC.9B.B9_.EC.84.9C.EB.B9.84.EC.8A.A4.EC.9D.98_.EC.82.AC.EB.A1.80"> 웹 서비스의 사례 </h3>
-<p>위에서도 말했듯이 RSS나 Atom 피드는 웹 서비스의 간단한 예입니다. 일반적으로 서버와 클라이언트와의 통신을 위해 XML-RPC나 SOAP을 사용하기도 합니다.
-</p>
-<h3 id="XML-RPC_.EC.86.8C.EA.B0.9C"> XML-RPC 소개 </h3>
-<p>XML-RPC는 1998년부터 사용된 웹 서비스의 일종입니다. <a class="external" href="http://www.w3.org/">W3C</a>의 공식 표준은 아니지만 널리 사용됩니다. XML-RPC는 마이크로소프트와 Useful Inc가 개발하였습니다.
-</p>
-<h3 id="SOAP_.EC.86.8C.EA.B0.9C"> SOAP 소개 </h3>
-<p>SOAP은 <a class="external" href="http://www.w3.org/">W3C</a>의 표준으로 XML-RPC와 여러모로 비슷한 점이 많습니다. 마이크로소프트와 IBM에서 SOAP을 지원하고 있습니다.
-</p>
-<h3 id="SOAP_.ED.98.B9.EC.9D.80_XML-RPC.3F"> SOAP 혹은 XML-RPC? </h3>
-<p>간단히 말해 SOAP은 XML-RPC의 결점을 채우기 위해 만들어 졌습니다. 예를 들어 다차원 배열을 전송하는 데 SOAP이 XML-RPC 보다 더 쉽습니다. SOAP은 XML-RPC 보다 많은 기능을 갖고 있지만, XML-RPC 또한 나름대로의 사용 영역이 있습니다.
-</p>
-<div class="originaldocinfo">
-<h3 id=".EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4"> 문서 정보 </h3>
-<ul><li> Author(s): Justin G. Shreve
-</li><li> Last Updated Date: May 19th, 2005
-</li></ul>
-</div>
-{{ languages( { "en": "en/The_Basics_of_Web_Services", "pl": "pl/Podstawy_Web_Services" } ) }}
diff --git a/files/ko/toolkit_api/index.html b/files/ko/toolkit_api/index.html
deleted file mode 100644
index f17e615ab8..0000000000
--- a/files/ko/toolkit_api/index.html
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: Toolkit API
-slug: Toolkit_API
-tags:
- - Toolkit API
-translation_of: Mozilla/Tech/Toolkit_API
----
-<p><b>모질라 툴킷</b>은 <a href="ko/Gecko">Gecko</a>의 상위부분에서 빌드된 프로그래밍 인터페이스 집합체(짧게 API)입니다.
-</p><p><b>모질라 툴킷</b>은 XUL 응용프로그램에서 아래 열거된 서비스를 제공합니다.
-</p>
-<ul><li> 프로파일 관리
-</li><li> 크롬 등록
-</li><li> 히스토리 탐색
-</li><li> 테마와 확장기능 관리
-</li><li> 응용프로그램 업데이트 서비스
-</li><li> 안전모드
-</li></ul>
-<h3 id="공식_문서"> 공식 문서 </h3>
-<p></p><p>
- </p><ul>
- <li><a href="/ko/Bundles" title="ko/Bundles">설치 가능한 번들</a>: 설치 가능한 번들(확장 기능, 테마, XULRunner 어플리케이션 등)에 대하여 기술하고 있습니다.</li>
- <li><a href="/ko/Extension_Packaging" title="ko/Extension_Packaging">확장기능 포장</a>: 확장 기능을 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/ko/Theme_Packaging" title="ko/Theme_Packaging">테마 포장</a>: 테마 기능을 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/Ko/Multiple_Item_Packaging" title="Ko/Multiple_Item_Packaging">여러 항목을 포함한 XPI 포장</a>: 여러 항목들이 포함되는 XPI 를 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/ko/XUL_Application_Packaging" title="ko/XUL_Application_Packaging">XUL 응용프로그램 포장</a>: XULRunner 응용프로그램을 포장하는 방법에 대한 정보를 제공합니다.</li>
- <li><a href="/ko/Chrome_Registration" title="ko/Chrome_Registration">Chrome 등록</a>: Chrome의 등록하는 방법에 대한 정보를 제공합니다.</li>
- </ul>
-<p></p>
-<p></p>
-<h3 id="정보_더_얻어내기"> 정보 더 얻어내기 </h3>
-<p>아래의 개발자들의 홈페이지에는 여러 예제들과 특정 주제에 관한 토론이 올려져있습니다.
-</p><p><a href="ko/XUL">XUL</a>; <a href="ko/XUL_Overlays">XUL Overlays</a>; <a href="ko/Extensions">Developing Extensions</a>; <a href="ko/XULRunner">XULRunner</a>; <a href="ko/Themes">Developing Themes</a>; <a href="ko/DOM">DOM</a>; <a href="ko/RDF">RDF</a>; <a href="ko/Storage">Storage</a>; <a href="ko/Help_Viewer">Creating Help Documentation</a>
-</p>
diff --git a/files/ko/tools/scratchpad/index.html b/files/ko/tools/scratchpad/index.html
deleted file mode 100644
index 9701e48ffb..0000000000
--- a/files/ko/tools/scratchpad/index.html
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: Scratchpad
-slug: Tools/Scratchpad
-translation_of: Archive/Tools/Scratchpad
----
-<div>{{ gecko_minversion_header("6.0") }}</div>
-
-<p>Firefox 6 이후 내장되고 있는 스크래치패드(Scratchpad)는 JavaScript 코드의 실험에 편리한 환경을 제공합니다. 웹 페이지의 컨텐츠와 직접 연결해서 코드를 조작할 수 있기 때문에 실제 서비스하는 웹 페이지를 최종적으로 테스트하거나 아이디어를 시험해 볼 수 있습니다. 또한 기존의 웹 사이트를 조작하거나 사이트에서 하고 싶은 조작을 할 수도 있습니다.</p>
-
-<p>한 번에 1 행의 코드를 실행하도록 설계되고 있는 <a href="/ko/Tools/Web_Console" title="Using the Web Console">웹 콘솔</a>과는 달리 스크래치패드는 보다 큰 JavaScript 코드 덩어리를 편집할 수 있고 그리고 출력 결과의 용도에 다양한 방법으로 코드를 실행할 수 있습니다.</p>
-
-<h2 id="스크래치패드를_사용하기">스크래치패드를 사용하기</h2>
-
-<p>스크래치패드 윈도우를 열려면 웹 개발자 메뉴(Mac 에서는 도구모음 메뉴의 부메뉴로서 존재)로 스크래치패드를 선택합니다. 그러면 스크래치패드의 편집 윈도우가 열립니다. 윈도우내에는 스크래치패드의 사용법을 간단하게 나타내 보이는 코멘트가 기재되어 있습니다. 거기에 즉시 JavaScript 의 코드를 쓰기 시작할 수 있습니다.</p>
-
-<p>스크래치패드의 윈도우는 아래와 같은 모양입니다. (Windows 나 Linux 에서는 도구모음도 표시되어 한편 Mac 에서는 화면상부에 도구모음이 표시됩니다):</p>
-
-<p><img alt="scratchpad.png" class="default internal" src="/@api/deki/files/5566/=scratchpad.png"></p>
-
-<p>유용한 키보드 바로가기을 포함한 에디터 그 자체에 관한 문서에 대해서는 <a href="/ko/Tools/Using_the_Source_Editor" title="Using the Source Editor">소스 에디터 사용</a>을 참고하세요.</p>
-
-<p>윈도우의 아래에 코드의 현재의 실행 범위가 표시 됩니다. 여기에는 스크래치패드의 내용 또는 현재의 페이지의 컨텐츠가 됩니다. 자세한 것은 <a href="/ko/Tools/Scratchpad#Scratchpad_scope" title="Scratchpad scope">스크래치패드의 범위</a>를 참고하세요.</p>
-
-<div class="geckoVersionNote">{{ gecko_callout_heading("10.0") }}
-<p>Gecko 10.0 {{ geckoRelease("10.0") }} 로 스크래치패드의 에디터가 문법상 하이라이트나 개량된 인덴트등의 기능을 가지는 <a class="external" href="http://eclipse.org/orion/" title="http://eclipse.org/orion/">Orion</a> 로 옮겨졌습니다.여기에 스크래치패드의 내용이 Firefox 의 세션 복원 기능을 이용해 저장되게 되었으므로 Firefox 다시 시작 후에도 내용이 남습니다.</p>
-</div>
-
-<p>파일 메뉴에서는 JavaScript 코드의 저장이나 읽기를 실행할 수 있기 때문에 다음에 코드를 재이용할 수 있습니다.</p>
-
-<h3 id="코드_실행하기">코드 실행하기</h3>
-
-<p>코드를 기술하면 실행하고 싶은 위치 범위를 선택해 오른쪽 클릭해 (또는 도구모음의 실행 메뉴로) 코드의 실행 방법을 선택해 주세요. 코드의 실행 방법은 세 가지 종류 있습니다.</p>
-
-<div class="note"><strong>주의:</strong> 범위 선택을 실시하지 않는 경우는 윈도우내의 코드 모두 실행됩니다.</div>
-
-<h4 id="실행">실행</h4>
-
-<p>실행 옵션을 선택하면 선택한 코드가 실행됩니다. 이것은 함수나 그 외의 코드를 실행하거나 페이지내의 컨텐츠를 조작하거나 하는 것입니다.</p>
-
-<h4 id="검사">검사</h4>
-
-<p>검사 옵션은 코드를 실행 옵션과 같이 실행합니다. 다만 실행 후에 반환값의 검증을 실시할 수 있는 객체 검사기가 열립니다.</p>
-
-<p>예를 들면 이하의 코드를 입력합니다:</p>
-
-<pre>window
-</pre>
-
-<p>그리고 검사를 선택하면 이하와 같은 검사기의 윈도우가 표시됩니다:</p>
-
-<p><img alt="inspector.png" class="default internal" src="/@api/deki/files/5565/=inspector.png"></p>
-
-<h4 id="표시">표시</h4>
-
-<p>표시 옵션은 선택된 코드를 실행하고 그 결과를 스크래치패드의 에디터내에 코멘트로서 삽입합니다. 이것은 작업중에 테스트 결과의 실행 로그를 남기는데 편리한 방법입니다. 또 이 기능은 큰 문제를 떠안았을 때에 보다 좋은 계산기 프로그램을 가지고 있지 않은 경우에서도 만일의 경우의 계산기로서 사용할 수 있습니다.</p>
-
-<h2 id="지우기">지우기</h2>
-
-<p>실행 메뉴 또는 스크래치패드의 윈도우로 오른쪽 클릭한다고 표시되는 context menu의 "변수 재설정"을 선택하면 모든 변수를 재설정 할 수 있습니다.</p>
-
-<h2 id="스크래치패드_사용_예제">스크래치패드 사용 예제</h2>
-
-<p>아래에 도움이 되는 사례는 많이 있습니다. 여기에서 몇 가지를 소개합니다.</p>
-
-<h3 id="새로운_코드_테스트">새로운 코드 테스트</h3>
-
-<p>스크래치패드는 새로운 코드를 실제의 브라우저 환경에서 테스트하는 것에 특별히 도움이 됩니다. 디버그 중의 코드를 스크래치패드에 붙여넣기하여 실행해 그것이 동작할 때까지 조정합니다. 동작하게 되면 코드를 본래의 파일에 되돌려 완성합니다. 많은 경우 웹 페이지를 다시 읽고 코드를 작성한 후, 디버그 및 테스트를 실시할 수 있습니다.</p>
-
-<h3 id="재활용_가능한_코드">재활용 가능한 코드</h3>
-
-<p>스크래치패드의 도구 모음에는 JavaScript 코드의 저장이나 읽기를 실시하는 명령어가 있습니다. 이 기능은 잘 사용하는 JavaScript는 작은 코드의 보관에 사용할 수 있습니다. 예를 들면 데이터 읽기에 AJAX 리퀘스트를 이용하는 사이트에서 작업을 실시하고 있는 경우 테스트나 데이터의 검증을 위해서 그러한 읽기 조작을 실시하는 코드 영역을 저장해 둘 수 있습니다. 같이 DOM 에 관한 특정의 정보를 덤프 하는 함수와 같은 유용한 범용 디버그 함수를 저장해 둘 수도 있습니다.</p>
-
-<h2 id="스크래치패드_범위"><a name="Scratchpad_scope">스크래치패드 범위</a></h2>
-
-<p><a name="Scratchpad_scope"> </a></p>
-
-<p><a name="Scratchpad_scope">스크래치패드로 실행하는 코드는 페이지 전체에 접근 가능한 샌드 박스내에서 실행됩니다만 신규 작성한 변수는 페이지에 나가지 않습니다. 명시적으로 변수를 페이지로 보내고 싶은 경우는,{{ domxref("window") }} 객체에 그 변수를 두는 것으로 실현할 수 있습니다:</a></p>
-
-<pre><a name="Scratchpad_scope">window.myVariable = value;
-</a></pre>
-
-<p><a name="Scratchpad_scope">이 경우 신규 작성한 <code>window.myVariable</code> 변수는 페이지상에서 실행하고 있는 스크립트에 접근 가능하게 됩니다.</a></p>
-
-<div class="note"><a name="Scratchpad_scope"><strong>주의:</strong> 이 샌드 박스의 동작은 </a><a href="/ko/Tools/Web_Console" title="Using the Web Console">웹 콘솔</a>과 유사합니다. 다만 스크래치패드는 탭을 바꾸어 사용하는 점이 웹 콘솔과는 다릅니다. 즉, 스크래치패드로 실행하는 코드는 맨 앞면의 브라우저 윈도우로 현재 선택하고 있는 탭에 대해서만 실행됩니다. 예를 들면 같은 테스트를 복수의 웹 서버에 대해서 실행 할 수 있게 됩니다.</div>
-
-<h3 id="스크래치패드를_Firefox_내부_접근_사용">스크래치패드를 Firefox 내부 접근 사용</h3>
-
-<p>Firefox 자체에 대하고 작업을 하는 경우나 확장 기능을 개발하는 경우는 스크래치패드를 이용해 브라우저의 내부 모두에게 액세스 할 수 있어 편리합니다. 이를 위해서는 <code>about:config</code>로 설정 <code>devtools.chrome.enabled</code> 를 <code>true</code> 로 설정하는 것이 필요합니다. 이 설정을 하면 실행 환경 메뉴에 브라우저라고 하는 선택 사항이 추가됩니다.이것을 선택하면 범위가 웹 페이지의 컨텐츠로부터 브라우저 전체로 바뀝니다.</p>
-
-<p>{{ languages( { "en": "en/Tools/Scratchpad", "es": "es/Herramientas/Borrador", "fr": "fr/Outils/Ardoise" } ) }}</p>
diff --git a/files/ko/tools/webide/index.html b/files/ko/tools/webide/index.html
deleted file mode 100644
index b5257f47ae..0000000000
--- a/files/ko/tools/webide/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: WebIDE
-slug: Tools/WebIDE
-tags:
- - Apps
- - Debugging
- - Firefox OS
- - NeedsTranslation
- - TopicStub
- - WebIDE
- - tool
-translation_of: Archive/WebIDE
----
-<div>{{ToolsSidebar}}</div><div class="summary">
-<p>WebIDE enables you to create, edit, run, and debug web apps using the <a href="https://developer.mozilla.org/en-US/docs/Tools/Firefox_OS_Simulator">Firefox OS Simulator</a> or a real Firefox OS device.</p>
-
-<p>It also enables you to connect the <a href="https://developer.mozilla.org/en-US/docs/Tools">Firefox Developer Tools</a> to a number of other browsers, including Firefox for Android, Chrome on Android, and Safari on iOS. See the <a href="https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging">Remote Debugging</a> page for instructions on how to connect to a specific browser.</p>
-</div>
-
-<p>With WebIDE, you first <a href="/en-US/docs/Tools/WebIDE/Setting_up_runtimes">set up one or more runtimes</a>. A runtime is an environment in which you'll run and debug the app. A runtime could be a Firefox OS device connected to the desktop over USB (or over Wi-Fi since <a href="/en-US/Firefox/Releases/39">Firefox 39</a>), or it could be a Firefox OS Simulator installed on the desktop itself.</p>
-
-<p>Next, you <a href="/en-US/docs/Tools/WebIDE/Creating_and_editing_apps">create an app, or open an existing app</a>. If you're creating a new app you can start with a template that includes the directory structure and the minimum boilerplate you need to get started, or a more complete template that shows how to use a privileged API. WebIDE shows your app's files in a tree, and you can edit and save them using a built-in source editor. Of course, you don't have to use the built-in editor: you can develop your app entirely outside WebIDE, and only use it for debugging.</p>
-
-<p>Finally, you can <a href="/en-US/docs/Tools/WebIDE/Running_and_debugging_apps">install the app in one of the runtimes and run it</a>. You can then open the usual suite of developer tools - the <a href="https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector">Inspector</a>, <a href="https://developer.mozilla.org/en-US/docs/Tools/Web_Console">Console</a>, <a href="https://developer.mozilla.org/en-US/docs/Tools/Debugger">JavaScript Debugger</a> and so on - to examine and modify the running app.</p>
-
-<hr>
-<dl>
- <dt><a href="/en-US/docs/Tools/WebIDE/Opening_WebIDE">Opening WebIDE</a></dt>
- <dd>How to open WebIDE from within Firefox.</dd>
- <dt><a href="/en-US/docs/Tools/WebIDE/Setting_up_runtimes">Setting up runtimes</a></dt>
- <dd>How to connect to a runtime in which you can install apps, including Firefox OS devices, the the Firefox OS Simulator, and Firefox for Android.</dd>
- <dt><a href="/en-US/docs/Tools/WebIDE/Creating_and_editing_apps">Creating and editing apps</a></dt>
- <dd>How to create, open, and develop apps using WebIDE.</dd>
- <dt><a href="/en-US/docs/Tools/WebIDE/The_runtime_menu">The runtime menu</a></dt>
- <dd>Once you've selected a runtime, use the runtime menu to get information about the runtime and its apps, modify settings, and take a screenshot.</dd>
- <dt><a href="/en-US/docs/Tools/WebIDE/Running_and_debugging_apps">Running and debugging apps</a></dt>
- <dd>How to install apps to a runtime and debug them using the Firefox Developer Tools.</dd>
- <dt><a href="/en-US/docs/Tools/WebIDE/Working_with_Cordova_apps_in_WebIDE">Working with Cordova apps in WebIDE</a></dt>
- <dd>From Firefox 39, you can edit and debug Cordova apps using WebIDE.</dd>
- <dt><a href="/en-US/docs/Tools/WebIDE/Troubleshooting">Troubleshooting</a></dt>
- <dd>Help for problems with WebIDE, especially problems connecting to a runtime.</dd>
-</dl>
diff --git a/files/ko/tools/webide/문제해결/index.html b/files/ko/tools/webide/문제해결/index.html
deleted file mode 100644
index 1cd12c1b45..0000000000
--- a/files/ko/tools/webide/문제해결/index.html
+++ /dev/null
@@ -1,115 +0,0 @@
----
-title: WebIDE 문제해결
-slug: Tools/WebIDE/문제해결
-translation_of: Archive/WebIDE/Troubleshooting
----
-<div>{{ToolsSidebar}}</div><h2 id="USB로_Firefox_OS_장치_연결하기">USB로 Firefox OS 장치 연결하기</h2>
-
-<p>WebIDE를 통한 Firefox OS 장치 연결이 정상적이지 않을 때, 아래의 방법을 시도해보시기 바랍니다.</p>
-
-<ul>
- <li>Firefox OS 버전 확인: 연결하고자 하는 기기에 <strong>Firefox OS 1.2/Boot2Gecko 1.2</strong> 이상의 버전이 동작하고 있는 것을 확인하세요. 버전을 확인하기 위해서는 기기에서 Settings 어플리케이션의 <code>Device Information &gt; Software</code> 에서 확인할 수 있습니다. 대상 기기에서 동작하는 소프트웨어의 버전이 낮을 경우에는 <a href="/en-US/Firefox_OS/Developer_phone_guide">developer phone guide</a>에서 연결 대상 기기를 찾은 뒤, 지시에 따라 업그레이드를 진행하시기 바랍니다.</li>
- <li>원격 디버깅 활성화: 대상 기기의 Settings 어플리케이션에서  <code>Device information &gt; More information &gt; Developer</code>로 이동한 뒤
- <ul>
- <li>Firefox OS 1.3과 그 이전 버전: 체크 박스 형태의 "Remote Debugging"을 체크하세요.</li>
- <li>Firefox OS 1.4 and later: "Remote Debugging" asks you to enable for just ADB, or for ADB and DevTools. Select "ADB and DevTools".</li>
- </ul>
- </li>
- <li>잠금화면 끄기: in the Settings app on the device, go to <code>Screen Lock</code> and unchecking the <code>Lock Screen</code> checkbox. This is a good idea because when the screen gets locked, the phone connection gets lost, meaning it is no longer available for debugging.</li>
- <li>Make sure you haven't connected an Android phone at the same time as the Firefox OS phone to your computer.</li>
- <li>사용중인 USB케이블 확인:
- <ul>
- <li>Try unplugging and replugging in the USB cable.</li>
- <li>Try plugging the USB cable into a different port on your computer. You may have to alternate between ports.</li>
- <li>Try a different USB cable. The cables that come with phones are often of poor quality and fail often.</li>
- <li>Try a shorter USB cable. Long USB cables have been known to not work so well.</li>
- </ul>
- </li>
- <li>Try disabling and re-enabling Remote Debugging in the Settings app on the device.</li>
- <li>If <a href="/en-US/docs/Tools/WebIDE#Custom_runtimes">you disabled the ADB Addon Helper</a>, did you successfully run the <code>adb forward</code> command?</li>
- <li>If you use Linux:
- <ul>
- <li>Make sure you added a <code>udev</code> rules file, as documented in step 3 of this guide to <a class="external external-icon" href="http://developer.android.com/tools/device.html#setting-up">setting up an Android device</a>. The <code>idVendor</code> attribute to use for the Geeksphone is "05c6", and <a class="external external-icon" href="http://developer.android.com/tools/device.html#VendorIds">this page</a> lists other <code>idVendor</code> values. Next, run the <code>adb devices</code> to make sure your device is in the list. If device appears to be "no permission", you need to restart adb server (e.g. <code>adb kill-server;adb start-server</code>).</li>
- </ul>
- </li>
- <li>If you use Windows:
- <ul>
- <li>You need to install drivers, as documented in step 3 of this guide to <a class="external external-icon" href="http://developer.android.com/tools/device.html#setting-up">setting up an Android device</a>. You can find drivers for Geeksphone devices on the <a class="external external-icon" href="http://downloads.geeksphone.com/">Geeksphone web site</a> and drivers for Google devices on <a href="http://developer.android.com/sdk/win-usb.htm">Google web site</a>. Windows 8 by default will not let you install unsigned drivers. See this tutorial on <a class="external-icon external" href="http://www.craftedge.com/tutorials/driver_install_windows8/driver_install_win8.html" title="http://www.craftedge.com/tutorials/driver_install_windows8/driver_install_win8.html">"How to install an unsigned driver on Windows 8"</a>.</li>
- <li>If WebIDE can't see your device after following all the steps, you may have to <a class="external-icon external" href="http://blog.fh-kaernten.at/wehr/?p=1182">edit adb_usb.ini</a>.</li>
- </ul>
- </li>
- <li>If you use Mac OS X:
- <ul>
- <li>If you're getting timeout errors connecting to both simulators and real devices, you may be unable to connect to localhost due to an empty /etc/hosts file. You can solve the problem by populating the file and flushing DNS cache <a href="https://discussions.apple.com/thread/2729411?tstart=0">as described here</a>.</li>
- <li>If you're an EasyTether user, you will need to uninstall or disable EasyTether: <code>sudo kextunload /System/Library/Extensions/EasyTetherUSBEthernet.kext</code></li>
- </ul>
- </li>
-</ul>
-
-<h2 id="Wi-Fi로_Firefox_OS_장치_연결하기">Wi-Fi로 Firefox OS 장치 연결하기</h2>
-
-<ul>
- <li>Check your version: Wi-Fi debugging requires Firefox 39 or higher, and a Firefox OS device running a build of Firefox OS 3.0 from 2015-03-27 or later.</li>
- <li>The QR code scanner can be a bit frustrating at the moment, as real devices appear to capture a very low resolution picture. <a href="https://bugzil.la/1145772">Bug 1145772</a> aims to improve this soon. If you have trouble with this, try scanning with a few different orientations. If you chose "Scan and Remember, then you won't have to scan the code again the next time you connect your computer to this device.</li>
-</ul>
-
-<h2 id="Connecting_to_Firefox_for_Android">Connecting to Firefox for Android</h2>
-
-<p>If you're trying to connect to a Firefox instance running on the Android OS and it doesn't show up, here are some things you can try:</p>
-
-<ul>
- <li>Check your Firefox version: make sure your device is running<strong> Firefox 36 or higher</strong>. WebIDE will not detect older versions automatically, so you need to enable port forwarding and connect to the device port - follow the instructions <a class="external external-icon" href="https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Firefox_for_Android">here</a>.</li>
- <li>Make sure you have enabled remote debugging in Firefox: open Firefox for Android, open its menu, select <code>Settings</code>, and then check the checkbox at <code>Developer Tools &gt; Remote debugging</code>.</li>
- <li>Make sure that USB debugging is allowed in the device's developer settings</li>
- <li>If you still do not see your device in the WebIDE window, try toggling <code>Remote debugging</code> on the phone.
- <ul>
- <li>Disconnect your device from your computer and turn off <code>Remote debugging</code> on the phone.</li>
- <li>Reconnect the device and turn on <code>Remote debugging</code> - this restarts the debugger instance on the phone.</li>
- <li>Try connecting via WebIDE again.</li>
- </ul>
- </li>
- <li>If using Windows, make sure that your Android device is recognized correctly and that it is using the Google USB Driver that is included with the Android SDK.</li>
-</ul>
-
-<h2 id="Connecting_to_other_browsers_Chrome_Safari">Connecting to other browsers (Chrome, Safari)</h2>
-
-<p>WebIDE makes use of <a href="/en-US/docs/Tools/Valence">Valence (formerly Firefox Tools Adapter)</a> to reach other browsers, like Chrome and Safari. </p>
-
-<p>If you are having trouble connecting to these other browsers, check the setup steps and other notes for those browsers on the <a href="/en-US/docs/Tools/Valence">Valence page</a>.</p>
-
-<h2 id="Cant_debug_some_apps">Can't debug some apps</h2>
-
-<p>If you are finding that you can't debug certified apps, built-in apps, or apps already installed on a real device, then you may be coming across WebIDE's restricted privileges security policy. To find out more, see the section on <a href="/en-US/docs/Tools/WebIDE#Unrestricted_app_debugging_%28including_certified_apps.2C_main_process.2C_etc.%29">Unrestricted app debugging (including certified apps, main process, etc.)</a>.</p>
-
-<h2 id="Unable_to_load_project_list">Unable to load project list</h2>
-
-<p>If you open WebIDE in one version of Firefox, and then downgrade to a previous Firefox version with the same profile, you may see the error "Unable to load project list" when opening WebIDE in the earlier Firefox version.</p>
-
-<p>This can occur when the storage system that WebIDE uses (<a href="/en-US/docs/Web/API/IndexedDB_API">IndexedDB</a>) needs to move or restructure its internal files for the newer Firefox version. The project list then becomes effectively inaccessible to older versions of Firefox.</p>
-
-<p>No data has been lost, but you will need to keep using the newest version of Firefox that was used with your profile to get the project list back.</p>
-
-<p>If really want to use the older version of Firefox, you can attempt to delete just the project list in the following way, but this is unsupported and could result in the further problems or additional data loss:</p>
-
-<ol>
- <li>Close Firefox</li>
- <li>Find your Firefox profile directory</li>
- <li>Find the <code>storage</code> folder inside the profile directory</li>
- <li>Under some part of this file tree, there should be files and/or directories that start with <code>4268914080AsptpcPerjo</code> (a hashed name of the database)</li>
- <li>Remove any such files and directories</li>
- <li>Start Firefox and WebIDE again</li>
-</ol>
-
-<h2 id="Enable_logging">Enable logging</h2>
-
-<p>You can also enable verbose logging to gather diagnostics:</p>
-
-<ol start="1" style="list-style-type: decimal;">
- <li>Open <a class="external external-icon" href="http://kb.mozillazine.org/About:config">about:config</a>, and add a new preference called <code>extensions.adbhelper@mozilla.org.sdk.console.logLevel</code>, with the string value <code>all</code>, and set <code>extensions.adbhelper@mozilla.org.debug</code> to <code>true</code>.</li>
- <li>In the <a class="external external-icon" href="https://support.mozilla.org/en-US/kb/disable-or-remove-add-ons">Add-ons Manager</a>, disable and then re-enable the ADB Helper add-on.</li>
- <li>Open the <a href="https://developer.mozilla.org/en-US/docs/Tools/Browser_Console">Browser Console</a> and you'll now see console messages prefixed with <code>adb</code>. If the messages don't mean anything to you, <a href="/en-US/docs/Tools/WebIDE/Troubleshooting#Get_help">ask for help</a>.</li>
-</ol>
-
-<h2 id="Get_help">Get help</h2>
-
-<p>Go to the <a class="external external-icon" href="https://wiki.mozilla.org/DevTools/GetInvolved#Communication">#devtools room on IRC</a> and we will try to help.</p>
diff --git a/files/ko/using_nsiloginmanager/index.html b/files/ko/using_nsiloginmanager/index.html
deleted file mode 100644
index 738636ae3e..0000000000
--- a/files/ko/using_nsiloginmanager/index.html
+++ /dev/null
@@ -1,141 +0,0 @@
----
-title: Using nsILoginManager
-slug: Using_nsILoginManager
-tags:
- - Firefox 3
- - Interfaces
-translation_of: Mozilla/Tech/XPCOM/Reference/Interface/nsILoginManager/Using_nsILoginManager
----
-<p></p>
-<h3 id=".EB.A1.9C.EA.B7.B8.EC.9D.B8_.EA.B4.80.EB.A6.AC.EC.9E.90.EB.A1.9C_.EC.9E.91.EC.97.85_.ED.95.98.EA.B8.B0" name=".EB.A1.9C.EA.B7.B8.EC.9D.B8_.EA.B4.80.EB.A6.AC.EC.9E.90.EB.A1.9C_.EC.9E.91.EC.97.85_.ED.95.98.EA.B8.B0">로그인 관리자로 작업 하기</h3>
-<p>확장은 종종 외부 사이트나 웹 애플리케이션 등의 암호를 안전하게 저장할 필요가 있습니다. 그러기 위해서는 민감한 암호 정보를 저장하기 위한 안전한 저장소를 제공하는 <code><a href="ko/NsILoginManager">nsILoginManager</a></code>와 로그인 정보를 저장하는 방법을 제공하는 <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code>를 사용할 수 있습니다.</p>
-<h3 id="nsILoginManager_.EC.96.BB.EA.B8.B0" name="nsILoginManager_.EC.96.BB.EA.B8.B0"><code>nsILoginManager 얻기</code></h3>
-<p><code>nsILoginManager</code>를 구현한 콤포넌트를 얻으려면 다음 코드를 사용합니다.</p>
-<pre>var passwordManager = Components.classes["@mozilla.org/login-manager;1"]
- .getService(Components.interfaces.nsILoginManager);
-</pre>
-<p>대부분의 로그인 관리자 함수는 <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 개체를 매개 변수로 취합니다. <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 개체는 다음과 같은 속성을 포함합니다: hostname, form submit URL, HTTP realm, username, username field, password, password field. hostname, username, password는 필수 속성이지만 기타 필드는 로그인이 웹 페이지 양식을 위한 것인지 아니면 HTTP/FTP 인증 사이트 로그인인지에 따라 설정됩니다. 자세한 정보는 <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 속성 정의를 참고하시기 바랍니다. <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 개체를 정의하는 것은 간단합니다.</p>
-<pre>var nsLoginInfo = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1",
- Components.interfaces.nsILoginInfo,
- "init");
-
-var loginInfo = new nsLoginInfo(hostname, formSubmitURL, httprealm, username, password,
- usernameField, passwordField);
-</pre>
-<h3 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C">예제</h3>
-<h4 id=".EC.9B.B9_.ED.8E.98.EC.9D.B4.EC.A7.80.EB.A5.BC_.EC.9C.84.ED.95.9C_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1" name=".EC.9B.B9_.ED.8E.98.EC.9D.B4.EC.A7.80.EB.A5.BC_.EC.9C.84.ED.95.9C_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1">웹 페이지를 위한 로그인 생성</h4>
-<pre class="eval"> <span class="nowiki">var formLoginInfo = new nsLoginInfo('http://www.example.com',
- 'http://login.example.com', null,
- 'joe', 'SeCrEt123', 'uname', 'pword');</span>
-</pre>
-<p>이 로그인은 다음과 같은 HTML 양식에 해당합니다.</p>
-<pre class="eval"> <span class="nowiki">
- &lt;form action="http://login.example.com/foo/authenticate.cgi"&gt;
- Please log in.
- Username: &lt;input type="text" name="uname"&gt;
- Password: &lt;input type="password" name="pword"&gt;
- &lt;/form&gt;
- </span>
-</pre>
-<h4 id=".EC.82.AC.EC.9D.B4.ED.8A.B8_.EC.9D.B8.EC.A6.9D_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1" name=".EC.82.AC.EC.9D.B4.ED.8A.B8_.EC.9D.B8.EC.A6.9D_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1">사이트 인증 로그인 생성</h4>
-<pre class="eval"> <span class="nowiki">var authLoginInfo = new nsLoginInfo('http://www.example.com',
- null, 'ExampleCo Login',
- 'alice', 'SeCrEt321', null, null);</span>
-</pre>
-<p>이는 서버가 다음과 같은 응답을 보낼 때 <span class="nowiki">http://www.example.com</span>에 로그인 하는 것에 해당합니다.</p>
-<pre class="eval"> HTTP/1.0 401 Authorization Required
- Server: Apache/1.3.27
- WWW-Authenticate: Basic realm="ExampleCo Login"
-</pre>
-<h4 id=".EC.A7.80.EC.97.AD_.ED.99.95.EC.9E.A5_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1" name=".EC.A7.80.EC.97.AD_.ED.99.95.EC.9E.A5_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.83.9D.EC.84.B1">지역 확장 로그인 생성</h4>
-<pre class="eval"> <span class="nowiki">var extLoginInfo = new nsLoginInfo('chrome://firefoo',
- 'User Registration', null,
- 'bob', '123sEcReT', null, null);</span>
-</pre>
-<p>로그인 관리자는 이를 웹 사이트 로그인인 것처럼 취급합니다. 다른 확장과 충돌을 피하려면 확장의 <a class="external" rel="freelink">chrome://</a> URL과 로그인의 목적을 나타내는 영역 문자열을 사용해야 합니다.</p>
-<h3 id=".EC.95.94.ED.98.B8_.EC.A0.80.EC.9E.A5.ED.95.98.EA.B8.B0" name=".EC.95.94.ED.98.B8_.EC.A0.80.EC.9E.A5.ED.95.98.EA.B8.B0">암호 저장하기</h3>
-<p>로그인 관리자에 암호를 저장하려면 먼저 위에서 정의한 대로 <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 개체를 생성해야 합니다. 그리고 나서 간단하게 <code><a href="ko/NsILoginManager">nsILoginManager</a></code>의 메소드인 <code><a href="ko/NsILoginManager#addLogin.28.29">addLogin()</a></code>를 호출합니다.</p>
-<pre class="eval"> myLoginManager.addLogin(loginInfo);
-</pre>
-<p></p><div class="blockIndicator note"><strong>주의:</strong> &lt;tt&gt;httprealm&lt;/tt&gt;과 &lt;tt&gt;formSubmitURL&lt;/tt&gt; 매개 변수가 모두 <code>NULL</code>이면 여기에서 예외가 발생합니다. 암호를 저장하려면 하나를 지정해야 합니다. &lt;tt&gt;hostname&lt;/tt&gt;, &lt;tt&gt;username&lt;/tt&gt;, &lt;tt&gt;password&lt;/tt&gt; 매개 변수 또한 필수입니다.</div><p></p>
-<h3 id=".EC.95.94.ED.98.B8_.EA.B5.AC.ED.95.98.EA.B8.B0" name=".EC.95.94.ED.98.B8_.EA.B5.AC.ED.95.98.EA.B8.B0">암호 구하기</h3>
-<p>로그인 관리자에서 암호를 구하는 것은 약간 더 어렵습니다. 암호를 찾으려면 &lt;tt&gt;hostname&lt;/tt&gt;, &lt;tt&gt;formSubmitURL&lt;/tt&gt;, &lt;tt&gt;httprealm&lt;/tt&gt;이 찾을 암호를 위해 저장된 것과 <b>정확하게 일치</b>해야 합니다. 유일한 예외는 저장된 &lt;tt&gt;formSubmitURL&lt;/tt&gt;이 비어 있으면 이 경우에 &lt;tt&gt;formSubmitURL&lt;/tt&gt; 매개 변수는 무시한다는 것입니다. &lt;tt&gt;hostname&lt;/tt&gt;과 &lt;tt&gt;formSubmitURL&lt;/tt&gt; 인수는 전체 URL의 경로를 포함하면 안된다는 점에 주의하십시오. 아래 예제는 양식 로그인을 위한 시작점을 제공할 것입니다.</p>
-<pre>var hostname = 'http://www.example.com';
-var formSubmitURL = 'http://www.example.com'; // not http://www.example.com/foo/auth.cgi
-var httprealm = null;
-var username = 'user';
-var password;
-
-try {
- // Get Login Manager
- var myLoginManager = Components.classes["@mozilla.org/login-manager;1"]
- .getService(Components.interfaces.nsILoginManager);
-
- // Find users for the given parameters
- var logins = myLoginManager.findLogins({}, hostname, formSubmitURL, httprealm);
-
- // Find user from returned array of nsILoginInfo objects
- for (var i = 0; i &lt; logins.length; i++) {
- if (logins[i].username == username) {
- password = logins[i].password;
- break;
- }
- }
-}
-catch(ex) {
- // This will only happen if there is no nsILoginManager component class
-}
-</pre>
-<p>사용자가 암호를 안전하게 보관하도록 마스터 암호를 지정했다면 이를 입력하라는 요청을 받게 된다는 점을 참고하십시오.</p>
-<h3 id=".EC.95.94.ED.98.B8_.EC.A0.9C.EA.B1.B0.ED.95.98.EA.B8.B0" name=".EC.95.94.ED.98.B8_.EC.A0.9C.EA.B1.B0.ED.95.98.EA.B8.B0">암호 제거하기</h3>
-<p>암호를 제거하는 것은 간단합니다.</p>
-<pre class="eval"> myLoginManager.removeLogin(loginInfo);
-</pre>
-<p>암호를 제거할 때 지정한 <code><a href="ko/NsILoginInfo">nsILoginInfo</a></code> 개체는 저장된 것과 <b>정확하게 일치해야</b> 하며 그렇지 않으면 예외가 발생합니다. 이는 password 속성을 포함합니다. 여기에 실제로 암호가 무엇인지 모르면서 암호를 제거하는 방법을 보여주는 예제가 있습니다.</p>
-<pre>// example values
-var hostname = 'http://www.example.com';
-var formSubmitURL = 'http://www.example.com';
-var httprealm = null;
-var username = 'user';
-
-try {
- // Get Login Manager
- var passwordManager = Components.classes["@mozilla.org/login-manager;1"]
- .getService(Components.interfaces.nsILoginManager);
-
- // Find users for this extension
- var logins = passwordManager.findLogins({}, hostname, formSubmitURL, httprealm);
-
- for (var i = 0; i &lt; logins.length; i++) {
- if (logins[i].username == username) {
- passwordManager.removeLogin(logins[i]);
- break;
- }
- }
-}
-catch(ex) {
- // This will only happen if there is no nsILoginManager component class
-}
-</pre>
-<h3 id=".EC.A0.80.EC.9E.A5.EB.90.9C_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.A0.95.EB.B3.B4_.EB.B3.80.EA.B2.BD.ED.95.98.EA.B8.B0" name=".EC.A0.80.EC.9E.A5.EB.90.9C_.EB.A1.9C.EA.B7.B8.EC.9D.B8_.EC.A0.95.EB.B3.B4_.EB.B3.80.EA.B2.BD.ED.95.98.EA.B8.B0">저장된 로그인 정보 변경하기</h3>
-<p>암호를 변경하는 것은 간단합니다. 여기에서 하는 모든 일은 <code><a href="ko/NsILoginManager#removeLogin.28.29">removeLogin()</a></code>를 호출하고 나서 <code><a href="ko/NsILoginManager#addLogin.28.29">addLogin()</a></code>를 호출하는 것이므로 두 가지 모두와 같은 주의 사항이 있습니다. 즉, &lt;tt&gt;oldLogin&lt;/tt&gt;은 기존 로그인과 정확하게 일치해야 하고 (위를 참고) &lt;tt&gt;newLogin&lt;/tt&gt; 속성은 올바르게 지정되야 합니다.</p>
-<pre>myLoginManager.modifyLogin(oldLogin, newLogin);</pre>
-<h3 id=".EB.94.94.EB.B2.84.EA.B9.85" name=".EB.94.94.EB.B2.84.EA.B9.85">디버깅</h3>
-<p>로그인 관리자 구현은 오류 콘솔로 디버그 메시지를 보내는 것이 가능한데, 이는 하고 있는 일을 어느 정도 보여줍니다. 디버그 로깅을 활성화하려면 <a class="external" href="http://wiki.mozilla.org/Firefox:Password_Manager_Debugging" rel="freelink">http://wiki.mozilla.org/Firefox:Pass...ager_Debugging</a> 을 참고하시기 바랍니다.</p>
-<h3 id="Firefox_.EA.B5.AC_.EB.B2.84.EC.A0.84_.EC.A7.80.EC.9B.90" name="Firefox_.EA.B5.AC_.EB.B2.84.EC.A0.84_.EC.A7.80.EC.9B.90">Firefox 구 버전 지원</h3>
-<p>여러분의 확장이 Firefox 3와 구 버전을 모두 지원하기를 바란다면 <code><a href="ko/NsILoginManager">nsILoginManager</a></code>와 <code><a href="ko/NsIPasswordManager">nsIPasswordManager</a></code> 콤포넌트를 모두 구현해야 합니다. 이를 위한 간단한 방법은 다음과 같습니다.</p>
-<pre>if ("@mozilla.org/passwordmanager;1" in Components.classes) {
- // Password Manager exists so this is not Firefox 3 (could be Firefox 2, Netscape, SeaMonkey, etc).
- // Password Manager code
-}
-else if ("@mozilla.org/login-manager;1" in Components.classes) {
- // Login Manager exists so this is Firefox 3
- // Login Manager code
-}
-</pre>
-<p> </p>
-<p> </p>
-<p> </p>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/using_xpinstall_to_install_plugins/index.html b/files/ko/using_xpinstall_to_install_plugins/index.html
deleted file mode 100644
index 81b474d7dc..0000000000
--- a/files/ko/using_xpinstall_to_install_plugins/index.html
+++ /dev/null
@@ -1,218 +0,0 @@
----
-title: Using XPInstall to Install Plugins
-slug: Using_XPInstall_to_Install_Plugins
-tags:
- - Plugins
- - XPInstall
-translation_of: Archive/Mozilla/XPInstall/Installing_plugins
----
-<p> </p>
-<p><a href="ko/XPInstall">XPInstall</a> is a JavaScript-based installer technology that works across all the platforms that <a class="external" href="http://mozilla.org">Mozilla</a> and Netscape browsers based on Mozilla (such as Netscape 7) are deployed. It can be a way to ensure a smooth user-experience when obtaining plugins, without obliging the user to exit the browsing environment to launch a binary installer (the classic setup.exe experience on Windows) or obliging the user to restart their browser. For plugin vendors who have already written a native code (e.g. EXE) installer, XPInstall can wrap this native installer and run it so that the user never has to leave the browsing environment and click on the EXE to run it. This article presents a guideline for improving the plugin installation experience for Netscape Gecko browsers using <a href="ko/XPInstall_API_Reference">XPInstall</a>.</p>
-<h3 id="A_Definition_of_Terms" name="A_Definition_of_Terms">A Definition of Terms</h3>
-<p>XPInstall is an installer technology, and the name itself stands for "Cross Platform Install" (hence "XP" -- an abbreviation for "Cross Platform"). An XPInstall package is usually called an XPI package for short (and often pronounced "zippy"). This article is about how you can use XPInstall to install plugins to the browsers that support XPInstall.</p>
-<p>An XPI Package is in fact a ZIP file with the XPI file extension (e.g. myPluginInstaller.xpi), and can be created on Windows by utilities such as WinZip. XPI Packages, like ZIP files, "contain" other files, typically:</p>
-<ul>
- <li>The software component to be installed. In our case, this is the plugin software.</li>
- <li>A JavaScript file called install.js, which is the install logic that drives the installation. This includes instructions on where to install the software, and what messages to feed to the user.</li>
-</ul>
-<p>You can create an XPInstall file by first zipping all the items you want installed with WinZip (create a ZIP archive) and then renaming it with the XPI file extension instead of the ZIP file extension.</p>
-<p>Unlike native code installers (for example, files called setup.exe), the programming language for install operations in XPI is JavaScript. Since the file format that contains the software and the install.js JavaScript file is a cross-platform file (Zip) and since JavaScript is understood by Mozilla browsers on all platforms, often one single XPI package can be deployed on all platforms. This is, in fact, <a class="external" href="http://www.mozilla.org/docs/xul/xulnotes/xulnote_packages.html">how skins and themes are installed to Mozilla browsers</a>, changing their look and feel. This article focuses on how to install plugins.</p>
-<h3 id="Which_Browsers_Support_XPInstall.3F" name="Which_Browsers_Support_XPInstall.3F">Which Browsers Support XPInstall?</h3>
-<p>Currently, all <a class="external" href="http://mozilla.org/releases/stable.html">Mozilla browsers released by mozilla.org</a> support XPInstall, and a family of browsers based on Mozilla code support XPInstall. In particular, this includes:</p>
-<ul>
- <li>Recent Netscape browsers such as Netscape 6.2.x and Netscape 7.0, which are both based on Netscape Gecko, which is at the core of the Mozilla browser</li>
- <li>Recent <b>beta-only</b> versions of the AOL software based on Netscape Gecko, the layout engine of the Mozilla project.</li>
-</ul>
-<p><b>Caveats:</b></p>
-<ul>
- <li>AOL Time Warner's <a class="external" href="http://www.compuserve.com/">CompuServe browser</a>, also based on Netscape Gecko, does not support XPInstall.</li>
- <li>Netscape Communicator 4.x does not support XPInstall.</li>
-</ul>
-<h3 id="What_Does_a_Plugin_Consist_Of.3F" name="What_Does_a_Plugin_Consist_Of.3F">What Does a Plugin Consist Of?</h3>
-<p>Plugins can consist of the following types of files, all of which can be installed via an XPI Package:</p>
-<ul>
- <li><b>Shared Libraries</b> (i.e. on Windows, these are DLLs, on Unix these are *.so files). These files are native code files made with the <a href="ko/Gecko_Plugin_API_Reference">Netscape Plugin API</a>.</li>
- <li>If the plugin is scriptable, then it will also consist of an <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview">XPT file</a>. Examples would be Flash 6r47 on Windows, which consists of a DLL (called npswf32.dll) and an XPT file for scriptability (called flashplayer.xpt). If you are developing a plugin and wish to <a href="ko/Gecko_Plugin_API_Reference/Plug-in_Development_Overview">make it scriptable</a>, read the relevant portions of the <a href="ko/Gecko_Plugin_API_Reference">Plugin API</a>.</li>
- <li><b>Additional software.</b> Many plugins are part of additional software for media types. For example, RealPlayer on Windows consists of a plugin DLL, but also the RealPlayer application (EXE) which the plugin DLL is a subset of. In this case, the plugin is the part of the software package that is browser-specific, as a mechanism to give the application additional "hooks" into the browser.</li>
-</ul>
-<p>XPInstall can be used to install any combination of these files on an end-user's machine. For those familiar with Netscape Communicator 4.x's SmartUpdate technology, this will be a familiar idea.</p>
-<h3 id="A_Brief_History_of_Netscape_Installer_Technologies" name="A_Brief_History_of_Netscape_Installer_Technologies">A Brief History of Netscape Installer Technologies</h3>
-<p>This section is relevant if you are familiar with Netscape Communicator 4.x's SmartUpdate installer technology. The use of JavaScript as the install logic is not unprecedented in Netscape browsers. Netscape Communicator 4.x uses the notion of SmartUpdate to install software, particularly plugins and Java applets to be run locally. SmartUpdate is
- <i>
- <b>not supported</b></i>
- by Mozilla browsers (and Netscape/AOL browsers based on Mozilla such as Netscape 7), but because of the similarity between the two installer technologies, it is easy to convert your SmartUpdate files to XPInstall files. SmartUpdate involves a digitally signed JAR file which contained the software components to be installed as well as a JavaScript install.js file (called the install script) as the installer logic. Downloads and installs would be initiated with a security dialog box naming the certificate authority and the signer. Often, the SmartUpdate download was triggered via the pluginurl attribute of the embed tag:</p>
-<pre>&lt;embed type="application/x-randomtype" src="myfile.typ" width="50" height="50"
-pluginurl="http://mytypecompany.xyz/jarpacks/mytypeplugin.jar"&gt;&lt;/embed&gt;
-</pre>
-<p>In the example above, the pluginurl attribute points to the signed JAR file, which Netscape Communicator 4.x would then download (subject to the security dialog boxes) <b>if</b> the plugin was not located on the user's machine. SmartUpdate differs from XPInstall in that:</p>
-<ul>
- <li>XPInstall uses ZIP files named XPI files (*.xpi) and SmartUpdate uses JAR files (*.jar)</li>
- <li>Unlike a SmartUpdate JAR file, XPI Packages do not have to be digitally signed with a code-signing certificate.</li>
- <li>XPI Packages make use of <a href="ko/XPInstall_API_Reference">different APIs</a> from within install.js, although the concept is the same.</li>
-</ul>
-<p>XPInstall for Mozilla-based browsers is analogous to SmartUpdate in Netscape Communicator 4.x browsers. Porting SmartUpdate deployments to XPInstall is trivial after gaining some familiarity with the <a href="ko/XPInstall_API_Reference">new XPInstall API</a>.</p>
-<h3 id="The_Recommended_Installation_Process" name="The_Recommended_Installation_Process">The Recommended Installation Process</h3>
-<p>XPInstall provides a cohesive API to accomplish rapid installation and setup of plugin software for end-users. The benefit of using XPInstall is to provide a streamlined installation mechanism. This section discusses what an ideal XPInstall Package will do, as well as points out some of the JavaScript API calls that you will make to accomplish these install tasks. An ideal XPI Package will:</p>
-<ol>
- <li>Install to the current browser that is initiating the XPInstall installation via HTML or triggering an XPInstall installation via a Trigger Script. We will use the term current browser to refer to the browser that initiates the XPInstall download by visiting a site which requires a plugin that the current browser can not find locally. This step will involve the use of the <a href="ko/XPInstall_API_Reference/Install_Object/Methods/initInstall">initInstall</a> API call to start everything off, and also the <a href="ko/XPInstall_API_Reference/Install_Object/Methods/getFolder">getFolder</a> API call, which helps to locate the current browser's plugin directory.</li>
- <li>Install the plugin software to another location on the user's hard disk, so that other Mozilla-based browsers that the user may install later can find the plugin (the browser specific components) and pick it up. The goal is to ensure that future Netscape Gecko browsers that the user may install later can benefit from the installation that the user initiated with the current browser. An example might be that the current browser is Netscape 7, but later, the user downloads a beta of the AOL software using Netscape Gecko. Rather than re-initiate the download of the plugin with the yet another browser, the second Netscape Gecko browser can detect that an installation has already occurred. This discovery mechanism hinges on making the secondary install location available from looking at a common repository of metadata. On Windows, this is the Windows System Registry. Once again, this step involves calls to <a href="ko/XPInstall_API_Reference/Install_Object/Methods/getFolder">getFolder</a> to locate a "well known" directory in which to install to as a secondary install location.</li>
- <li>On Windows: write Windows Registry keys that Netscape Gecko browsers (that get installed after the current browser) can parse to discover where the plugin is installed on the machine. In particular, the Windows Registry keys should point to the secondary install location so that future Netscape Gecko browsers can find and add to their list of available plugin locations. The exact format of these registry keys and how they should be written is covered in the section on the first install problem. To actually create and write keys to the Windows System Registry, you'll use the functions of the <a href="ko/XPInstall_API_Reference/WinReg_Object">WinReg object</a>.</li>
- <li>Ensure that the plugin that has just been installed is refreshed by correctly invoking the <a href="ko/XPInstall_API_Reference/Install_Object/Methods/refreshPlugins">refreshPlugins API</a>. By refreshing your plugin, you're ensuring that the plugin is available for use immediately, without obliging the user to restart their browser. This is one of the chief advantages of a smooth XPInstall experience.</li>
-</ol>
-<h3 id="The_First_Install_Problem" name="The_First_Install_Problem">The First Install Problem</h3>
-<p>The First Install Problem refers to the conditions arising when a plugin arrives on a user's machine before a browser arrives. The recommended install process addresses this issue, which is to install to a secondary location after installing to the current browser. In a nutshell, the first install problem can be summed up by the question: how can a browser which is installed on a user's machine after a given plugin has already been installed by the user benefit from the existing installation rather than download the same plugin again? In order to address this issue, plugin vendors are encouraged to:</p>
-<ul>
- <li>Install the plugin software components for the browser (e.g. DLLs on Windows, and XPT files if applicable) to a secondary location, in addition to that of the plugins directory of the current browser.</li>
- <li>Write keys in the Windows registry which store information about this secondary location, in particular the Plugin Path and the XPT Path (if applicable) so that Netscape Gecko browsers can pick up the plugin from the secondary location if they are installed after the plugin is (and thus, if a particular Netscape Gecko browser follows or replaces the current browser). The keys to write and the information they should contain is <a class="external" href="http://www.mozilla.org/projects/plugins/first-install-problem.html">discussed in detail in the specification posted on mozilla.org</a>. There is also a <a class="external" href="http://www.mozilla.org/projects/plugins/example-scobe.txt">sample registry entry</a> created by an imaginary company that is illustrative of what is discussed in the <a class="external" href="http://www.mozilla.org/projects/plugins/first-install-problem.html">specification for these registry keys</a>.</li>
- <li>On Windows, the Windows Registry keys mentioned above follow a nomenclature using the concept of a <a class="external" href="http://www.mozilla.org/projects/plugins/plugin-identifier.html">Plugin Identifier</a> as the name of the key under the MozillaPlugins subkey. The <a class="external" href="http://www.mozilla.org/projects/plugins/plugin-identifier.html">Plugin Identifier (or PLID)</a> is a useful concept that is also applicable when initializing the installation via the <a href="ko/XPInstall_API_Reference/Install_Object/Methods/initInstall">initInstall API</a>.</li>
-</ul>
-<h3 id="A_Breakdown_of_the_APIs_Used" name="A_Breakdown_of_the_APIs_Used">A Breakdown of the APIs Used</h3>
-<p>The recommended plugin installation process makes use of the XPInstall APIs to install to the current browser's Plugins directory, install to a secondary location, and to <a class="external" href="http://www.mozilla.org/projects/plugins/first-install-problem.html">write to the Windows System Registry to disclose this secondary location</a>. This section traces some of the XPInstall APIs that can do this. A complete template of an XPI Package is also presented in this section. Not all the work needs to be done in JavaScript -- if you have a native installer (EXE) that <a class="external" href="http://mozilla.org/projects/plugins/install-scheme.html">recognizes Netscape Gecko browsers</a>, and you merely wish to wrap the EXE installer in an XPI Package for a streamlined delivery to the client, you can easily do so. This section refers extensively to the <a href="ko/XPInstall_API_Reference">XPInstall API Documentation</a>.</p>
-<h4 id="Initializing_Installation_with_Plugin_Identifier" name="Initializing_Installation_with_Plugin_Identifier">Initializing Installation with Plugin Identifier</h4>
-<p>All XPInstall installations are initiated with the <a href="ko/XPInstall_API_Reference/Install_Object/Methods/initInstall">initInstall method of the Install Object</a>. Since the Install Object is available to the install script, it need not be mentioned in the install script (e.g. there is no need to invoke Install.initInstall; simply invoking <a href="ko/XPInstall_API_Reference/Install_Object/Methods/initInstall">initInstall</a> will suffice). The initInstall method is polymorphic, but here is a recommended invocation mechanism:</p>
-<pre>initInstall("My Plugin Software", "@myplugin.com/MyPlugin,version=2.5", "2.5.0.0");
-</pre>
-<p>In the code snippet above, the <a href="ko/XPInstall_API_Reference/Install_Object/Methods/initInstall">initInstall</a> method is invoked with three parameters:</p>
-<ul>
- <li>A String for the name of the application</li>
- <li>A String signifying the <a class="external" href="http://mozilla.org/projects/plugins/plugin-identifier.html">Plugin Identifier</a> associated with the plugin. This value is actually entered in the Client Version Registry upon installation, a Mozilla-browser file that stores metadata about the software that has just been installed. This value can be queried via web-page delivered JavaScript, and is useful for initiating XPInstall downloads via <a href="ko/XPInstall_API_Reference/InstallTrigger_Object">Trigger Scripts</a>. You can determine the version of the software that has been installed, and determine whether to update it, all via JavaScript in a web-page.</li>
- <li>A String representing the four digit version of the software.</li>
-</ul>
-<p><b>Caveat:</b> Certain versions of Mozilla-based browsers (such as Netscape 6.x) treat the use of the equals character ("=") as an illegal token and thus do not allow invocation of initInstall with strings containing "=". A workaround to this would be to detect if initInstall has failed, and then invoke it again without the "=" string. Here is an example:</p>
-<pre>var PLID = "MyPlugin.plug/version=6.5";
-err = initInstall(SOFTWARE_NAME, PLID, VERSION);
-
-if (err != 0)
-{
- // install may have failed because of N6 and =
- // replace PLID with a simple string
- err = initInstall(SOFTWARE_NAME, "MyPluginString", VERSION);
- if (err != 0)
- cancelInstall(err);
-}
-</pre>
-<p>Note that above, the PLID contains an "=" and in case the XPI package is running on browsers that treat "=" as an illegal token, the workaround is to handle the error and invoke initInstall again.</p>
-<h3 id="Using_XPInstall_to_Run_an_EXE_.28Native_Code.29_Installer" name="Using_XPInstall_to_Run_an_EXE_.28Native_Code.29_Installer">Using XPInstall to Run an EXE (Native Code) Installer</h3>
-<p>If you wish to run a native installer (EXE) to install plugin software, but wish to make the delivery of this native installer streamlined and within the browser's process, then you ought to consider wrapping it in an XPI Package. From JavaScript, you can call XPInstall's <a href="ko/XPInstall_API_Reference/Install_Object/Methods/execute">execute method of the Install Object</a> to execute the binary. You can also call the <a href="ko/XPInstall_API_Reference/File_Object/Methods/execute">execute method of the File object</a> if you wish to actually install the file you are executing, rather than have it deleted. You can pass command line parameters to the executable. An example of calling the execute method from the Install Object on an executable that has a temporary life span (and is not needed after one execution) is:</p>
-<pre>// Initialize the installation ....
-
-// initInstall(..... ) has already been called
-
-// Using the Install Object's execute method to block on a native installer
-
-execute("setup.exe", "-s", true);
-
-// In the above sample, assume that running "setup -s" from the
-// Command Prompt runs the setup executable, and that "-s" is some
-// invocation parameter defined by the setup.exe file, perhaps to force
-// the installer to run silently. We are passing "-s" to the setup file.
-// By passing 'true' we are telling the Install Script to block
-// on the execution of the installable, and do it synchronously
-
-// Must call performInstall to make it all happen...
-
-err = getLastError();
-if (!err)
- performInstall();
-else
- cancelInstall(err);
-</pre>
-<h4 id="Installing_Plugin_Files_To_the_Current_Browser" name="Installing_Plugin_Files_To_the_Current_Browser">Installing Plugin Files To the Current Browser</h4>
-<p>Installing to the current browser is the task that is the most important for the XPI Package to succeed in. Here is a code snippet that accomplishes this:</p>
-<pre>// Name of the files to be installed
-var PLUGIN_FILE = "NPMyPlugin.dll";
-var COMPONENT_FILE = "NPMyPluginScriptablePeer.xpt";
-
-// invoke initInstall to start the installation
-
-....
-
-var pluginFolder = getFolder("Plugins");
-
-// verify disk space is appropriate
-
-....
-
-err = addFile("@myplugin.com/MyPlugin,version=2.5.0.0",
- "2.5.0.0", PLUGIN_FILE, pluginsFolder, null);
- if (err != 0)
- {
- //alert("Installation of MyPlugin plug-in failed. Error code "+err);
- logComment("adding file "+PLUGIN_FILE+" failed. Errror conde: " + err);
- return err;
- }
-
-err = addFile(null, CULT_VERSION, COMPONENT_FILE, componentsFolder, null);
- if (err != 0)
- {
- alert("Installation of MyPlugin component failed. Error code "+err);
- logComment("adding file "+COMPONENT_FILE+" failed. Error conde: " + err);
- return err;
- }
-</pre>
-<h4 id="Installing_to_a_Secondary_Location" name="Installing_to_a_Secondary_Location">Installing to a Secondary Location</h4>
-<p>For the purposes of solving the <a class="external" href="http://www.mozilla.org/projects/plugins/first-install-problem.html">First Install Problem</a>, it is necessary to install to a secondary location to ensure discoverability of the plugin by other Netscape Gecko browser in addition to the current browser. A good choice for this secondary location might be the Windows directory on Windows machines. <b>Caveat:</b> Because of possible administrator issues, handle errors carefully!</p>
-<pre>// Get the Windows System directory e.g. C:\WINNT\system32\ directory
-
-var winDirectory = getFolder("Win System");
-
-// Create the Folder C:\WINNT\system32\MyPlugin
-
-var dllWin32Folder = getFolder("file:///", winDirectory+"\\MyPlugin\\");
-//Install DLL to C:\Windows Folder
- copyErr = addFile("", VERSION, PLUGIN_FILE, dllWin32Folder, null);
- if (copyErr != 0)
- {
- logComment("First Install:"+copyErr);
- return copyErr;
- }
-
-// Install the XPT file to C:\WINNT\system32\MyPlugin folder
-
-var xptWin32Folder = getFolder("file:///", winDirectory+"\\MyPlugin\\");
- copyErr = addFile("", VERSION, COMPONENT_FILE, xptWin32Folder, null);
- if (copyErr != 0)
- {
- logComment("First Install:"+copyErr);
- return copyErr;
- }
-</pre>
-<p>Once the secondary installation has taken place, the <a class="external" href="http://www.mozilla.org/projects/plugins/first-install-problem.html">Win32 Registry keys have to be updated</a> to indicate information about where the secondary install location is, so that browsers can discover it. This is accomplished with the <a href="ko/XPInstall_API_Reference/WinReg_Object">WinReg</a> object that is exposed to XPInstall. The pieces all come together in the template below.</p>
-<h3 id="An_XPInstall_Template" name="An_XPInstall_Template">An XPInstall Template</h3>
-<p>We have provided you with <a href="ko/Using_XPInstall_to_Install_Plugins/Install_script_template">a template for an install script</a> which you might want to open in another tab or window. This install script does all of the following:</p>
-<ul>
- <li>It installs both a DLL and an XPT file to the browser's plugins directory. The plugin itself is an imaginary one: MyPlugin. The variables that determine the plugin name, however, can be easily modified. This install.js file assumes that the plugin software that is to be installed consists of both a DLL and an XPT file, which is not always true. Many plugins may involve more than one DLL, or perhaps additional native code. It is, however, a safe assumption for most plugins, especially <a class="external" href="http://www.macromedia.com/go/getflashplayerbutton/">Macromedia's Flash Plugin</a> which consists of a single DLL (on Windows this is npswf32.dll) and a single XPT file for scriptability (called flashplayer.xpt).</li>
- <li>It further installs to a secondary location on the user's desktop. In particular, like many OCX files (ActiveX controls) it installs to a special directory within C:\WINNT\System32\, called C:\WINNT\System32\MyPlugin. XPInstall is able to determine what directory this is by the <a href="ko/XPInstall_API_Reference/Install_Object/Methods/getFolder">getFolder</a> API call. We have written our own JavaScript function to contain all the secondary installation code -- function createSecondaryInstall()</li>
- <li>And finally, it writes the <a class="external" href="http://www.mozilla.org/projects/plugins/first-install-problem.html">required registry keys to Windows</a>. This is done via the created function, called function registerPLID().</li>
-</ul>
-<p>Certainly, this script is Windows-centric, but it is easy to port it to any other platform. Easier, perhaps, since the lengthy Win32 Registry manipulation need not occur on Linux or Mac OSX. The <a href="ko/XPInstall_API_Reference/Install_Object/Methods/getFolder">getFolder API</a> provides you with enough "syntactic sugar" to determine other locations on the user's computer on different platforms and OS's. A single install.js is often capable of running on many different platforms.</p>
-<h3 id="Some_Installation_Concerns" name="Some_Installation_Concerns">Some Installation Concerns</h3>
-<p>This section gathers together some of the chief concerns about deploying XPI packages, notably: how ought a plugin download via XPI be initiated? And what about uninstalling plugins?</p>
-<h3 id="Triggering_an_XPInstall_Download_with_a_TriggerScript" name="Triggering_an_XPInstall_Download_with_a_TriggerScript">Triggering an XPInstall Download with a TriggerScript</h3>
-<p>A <a href="ko/XPInstall_API_Reference/Examples/Trigger_Scripts_and_Install_Scripts">Trigger Script</a> is web-page delivered piece of JavaScript that can automatically initiate an XPInstall download. This can be done conditionally, since <a href="ko/XPInstall_API_Reference/Examples/Trigger_Scripts_and_Install_Scripts">Trigger Scripts</a> can also detect what software has already been installed to the user's machine via XPInstall. This feature is useful for Web sites because:</p>
-<ul>
- <li>HTML pages and JavaScript already have a way of detecting what plugins are installed. Additionally, via the <a href="ko/XPInstall_API_Reference/InstallTrigger_Object">InstallTrigger</a> object which is exposed in Web pages, they can find out what the last version of the XPI Package was.</li>
- <li>The <a href="ko/XPInstall_API_Reference/InstallTrigger_Object">InstallTrigger</a> object can also start an XPI download automatically. This is useful because users can visit a Web site, and conditionally get served software (in a streamlined manner) that the Web site wants the user to have.</li>
-</ul>
-<p>Trigger Scripts are a recommended way of initiating an XPInstall download.</p>
-<h3 id="Triggering_an_XPInstall_Download_from_HTML" name="Triggering_an_XPInstall_Download_from_HTML">Triggering an XPInstall Download from HTML</h3>
-<p>In a manner analogous to how SmartUpdate downloads were initiated by the pluginurl attribute of the embed tag, XPInstall downloads can also be initiated by HTML tags invoking plugins, notably via the <a class="external" href="http://www.w3.org/TR/REC-html40/struct/objects.html#adef-codebase-OBJECT">codebase</a> attribute of the <a class="external" href="http://www.w3.org/TR/REC-html40/struct/objects.html#edef-OBJECT">object</a> tag. This is analogous to how Internet Explorer downloads CAB files pointed to by the <a class="external" href="http://www.w3.org/TR/REC-html40/struct/objects.html#adef-codebase-OBJECT">codebase</a> attribute of the <a class="external" href="http://www.w3.org/TR/REC-html40/struct/objects.html#edef-OBJECT">object</a> tag. Here's an example of a hypothetical object tag used to invoke MyPlugin (an imaginary application):</p>
-<pre> &lt;object id="thePlugin" type="application/x-myplugin" width="100"
- height="100" codebase="http://location/XPI/myplugin.xpi"&gt;
-
-&lt;param .... &gt;
-</pre>
-<p>In the above case, the codebase attribute points directly to the XPI Package, and if the browser can not identify any plugin to handle the (imaginary) application/x-myplugin MIME type, it will download the XPI Package.</p>
-<p><b>Note:</b> XPI Packages (files with the xpi extension) use the application/x-xpinstall MIME type. When serving XPI Packages from servers to clients, make sure that XPI Packages are served with this MIME type in the HTTP headers. Associate the application/x-xpinstall MIME type with XPI Packages.</p>
-<h3 id="The_Uninstall_Problem" name="The_Uninstall_Problem">The Uninstall Problem</h3>
-<p>In its current iteration, XPInstall does not have an affiliated uninstall technology. It can therefore only be used to install files or deliver native code installers to the client, and if uninstall is a legitimate concern, it might be wise to write a native code (EXE) uninstaller to remove the software. XPInstall can therefore be the "agent of delivery" to streamline the download of the EXE software, but ultimately, the logic of installation and uninstallation will be handled by EXE, which can then create files and registry entries and also clean up after itself upon removal.</p>
-<div class="originaldocinfo">
- <h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
- <ul>
- <li>Author(s): Arun K. Ranganathan, Netscape Communications</li>
- <li>Last Updated Date: 05 Aug 2002</li>
- <li>Copyright Information: Copyright © 2001-2003 Netscape. All rights reserved.</li>
- <li>Link: <a class="external" href="http://devedge-temp.mozilla.org/viewsource/2002/xpinstall-guidelines/index_en.html" rel="freelink">http://devedge-temp.mozilla.org/view.../index_en.html</a></li>
- </ul>
-</div>
-<p> </p>
diff --git a/files/ko/web/api/audio_channels_api/using_the_audiochannels_api/index.html b/files/ko/web/api/audio_channels_api/using_the_audiochannels_api/index.html
deleted file mode 100644
index 1e07e262c6..0000000000
--- a/files/ko/web/api/audio_channels_api/using_the_audiochannels_api/index.html
+++ /dev/null
@@ -1,248 +0,0 @@
----
-title: Using the AudioChannels API
-slug: Web/API/Audio_Channels_API/Using_the_AudioChannels_API
-tags:
- - Firefox OS
- - Guide
- - Non-standard
-translation_of: Archive/B2G_OS/API/Audio_Channels_API/Using_the_AudioChannels_API
----
-<p>{{DefaultAPISidebar("Audio Channels API")}}{{ non-standard_header() }}</p>
-
-<div class="summary">
-<p>오디오 채널 API(<a href="/en-US/docs/Web/API/Audio_Channels_API">Audio Channels API</a>)는 현재 Firefox OS 전용 기능으로, 응용프로그램의 오디오 컨텐트를 중요성에 따른 계층구조로 배치하도록 한다. 이는 다른 오디오의 재생과 액션 발생에 반응하여 오디오가 일시정지되고 다시재생될 때를 지시하고 다른 종류의 볼륨을 제어할 수 있도록 한다. 이 가이드는 오디오 채널에 대한 기본적인 사용방법을 보여줄 것이다.</p>
-</div>
-
-<p>오디오 채널의 종류는 다음과 같다.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">채널 이름</th>
- <th scope="col">중요도</th>
- <th scope="col">용도</th>
- <th scope="col">앱 권한 수준</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>normal</td>
- <td>1</td>
- <td>UI 효과음, 앱과 웹 컨텐트</td>
- <td>Normal</td>
- </tr>
- <tr>
- <td>content</td>
- <td>2</td>
- <td>음악, 라디오, 비디오</td>
- <td>Normal</td>
- </tr>
- <tr>
- <td>notification</td>
- <td>3</td>
- <td>새 이메일, SMS 수신음</td>
- <td>Privileged</td>
- </tr>
- <tr>
- <td>alarm</td>
- <td>4</td>
- <td>알람 시계, 캘린더 알람</td>
- <td>Privileged</td>
- </tr>
- <tr>
- <td>ringer</td>
- <td>5</td>
- <td>전화 수신 벨소리</td>
- <td>Internal</td>
- </tr>
- <tr>
- <td>telephony</td>
- <td>6</td>
- <td>진행중인 통화, VOIP 통화</td>
- <td>Internal</td>
- </tr>
- <tr>
- <td>publicnotification</td>
- <td>7</td>
- <td>강제된 카메라 셔터음</td>
- <td>Internal</td>
- </tr>
- </tbody>
-</table>
-
-<p>하나의 오디오 채널이 사용되면, 언제든지 낮은 우선순위의 채널들은 자동으로 일시정디 된다. 단, 한가지 예외가 있는데, "normal"과 "content"채널은 동일한 우선순위를 가진다. 이는 "content"채널이 사용된다면 "normal"채널과 믹싱된다는 것을 의미한다. 만약 두 앱이 동시에 "content" 채널을 사용하려 한다면, 포어그라운드 앱이 우선권을 가진다. 만약 두 앱 모두 백그라운드 앱이라면, 마지막에 채널을 사용시도한 앱이 우선권을 가진다.</p>
-
-<div class="note">
-<p><strong>Note</strong>: 각 채널은 음소거와 볼륨 설정을 따로 가지고 있다.</p>
-</div>
-
-<div class="note">
-<p><strong>Note</strong>: "telephony" 채널은 통화용 내장 스피커를 사용한다. 다른 모든 채널은 스피커 또는 헤드폰/헤드셋 등을 사용한다.</p>
-</div>
-
-<h2 id="유즈_케이스">유즈 케이스</h2>
-
-<p>As obvious user-centric uses cases, audio channels allow users to play music from audio player apps even when they are running in the background, so they can do other things as it plays. However, they probably want the music to pause when someone rings the phone. As another example, when users mute their phone, they probably don't want to also mute their wake up alarm for the next morning.</p>
-
-<p>Other use cases:</p>
-
-<ul>
- <li>When the user leaves an app, under normal circumstances the app should be muted.</li>
- <li>When the volume keys are used it should change the volume for different audio types depending on context. For example while in the alarm app, the volume keys should adjust the alarm volume and not the "normal" volume.</li>
- <li>When a video app starts playing audio, background music should be muted while the video is playing.</li>
- <li>Turn down the volume of background audio rather than completely silence it when the "notification" channel is used.</li>
- <li>Show which applications/tabs are currently playing audio.</li>
- <li>Show UI to mute a specific app/tag.</li>
- <li>Enable a spotify-app/tab to be treated as a music app. I.e. it should be able to get the same benefits as if it had mozaudiochannel=content. Including both the automatic muting of other content audio, and the ability to play in the background.</li>
- <li>Control which application/tab gets to play audio if there are several background applications that all are attempting to use the "content" channel, but no visible apps using the "content" channel.</li>
-</ul>
-
-<h2 id="예제_앱">예제 앱</h2>
-
-<p>To explain audio channel functionality, we have built a sample app, imaginitively called <a href="https://github.com/mdn/audio-channels-demo">audio-channels-demo</a> (you can <a href="http://mdn.github.io/audio-channels-demo/">see it running live here</a>.) The following shows what it looks like on Firefox OS.</p>
-
-<p><img alt="A demo showing a title of AudioChannels demo, with an audio player and a select box to choose an audio channel to play the audio in." src="https://mdn.mozillademos.org/files/8801/demo-screen.png" style="display: block; height: 356px; margin: 0px auto; width: 200px;"></p>
-
-<p>The demo provides an audio player, and a {{htmlelement("select")}} box for choosing what audio channel to play the audio in (only "Normal" and "Content" are provided.) When the content audio channel is selected, you will be able to go to the homescreen and put the app in the background but still have the music keep playing. This is not the case with the normal channel — "normal" audio content is stopped when an app goes into the background.</p>
-
-<p>To interrupt the playing of "content" audio content, you could try phoning the phone that the app is running on, or setting off an alarm. As you can see from the table above, these are both in higher priority audio channels.</p>
-
-<p>The app also fires notifications when audio is interrupted or play resumes, and when the headphones are unplugged or plugged in again. Let's explore how this functionality is implemented.</p>
-
-<h2 id="매니페스트_권한이_요구된다">매니페스트 권한이 요구된다</h2>
-
-<p>As explained in the table near the top, the different audio channels require a range of <a href="/en-US/Apps/Build/App_permissions">different permission levels</a> for their use in apps, ranging from normal (hosted apps) to internal (also known as certified.) In any case, you do need to declare the <code>permissions</code> field in your <code>manifest.webapp</code> file to use AudioChannels, once per channel (note that we also declared permission to use system notifications, as they are used in our demo app also.)</p>
-
-<pre class="brush: json">"permissions": {
- "audio-channel-normal" : {
- "description" : "Needed to play this app's audio content on the normal channel"
- },
- "audio-channel-content" : {
- "description" : "Needed to play this app's audio content on the content channel"
- },
- "desktop-notification" : {
- "description" : "Needed to fire system notifications"
- }
-}</pre>
-
-<h2 id="Selecting_the_audio_channel">Selecting the audio channel</h2>
-
-<p>Changing the audio channel to play the audio through in the app is a slightly more complex matter than you might think. Declaring the channel type statically in your HTML might look like this:</p>
-
-<pre class="brush: html">&lt;audio mozaudiochannel="content" autoplay src="myAudio.ogg"&gt;&lt;/audio&gt;</pre>
-
-<p>Declaring it dynamically in your JavaScript might look like this:</p>
-
-<pre class="brush: js">var player = new Video();
-player.mozAudioChannelType = 'content';
-player.src = '../video-clips/myVideo.ogv';</pre>
-
-<p>However you do it, you need to declare the channel before you declare the <code>src</code> of the media you want to play, so it can be loaded and placed into the right channel. For this reason, our demo app does it in a slightly convoluted way, deleting and then recreating the audio player each time the audio channel is changed:</p>
-
-<pre class="brush: js">function createAudio(channelValue) {
-
- ...
-
- audioContainer.innerHTML = '';
- var player = document.createElement('audio');
- var source1 = document.createElement('source');
- var source2 = document.createElement('source');
-
- player.controls = true;
- player.mozAudioChannelType = channelValue;
- source1.src = 'audio/dragon.ogg';
- source1.type = 'audio/ogg';
- source2.src = 'audio/dragon.mp3';
- source2.type = 'audio/mpeg';
-
- player.appendChild(source1);
- player.appendChild(source2);
- audioContainer.appendChild(player);
-
- ...
-
-}
-
-channelSelect.addEventListener('change', function() {
- createAudio(channelSelect.value);
-});</pre>
-
-<p>So the <code>createAudio()</code> function is run when the {{htmlelement("select")}} box (referenced in the JS as <code>channelSelect</code>) has its value changed, with the <code>channelSelect</code> value as a parameter. In this function, the <code>audioContainer</code> (a simple {{htmlelement("div")}} that wraps the audio player) has its contents deleted. Next, a new audio player and {{htmlelement("source")}} elements are created, have their necessary attributes filled in, and are added back into the <code>audioContainer</code>. Note that <code>player.mozAudioChannelType = channelValue;</code> is included before the audio source is set.</p>
-
-<p>So with the audio channel set to "content", you can now keep the audio playing even when the app is in the background.</p>
-
-<h2 id="Setting_which_channel's_volume_to_control">Setting which channel's volume to control</h2>
-
-<p>As well as setting what audio channel your audio is going to play in, you can also separately set what channel will have its volume adjusted when the user presses the device's volume keys. This for example allows us to adjust our standard content's volume without affect ringer or alarm volume. It is controlled using the {{domxref("AudioChannelManager.volumeControlChannel")}} property. So at the top of the <code>createAudio()</code> function, we include this block:</p>
-
-<pre class="brush: js">function createAudio(channelValue) {
- if (navigator.mozAudioChannelManager) {
- if(channelValue == 'normal') {
- navigator.mozAudioChannelManager.volumeControlChannel = 'normal';
- } else if(channelValue == 'content') {
- navigator.mozAudioChannelManager.volumeControlChannel = 'content';
- }
- console.log(navigator.mozAudioChannelManager.volumeControlChannel);
- }
-
- ...
-
-}
-</pre>
-
-<p>The {{domxref("AudioChannelManager")}} object is accessed by a call to the {{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}} property — note the <code>moz</code> prefix. This is first done to provide some rudimentary feature detection, so trying to access this feature won't break the app on platforms that don't support it. Next, we include an <code>if ... else if</code> block to check what channel value was passed into the function from the {{htmlelement("select")}} element, and then set the <code>volumeControlChannel</code> value accordingly.</p>
-
-<h2 id="Firing_notifications_when_the_audio_is_interrupted">Firing notifications when the audio is interrupted</h2>
-
-<p>Now we have audio playing in an audio channel, it will be interrupted either when a more important audio channel starts being played (for example when a telephone call is received), or when the app is moved into the background in the case of the lowest priority "normal" channel. When this condition ends, our channel will resume playing. We can respond to these events using the <code>mozinterruptbegin</code> and <code>mozinterruptend</code> event handlers, which can be attached to the video or audio player playing the audio. You can see these handlers being used at the bottom of the <code>createAudio()</code> function:</p>
-
-<pre class="brush: js">function createAudio(channelValue) {
-
- ...
-
- player.addEventListener('mozinterruptbegin', function() {
- var notification = new Notification('Metal interrupted!', { body: "Something more important?" });
- });
-
- player.addEventListener('mozinterruptend', function() {
- var notification = new Notification('Metal resumed!', { body: "Important thing finished." });
- });
-}</pre>
-
-<p>Here we attach both relevant event listeners to the audio <code>player</code>; when the events occur, we run simple functions that fire system notifications to tell the user what has happened. See the following screenshots for what it will look like:</p>
-
-<div style="width: 410px; margin: 0 auto;"><img alt="A notification at the top of the Firefox OS interface saying Metal interrupted: something more important?" src="https://mdn.mozillademos.org/files/8803/interrupt-notification.png" style="height: 356px; margin: 0; padding: 0; width: 200px;"> <img alt="A notification at the top of the Firefox OS interface saying Metal resumed: important thing finished?" src="https://mdn.mozillademos.org/files/8805/resume-notification.png" style="height: 356px; margin: 0; padding: 0; width: 200px;"></div>
-
-<h2 id="Firing_notifications_when_the_headphones_are_(un)plugged">Firing notifications when the headphones are (un)plugged</h2>
-
-<p>The {{domxref("AudioChannelManager")}} object includes a {{domxref("AudioChannelManager.headphones","headphones")}} property that returns <code>true</code> if headphones are plugged into the device and false if not, and an event handler — {{domxref("AudioChannelManager.onheadphoneschange","onheadphoneschange")}} — which fires whenever headphones are plugged in to or unplugged from the device. We decided to use these together to create a headphone status notification system:</p>
-
-<pre class="brush: js">if (navigator.mozAudioChannelManager) {
- navigator.mozAudioChannelManager.onheadphoneschange = function() {
- if(navigator.mozAudioChannelManager.headphones == true) {
- var notification = new Notification('Headphones plugged in!');
- } else {
- var notification = new Notification('Headphones unplugged!');
- }
- }
-}</pre>
-
-<p>Let's go through this and explain what's happening. Again, multiple calls are made to {{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}}, first for feature detection, then to set up a function that runs when the onheadphoneschange handler fires. Inside this function, we check whether the headphones property returns true — if so, the headphones are plugged in, so we tell the user that with a notification. If not, they must be unplugged, so we return a suitable notification for that case too. The notifications will look something like this:</p>
-
-<p><img alt="A notification at the top of the Firefox OS interface saying Headphones plugged in!" src="https://mdn.mozillademos.org/files/8807/headphones-notification.png" style="display: block; height: 356px; margin: 0px auto; width: 200px;"></p>
-
-<h2 id="Specifications">Specifications</h2>
-
-<p>The AudioChannels API has no official spec at the moment; see <a href="https://wiki.mozilla.org/WebAPI/AudioChannels">https://wiki.mozilla.org/WebAPI/AudioChannels</a> for implementation details, WebIDL, etc.</p>
-
-<h2 id="See_also">See also</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li><a href="/en-US/Apps/Build/App_permissions">App permissions for Firefox OS</a></li>
- <li><a href="/en-US/docs/Web/API/AudioChannels_API/Using_the_AudioChannels_API">Using the AudioChannels API</a></li>
- <li>{{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}}</li>
- <li>{{domxref("HTMLMediaElement")}}</li>
- <li><a href="/en-US/Apps/Build/User_notifications">Notifications</a></li>
-</ul>
diff --git a/files/ko/web/api/audiochannelmanager/index.html b/files/ko/web/api/audiochannelmanager/index.html
deleted file mode 100644
index 6bee14adb8..0000000000
--- a/files/ko/web/api/audiochannelmanager/index.html
+++ /dev/null
@@ -1,74 +0,0 @@
----
-title: AudioChannelManager
-slug: Web/API/AudioChannelManager
-tags:
- - API
- - Audio
- - Non-standard
-translation_of: Archive/B2G_OS/API/AudioChannelManager
----
-<p>{{APIRef("Web Audio API")}} {{Non-standard_header}}</p>
-
-<p>AudioChannelManager는 디바이스의 오디오 채널을 관리하는 기능을 포함하는 오디오 채널 API(<a href="/en-US/docs/Web/API/AudioChannels_API">AudioChannels API</a>)의 인터페이스이다. 특정한 앱 내에서 볼륨 버튼이 눌렸을 때 어떤 채널의 볼륨이 적용될지를 설정하는 기능을 포함하고 있다.</p>
-
-<h2 id="메소드">메소드</h2>
-
-<div class="note">
-<p><strong>Note</strong>: 부모클래스인 {{domxref("EventTarget")}}의 메소드를 상속받는다.</p>
-</div>
-
-<h2 id="속성">속성</h2>
-
-<div class="note">
-<p><strong>Note</strong>: 부모클래스인 {{domxref("EventTarget")}}의 속성을 상속받는다.</p>
-</div>
-
-<dl>
- <dt>{{domxref("AudioChannelManager.headphones")}} {{readonlyinline}}</dt>
- <dd>헤드폰이 디바이스에 장착되었는지 여부를 나타내는 불리언 값.</dd>
- <dt>{{domxref("AudioChannelManager.telephonySpeaker")}}</dt>
- <dd><span class="short_text" id="result_box" lang="ko"><span class="atn">"</span><span class="atn">telephony</span><span class="atn">" </span><span>오디오</span> <span class="hps">채널이</span> <span class="hps">장치의</span> <span class="hps">스피커</span> <span class="hps">밖으로</span> <span class="atn hps">재생</span><span>할지 여부를</span> <span class="hps">설정할</span> <span class="hps">수 있도록하는</span> <span class="atn hps">불리언 값</span><span>.</span></span></dd>
- <dt>{{domxref("AudioChannelManager.volumeControlChannel")}}</dt>
- <dd>하드웨어 볼륨 버튼을 눌렀을 때 변경해야 할 오디오 채널에 대한 {{domxref("DOMString")}} 값.</dd>
-</dl>
-
-<h3 id="이벤트_핸들러">이벤트 핸들러</h3>
-
-<dl>
- <dt>{{domxref("AudioChannelManager.onheadphoneschange")}}</dt>
- <dd>헤드폰이 장착되었는지 혹은 해제되었는지 알려주는 트리거.</dd>
-</dl>
-
-<h2 id="예제">예제</h2>
-
-<p>아래 간단한 예제를 보면, 앱의 <code>AudioChannelManager 객체에 접근하기 위해 </code>{{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}} 속성을 사용한다.  먼저 첫번째로 수신된 변수에 따라 {{domxref("AudioChannelManager.volumeControlChannel")}} 속성을 설정한 후, 몇 가지 기본적인 특징을 검출한다.</p>
-
-<pre class="brush: js">var channelValue = 'content';
-
-if (navigator.mozAudioChannelManager) {
- if(channelValue == 'normal') {
- navigator.mozAudioChannelManager.volumeControlChannel = 'normal';
- } else if(channelValue == 'content') {
- navigator.mozAudioChannelManager.volumeControlChannel = 'content';
- }
- console.log(navigator.mozAudioChannelManager.volumeControlChannel);
-}</pre>
-
-<div class="note">
-<p><strong>Note</strong>: 완전히 동작하는 예제를 보기 위해서는 <a href="https://github.com/mdn/audio-channels-demo">audio-channels-demo</a>를 확인하기 바란다. Firefox OS 디바이스에 앱을 설치하고 음악을 재생한 뒤, 채널을 normal 그리고 content로 지정하여 앱을 백그라운드로 전환 후 어떤 일이 발생하는지 확인하도록 한다.</p>
-</div>
-
-<h2 id="명세">명세</h2>
-
-<p>현재 오디오 채널 API는 공식적인 명세(스펙)가 정의되어있지 않다. <a href="https://wiki.mozilla.org/WebAPI/AudioChannels">https://wiki.mozilla.org/WebAPI/AudioChannels</a>를 참고하면 WebIDL에 대한 자세한 구현사항에 대해 확인할 수 있다.</p>
-
-<h2 id="함께_보기">함께 보기</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li><a href="/en-US/Apps/Build/App_permissions">App permissions for Firefox OS</a></li>
- <li><a href="/en-US/docs/Web/API/AudioChannels_API/Using_the_AudioChannels_API">Using the AudioChannels API</a></li>
- <li>{{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}}</li>
- <li>{{domxref("HTMLMediaElement")}}</li>
-</ul>
diff --git a/files/ko/web/api/audiochannels_api/index.html b/files/ko/web/api/audiochannels_api/index.html
deleted file mode 100644
index de4d98de42..0000000000
--- a/files/ko/web/api/audiochannels_api/index.html
+++ /dev/null
@@ -1,121 +0,0 @@
----
-title: Audio Channels API
-slug: Web/API/AudioChannels_API
-tags:
- - API
- - Audio
- - AudioChannels
- - Firefox OS
- - Non-standard
- - Obsolete
- - Reference
-translation_of: Archive/B2G_OS/API/Audio_Channels_API
----
-<p>{{DefaultAPISidebar("Audio Channels API")}}</p>
-
-<div class="blockIndicator nonStandard">
-<p><strong>Non-standard</strong><br>
- This feature is not on a current W3C standards track, but it is supported on the Firefox OS platform. Although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to Firefox OS apps.</p>
-</div>
-
-<p class="summary">The <strong>Audio Channels API</strong> is a Firefox OS-only feature allowing you to place your app audio content into a hierarchy of importance, which dictates when the audio will be paused and resumed in response to other audio playing and actions occurring and allows you to control the volume of different types of audio independently from one another.</p>
-
-<p>Use case examples:</p>
-
-<ul>
- <li>You want your audio player app to continue playing audio even when it is running in the background so you can do other things as it plays, but you want it to pause when someone rings your phone.</li>
- <li>When you mute your phone you don't want to also mute your wake up alarm for the next morning.</li>
-</ul>
-
-<div class="note">
-<p><strong>Note</strong>: Since the AudioChannels API is non-standard and requires permissions, for many simple use cases such as pausing game music when the app/web page goes into the background you would be better off using the standard <a href="/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API">Page Visibility API</a>, or perhaps <a href="/en-US/docs/Web/API/Window/onfocus" title="The onfocus property returns the onFocus event handler code on the current element."><code>window.onfocus</code></a>/<a href="/en-US/docs/Web/API/Window/onblur" title="The onblur property returns the onBlur event handler code, if any, that exists on the current element."><code>window.onblur</code></a>. AudioChannels are mainly useful for more complex phone uses cases involving telephony, etc.</p>
-</div>
-
-<h2 id="Concepts_and_usage">Concepts and usage</h2>
-
-<p>The AudioChannels API extends the <a href="/en-US/docs/Web/API/HTMLMediaElement" title="The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video."><code>HTMLMediaElement</code></a> and <a href="/en-US/docs/Web/API/AudioContext" title="The AudioContext interface represents an audio-processing graph built from audio modules linked together, each represented by an AudioNode. An audio context controls both the creation of the nodes it contains and the execution of the audio processing, or decoding. You need to create an AudioContext before you do anything else, as everything happens inside a context."><code>AudioContext</code></a> interfaces with (among other things) a <code>mozAudioChannelType</code> property that can be set to the channel you want your audio to be played in. The  <a href="/en-US/docs/Web/HTML/Element/audio" title="The HTML &lt;audio> element is used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the &lt;source> element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream."><code>&lt;audio&gt;</code></a> and <a href="/en-US/docs/Web/HTML/Element/video" title="Use the HTML &lt;video> element to embed video content in a document."><code>&lt;video&gt;</code></a> elements can also be used to set this value via the <code>mozaudiochannel</code> attribute. When your audio is placed into a channel, it is generally paused (or interrupted) by audio in a higher priority channel being played. Audio in the least important channel — <code>normal</code> — is also paused by its app being put into the background (this is not the case with the other channels). The audio channels are as follows:</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Channel name</th>
- <th scope="col">importance</th>
- <th scope="col">Used for</th>
- <th scope="col">App permission level</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>normal</td>
- <td>1</td>
- <td>UI sounds, app and web content</td>
- <td>Normal</td>
- </tr>
- <tr>
- <td>content</td>
- <td>2</td>
- <td>Music, radio, video</td>
- <td>Normal</td>
- </tr>
- <tr>
- <td>notification</td>
- <td>3</td>
- <td>New email, incoming SMS</td>
- <td>Privileged</td>
- </tr>
- <tr>
- <td>alarm</td>
- <td>4</td>
- <td>Alarm clock, calendar alarms</td>
- <td>Privileged</td>
- </tr>
- <tr>
- <td>ringer</td>
- <td>5</td>
- <td>Incoming phone calls</td>
- <td>Certified</td>
- </tr>
- <tr>
- <td>telephony</td>
- <td>6</td>
- <td>Ongoing phone calls, VOIP calls</td>
- <td>Certified</td>
- </tr>
- <tr>
- <td>publicnotification</td>
- <td>7</td>
- <td>Forced camera shutter sounds</td>
- <td>Certified</td>
- </tr>
- </tbody>
-</table>
-
-<p>Each channel has a separate mute and volume setting, to provide more granular control over the different parts of audio on your device. These are accessed using the <a href="/en-US/docs/Web/API/MozAudioChannelManager" title="The documentation about this has not yet been written; please consider contributing!"><code>mozAudioChannelManager</code></a> object via the <a href="/en-US/docs/Web/API/Navigator/mozAudioChannelManager" title="The documentation about this has not yet been written; please consider contributing!"><code>navigator.mozAudioChannelManager</code></a> property.</p>
-
-<div class="note">
-<p><strong>Note</strong>: If you have two apps playing audio in the content channel, only the one in the foreground can play audio, while the other is interrupted. When the foreground app is put into the background with audio playing, it will not be muted, as per normal "content" behaviour.</p>
-</div>
-
-<div class="note">
-<p><strong>Note</strong>: Find more out about how to use the AudioChannels API in our <a href="/en-US/docs/Web/API/AudioChannels_API/Using_the_AudioChannels_API">Using the AudioChannels API</a> guide.</p>
-</div>
-
-<h2 id="AudioChannels_interfaces">AudioChannels interfaces</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Web/API/AudioChannelManager" title="The documentation about this has not yet been written; please consider contributing!"><code>AudioChannelManager</code></a></dt>
- <dd>Includes some features for managing your device's audio channels, including setting what channel's volume to affect when the volume buttons are pressed inside a particular app.</dd>
- <dt><a href="/en-US/docs/Web/API/HTMLMediaElement" title="The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video."><code>HTMLMediaElement</code></a> and <a href="/en-US/docs/Web/API/AudioContext" title="The AudioContext interface represents an audio-processing graph built from audio modules linked together, each represented by an AudioNode. An audio context controls both the creation of the nodes it contains and the execution of the audio processing, or decoding. You need to create an AudioContext before you do anything else, as everything happens inside a context."><code>AudioContext</code></a> extensions</dt>
- <dd><code>HTMLMediaElement</code> and <code>AudioContext</code> are extended with some proprietary features for controlling audio channels, including setting what audio channel the media is in, and events that fire when the audio is interrupted, and resumes playing.</dd>
- <dt><a href="/en-US/docs/Web/API/Using_the_Browser_API">Browser API</a> extensions</dt>
- <dd>The Browser API will also be including some audio channels features, for putting audio content inside a browser instance into audio channels, controlling its volume, etc., but it doesn't look like these have yet been implemented. This should occur soon.</dd>
-</dl>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a href="/en-US/docs/Web/Apps/Build/App_permissions">App permissions for Firefox OS</a></li>
- <li><a href="/en-US/docs/Web/API/AudioChannels_API/Using_the_AudioChannels_API">Using the Audio Channels API</a></li>
- <li><a href="/en-US/docs/Web/API/Navigator/mozAudioChannelManager" title="The documentation about this has not yet been written; please consider contributing!"><code>navigator.mozAudioChannelManager</code></a></li>
- <li><a href="/en-US/docs/Web/API/HTMLMediaElement" title="The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video."><code>HTMLMediaElement</code></a></li>
-</ul>
diff --git a/files/ko/web/api/mozmmsevent/index.html b/files/ko/web/api/mozmmsevent/index.html
deleted file mode 100644
index 6a3975d40b..0000000000
--- a/files/ko/web/api/mozmmsevent/index.html
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: MozMmsEvent
-slug: Web/API/MozMmsEvent
-tags:
- - Firefox OS
- - Mobile
- - Non-standard
- - Obsolete
- - Reference
- - WebSMS
-translation_of: Archive/B2G_OS/API/MozMmsEvent
----
-<p>{{ Apiref() }}</p>
-
-<div class="warning">
-<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div>
-
-<h2 id="요약">요약</h2>
-
-<p>DOM <code>MozMmsEvent</code> 는 WebSMS MMS 메시지와 관련된 이벤트 객체이다.</p>
-
-<h2 id="속성">속성</h2>
-
-<dl>
- <dt>{{domxref("MozMmsEvent.message")}} {{readonlyinline}}</dt>
- <dd>해당 이벤트에 의해 발생된 {{ domxref("MozMmsMessage") }} 이다.</dd>
-</dl>
-
-<p><code>MozM</code><code>msEvent</code> 는 또한 {{domxref("Event")}} 의 속성을 상속받는다.</p>
-
-<p>{{page("/en-US/docs/Web/API/Event","Properties")}}</p>
-
-<h2 id="메소드">메소드</h2>
-
-<p><code>MozMmsEvent</code> 는 {{domxref("Event")}} 의 메소드를 상속받는다.</p>
-
-<p>{{page("/en-US/docs/Web/API/Event","Methods")}}</p>
-
-<h2 id="이벤트">이벤트</h2>
-
-<p><code>MozMmsEvent</code> 는 다음과 같은 이벤트들에 사용된다:</p>
-
-<dl>
- <dt>{{event("deliverysuccess")}}</dt>
- <dd>MMS가 수신자에게 전달되었을 때 발생한다.</dd>
- <dt>{{event("received")}}</dt>
- <dd>MMS를 받았을 때 발생한다.</dd>
- <dt>{{event("sent")}}</dt>
- <dd>MMS를 보냈을 때 발생한다.</dd>
-</dl>
-
-<h2 id="명세">명세</h2>
-
-<p>이 API는 비 표준 스펙의 구현체이다. 그러나 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있다.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Messaging')}}</td>
- <td>{{Spec2('Messaging')}}</td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="같이_보기">같이 보기</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li>{{ domxref("window.navigator.mozSms") }}</li>
- <li>{{ domxref("MozMobileMessageManager") }}</li>
- <li>{{ domxref("MozMmsMessage") }}</li>
-</ul>
diff --git a/files/ko/web/api/mozmmsmessage/index.html b/files/ko/web/api/mozmmsmessage/index.html
deleted file mode 100644
index 1d00b8050d..0000000000
--- a/files/ko/web/api/mozmmsmessage/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title: MozMmsMessage
-slug: Web/API/MozMmsMessage
-tags:
- - Firefox OS
- - Mobile
- - Non-standard
- - Obsolete
- - Reference
- - WebSMS
-translation_of: Archive/B2G_OS/API/MozMmsMessage
----
-<div>{{APIRef("Mobile Messaging API")}}</div>
-
-<div class="warning">
-<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div>
-
-<h2 id="요약">요약</h2>
-
-<p>DOM <code>MozMmsMessage</code> 객체는 MMS 메시지를 나타내며 발신자, 수신자, 본문, 첨부 파일, 날짜와 같은 모든 정보를 가지고 있다.</p>
-
-<h2 id="속성">속성</h2>
-
-<dl>
- <dt> </dt>
- <dt>{{domxref("MozMmsMessage.type")}} {{readonlyinline}}</dt>
- <dd><code>mms라는 값을 가지는 문자열이다.</code></dd>
- <dt>{{domxref("MozMmsMessage.id")}} {{readonlyinline}}</dt>
- <dd>메시지의 id를 나타내는 숫자를 반환한다.</dd>
- <dt>{{domxref("MozMmsMessage.threadId")}} {{readonlyinline}}</dt>
- <dd>메시지 일부의 스레드의 id를 나타내는 숫자를 반환한다.</dd>
- <dt>{{domxref("MozMmsMessage.subject")}} {{readonlyinline}}</dt>
- <dd>메시지의 제목을 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd>
- <dt>{{domxref("MozMmsMessage.smil")}} {{readonlyinline}}</dt>
- <dd>메시지의 SMIL 콘텐츠를 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd>
- <dt>{{domxref("MozMmsMessage.attachments")}} {{readonlyinline}}</dt>
- <dd>SMIL 콘텐츠에 필요한 첨부 파일을 나타내는 객체의 배열을 반환한다. 이 객체들은 <code>id</code>, <code>location,</code> <code>content</code>(<a href="https://developer.mozilla.org/en-US/docs/Web/API/Blob" title="/en-US/docs/Web/API/Blob"><code>Blob</code></a>)를 포함하고 있다.</dd>
- <dt>{{domxref("MozMmsMessage.expiryDate")}} {{readonlyinline}}</dt>
- <dd>MMS를 수동으로 다운로드 받게 되는 만기일을 나타내는 <code><a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date">Date</a></code> 객체를 반환한다.</dd>
- <dt>{{domxref("MozMmsMessage.delivery")}} {{readonlyinline}}</dt>
- <dd><code>not-download</code>, <code>received</code>, <code>sending</code>, <code>sent</code>, <code>error</code> 중 하나의 값을 가지게 되는 {{ domxref("DOMString") }} 의 배열을 반환한다.</dd>
- <dt>{{domxref("MozMmsMessage.deliveryStatus")}} {{readonlyinline}}</dt>
- <dd><code>delivery</code> 속성 값에 따른 상태를 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd>
- <dt>{{domxref("MozMmsMessage.read")}} {{readonlyinline}}</dt>
- <dd>메시지를 읽었는지 읽지 않았는지를 가리키는 Boolean을 반환한다.</dd>
- <dt>{{domxref("MozMmsMessage.receivers")}} {{readonlyinline}}</dt>
- <dd>각 수신자의 이름을 가진 {{ domxref("DOMString") }} 의 배열을 반환한다.</dd>
- <dt>{{domxref("MozMmsMessage.sender")}} {{readonlyinline}}</dt>
- <dd>발신자의 이름을 가진 {{ domxref("DOMString") }} 을 반환한다.</dd>
- <dt>{{domxref("MozMmsMessage.timestamp")}} {{readonlyinline}}</dt>
- <dd>메시지의 타임스탬프인 <code><a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date">Date</a></code> 객체를 반환한다.</dd>
-</dl>
-
-<h2 id="명세">명세</h2>
-
-<p>이 API는 비 표준 스펙의 구현체이다. 그러나 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있다.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Messaging')}}</td>
- <td>{{Spec2('Messaging')}}</td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="같이_보기">같이 보기</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li>{{ domxref("window.navigator.mozMobileMessage") }}</li>
- <li>{{ domxref("MozMobileMessageManager") }}</li>
-</ul>
diff --git a/files/ko/web/api/mozmobilemessagemanager/index.html b/files/ko/web/api/mozmobilemessagemanager/index.html
deleted file mode 100644
index 6b301fe71b..0000000000
--- a/files/ko/web/api/mozmobilemessagemanager/index.html
+++ /dev/null
@@ -1,101 +0,0 @@
----
-title: MozMobileMessageManager
-slug: Web/API/MozMobileMessageManager
-tags:
- - Firefox OS
- - Mobile
- - Obsolete
- - Reference
- - WebSMS
-translation_of: Archive/B2G_OS/API/MozMobileMessageManager
----
-<div>{{APIRef("Mobile Messaging API")}}</div>
-
-<div class="warning">
-<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div>
-
-<h2 id="요약">요약</h2>
-
-<p>기기에서 WebSMS를 사용하여 MMS와 SMS 메시지 전송과 관리를 할 수 있는 기능을 제공한다.</p>
-
-<h2 id="이벤트_핸들러">이벤트 핸들러</h2>
-
-<dl>
- <dt>{{domxref("MozMobileMessageManager.ondeliveryerror")}}</dt>
- <dd>{{event("deliveryerror")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 MMS 또는 SMS가 수취인에게 전달되지 않았을 때 발생한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.ondeliverysuccess")}}</dt>
- <dd>{{event("deliverysuccess")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 MMS 또는 SMS가 수취인에게 전달되었을 때 발생한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.onreceived")}}</dt>
- <dd>{{event("received")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 MMS 또는 SMS를 받았을 때 발생한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.onretrieving")}}</dt>
- <dd>{{event("retrieving")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 검색 단계의 시작에 MMS 또는 SMS가 진입했을 때 발생한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.onsent")}}</dt>
- <dd>{{event("sent")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 MMS 또는 SMS가 보내졌을 때 발생한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.onsending")}}</dt>
- <dd>{{event("sending")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 전송 단계의 시작에 MMS 또는 SMS가 진입했을 때 발생한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.onfailed")}}</dt>
- <dd>{{event("failed")}} 이벤트에 대한 핸들러; {{ domxref("MozMmsEvent") }} 는 SMS 전송이 실패했을 때 발생한다.</dd>
-</dl>
-
-<h2 id="메소드">메소드</h2>
-
-<dl>
- <dt>{{domxref("MozMobileMessageManager.delete","MozMobileMessageManager.delete(param)")}}</dt>
- <dd>메시지를 삭제하고 {{ domxref("DOMRequest") }} 객체를 반환한다<code> (DOMRequest.result</code>는 메시지가 삭제되었는지 아닌지를 반영하는 Boolean 값이다). 메시지 <code>id</code>, {{ domxref("MozSmsMessage") }} 객체 또는 {{ domxref("MozMmsMessage") }} 객체가 파라미터로 사용된다.</dd>
- <dt>{{domxref("MozMobileMessageManager.getMessage()","MozSmsManager.getMessage(id)")}}</dt>
- <dd>해당 <code>id에 대한 메시지를 받아서 </code>{{ domxref("DOMRequest") }} 객체를 반환한다. 이 객체의 <code>DOMRequest.result</code>는 {{ domxref("MozSmsMessage") }} 이다.</dd>
- <dt>{{domxref("MozMobileMessageManager.getMessages()","MozSmsManager.getMessages(filter, reverseOrder)")}}</dt>
- <dd>여러 개의 메시지를 받는다. {{ domxref("MozSmsFilter") }} 객체를 사용하여 필터링이 가능하고 두번째 파라미터 Boolean 값에 따라 메시지의 순서를 거꾸로 바꿀 수도 있다. {{ domxref("DOMCursor") }} 를 반환한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.getSegmentInfoForText()","MozMobileMessageManager.getSegmentInfoForText(text)")}}</dt>
- <dd>주어진 문자(보통 SMS당 160 글자)에 대한 멀티 파트 SMS를 만들기 위해 필요한 정보를 가진 {{domxref("MozSmsSegmentInfo")}} 객체를 반환한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.markMessageRead()","MozMobileMessageManager.markMessageRead(id, isRead)")}}</dt>
- <dd>해당 <code>id</code> 의 메시지를 Boolean <code>isRead</code> 값에 따라 읽음 또는 읽지 않음으로 표시한다. {{ domxref("DOMRequest") }} 객체를 반환한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.send()","MozMobileMessageManager.send(number, message)")}}</dt>
- <dd>해당 전화번호에 메시지를 전송한다. 만약 <code>number</code>가 {{ domxref("DOMString") }} (한 개의 전화번호) 라면 {{ domxref("DOMRequest") }} 객체를 반환한다. 만약 <code>number</code>가 {{ domxref("DOMString") }} 객체의 배열(여러 개의 전화번호)이라면 {{ domxref("DOMRequest") }} 객체의 배열을 반환한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.sendMMS()","MozMobileMessageManager.sendMMS(param)")}}</dt>
- <dd>수신자 목록에 MMS를 전송한다. {{ domxref("DOMRequest") }} 객체를 반환한다.<br>
- param 객체는 다음과 같은 4개의 속성을 가지고 있는 일반 JavaScript 객체이다:<br>
- <code>receivers</code>: 문자열 배열, 각 문자열은 수신자의 전화번호를 나타낸다.<br>
- <code>subject</code>: MMS의 제목을 나타내는 문자열이다.<br>
- <code>smil</code>: MMS를 정의하는 SMIL 문서의 문자열 버전이다.<br>
- <code>attachments</code>: SMIL에 의해 사용되는 첨부 파일 객체의 배열이다. 이 객체는 <code>id</code>, <code>location</code>, <code>content</code> ({{domxref("Blob")}})를 포함하고 있다.</dd>
- <dt>{{domxref("MozMobileMessageManager.getThreads()")}}</dt>
- <dd>{{domxref("MozMobileMessageThread")}} 의 목록을 받는다. {{ domxref("DOMCursor") }} 를 반환한다.</dd>
- <dt>{{domxref("MozMobileMessageManager.retrieveMMS()","MozMobileMessageManager.retrieveMMS(id)")}}</dt>
- <dd>해당 <code>id의 메시지를 받아 </code>{{ domxref("DOMRequest") }} 를 반환한다. 이 객체의 <code>DOMRequest.result</code> 는 {{ domxref("MozMmsMessage") }} 이다.</dd>
-</dl>
-
-<p><code>MozMobileMessageManager</code> 또한 {{domxref("EventTarget")}} 의 메소드를 상속받는다.</p>
-
-<p>{{Page("/en-US/docs/Web/API/EventTarget","Methods")}}</p>
-
-<h2 id="명세">명세</h2>
-
-<p>이 API는 비 표준 스펙의 구현체이다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있다.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Messaging')}}</td>
- <td>{{Spec2('Messaging')}}</td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="같이_보기">같이 보기</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li>{{ domxref("window.navigator.mozMobileMessage") }}</li>
- <li>{{ domxref("MozMmsEvent") }}</li>
-</ul>
diff --git a/files/ko/web/api/mozmobilemessagethread/index.html b/files/ko/web/api/mozmobilemessagethread/index.html
deleted file mode 100644
index 4e8e8048a5..0000000000
--- a/files/ko/web/api/mozmobilemessagethread/index.html
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: MozMobileMessageThread
-slug: Web/API/MozMobileMessageThread
-tags:
- - Non-standard
-translation_of: Archive/B2G_OS/API/MozMobileMessageThread
----
-<p>{{ ApiRef() }}</p>
-
-<p>{{ non-standard_header() }}</p>
-
-<h2 id="요약">요약</h2>
-
-<p>DOM <code>MozMobileMessageThread</code> 객체는 메시지의 스레드를 나타낸다.</p>
-
-<h2 id="속성">속성</h2>
-
-<dl>
- <dt>{{domxref("MozMobileMessageThread.id")}} {{readonlyinline}}</dt>
- <dd>스레드의 id를 나타내는 숫자를 반환한다.</dd>
- <dt>{{domxref("MozMobileMessageThread.body")}} {{readonlyinline}}</dt>
- <dd>스레드의 마지막 메시지의 본문을 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd>
- <dt>{{domxref("MozMobileMessageThread.unreadCount")}} {{readonlyinline}}</dt>
- <dd>스레드에 있는 총 읽지 않은 메시지의 개수를 반환한다.</dd>
- <dt>{{domxref("MozMobileMessageThread.participants")}} {{readonlyinline}}</dt>
- <dd>스레드에 각 참가자의 주소를 나타내는 {{ domxref("DOMString") }} 의 배열을 반환한다.</dd>
- <dt>{{domxref("MozMobileMessageThread.timestamp")}} {{readonlyinline}}</dt>
- <dd>스레드의 마지막 메시지의 타임스탬프를 나타내는 <code><a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date">Date</a></code> 객체를 반환한다.</dd>
- <dt>{{domxref("MozMobileMessageThread.lastMessageType")}} {{readonlyinline}}</dt>
- <dd><code>sms</code> 또는 <code>mms 값을 가지는 </code>{{ domxref("DOMString") }} 을 반환한다.</dd>
-</dl>
-
-<h2 id="참고_자료">참고 자료</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li>{{ domxref("window.navigator.mozMobileMessage") }}</li>
- <li>{{ domxref("MozMobileMessageManager") }}</li>
-</ul>
diff --git a/files/ko/web/api/mozsmsevent/index.html b/files/ko/web/api/mozsmsevent/index.html
deleted file mode 100644
index 14a7f48d51..0000000000
--- a/files/ko/web/api/mozsmsevent/index.html
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title: MozSmsEvent
-slug: Web/API/MozSmsEvent
-translation_of: Archive/B2G_OS/API/MozSmsEvent
----
-<p>{{ Apiref() }}</p>
-<p>{{ non-standard_header() }}</p>
-<p>{{ B2GOnlyHeader2('certified') }}</p>
-<h2 id="요약">요약</h2>
-<p>DOM <code>MozSmsEvent</code> 는 WebSMS 문자 메시지와 관련된 이벤트 객체이다.</p>
-<h2 id="속성">속성</h2>
-<dl>
- <dt>
- {{domxref("MozSmsEvent.message")}} {{readonlyinline}}</dt>
- <dd>
- 해당 이벤트에 의해 발생된 {{ domxref("MozSmsMessage") }} 이다.</dd>
-</dl>
-<p><code>MozSmsEvent</code> 는 또한 {{domxref("Event")}} 의 속성들을 상속받는다.</p>
-<p>{{page("/en-US/docs/Web/API/Event","Properties")}}</p>
-<h2 id="메소드">메소드</h2>
-<p><code>MozSmsEvent</code> 는 {{domxref("Event")}} 의 메소드들을 상속받는다.</p>
-<p>{{page("/en-US/docs/Web/API/Event","Methods")}}</p>
-<h2 id="이벤트">이벤트</h2>
-<p><code>MozSmsEvent</code> 는 다음과 같은 이벤트들에 사용된다:</p>
-<dl>
- <dt>
- {{event("deliverysuccess")}}</dt>
- <dd>
- SMS가 수신자에게 전달되었을 때 발생한다.</dd>
- <dt>
- {{event("received")}}</dt>
- <dd>
- SMS를 받았을 때 발생한다.</dd>
- <dt>
- {{event("sent")}}</dt>
- <dd>
- SMS를 보냈을 때 발생한다.</dd>
-</dl>
-<h2 id="스펙">스펙</h2>
-<p>이 API는 비 표준 스펙의 구현체입니다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있습니다.</p>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Messaging')}}</td>
- <td>{{Spec2('Messaging')}}</td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-<h2 id="브라우저_호환성">브라우저 호환성</h2>
-<p>당연하게도, 모바일 브라우저를 주로 지원할 것으로 예상됩니다.</p>
-<p>{{ CompatibilityTable() }}</p>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatGeckoMobile("12.0") }} {{property_prefix("Moz")}}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<h2 id="참고_자료">참고 자료</h2>
-<ul>
- <li>{{ domxref("window.navigator.mozSms") }}</li>
- <li>{{ domxref("MozSmsManager") }}</li>
- <li>{{ domxref("MozSmsMessage") }}</li>
-</ul>
diff --git a/files/ko/web/api/mozsmsfilter/index.html b/files/ko/web/api/mozsmsfilter/index.html
deleted file mode 100644
index 001d55e2a8..0000000000
--- a/files/ko/web/api/mozsmsfilter/index.html
+++ /dev/null
@@ -1,108 +0,0 @@
----
-title: MozSmsFilter
-slug: Web/API/MozSmsFilter
-translation_of: Archive/B2G_OS/API/MozSmsFilter
----
-<p>{{ Apiref() }}</p>
-<p>{{ non-standard_header() }}</p>
-<p>{{ B2GOnlyHeader2('certified') }}</p>
-<h2 id="요약">요약</h2>
-<p>DOM <code>MozSmsFilter</code> 인터페이스는 {{ domxref("SmsMessage") }} 객체들을 필터링하기 위한 방법을 제공합니다.</p>
-<h2 id="속성">속성</h2>
-<dl>
- <dt>
- {{domxref("MozSmsFilter.startDate")}}</dt>
- <dd>
- 메시지를 필터링하기 위한 시작일을 나타내는 <a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date"><code>Date</code></a> 이다.</dd>
- <dt>
- {{domxref("MozSmsFilter.endDate")}}</dt>
- <dd>
- 메시지를 필터링하기 위한 종료일을 나타내는 <a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date"><code>Date</code></a> 이다.</dd>
- <dt>
- {{domxref("MozSmsFilter.numbers")}}</dt>
- <dd>
- 전화번호로 필터링하기 위한 {{ domxref("DOMString") }} 의 배열이다.</dd>
- <dt>
- {{domxref("MozSmsFilter.delivery")}}</dt>
- <dd>
- 메시지를 전달 상태에 따라 필터링하기 위해 "sent"와 "received" 값을 가지게 되는 {{ domxref("DOMString") }} 이다.</dd>
- <dt>
- {{domxref("MozSmsFilter.read")}}</dt>
- <dd>
- 메시지를 읽었는지 읽지 않았는지를 필터링하는 Boolean 이다.</dd>
- <dt>
- {{domxref("MozSmsFilter.threadid")}}</dt>
- <dd>
- 스레드 id를 나타내는 숫자이다.</dd>
-</dl>
-<h2 id="스펙">스펙</h2>
-<p>이 API는 비 표준 스펙의 구현체입니다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있습니다.</p>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Messaging')}}</td>
- <td>{{Spec2('Messaging')}}</td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-<h2 id="브라우저_호환성">브라우저 호환성</h2>
-<p>당연하게도, 모바일 브라우저를 주로 지원할 것으로 예상됩니다.</p>
-<p>{{ CompatibilityTable() }}</p>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatGeckoMobile("12.0") }} {{property_prefix("Moz")}}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<h2 id="참고_자료">참고 자료</h2>
-<ul>
- <li>{{ domxref("window.navigator.mozSms") }}</li>
- <li>{{ domxref("MozSmsManager") }}</li>
- <li>{{ domxref("MozSmsMessage") }}</li>
-</ul>
diff --git a/files/ko/web/api/mozsmsmanager/index.html b/files/ko/web/api/mozsmsmanager/index.html
deleted file mode 100644
index bfea424be7..0000000000
--- a/files/ko/web/api/mozsmsmanager/index.html
+++ /dev/null
@@ -1,95 +0,0 @@
----
-title: MozSmsManager
-slug: Web/API/MozSmsManager
-tags:
- - Firefox OS
- - Mobile
- - Non-standard
- - Obsolete
- - Reference
- - WebSMS
-translation_of: Archive/B2G_OS/API/MozSmsManager
----
-<div>{{APIRef("Mobile Messaging API")}}</div>
-
-<div class="warning">
-<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div>
-
-<div class="note">
-<p><strong>Note:</strong> As of <span title="(Firefox 25.0 / Thunderbird 25.0 / SeaMonkey 2.22)">Gecko 25.0</span>, this interface has been removed in favor of <a href="/en-US/docs/Web/API/MozMobileMessageManager" title="The documentation about this has not yet been written; please consider contributing!"><code>MozMobileMessageManager</code></a>.</p>
-</div>
-
-<h2 id="요약">요약</h2>
-
-<p>기기에서 WebSMS를 사용하여 SMS 메시지 전송과 관리를 할 수 있는 기능을 제공한다.</p>
-
-<h2 id="이벤트_핸들러">이벤트 핸들러</h2>
-
-<dl>
- <dt>{{domxref("MozSmsManager.ondeliveryerror")}}</dt>
- <dd>{{event("deliveryerror")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 SMS가 수취인에게 전달되지 않았을 때 발생한다.</dd>
- <dt>{{domxref("MozSmsManager.ondeliverysuccess")}}</dt>
- <dd>{{event("deliverysuccess")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 SMS가 수취인에게 전달되었을 때 발생한다.</dd>
- <dt>{{domxref("MozSmsManager.onreceived")}}</dt>
- <dd>{{event("received")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 SMS를 받았을 때 발생한다..</dd>
- <dt>{{domxref("MozSmsManager.onsent")}}</dt>
- <dd>{{event("sent")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 SMS가 보내졌을 때 발생한다.</dd>
- <dt>{{domxref("MozSmsManager.onsending")}}</dt>
- <dd>{{event("sending")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 전송 단계의 시작에 SMS가 진입했을 때 발생한다.</dd>
- <dt>{{domxref("MozSmsManager.onfailed")}}</dt>
- <dd>{{event("failed")}} 이벤트에 대한 핸들러; 이 {{ domxref("MozSmsEvent") }} 는 SMS 전송이 실패했을 때 발생한다.</dd>
-</dl>
-
-<h2 id="메소드">메소드</h2>
-
-<dl>
- <dt>{{domxref("MozSmsManager.delete","MozSmsManager.delete(param)")}}</dt>
- <dd>메시지를 삭제하고 {{ domxref("DOMRequest") }} 객체를 반환한다 (<code>DOMRequest.result는 메시지가 삭제되었는지 아닌지를 반영하는 Boolean 값이다).</code> 메시지 <code>id</code> 또는 {{ domxref("MozSmsMessage") }} 객체가 파라미터로 사용된다.</dd>
- <dt>{{domxref("MozSmsManager.getMessage()","MozSmsManager.getMessage(id)")}}</dt>
- <dd>해당<code> id에 대한 메시지를 받아서 </code>{{ domxref("DOMRequest") }} 객체를 반환한다.  <code>이 객체의 DOMRequest.result는</code> {{ domxref("MozSmsMessage") }} 이다.</dd>
- <dt>{{domxref("MozSmsManager.getMessages()","MozSmsManager.getMessages(filter, reverseOrder)")}}</dt>
- <dd>여러 개의 메시지를 받는다. {{ domxref("MozSmsFilter") }} 객체를 사용하여 필터링이 가능하고 두번째 파라미터 boolean 값에 따라 순서를 거꾸로 바꿀 수도 있다. {{ domxref("DOMCursor") }} 를 반환한다.</dd>
- <dt>{{domxref("MozSmsManager.getSegmentInfoForText()","MozSmsManager.getSegmentInfoForText(text)")}}</dt>
- <dd>주어진 문자(보통 SMS 당 160 글자)에 대한 멀티 파트 SMS를 만들기 위해 필요한 정보를 가진 {{domxref("MozSmsSegmentInfo")}} 객체를 반환한다.</dd>
- <dt>{{domxref("MozSmsManager.markMessageRead()","MozSmsManager.markMessageRead(id, isRead)")}}</dt>
- <dd>해당 <code>id의 메시지를 </code>Boolean <code>isRead 값에 따라 읽음 또는 읽지 않음으로 표시한다. </code>{{ domxref("DOMRequest") }}<code> 객체를 반환한다.</code></dd>
- <dt>{{domxref("MozSmsManager.send()","MozSmsManager.send(number, message)")}}</dt>
- <dd>해당 <code>전화번호</code>에 메시지를 전송한다. 만약 <code>number가 </code>{{ domxref("DOMString") }} (한 개의 전화번호)라면 {{ domxref("DOMRequest") }} 객체를 반환한다. 만약 <code>number</code>가 {{ domxref("DOMString") }} 객체의 배열(여러 개의 전화번호)라면 {{ domxref("DOMRequest") }} 객체의 배열을 반환한다.</dd>
- <dt>{{domxref("MozSmsManager.getThreads()")}}</dt>
- <dd>{{domxref("MozMobileMessageThread")}}의 목록을 받는다. {{ domxref("DOMCursor") }} 를 반환된다.</dd>
-</dl>
-
-<p><code>MozSmsManager</code> 는 또한 {{domxref("EventTarget")}} 의 메소드를 상속받는다.</p>
-
-<p>{{Page("/en-US/docs/Web/API/EventTarget","Methods")}}</p>
-
-<h2 id="명세">명세</h2>
-
-<p>이 API는 비 표준 스펙의 구현체입니다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있습니다.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Messaging')}}</td>
- <td>{{Spec2('Messaging')}}</td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="참고_자료">참고 자료</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li>{{ domxref("window.navigator.mozSms") }}</li>
- <li>{{ domxref("MozSmsEvent") }}</li>
-</ul>
diff --git a/files/ko/web/api/mozsmsmessage/index.html b/files/ko/web/api/mozsmsmessage/index.html
deleted file mode 100644
index 7918a44209..0000000000
--- a/files/ko/web/api/mozsmsmessage/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: MozSmsMessage
-slug: Web/API/MozSmsMessage
-tags:
- - Non-standard
-translation_of: Archive/B2G_OS/API/MozSmsMessage
----
-<p>{{ ApiRef() }}</p>
-
-<p>{{ non-standard_header() }}</p>
-
-<p>{{ B2GOnlyHeader2('certified') }}</p>
-
-<h2 id="요약">요약</h2>
-
-<p>DOM <code>MozSmsMessage</code> 객체는 SMS 문자 메시지를 나타내며 발신자, 수신자, 본문, 날짜와 같은 모든 정보를 가지고 있다.</p>
-
-<h2 id="속성">속성</h2>
-
-<dl>
- <dt>{{domxref("MozSmsMessage.type")}} {{readonlyinline}}</dt>
- <dd><code>sms라는 값을 가지는 문자열이다</code>.</dd>
- <dt>{{domxref("MozSmsMessage.id")}} {{readonlyinline}}</dt>
- <dd>메시지의 id를 나타내는 숫자를 반환한다.</dd>
- <dt>{{domxref("MozSmsMessage.threadId")}} {{readonlyinline}}</dt>
- <dd>메시지 일부의 스레드의 id를 나타내는 숫자를 반환한다.</dd>
- <dt>{{domxref("MozSmsMessage.body")}} {{readonlyinline}}</dt>
- <dd>메시지의 본문을 나타내는 {{ domxref("DOMString") }} 를 반환한다.</dd>
- <dt>{{domxref("MozSmsMessage.delivery")}} {{readonlyinline}}</dt>
- <dd><code>received</code>, <code>sending</code>, <code>sent</code>, <code>error</code> 중 하나의 {{ domxref("DOMString") }} 을 반환한다.</dd>
- <dt>{{domxref("MozSmsMessage.deliveryStatus")}} {{readonlyinline}}</dt>
- <dd><code>delivery 속성 값에 따라 다음과 같은 </code>{{ domxref("DOMString") }} 을 반환한다:<br>
- * <code>received</code> : <code>success</code><br>
- * <code>sending </code> : <code>pending</code> 또는 <code>not-applicable</code> (만약 메시지가 상태 보고 요청없이 전송되었다면)<br>
- * <code>sent    </code> : <code>pending</code>, <code>success</code>, <code>error</code> 또는 <code>not-applicable</code> (만약 메시지가 상태 보고 요청없이 전송되었다면)<br>
- * <code>error   </code> : <code>error</code></dd>
- <dt>{{domxref("MozSmsMessage.read")}} {{readonlyinline}}</dt>
- <dd>메시지를 읽었는지 읽지 않았는지를 가리키는 Boolean을 반환한다.</dd>
- <dt>{{domxref("MozSmsMessage.receiver")}} {{readonlyinline}}</dt>
- <dd>수신자 이름을 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd>
- <dt>{{domxref("MozSmsMessage.sender")}} {{readonlyinline}}</dt>
- <dd>발신자 이름을 나타내는 {{ domxref("DOMString") }} 을 반환한다.</dd>
- <dt>{{domxref("MozSmsMessage.timestamp")}} {{readonlyinline}}</dt>
- <dd>메시지의 타임스탬프인 <code><a href="/en/JavaScript/Reference/Global_Objects/Date" title="Date">Date</a> 객체를 반환한다.</code></dd>
- <dt>{{domxref("MozSmsMessage.messageClass")}} {{readonlyinline}}</dt>
- <dd><code>normal</code>, <code>class-0</code>, <code>class-1</code>, <code>class-2</code>, <code>class-3</code> 중 하나의 {{ domxref("DOMString") }} 을 반환한다.</dd>
-</dl>
-
-<h2 id="참고_자료">참고 자료</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li>{{ domxref("window.navigator.mozSms") }}</li>
- <li>{{ domxref("MozSmsManager") }}</li>
-</ul>
diff --git a/files/ko/web/api/mozsmssegmentinfo/index.html b/files/ko/web/api/mozsmssegmentinfo/index.html
deleted file mode 100644
index 02f324b453..0000000000
--- a/files/ko/web/api/mozsmssegmentinfo/index.html
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title: MozSmsSegmentInfo
-slug: Web/API/MozSmsSegmentInfo
-tags:
- - Non-standard
-translation_of: Archive/B2G_OS/API/MozSmsSegmentInfo
----
-<p>{{ ApiRef() }}</p>
-
-<p>{{ non-standard_header() }}</p>
-
-<h2 id="요약">요약</h2>
-
-<p>DOM <code>MozSmsSegmentInfo</code> 인터페이스는 문자가 자동으로 어떻게 세그멘트로 나누어지는에 관한 정보를 제공합니다. 각 세그먼트는 멀티 파트 SMS 메시지의 단일 SMS를 나타냅니다.</p>
-
-<p><code>MozSmsSegmentInfo</code> 인터페이스는 직접적으로 인스턴스화 될 수 없습니다; 각 객체를 얻기 위해서는 {{domxref("MozSmsManager.getSegmentInfoForText()")}} 메소드를 사용하십시오.</p>
-
-<h2 id="속성">속성</h2>
-
-<dl>
- <dt>{{domxref("MozSmsSegmentInfo.segments")}} {{readonlyinline}}</dt>
- <dd>입력 문자열에 대한 총 세그먼트의 개수이다.</dd>
- <dt>{{domxref("MozSmsSegmentInfo.charsPerSegment")}} {{readonlyinline}}</dt>
- <dd>각 세그먼트당 사용 가능한 문자의 개수이다.</dd>
- <dt>{{domxref("MozSmsSegmentInfo.charsAvailableInLastSegment")}} {{readonlyinline}}</dt>
- <dd>마지막 세그먼트에서 사용 가능한 문자의 최대 개수이다.</dd>
-</dl>
-
-<h2 id="참고_자료">참고 자료</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li>{{ domxref("window.navigator.mozSms") }}</li>
- <li>{{ domxref("MozSmsManager") }}</li>
-</ul>
diff --git a/files/ko/web/api/navigator/mozmobilemessage/index.html b/files/ko/web/api/navigator/mozmobilemessage/index.html
deleted file mode 100644
index 7645d8d833..0000000000
--- a/files/ko/web/api/navigator/mozmobilemessage/index.html
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: window.navigator.mozMobileMessage
-slug: Web/API/Navigator/mozMobileMessage
-tags:
- - Non-standard
- - Obsolete
-translation_of: Archive/B2G_OS/API/Navigator/mozMobileMessage
----
-<p>{{ ApiRef() }}</p>
-
-<p>{{ non-standard_header() }}</p>
-
-<p>{{ B2GOnlyHeader2('certified') }}</p>
-
-<h2 id="Summary" name="Summary">요약</h2>
-
-<p>{{ domxref("MozMobileMessageManager") }} 객체를 반환한다. 이 객체는 MMS와 SMS 메시지를 보내거나 받는데 사용된다.</p>
-
-<h2 id="명세">명세</h2>
-
-<p> </p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Messaging')}}</td>
- <td>{{Spec2('Messaging')}}</td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="설정_이용_가능한_환경">설정 &amp; 이용 가능한 환경</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li>WebSMS는 기본적으로 비활성화 되어있습니다. <code>dom.sms.enabled 설정을 true로 지정하여야 활성화됩니다.</code></li>
- <li>WebSMS API를 사용하도록 허가된 호스트명들의 화이트 리스트(콤마로 구분)는 반드시 <code>dom.sms.whitelist 설정에 명시되어야 합니다. 이 문자열은 기본적으로 빈 문자열입니다.</code></li>
- <li>WebSMS는 오직 Firefox OS (B2G) 에 인증된 앱에서만 이용 가능합니다.</li>
- <li>MMS는 Firefox OS 1.1 부터 이용 가능합니다.</li>
-</ul>
-
-<h2 id="참고_자료">참고 자료</h2>
-
-<ul>
- <li><a href="/en-US/docs/API/WebSMS" title="/en-US/docs/API/WebSMS">WebSMS API</a></li>
- <li>{{ domxref("MozMobileMessageManager") }}</li>
- <li>{{ domxref("window.navigator.mozTelephony") }} for controlling telephone calls.</li>
- <li>{{ domxref("window.navigator.mozSms") }} for handling SMS only.</li>
-</ul>
diff --git a/files/ko/web/api/navigator/moznotification/index.html b/files/ko/web/api/navigator/moznotification/index.html
deleted file mode 100644
index 9c593ec4a1..0000000000
--- a/files/ko/web/api/navigator/moznotification/index.html
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title: navigator.mozNotification
-slug: Web/API/Navigator/mozNotification
-translation_of: Archive/API/Navigator/mozNotification
----
-<div class="warning">
-<p style="text-align: center;">The support for this property as been dropped in favor of the standard {{domxref("Notification")}} constructor.</p>
-</div>
-
-<p>Provides support for creating {{ domxref("notification") }} objects, which are used to display desktop notification alerts to the user. Currently, these are only supported on Firefox Mobile and Firefox OS. See <a href="/en/DOM/Displaying_notifications" title="en/DOM/Displaying notifications">Displaying notifications</a> for an example.</p>
-
-<h2 id="Method_overview" name="Method_overview">Method overview</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td><code>notification <a href="#createNotification()">createNotification</a>(in DOMString title, in DOMString description, in DOMString iconURL {{ optional_inline() }});</code></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Methods" name="Methods">Methods</h2>
-
-<h3 id="createNotification()" name="createNotification()">createNotification()</h3>
-
-<p>Creates and returns a notification object that can be used to display the specified message with an optional URL.</p>
-
-<pre class="eval">notification createNotification(
- in DOMString title,
- in DOMString description,
- in DOMString iconURL {{ optional_inline() }}
-);
-</pre>
-
-<h6 id="Parameters" name="Parameters">Parameters</h6>
-
-<dl>
- <dt><code>title</code></dt>
- <dd>알림 타이틀.</dd>
- <dt><code>description</code></dt>
- <dd>알림에 표시할 텍스트.</dd>
- <dt><code>iconURL</code> {{ optional_inline() }}</dt>
- <dd>A URL identifying the image to display in the notification.</dd>
-</dl>
-
-<h6 id="Return_value" name="Return_value">Return value</h6>
-
-<p>A new {{ domxref("notification") }} object.</p>
-
-<h2 id="Methods" name="Methods">Permissions</h2>
-
-<p>manifest 파일에 "desktop-notification" permission 을 추가 해야 한다.</p>
-
-<pre class="default prettyprint prettyprinted"><code><span class="str">"permissions"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
- </span><span class="str">"desktop-notification"</span><span class="pun">:{}</span><span class="pln">
-</span><span class="pun">}</span></code></pre>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{ domxref("notification") }}</li>
- <li><a href="/en/DOM/Displaying_notifications" title="en/DOM/Displaying notifications">Displaying notifications</a></li>
-</ul>
diff --git a/files/ko/web/api/navigator/mozsms/index.html b/files/ko/web/api/navigator/mozsms/index.html
deleted file mode 100644
index d6c9c16983..0000000000
--- a/files/ko/web/api/navigator/mozsms/index.html
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: window.navigator.mozSms
-slug: Web/API/Navigator/mozSms
-tags:
- - API
- - Firefox OS
- - Mobile
- - Obsolete
- - Property
- - WebSMS
-translation_of: Archive/B2G_OS/API/Navigator/mozSms
----
-<p>{{APIRef("Mobile Messaging API")}}</p>
-
-<div class="blockIndicator obsolete">
-<p><strong>Obsolete since Gecko 25 (Firefox 25 / Thunderbird 25 / SeaMonkey 2.22)</strong><br>
- This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.</p>
-</div>
-
-<div class="blockIndicator warning">
-<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div>
-
-<p><code><a href="/ko/docs/Archive/B2G_OS/API/MozSmsManager">MozSmsManager</a></code> 객체를 반환한다. 이 객체는 SMS 메시지를 보내거나 받는데 사용된다.</p>
-
-<div class="blockIndicator note">
-<p>Note: <strong>Do not use anymore! </strong>This object has been removed in favor of <a href="/en-US/docs/Archive/B2G_OS/API/Navigator/mozMobileMessage" title="Returns a MozMobileMessageManager object you can use to receive and send MMS and SMS messages."><code>Navigator.mozMobileMessage</code></a>.</p>
-</div>
-
-<h2 id="명세">명세</h2>
-
-<p>이 API는 비 표준 스펙의 구현체입니다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있습니다.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Messaging')}}</td>
- <td>{{Spec2('Messaging')}}</td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="설정_이용_가능한_환경">설정 &amp; 이용 가능한 환경</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li>WebSMS는 기본적으로 비활성화 되어있습니다. <code>dom.sms.enabled</code> 설정을 true로 지정하여야 활성화됩니다.</li>
- <li>WebSMS API를 사용하도록 허가된 호스트명들의 화이트 리스트(콤마로 구분)는 반드시 <code>dom.sms.whitelist 설정에 명시되어야 합니다. 이 문자열은 기본적으로 빈 문자열입니다.</code></li>
- <li>WebSMS는 오직 Firefox OS (B2G) 에 인증된 앱에서만 이용 가능합니다.</li>
-</ul>
-
-<h2 id="참고_자료">참고 자료</h2>
-
-<ul>
- <li><a href="/en-US/docs/API/WebSMS" title="/en/docs/API/WebSMS">WebSMS API</a></li>
- <li>{{ domxref("SmsManager") }}</li>
- <li>{{ domxref("window.navigator.mozTelephony") }} for controlling telephone calls.</li>
-</ul>
diff --git a/files/ko/web/apps/design/index.html b/files/ko/web/apps/design/index.html
deleted file mode 100644
index 23bba7ac10..0000000000
--- a/files/ko/web/apps/design/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: 열린 웹 응용프로그램들 설계하기
-slug: Web/Apps/Design
-tags:
- - Apps
- - Beginner
- - CSS
- - Design
- - Examples
- - Guide
- - Layout
- - Mobile
- - NeedsTranslation
- - Styleguides
- - TopicStub
- - UX
- - Usability
- - Web Development
- - patterns
-translation_of: Archive/Apps/Design
----
-<div class="summary">
-<p>In this section, we'll introduce design and UX principles to incorporate into your Open Web Apps. In an effort to help you kickstart your project, we have included links to relevant examples and style guides.</p>
-</div>
-
-<h2 id="일반_웹_앱_디자인">일반 웹 앱 디자인</h2>
-
-<p>The items under this section apply generally to Web app design.</p>
-
-<dl>
- <dt><a href="/ko/Apps/Design/Planning">계획하기</a></dt>
- <dd>The articles in this section provide information on planning a successful Web app, including high level planning ideas and general design principles.</dd>
- <dt><a href="/en-US/Apps/Design/UI_layout_basics">UI 배치의 기본</a></dt>
- <dd>These articles provide guides and theory behind implementing effective layouts for Open Web Apps, including responsive design, flexible boxes, etc.</dd>
-</dl>
diff --git a/files/ko/web/apps/publishing/marketplace_review_criteria/index.html b/files/ko/web/apps/publishing/marketplace_review_criteria/index.html
deleted file mode 100644
index d6627ca4fd..0000000000
--- a/files/ko/web/apps/publishing/marketplace_review_criteria/index.html
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: Marketplace 리뷰 가이드
-slug: Web/Apps/Publishing/Marketplace_review_criteria
-translation_of: Archive/Mozilla/Marketplace/Publishing/Marketplace_review_criteria
----
-<p>이 문서에서는 Firefox Marketplace를 통해 배포되는 앱이 충족해야 할 일련의 요구 사항을 설명합니다. 이러한 요건은 Marketplace에서 배포되는 앱 개발자 및 사용자 양쪽의 요구에 대한 균형을 맞추도록 설계되어 있습니다. 개발자는 앱을 사용한 비즈니스를 성립시키기 위해 신뢰할 만한 균형을 가지고, 일관성이 있고 너무 엄격하지 않은 조건을 요구하고 있습니다. 한편 사용자는 앱이 안전하고, 자신의 단말기에서 동작하는 설명대로 동작한다는 보증을 요구하고 있습니다. 이하에서 설명하는 앱의 요건은 이러한 요구의 균형을 목적으로 하고 있습니다.</p>
-<p>앱을 검토(Review)하는 부분과 그렇지 않은 부분에 대해 Mozilla의 생각은 다음과 같습니다.</p>
-<ul>
- <li>평가 기준은 공평하고, 배려를 가진 일관성 있는 방법으로 적용됩니다. 앱의 검토 프로세스는 문지기(Gatekeeper) 같은 존재가 되는 것을 의도하지 않고, 오히려 개발자의 성공을 돕기 위해 피드백을 제공하고 신뢰할 수 있는 접점에 있다고 생각합니다.</li>
- <li>평가 검토 담당자는 품질 보증 팀이 아닙니다. 검토 프로세스 안에서 누군가가 앱 매니 페스트를 살펴 보고, 일반 사용자와 똑같이 앱의 사용법을 습득하는 데 시간을 보내게 됩니다.</li>
- <li>앱이 검토를 통과하지 못한 경우, 문제와 재현 방법의 알기 쉬운 설명이 개발자에 제공되며, 검토자는 가능하면 관련 기술 지원 자료에 대한 링크를 제공함으로써 개발자를 올바른 방향으로 이끌어 바꾸어할 변경 사항에 대해 권장을 하거나 해야 합니다.</li>
- <li>검토 담당자는 앱 "외형"에 대한 판단은 하지 않고 앱 "동작"에 대해서만 확인합니다. 예를 들면, 오렌지의 배경 색에 빨간 글씨를 올린 단락을 포함한 앱이 있었다고 해도 못생겼다고 앱을 거절하지 않습니다. 만일 가독성에 문제가 있으면 거절될 가능성도 있습니다.</li>
- <li>우리는 항상 "예상 외의 결과를 내리지 않는다"라는 원칙을 지킵니다. 앱을 거절해야 할지 확신이 없는 상태에서 검토자는 결정을 내리기 "전에" 개발자에게 질문합니다. 앱은 개발자가 제어할 수 없는 플랫폼 문제로 인해 (고의로) 거절되지 않습니다. 다만, 앱이 아예 동작하지 않는 경우, 승인을 보류할 가능성은 있습니다.</li>
-</ul>
-<h2 id="Security" name="Security">보안</h2>
-<p>앱의 보안 아키텍처에 관한 설명은<a href="https://wiki.mozilla.org/Apps/Security"> https://wiki.mozilla.org/Apps/Security</a>에서 볼 수 있습니다.</p>
-<ul>
- <li>앱 매니 페스트는 앱과 같은 위치(Same Origin)에서 공개 해야 합니다.</li>
- <li>앱 매니 페스트는<code> application/x-web-app-manifest+json</code>의<code>Content-Type </code>헤더에서 공개해야 합니다.</li>
- <li>앱은 리디렉션이나 인라인 프레임을 사용해 개발자가 사용을 인정 받지 않은 내용을 가져와서는 안됩니다.</li>
- <li>요청되는 사용 권한은 사용 권한이 필요한 이유와 함께 앱 매니 페스트에 명기되어야 합니다.</li>
-</ul>
-<h2 id="Privacy" name="Privacy">개인 정보</h2>
-<ul>
- <li>등록 시 개발자는 개인 정보 정책의 URL을 입력해야 하나, 개인 정보 보호 정책의 형식과 내용에 대한 요구 사항이 없습니다. <a href="https://github.com/flamsmark/privacy-policy-template">개인 정보 정책 샘플</a>을 준비하고 있기 때문에 자유롭게 사용해 주십시오. Mozilla의 <a href="/ko/docs/Privacy_policies">개인 정보 정책 가이드 라인</a>도 함께 살펴 보세요.</li>
-</ul>
-<h2 id="Content" name="Content">콘텐츠</h2>
-<ul>
- <li>아래 콘텐츠 가이드 라인에 반하는 앱은 허용하지 않습니다. 가이드 라인에 저촉될지 아슬아슬한 상태라고 생각하려면 앱의 등록 준비가 완료되기 전이라도 검토 팀에 명확한 판단을 구하세요. 우리는 개발자들이 바로 거절될 콘텐츠의 개발에 시간을 투자하는 것보다 올바른 방향성을 유지하기 지원하고 싶습니다.</li>
- <li>브라질에서 게임을 배포할 경우 개발자는 DEJUS에 의한 평가 기준을 의뢰해 그 결과를<a href="mailto:apps-reviewers@mozilla.org?subject=DEJUS%20Rating"> apps-reviewers@mozilla.org</a>로 보내야 합니다.</li>
- <li>Firefox Marketplace에 등록할 스크린 샷과 설명문은 앱에 대해 적절히 표현해야 합니다.</li>
- <li>앱 매니 페스트의 <a href="/ko/docs/Web/Apps/Manifest#locales"><code>locale</code>키</a>는 앱이 대응하는 지역화와 일치하지 해야 합니다. 예를 들면 폴란드어의<code> locale</code>키를 설정하면 사용자는 폴란드어로 앱이 이용 가능하다고 기대합니다.</li>
-</ul>
-<h3 id="Content_guidelines" name="Content_guidelines">콘텐츠 가이드 라인</h3>
-<p>이 목록은 Firefox Marketplace에 부적절한 내용 유형을 설명한 것입니다. 이 항목은 확정적이 아니라 구체적인 것으로, 향후 업데이트될 수 있습니다. 응용 프로그램이 이러한 내용 가이드 라인에 반하는 것이 확인된 경우 Mozilla는 Firefox Marketplace에서 응용 프로그램을 즉시 삭제할 권리를 가지고 있습니다.</p>
-<ul>
- <li>음란한 소재, 또는 성이나 폭력 묘사는 인정하지 않습니다.</li>
- <li>지적 재산, 기타 소유권, 개인 정보,  초상권 등 타인의 권리를 침해하는 콘텐츠는 인정하지 않습니다.</li>
- <li>Mozilla나 사용자에게 손해를 주는 것을 목적으로 한 콘텐츠(악성 코드, 바이러스, 스파이 웨어, 악성 프로그램 등)은 인정하지 않습니다.</li>
- <li>불법 콘텐츠 또는 불법 행위를 조장하는 콘텐츠는 인정하지 않습니다.</li>
- <li>허위 사실 정보를 주고 피싱 사기, 기타 개인 정보 절도를 목적으로 한 콘텐츠는 인정하지 않습니다.</li>
- <li>도박 행위를 조장하는 콘텐츠는 인정하지 않습니다.</li>
- <li>위법 또는 규제된 제품이나 서비스의 광고에 관련된 콘텐츠는 인정하지 않습니다.</li>
- <li>아동을 착취하는 콘텐츠는 인정하지 않습니다.</li>
- <li>연령, 성별, 인종, 민족, 국적, 신앙, 성적 지향, 장애, 지리적 위치, 기타 보호된 분류에 따라 인물이나 집단의 평판을 떨어뜨리거나 그것들에 대한 위협이 되거나 폭력을 유발하거나 편견을 조장하는 콘텐츠 또는 차별 발언에 해당하는 콘텐츠는 인정하지 않습니다.</li>
- <li>사용자를 속여 구매 결정을 행하게 하는 콘텐츠는 인정하지 않습니다.</li>
-</ul>
-<h2 id="Functionality" name="Functionality">기능성</h2>
-<ul>
- <li>앱의 기본적인 기능을 검토자가 실행할 수 있어야 합니다. 사소한 문제나 심각하지 않은 상태는 개발자에게 보고하지만, 이로 인해 앱의 승인을 막는 것은 아닙니다.</li>
- <li>앱은 시스템 성능 및 안정성을 떨어뜨려서는 안됩니다.</li>
-</ul>
-<h2 id="Usability" name="Usability">사용성</h2>
-<ul>
- <li>개발자는 대상 플랫폼에 레이아웃을 최적화할 충분한 작업을 수행합니다. 이 요건은 다음과 같은 분명한 문제를 막는 것을 목적으로 하고 있습니다.
- <ul>
- <li>모바일용으로 등록된 앱인데, 분명히 데스크탑용 사이트이다.</li>
- <li>이용 가능한 화면 공간을 전혀 활용하고 있지 않다(예를 들면, 320x480 크기의 앱이 있으면, 태블릿의 화면 모퉁이에 위치하여 화면의 나머지 공간은 비어 있는 경우).</li>
- </ul>
- </li>
- <li>앱은 독자적인 탐색 방법을 구현하고 브라우저의 UI나 하드웨어의 돌아오기 버튼에 의존해서는 안됩니다. 모든 단말기에 그런 기능이 있다고 할 수 없습니다.
- <ul>
- <li>예를 들면, 검토자가 앱에서 어딘가에 옮겨 제자리로 돌아갈 수 없는 경우가 있을수도 있습니다. 앱이 네이티브 앱에서 일반적인 버튼 바를 구현해야 한다는 뜻은 아닙니다.</li>
- <li>주의: 기존 레거시 웹앱을 위해 Gaia "래퍼"가 개발 중입니다: <a href="https://github.com/mozilla-b2g/gaia/issues/2557">https://github.com/mozilla-b2g/gaia/issues/2557</a></li>
- </ul>
- </li>
- <li>버튼이나 링크 등의 탐색 요소는 쉽게 클릭하거나 탭할 수 있어야 합니다.</li>
-</ul>
-<h2 id="Blocklisting_policy" name="Blocklisting_policy">차단 목록 추가 정책</h2>
-<p>우리는 원하지는 않지만, 노출된 앱이, 보안, 개인 정보, 콘텐츠 요건에 반하고 혹은 시스템이나 네트워크의 성능을 크게 저하시키는 것이 나중에 밝혀질 경우 그것을 Marketplace에서 제거("차단 목록"에 추가하는) 권리를 가지고 있습니다. 그러한 상황이 되었을 경우, 개발자는 앱이 차단 목록에 추가되기 전에 통보를 받고 뭔가 구체적 증거가 발견하지 않는 한 "착한 시민"으로 간주됩니다. 또한, 앱의 검토 팀은 무슨 일이 일어나는지를 전달해 문제를 해결하기 위한 충분한 지원을 제공합니다. 차단 목록에 추가가 인정되는 상황의 구체적인 예는 다음과 같은 것입니다.</p>
-<ul>
- <li>피싱</li>
- <li>스팸 행위</li>
- <li>Puppy Pictures v1.0에서 Brutal Violence v1.0에 콘텐츠 수정(콘텐츠의 레이팅 기능이 구현되면 그것을 업데이트하지 않고 행하는 변경은 인정하지 않습니다)</li>
- <li>앱의 대다수의 사용자에게 심각한 문제. 예를 들면 통화 성능 저하 시스템 재시작 유발, 데이터 소실 등. 앱이 그 원인임을 사용자가 인식하지 못해 단말의 재시작에 의해서도 해결하지 않습니다.</li>
- <li>분산 서비스 거부(DDoS)공격 등 네트워크상에서의 공격에 이용되는 앱</li>
-</ul>
diff --git a/files/ko/web/css/getting_started/xbl_bindings/index.html b/files/ko/web/css/getting_started/xbl_bindings/index.html
deleted file mode 100644
index 6799095812..0000000000
--- a/files/ko/web/css/getting_started/xbl_bindings/index.html
+++ /dev/null
@@ -1,198 +0,0 @@
----
-title: XBL bindings
-slug: Web/CSS/Getting_Started/XBL_bindings
-tags:
- - 'CSS:Getting_Started'
-translation_of: Archive/Beginner_tutorials/Using_XBL_from_stylesheets
----
-<p>이 페이지는 모질라에서 CSS를 사용하여 복잡한 애플리케이션의 구조를 향상시켜 코드와 자원(resources)을 보다 쉽게 재사용(recycle)할 수 있게 만드는 방법을 설명합니다.</p>
-<p>이 테크닉을 간단한 예제에 적용시켜 봅니다.</p>
-<h3 id=".EC.A0.95.EB.B3.B4:_XBL_.EB.B0.94.EC.9D.B8.EB.94.A9.28bindings.29" name=".EC.A0.95.EB.B3.B4:_XBL_.EB.B0.94.EC.9D.B8.EB.94.A9.28bindings.29">정보: XBL 바인딩(bindings)</h3>
-<p>마크업 언어와 CSS에서 제공되는 구조(structure)는 각 부분이 독립적이고(self-contained) 재 사용되어야 하는 복잡한 애플리케이션에 이상적이라고는 할 수 없습니다. 스타일 시트들을 다른 파일들에 저장할 수 있고, 스크립트들도 다른 파일들에 저장 해 놓을 수 있으나, 문서에서 이들 파일들을 하나의 전체로서 링크해야만 합니다.</p>
-<p>또 다른 구조적 제한사항은 내용물에 관한 것입니다. CSS를 사용하여 선택된 엘리먼트들에 내용물을 제공해 줄 수 있으나, 내용물은 텍스트와 이미지에 한정되어 있으며, 그 위치지정은(positioning) 선택된 엘리먼트의 앞 또는 뒤로 한정되어 있습니다.</p>
-<p>모질라는 이러한 제한 사항들을 극복할 미케니즘을 제공합니다:
- <i>
- XBL</i>
- (XML 바인딩 언어, XML Binding Language)가 바로 그것입니다. XBL을 사용해서 선택된 엘리먼트를 다음의 것들과 링크시킬 수 있습니다:</p>
-<ul>
- <li>에리먼트의 스타일 시트</li>
- <li>엘리먼트의 내용물</li>
- <li>엘리먼트의 속성(property)과 메소드(method)</li>
- <li>엘리먼트의 이벤트 핸들러(event hadler)</li>
-</ul>
-<p>문서 레벨에서 모든것을 링크시키는 것을 피할 수 있기 때문에, 유지와 재사용이 쉬운 독립적인 부분들을 만들어 낼 수 있습니다.</p>
-<table style="border: 1px solid #36b; padding: 1em; background-color: #f4f4f4; margin-bottom: 1em; width: 100%;">
- <caption>
- More details</caption>
- <tbody>
- <tr>
- <td>XBL 바인딩에 대한 더 많은 정보를 원하시면, 이 위키의 <a href="ko/XBL">XBL</a> 페이지를 보세요.</td>
- </tr>
- </tbody>
-</table>
-<h3 id=".EC.95.A1.EC.85.98:_XBL_.EC.98.88.EC.A0.9C" name=".EC.95.A1.EC.85.98:_XBL_.EC.98.88.EC.A0.9C">액션: XBL 예제</h3>
-<p>새로운 HTML 문서 <code>doc6.html</code>를 만드세요. 아래의 내용물을 복사해서 붙여넣으세요.</p>
-<div style="width: 48em;">
- <pre>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"&gt;
-&lt;HTML&gt;
-
-&lt;HEAD&gt;
-&lt;TITLE&gt;Mozilla CSS Getting Started - XBL demonstration&lt;/TITLE&gt;
-&lt;LINK rel="stylesheet" type="text/css" href="style6.css"&gt;&lt;/strong&gt;
-&lt;/HEAD&gt;
-
-&lt;BODY&gt;
-&lt;H1&gt;XBL demonstration&lt;/H1&gt;
-&lt;DIV id="square"&gt;Click Me&lt;/DIV&gt;
-&lt;/BODY&gt;
-
-&lt;/HTML&gt;
-</pre>
-</div>
-<p>새로운 CSS 파일 <code>style6.css</code>을 만드세요. 이 스타일 시트는 문서 스타일을 담고 있습니다. 아래의 내용물을 복사해서 붙여넣으세요.</p>
-<div style="width: 48em;">
- <pre>/*** XBL demonstration ***/
-#square {
- -moz-binding: url("square.xbl#square");
- }
-</pre>
-</div>
-<p>새로운 텍스트 파일 <code>square.xbl</code>을 만드세요. 이 스타일 시트는 XBL 바인딩(binding)을 담고 있습니다. 아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요:</p>
-<p> </p>
-<div style="width: 48em; height: 12em; overflow: auto;">
- <pre>&lt;?xml version="1.0"?&gt;
-&lt;!DOCTYPE bindings&gt;
-&lt;bindings xmlns="http://www.mozilla.org/xbl"&gt;
-
-&lt;binding id="square"&gt;
-
- &lt;resources&gt;
- &lt;stylesheet src="bind6.css"/&gt;
- &lt;/resources&gt;
-
- &lt;content xmlns="http://www.w3.org/1999/xhtml"&gt;
- &lt;div anonid="square"/&gt;
- &lt;button anonid="button" type="button"&gt;
- &lt;xbl:children/&gt;
- &lt;/button&gt;
- &lt;/content&gt;
-
- &lt;implementation&gt;
-
- &lt;field name="square"&gt;&lt;![CDATA[
- document.getAnonymousElementByAttribute(this, "anonid", "square")
- ]]&gt;&lt;/field&gt;
-
- &lt;field name="button"&gt;&lt;![CDATA[
- document.getAnonymousElementByAttribute(this, "anonid", "button")
- ]]&gt;&lt;/field&gt;
-
- &lt;method name="doDemo"&gt;
- &lt;body&gt;&lt;![CDATA[
- this.square.style.backgroundColor = "#cf4"
- this.square.style.marginLeft = "20em"
- this.button.setAttribute("disabled", "true")
- setTimeout(this.clearDemo, 2000, this)
- ]]&gt;&lt;/body&gt;
- &lt;/method&gt;
-
- &lt;method name="clearDemo"&gt;
- &lt;parameter name="me"/&gt;
- &lt;body&gt;&lt;![CDATA[
- me.square.style.backgroundColor = "transparent"
- me.square.style.marginLeft = "0"
- me.button.removeAttribute("disabled")
- ]]&gt;&lt;/body&gt;
- &lt;/method&gt;
-
- &lt;/implementation&gt;
-
- &lt;handlers&gt;
- &lt;handler event="click" button="0"&gt;&lt;![CDATA[
- if (event.originalTarget == this.button) this.doDemo()
- ]]&gt;&lt;/handler&gt;
- &lt;/handlers&gt;
-
- &lt;/binding&gt;
-
-&lt;/bindings&gt;
-</pre>
-</div>
-<p>새로운 CSS 파일 <code>bind6.css</code>을 만드세요. 이 새 스타일 시트는 바인딩에대한 스타일(style for the binding)을 담고 있습니다. 아래의 내용물을 복사해서 붙여넣으세요.</p>
-<div style="width: 48em;">
- <pre>/*** XBL demonstration ***/
-[anonid="square"] {
- width: 20em;
- height: 20em;
- border: 2px inset gray;
- }
-
-[anonid="button"] {
- margin-top: 1em;
- padding: .5em 2em;"
- }
-</pre>
-</div>
-<p>브라우저에서 문서을 열고 버튼을 누르세요.</p>
-<p>이 위키페이지는 자바스크립트를 지원하지 않습니다. 따라서 예제가 어떻게 실행되는 지 보여드릴 수 없습니다. 버튼을 누른 전과 후가 대략 다음과 같이 보입니다:</p>
-<table>
- <tbody>
- <tr>
- <td style="padding-right: 2em;">
- <table style="border: 2px outset #36b; padding: 0 4em .5em .5em;">
- <tbody>
- <tr>
- <td>
- <p><b>XBL demonstration</b></p>
- <div style="width: 5em; height: 5em; border: 2px inset gray; background-color: white; margin-right: 5em;">
- <div style="width: 2em; height: 1em; border: 1px outset black; background-color: #ccc; margin-top: 4px;">
-  </div>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td>
- <table style="border: 2px outset #36b; padding: 0 4em .5em .5em;">
- <tbody>
- <tr>
- <td>
- <p><b>XBL demonstration</b></p>
- <div style="width: 5em; height: 5em; border: 2px inset gray; background-color: #cf4; margin-left: 5em;">
- <div style="width: 2em; height: 1em; border: 1px inset black; background-color: #ccc; margin-top: 4px;">
-  </div>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
-</table>
-<p>이 예제에서 주의할 점:</p>
-<ul>
- <li>HTML 문서는 전처럼 문서의 스타일 시트에 링크되어 있습니다. 그러나 어떤 자바스크립트 코드에도 링크되어 있지 않습니다.</li>
- <li>문서는 아무 버튼도 포함하고 있지 않습니다. 문서는 버튼 레이블(label)의 텍스트만을 포함하고 있습니다. 버튼은 바인딩(binding)에 의해서 더해집니다.</li>
- <li>문서 스타일 시트는 바인딩(binding)에 링크되어 있습니다.</li>
- <li>바인딩(binding)은 그 자신의 스타일에 링크되어 있고, 그 자신의 내용물과 자바스크립트 코드를 지원합니다. 따라서, 바인딩은 독립적으로(self-contained) 되어있습니다.</li>
-</ul>
-<table style="border: 1px solid #36b; padding: 1em; background-color: #fffff4; margin-bottom: .5em;">
- <caption>
- Challenges</caption>
- <tbody>
- <tr>
- <td>XBL 파일을 수정해서 사각형(square)이 색이 바뀔 때 오른쪽으로 점핑하는 대신 폭이(width) 2배가 되도록 하세요.
- <p>DOM Inspector tool을 사용하여 문서를 조사해서 추가된 내용물을 확인해 보세요.</p>
- </td>
- </tr>
- </tbody>
-</table>
-<h4 id=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80.3F" name=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80.3F">그럼 다음은?</h4>
-<p>If you had difficulty understanding this page, or if you have other comments about it, please contribute to its <a>Discussion</a> page.</p>
-<p>이 문서에서, 사각형(square)과 버튼은 독립적인 HTML 문서내에서 작동하는
- <i>
- 위젯(widget)</i>
- 이 되었습니다. 모질라는 사용자 인터페이스를 만들어내는 데 특별한 마크업 언어를 가지고 있습니다. 다음 페이지에서는 이것을 실행해 봅니다: <b><a href="ko/CSS/Getting_Started/XUL_user_interfaces">XUL user interfaces</a></b></p>
-<p>{{ languages( { "fr": "fr/CSS/Premiers_pas/Liaisons_XBL", "pl": "pl/CSS/Na_pocz\u0105tek/Wi\u0105zania_XBL" } ) }}</p>
diff --git a/files/ko/web/css/getting_started/xml_data/index.html b/files/ko/web/css/getting_started/xml_data/index.html
deleted file mode 100644
index fc674a29e4..0000000000
--- a/files/ko/web/css/getting_started/xml_data/index.html
+++ /dev/null
@@ -1,186 +0,0 @@
----
-title: XML data
-slug: Web/CSS/Getting_Started/XML_data
-tags:
- - 'CSS:Getting_Started'
-translation_of: Archive/Beginner_tutorials/XML_data
----
-<p>이 페이지는 XML 데이터와 함께 CSS를 사용할 수 있는 방법에 대한 예제들을 담고 있습니다.
-</p><p>샘플 XML 문서와 이 문서를 브라우저에 디스플레이할 때 사용할 수 있는 스타일 시트를 만듭니다.
-</p>
-<h3 id=".EC.A0.95.EB.B3.B4:_XML_.EB.8D.B0.EC.9D.B4.ED.84.B0" name=".EC.A0.95.EB.B3.B4:_XML_.EB.8D.B0.EC.9D.B4.ED.84.B0"> 정보: XML 데이터 </h3>
-<p><i><a href="ko/XML">XML</a></i>(확장 마크업 언어, eXtensible Markup Lanugage)는 모든 종류의 구조화 된 데이터를 위한 범용(general-purpose) 언어입니다.
-</p><p>디폴트로, 모질라 브라우저는 XML을 XML파일의 원래 데이터와 매우 유사한 포맷으로 디스플레이합니다.
-데이터의 구조를 정의하는 실제 택들을 볼 수 있습니다.
-</p><p>CSS 스타일 시트를 XML 문서와 링크함으로써, 이를 디스플레이하는 다른 방식을 정의할 수 있습니다.
-이를 위해, 스타일 시트는 XML 문서의 택들과 HTML에 의해 사용되는 디스플레이 유형들(types)에 매핑(map)시키는 규칙들을 사용합니다.
-</p>
-<table style="border: 1px solid #36b; padding: 1em; background-color: #fffff4; margin-bottom: 1em;">
-<caption>Example
-</caption><tbody><tr>
-<td> XML 문서의 데이터는 <code>html:input</code> 택들을 사용합니다. 문서의 <small>INFO</small> 엘리먼트들이 HTML 단락처럼 디스플레이 되기 원한다고 가정합시다.
-<p>문서의 스타일 시트에 <small>INFO</small>엘리먼트가 어떻게 디스플레이 될 것인지 지정합니다:
-</p>
-<div style="width: 30em;">
-<pre class="eval">INFO {
- display: block;
- margin: 1em 0;
- }
-</pre>
-</div>
-</td></tr></tbody></table>
-<p>가장 흔한 <code>display</code> 속성 값은 다음과 같습니다:
-</p>
-<table style="margin-left: 2em;">
-<tbody><tr>
-<td style="padding-right: 2em;"><code>block</code></td><td>HTML의 <small>DIV</small>처럼 나타남 (머리글, 문단 등)
-</td></tr>
-<tr>
-<td><code>inline</code></td><td>HTML의 <small>SPAN</small>처럼 나타남 (문서의 강조)
-</td></tr></tbody></table>
-<p>HTML에서와 같은 방식으로 폰트, 스페이싱(spacing) 그리고 다른 세부사항들을 지정하는 자기 자신의 스타일 규칙을 더하세요.
-</p>
-<table style="border: 1px solid #36b; padding: 1em; background-color: #f4f4f4; margin-bottom: 1em;">
-<caption>More details
-</caption><tbody><tr>
-<td> <code>display</code>의 다른 값들은 그 엘리먼트를 리스트 아이템 처럼 , 또는 표의 컴포넌트(component) 처럼 디스플레이 합니다.
-<p>디스플레이 유형들(types)의 완전한 리스트를 원하시면, CSS 규약의 <a class="external" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-display">The display property</a>을 보세요.
-</p><p>CSS 만을 사용하면, 디스플레이의 구조가 문서의 구조와 똑 같을 것입니다.
-다른 기술을 사용해서 디스플레이 구조를 수정할 수 있습니다 — 예를 들면, XBL로 내용물을 더할 수 있으며 자바스크립트로 DOM을 수정할 수 있습니다.
-</p><p>모질라에서의 XML에 관해서 더 많은 정보를 원하시면, 이 위키의 <a href="ko/XML">XML</a> 페이지를 보세요.
-</p>
-</td></tr></tbody></table>
-<h3 id=".EC.95.A1.EC.85.98:_XML_.EC.98.88.EC.A0.9C" name=".EC.95.A1.EC.85.98:_XML_.EC.98.88.EC.A0.9C"> 액션: XML 예제 </h3>
-<p>새로운 XML 문서를 텍스트 파일 <code>doc9.xml</code>로 만드세요.
-아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요:
-</p>
-<div style="width: 48em; height: 12em; overflow: auto;"><pre>&lt;?xml version="1.0"?&gt;
-&lt;!-- XML demonstration --&gt;
-
-&lt;?xml-stylesheet type="text/css" href="style9.css"?&gt;
-
-&lt;!DOCTYPE planet&gt;
-&lt;planet&gt;
-
-&lt;ocean&gt;
-&lt;name&gt;Arctic&lt;/name&gt;
-&lt;area&gt;13,000&lt;/area&gt;
-&lt;depth&gt;1,200&lt;/depth&gt;
-&lt;/ocean&gt;
-
-&lt;ocean&gt;
-&lt;name&gt;Atlantic&lt;/name&gt;
-&lt;area&gt;87,000&lt;/area&gt;
-&lt;depth&gt;3,900&lt;/depth&gt;
-&lt;/ocean&gt;
-
-&lt;ocean&gt;
-&lt;name&gt;Pacific&lt;/name&gt;
-&lt;area&gt;180,000&lt;/area&gt;
-&lt;depth&gt;4,000&lt;/depth&gt;
-&lt;/ocean&gt;
-
-&lt;ocean&gt;
-&lt;name&gt;Indian&lt;/name&gt;
-&lt;area&gt;75,000&lt;/area&gt;
-&lt;depth&gt;3,900&lt;/depth&gt;
-&lt;/ocean&gt;
-
-&lt;ocean&gt;
-&lt;name&gt;Southern&lt;/name&gt;
-&lt;area&gt;20,000&lt;/area&gt;
-&lt;depth&gt;4,500&lt;/depth&gt;
-&lt;/ocean&gt;
-
-&lt;/planet&gt;
-</pre></div>
-<p>새로운 CSS 문서를 텍스트 파일 <code>style9.css</code>로 만드세요.
-아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요:
-</p>
-<div style="width: 48em; height: 12em; overflow: auto;"><pre>/*** XML demonstration ***/
-
-planet:before {
- display: block;
- width: 8em;
- font-weight: bold;
- font-size: 200%;
- content: "Oceans";
- margin: -.75em 0px .25em -.25em;
- padding: .1em .25em;
- background-color: #cdf;
- }
-
-planet {
- display: block;
- margin: 2em 1em;
- border: 4px solid #cdf;
- padding: 0px 1em;
- background-color: white;
- }
-
-ocean {
- display: block;
- margin-bottom: 1em;
- }
-
-name {
- display: block;
- font-weight: bold;
- font-size: 150%;
- }
-
-area {
- display: block;
- }
-
-area:before {
- content: "Area: ";
- }
-
-area:after {
- content: " million km\B2";
- }
-
-depth {
- display: block;
- }
-
-depth:before {
- content: "Mean depth: ";
- }
-
-depth:after {
- content: " m";
- }
-</pre></div>
-<p>브라우저에서 문서를 여세요:
-</p>
-<table style="border: 2px outset #36b; padding: 1em;">
-<tbody><tr>
-<td><div style="border: 2px solid #cdf; border-bottom: none; padding: .5em 8em 1em .5em;">
-<p style="font-size: 150%; font-weight: bold; margin: -1em 0px 0px 0px; padding: .1em .25em; background-color: #cdf; width: 8em;">Oceans</p>
-<p style="font-size: 75%; margin: .25em 0px 0px 0px; line-height: 110%;"><b>Arctic</b><br>
-Area: 13,000 million km²<br>
-Mean depth: 1,200 m</p>
-<p style="font-size: 75%; margin: .5em 0px 0px 0px; line-height: 110%;"><b>Atlantic</b><br>
-Area: 87,000 million km²<br>
-Mean depth: 3,900 m</p>
-<p style="font-size: 75%; margin: .5em 0px 0px 0px; line-height: 110%;"><b>. . .</b></p>
-</div>
-</td></tr></tbody></table>
-<p>이 예제에서 주의할 점:
-</p>
-<ul><li>수퍼스크립트(superscript) 2 ("million km²" 에 있는)는 CSS파일에 <code>\B2</code>로 코딩되어있는 유니코드(Unicode) 문자입니다.
-</li><li>헤딩(heading) "Oceans"는 음수인 상단 마진(negative top margin)을 갖고 있어 보더의 상단에 디스플레이 되도록 위쪽으로 이동 됩니다.
-</li></ul>
-<table style="border: 1px solid #36b; padding: 1em; background-color: #fffff4; margin-bottom: 1em;">
-<caption>Challenge
-</caption><tbody><tr>
-<td> 스타일 시트를 변경해서 문서를 표로 디스플레이하게 하세요.
-<p>(수정할 예문들을 원하시면, CSS 규약의 <a class="external" href="http://www.w3.org/TR/CSS21/tables.html">Tables</a> 챕터를 보세요.) </p>
-</td></tr></tbody></table>
-<h4 id=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80" name=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80"> 그럼 다음은 </h4>
-<p>이 페이지를 이해하기 어렵거나 다른 코멘트가 있다면 <a>Discussion</a>에 기여하세요.
-</p><p>이 페이지는 입문서의 마지막 페이지입니다.
-모질라에서의 CSS에 관한 더 많은 정보를 원하시면, 이 위키의 <a href="ko/CSS">CSS</a> 메인 페이지(main page)를 보세요.
-</p>{{ languages( { "en": "en/CSS/Getting_Started/XML_data", "fr": "fr/CSS/Premiers_pas/Donn\u00e9es_XML", "pl": "pl/CSS/Na_pocz\u0105tek/Dane_XML", "pt": "pt/CSS/Como_come\u00e7ar/Dados_XML" } ) }}
diff --git a/files/ko/web/css/getting_started/xul_user_interfaces/index.html b/files/ko/web/css/getting_started/xul_user_interfaces/index.html
deleted file mode 100644
index cd08f23579..0000000000
--- a/files/ko/web/css/getting_started/xul_user_interfaces/index.html
+++ /dev/null
@@ -1,315 +0,0 @@
----
-title: XUL user interfaces
-slug: Web/CSS/Getting_Started/XUL_user_interfaces
-tags:
- - 'CSS:Getting_Started'
-translation_of: Archive/Beginner_tutorials/XUL_user_interfaces
----
-<p>이 페이지는 사용자 인터페이스를 만드는 모질라의 특별한 언어를 설명합니다.</p>
-<p>모질라 브라우저에서 작동하는 간단한 예제를 만들어봅니다.</p>
-<h3 id=".EC.A0.95.EB.B3.B4:_.EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4" name=".EC.A0.95.EB.B3.B4:_.EC.82.AC.EC.9A.A9.EC.9E.90_.EC.9D.B8.ED.84.B0.ED.8E.98.EC.9D.B4.EC.8A.A4">정보: 사용자 인터페이스</h3>
-<p>HTML가 사용자 인터페이스에 대한 지원를 하고 있으나, 하나의 독립적인 애플리케이션을 만드는데 필요한 모든 기능을 지원하고 있지는 못합니다.</p>
-<p>모질라는 사용자 인터페이스를 만드는 특별한 언어를 제공함으로써 이런 제한사항을 극복하고 있습니다: 이 언어가 바로
- <i>
- XUL</i>
- 입니다. (XML 사용자-인터페이스 언어(XML User-interface Language)로서 보통 "
- <i>
- 줄(zool)</i>
- "라고 읽습니다.)</p>
-<p>XUL에는 많은 흔히사용되는 사용자 인터페이스가 내장되어 있습니다. 예를 들면, XUL은 대화창(dialogue), 위저드(wizard) 같은 특별한 윈도우들 뿐만아니라 상태 바(status bar), 메뉴, 툴 바(tool bar), 그리고 브라우저까지 제공합니다.</p>
-<p>더 많은 특화된 기능들은 이 입문서에서 보아 온 다른 기술들(CSS 스타일, 자바스크립트 코드 그리고 XBL 바인딩)과 함께 XUL을 사용함으로써 만들어 낼 수 있습니다.</p>
-<p>다른 XML-기반 언어들과 같이, XUL은 CSS 스타일 시트를 사용합니다.</p>
-<table style="border: 1px solid #36b; padding: 1em; background-color: #f4f4f4; margin-bottom: 1em; width: 100%;">
- <caption>
- More details</caption>
- <tbody>
- <tr>
- <td>XUL 사용자 인터페이스에 관한 더 많은 정보를 원하시면, 이 위키의 <a href="ko/XUL">XUL</a> 페이지를 보세요.</td>
- </tr>
- </tbody>
-</table>
-<h3 id=".EC.95.A1.EC.85.98:_XUL_.EC.98.88.EC.A0.9C" name=".EC.95.A1.EC.85.98:_XUL_.EC.98.88.EC.A0.9C">액션: XUL 예제</h3>
-<p>새로운 XUL 문서를 텍스트 파일 <code>doc7.xul</code>로 만드세요. 아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요:</p>
-<div style="width: 48em; height: 12em; overflow: auto;">
- <pre>&lt;?xml version="1.0"?&gt;
-&lt;?xml-stylesheet type="text/css" href="style7.css"?&gt;
-&lt;!DOCTYPE window&gt;
-
-&lt;window
- xmlns="http&amp;58;//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- title="CSS Getting Started - XUL demonstration"
- onload="init();"&gt;
-
-&lt;script type="application/x-javascript" src="script7.js"/&gt;
-
-&lt;label class="head-1" value="XUL demonstration"/&gt;
-
-&lt;vbox&gt;
-
- &lt;groupbox class="demo-group"&gt;
- &lt;caption label="Day of week calculator"/&gt;
- &lt;grid&gt;
- &lt;columns&gt;
- &lt;column/&gt;
- &lt;column/&gt;
- &lt;/columns&gt;
- &lt;rows&gt;
- &lt;row&gt;
- &lt;label class="text-prompt" value="Date:"
- accesskey="D" control="date-text"/&gt;
- &lt;textbox id="date-text" type="timed"
- timeout="750" oncommand="refresh();"/&gt;
- &lt;/row&gt;
- &lt;row&gt;
- &lt;label value="Day:"/&gt;
- &lt;hbox id="day-box"&gt;
- &lt;label class="day" value="Sunday" disabled="true"/&gt;
- &lt;label class="day" value="Monday" disabled="true"/&gt;
- &lt;label class="day" value="Tuesday" disabled="true"/&gt;
- &lt;label class="day" value="Wednesday" disabled="true"/&gt;
- &lt;label class="day" value="Thursday" disabled="true"/&gt;
- &lt;label class="day" value="Friday" disabled="true"/&gt;
- &lt;label class="day" value="Saturday" disabled="true"/&gt;
- &lt;/hbox&gt;
- &lt;/row&gt;
- &lt;/rows&gt;
- &lt;/grid&gt;
- &lt;hbox class="buttons"&gt;
- &lt;button id="clear" label="Clear" accesskey="C"
- oncommand="clearDate();"/&gt;
- &lt;button id="today" label="Today" accesskey="T"
- oncommand="setToday();"/&gt;
- &lt;/hbox&gt;
- &lt;/groupbox&gt;
-
- &lt;statusbar&gt;
- &lt;statusbarpanel id="status"/&gt;
- &lt;/statusbar&gt;
-
-&lt;/vbox&gt;
-
-&lt;/window&gt;
-</pre>
-</div>
-<p>새로운 CSS 파일 <code>style7.css</code>을 만드세요. 아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요:</p>
-<div style="width: 48em; height: 12em; overflow: auto;">
- <pre>/*** XUL demonstration ***/
-window {
- -moz-box-align: start;
- background-color: -moz-dialog;
- font: -moz-dialog;
- padding: 2em;
- }
-
-.head-1 {
- font-weight: bold;
- font-size: 200%;
- padding-left: 5px;
- }
-
-
-/* the group box */
-.demo-group {
- padding: 1em;
- }
-
-.demo-group grid {
- margin-bottom: 1em;
- }
-
-.demo-group column {
- margin-right: .5em;
- }
-
-.demo-group row {
- margin-bottom: .5em;
- }
-
-.demo-group .buttons {
- -moz-box-pack: end;
- }
-
-
-/* the day-of-week labels */
-.day {
- margin-left: 1em;
- }
-
-.day[disabled] {
- color: #777;
- }
-
-.day:first-child {
- margin-left: 4px;
- }
-
-
-/* the left column labels */
-.text-prompt {
- padding-top: .25em;
- }
-
-
-/* the date input box */
-#date-text {
- max-width: 8em;
- }
-
-
-/* the status bar */
-statusbar {
- width: 100%;
- border: 1px inset -moz-dialog;
- margin: 4px;
- padding: 0px 4px;
- }
-
-#status {
- padding: 4px;
- }
-
-#status[warning] {
- color: red;
- }
-</pre>
-</div>
-<p>새로운 텍스트 파일 <code>script7.js</code>을 만드세요. 아래의 내용물을 복사해서 붙여넣되 스크롤해서 전체를 다 넣을 수 있도록 하세요:</p>
-<div style="width: 48em; height: 12em; overflow: auto;">
- <pre>// XUL demonstration
-
-var dateBox, dayBox, currentDay, status; // elements
-
-// called by window onLoad
-function init() {
- dateBox = document.getElementById("date-text")
- dayBox = document.getElementById("day-box")
- status = document.getElementById("status")
- setToday();
- }
-
-// called by Clear button
-function clearDate() {
- dateBox.value = ""
- refresh()
- }
-
-// called by Today button
-function setToday() {
- var d = new Date()
- dateBox.value = (d.getMonth() + 1)
- + "/" + d.getDate()
- + "/" + d.getFullYear()
- refresh()
- }
-
-// called by Date textbox
-function refresh() {
- var d = dateBox.value
- var theDate = null
-
- showStatus(null)
- if (d != "") {
- try {
- var a = d.split("/")
- var theDate = new Date(a[2], a[0] - 1, a[1])
- showStatus(theDate)
- }
- catch (ex) {}
- }
- setDay(theDate)
- }
-
-// internal
-function setDay(aDate) {
- if (currentDay) currentDay.setAttribute("disabled", "true")
- if (aDate == null) currentDay = null
- else {
- var d = aDate.getDay()
- currentDay = dayBox.firstChild
- while (d-- &gt; 0) currentDay = currentDay.nextSibling
- currentDay.removeAttribute("disabled")
- }
- dateBox.focus();
- }
-
-function showStatus(aDate) {
- if (aDate == null) {
- status.removeAttribute("warning")
- status.setAttribute("label", "")
- }
- else if (aDate === false || isNaN(aDate.getTime())) {
- status.setAttribute("warning", "true")
- status.setAttribute("label", "Date is not valid")
- }
- else {
- status.removeAttribute("warning")
- status.setAttribute("label", aDate.toLocaleDateString())
- }
- }
-</pre>
-</div>
-<p>정확히 의도하신대로 결과를 보고 싶으시면, 브라우저의 디폴트 씸(default theme)을 사용하세요. 다른 씸(theme)을 사용하고 계시면, 씸이 몇가지 사용자 인터페이스 스타일을 변경해서 예제가 좀 이상하게 보일 수 도 있습니다.</p>
-<p>브라우저에서 문서를 열고 인터페이스를 사용하세요.</p>
-<p>이 위키페이지는 XUL과 자바스크립트를 지원하지 않습니다. 따라서 예제가 어떻게 실행되는 지 보여드릴 수 없습니다.</p>
-<p>다음과 같이 보입니다:</p>
-<table style="border: 2px outset #36b; background-color: threedface; padding: 1em; cursor: default; white-space: nowrap; margin: .5em 0;">
- <tbody>
- <tr>
- <td>
- <p style="font-size: 150%; font-weight: bold; margin: 0; padding: 0;">XUL demonstration</p>
- <div style="position: relative; border: 2px groove threedhighlight; margin-top: 1em;">
- <p style="float: left; margin: -1em 0 0 .5em; padding: 0; background-color: threedface;">Day of week calculator</p>
- <table style="background-color: threedface; margin: .5em; padding-right: .5em;">
- <tbody>
- <tr>
- <td style="padding-right: .5em;"><u>D</u>ate:</td>
- <td style="background-color: white; border: 1px solid #000; width: 8em; float: left; cursor: text; padding: .15em .25em;">6/27/2005</td>
- </tr>
- <tr>
- <td>Day:</td>
- <td style="color: graytext;">Sunday <span style="color: #000;">Monday</span> Tuesday Wednesday Thurdsay Friday Saturday</td>
- </tr>
- <tr>
- <td> </td>
- <td>
- <div style="float: right; margin-top: .5em;">
- <p><span style="border: 2px outset threedface; padding: .25em 1em;"><u>C</u>lear</span> <span style="border: 2px outset threedface; padding: .25em 1em;"><u>T</u>oday</span></p>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div style="border: 1px inset threedface; margin-top: 1em;">
- <p style="margin: 0; padding: .25em .5em;">June 27, 2005</p>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-<p>이 예제에서 주의할 점:</p>
-<ul>
- <li>XUL문서는 이전처럼 스타일 시트에 링크되어 있으며, 스크립트에도 링크되어 있습니다.</li>
- <li>스크립트는 이 예제에서 중요하지 않습니다.</li>
- <li>보게되는 대부분의 스타일은 브라우저의 씸(theme)에의해서 정해집니다.</li>
-</ul>
-<p>문서의 스타일 시트를 잘 검토해서 그안의 모든 규칙들을 확실히 이해하도록 하세요. 이해하지 못하는 규칙이 있으면, 코멘트 아웃(comment out)한 다음 브라우저를 리프레쉬해서 문서에 나타나는 효과를 보도록 하세요.</p>
-<table style="border: 1px solid #36b; padding: 1em; background-color: #fffff4; margin-bottom: 1em;">
- <caption>
- Challenge</caption>
- <tbody>
- <tr>
- <td>DOM 조사 도구(DOM Inspector tool)을 사용해서 Date textbox를 검사하세요. Date textbox는 XBL 바인딩으로 만들어진 다른 엘리먼트들로 이루어져 있습니다.
- <p><code>html:input</code> 엘리먼트의
- <i>
- 클래스</i>
- 를 찾아내세요. 이 엘리먼트가 실질적으로 샤용자 입력을 받고 있습니다.</p>
- <p>이 지식을 이용해서, 스타일 시트에 규칙을 하나 더해서 Date box가 키보드 포거스를 가지게 될때 배경색이 희미한 푸른색으로 되게 하세요.(그러나 키보드 포커스가 다른 데 있을 경우 힌색이 되게 하세요.)</p>
- </td>
- </tr>
- </tbody>
-</table>
-<h4 id=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80.3F" name=".EA.B7.B8.EB.9F.BC_.EB.8B.A4.EC.9D.8C.EC.9D.80.3F">그럼 다음은?</h4>
-<p>If you had difficulty understanding this page, or if you have other comments about it, please contribute to its <a>Discussion</a> page.</p>
-<p>이 예제에서 대부분의 사용자 인터페이스에 공통적으로 사용되는 표준적인 사각형 도형들을 보았습니다. 모질라는 스타일을 지정하는 CSS스타일 시트를 이용하여 도형을 만들어내는 쓰는 특별한 그래픽 언어도 지원하고 있습니다. 다음 페이지에서는 이것을 실행해 봅니다: <b><a href="ko/CSS/Getting_Started/SVG_graphics">SVG graphics</a></b></p>
-<p>{{ languages( { "fr": "fr/CSS/Premiers_pas/Interfaces_utilisateur_XUL", "pl": "pl/CSS/Na_pocz\u0105tek/XUL-owe_interfejsy_u\u017cytkownika" } ) }}</p>
diff --git a/files/ko/web/events/chargingchange/index.html b/files/ko/web/events/chargingchange/index.html
deleted file mode 100644
index e957315849..0000000000
--- a/files/ko/web/events/chargingchange/index.html
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: chargingchange
-slug: Web/Events/chargingchange
-tags:
- - Event
- - events
-translation_of: Archive/Events/chargingchange
----
-<p><code>chargingchange</code> 이벤트<code>는 </code><a href="/en-US/docs/DOM/window.navigator.battery">battery API</a> 의 <code>charging 속성이 변할때 발생 합니다.</code></p>
-
-<h2 id="기본_정보">기본 정보</h2>
-
-<dl>
- <dt style="float: left; text-align: right; width: 120px;">Specification</dt>
- <dd style="margin: 0 0 0 120px;"><a class="external" href="https://dvcs.w3.org/hg/dap/raw-file/tip/battery/Overview.html">Battery</a></dd>
- <dt style="float: left; text-align: right; width: 120px;">Interface</dt>
- <dd style="margin: 0 0 0 120px;">Event</dd>
- <dt style="float: left; text-align: right; width: 120px;">Bubbles</dt>
- <dd style="margin: 0 0 0 120px;">No</dd>
- <dt style="float: left; text-align: right; width: 120px;">Cancelable</dt>
- <dd style="margin: 0 0 0 120px;">No</dd>
- <dt style="float: left; text-align: right; width: 120px;">Target</dt>
- <dd style="margin: 0 0 0 120px;"><code>navigator.battery</code></dd>
- <dt style="float: left; text-align: right; width: 120px;">Default Action</dt>
- <dd style="margin: 0 0 0 120px;">None</dd>
-</dl>
-
-<h2 id="Properties" name="Properties">Properties</h2>
-
-<p>The event callback doesn't receive any event objects, but properties can be read from the {{domxref("BatteryManager")}} object received from the {{domxref("navigator.getBattery")}} method.</p>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <td class="header">Property</td>
- <td class="header">Type</td>
- <td class="header">Description</td>
- </tr>
- <tr>
- <td>{{domxref("BatteryManager.charging")}}</td>
- <td>boolean</td>
- <td>The system's battery charging status. Returns <code>true</code> if the battery is charging, if the state of the system's battery is not determinable, or if no battery is attached to the system. Returns <code>false</code> if the battery is discharging. Read only.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Example" name="Example">Example</h2>
-
-<pre class="brush: js">navigator.getBattery().then(function(battery) {
-
- console.log("Battery charging? " + battery.charging ? "Yes" : "No");
-
- battery.addEventListener('chargingchange', function() {
- console.log("Battery charging? " + battery.charging ? "Yes" : "No");
- });
-
-});
-</pre>
-
-<h2 id="관계_된_이벤트">관계 된 이벤트</h2>
-
-<ul>
- <li>{{Event("chargingtimechange")}}</li>
- <li>{{Event("dischargingtimechange")}}</li>
- <li>{{Event("levelchange")}}</li>
-</ul>
diff --git a/files/ko/web/events/domsubtreemodified/index.html b/files/ko/web/events/domsubtreemodified/index.html
deleted file mode 100644
index b40ee6b069..0000000000
--- a/files/ko/web/events/domsubtreemodified/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: DOMSubtreeModified
-slug: Web/Events/DOMSubtreeModified
-translation_of: Archive/Events/DOMSubtreeModified
----
-<p>{{ draft() }}</p>
-
-<h3 id="Example" name="Example">예제</h3>
-
-<p>아래 코드는 마지막으로 DOM 이 변경된 시간을 페이지의 title 에 표시합니다.</p>
-
-<div class="warning">해당 이벤트 핸들러 안에서 DOM 을 변경할 경우 무한 루프에 빠지기 쉬우므로 매우 신중해야 합니다.</div>
-
-<pre class="brush: js">document.body.addEventListener('DOMSubtreeModified', function () {
-  document.title = 'DOM Changed at ' + new Date();
-}, false);
-</pre>
diff --git a/files/ko/web/javascript/new_in_javascript/1.5/index.html b/files/ko/web/javascript/new_in_javascript/1.5/index.html
deleted file mode 100644
index a34931d815..0000000000
--- a/files/ko/web/javascript/new_in_javascript/1.5/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title: New in JavaScript 1.5
-slug: Web/JavaScript/New_in_JavaScript/1.5
-translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.5
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>다음은 JavaScript 1.5의 변경 내역입니다. 이 버전은 2000년 11월 14일에 출시된 Netscape Navigator 6.0과 그 이 후 버전 그리고 Firefox 1.0에 포함되어 있습니다. You can compare JavaScript 1.5 to JScript version 5.5 and Internet Explorer 5.5, which was released in July 2000. 해당하는 ECMA 표준은 ECMA-262 Edition 3(1999년 12월 이후) 입니디.</p>
-
-<h2 id="New_features_in_JavaScript_1.5">New features in JavaScript 1.5</h2>
-
-<ul>
- <li>{{jsxref("Number.prototype.toExponential()")}}</li>
- <li>{{jsxref("Number.prototype.toFixed()")}}</li>
- <li>{{jsxref("Number.prototype.toPrecision()")}}</li>
- <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/const">const</a></code> is now a <code><a href="/en-US/docs/Web/JavaScript/Reference/Reserved_Words">reserved word</a></code>.</li>
- <li>Multiple catch clauses in a <a href="/en-US/docs/Web/JavaScript/Reference/Statements/try...catch"><code>try...catch</code></a> statement are supported.</li>
- <li>JavaScript authors can now add getters and setters to their objects.</li>
-</ul>
-
-<h2 id="Changed_functionality_in_JavaScript_1.5">Changed functionality in JavaScript 1.5</h2>
-
-<ul>
- <li>Runtime errors are now reported as exceptions.</li>
- <li>Regular Expression changes:
- <ul>
- <li>Quantifiers — +, *, ? and {} — can now be followed by a ? to force them to be non-greedy.</li>
- <li>Non-capturing parentheses, (?:x) can be used instead of capturing parentheses, (x). When non-capturing parentheses are used, matched subexpressions are not available as back-references.</li>
- <li>Positive and negative lookahead assertions are supported. Both assert a match depending on what follows the string being matched.</li>
- <li>The m flag has been added to specify that the regular expression should match over multiple lines.</li>
- </ul>
- </li>
- <li>Functions can now be declared inside an if clause.</li>
- <li>
- <p>Functions can now be declared inside an expression.</p>
- </li>
-</ul>
diff --git a/files/ko/web/javascript/new_in_javascript/1.6/index.html b/files/ko/web/javascript/new_in_javascript/1.6/index.html
deleted file mode 100644
index db92810578..0000000000
--- a/files/ko/web/javascript/new_in_javascript/1.6/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: New in JavaScript 1.6
-slug: Web/JavaScript/New_in_JavaScript/1.6
-tags:
- - E4X
- - JavaScript
- - JavaScript_version_overviews
-translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.6
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>JavaScript 1.6 여러 새 기능(E4X, 여러 새 <code>Array</code> 메소드, Array과 String generic)을 소개합니다.</p>
-
-<p>JavaScript 1.6은 <a href="ko/Firefox_1.5">Firefox 1.5</a>와 이후 버전에서 지원합니다.</p>
-
-<h3 id="E4X" name="E4X">E4X</h3>
-
-<p>ECMAScript for XML (<a>E4X</a>)는 <a href="ko/JavaScript">JavaScript</a> 안의 <a href="ko/XML">XML</a> 컨텐트를 만들고 처리하는 강력한 기술입니다. 우리는 기존 <a href="ko/DOM">DOM</a>과의 transparent한 통합 추가를 포함하는 E4X 지원 향상을 계속할 예정이지만 XML 기반 웹 응용프로그램을 만드는(build) 개발자는 Firefox 1.5의 E4X 지원에서 이득을 얻을 수 있습니다.</p>
-
-<p>아직은 E4X를 쓸 때 표준 MIME 형을 쓸 수 있습니다.</p>
-
-<pre>&lt;script type="text/javascript"&gt;
-</pre>
-
-<p>그러나, E4X 구문이 옛날 브라우저에서 그것을 숨기기 위해 HTML 주석 (<code><span class="nowiki">&lt;!--...--&gt;</span></code>)에 스크립트를 넣는 흔한 관례(practice)와 충돌할지도 모릅니다. E4X 또한 스크립트에 기호 "&lt;"와 "&gt;"를 허용하는 XML CDATA 절 (<code>&lt;![CDATA{{ mediawiki.external('...') }}]&gt;</code>) 에 스크립트를 놓는 더 현대식 관례와 충돌할지도 모릅니다(이는 HTML에는 적용되지 않음을 주의하세요). 만약 설명할 수 없는 구문 에러를 보면, MIME 형에 "; e4x=1"를 보태세요.</p>
-
-<pre>&lt;script type="text/javascript; e4x=1"&gt;
-</pre>
-
-<p>확장기능의 스크립트는 항상 HTML 주석을 E4X 상수(literal)로 다룸을 주의하세요. 즉, "e4x=1"을 묵시(implicit)로 적용합니다.</p>
-
-<p>E4X는 <a href="ko/Core_JavaScript_1.5_Guide/Processing_XML_with_E4X">Processing XML with E4X</a>에서 설명합니다.</p>
-
-<h3 id="Array_.EC.B6.94.EA.B0.80.EB.B6.84" name="Array_.EC.B6.94.EA.B0.80.EB.B6.84">Array 추가분</h3>
-
-<p>두 갈래(item location 메소드와 iterative 메소드)로 구분할 수 있는 7가지 새 <code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array">Array</a></code> 메소드가 있습니다. item location 메소드는</p>
-
-<ul>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/indexOf">indexOf()</a></code> - 주어진 item의 맨 처음 출현(occurrence) 인덱스를 반환합니다.</li>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/lastIndexOf">lastIndexOf()</a></code> - 주어진 item의 맨 마지막 출현 인덱스를 반환합니다.</li>
-</ul>
-
-<p>iterative 메소드는</p>
-
-<ul>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/every">every()</a></code> - 함수가 참을 반환하는 동안 배열의 항목들에 함수를 돌립니다. 만약 함수가 방문할 수 있는 모든 항목에 대해 참을 반환하면 참을 반환합니다.</li>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/filter">filter()</a></code> - 배열의 각 항목에 함수를 돌리고 함수가 참을 반환하는 모든 항목의 배열을 반환합니다.</li>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/forEach">forEach()</a></code> - 배열의 모든 항목에 함수를 돌립니다.</li>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/map">map()</a></code> - 배열의 모든 항목에 함수를 돌리고 배열에 결과를 반환합니다.</li>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/some">some()</a></code> - 함수가 거짓을 반환하는 동안 배열의 항목들에 함수를 돌립니다. 만약 함수가 방문할 수 있는 어떤 항목에 참을 반환하면 참을 반환합니다.</li>
-</ul>
-
-<p>더 자세한 정보는 <a href="ko/Core_JavaScript_1.5_Guide/Working_with_Arrays#Introduced_in_JavaScript_1.6">Working with Arrays</a>나 Nicholas C. Zakas의 기사 <a class="external" href="http://www.webreference.com/programming/javascript/ncz/column4/index.html">Mozilla's New Array Methods</a>를 보세요.</p>
-
-<h3 id="Array.EC.99.80_String_generic" name="Array.EC.99.80_String_generic">Array와 String generic</h3>
-
-<p>간혹 배열 메소드를 문자열에 쓰고 싶습니다. 이리하여, 문자열을 문자 배열로 다룹니다. 예를 들어, 변수 <var>str</var>의 모든 문자(character)가 문자(letter)인지 검사하기 위해, 당신은 작성합니다.</p>
-
-<pre>function isLetter(character) {
- return (character &gt;= "a" &amp;&amp; character &lt;= "z");
-}
-
-if (Array.prototype.every.call(str, isLetter))
- alert("The string '" + str + "' contains only letters!");
-</pre>
-
-<p>이 표기(notation)는 약간 낭비라서 JavaScript 1.6은 generic 속기(shorthand)를 도입합니다.</p>
-
-<pre>if (Array.every(str, isLetter))
- alert("The string '" + str + "' contains only letters!");
-</pre>
-
-<p>비슷하게 문자열 메소드를 어느 개체든지 쉽게 적용할 수 있습니다.</p>
-
-<pre>var num = 15;
-alert(String.replace(num, /5/, '2'));
-</pre>
-
-<h3 id=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0" name=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0">같이 보기</h3>
-
-<p><a href="ko/Core_JavaScript_1.5_Guide/Working_with_Arrays#Working_with_Array-like_objects">Working with Array-like objects</a>.</p>
-
-<div class="noinclude"> </div>
-
-<p>{{ languages( { "en": "en/New_in_JavaScript_1.6", "es": "es/Novedades_en_JavaScript_1.6", "fr": "fr/Nouveaut\u00e9s_dans_JavaScript_1.6", "ja": "ja/New_in_JavaScript_1.6", "pl": "pl/Nowo\u015bci_w_JavaScript_1.6", "ru": "ru/\u041d\u043e\u0432\u043e\u0435_\u0432_JavaScript_1.6", "zh-cn": "cn/New_in_JavaScript_1.6" } ) }}</p>
diff --git a/files/ko/web/javascript/new_in_javascript/1.8.1/index.html b/files/ko/web/javascript/new_in_javascript/1.8.1/index.html
deleted file mode 100644
index 2a50e35cf7..0000000000
--- a/files/ko/web/javascript/new_in_javascript/1.8.1/index.html
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: New in JavaScript 1.8.1
-slug: Web/JavaScript/New_in_JavaScript/1.8.1
-translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8.1
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>다음은  JavaScript 1.8.1의 변경사항입니다. <a href="/en-US/Firefox/Releases/3.5">Firefox 3.5</a> 버전에 포함되었습니다.</p>
-
-<p>JavaScript 1.8.1는 약간의 문법적인 업데이트가 있습니다. 이번 릴리즈의 주요 변경사항은 <a href="/en-US/docs/SpiderMonkey/Internals/Tracing_JIT" title="SpiderMonkey/Internals/Tracing JIT">Tracemonkey just-in-time compiler</a>(성능적인 향상이 포함된 릴리즈입니다)의 추가되어있습니다</p>
-
-<h2 id="JavaScript_1.8.1의_새로운_특징">JavaScript 1.8.1의 새로운 특징</h2>
-
-<ul>
- <li>{{jsxref("Object.getPrototypeOf()")}}</li>
- <li><a href="/en-US/docs/Web/JavaScript/Guide/Using_native_JSON">Support for native JSON</a></li>
- <li>{{jsxref("String.prototype.trim()")}}</li>
- <li>{{jsxref("String.prototype.trimLeft()")}}</li>
- <li>{{jsxref("String.prototype.trimRight()")}}</li>
-</ul>
-
-<h2 id="JavaScript_1.8.1에서_변경된_기능">JavaScript 1.8.1에서 변경된 기능</h2>
-
-<ul>
- <li>객체 및 배열 initializer에서 속성의 암시적 설정(implicit setting)은 더 이상 JavaScript에서 setter를 실행하지 않습니다. 덕분에 속성 값을 좀더 예측 가능하게 설정하는 동작이 만들어집니다.</li>
-</ul>
diff --git a/files/ko/web/javascript/new_in_javascript/1.8.5/index.html b/files/ko/web/javascript/new_in_javascript/1.8.5/index.html
deleted file mode 100644
index 27853f0531..0000000000
--- a/files/ko/web/javascript/new_in_javascript/1.8.5/index.html
+++ /dev/null
@@ -1,126 +0,0 @@
----
-title: New in JavaScript 1.8.5
-slug: Web/JavaScript/New_in_JavaScript/1.8.5
-tags:
- - ECMAScript5
- - JavaScript
- - JavaScript 1.8.5
-translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8.5
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>다음은 JavaScript 1.8.5에 대한 변경기록입니다. 이 버전은 <a href="/ko/Firefox/Releases/4">Firefox 4</a>에서 포함되었습니다.</p>
-
-<h2 id="JavaScript_1.8.5의_새로운_기능">JavaScript 1.8.5의 새로운 기능</h2>
-
-<h3 id="새로운_함수">새로운 함수</h3>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">함수</th>
- <th scope="col">설명</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{jsxref("Object.create()")}}</td>
- <td>지정된 프로토타입 객체 및 속성을 갖는 새로운 객체 생성. {{bug("492840")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.defineProperty()")}}</td>
- <td>객체에 주어진 설명자로 기술된 유명(named) 속성을 추가.</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.defineProperties()")}}</td>
- <td>객체에 주어진 설명자로 기술된 유명 속성을 추가.</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.getOwnPropertyDescriptor()")}}</td>
- <td>객체의 유명 속성에 대한 속성 설명자를 반환. {{bug("505587")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.keys()")}}</td>
- <td>객체의 모든 열거가능 속성 배열을 반환. {{bug("307791")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.getOwnPropertyNames()")}}</td>
- <td>객체의 모든 열거가능 및 열거불가 속성 배열을 반환. {{bug("518663")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.preventExtensions()")}}</td>
- <td>객체 확장을 막음. {{bug("492849")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.isExtensible()")}}</td>
- <td>객체 확장이 허용되는지 판단. {{bug("492849")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.seal()")}}</td>
- <td>다른 코드가 객체의 속성을 삭제하는 것으로부터 막음. {{bug("492845")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.isSealed()")}}</td>
- <td>객체가 봉인되었는지 판단. {{bug("492845")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.freeze()")}}</td>
- <td>객체 동결: 다른 코드가 어떤 속성도 삭제 또는 변경할 수 없음. {{bug("492844")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.isFrozen()")}}</td>
- <td>객체가 동결됐는지 판단. {{bug("492844")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Array.isArray()")}}</td>
- <td>변수가 배열인지 확인. {{bug("510537")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Date.prototype.toJSON()")}}</td>
- <td><code>Date</code> 객체의 JSON 형식 문자열 반환.</td>
- </tr>
- <tr>
- <td>{{jsxref("Function.prototype.bind()")}}</td>
- <td>호출될 때 그 자체가 (주어진 인수열과 함께) 주어진 문맥에서 이 함수를 호출하는 새로운 함수 생성 {{bug("429507")}}</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="ECMAScript5_새로운_기능">ECMAScript5 새로운 기능</h3>
-
-<ul>
- <li><code><a href="/ko/docs/Web/JavaScript/Reference/Operators/get">get</a></code> 및 <code><a href="/ko/docs/Web/JavaScript/Reference/Operators/set">set</a></code> 연산자는 이제 식별자가 숫자 또는 문자열이 될 수 있습니다. {{bug("520696")}}</li>
- <li>{{jsxref("Function.apply()")}}는 인수 목록으로 모든 배열같은 객체를 받아들일 수 있습니다, 실제 배열만이 아니라.</li>
- <li><a href="/ko/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode">엄격 모드 지원</a></li>
- <li>{{jsxref("Array.toString()")}}은 이제 가능한 경우 그 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/join"><code>join()</code></a> 메서드 호출 결과를 반환 또는 그 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/toString"><code>toString()</code></a> 메서드를 호출하여 심지어 비배열에서도 동작합니다.</li>
-</ul>
-
-<h3 id="다른_표준화_작업">다른 표준화 작업</h3>
-
-<p>getter 및 setter를 정의하는 다양한 비표준 구문이 제거되었습니다; ECMAScript 5에서 정의된 구문은 변경되지 않았습니다. 이들은 모두 꽤 난해하고 거의 쓰이지 않았습니다; 영향을 미치는 경우, 자세한 사항은 <a class="external" href="http://whereswalden.com/2010/04/16/more-spidermonkey-changes-ancient-esoteric-very-rarely-used-syntax-for-creating-getters-and-setters-is-being-removed/">이 블로그 게시글</a> 참조.</p>
-
-<h3 id="새로운_객체">새로운 객체</h3>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">객체</th>
- <th scope="col">설명</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{jsxref("Proxy")}}</td>
- <td>JavaScript에서 메타프로그래밍을 가능케 하는 <code>Object</code> 및 <code>Function</code> 프록시 생성 지원을 제공.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="JavaScript_1.8.5에서_바뀐_기능">JavaScript 1.8.5에서 바뀐 기능</h2>
-
-<ul>
- <li><code>Date</code> 객체 ISO 8601 지원: {{jsxref("Date")}} 객체의 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Date/parse">parse()</a> 메서드가 이제 단순한 ISO 8601 형식 date 문자열을 지원합니다.</li>
- <li>Global 객체가 읽기 전용이 됨: <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/NaN"><code>NaN</code></a>, <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Infinity"><code>Infinity</code></a> 및 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/undefined"><code>undefined</code></a> global 객체는 읽기 전용이 되었습니다, ECMAScript 5 스펙에 따라.</li>
- <li><a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/Parent"><code>obj.__parent__</code></a> 및 <code>obj.__count__</code>는 폐기(obsolete)되었습니다. 이유에 대한 일부 정보: <a class="external" href="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/">SpiderMonkey change du jour: the special __parent__ property has been removed</a> {{bug("551529")}} &amp; {{bug("552560")}}.</li>
- <li>후행(trailing) 쉼표는 {{jsxref("JSON.parse()")}}에서 더 이상 허용되지 않습니다.</li>
-</ul>
diff --git a/files/ko/web/javascript/new_in_javascript/1.8/index.html b/files/ko/web/javascript/new_in_javascript/1.8/index.html
deleted file mode 100644
index 3372eeac27..0000000000
--- a/files/ko/web/javascript/new_in_javascript/1.8/index.html
+++ /dev/null
@@ -1,138 +0,0 @@
----
-title: New in JavaScript 1.8
-slug: Web/JavaScript/New_in_JavaScript/1.8
-tags:
- - JavaScript
- - JavaScript_version_overviews
-translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8
----
-<p>{{jsSidebar("New_in_JS")}} 자바스크립트 1.8은 (<a href="ko/Firefox_3">Firefox 3</a>에 포함될 예정인) Gecko 1.9의 일부분으로 계획되어 있습니다. 자바스크립트 1.8은 <a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>보다는 변경된 부분이 적습니다. 그러나, ECMAScript 4/JavaScript 2로 진행되는 과정의 몇몇 변경점이 있습니다. 이번 자바스크립트 1.8 릴리즈에는 <a href="ko/New_in_JavaScript_1.6">자바스크립트 1.6</a>과 <a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>에 있는 모든 부분이 포함될 것입니다.</p>
-
-<p>자바스크립트 1.8가 개발되어지고 있는 상황은 {{ Bug(380236) }}을 참조하십시오.</p>
-
-<h3 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_1.8.EC.9D.98_.EC.82.AC.EC.9A.A9" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_1.8.EC.9D.98_.EC.82.AC.EC.9A.A9">자바스크립트 1.8의 사용</h3>
-
-<p>HTML에서 자바스크립트 1.8의 새로운 기능 몇 가지를 사용하려면 다음과 같이 사용하십시오.</p>
-
-<pre class="eval"> &lt;script type="application/javascript;version=1.8"&gt; ... your code ... &lt;/script&gt;
-</pre>
-
-<p><a href="ko/Introduction_to_the_JavaScript_shell">자바스크립트 쉘</a>, 자바스크립트 XPCOM 컴포넌트, 혹은 XUL의 <code>&lt;script&gt;</code> 엘리먼트를 사용할 때에는 자동적으로 가장 마지막의 자바스크립트 버전(모질라 1.9에서는 자바스크립트 1.8)이 사용되어 집니다({{ Bug(381031) }}, {{ Bug(385159) }}).</p>
-
-<p>새로운 예약어 "yield"와 "let"를 사용하려면 버전을 1.8이나 그 이상으로 지정하여야 합니다. 왜냐하면 기존 코드에 변수나 함수의 이름으로 이런 키워드를 사용하고 있을 수 있기 때문입니다. (generator expressions처럼) 새로운 예약어로 소개되지 않는 것들은 자바스크립트 버전을 명시하지 않아도 사용할 수 있습니다.</p>
-
-<h3 id="closures_.ED.91.9C.ED.98.84" name="closures_.ED.91.9C.ED.98.84">closures 표현</h3>
-
-<p>추가된 closures 표현은 간단한 함수 작성을 쉽게 할 수 있는 것 뿐입니다. 문자 그대로인 <a class="external" href="http://en.wikipedia.org/wiki/Lambda_calculus#Lambda_calculus_and_programming_languages">Lambda notation</a>과 유사한 어떤 것을 자바스크립트도 가능하도록 합니다.</p>
-
-<p><a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>과 그 이전 버전:</p>
-
-<pre class="eval"> function(x) { return x * x; }
-</pre>
-
-<p>자바스크립트 1.8:</p>
-
-<pre class="eval"> function(x) x * x
-</pre>
-
-<p>이런 문법은 괄호를 없애고 'return' 문을 쓰지 않아도 되도록 해줍니다. - 즉, 내용을 함축적으로 만들어 줍니다. 문법이 더 짧아진다는 것 외에 코드에 이 문법을 사용하여 얻을 수 있는 추가적인 이점은 없습니다.</p>
-
-<p><b>예제:</b></p>
-
-<p>이벤트 리스너 연결:</p>
-
-<pre class="eval"> document.addEventListener("click", function() false, true);
-</pre>
-
-<p><a href="ko/New_in_JavaScript_1.6">자바스크립트 1.6</a>의 배열 함수의 some을 사용하면:</p>
-
-<pre class="eval"> elems.some(function(elem) elem.type == "text");
-</pre>
-
-<h3 id="Generator_expression" name="Generator_expression">Generator expression</h3>
-
-<p>Generator expression은 (<a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>에서 소개된) generator를 간단하게 만들 수 있게 해줍니다. 문자 그대로 함수 내부에 yield를 포함한 사용자 함수를 생성할 수 있습니다. 그러나 동일한 generator 문법과 같은 것을 포함하고 있는 배열 역시 사용할 수 있습니다.</p>
-
-<p>This addition allows you to simply create generators (which were introduced in <a href="ko/New_in_JavaScript_1.7">JavaScript 1.7</a>). Typically you would have to create a custom function which would have a yield in it, but this addition allows you to use array comprehension-like syntax to create an identical generator statement.</p>
-
-<p><a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>에서 오브젝트로부터 사용자 generator를 만드려면 다음과 같은 코드를 작성해야 했습니다:</p>
-
-<pre class="eval"> function add3(obj) {
- for ( let i in obj )
- yield i + 3;
- }
-
- let it = add3(someObj);
- try {
- while (true) {
- document.write(it.next() + "&lt;br&gt;\n");
- }
- } catch (err if err instanceof StopIteration) {
- document.write("End of record.&lt;br&gt;\n");
- }
-</pre>
-
-<p>위의 코드 대신에 자바스크립트 1.8에서는 generator expression을 사용하여 순환문 안에 사용자 generator 함수를 생성하는 부분을 포함할 수 있습니다:</p>
-
-<pre class="eval"> let it = (i + 3 for (i in someObj));
- try {
- while (true) {
- document.write(it.next() + "&lt;br&gt;\n");
- }
- } catch (err if err instanceof StopIteration) {
- document.write("End of record.&lt;br&gt;\n");
- }
-</pre>
-
-<p>generator 표현은 또한 값처럼 함수에 전달할 수 있습니다. generator 표현은 generator가 실행되지 않을 때부터 반드시 필요할 때까지 (배열이 맨 처음 생성되어지는 전형적인 상황과는 다르게) 특히 주목할만 합니다. 다른 예는 아래에서 볼 수 있습니다:</p>
-
-<p>Generator expressions can also be passed in, as values, to a function. This is particularly noteworthy since generators aren't run until they are absolutely needed (unlike for typical array comprehension situations, where the arrays are constructed ahead of time). An example of the difference can be seen here:</p>
-
-<p>자바스크립트 1.7 Array Comprehension 사용</p>
-
-<pre class="eval"> handleResults([ i for ( i in obj ) if ( i &gt; 3 ) ]);
-
- function handleResults( results ) {
- for ( let i in results )
- // ...
- }
-</pre>
-
-<p>자바스크립트 1.8 Generator Expressions 사용</p>
-
-<pre class="eval"> handleResults( i for ( i in obj ) if ( i &gt; 3 ) );
-
- function handleResults( results ) {
- for ( let i in results )
- // ...
- }
-</pre>
-
-<p>두 예제에서 generator expression을 사용함으로써 중요한 다른 점은 'obj' 하나에 대해서만 반복될 것이란 것과 전체에 대해서 반복될 것이라는 점입니다. 배열에 포함되었을 때 하나에 대해서만 반복될 것에 비해 generator expression은 전체에 대해 계속 반복됩니다.</p>
-
-<p>The significant difference between the two examples being that by using the generator expressions, you would only have to loop over the 'obj' structure once, total, as opposed to once when comprehending the array, and again when iterating through it.</p>
-
-<h3 id=".EB.B0.B0.EC.97.B4.EC.97.90_.EC.B6.94.EA.B0.80.EB.90.9C_.EA.B2.83.EB.93.A4" name=".EB.B0.B0.EC.97.B4.EC.97.90_.EC.B6.94.EA.B0.80.EB.90.9C_.EA.B2.83.EB.93.A4">배열에 추가된 것들</h3>
-
-<p>자바스크립트 1.8에는 <code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array">Array</a></code> 객체에 배열 항목마다 반복 적용되는 두 가지 새로운 메소드가 포함되었습니다:</p>
-
-<ul>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduce">reduce()</a></code> - 배열의 모든 항목에 대해 함수를 실행하고, 이전 호출에서 결과값을 수집합니다.</li>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight">reduceRight()</a></code> - 배열의 모든 항목에 대해 함수를 실행하고, 이전 호출에서 결과값을 수집합니다. 결과값은 순서가 반대로 수집됩니다.</li>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduce">reduce()</a></code> - runs a function on every item in the array and collects the results from previous calls.</li>
- <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight">reduceRight()</a></code> - runs a function on every item in the array and collects the results from previous calls, but in reverse.</li>
-</ul>
-
-<h3 id="Changes_in_destructuring_for..in" name="Changes_in_destructuring_for..in">Changes in destructuring for..in</h3>
-
-<p>TBD: mention <a href="ko/New_in_JavaScript_1.7#Looping_across_objects">New_in_JavaScript_1.7#Looping_across_objects</a> ({{ Bug(366941) }}).</p>
-
-<h3 id=".EA.B3.A7_.EB.B3.80.EA.B2.BD.EB.90.A0_.EC.82.AC.ED.95.AD.EB.93.A4" name=".EA.B3.A7_.EB.B3.80.EA.B2.BD.EB.90.A0_.EC.82.AC.ED.95.AD.EB.93.A4">곧 변경될 사항들</h3>
-
-<p>자바스크립트 1.8에 포함될 수 있을 것이라 기대되는 것들:</p>
-
-<ul>
- <li>JSON 인코딩, 디코딩.</li>
- <li>Slice syntax.</li>
- <li>Generalized destructuring <code>for...in</code> (does this mean something other than <a href="#Changes_in_destructuring_for..in">#Changes in destructuring for..in</a>? --<a>Nickolay</a> 10:52, 9 September 2007 (PDT))</li>
-</ul>
diff --git a/files/ko/web/javascript/new_in_javascript/ecmascript_5_support_in_mozilla/index.html b/files/ko/web/javascript/new_in_javascript/ecmascript_5_support_in_mozilla/index.html
deleted file mode 100644
index 6662aee95b..0000000000
--- a/files/ko/web/javascript/new_in_javascript/ecmascript_5_support_in_mozilla/index.html
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title: ECMAScript 5 support in Mozilla
-slug: Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla
-tags:
- - ECMAScript 5
- - JavaScript
- - Versions
-translation_of: Archive/Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>ECMAScript 5.1, 자바스크립트에 기반한, 더 오래된 표준이 2011년 6월에 허가되었습니다.</p>
-
-<p>파이어폭스와 썬더버드를 포함하는 모질라 프로젝트들은 ECMAScript 5.1 의 기능들을 모두 지원합니다. 이 글은 모질라의 다양한 자바스크립트 런타임 버젼에 따라, 어떤 기능들이 지원되는지를 다룹니다.</p>
-
-<h2 id="지원_기능"><strong><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="font-size: 37.33327865600586px;">지원 기능</span></font></strong></h2>
-
-<h3 id="자바스크립트_1.8.5에_추가(Gecko_2_Firefox_4_and_later)">자바스크립트 1.8.5에 추가(Gecko 2, Firefox 4 and later)</h3>
-
-<p>파이어폭스 4는 <code>Object.*</code> 와 Strict 모드를 포함한 ECMAScript 5의 모든 기능을 지원합니다. <a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8.5">자바스크립트 1.8.5의 새기능</a> 보기.</p>
-
-<h3 id="자바스크립트_1.8.1에_추가_(Gecko_1.9.1_Firefox_3.5)">자바스크립트 1.8.1에 추가 (Gecko 1.9.1, Firefox 3.5)</h3>
-
-<ul>
- <li><a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON">네이티브 JSON </a>지원</li>
- <li><a class="internal" href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf" title="En/Core JavaScript 1.5 Reference/Global Objects/Object/GetPrototypeOf"><code>Object.getPrototypeOf()</code></a> 함수.</li>
- <li><a class="internal" href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim" title="En/Core JavaScript 1.5 Reference/Global Objects/String/Trim"><code>String.trim()</code></a> 문자열 양 끝의 공백을 자르는 함수.</li>
- <li>Gecko 1.9.1.4 는 ECMAScript 5와 호환하기 위해 <a href="/en-US/docs/Web/JavaScript/Guide/Using_native_JSON#Converting_objects_into_JSON" title="En/Using native JSON#Converting objects into JSON"><code>JSON.stringify()</code></a> 의 구현을 업데이트 하였습니다.</li>
-</ul>
-
-<p>ECMAScript 5 는 특정한 상황에서 XTHML을 자바스크립트 코드로 판단하는 경우를 방지하는 파싱 알고리즘을 만들어냈습니다.</p>
-
-<h3 id="자바스크립트_1.6에_추가_(Gecko_1.8_Firefox_1.5)">자바스크립트 1.6에 추가 (Gecko 1.8, Firefox 1.5)</h3>
-
-<p>새로운 <code><a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Array">배열</a></code> 함수들은, 배열을 가공하기 위해 향상된 방법들을 제공합니다. -- <a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.6">자바스크립트 1.6</a>부터 자바스크립트의 일부였던 이 것은 이제 ECMAScript 5의 표준 기능으로 자리잡았습니다.</p>
-
-<h2 id="같이_보기"><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="font-size: 37.33327865600586px;"><strong>같이 보기</strong></span></font></h2>
-
-<ul>
- <li><a class="external" href="http://www.ecmascript.org/" title="http://www.ecmascript.org/">ECMAScript web site</a></li>
- <li><a class="external" href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf" title="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf">ECMAScript 5.1 specification</a></li>
- <li>John Resig's post on <a class="external" href="http://ejohn.org/blog/objectgetprototypeof/" title="http://ejohn.org/blog/objectgetprototypeof/">Object.getPrototypeOf</a></li>
- <li>Michael J. Ryan's implementation of <a class="external" href="http://frugalcoder.us/post/2010/01/07/EcmaScript-5s-Date-Extensions.aspx" title="http://frugalcoder.us/post/2010/01/07/EcmaScript-5s-Date-Extensions.aspx">ECMAScript5 Dates in JavaScript</a></li>
- <li><a href="http://kangax.github.io/es5-compat-table/" title="http://kangax.github.io/es5-compat-table/">ECMAScript 5 support across browsers</a></li>
-</ul>
diff --git a/files/ko/web/javascript/new_in_javascript/ecmascript_6_support_in_mozilla/index.html b/files/ko/web/javascript/new_in_javascript/ecmascript_6_support_in_mozilla/index.html
deleted file mode 100644
index bafb603919..0000000000
--- a/files/ko/web/javascript/new_in_javascript/ecmascript_6_support_in_mozilla/index.html
+++ /dev/null
@@ -1,285 +0,0 @@
----
-title: ECMAScript 2015 support in Mozilla
-slug: Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla
-tags:
- - ECMAScript6
- - JavaScript
-translation_of: Archive/Web/JavaScript/New_in_JavaScript/ECMAScript_2015_support_in_Mozilla
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<div>
-<p>ECMAScript 2015는 ECMAScript 언어의 6번째 표준 스펙(Spec)입니다. 파이어폭스와 모질라 애플리케이션에서 사용되는 <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> 엔진의 표준 자바스크립트를 정의하고 있습니다.</p>
-
-<p>"ES.next", "Harmony", or "ECMAScript 6" 등의 코드네임으로 불린 이 표준은 2011년 7월 12일에 "ES.next"라는 명칭으로 초안이 발표되었습니다. 2014년 8월 드디어 ECMAScript 2015 초안의 기능들이 확정되고 안정화와 버그 수정 작업에 들어갔습니다. 그리고 2015년 6월 17일, 드디어 ECMA-262 Edition 6은 ECMA 총회(General Assembly)의 공식 승인을 받아 배포되었습니다. 이 표준은 국제 산업 규격 ISO/IEC 16262:2016이기도 합니다.</p>
-
-<p><a href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf">PDF</a>와   <a href="http://www.ecma-international.org/ecma-262/6.0/index.html">HTML</a> 버전의 표준을 <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ecma-international.org 에서 무료로 다운로드 할 수 있습니다</a>.</p>
-</div>
-
-<p>ECMAScript 표준에 대한 피드백 채널은 <a href="https://mail.mozilla.org/listinfo/es-discuss">es-discuss</a>을 이용하시면 됩니다.</p>
-
-<h2 id="표준_라이브러리">표준 라이브러리</h2>
-
-<h3 id="Array_객체_추가사항"><code>Array</code> 객체 추가사항</h3>
-
-<ul>
- <li>{{jsxref("Array")}} iteration with {{jsxref("Statements/for...of", "for...of")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/13" style='background-color: rgb(255, 255, 255); font-family: "Open Sans", arial, x-locale-body, sans-serif;'>Firefox 13</a><span style='background-color: #ffffff; color: #333333; font-family: "Open Sans",arial,x-locale-body,sans-serif;'>)</span></li>
- <li>{{jsxref("Array.from()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/32">Firefox 32</a>)</li>
- <li>{{jsxref("Array.of()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/25">Firefox 25</a>)</li>
- <li>{{jsxref("Array.prototype.fill()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/31">Firefox 31</a>)</li>
- <li>{{jsxref("Array.prototype.find()")}}, {{jsxref("Array.prototype.findIndex()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/25">Firefox 25</a>)</li>
- <li>{{jsxref("Array.prototype.entries()")}},<br>
- {{jsxref("Array.prototype.keys()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/28">Firefox 28</a>),<br>
- {{jsxref("Array.prototype.values()")}}</li>
- <li>{{jsxref("Array.prototype.copyWithin()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/32">Firefox 32</a>)</li>
- <li>{{jsxref("Array.@@species", "get Array[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/48">Firefox 48</a>)</li>
-</ul>
-
-<h3 id="새로운_Map과_Set_객체_그리고_WeakMap과_WeakSet_객체">새로운 <code>Map</code>과 <code>Set</code> 객체 그리고 <code>WeakMap과</code> <code>WeakSet 객체</code></h3>
-
-<ul>
- <li>{{jsxref("Map")}} (<a href="/en-US/Firefox/Releases/13">Firefox 13</a>)
-
- <ul>
- <li>{{jsxref("Statements/for...of", "for...of")}}에서의 {{jsxref("Map")}} 반복 (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li>
- <li>{{jsxref("Map.prototype.forEach()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li>
- <li>{{jsxref("Map.prototype.entries()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li>
- <li>{{jsxref("Map.prototype.keys()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li>
- <li>{{jsxref("Map.prototype.values()")}}</li>
- <li>생성자 인수: <code>new {{jsxref("Map")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li>
- <li>몽키 패치 된 생성자 내의 <code>set()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li>
- <li>{{jsxref("Map.@@species", "get Map[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li>
- </ul>
- </li>
- <li>{{jsxref("Set")}} (<a href="/en-US/Firefox/Releases/13">Firefox 13</a>)
- <ul>
- <li>{{jsxref("Statements/for...of", "for...of")}}에서의 {{jsxref("Set")}} 반복 (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li>
- <li>{{jsxref("Set.prototype.forEach()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li>
- <li>{{jsxref("Set.prototype.entries()")}},<br>
- {{jsxref("Set.prototype.keys()")}},<br>
- {{jsxref("Set.prototype.values()")}} (<a href="/en-US/Firefox/Releases/24">Firefox 24</a>)</li>
- <li>생성자 인수: <code>new {{jsxref("Set")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li>
- <li>몽키 패치 된 생성자 내의 <code>add()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li>
- </ul>
- </li>
- <li>{{jsxref("WeakMap")}} (<a href="/en-US/Firefox/Releases/6">Firefox 6</a>)
- <ul>
- <li>{{jsxref("WeakMap.clear()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li>
- <li>반복 가능한 {{jsxref("WeakMap")}} 생성자 내의 선택적 인수 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li>
- <li>생성자 인수: <code>new {{jsxref("WeakMap")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li>
- <li>몽키 패치 된 생성자 내의 <code>set()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li>
- </ul>
- </li>
- <li>{{jsxref("WeakSet")}} (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)
- <ul>
- <li>생성자 인수: <code>new {{jsxref("WeakSet")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li>
- <li>몽키 패치 된 생성자 내의 <code>add()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li>
- </ul>
- </li>
-</ul>
-
-<h3 id="새로운_Math_함수">새로운 <code>Math</code> 함수</h3>
-
-<ul>
- <li>{{jsxref("Math.imul()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li>
- <li>{{jsxref("Math.clz32()")}} (<a href="/en-US/Firefox/Releases/31">Firefox 31</a>)</li>
- <li>{{jsxref("Math.fround()")}} (<a href="/en-US/Firefox/Releases/26">Firefox 26</a>)</li>
- <li>{{jsxref("Math.log10()")}}, {{jsxref("Math.log2()")}}, {{jsxref("Math.log1p()")}}, {{jsxref("Math.expm1()")}}, {{jsxref("Math.cosh()")}}, {{jsxref("Math.sinh()")}}, {{jsxref("Math.tanh()")}}, {{jsxref("Math.acosh()")}}, {{jsxref("Math.asinh()")}}, {{jsxref("Math.atanh()")}}, {{jsxref("Math.hypot()")}}, {{jsxref("Math.trunc()")}}, {{jsxref("Math.sign()")}}, {{jsxref("Math.cbrt()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li>
-</ul>
-
-<h3 id="Number_객체_추가사항"><code>Number</code> 객체 추가사항</h3>
-
-<ul>
- <li>{{jsxref("Number.isNaN()")}} (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>)</li>
- <li>{{jsxref("Number.isFinite()")}} (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>)</li>
- <li>{{jsxref("Number.isInteger()")}} (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>)</li>
- <li>{{jsxref("Number.parseInt()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li>
- <li>{{jsxref("Number.parseFloat()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li>
- <li>{{jsxref("Number.EPSILON")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li>
- <li>{{jsxref("Number.MAX_SAFE_INTEGER")}}, {{jsxref("Number.MIN_SAFE_INTEGER")}} (<a href="/en-US/Firefox/Releases/31">Firefox 31</a>)</li>
- <li>{{jsxref("Number.isSafeInteger()")}} (<a href="/en-US/Firefox/Releases/32">Firefox 32</a>)</li>
-</ul>
-
-<h3 id="Object_객체_추가사항"><code>Object</code> 객체 추가사항</h3>
-
-<ul>
- <li>{{jsxref("Object.prototype.__proto__")}}가 표준이 되었습니다.</li>
- <li>{{jsxref("Object.is()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/22">Firefox 22</a>)</li>
- <li>{{jsxref("Object.setPrototypeOf()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/31">Firefox 31</a>)</li>
- <li>{{jsxref("Object.assign()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/34">Firefox 34</a>)</li>
- <li>{{jsxref("Object.getOwnPropertySymbols()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/33">Firefox 33</a>)</li>
-</ul>
-
-
-
-<h3 id="Date_객체_추가사항"><code>Date</code> 객체 추가사항</h3>
-
-<ul>
- <li>{{jsxref("Date.prototype")}} is an ordinary object (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li>
- <li>generic {{jsxref("Date.prototype.toString")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li>
- <li>{{jsxref("Date.prototype.@@toPrimitive", "Date.prototype[@@toPrimitive]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/44">Firefox 44</a>)</li>
-</ul>
-
-
-
-<h3 id="새로운_Promise_객체">새로운 <code>Promise</code> 객체</h3>
-
-<ul>
- <li>{{jsxref("Promise")}} (<a href="/en-US/Firefox/Releases/24">Firefox 24</a>(<a href="/en-US/Firefox/Releases/29">Firefox 29</a>에서 기본값으로 활성화 되어 있음))</li>
-</ul>
-
-
-
-<h3 id="새로운_Proxy_객체">새로운 <code>Proxy</code> 객체</h3>
-
-<ul>
- <li>{{jsxref("Proxy")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/18">Firefox 18</a>)</li>
- <li>{{jsxref("Global_Objects/Proxy/handler/preventExtensions", "preventExtensions()")}} trap (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/22">Firefox 22</a>)</li>
- <li>{{jsxref("Global_Objects/Proxy/handler/isExtensible", "isExtensible()")}} trap (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/31">Firefox 31</a>)</li>
- <li>{{jsxref("Global_Objects/Proxy/handler/getPrototypeOf", "getPrototypeOf()")}} and {{jsxref("Global_Objects/Proxy/handler/setPrototypeOf", "setPrototypeOf()")}} traps (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li>
-</ul>
-
-
-
-<h3 id="새로운_Reflect_객체">새로운 <code>Reflect</code> 객체</h3>
-
-<ul>
- <li>{{jsxref("Reflect")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/42">Firefox 42</a>)</li>
-</ul>
-
-
-
-
-
-<h3 id="RegExp_객체_추가사항"><code>RegExp</code> 객체 추가사항</h3>
-
-<ul>
- <li>{{jsxref("RegExp")}} sticky (y) flag (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/38">Firefox 38</a>)</li>
- <li>{{jsxref("RegExp")}} unicode (u) flag (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/46">Firefox 46</a>)</li>
- <li>generic {{jsxref("RegExp.prototype.toString")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/39">Firefox 39</a>)</li>
- <li>{{jsxref("RegExp.prototype.@@match()", "RegExp.prototype[@@match]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li>
- <li>{{jsxref("RegExp.prototype.@@replace()", "RegExp.prototype[@@replace]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li>
- <li>{{jsxref("RegExp.prototype.@@search()", "RegExp.prototype[@@search]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li>
- <li>{{jsxref("RegExp.prototype.@@split()", "RegExp.prototype[@@split]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li>
- <li>{{jsxref("RegExp.@@species", "get RegExp[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li>
-</ul>
-
-<h3 id="String_객체_추가사항"><code>String</code> 객체 추가사항</h3>
-
-<ul>
- <li>{{jsxref("String.fromCodePoint()")}} (<a href="/en-US/Firefox/Releases/29">Firefox 29</a>)</li>
- <li>{{jsxref("String.prototype.codePointAt()")}} (<a href="/en-US/Firefox/Releases/29">Firefox 29</a>)</li>
- <li>{{jsxref("String.prototype.startsWith()")}}, {{jsxref("String.prototype.endsWith()")}} (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li>
- <li>{{jsxref("String.prototype.includes()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/40">Firefox 40</a>) (formerly <code>String.prototype.contains()</code> (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/17">Firefox 17</a>))</li>
- <li>{{jsxref("String.prototype.repeat()")}} (<a href="/en-US/Firefox/Releases/24">Firefox 24</a>)</li>
- <li>{{jsxref("String.prototype.normalize()")}} (<a href="/en-US/Firefox/Releases/31">Firefox 31</a>)</li>
- <li>{{jsxref("String.raw()")}} (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li>
- <li>{{jsxref("Global_Objects/String", "u{XXXXXX} 유니코드 코드 포인트", "", 1)}} (<a href="/en-US/Firefox/Releases/40">Firefox 40</a>)</li>
-</ul>
-
-<h3 id="새로운_Symbol_객체">새로운 <code>Symbol</code> 객체</h3>
-
-<ul>
- <li>{{jsxref("Symbol")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/36">Firefox 36</a>)</li>
- <li>{{jsxref("Symbol.iterator")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/36">Firefox 36</a>)</li>
- <li>{{jsxref("Symbol.for()")}} - global Symbol registry (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/36">Firefox 36</a>)</li>
- <li>{{jsxref("Symbol.match")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/40">Firefox 40</a>)</li>
- <li>{{jsxref("Symbol.species")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li>
- <li>{{jsxref("Symbol.toPrimitive")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/44">Firefox 44</a>)</li>
- <li>{{jsxref("Symbol.prototype.@@toPrimitive", "Symbol.prototype[@@toPrimitive]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/44">Firefox 44</a>)</li>
- <li>{{jsxref("Symbol.replace")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li>
- <li>{{jsxref("Symbol.search")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li>
- <li>{{jsxref("Symbol.split")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li>
- <li>{{jsxref("Symbol.hasInstance")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/50">Firefox 50</a>)</li>
-</ul>
-
-<h3 id="형식화된_배열">형식화된 배열</h3>
-
-<p>형식화된 배열은 ECMAScript 2015의 일부로 지정되었고, 더 이상 <a href="https://www.khronos.org/registry/typedarray/specs/latest/">자신의 기존 명세서</a>를 따르지 않습니다.</p>
-
-<ul>
- <li>{{jsxref("ArrayBuffer")}}</li>
- <li>{{jsxref("ArrayBuffer.@@species", "get ArrayBuffer[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/48">Firefox 48</a>)</li>
- <li>{{jsxref("DataView")}}</li>
- <li>{{jsxref("Int8Array")}}</li>
- <li>{{jsxref("Uint8Array")}}</li>
- <li>{{jsxref("Uint8ClampedArray")}}</li>
- <li>{{jsxref("Int16Array")}}</li>
- <li>{{jsxref("Uint16Array")}}</li>
- <li>{{jsxref("Int32Array")}}</li>
- <li>{{jsxref("Uint32Array")}}</li>
- <li>{{jsxref("Float32Array")}}</li>
- <li>{{jsxref("Float64Array")}}</li>
- <li>{{jsxref("TypedArray.@@species", "get %TypedArray%[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/48">Firefox 48</a>)</li>
-</ul>
-
-<h2 id="표현식과_연산자">표현식과 연산자</h2>
-
-<ul>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target">new.target</a> (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator">배열을 위한 Spread 연산자</a> (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>)
- <ul>
- <li><code>Symbol.iterator</code> 속성 사용 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li>
- </ul>
- </li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator">함수 호출을 위한 Spread 연산자</a> (<a href="/en-US/Firefox/Releases/27">Firefox 27</a>)
- <ul>
- <li><code>Symbol.iterator</code> 속성 사용 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li>
- </ul>
- </li>
- <li>{{jsxref("Statements/const", "const")}} (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.5">JS 1.5</a>, Firefox 1.0) (ES2015 compliance {{bug("950547")}} implemented in Firefox 51)</li>
- <li>{{jsxref("Statements/let", "let")}} (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7">JS 1.7</a>, <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2">Firefox 2</a>) (ES2015 compliance {{bug("950547")}} implemented in Firefox 51)</li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">Destructuring assignment</a> (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7">JS 1.7</a>, <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2">Firefox 2</a>) (ES2015 compliance {{bug("1055984")}})</li>
-</ul>
-
-<h2 id="문문장">문(문장)</h2>
-
-<ul>
- <li>{{jsxref("Statements/for...of", "for...of")}}(<a href="/en-US/Firefox/Releases/13">Firefox 13</a>)
-
- <ul>
- <li><code>.iterator()</code>와 <code>.next()</code>에 관한 동작 (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li>
- <li><code>"@@iterator"</code> 속성 사용 (<a href="/en-US/Firefox/Releases/27">Firefox 27</a>)</li>
- <li><code>Symbol.iterator</code> 속성 사용 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li>
- </ul>
- </li>
-</ul>
-
-<h2 id="함수">함수</h2>
-
-<ul>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/rest_parameters">Rest 매개 변수</a> (<a href="/en-US/Firefox/Releases/15">Firefox 15</a>)</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/default_parameters">Default 매개 변수</a> (<a href="/en-US/Firefox/Releases/15">Firefox 15</a>)
- <ul>
- <li>Parameters without defaults after default parameters (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/26">Firefox 26</a>)</li>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters#Destructured_parameter_with_default_value_assignment" title="Default function parameters allow formal parameters to be initialized with default values if no value or undefined is passed.">Destructured parameters with default value assignment</a> (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li>
- </ul>
- </li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/arrow_functions">Arrow 함수</a> (<a href="/en-US/Firefox/Releases/22">Firefox 22</a>)</li>
- <li>{{jsxref("Statements/function*", "Generator 함수")}} (<a href="/en-US/Firefox/Releases/26">Firefox 26</a>)
- <ul>
- <li>{{jsxref("Operators/yield", "yield")}} (<a href="/en-US/Firefox/Releases/26">Firefox 26</a>)</li>
- <li>{{jsxref("Operators/yield*", "yield*")}} (<a href="/en-US/Firefox/Releases/27">Firefox 27</a>)</li>
- </ul>
- </li>
- <li>{{jsxref("Functions/arguments/@@iterator", "arguments[@@iterator]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/46">Firefox 46</a>)</li>
-</ul>
-
-<h2 id="그_밖의_기능">그 밖의 기능</h2>
-
-<ul>
- <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Numeric_literals">2진과 8진 숫자 리터럴</a> (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/template_strings">템플릿 문자열</a> (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Property_definitions">객체 이니셜라이져: 줄임 속성 이름</a> (<a href="/en-US/Firefox/Releases/33">Firefox 33</a>)</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names">객체 이니셜라이저: 계산된 속성 이름</a> (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Method_definitions">객체 이니셜라이저: 줄임 메소드 이름</a> (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li>
-</ul>
-
-<h2 id="같이_보기">같이 보기</h2>
-
-<ul>
- <li><a href="http://www.ecmascript.org/">ECMAScript 웹 사이트</a></li>
- <li><a href="http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts">ECMAScript 2015 명세서 초안</a></li>
- <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=694100">Mozilla ES2015 버그 추적</a></li>
- <li><a href="http://kangax.github.io/es5-compat-table/es6" title="http://kangax.github.io/es5-compat-table">브라우저에서의 ECMAScript 2015 지원</a></li>
-</ul>
diff --git a/files/ko/web/javascript/new_in_javascript/index.html b/files/ko/web/javascript/new_in_javascript/index.html
deleted file mode 100644
index 0972eba4d0..0000000000
--- a/files/ko/web/javascript/new_in_javascript/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: New in JavaScript
-slug: Web/JavaScript/New_in_JavaScript
-tags:
- - JavaScript
- - Versions
-translation_of: Archive/Web/JavaScript/New_in_JavaScript
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>이 장은 JavaScript 버전 이력에 관한 정보 및 Mozilla/SpiderMonkey 기반 JavaScript 애플리케이션, 가령 Firefox의 구현 상태를 포함합니다.</p>
-
-<h2 id="ECMAScript_버전">ECMAScript 버전</h2>
-
-<dl>
- <dt><a href="/ko/docs/Web/JavaScript/언어_리소스">언어 리소스</a></dt>
- <dd>JavaScript 언어의 기반이 된 ECMAScript 표준에 대해 자세히 알아보세요.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla">ECMAScript 5 지원</a></dt>
- <dd>Mozilla 기반 엔진 및 제품에서 현재 표준 ECMA-262 Edition 5.1의 구현 상태.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla">ECMAScript 6 지원</a></dt>
- <dd>Mozilla 기반 엔진 및 제품에서 초안 ECMA-262 Edition 6 (ES2015/ES6)의 구현 상태.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_7_support_in_Mozilla">ECMAScript Next 지원</a></dt>
- <dd>Mozilla 기반 엔진 및 제품에서 연간 (ES2016/ES2017/ES2018/...) 출시 계획에 따라 예정된 ECMA-262 기능의 구현 상태.</dd>
-</dl>
-
-<h2 id="JavaScript_출시_기록">JavaScript 출시 기록</h2>
-
-<dl>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/Firefox_JavaScript_changelog">Firefox JavaScript changelog</a></dt>
- <dd>Firefox 5 이상에서 구현된 JavaScript 기능은 이 changelog 참조.</dd>
-</dl>
-
-<h2 id="JavaScript_버전">JavaScript 버전</h2>
-
-<p><strong>사라짐</strong> ({{deprecated_inline}}). 명백한 버전 관리 및 언어 기능의 채택은 Mozilla 전용이었고 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=867609">제거되는 과정에 있습니다</a>. Firefox 4는 JavaScript 버전 (1.8.5)에 참조되었던 마지막 버전이었습니다. 새로운 ECMA 표준이 있다면, JavaScript 언어 기능은 이제 종종 ECMA-262 Edition 가령 Edition 6 (ES2015/ES6) 내 그들의 초기 정의에 언급됩니다.</p>
-
-<p>JavaScript는 Netscape Navigator 2.0 및 Internet Explorer 2.0에서 March 1996에 버전 1.0으로 출시되었습니다.</p>
-
-<dl>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.1">JavaScript 1.1</a></dt>
- <dd>Netscape Navigator 3.0에 실린 버전. August 19, 1996에 출시됨.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.2">JavaScript 1.2</a></dt>
- <dd>Netscape Navigator 4.0-4.05에 실린 버전. June 11, 1997에 출시됨.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.3">JavaScript 1.3</a></dt>
- <dd>Netscape Navigator 4.06-4.7x에 실린 버전. October 19, 1998에 출시됨.<br>
- ECMA-262 1st 및 2nd Edition을 따르는 표준화 작업.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.4">JavaScript 1.4</a></dt>
- <dd>Netscape의 서버측 JavaScript에 실린 버전. 1999에 출시됨.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.5">JavaScript 1.5</a></dt>
- <dd>Netscape Navigator 6.0 및 Firefox 1.0에 실린 버전. November 14, 2000에 출시됨.<br>
- ECMA-262 3rd Edition을 따르는 표준화 작업.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.6">JavaScript 1.6</a></dt>
- <dd>Firefox 1.5에 실린 버전. November 2005에 출시됨.<br>
- ECMAScript for XML (E4X), 새로운 <code>Array</code> 메서드 더하기 <code>String</code> 및 <code>Array</code> generics 포함.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.7">JavaScript 1.7</a></dt>
- <dd>Firefox 2에 실린 버전. October 2006에 출시됨.<br>
- 생성기, 반복기, 배열 내포(comprehension), <code>let</code> 식 및 해체 할당 포함.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8">JavaScript 1.8</a></dt>
- <dd>Firefox 3에 실린 버전. June 2008에 출시됨.<br>
- 식 클로저, 생성기 식 및 <code>Array.reduce()</code> 포함</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8.1">JavaScript 1.8.1</a></dt>
- <dd>Firefox 3.5에 실린 버전. June 30, 2009에 출시됨.<br>
- TraceMonkey JIT 포함 및 native JSON 지원.</dd>
- <dt>JavaScript 1.8.2</dt>
- <dd>Firefox 3.6에 실린 버전. June 22, 2009에 출시됨.<br>
- minor changes만 포함.</dd>
- <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8.5">JavaScript 1.8.5</a></dt>
- <dd>Firefox 4에 실린 버전. July 27, 2010에 출시됨.<br>
- ECMA-262 Edition 5를 따르는 많은 새 기능 포함.<br>
- 이게 마지막 JavaScript 버전입니다.</dd>
-</dl>
diff --git a/files/ko/web/javascript/reference/functions/arguments/caller/index.html b/files/ko/web/javascript/reference/functions/arguments/caller/index.html
deleted file mode 100644
index bcdc54c7dc..0000000000
--- a/files/ko/web/javascript/reference/functions/arguments/caller/index.html
+++ /dev/null
@@ -1,93 +0,0 @@
----
-title: arguments.caller
-slug: Web/JavaScript/Reference/Functions/arguments/caller
-translation_of: Archive/Web/JavaScript/arguments.caller
----
-<div>{{jsSidebar("Functions")}}</div>
-
-<p>이전의 <strong><code>arguments.caller</code></strong> 속성은 현재 실행한 함수를 적용하여 제공했었습니다. 이 속성은 삭제되었으며 더 이상 작동하지 않습니다.</p>
-
-<h2 id="설명">설명</h2>
-
-<p>이 속성은 더 이상 이용할 수 없습니다. 하지만 {{jsxref("Function.caller")}} 는 사용할 수 있습니다.</p>
-
-<pre class="brush: js">function whoCalled() {
- if (whoCalled.caller == null)
- console.log('I was called from the global scope.');
- else
- console.log(whoCalled.caller + ' called me!');
-}</pre>
-
-<h2 id="예">예</h2>
-
-<p>다음의 코드는 함수 내에서 <code>arguments.caller </code>값을 확인하기 위해 사용되었지만, 더 이상 작동하지 않습니다.</p>
-
-<pre class="brush: js example-bad">function whoCalled() {
- if (arguments.caller == null)
- console.log('I was called from the global scope.');
- else
- console.log(arguments.caller + ' called me!');
-}
-</pre>
-
-<h2 id="스펙">스펙</h2>
-
-<p>초기 정의된 부분이 아닙니다. JavaScript 1.1에서 구현되었으며, 잠재적인 보안 취약의 우려로 ({{bug(7224)}}) 삭제되었습니다.</p>
-
-<h2 id="브라우저_호환성">브라우저 호환성</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="참조">참조</h2>
-
-<ul>
- <li>{{jsxref("Function")}}</li>
-</ul>
diff --git a/files/ko/web/javascript/reference/global_objects/array/observe/index.html b/files/ko/web/javascript/reference/global_objects/array/observe/index.html
deleted file mode 100644
index 015ae049c5..0000000000
--- a/files/ko/web/javascript/reference/global_objects/array/observe/index.html
+++ /dev/null
@@ -1,87 +0,0 @@
----
-title: Array.observe()
-slug: Web/JavaScript/Reference/Global_Objects/Array/observe
-tags:
- - Array
- - JavaScript
- - Method
- - Obsolete
-translation_of: Archive/Web/JavaScript/Array.observe
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p><strong><code>Array.observe()</code> </strong>메서드는 {{jsxref("Object.observe()")}}가 객체를 관찰하는 것과 비슷하게 , 배열의 변화를 비동기 적으로 관찰 하는데 사용 되었습니다. <font face="Consolas, Liberation Mono, Courier, monospace">그것은 </font>발생 순서에 따른 변화의 흐름을 제공합니다. <code>Object.observe()</code>가 accept type list <code>["add", "update", "delete", "splice"]</code>와 함께 호출되는 것과 같습니다. 하지만 이 API는 더이상 사용되지 않고 브라우저에서 제거 되었습니다. 대신, 더 일반적인 {{jsxref("Proxy")}} 객체를 사용하세요.</p>
-
-<h2 id="구문">구문</h2>
-
-<pre class="syntaxbox">Array.observe(<var>arr</var>, <var>callback</var>)</pre>
-
-<h3 id="매개변수">매개변수</h3>
-
-<dl>
- <dt><code>arr</code></dt>
- <dd>관찰 할 배열</dd>
- <dt><code>callback</code></dt>
- <dd>이 함수는 변화가 일어날때 마다 다음과 같은 인수와 함께 호출됩니다.
- <dl>
- <dt><code>changes</code></dt>
- <dd>변경을 나타내는 각 객체들의 배열입니다. 이 변경 객체들의 프로퍼티 들은:
- <ul>
- <li><strong><code>name</code></strong>: 변경된 프로퍼티의 이름</li>
- <li><strong><code>object</code></strong>: 변경 후 배열</li>
- <li><strong><code>type</code></strong>: 변경 타입을 나타내는 문자. <code>"add"</code>, <code>"update"</code>, <code>"delete"</code>, 또는 <code>"splice" 중 하나</code>.</li>
- <li><strong><code>oldValue</code></strong>: <code>"update"</code> 나 <code>"delete"유형에만 해당합니다. 변경 전 값</code>.</li>
- <li><strong><code>index</code></strong>: <code>"splice"유형에만 해당합니다</code>. 변경이 발생한 인덱스.</li>
- <li><strong><code>removed</code></strong>: <code>"splice"유형에만 해당합니다</code>. 삭제 된 요소들의 배열.</li>
- <li><strong><code>addedCount</code></strong>: <code>"splice"유형에만 해당합니다</code>. 추가 된 요소들의 숫자.</li>
- </ul>
- </dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="설명">설명</h2>
-
-<p>콜백 함수는 arr이 변경 될 때마다 호출되며 발생하는 순서대로 모든 변경 사항의 배열로 호출됩니다</p>
-
-<div class="note">
-<p><code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop">Array.prototype.pop()</a>이</code> <code>"splice"</code> 변경으로 보고되는 것처럼, 변경은 배열 메서드를 통해 일어납니다. 배열 길이를 변경하지 않는 인덱스 할당 변경은 "update" 변경으로 보고 될 수 있습니다.</p>
-</div>
-
-<h2 id="예제">예제</h2>
-
-<h3 id="다른_변경_유형_로깅(Logging)">다른 변경 유형 로깅(Logging)</h3>
-
-<pre class="brush: js">var arr = ['a', 'b', 'c'];
-
-Array.observe(arr, function(changes) {
- console.log(changes);
-});
-
-arr[1] = 'B';
-// [{type: 'update', object: &lt;arr&gt;, name: '1', oldValue: 'b'}]
-
-arr[3] = 'd';
-// [{type: 'splice', object: &lt;arr&gt;, index: 3, removed: [], addedCount: 1}]
-
-arr.splice(1, 2, 'beta', 'gamma', 'delta');
-// [{type: 'splice', object: &lt;arr&gt;, index: 1, removed: ['B', 'c'], addedCount: 3}]
-</pre>
-
-<h2 id="명세">명세</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal specification</a>.</p>
-
-<h2 id="브라우저_호환성">브라우저 호환성</h2>
-
-
-
-<p>{{Compat("javascript.builtins.Array.observe")}}</p>
-
-<h2 id="같이_보기">같이 보기</h2>
-
-<ul>
- <li><a href="//stackoverflow.com/q/29269057/778272">Under what condition would Array.observe's “add” event trigger?</a></li>
- <li>{{jsxref("Array.unobserve()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
-</ul>
diff --git a/files/ko/web/javascript/reference/global_objects/object/observe/index.html b/files/ko/web/javascript/reference/global_objects/object/observe/index.html
deleted file mode 100644
index bf3b004d8c..0000000000
--- a/files/ko/web/javascript/reference/global_objects/object/observe/index.html
+++ /dev/null
@@ -1,193 +0,0 @@
----
-title: Object.observe()
-slug: Web/JavaScript/Reference/Global_Objects/Object/observe
-tags:
- - 감시 객체
-translation_of: Archive/Web/JavaScript/Object.observe
----
-<div>{{JSRef}}</div>
-
-<p><strong><code>Object.observe()</code></strong> 메소드는 객체의 변화를 비동기로 감시하는데에 사용된다. 이 메소드는 변화들이 발생한 순서대로 그 흐름을 제공한다.</p>
-
-<h2 id="문법">문법</h2>
-
-<pre class="syntaxbox"><code>Object.observe(<var>obj</var>, <var>callback</var>[, <var>acceptList</var>])</code></pre>
-
-<h3 id="파라미터">파라미터</h3>
-
-<dl>
- <dt><code>obj</code></dt>
- <dd>감시될 객체입니다.</dd>
- <dt><code>callback</code></dt>
- <dd><code>obj</code>의 변경이 일어났을 때마다 호출될 함수입니다. 다음과 같은 인자를 갖습니다.
- <dl>
- <dt><code>changes</code></dt>
- <dd>변경 사항을 나타내는 객체의 배열입니다. 그 객체의 프로퍼티는 다음과 같습니다.
- <ul>
- <li><strong><code>name</code></strong>: 변경된 프로퍼티의 이름입니다.</li>
- <li><strong><code>object</code></strong>: 변경이 일어난 뒤의 객체입니다.</li>
- <li><strong><code>type</code></strong>: 변경의 종류를 의미하는 string입니다. <code>"add"</code>, <code>"update"</code>, <code>"delete"</code> 중 하나입니다.</li>
- <li><strong><code>oldValue</code></strong>: 변경되기 이전의 값입니다. <code>"update"와</code> <code>"delete"</code> 타입에만 존재합니다.</li>
- </ul>
- </dd>
- </dl>
- </dd>
- <dt><code>acceptList</code></dt>
- <dd>감시할 변경의 종류를 의미하는 리스트입니다.  주어지지 않은 경우, 배열 <code>["add", "update", "delete", "reconfigure", "setPrototype", "preventExtensions"]</code> 이 이용될 것입니다.</dd>
-</dl>
-
-<h2 id="설명">설명</h2>
-
-<p><code>callback</code>은 <code>obj</code>에 변경이 있을 때마다 실행되며, 모든 변경 사항이 일어난 순서대로 담긴 배열이 전달됩니다.</p>
-
-<h2 id="예제">예제</h2>
-
-<h3 id="Logging_all_six_different_types">Logging all six different types</h3>
-
-<pre class="brush: js">var obj = {
- foo: 0,
- bar: 1
-};
-
-Object.observe(obj, function(changes) {
- console.log(changes);
-});
-
-obj.baz = 2;
-// [{name: 'baz', object: &lt;obj&gt;, type: 'add'}]
-
-obj.foo = 'hello';
-// [{name: 'foo', object: &lt;obj&gt;, type: 'update', oldValue: 0}]
-
-delete obj.baz;
-// [{name: 'baz', object: &lt;obj&gt;, type: 'delete', oldValue: 2}]
-
-Object.defineProperty(obj, 'foo', {writable: false});
-// [{name: 'foo', object: &lt;obj&gt;, type: 'reconfigure'}]
-
-Object.setPrototypeOf(obj, {});
-// [{name: '__proto__', object: &lt;obj&gt;, type: 'setPrototype', oldValue: &lt;prototype&gt;}]
-
-Object.seal(obj);
-// [
-// {name: 'foo', object: &lt;obj&gt;, type: 'reconfigure'},
-// {name: 'bar', object: &lt;obj&gt;, type: 'reconfigure'},
-// {object: &lt;obj&gt;, type: 'preventExtensions'}
-// ]
-</pre>
-
-<h3 id="데이터_바인딩">데이터 바인딩</h3>
-
-<pre class="brush: js">// A user model
-var user = {
- id: 0,
- name: 'Brendan Eich',
- title: 'Mr.'
-};
-
-// Create a greeting for the user
-function updateGreeting() {
- user.greeting = 'Hello, ' + user.title + ' ' + user.name + '!';
-}
-updateGreeting();
-
-Object.observe(user, function(changes) {
- changes.forEach(function(change) {
- // Any time name or title change, update the greeting
- if (change.name === 'name' || change.name === 'title') {
- updateGreeting();
- }
- });
-});
-</pre>
-
-<h3 id="Custom_change_type">Custom change type</h3>
-
-<pre class="brush: js">// A point on a 2D plane
-var point = {x: 0, y: 0, distance: 0};
-
-function setPosition(pt, x, y) {
- // Performing a custom change
- Object.getNotifier(pt).performChange('reposition', function() {
- var oldDistance = pt.distance;
- pt.x = x;
- pt.y = y;
- pt.distance = Math.sqrt(x * x + y * y);
- return {oldDistance: oldDistance};
- });
-}
-
-Object.observe(point, function(changes) {
- console.log('Distance change: ' + (point.distance - changes[0].oldDistance));
-}, ['reposition']);
-
-setPosition(point, 3, 4);
-// Distance change: 5
-</pre>
-
-<h2 id="Specifications">Specifications</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal for ECMAScript 7</a>.</p>
-
-<h2 id="브라우저_호환성">브라우저 호환성</h2>
-
-<div>{{CompatibilityTable}}</div>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatChrome("36")}}</td>
- <td>{{CompatNo}} [1]</td>
- <td>{{CompatNo}} [2]</td>
- <td>{{CompatOpera("23")}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatChrome("36")}}</td>
- <td>{{CompatNo}} [1]</td>
- <td>{{CompatNo}} [2]</td>
- <td>{{CompatOpera("23")}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<p>[1]: See {{bug(800355)}}</p>
-
-<p>[2]: See relevant <a href="https://dev.modern.ie/platform/status/objectobserve/">MS Edge platform status entry</a></p>
-
-<h2 id="같이_보기">같이 보기</h2>
-
-<ul>
- <li>{{jsxref("Object.unobserve()")}} {{experimental_inline}}</li>
- <li>{{jsxref("Array.observe()")}} {{experimental_inline}}</li>
-</ul>
diff --git a/files/ko/web/javascript/reference/liveconnect/index.html b/files/ko/web/javascript/reference/liveconnect/index.html
deleted file mode 100644
index dfa43d52d0..0000000000
--- a/files/ko/web/javascript/reference/liveconnect/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: LiveConnect
-slug: Web/JavaScript/Reference/LiveConnect
-translation_of: Archive/Web/LiveConnect
----
-<p>이 절(section)은 생성자, 메소드와 함께 LiveConnect에 쓰이는 Java 클래스를 상세히 기록합니다. 이 클래스들은 Java 객체가 JavaScript 코드에 접근할 수 있게 합니다.</p>
-<p><a href="ko/Core_JavaScript_1.5_Reference/LiveConnect/JSException">JSException</a></p>
-<dl>
- <dd>
- public 클래스 <code>JSException</code>은 <code>RuntimeException</code>를 상속하고, JavaScript가 에러를 반환하면 발생됩니다.</dd>
-</dl>
-<p><a href="ko/Core_JavaScript_1.5_Reference/LiveConnect/JSObject">JSObject</a></p>
-<dl>
- <dd>
- public 클래스 <code>JSObject</code>는 <code>Object</code>를 상속합니다. JavaScript 개체는 클래스 <code>JSObject</code>의 인스턴스(instance)로 싸여 Java가 JavaScript 개체를 다루게 하도록 Java에 건네집니다.</dd>
-</dl>
-<p>{{ languages( { "en": "en/Core_JavaScript_1.5_Reference/LiveConnect", "pl": "pl/Dokumentacja_j\u0119zyka_JavaScript_1.5/LiveConnect" } ) }}</p>
diff --git a/files/ko/web/javascript/reference/operators/expression_closures/index.html b/files/ko/web/javascript/reference/operators/expression_closures/index.html
deleted file mode 100644
index bf44be6cd7..0000000000
--- a/files/ko/web/javascript/reference/operators/expression_closures/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: 표현식 클로저
-slug: Web/JavaScript/Reference/Operators/Expression_closures
-tags:
- - Function
- - JavaScript
- - Non-standard
- - Obsolete
- - Operator
- - Reference
-translation_of: Archive/Web/JavaScript/Expression_closures
----
-<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko60")}}
-<div class="warning"><strong>Non-standard. Do not use!</strong><br>
-The expression closure syntax is a deprecated Firefox-specific feature and has been removed starting with Firefox 60. For future-facing usages, consider using <a href="/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions">arrow functions</a>.</div>
-</div>
-
-<p>클로져는 간단한 함수를 작성하기 위한 짧은 함수구문 입니다.</p>
-
-<h2 id="Syntax">Syntax</h2>
-
-<pre class="syntaxbox">function [<em>name</em>]([<em>param1</em>[, <em>param2[</em>, ..., <em>paramN</em>]]])
- <em>expression</em>
-</pre>
-
-<h3 id="Parameters">Parameters</h3>
-
-<dl>
- <dt><code>name</code></dt>
- <dd>함수의 이름입니다. 익명함수의 경우에는 생략할 수 있습니다. 이름은 함수본문에만 국한됩니다.</dd>
- <dt><code>paramN</code></dt>
- <dd>함수에 전달할 인수의 이름입니다. 함수는 최대 255개의 인수를 가질 수 있습니다.</dd>
- <dt><code>expression</code></dt>
- <dd>함수의 본문을 구성하는 표현식입니다.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>이 추가적인 기능은 <a class="external" href="http://en.wikipedia.org/wiki/Lambda_calculus#Lambda_calculus_and_programming_languages">람다 표기법</a>과 비슷한 언어를 제공하기위해 간단한 기능을 작성하는데 필요한 단축형일 뿐입니다.</p>
-
-<p>JavaScript 1.7 and older:</p>
-
-<pre class="brush: js">function(x) { return x * x; }</pre>
-
-<p>JavaScript 1.8:</p>
-
-<pre class="brush: js">function(x) x * x</pre>
-
-<p>이 구문을 사용하면 중괄호나 'return'문을 생략하여 암시적으로 만들 수 있습니다. 코드를 더 짧게 만들 수 있는 것 이외의 이방법으로 얻을 수 있는 추가 이점은 없습니다.</p>
-
-<h2 id="Examples">Examples</h2>
-
-<p>바인딩 이벤트 리스너의 간단한 예제:</p>
-
-<pre class="brush: js"> document.addEventListener('click', function() false, true);
-</pre>
-
-<p>JavaScript 1.6의 일부 배열 함수에 이 표기법을 사용합니다:</p>
-
-<pre class="brush: js">elems.some(function(elem) elem.type == 'text');
-</pre>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-
-
-<p>{{Compat("javascript.operators.expression_closures")}}</p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{jsxref("Functions_and_function_scope", "Functions and function scope")}}</li>
- <li>{{jsxref("Function")}}</li>
- <li>{{jsxref("Statements/function", "function statement")}}</li>
- <li>{{jsxref("Operators/function", "function expression")}}</li>
- <li>{{jsxref("Statements/function*", "function* statement")}}</li>
- <li>{{jsxref("Operators/function*", "function* expression")}}</li>
- <li>{{jsxref("GeneratorFunction")}}</li>
-</ul>
diff --git a/files/ko/web/javascript/reference/operators/generator_comprehensions/index.html b/files/ko/web/javascript/reference/operators/generator_comprehensions/index.html
deleted file mode 100644
index 927b613dc6..0000000000
--- a/files/ko/web/javascript/reference/operators/generator_comprehensions/index.html
+++ /dev/null
@@ -1,174 +0,0 @@
----
-title: 생성기 내포
-slug: Web/JavaScript/Reference/Operators/Generator_comprehensions
-tags:
- - JavaScript
- - Non-standard
- - Obsolete
- - Reference
-translation_of: Archive/Web/JavaScript/Generator_comprehensions
----
-<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko58")}}
-<div class="blockIndicator warning">
-<p><strong>Non-standard. Do not use!</strong><br>
- The generator comprehensions syntax is non-standard and removed starting with Firefox 58. For future-facing usages, consider using {{JSxRef("Statements/function*", "generator", "", 1)}}.</p>
-</div>
-</div>
-
-<p>The <strong>generator comprehension</strong> syntax was a JavaScript expression which allowed you to quickly assemble a new generator function based on an existing iterable object. However, it has been removed from the standard and the Firefox implementation. Do not use it!</p>
-
-<h2 id="Syntax">Syntax</h2>
-
-<pre class="syntaxbox">(for (x of iterable) x)
-(for (x of iterable) if (condition) x)
-(for (x of iterable) for (y of iterable) x + y)
-</pre>
-
-<h2 id="Description">Description</h2>
-
-<p>Inside generator comprehensions, these two kinds of components are allowed:</p>
-
-<ul>
- <li>{{JSxRef("Statements/for...of", "for...of")}} and</li>
- <li>{{JSxRef("Statements/if...else", "if")}}</li>
-</ul>
-
-<p>The <code>for-of</code> iteration is always the first component. Multiple <code>for-of</code> iterations or if statements are allowed.</p>
-
-<p>A significant drawback of {{JSxRef("Operators/Array_comprehensions","array comprehensions","","true")}} is that they cause an entire new array to be constructed in memory. When the input to the comprehension is itself a small array the overhead involved is insignificant — but when the input is a large array or an expensive (or indeed infinite) generator the creation of a new array can be problematic.</p>
-
-<p>Generators enable lazy computation of sequences, with items calculated on-demand as they are needed. Generator comprehensions are syntactically almost identical to array comprehensions — they use parentheses instead of braces— but instead of building an array they create a generator that can execute lazily. You can think of them as short hand syntax for creating generators.</p>
-
-<p>Suppose we have an iterator <code>it</code> which iterates over a large sequence of integers. We want to create a new iterator that will iterate over their doubles. An array comprehension would create a full array in memory containing the doubled values:</p>
-
-<pre class="brush: js">var doubles = [for (i in it) i * 2];
-</pre>
-
-<p>A generator comprehension on the other hand would create a new iterator which would create doubled values on demand as they were needed:</p>
-
-<pre class="brush: js">var it2 = (for (i in it) i * 2);
-console.log(it2.next()); // The first value from it, doubled
-console.log(it2.next()); // The second value from it, doubled
-</pre>
-
-<p>When a generator comprehension is used as the argument to a function, the parentheses used for the function call means that the outer parentheses can be omitted:</p>
-
-<pre class="brush: js">var result = doSomething(for (i in it) i * 2);
-</pre>
-
-<p>The significant difference between the two examples being that by using the generator comprehension, you would only have to loop over the 'obj' structure once, total, as opposed to once when comprehending the array, and again when iterating through it.</p>
-
-<h2 id="Examples">Examples</h2>
-
-<h3 id="Simple_generator_comprehensions">Simple generator comprehensions</h3>
-
-<pre class="brush:js">(for (i of [1, 2, 3]) i * i );
-// generator function which yields 1, 4, and 9
-
-[...(for (i of [1, 2, 3]) i * i )];
-// [1, 4, 9]
-
-var abc = ['A', 'B', 'C'];
-(for (letters of abc) letters.toLowerCase());
-// generator function which yields "a", "b", and "c"
-</pre>
-
-<h3 id="Generator_comprehensions_with_if_statement">Generator comprehensions with if statement</h3>
-
-<pre class="brush: js">var years = [1954, 1974, 1990, 2006, 2010, 2014];
-
-(for (year of years) if (year &gt; 2000) year);
-// generator function which yields 2006, 2010, and 2014
-
-(for (year of years) if (year &gt; 2000) if (year &lt; 2010) year);
-// generator function which yields 2006, the same as below:
-
-(for (year of years) if (year &gt; 2000 &amp;&amp; year &lt; 2010) year);
-// generator function which yields 2006
-</pre>
-
-<h3 id="Generator_comprehensions_compared_to_generator_function">Generator comprehensions compared to generator function</h3>
-
-<p>An easy way to understand generator comprehension syntax, is to compare it with the generator function.</p>
-
-<p>Example 1: Simple generator.</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3];
-
-// Generator function
-(function*() {
- for (let i of numbers) {
- yield i * i;
- }
-})();
-
-// Generator comprehension
-(for (i of numbers) i * i );
-
-// Result: both return a generator which yields [1, 4, 9]
-</pre>
-
-<p>Example 2: Using <code>if</code> in generator.</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3];
-
-// Generator function
-(function*() {
- for (let i of numbers) {
- if (i &lt; 3) {
- yield i * 1;
- }
- }
-})();
-
-// Generator comprehension
-(for (i of numbers) if (i &lt; 3) i);
-
-// Result: both return a generator which yields [1, 2]</pre>
-
-<h2 id="Specifications">Specifications</h2>
-
-<p>Generator comprehensions were initially in the ECMAScript 2015 draft, but got removed in revision 27 (August 2014). Please see older revisions of ES2015 for specification semantics.</p>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-
-
-<p>{{Compat("javascript.operators.generator_comprehensions")}}</p>
-
-<h2 id="Differences_to_the_older_JS1.7JS1.8_comprehensions">Differences to the older JS1.7/JS1.8 comprehensions</h2>
-
-<div class="blockIndicator warning">JS1.7/JS1.8 comprehensions are removed from Gecko 46 ({{bug(1220564)}}).</div>
-
-<p><strong>Old comprehensions syntax (do not use anymore!):</strong></p>
-
-<pre class="brush: js example-bad">(X for (Y in Z))
-(X for each (Y in Z))
-(X for (Y of Z))
-</pre>
-
-<p>Differences:</p>
-
-<ul>
- <li>ES7 comprehensions create one scope per "for" node instead of the comprehension as a whole.
- <ul>
- <li>Old: <code>[...(()=&gt;x for (x of [0, 1, 2]))][1]() // 2</code></li>
- <li>New: <code>[...(for (x of [0, 1, 2]) ()=&gt;x)][1]() // 1, each iteration creates a fresh binding for x. </code></li>
- </ul>
- </li>
- <li>ES7 comprehensions start with "for" instead of the assignment expression.
- <ul>
- <li>Old: <code>(i * 2 for (i of numbers))</code></li>
- <li>New: <code>(for (i of numbers) i * 2)</code></li>
- </ul>
- </li>
- <li>ES7 comprehensions can have multiple <code>if</code> and <code>for</code> components.</li>
- <li>ES7 comprehensions only work with <code>{{JSxRef("Statements/for...of", "for...of")}}</code> and not with <code>{{JSxRef("Statements/for...in", "for...in")}}</code> iterations.</li>
-</ul>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li>{{JSxRef("Statements/for...of", "for...of")}}</li>
- <li>{{JSxRef("Operators/Array_comprehensions", "Array comprehensions")}}</li>
-</ul>
diff --git a/files/ko/web/javascript/reference/operators/배열/index.html b/files/ko/web/javascript/reference/operators/배열/index.html
deleted file mode 100644
index 4bdd29b61c..0000000000
--- a/files/ko/web/javascript/reference/operators/배열/index.html
+++ /dev/null
@@ -1,200 +0,0 @@
----
-title: 배열 내포
-slug: Web/JavaScript/Reference/Operators/배열
-tags:
- - JavaScript
- - Non-standard
- - Obsolete
- - Operator
- - Reference
-translation_of: Archive/Web/JavaScript/Array_comprehensions
----
-<div>{{jsSidebar("Operators")}}</div>
-
-<div class="warning"><strong>표준이 아닙니다. 사용하지 않는 것을 권장합니다!</strong><br>
-Array comprehensions 문법은 비표준이며 Firefox 58부터는 제거됩니다. 향후 사용할 수 없게 되기 때문에 사용하지 않는것을 고려해보세요.<br>
-{{jsxref("Array.prototype.map")}}, {{jsxref("Array.prototype.filter")}}, {{jsxref("Functions/Arrow_functions", "arrow functions", "", 1)}}, and {{jsxref("Operators/Spread_operator", "spread syntax", "", 1)}}.</div>
-
-<div>{{Obsolete_Header(58)}}</div>
-
-<p><strong>array comprehension </strong>문법은 기존의 배열을 기반으로 새로운 배열을 신속하게 어셈블 할 수 있는 JavaScript 표현식입니다. 그러나 표준 및 Firefox 구현에서 제거되었습니다. 사용하지 마세요!</p>
-
-<h2 id="Syntax">Syntax</h2>
-
-<pre class="syntaxbox">[for (x of iterable) x]
-[for (x of iterable) if (condition) x]
-[for (x of iterable) for (y of iterable) x + y]
-</pre>
-
-<h2 id="Description">Description</h2>
-
-<p>배열의 이해로 넘어가서, 다음 두가지의 요소들이 사용가능하다.</p>
-
-<ul>
- <li>{{jsxref("Statements/for...of", "for...of")}} and</li>
- <li>{{jsxref("Statements/if...else", "if")}}</li>
-</ul>
-
-<p>for-of 반복문은 항상 첫번째 요소이다. 여러개의 for-of 반복문이나 if 제어문을 사용할 수 있다.</p>
-
-<p>배열 선언은 ECMAScript 2016에서 이전부터 표준으로 정립되어왔으며, 이는 다른 형태의 데이터(contents)를 이용해서 새로운 배열을 구성할 수 있게 해 준다.</p>
-
-<p>아래의 선언은 숫자로 이루어진 배열 내 각각의 숫자들을 이용해서 double형의 새로운 배열을 만들어준다.</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3, 4];
-var doubled = [for (i of numbers) i * 2];
-console.log(doubled); // logs 2,4,6,8
-</pre>
-
-<p>이것은 {{jsxref("Array.prototype.map", "map()")}} 연산자와 같은 기능을 한다.</p>
-
-<pre class="brush: js">var doubled = numbers.map(i =&gt; i * 2);
-</pre>
-
-<p>배열들은 또한 다양한 표현을 통해 몇몇개의 배열 원소들은 선택할 수 도 있다. 아래의 예제는 바로 홀수만 선택하는 예제이다.</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3, 21, 22, 30];
-var evens = [for (i of numbers) if (i % 2 === 0) i];
-console.log(evens); // logs 2,22,30
-</pre>
-
-<p>{{jsxref("Array.prototype.filter", "filter()")}} 또한 같은 목적으로 얼마든지 사용가능하다.</p>
-
-<pre class="brush: js">var evens = numbers.filter(i =&gt; i % 2 === 0);
-</pre>
-
-<p>{{jsxref("Array.prototype.map", "map()")}} 그리고 {{jsxref("Array.prototype.filter", "filter()")}} 스타일과 같은 연산자들은 단한 배열 선언과 결합할 수 있다. 아래는 짝수만 필터링하고, 그 원소들을 2배씩하는 배열들을 만드는 예제이다.</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3, 21, 22, 30];
-var doubledEvens = [for (i of numbers) if (i % 2 === 0) i * 2];
-console.log(doubledEvens); // logs 4,44,60
-</pre>
-
-<p>배열에서의 [ ] (꺽쇠괄호) 는 범위의 목적으로 암시적인 괄호를 의미한다. {{jsxref("Statements/let","let")}}를 사용하면서 정의된다면, 예제의 i와 같은 변수들이 사용된다. 이는 배열 밖에서 사용할 수 없음을 나타낸다.</p>
-
-<p>배열의 원소에 넣어지는 것은 굳이 배열일 필요는 없다 <a href="/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators" title="en-US/docs/JavaScript/Guide/Iterators and Generators">iterators and generators</a> 물론 가능하다.</p>
-
-<p>심지어 문자열도 배열의 원소로 넣을 수 있다. 필터와 지도 액션과 같은 데에 이용할 수 있다.</p>
-
-<pre class="brush: js">var str = 'abcdef';
-var consonantsOnlyStr = [for (c of str) if (!(/[aeiouAEIOU]/).test(c)) c].join(''); // 'bcdf'
-var interpolatedZeros = [for (c of str) c + '0' ].join(''); // 'a0b0c0d0e0f0'
-</pre>
-
-<p>또한 입력 폼이 유지되지 않으므로, 문자열을 뒤집기 위해 {{jsxref("Array.prototype.join", "join()")}} 를 사용해야 한다.</p>
-
-<h2 id="Examples">Examples</h2>
-
-<h3 id="단순_배열">단순 배열</h3>
-
-<pre class="brush:js">[for (i of [1, 2, 3]) i * i ];
-// [1, 4, 9]
-
-var abc = ['A', 'B', 'C'];
-[for (letters of abc) letters.toLowerCase()];
-// ["a", "b", "c"]</pre>
-
-<h3 id="if문에서의_배열">if문에서의 배열</h3>
-
-<pre class="brush: js">var years = [1954, 1974, 1990, 2006, 2010, 2014];
-[for (year of years) if (year &gt; 2000) year];
-// [ 2006, 2010, 2014 ]
-[for (year of years) if (year &gt; 2000) if (year &lt; 2010) year];
-// [ 2006], the same as below:
-[for (year of years) if (year &gt; 2000 &amp;&amp; year &lt; 2010) year];
-// [ 2006]
-</pre>
-
-<h3 id="map과_filter를_비교한_배열">map과 filter를 비교한 배열</h3>
-
-<p>배열문법을 가장 쉽게 이해하는 방법은, 배열에서 {{jsxref("Array.map", "map")}} 그리고 {{jsxref("Array.filter", "filter")}}메소드를 비교하는 것이다.</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3];
-
-numbers.map(function (i) { return i * i });
-numbers.map(i =&gt; i * i);
-[for (i of numbers) i * i];
-// all are [1, 4, 9]
-
-numbers.filter(function (i) { return i &lt; 3 });
-numbers.filter(i =&gt; i &lt; 3);
-[for (i of numbers) if (i &lt; 3) i];
-// all are [1, 2]
-</pre>
-
-<h3 id="2개의_배열">2개의 배열</h3>
-
-<p>2개의 배열과 2개의 for-of 반복문을 살펴본다.</p>
-
-<pre class="brush: js">var numbers = [1, 2, 3];
-var letters = ['a', 'b', 'c'];
-
-var cross = [for (i of numbers) for (j of letters) i + j];
-// ["1a", "1b", "1c", "2a", "2b", "2c", "3a", "3b", "3c"]
-
-var grid = [for (i of numbers) [for (j of letters) i + j]];
-// [
-// ["1a", "1b", "1c"],
-// ["2a", "2b", "2c"],
-// ["3a", "3b", "3c"]
-// ]
-
-[for (i of numbers) if (i &gt; 1) for (j of letters) if(j &gt; 'a') i + j]
-// ["2b", "2c", "3b", "3c"], the same as below:
-
-[for (i of numbers) for (j of letters) if (i &gt; 1) if(j &gt; 'a') i + j]
-// ["2b", "2c", "3b", "3c"]
-
-[for (i of numbers) if (i &gt; 1) [for (j of letters) if(j &gt; 'a') i + j]]
-// [["2b", "2c"], ["3b", "3c"]], not the same as below:
-
-[for (i of numbers) [for (j of letters) if (i &gt; 1) if(j &gt; 'a') i + j]]
-// [[], ["2b", "2c"], ["3b", "3c"]]
-</pre>
-
-<h2 id="명세">명세</h2>
-
-<p>ECMAScript 2015 초안에 있었지만 개정 27(2014년 8월)에서 삭제되었습니다. specification semantics에 대해서는 ES2015의 이전 버전을 참조하세요.</p>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-<p>{{Compat("javascript.operators.array_comprehensions")}}</p>
-
-<h2 id="오래된_JS1.7JS1.8_comprehensions과의_차이점들">오래된 JS1.7/JS1.8 comprehensions과의 차이점들</h2>
-
-<div class="warning">Gecko에서 JS1.7 / JS1.8 comprehensions가 46 버전부터 제거되었습니다. ({{bug(1220564)}}).</div>
-
-<p><strong>이전에 사용된 문법입니다. (더 이상 사용되지 않음!):</strong></p>
-
-<pre class="brush: js example-bad">[X for (Y in Z)]
-[X for each (Y in Z)]
-[X for (Y of Z)]
-</pre>
-
-<p>차이점:</p>
-
-<ul>
- <li>ESNext comprehensions는 전체comprehension 대신 "for"노드마다 하나의 범위를 만듭니다.
- <ul>
- <li>Old: <code>[()=&gt;x for (x of [0, 1, 2])][1]() // 2</code></li>
- <li>New: <code>[for (x of [0, 1, 2]) ()=&gt;x][1]() // 1, each iteration creates a fresh binding for x. </code></li>
- </ul>
- </li>
- <li>ESNext comprehensions은 assignment expression대신 "for"로 시작합니다.
- <ul>
- <li>Old: <code>[i * 2 for (i of numbers)]</code></li>
- <li>New: <code>[for (i of numbers) i * 2]</code></li>
- </ul>
- </li>
- <li>ESNext comprehensions는 <code>if</code> 및 <code>for</code> 구성 요소를 여러 개 가질 수 있습니다.</li>
- <li>ESNext comprehensions <code>{{jsxref("Statements/for...of", "for...of")}}</code>에서만 동작하고 <code>{{jsxref("Statements/for...in", "for...in")}}</code>에서는 동작하지 않습니다.</li>
-</ul>
-
-<p>버그 업데이트에 대한 제안은 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1220564#c42">Bug 1220564, comment 42</a>를 참조하세요.</p>
-
-<h2 id="더보기">더보기</h2>
-
-<ul>
- <li>{{jsxref("Statements/for...of", "for...of")}}</li>
- <li>{{jsxref("Operators/Generator_comprehensions", "Generator comprehensions", "" ,1)}}</li>
-</ul>
diff --git a/files/ko/web/javascript/reference/statements/for_each...in/index.html b/files/ko/web/javascript/reference/statements/for_each...in/index.html
deleted file mode 100644
index 9fa9901aae..0000000000
--- a/files/ko/web/javascript/reference/statements/for_each...in/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: for each...in
-slug: Web/JavaScript/Reference/Statements/for_each...in
-tags:
- - Deprecated
- - E4X
- - JavaScript
- - Obsolete
- - Statement
-translation_of: Archive/Web/JavaScript/for_each...in
----
-<div>{{jsSidebar("Statements")}}</div>
-
-<div class="warning">
-<p>The <code>for each...in</code> statement is deprecated as the part of ECMA-357 (<a href="/en-US/docs/Archive/Web/E4X" title="/en-US/docs/E4X">E4X</a>) standard. E4X support has been removed. Consider using <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a> instead.<br>
- <br>
- <strong>Firefox now warns about the usage of <code>for each...in</code> and it no longer works starting with Firefox 57.<br>
- Please see <a href="/en-US/docs/Web/JavaScript/Reference/Errors/For-each-in_loops_are_deprecated">Warning: JavaScript 1.6's for-each-in loops are deprecated</a> for migration help.</strong></p>
-</div>
-
-<p><code><strong>for each...in</strong></code> 문은 객체의 모든 속성 값에 대해 지정된 변수를 반복합니다. 각각의 고유한 특성에 대해 지정된 명령문이 실행됩니다.</p>
-
-<h2 id="Syntax">Syntax</h2>
-
-<pre class="syntaxbox">for each (<em>variable</em> in <em>object</em>) {
- <em>statement</em>
-}</pre>
-
-<dl>
- <dt><code>variable</code></dt>
- <dd>var 키워드로 선택적으로 선언된 속성 값을 반복하는 변수입니다. 이 변수는 루프가 아니라 함수의 local이 됩니다.</dd>
-</dl>
-
-<dl>
- <dt><code>object</code></dt>
- <dd>반복될 객체입니다.</dd>
-</dl>
-
-<dl>
- <dt><code>statement</code></dt>
- <dd>각 속성에 대해 실행할 명령문입니다. 루프 내에서 여러 명령문을 실행하려면 블록 명령문 ({...})을 사용하여 해당 명령문을 그룹화하십시오.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>일부 기본 제공 속성은 반복되지 않습니다. 여기에는 객체 기본 제공 메서드 전부가 포함됩니다.</p>
-
-<p>ex) String의 indexOf 메소드.</p>
-
-<p>그러나 사용자가 정의한 모든 속성은 반복됩니다.</p>
-
-<h2 id="Examples">Examples</h2>
-
-<h3 id="Using_for_each...in">Using <code>for each...in</code></h3>
-
-<p><strong>Warning:</strong> Never use a loop like this on arrays. Only use it on objects. See <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in"><code>for...in</code></a> for more details.</p>
-
-<p>The following snippet iterates over an object's properties, calculating their sum:</p>
-
-<pre class="brush:js">var sum = 0;
-var obj = {prop1: 5, prop2: 13, prop3: 8};
-
-for each (var item in obj) {
- sum += item;
-}
-
-console.log(sum); // logs "26", which is 5+13+8</pre>
-
-<h2 id="Specifications">Specifications</h2>
-
-<p>Not part of a current ECMA-262 specification. Implemented in JavaScript 1.6 and deprecated.</p>
-
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-
-
-
-<p>{{Compat("javascript.statements.for_each_in")}}</p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in">for...in</a></code> - a similar statement that iterates over the property <em>names</em>.</li>
- <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a></code> - a similar statement that iterates over the property <em>values</em> but can only be used for iteratable types, so not for generic objects</li>
- <li><code><a href="/en-US/docs/JavaScript/Reference/Statements/for">for</a></code></li>
-</ul>
diff --git a/files/ko/web/security/정보_보안_기본/취약점/index.html b/files/ko/web/security/정보_보안_기본/취약점/index.html
deleted file mode 100644
index 8b7543b414..0000000000
--- a/files/ko/web/security/정보_보안_기본/취약점/index.html
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: 취약점
-slug: Web/Security/정보_보안_기본/취약점
-tags:
- - 보안
- - 웹 보안
- - 초보자
- - 취약점
- - 튜토리얼
-translation_of: Archive/Security/Vulnerabilities
----
-<div class="summary">
-<p>이 글은 취약점이 무엇인지, 그리고 모든 시스템에서 어떻게 나타나는 지에 대하여 다룹니다.</p>
-</div>
-
-<p>취약점은 신뢰성, 무결성 및/또는 가용성에 부정적으로 작용할 수 있는 시스템 내의 약점입니다. 취약점을 분류할 수 있는 방법은 여러가지가 있습니다. 이 글은 소프트웨어 결함, 보안 설정 문제, 그리고 소프트웨어 기능 오용의 세가지 상위 취약점 분류를 사용합니다. 이러한 분류는 아래에서 설명하고 있습니다.</p>
-
-<h2 id="취약점_분류">취약점 분류</h2>
-
-<p><font><em>소프트웨어 결함 취약점</em>은 소프트웨어 설계 또는 코딩에서의 의도하지 않은 오류로 인해 발생합니다. 사용자가 제공한 입력이 알려진 공격과 관련있는 악의적인 문자열이거나 지나치게 긴 값에 대해 적절하게 평가되지 않는 것과 같은 입력 유효성 검사 오류를 그 예로 들 수 있습니다. 또 다른 예로는, 공격자가 상승된 권한으로 특정 작업을 수행할 수 있는 경합 조건 오류가 있습니다.</font></p>
-
-<p><font>보안 구성 설정은 소프트웨어 자체를 통해 변경할 수 있는 소프트웨어 보안의 요소입니다. 설정의 예로는 사용자에게 파일에 대한 권한을 설정하는 제어 목록에 대한 액세스를 제공하는 운영 체제와, 응용 프로그램이 저장한 중요한 데이터의 암호화를 활성화 또는 비활성화하는 응용 프로그램입니다.</font></p>
-
-<p><em>보안 구성 문제 취약점</em>에는 소프트웨어 보안에 부정적인 영향을 주는 보안 구성 설정이 사용됩니다.</p>
-
-<p><font>소프트웨어 기능은 소프트웨어에서 제공하는 기능입니다. </font><font><em>소프트웨어 기능 오용 취약점</em>은 시스템 보안을 손상시키는 방법도 제공합니다. </font><font>이러한 취약점은 소프트웨어 디자이너가 유익한 기능을 제공하도록 허용하는 신뢰 가정을 만드는 한편, 누군가가 보안 손상에 대한 신뢰 가정을 위반할 가능성을 초래하기 때문입니다.</font></p>
-
-<p><font>예를 들어, 이메일 클라이언트 소프트웨어는 이메일 메시지에 HTML컨텐츠를 렌더링 하는 기능을 포함할 수 있습니다. </font><font>공격자는 HTML로 렌더링 된 하이퍼링크가 포함된 사기성 전자 메일 메시지를 조작할 수 있습니다. 하이퍼링크는 수신인에게 양호한 것으로 표시되지만 클릭하면 실제로 수신인을 악성 웹 사이트로 가져옵니다. </font><font>HTML콘텐츠 렌더링 기능 설계 시 신뢰할 수 있는 가정 중 하나는 사용자가 악의적인 하이퍼링크를 수신하지 않고 클릭하지 않는다는 것입니다.</font></p>
-
-<p><font>소프트웨어 기능 오용 취약점은 소프트웨어 또는 소프트웨어 구성 요소의 설계 중에 발생합니다(예:소프트웨어가 구현하는 프로토콜). </font><font>신뢰 가정은 사실일 수 있습니다. 예를 들어, 설계자는 보안 약점을 인식하고 별도의 보안 통제가 이를 보상할 것이라고 판단합니다.</font></p>
-
-<p><font>그러나, 신뢰가 도입할 위험을 먼저 평가하지 않고 특징을 생성하는 것과 같이, 신뢰 가정은 주로  암묵적입니다. 위협 요소는 소프트웨어 수명 주기 또는 소프트웨어에 사용되는 프로토콜에 따라 변경될 수도 있습니다.</font></p>
-
-<p><font>예를 들어 주소 결정 프로토콜(ARP)는 ARP 응답이 매체 접근 제어(MAC) 및 인터넷 프로토콜(IP) 주소 간의 올바른 매핑을 포함하고 있다고 신뢰합니다. </font><font>ARP 캐시는 유용한 서비스를 제공하기 위해 이 정보를 사용하여 로컬 네트워크 내의 장치 간에 데이터를 보낼 수 있도록 합니다. </font><font>하지만 공격자는 잘못된 ARP 메시지를 생성하여 시스템의 ARP 테이블을 손상시키고 서비스 거부 또는 메시지 가로채기(man-in-the-middle)공격을 시작합니다.</font></p>
-
-<p><font>ARP 프로토콜은 25년 전에 표준화되었으며, 그 이후로 위협이 크게 변화하여, 설계에 내재한 신뢰 가정이 현재에도 여전히 타당하지는 않을 것입니다.</font></p>
-
-<p><font>소프트웨어 기능 오용 취약점을 다른 두 범주와 구별하기 어려울 수도 있습니다. 예를 들어, 소프트웨어 결함 및 오용 취약점은 소프트웨어 설계 프로세스의 결함으로 인해 발생할 수 있습니다. 하지만 소프트웨어 결함은 보안이나 기능에 긍정적인 이점을 제공하지 않으므로 추가 기능 제공의 결과로 소프트웨어 기능 오용 취약점이 발생할 수 있습니다.</font></p>
-
-<p><font>또한 어떤 면에서 구성된 방식으로 기능을 활성화하거나 비활성화할 수 있는 기능의 오용 취약점과 보안 구성 문제에  대해서도 혼동이 발생할 수 있습니다. 주요 차이점은 오용 취약점의 경우 구성 설정이 전체 기능을 활성화 또는 비활성화하고 전체 기능만 특별히 변경하지 않는다는 것입니다. 보안 구성 문제의 경우 구성 설정은 소프트웨어의 보안만 변경합니다.</font></p>
-
-<p><font>예를 들어 전자 메일에서 HTML을 모두 사용할 수 없도록 설정하면 보안 및 기능에 큰 영향을 미치므로 이 설정과 관련된 취약성은 오용 취약점이 됩니다. 전자 메일 클라이언트에서 암호화 기능을 사용하지 않도록 설정하면 보안에만 큰 영향을 미치므로 이 설정의 취약점은 보안 구성 문제 취약성으로 간주됩니다.</font></p>
-
-<h2 id="취약점의_존재">취약점의 존재</h2>
-
-<p><font>100% 안전한 시스템은 없습니다. 모든 시스템에 취약점이 있습니다. 어</font><font>느 때나 시스템에 알려진 소프트웨어 결함이 없을 수 있지만 보안 구성 문제 및 소프트웨어 기능 오용 취약점은 항상 존재합니다.</font></p>
-
-<p><font>각 기능은 신뢰성 평가를 기반으로 해야 하기 때문에 소프트웨어 기능에는 남용 취약점이 내재되어 있으며, 이러한 가정은 상당한 비용과 노력이 수반되지만 손상될 수 있습니다. </font><font>보안 구성 문제도 다음의 두가지 이유로 불가피합니다.</font></p>
-
-<p><font>첫째, 대부분의 구성 설정은 기능을 줄이는 대신 보안을 강화하므로 가장 안전한 설정을 사용하면 소프트웨어를 사용할 수 없거나 사용할 수 없게 될 수 있습니다. </font><font>둘째, 많은 보안 설정은 보안에 긍정적인 영향과 부정적인 영향을 모두 미칩니다.</font></p>
-
-<p><font>예를 들어, 사용자 계정을 잠그기 전에 허용하려는 연속적인 인증 실패 횟수를 들 수 있습니다. </font><font>이를 1로 설정하면 암호 추측 공격에 대한 가장 안전한 설정이 되지만 합법적인 사용자가 암호를 한번 잘못 해독하면 계정 하나를 더 쉽게 생성할 수 있습니다.</font></p>
-
-<p><font>보안 구성 설정 및 소프트웨어 기능 오용 가능성에 내재된 취약점의 수와 지정된 시간에 시스템의 소프트웨어 결함 취약점의 수 때문에 단일 시스템에는 수 십 개 또는 수 백 개의 취약점이 있을 수 있습니다.</font></p>
-
-<p><font>이러한 취약점은 다양한 특성을 가질 수 있습니다. </font><font>어떤 것들은 매우 이용하기 쉬운 반면, 다른 것들은 매우 가능성이 적은 조건들의 조합에 의해서만 설명될 수 있을 것이다.</font></p>
-
-<p><font>한 취약점은 시스템에 대한 루트 수준 액세스를 제공하는 반면 다른 취약성은 중요하지 않은 파일에 대한 읽기 액세스만 허용할 수 있습니다.</font></p>
-
-<p><font>궁극적으로 조직은 누군가가 각 취약성을 이용하는 것이 얼마나 어려운지, 그리고 취약점을 이용할 경우 어떤 영향을 미칠 수 있는지 알아야 합니다.</font></p>
-
-<h2 id="웹사이트의_취약점">웹사이트의 취약점</h2>
-
-<p><font>OWASP또는 Open Web Security Project는 소프트웨어 및 웹 응용 프로그램의 보안을 향상시키는 데 초점을 맞춘 비영리 자선 단체입니다. Open Web Application Security Project에 따르면, XSS는 2017년에</font> <a href="https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf" rel="noopener">7번째로 흔한 웹 응용 프로그램 취약점</a> <font>이었습니다.</font></p>
-
-<p><font>이 단체은 다양한 보안 조직의 데이터를 기반으로 상위 웹 보안 취약점 목록을 게시합니다.</font></p>
-
-<p><a href="https://developer.mozilla.org/en-US/docs/Web/Security">웹 보안</a><font>취약성은 WordPress, Joomla, Magento, Wocommerce등의 CMS가 될 수 있는 배포 가능성, 탐지 가능성 및 소프트웨어 영향에 따라 우선 순위가 지정됩니다.</font></p>
-
-<p><font>다음은 자신을 보호해야 하는 6가지 가장 일반적인 웹 사이트 취약성입니다.</font></p>
-
-<p><font><font>1. SQL주입</font></font><br>
- 2. <a href="https://developer.mozilla.org/en-US/docs/Glossary/Cross-site_scripting">사이트간 스크립팅(XSS)</a><br>
- <font><font>3. 망가진 인증 및 세션 관리<a href="https://papago.naver.net/apis/site/proxy?data=lY2EyqzIfo3Oypv5go3ccoTkuYz9lMl9yov1IHl9xo2AmY0SlL2ucqzHiFJEyoaEcqUyALJ5uM2IlVa1IC0RlrlW1pzjvBvWbqUEjpmbi">-</a></font></font><a href="https://developer.mozilla.org/en-US/docs/Archive/IdentityManager"> IdentityManager</a><br>
- <font><font>4. 안전하지 않은 직접 객체 참조 <a href="https://papago.naver.net/apis/site/proxy?data=JW1pzjvBvWbqUEjpmbiY2EyqzIfo3Oypv5go3ccoTkuYz9lMl9yov1IHl9xo2AmY0qfo3AmLKW5Y0ECGFW9F3EHrl">- </a></font></font><a href="https://developer.mozilla.org/en-US/docs/Glossary/DOM">DOM (문서 객체 모델)</a><br>
- <font><font>5. 보안 오구성</font></font><br>
- 6. <a href="https://developer.mozilla.org/en-US/docs/Glossary/CSRF">사이트 간 요청 위조(CSRF)</a></p>
-
-<h2 id="See_also">See also</h2>
-
-<ul>
- <li><a class="external" href="https://www.owasp.org/">Open Web Application Security Project (OWASP)</a></li>
- <li><a href="https://cve.mitre.org/">Common Vulnerabilities and Exposures (CVE)</a></li>
- <li><a href="https://secure.wphackedhelp.com/blog/wordpress-vulnerabilities-how-to-fix-guide-tools/">Common WordPress Security Vulnerabilities</a></li>
- <li><a href="https://en.wikipedia.org/wiki/Vulnerability_database">Vulnerability database</a></li>
-</ul>
-
-<div class="originaldocinfo">
-<h3 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h3>
-
-<ul>
- <li>Author(s): Elizabeth LeMay, Karen Scarfone, and Peter Mell</li>
- <li>Title: National Institute of Standards and Technology (NIST) Interagency Report 7864, The Common Misuse Scoring System (CMSS): Metrics for Software Feature Misuse Vulnerabilities</li>
- <li>Last Updated Date: July 2012</li>
- <li>Copyright Information: This document is not subject to copyright.</li>
-</ul>
-</div>
-
-<p>{{QuickLinksWithSubpages("/en-US/docs/Web/Security")}}</p>
diff --git a/files/ko/webapi/alarm/index.html b/files/ko/webapi/alarm/index.html
deleted file mode 100644
index 16c18d9bce..0000000000
--- a/files/ko/webapi/alarm/index.html
+++ /dev/null
@@ -1,181 +0,0 @@
----
-title: Alarm API
-slug: WebAPI/Alarm
-translation_of: Archive/B2G_OS/API/Alarm_API
----
-<p>{{ SeeCompatTable() }}</p>
-<h2 id="개요">개요</h2>
-<p>Alarm API는 스케줄 알림, 또는 어플리케이션이 동작할 특정 시간을 설정한다. 알람 같은 어플리케이션 -시계, 달력, 자동 업데이트 등-은 특정 시간의 동작을 활성화해주는 <span style="line-height: inherit;">Alarm API가 필요하다.</span></p>
-<p>알람은 시스템 메시지 API를 통해 어플리케이션으로 전달된다. 알람 메시지에 허가된 어플리케이션은 알람을 사용할 수 있다.</p>
-<p>알람은 {{domxref("MozAlarmsManager")}} 인터페이스의 인스턴스 객체인 <span style="line-height: inherit;">{{domxref("window.navigator.mozAlarms")}} 로 설정한다.</span></p>
-<p> </p>
-<h2 id="example" name="example">알람 일정 설정하기 </h2>
-<p>알람을 사용할 때는 시간 설정 부터 시작한다. 표준 시간대(타임존) 기준으로 두가지의 알람이 있지만 공통적으로 {{domxref("MozAlarmsManager.add")}} 메소드를 사용한다.</p>
-<div class="note">
- <p><strong>Note:</strong>  알람이 특정 어플리케이션에 타겟팅 되지 않았다면 시스템은 알람을 기다리는 모든 어플리케이션에 신호를 전달할 것이다.</p>
-</div>
-<h3 id="표준_시간대를_무시하는_알람">표준 시간대를 무시하는 알람</h3>
-<p>이 알람은 기기의 로컬 시간대에 맞춰 전송된다. 사용자가 시간대를 변경하면, 알람은 새로운 시간대에 맞춰 전송될 것이다. 예를 들면, 파리의 사용자가 CET <span style="line-height: inherit;">(</span><em>Central European Time</em><span style="line-height: inherit;">) 기준으로 오후 12시에 알람을 설정하다가 샌프란시스코로 이동하면 PDT </span><span style="line-height: inherit;">(</span><em>Pacific Daylight Time</em><span style="line-height: inherit;">) 기준의 오후 12시에 알람을 받는다.</span></p>
-<pre class="brush: js">// 알람 일정
-var myDate = new Date("May 15, 2012 16:20:00");
-
-// 알람이 울릴 때 사용할 임의의 데이터
-
-var data = {
- foo: "bar"
-}
-
-// 표준시간대를 무시하도록 "ignoreTimezone" 설정
-var request = navigator.mozAlarms.add(myDate, "ignoreTimezone", data);
-
-request.onsuccess = function () {
- console.log("The alarm has been scheduled");
-};
-
-request.onerror = function () {
- console.log("An error occurred: " + this.error.name);
-};
-</pre>
-<h3 id="표준_시간대_기준의_알람">표준 시간대 기준의 알람</h3>
-<p>이 알람은 알람 일정을 정한 당시의 표준 시간에 맞춰 알람 신호가 전송된다. 사용자가 시간대를 변경하더라도 표준 시간대에 맞춰 알람이 울릴 것이다. 예를 들면, 파리의 사용자가 CET 기준 오후 12시에 설정하고 샌프란시스코로 이동한다면 PDT 기준 오전 3시에 알람이 울릴 것이다.</p>
-<pre class="brush: js">// 알람 일정
-var myDate = new Date("May 15, 2012 16:20:00");
-
-// 알람이 울릴 때 사용할 임의의 데이터
-var data = {
- foo: "bar"
-}
-
-// 표준 시간대를 반영한 알람을 사용하도록 "honorTimezone" 설정
-var request = navigator.mozAlarms.add(myDate, "honorTimezone", data);
-
-request.onsuccess = function () {
- console.log("The alarm has been scheduled");
-};
-
-request.onerror = function () {
- console.log("An error occurred: " + this.error.name);
-};
-</pre>
-<h2 id="알람_관리">알람 관리 </h2>
-<p>알람을 한번 생성하면 계속 관리할 수 있다.</p>
-<p>{{domxref("MozAlarmsManager.getAll")}} 메소드는 현재 설정된 모든 알람 리스트를 반환한다. 이 리스트는 {{Anch("mozAlarm")}} 객체의 배열이다.</p>
-<h3 id="mozAlarm">mozAlarm</h3>
-<p>{{page("/en-US/docs/Web/API/MozAlarmsManager.getAll","mozAlarm")}}</p>
-<pre class="brush: js">var request = navigator.mozAlarms.getAll();
-
-request.onsuccess = function () {
- this.result.forEach(function (alarm) {
- console.log('Id: ' + alarm.id);
- console.log('date: ' + alarm.date);
- console.log('respectTimezone: ' + alarm.respectTimezone);
- console.log('data: ' + JSON.stringify(alarm.data));
- });
-};
-
-request.onerror = function () {
- console.log("An error occurred: " + this.error.name);
-};
-</pre>
-<p>{{domxref("MozAlarmsManager.remove")}} : 알람 설정 해제</p>
-<pre class="brush: js">var alarmId;
-
-// 알람 설정 &amp; request 변수에 알람 id 저장
-var request = navigator.mozAlarms.add(new Date("May 15, 2012 16:20:00"), "honorTimezone");
-
-request.onsuccess = function () {
- alarmId = this.result.id;
-}
-
-// ...
-
-// 알람 해제
-if (alarmId) {
- navigator.mozAlarms.remove(alarmId);
-}
-</pre>
-<h2 id="알람_다루기">알람 다루기 </h2>
-<p>시스템이 알람 신호를 전송할 때는 모든 어플리케이션에서 받아 쓸 수 있다. 어플리케이션에서 알람을 사용하려면 알람 핸들러의 권한을 추가해야 한다. 이는, 시스템 메시징 API의 두 단계를 거치면 된다.: </p>
-<p>1, <a href="/en-US/docs/Apps/Manifest#messages" title="/en-US/docs/Apps/Manifest#messages">application manifest</a> 의 message property에 <code>alarm property를 추가하고 알람 신호를 받아서 사용할 콜백 함수가 등록된 문서의 URL 경로를 입력한다.</code></p>
-<pre class="brush: js">"messages": [
- { "alarm": "/index.html" }
-]</pre>
-<p>2. 어플리케이션에 <code>alarm</code> message에 대한 콜백 함수를 추가한다. {{domxref("window.navigator.mozSetMessageHandler","navigator.mozSetMessageHandler")}} 메소드를 사용한다. 이 콜백 함수는 알람 관련 데이터가 포함된 {{Anch("mozAlarm")}} 객체에 접근할 수 있다.</p>
-<pre class="brush: js">navigator.mozSetMessageHandler("alarm", function (mozAlarm) {
- alert("alarm fired: " + JSON.stringify(mozAlarm.data));
-});
-</pre>
-<p>어플리케이션이 시스템 레벨에서 아직 동작하지 않은 알람의 유무를 파악하고 싶다면 {{domxref("window.navigator.mozHasPendingMessage","navigator.mozHasPendingMessage")}} 메소드의 value를 "<code>alarm"으로 설정하면 된다.</code></p>
-<pre class="brush: js">navigator.mozHasPendingMessage("alarm");
-</pre>
-<h2 id="명세">명세 </h2>
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Alarm API')}}</td>
- <td>{{Spec2('Alarm API')}}</td>
- <td>Initial specification.</td>
- </tr>
- </tbody>
-</table>
-<h2 id="브라우저_호환">브라우저 호환</h2>
-<p>{{ CompatibilityTable() }}</p>
-<div id="compat-desktop">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatUnknown()}}</td>
- <td>{{CompatGeckoDesktop("16")}} {{ property_prefix("moz") }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<div id="compat-mobile">
- <table class="compat-table">
- <tbody>
- <tr>
- <th>Feature</th>
- <th>Android</th>
- <th>Chrome for Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Basic support</td>
- <td>{{ CompatUnknown() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{CompatGeckoMobile("10")}} {{ property_prefix("moz") }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- <td>{{ CompatNo() }}</td>
- </tr>
- </tbody>
- </table>
-</div>
-<h2 id="관련">관련 </h2>
-<ul>
- <li>{{domxref("window.navigator.mozAlarms","navigator.mozAlarms")}}</li>
- <li>{{domxref("MozAlarmsManager")}}</li>
- <li>{{domxref("window.navigator.mozSetMessageHandler")}}</li>
-</ul>
diff --git a/files/ko/webapi/contacts/index.html b/files/ko/webapi/contacts/index.html
deleted file mode 100644
index 277b5fb146..0000000000
--- a/files/ko/webapi/contacts/index.html
+++ /dev/null
@@ -1,210 +0,0 @@
----
-title: Contacts
-slug: WebAPI/Contacts
-translation_of: Archive/B2G_OS/API/Contacts_API
----
-<section class="Quick_links" id="Quick_Links">
-<ol>
- <li><strong><a href="/en-US/docs/Web/API/Contacts_API">Contacts API</a></strong></li>
- <li data-default-state="open"><a href="#"><strong>Interfaces</strong></a>
- <ol>
- <li><a href="/en-US/docs/Web/API/ContactManager"><code>ContactManager</code></a></li>
- <li><a href="/en-US/docs/Web/API/MozContact"><code>MozContact</code></a></li>
- <li><a href="/en-US/docs/Web/API/MozContactChangeEvent"><code>MozContactChangeEvent</code></a></li>
- </ol>
- </li>
- <li data-default-state="open"><a href="#"><strong>Properties</strong></a>
- <ol>
- <li><a href="/en-US/docs/Web/API/Navigator/mozContacts"><code>Navigator.mozContacts</code></a></li>
- </ol>
- </li>
- <li data-default-state="open"><a href="#"><strong>Events</strong></a>
- <ol>
- <li><a href="/en-US/docs/Web/Events/success"><code>success</code></a></li>
- <li><a href="/en-US/docs/Web/Events/error"><code>error</code></a></li>
- <li><a href="/en-US/docs/Web/Events/contactchange"><code>contactchange</code></a></li>
- </ol>
- </li>
-</ol>
-</section>
-
-<div class="overheadIndicator nonStandard nonStandardHeader">
-<p><strong>Non-standard</strong><br>
- This feature is not on a current W3C standards track, but it is supported on the Firefox OS platform. Although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to Firefox OS apps.</p>
-</div>
-
-<div class="warning">
-<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">privileged or certified applications</a> only.</p>
-</div>
-
-<h2 id="요약">요약</h2>
-
-<p>주소록 API는 사용자 시스템의 주소록을 관리할 수 있는 간단한 인터페이스를 제공합니다. 주소록 API의 전형적인 사용 예는 주소록을 관리하는 어플리케이션을 제작하는 일입니다.</p>
-
-<div class="note">
-<p><strong>주의:</strong> 사용자의 연락처와 같은 개인 정보는 민감한 자료이기 때문에 권한 앱이나 인증입만이 이 API에 직접 접근할 수 있습니다. 다른 어플리케이션은 <a href="/ko/docs/WebAPI/Web_Activities" title="/ko/docs/WebAPI/Web_Activities">Web Activities</a>를 사용해서 연락처에 접근하는 작업을 수행하게 하는 일을 권장합니다.</p>
-</div>
-
-<h2 id="연락처_관리">연락처 관리</h2>
-
-<p>시스템의 주소록에 저장된 연락처는 {{domxref("window.navigator.mozContacts","navigator.mozContacts")}} 속성을 통해서 접근할 수 있습니다. 이 속성은 {{domxref("ContactManager")}} 인터페이스의 인스턴스입니다.</p>
-
-<h3 id="연락처_추가">연락처 추가</h3>
-
-<p>시스템의 주소록에 새로운 항목을 추가하는 일은 두가지 단계를 거칩니다:</p>
-
-<ol>
- <li>필요한 속성이 담긴 새로운 {{domxref("mozContact")}} 객체와 필드 인스턴스를 만듭니다. {{domxref("mozContact")}} 인터페이스는 추가할 연락처의 모든 가능한 속성을 정의하고 있습니다. 이 속성들은 대부분 아래에 나온 예외를 제외하고 vCard 4.0 명세의 내용과 거의 비슷합니다:
- <ul>
- <li>vCard N 속성은 다음 5개의 속성으로 나눠졌습니다: {{domxref("mozContact.familyName","familyName")}}, {{domxref("mozContact.givenName","givenName")}}, {{domxref("mozContact.additionalName","additionalName")}}, {{domxref("mozContact.honorificPrefix","honorificPrefix")}}, {{domxref("mozContact.honorificSuffix","honorificSuffix")}}</li>
- <li>vCard FN 속성은 {{domxref("mozContact.name","name")}}으로 이름이 변경되었습니다.</li>
- <li>vCard GENDER 속성은 다음 2개의 속성으로 나눠졌습니다: {{domxref("mozContact.sex","sex")}}, {{domxref("mozContact.genderIdentity","genderIdentity")}}</li>
- </ul>
- </li>
- <li>연락처 객체를 첫번째 파라메터로 해서 {{domxref("ContactManager.save()")}} 메서드를 사용합니다. 이 메서드는 {{domxref("DOMRequest")}}를 반환해서 성공 여부를 확인할 수 있게 해줍니다.</li>
-</ol>
-
-<pre class="brush: js">var person = new mozContact();
-person.givenName = ["John"];
-person.familyName = ["Doe"];
-person.nickName = ["No kidding"];
-
-var saving = navigator.mozContacts.save(person);
-
-saving.onsuccess = function() {
- console.log('new contact saved');
- // This update the person as it is stored
- // It includes its internal unique ID
- // Note that saving.result is null here
-};
-
-saving.onerror = function(err) {
- console.error(err);
-};
-</pre>
-
-<h3 id="연락처_찾기">연락처 찾기</h3>
-
-<p>시스템의 주소록에서 연락처를 가져오는 두개의 메서드가 있습니다:</p>
-
-<ul>
- <li>특정 목록을 가져오기 위해서는 {{domxref("ContactManager.find()")}}를 사용합니다.</li>
- <li>모든 연락처를 가져오기 위해서는 {{domxref("ContactManager.getAll()")}}를 사용합니다.</li>
-</ul>
-
-<p>두 메서드는 필터와 정렬 옵션을 정의하는 객체를 파라메터로 사용합니다. {{domxref("ContactManager.getAll")}}은 정렬 옵션만을 사용합니다. 이 옵션은 다음과 같습니다:</p>
-
-<ul>
- <li><code>sortBy</code>: 검색 결과가 정렬될 필드를 나타내는 문자열입니다. 현재는 givenName과 familyName 만 지원합니다.</li>
- <li><code>sortOrder</code>: 결과의 정렬 순서를 나타내는 문자열입니다. <code>descending</code>과 <code>ascending</code>을 사용할 수 있습니다.</li>
-</ul>
-
-<p>필터 옵션은 다음과 같습니다:</p>
-
-<ul>
- <li><code>filterBy</code>: 필터가 적용될 필드를 나타내는 문자열의 배열입니다.</li>
- <li><code>filterValue</code>: 대조할 값을 나타냅니다.</li>
- <li><code>filterOp</code>: 사용할 필터 비교 연산입니다. 가능한 값으로는 equals, startsWith, match가 있습니다. 후자는 특정 전화번호를 나타냅니다.</li>
- <li><code>filterLimit</code>: {{domxref("ContactManager.find()","find")}} 메서드로 가져올 연락처의 갯수입니다.</li>
-</ul>
-
-<p>{{domxref("ContactManager.find","find")}}는 {{domxref("DOMRequest")}} 객체를 반환하고 {{domxref("ContactManager.getAll","getAll")}}는 {{domxref("DOMCursor")}} 객체를 반환해서 검색의 성공 실패 여부를 확인할 수 있습니다.</p>
-
-<p>검색이 성공적으로 완료되면 검색 결과는 {{domxref("DOMRequest.result")}} 속성을 통해서 사용할 수 있고 {{domxref("ContactManager.find","find")}}의 경우에는 {{domxref("mozContact")}} 객체의 배열이, {{domxref("ContactManager.getAll","getAll")}}의 경우에는 하나의 {{domxref("mozContact")}} 객체가 반환됩니다. {{domxref("ContactManager.getAll","getAll")}}에서 다음 결과를 사용하려면 커서의 <code>continue()</code> 메서드를 사용합니다.</p>
-
-<pre class="brush: js">var options = {
- filterValue : "John",
- filterBy : ["givenName","name","nickName"],
- filterOp : "contains",
- filterLimit : 1,
- sortBy : "familyName"
- sortOrder : "ascending"
-}
-
-var search = navigator.mozContacts.find(options);
-
-search.onsuccess = function() {
- if (search.result.length === 1) {
- var person = search.result[0];
- console.log("Found:" + person.givenName[0] + " " + person.familyName[0]);
- } else {
- console.log("Sorry, there is no such contact.")
- }
-}
-
-search.onerror = function() {
- console.warn("Uh! Something goes wrong, no result found!");
-}
-
-var allContacts = navigator.mozContacts.getAll({sortBy: "familyName", sortOrder: "descending"});
-
-allContacts.onsuccess = function(event) {
- var cursor = event.target;
- if (cursor.result) {
- console.log("Found: " + cursor.result.givenName[0] + " " + cursor.result.familyName[0]);
- cursor.continue();
- } else {
- console.log("No more contacts");
- }
-}
-
-allContacts.onerror = function() {
- console.warn("Something went terribly wrong! :(");
-}
-</pre>
-
-<h3 id="연락처_수정">연락처 수정</h3>
-
-<p>{{domxref("ContactManager.find()","find()")}}나 {{domxref("ContactManager.getAll()","getAll()")}}(또는 새 연락처를 {{domxref("ContactManager.save()","save()")}}로 성공적으로 저장한 후)로 연락처를 가져오면 이 연락처에는 몇가지 메타데이터가 붙습니다:</p>
-
-<ul>
- <li>{{domxref("mozContact.id")}}로 사용할 수 있는 유일한 ID 값</li>
- <li>마지막으로 연락처가 수정된 시각을 나타내는 {{domxref("mozContact.updated")}}의 <a href="/ko/docs/JavaScript/Reference/Global_Objects/Date" title="/ko/docs/JavaScript/Reference/Global_Objects/Date">Date</a> 객체</li>
-</ul>
-
-<p>연락처를 수정하기 위해서는 속성값을 변경한 다음에 {{domxref("ContactManager.save()","save()")}} 메서드를 사용해서 저장하면 됩니다.</p>
-
-<div class="note">
-<p><strong>주의:</strong> 연락처가 추가되거나 수정, 삭제되면 {{event("contactchange")}} 이벤트가 발생하고 이를 통해 시스템 주소록의 변경사항을 추적할 수 있습니다. 이 이벤트는 {{domxref("ContactManager.oncontactchange")}} 속성을 이용해서 다룰 수 있습니다.</p>
-</div>
-
-<h3 id="연락처_삭제">연락처 삭제</h3>
-
-<p>{{domxref("ContactManager.remove()")}} 메서드를 사용해서 간단하게 전달된 {{domxref("mozContact")}} 객체를 삭제할 수 있습니다.</p>
-
-<p>특수한 경우에는 모든 연락처 정보를 삭제할 수도 있습니다. {{domxref("ContactManager.clear()")}}를 사용하면 됩니다. 이 메서드를 사용할 때에는 특히 주의해야 합니다. 다시 되돌릴 수 있는 방법이 없습니다.</p>
-
-<h2 id="Specifications" name="Specifications">명세</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{ SpecName('Contacts', '', 'Contacts Manager API') }}</td>
- <td>{{ Spec2('Contacts') }}</td>
- <td>First Working Draft (unstable)</td>
- </tr>
- <tr>
- <td><a href="http://tools.ietf.org/html/rfc6350" title="http://tools.ietf.org/html/rfc6350">vCard Format Specification</a></td>
- <td>RFC</td>
- <td><code>RFC6350</code></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="브라우저_호환성">브라우저 호환성</h2>
-
-<h2 id="참고_자료">참고 자료</h2>
-
-<ul>
- <li>{{domxref("window.navigator.mozContacts","navigator.mozContacts")}}</li>
- <li>{{domxref("mozContact")}}</li>
- <li>{{domxref("ContactManager")}}</li>
- <li>{{domxref("MozContactChangeEvent")}}</li>
-</ul>
diff --git a/files/ko/webapi/idle/index.html b/files/ko/webapi/idle/index.html
deleted file mode 100644
index eeb10abccf..0000000000
--- a/files/ko/webapi/idle/index.html
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: Idle API
-slug: WebAPI/Idle
-translation_of: Archive/B2G_OS/API/Idle_API
----
-<div>
- {{non-standard_header}} {{B2GOnlyHeader2('certified')}}</div>
-<h2 id="Summary">Summary</h2>
-<p>Idle API 는 사용자가 유휴상태(idle) 상태가 되었음을 앱에 알려주는데 사용됩니다.</p>
-<p>이것은 사용자가 자신의 디바이스에 아무것도 하지 않을 때에 앱이 동작을 취할 수 있게 해줍니다. 가장 많이 사용하는 경우는 배터리를 아끼기 위한 것으로 이 경우 보통 <a href="/en-US/docs/WebAPI/Power_Management">Power Management API</a> 와 함께 사용됩니다.</p>
-<h2 id="유휴_상태의_사용자_관찰하기">유휴 상태의 사용자 관찰하기</h2>
-<p>시스템이 유휴상태일 때 어플리케이션으로 부터 알림을 받기 위해서는 <strong>idle observer</strong>에 꼭 등록을 하여야 한다. idle observer는 세가지 특성을 가지고 있는 오브젝트이다:</p>
-<ul>
- <li><code>time</code>은 사용자의 마지막 동작 이후부터 유휴 상태라고 여길때까지의 시간(초)을 정의한다.</li>
- <li><code>onidle</code>은 사용자가 유휴 상태라고 여겨질 때 함수를 호출한다.</li>
- <li><code>onactive</code>는 사용자가 유휴 상태였다가 활성화 되었을 때 함수를 호출한다.</li>
-</ul>
-<h3 id="예제_사용자가_반응이_없을때_화면을_어둡게_하기">예제: 사용자가 반응이 없을때 화면을 어둡게 하기</h3>
-<p>이 예제에서, 10초 동안 사용자의 반응이 없을 때 유휴 관찰자(=idle observer)는 화면을 50% 밝기로 어둡게 한다 그리고 다시 사용자의 반응이 나타나면 100% 밝기로 돌려 놓는다. 두번째 유휴 관찰자 는 15초 동안 사용자 반응이 없을때 화면을 꺼 버린다.</p>
-<pre class="brush: js">// NOTE: mozPower is part of the Power Management API
-
-var fadeLight = {
- time: 10, // Ten seconds
-
- onidle: function () {
- // The user does not seem active, let's dim the screen down
- navigator.mozPower.screenBrightness = 0.5;
- },
-
- onactive: function () {
- // Ok, the user is back, let's brighten the screen up
- navigator.mozPower.screenBrightness = 1;
- }
-}
-
-var screenOff = {
- time: 15, // fifteen seconds
-
- onidle: function () {
- // Ok, the user had his chance but he's really idle, let's turn the screen off
- navigator.mozPower.screenEnabled = false;
- },
-
- onactive: function () {
- // Ok, the user is back, let's turn the screen on
- navigator.mozPower.screenEnabled = true;
- }
-}
-
-// Register the idle observers
-
-navigator.addIdleObserver(fadeLight);
-navigator.addIdleObserver(screenOff);
-</pre>
-<p>이 코드에는 <code>fadeLight</code> 와 <code>screenOff 라는 두 유휴 관찰자를 정의한뒤</code>, <span style="line-height: inherit;">시스템에 등록하기 위하여 각각 </span><span style="line-height: inherit;">{{domxref("window.navigator.addIdleObserver","navigator.addIdleObserver()")}} 를 한번씩 호출한다. 어플리케이션은 필요한 만큼에 유휴 관찰자를 등록할 수 있다.</span></p>
-<p>만약 어플리케이션에서 사용자의 반응이 없어지는지 더이상 관찰이 필요 없는 경우, 아래 예제 코드의 예처럼 유휴 관찰자를{{domxref("window.navigator.removeIdleObserver","navigator.removeIdleObserver()")}} 메서드를 통해 제거할 수 있다.</p>
-<pre class="brush:js">navigator.removeIdleObserver(fadeLight);
-navigator.removeIdleObserver(screenOff);
-</pre>
-<h2 id="Specification">Specification</h2>
-<p>Not part of any specification yet; however, this API will be discussed at W3C as part of the <a href="http://www.w3.org/2012/sysapps/" rel="external">System Applications Working Group</a>.</p>
-<h2 id="See_also">See also</h2>
-<ul>
- <li>{{domxref("window.navigator.addIdleObserver","navigator.addIdleObserver()")}}</li>
- <li>{{domxref("window.navigator.removeIdleObserver","navigator.removeIdleObserver()")}}</li>
-</ul>
diff --git a/files/ko/webapi/power_management/index.html b/files/ko/webapi/power_management/index.html
deleted file mode 100644
index b96447b466..0000000000
--- a/files/ko/webapi/power_management/index.html
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title: Power Management
-slug: WebAPI/Power_Management
-translation_of: Archive/B2G_OS/API/Power_Management_API
----
-<p>{{ non-standard_header() }}</p>
-<p>{{ B2GOnlyHeader2('certified') }}</p>
-<h2 id="요약">요약</h2>
-<p>전력 관리 API는 기기의 전력 소모를 관리하는 도구를 제공합니다.</p>
-<h2 id="전력_관리">전력 관리</h2>
-<p>전력 관리는 과도한 연산이나 화면을 다시그리는 등과 같은 실제 전력과는 조금 다릅니다. 이 모든 것이 다 전력 관리에 들어가게 됩니다. 하지만 전력 관리 API는 직접적인 전력 소모(화면, CPU 등)에 보다 집중합니다. 전력 관리에 대한 주요 인터페이스는 {{domxref("PowerManager")}} 인터페이스의 인스턴스인 {{domxref("window.navigator.mozPower","navigator.mozPower")}}를 통해서 접근합니다.</p>
-<h3 id="기본_전력_처리">기본 전력 처리</h3>
-<p>{{domxref("PowerManager")}} 인터페이스는 기본 전력 처리 인터페이스를 제공합니다.</p>
-<h4 id="전역_전력_처리">전역 전력 처리</h4>
-<p>{{domxref("PowerManager.powerOff()","powerOff()")}} 메서드를 사용해서 아주 쉽게 기기의 전원을 끌 수 있고 {{domxref("PowerManager.reboot()","reboot()")}} 메서드를 통해서는 재부팅도 할 수 있습니다.</p>
-<pre class="brush: js">navigator.mozPower.powerOff();</pre>
-<h4 id="화면_전력_처리">화면 전력 처리</h4>
-<p>화면은 읽기/쓰기 속성인 {{domxref("PowerManager.screenEnabled","screenEnabled")}}를 이용해서 켜고 끌 수 있습니다. 또한 화면의 밝기도 변경할 수 있습니다. 읽기/쓰기 속성인 {{domxref("PowerManager.screenBrightness","screenBrightness")}}를 이용해서 변경할 수 있고 0(아주 어두움)에서 1(최대 밝기)까지의 값을 이용해서 화면의 백라이트 밝기를 설정할 수 있습니다.</p>
-<pre class="brush: js">// It doesn't make sense to change the brightness if the screen is off
-if (navigator.mozPower.screenEnabled) {
- navigator.mozPower.screenBrightness = 0.5;
-}</pre>
-<h4 id="CPU_전력_처리">CPU 전력 처리</h4>
-<p>CPU를 직접 끄는 일은 가능하지 않지만 화면이 꺼져 있을 때에는 CPU가 꺼져도 되는지 아닌지를 알릴 수 있습니다. 이는 {{domxref("PowerManager.cpuSleepAllowed","cpuSleepAllowed")}}를 이용해서 설정할 수 있습니다. 이는 기기의 CPU가 화면이 꺼지거나(<code>true</code>) 켜져 있을(<code>false</code>) 때 잠자기 모드로 들어갈 수 있는지를 결정합니다; 화면이 켜져있다면 정지모드로 들어가지 않게 합니다.</p>
-<h3 id="향상된_전력_처리">향상된 전력 처리</h3>
-<p>전력 관리는 전력을 다루는 어플리케이션이 다른 어플리케이션의 요청에 대해 알림을 받을 수 있다면 더 잘 다뤄질 수 있습니다. 예를 들어서 사용자가 동영상을 보고 있다면 몇 초 후에 화면을 자동으로 끄지 않는 것이 더 좋을 수 있습니다.</p>
-<h4 id="잠금_해제_요청">잠금 해제 요청</h4>
-<p>어떤 어플리케이션이든 잠금 해체를 요청할 수 있습니다. 잠금 해제는 기기의 자원이 꺼지지 않도록 요청하는 방법입니다. 잠금 해체는 {{domxref("window.navigator.requestWakeLock","navigator.requestWakeLock()")}} 메서드를 통해서 요청됩니다.</p>
-<p>잠금 해제는 다양한 이유로 사용할 수 없게 되는 특정 자원에 대한 요청입니다. 예를 들어서 모바일 기기의 전력 관리 기능은 전력 소모를 줄이기 위해서 어느정도 사용을 안하고 있으면 화면을 끕니다. 그 자원을 사용하는 어플리케이션은 자원이 꺼지기 전에 자원의 잠금 상태를 확인합니다. 예를 들어서 페이지는 화면 보호기가 나타나거나 화면이 꺼지는 것을 막기 위해서 <code>screen</code>에 대한 잠금을 막을 수 있습니다.</p>
-<p>기본 설정으로 Firefox OS는 <code>screen</code>과 <code>cpu</code>, <code>wifi</code> 자원에 대한 잠금 허용을 합니다. 하지만 자원을 다루는 어떤 어플리케이션도 자원의 이름을 설정하고 잠금에 대한 정책을 정할 수 있습니다. 예를 들어서 자원 관리 기능은 현재 보이지 않는 어플리케이션이 <code>screen</code>에 대한 설정한 잠금 해제를 무시할 수 있습니다.</p>
-<pre class="brush: js">var lock = navigator.requestWakeLock('screen');</pre>
-<p>{{domxref("window.navigator.requestWakeLock","requestWakeLock")}} 메서드는 잠금을 할 자원의 이름을 나타내는 <code>topic</code> 속성을 가지고 있는 객체를 반환합니다. <code>unlock()</code> 메서드는 잠금을 수동으로 반환하는데 사용합니다. 어플리케이션이 종료(대기 상태가 아닌 실제 종료)된다면 자동으로 모든 잠금 요청이 해제됩니다.</p>
-<h4 id="잠금_해제_다루기">잠금 해제 다루기</h4>
-<p>잠금을 관리할 수 있는 인증된 애플리케이션은 잠금 상태가 변경되게 되면 알림을 받습니다. 실제로 전력을 관리하고자 하는 모든 애플리케이션은 <code>screen</code>과 <code>cpu</code>의 잠금 상태를 추적하고 있어야 합니다. 이는 {{domxref("PowerManager.addWakeLockListener()")}} 메서드를 통해 이루어집니다({{domxref("PowerManager.removeWakeLockListener()","")}} 메서드를 이용해서 잠금 요청에 대한 추적을 멈출 수 있습니다).</p>
-<p>{{domxref("PowerManager.addWakeLockListener()","addWakeLockListener")}} 메서드에는 두개의 파라메터를 전달 받는 콜백함수를 전달해야 합니다: 첫번째 문자열은 다룰 자원(여기서는 <code>screen</code>이나 <code>cpu</code>)을 나타내고 두번째 문자열은 잠금 상태를 나타냅니다.</p>
-<p>잠김은 세가지 상태가 있습니다:</p>
-<dl>
- <dt>
- <code>unlocked</code></dt>
- <dd>
- 주어진 자원에 대해 잠금 해제를 할 수 없습니다.</dd>
- <dt>
- <code>locked-foreground</code></dt>
- <dd>
- 최소한 하나의 어플리케이션이 잠금 해제를 제어 할 수 있고 그 어플리케이션은 보이는 상태입니다..</dd>
- <dt>
- <code>locked-background</code></dt>
- <dd>
- 최소한 하나의 어플리케이션이 잠금 해제를 제어하지만 모든 애플리케이션이 보이지 않는 상태입니다.</dd>
-</dl>
-<pre class="brush: js">// This is used to keep track of the last change on the lock state
-var screenTimeout;
-
-// A reference to the Power Manager
-var power = window.navigator.mozPower;
-
-// Here are the actions to handle based on the lock state
-var powerAction = {
-
- // If there is no lock at all, we will suspend the device:
- // * Turn the screen off
- // * Allow the cpu to shut down
- unlocked: function suspendDevice() {
- power.cpuSleepAllowed = true;
- power.screenEnabled = false;
- },
-
- // If there is a lock but the applications requesting it
- // are all in the background, we just turn the screen off
- 'locked-background': function shutOffOnlyScreen() {
- power.cpuSleepAllowed = false;
- power.screenEnabled = false;
- },
-
- // At last, if there is an active application that requests a lock,
- // actually there is nothing to do. That's the whole point.
-}
-
-function screenLockListener(topic, state) {
- // If the lock is not about the screen, there is nothing to do.
- if ('screen' !== topic) return;
-
- // Each time the lock changes state, we stop any pending power management operations
- window.clearTimeout(screenTimeout);
-
- // If there is an action defined for the given state
- if (powerAction[state]) {
- // We delay that action by 3s
- screenTimeout = window.setTimeout(powerAction[state], 3000);
- }
-}
-
-// We make sure our power management application is listening for any change on locks.
-power.addWakeLockListener(screenLockListener);</pre>
-<h2 id="Specification" name="Specification">명세</h2>
-<p>관련된 명세가 없습니다.</p>
-<h2 id="관련_내용">관련 내용</h2>
-<ul>
- <li>{{ domxref("window.navigator.mozPower","navigator.mozPower") }}</li>
- <li>{{ domxref("PowerManager") }}</li>
- <li>{{ domxref("window.navigator.requestWakeLock()","navigator.requestWakeLock()") }}</li>
-</ul>
diff --git a/files/ko/webapi/simple_push/index.html b/files/ko/webapi/simple_push/index.html
deleted file mode 100644
index 0ff0fe3602..0000000000
--- a/files/ko/webapi/simple_push/index.html
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title: Simple Push
-slug: WebAPI/Simple_Push
-translation_of: Archive/B2G_OS/API/Simple_Push_API
----
-<p>{{ draft() }}{{ SeeCompatTable() }}</p>
-<p><a href="https://wiki.mozilla.org/WebAPI/SimplePush" title="https://wiki.mozilla.org/WebAPI/SimplePush">Simple Push API</a>, 다른 이름으로 푸시 알림 API는 알림을 받으면 앱이 깨어나는 기능을 제공한다. 앱은 서버와 공유할 수 있는 URI를 요청할 수 있는데, 다시 말해 앱에 전달될 버전 번호를 보낼 수 있다는 뜻이다. 이 기능은 동기화 메카니즘으로 사용될 수도 있고, 서드 파티 서버에서 최신 데이터를 가져오기 위해 쓸 수도 있다.</p>
-<p>심플푸시 API는 {{domxref("PushManager")}} 객체인 <code>push 속성을 가지고</code> {{domxref("window.navigator")}} 객체를 확장하고, 푸시 상태를 감지하기 위해 받을 수 있는 새 이벤트를 더한다.</p>
-<h2 id="예제">예제</h2>
-<p>이 예제는 푸시의 전체 설정을 다룬다. 다음 단계를 따라하자.</p>
-<ol>
- <li>앱의 매니페스트 파일에 <code>push</code>를 허용하는 상태로 더한다.</li>
- <li>endpoint를 요청하기 위해 <code>push.register()</code>를 호출한다.</li>
- <li>endpoint를 서버에 보낸다.</li>
- <li>앱 내부의 푸시 알림을 위한 메시지 핸들러를 더한다.</li>
- <li>서버에서 알림을 보낸다..</li>
-</ol>
-<h3 id="매니페스트_파일_변경">매니페스트 파일 변경</h3>
-<p>매니페스트 파일에서 두 가지를 수정한다.</p>
-<ol>
- <li><a href="/docs/Web/Apps/Manifest#messages" title="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest?redirectlocale=en-US&amp;redirectslug=Apps%2FManifest#messages"><code>messages</code> field</a> - <code>push와</code> <code>push-register</code> 메시지를 더한다.</li>
- <li><a href="/docs/Web/Apps/Manifest#permissions" title="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest?redirectlocale=en-US&amp;redirectslug=Apps%2FManifest#permissions"><code>permissions</code> field</a> - 푸시 알림을 받기 원하는 앱에 더한다.</li>
-</ol>
-<pre><span class="s2">"messages"</span><span class="o">:</span> <span class="cp">[</span>
- <span class="p">{</span> <span class="s2">"push"</span><span class="p">:</span> <span class="s2">"/index.html"</span><span class="p">},</span>
- <span class="p">{</span> <span class="s2">"push-register"</span><span class="p">:</span> <span class="s2">"/index.html"</span><span class="p">}</span>
-<span class="cp">]</span><span class="o">,</span>
-<span class="s2">"permissions"</span><span class="o">:</span> <span class="p">{</span>
- <span class="s2">"push"</span><span class="o">:</span> <span class="err">{
- </span>"description": "Required for be updated with new goals in soccer matchs",<span class="err">
-</span><span class="p"> }</span>
-<span class="err">}</span></pre>
-<h3 id="endpoint_요청을_위한_domxref(PushManager.register)_호출">endpoint 요청을 위한 {{domxref("PushManager.register")}} 호출</h3>
-<p>이 코드는 endpoint를 요청할 시간인지 결정할 때 호출해야 한다. 예를 들어 사용자가 로그인 할 때나 축구 경기를 관전하기 시작할 때를 들 수 있다.</p>
-<pre><span class="k">if</span> <span class="p">(</span><span class="nx">navigator</span><span class="p">.</span><span class="nx">push</span><span class="p">)</span> <span class="p">{</span>
- <span class="kd">var</span> <span class="nx">req</span> <span class="o">=</span> <span class="nx">navigator</span><span class="p">.</span><span class="nx">push</span><span class="p">.</span><span class="nx">register</span><span class="p">();</span>
-
- <span class="nx">req</span><span class="p">.</span><span class="brush: js">onsuccess</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span>
- <span class="kd">var</span> <span class="nx">endpoint</span> <span class="o">=</span> <span class="nx">req</span><span class="p">.</span><span class="nx">result</span><span class="p">;</span>
- <span class="nx">debug</span><span class="p">(</span><span class="s2">"New endpoint: "</span> <span class="o">+</span> <span class="nx">endpoint</span> <span class="p">);</span>
- <span class="p">}</span>
-
- <span class="nx">req</span><span class="p">.</span><span class="nx">onerror</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span>
- <span class="nx">debug</span><span class="p">(</span><span class="s2">"Error getting a new endpoint: "</span> <span class="o">+</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">stringify</span><span class="p">(</span><span class="nx">e</span><span class="p">));</span>
- <span class="p">}</span>
-<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="c1">// No push on the DOM</span>
-<span class="p">}</span></pre>
-<h3 id="endpoint를_서버에_보내기">endpoint를 서버에 보내기</h3>
-<p>endpoint를 갖게 되면, 어플리케이션 서버에 보내야 한다. 한 가지 방법만 있는 건 아닌데, 선호하는 방법으로 할 수 있으므로, 예를 들어 이메일을 보내거나 <code>POST</code>, <code>PUT</code>이나 <code>GET</code> 방식을 사용할 수도 있다. 추천하는 방법은 어플리케이션에서 사용자 데이터와 함께 endpoint를 저장하는 방식으로, 쿠키, 사용자 이름같이 endpoint와 사용자 쌍을 식별하는데 사용할 수 있다면 무엇이든 좋다.</p>
-<p>하지만 서버에 보낸다면, 다음의 좋은 사례를 따르기를 권한다.</p>
-<ol>
- <li>XMLHttpRequest로 보낸다.</li>
- <li>항상 HTTPS를 사용한다. 누군가 endpoint를 가로채면, 앱에 알림을 보낼 수 있다.</li>
- <li>쿠키와 같이, endpoint에 사용자(또는 어플리케이션 설치)와 맞춰볼 수 있는 무언가를 사용한다.</li>
-</ol>
-<h3 id="메시지_핸들러_더하기">메시지 핸들러 더하기</h3>
-<p>endpoint를 설정하면, 앱이 푸시 메시지를 들을 준비가 된다. <code>index.html</code> 파일이나 <code>main.js 스크립트에 등록할 수 있는데</code>, 스크립트만 있다면 특정<code> push-message.html 파일이 될 수도 있다.</code> 이 방식은 <code>push 메시지를 받고 앱이 종료하는 경우 유용한데,</code>HTML/자바스크립트 코드의 작은 부분만 로드한 상태로 앱이 완전히 열릴지 혹은 백그라운드에서 어떤 작업을 할지 결정할 수 있기 때문이다.</p>
-<pre><span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">navigator</span><span class="p">.</span><span class="nx">mozSetMessageHandler</span><span class="p">)</span> <span class="p">{</span>
- <span class="nb">window</span><span class="p">.</span><span class="nx">navigator</span><span class="p">.</span><span class="nx">mozSetMessageHandler</span><span class="p">(</span><span class="s1">'push'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span>
- <span class="nx">debug</span><span class="p">(</span><span class="s1">'My endpoint is '</span> <span class="o">+</span> <span class="nx">e</span><span class="p">.</span><span class="nx">pushEndpoint</span><span class="p">);</span>
- <span class="nx">debug</span><span class="p">(</span><span class="s1">'My new version is '</span> <span class="o">+</span> <span class="nx">e</span><span class="p">.</span><span class="nx">version</span><span class="p">);</span>
- <span class="c1">//Remember that you can handle here if you have more than</span>
- <span class="c1">//one pushEndpoint</span>
- <span class="k">if</span> <span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">pushEndpoint</span> <span class="o">===</span> <span class="nx">emailEndpoint</span><span class="p">)</span> <span class="p">{</span>
- <span class="nx">emailHandler</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">version</span><span class="p">);</span>
- <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">pushEndpoint</span> <span class="o">===</span> <span class="nx">imEndpoint</span><span class="p">)</span> <span class="p">{</span>
- <span class="nx">imHandler</span><span class="p">(</span><span class="nx">e</span><span class="p">.</span><span class="nx">version</span><span class="p">);</span>
- <span class="p">}</span>
- <span class="p">});</span>
-<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="c1">// No message handler</span>
-<span class="p">}</span></pre>
-<h3 id="알림_보내기">알림 보내기</h3>
-<p>서버에 <code>endpoint</code>를 가지면, 알림을 보내는 작업은 body에 <code>version=&lt;version&gt;</code>를 가지고 endpoint에 <code>HTTP PUT</code> 요청을 보내는 일만큼 쉽다. 다음과 같이 URL을 갖는 endpoint를 가정하자.</p>
-<p><code>https://push.src.openwebdevice.com/v1/notify/abcdef01234567890abcdefabcdef01234567890abcdef</code></p>
-<p>그리고 버전은 5이다.</p>
-<p><code>version=5</code></p>
-<p>컬로 다음 명령을 내리자.</p>
-<p><code>curl -X PUT -d "version=5" https://push.src.openwebdevice.com/v1/notify/abcdef01234567890abcdefabcdef01234567890abcdef</code></p>
-<p>서버가 올바르게 동작하면, <code>200 Status (OK)</code>와 <code>{}</code>인 body를 응답으로 받게 된다. 그렇지 않으면, 오류를 설명하는 유효한 JSON 객체를 받게 된다.</p>
-<p>버전은 정수이고 증가한다는 점을 기억하자. 어플리케이션은 새로운 버전이 서버나 단말기에 저장된 버전보다 낮으면 알림을 <em>받지 않는다</em>.</p>
-<h2 id="Specifications">Specifications</h2>
-<p>{{page("/en-US/docs/Web/API/PushManager","Specifications")}}</p>
-<h2 id="Browser_compatibility">Browser compatibility</h2>
-<p>{{page("/en-US/docs/Web/API/PushManager","Browser_compatibility")}}</p>
-<h2 id="See_also">See also</h2>
-<ul>
- <li>{{domxref("PushManager")}}</li>
- <li>{{domxref("window.navigator.push","navigator.push")}}</li>
- <li><a href="https://github.com/frsela/pushJSlibrary" title="https://github.com/frsela/pushJSlibrary">pushJSLibrary, a push shim for browsers that do not implement the API</a></li>
-</ul>
diff --git a/files/ko/webapi/time_and_clock/index.html b/files/ko/webapi/time_and_clock/index.html
deleted file mode 100644
index 808dbc7ffc..0000000000
--- a/files/ko/webapi/time_and_clock/index.html
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: 시간과 시계
-slug: WebAPI/Time_and_Clock
-translation_of: Archive/B2G_OS/API/Time_and_Clock_API
----
-<p>{{ non-standard_header() }}</p>
-<p>{{ B2GOnlyHeader2('certified') }}</p>
-<h2 id="요약">요약</h2>
-<p>Time/Clock API로 시스템 시간을 쉽게 바꿀 수 있습니다.</p>
-<h2 id="개요">개요</h2>
-<p><span style="line-height: inherit;">이 API는 {{domxref("window.navigator.mozTime","navigator.mozTime")}} </span><span style="line-height: inherit;">을 통해 리턴되는, {{domxref("MozTimeManager")}} </span><span style="line-height: inherit;">객체를 통해 접근할 수 있습니다. 해당 객체는 하나의 {{domxref("MozTimeManager.set()","set()")}} </span><span style="line-height: inherit;">메서드를 가지고 있습니다.</span></p>
-<p><span style="line-height: inherit;">{{domxref("MozTimeManager.set()","set()")}} 메서드는 시스템 시간을 변경하는데 이용됩니다. 파라미터로는 숫자(=Number) 객체 또는 Date 객체가 사용됩니다. 만약 숫자 객체가 사용된다면 해당 숫자는 UTC 1970년 1월 1일 부터의 밀리초를 의미합니다.</span></p>
-<p>시간이 변경될 때마다 이벤트가 발생하게 됩니다. 이 이벤트는 window 객체에서 {{domxref("EventTarget.addEventListener","addEventListener")}}  메서드 를 통해(이벤트명은  {{event("moztimechange")}}) 처리하거나, 또는 {{domxref("window.onmoztimechange")}} 속성에 이벤트 핸들러를 연결함으로써 처리할 수 있습니다.</p>
-<div class="note">
- <p><strong>주:</strong> 기기의 시간대는 <a href="https://developer.mozilla.org/en-US/docs/WebAPI/Settings" title="https://developer.mozilla.org/en-US/docs/WebAPI/Settings">Settings API</a>로 바꿔야 합니다.</p>
-</div>
-<h2 id="예시">예시</h2>
-<pre class="brush: js">function setTime(time) {
- navigator.mozTime.set(time);
-}
-
-window.addEventListener('moztimechange', function () {
- console.log('시간이 바뀜');
-});
-
-setTime(new Date());
-</pre>
-<h2 id="표준">표준</h2>
-<p>어느 표준에도 들어있지 않음</p>
diff --git a/files/ko/webapi/webfm_api/index.html b/files/ko/webapi/webfm_api/index.html
deleted file mode 100644
index 4dcda50760..0000000000
--- a/files/ko/webapi/webfm_api/index.html
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: WebFM API
-slug: WebAPI/WebFM_API
-translation_of: Archive/B2G_OS/API/WebFM_API
----
-<p>{{ non-standard_header() }}</p>
-<p>{{ B2GOnlyHeader2('installed') }}</p>
-<h2 id="요약">요약</h2>
-<p>WebFM API를 이용하면 FM 라디오를 사용할 수 있습니다. 라디오를 켜고, 끄거나 라디오 방송국을 변경 할 수 있습니다. {{domxref("FMRadio")}} 객체의 {{domxref("window.navigator.mozFMRadio","navigator.mozFMRadio")}} 속성을 통해 사용할 수 있습니다.</p>
-<h2 id="라디오_켜기끄기">라디오 켜기/끄기</h2>
-<p>기본적으로 {{domxref("FMRadio.enable()")}} 메소드로 라디오를 켜고, {{domxref("FMRadio.disable()")}} 메소드로 라디오를 끌 수 있습니다.</p>
-<p>라디오를 켜기 전에 안테나 사용 가능 여부를 체크하는 것이 좋습니다(안테나가 없으면 내장된 라디오가 신호를 받을 수 없습니다). {{domxref("FMRadio.antennaAvailable")}} 속성으로 안테나 사용 가능 여부를 확인할 수 있습니다. 모바일 기기에서는 헤드폰 케이블이 안테나 역할을 하는데, 헤드폰 케이블 연결 상태에 따라 안테나 사용 여부가 변경되면 {{event("antennaavailablechange")}} 이벤트가 발생됩니다.<br>
- <br>
- 라디오를 켜기 위해서 주파수 번호(MHz 단위)를 {{domxref("FMRadio.enable()")}} 메소드에 넘겨 실행합니다.</p>
-<pre class="brush: js">// The frequency of the radio station
-// to listen express in MHz
-var frequency = 99.1;
-var radio = navigator.mozFMRadio;
-
-if (radio.antennaAvailable) {
- radio.enable(frenquency);
-} else {
- alert("You need to plug your headphone");
-}
-
-radio.addEventListener('antennaavailablechange', function () {
- if (radio.antennaAvailable) {
- radio.enable(frenquency);
- } else {
- radio.disable();
- }
-})
-</pre>
-<div class="note">
- <p><strong>Note:</strong> The audio is output through the <code>normal</code> audio channel available on the device.</p>
-</div>
-<h2 id="주파수_변경하기">주파수 변경하기</h2>
-<p>주파수는 직접 또는 자동으로 변경할 수 있습니다. 현재 내장 라디오의 주파수는 {{domxref("FMRadio.frequency")}} 속성으로 알 수 있으며 해당 속성 값은 MHz 단위의 숫자로 표현합니다.</p>
-<h3 id="직접_변경하기">직접 변경하기</h3>
-<p>{{domxref("FMRadio.setFrequency()")}} 메소드는 새로운 주파수를 할당할 때 사용합니다. 설정할 수 있는 주파수는 제한적입니다. 메소드 호출 후 성공 또는 실패 상황을 제어하는 {{domxref("DOMRequest")}} 객체를 반환합니다. 주파수는 다음의 요구사항을 만족해야 합니다.:</p>
-<ul>
- <li>주파수는 {{domxref("FMRadio.frequencyLowerBound")}}와 {{domxref("FMRadio.frequencyUpperBound")}}에 정의된 범위 내에 있어야 합니다. 이 범위를 벗어나면 에러가 반환됩니다.</li>
- <li>주파수는 {{domxref("FMRadio.channelWidth")}}에 정의된 값만큼 이동해야 합니다. 그렇지 않으면 주파수는 반올림됩니다. 예를 들어 100MHz가 정상적인 주파수이고 {{domxref("FMRadio.channelWidth","channelWidth")}}가 0.2로 설정된 경우, 100.15 주파수로 설정하더라도 주파수는 100.2로 할당됩니다.</li>
-</ul>
-<pre class="brush: js">var change = radio.setFrequency(frequency);
-
-change.onerror = function () {
- var min = radio.frequencyLowerBound;
- var max = radio.frequencyUpperBound;
- console.warn('The frequency must be within the range [' + min + ',' + max + ']');
-}
-
-change.onsuccess = function () {
- console.log('The frequency has been set to ' + radio.frequency);
-}
-</pre>
-<h3 id="자동으로_찾기">자동으로 찾기</h3>
-<p>WebFM API를 사용하면 편리하게 라디오 채널을 검색할 수 있습니다. {{domxref("FMRadio.seekUp()")}}(현재 주파수보다 높은 채널 찾기) {{domxref("FMRadio.seekDown()")}} 메소드를 사용합니다. 현재 주파수보다 높거나, 낮은 주파수의 라디오 채널을 찾을 때 사용합니다. 이 메소드들은 호출 후에 성공/실패를 제어할 수 있는 {{domxref("DOMRequest")}} 객체를 반환합니다.<br>
- <br>
- 이 메소드들은 {{domxref("FMRadio.frequencyLowerBound","frequencyLowerBound")}}나 {{domxref("FMRadio.frequencyUpperBound","frequencyUpperBound")}} 값에 도달할 때까지 반복적으로 더 높거나, 낮은 주파수를 찾습니다. 새로운 라디오 채널을 찾으면 {{event("frequencychange")}} 이벤트가 발생되고 현재 주파수로 변경됩니다.<br>
- <br>
- 동시에 두 메소드를 실행할 수 없으며(동시에 상위/하위 채널을 찾을 수 없습니다) 동시에 실행할 경우 에러가 반환됩니다. 더 이상 찾을 필요가 없을 때 {{domxref("FMRadio.cancelSeek()")}} 메소드를 호출합니다. 이 메소드 역시 {{domxref("DOMRequest")}} 객체를 반환합니다.</p>
-<pre class="brush: js">var radio = navigator.mozFMRadio;
-var seeking = false;
-var UP = document.querySelector("button.up");
-var DOWN = document.querySelector("button.down");
-
-// When the frequency change, the seek
-// functions automatically stop to seek.
-radio.onfrequencychange = function () {
- seeking = false;
-}
-
-function seek(direction) {
- var cancel, search;
-
- // If the radio is already seeking
- // we will cancel the current search.
- if (seeking) {
- var cancel = radio.cancelSeek();
- cancel.onsuccess = function () {
- seeking = false;
-
- // Once the radio no longer seek,
- // we can try to seek as expected
- seek(direction);
- }
-
- // Let's seek up
- } else if (direction === 'up') {
- // Just to be sure that the radio is turned on
- if (!radio.enabled) {
- radio.enable(radio.frequencyLowerBound);
- }
- search = radio.seekUp();
-
- // Let's seek up
- } else if (direction === 'down' {
- // Just to be sure that the radio is turned on
- if (!radio.enabled) {
- radio.enable(radio.frequencyUpperBound);
- }
- search = radio.seekDown();
- }
-
- if (search) {
- search.onsuccess = function () {
- // Ok, we are seeking now.
- seeking = true;
- };
- search.onerror = function () {
- // Something goes wrong... ok, let's try again.
- seek(direction);
- }
- }
-}
-
-UP.addEventListener('click', function () {
- seek('up');
-});
-
-DOWN.addEventListener('click', function () {
- seek('down');
-});
-</pre>
-<h2 id="표준">표준</h2>
-<p>Not part of any specification.</p>
-<h2 id="참고자료">참고자료</h2>
-<ul>
- <li>{{domxref("FMRadio")}}</li>
- <li><a href="https://github.com/mozilla-b2g/gaia/tree/master/apps/fm" title="https://github.com/mozilla-b2g/gaia/tree/master/apps/fm">The FM app on Gaïa</a></li>
-</ul>
diff --git a/files/ko/webapi/websms/index.html b/files/ko/webapi/websms/index.html
deleted file mode 100644
index 9f91f8ff00..0000000000
--- a/files/ko/webapi/websms/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: WebSMS
-slug: WebAPI/WebSMS
-tags:
- - Non-standard
-translation_of: Archive/B2G_OS/API/Mobile_Messaging_API
----
-<p>{{DefaultAPISidebar("Mobile Messaging API")}}</p>
-
-<div class="blockIndicator nonStandard">
-<p><strong>Non-standard</strong><br>
- This feature is not on a current W3C standards track, but it is supported on the Firefox OS platform. Although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to Firefox OS apps.</p>
-</div>
-
-<div class="blockIndicator warning">
-<p style="text-align: center;">This API is available on <a href="/en-US/docs/Mozilla/Firefox_OS">Firefox OS</a> for <a href="/en-US/docs/Mozilla/Firefox_OS/Security/Application_security#App_Types">internal applications</a> only.</p>
-</div>
-
-<h2 id="요약">요약</h2>
-
-<p>WebSMS는 웹 콘텐츠에서 단문 메시지 서비스 (SMS) 또는 멀티미디어 메시지 서비스 (MMS)의 메시지들을 만들고, 보내고, 받을수 있도록 해주는 API 입니다.</p>
-
-<p>이 API는 {{ domxref("MozSmsManager") }} 객체를 반환하는 {{ domxref("window.navigator.mozSms") }} 또는 {{ domxref("MozMobileMessageManager") }} 객체를 반환하는 {{ domxref("window.navigator.mozMobileMessage") }} 를 사용하여 이용 가능합니다. 자세한 내용은 아래의 인터페이스 전체 목록을 통해 보실 수 있습니다.</p>
-
-<h2 id="DOM_인터페이스">DOM 인터페이스</h2>
-
-<h3 id="SMS_인터페이스">SMS 인터페이스</h3>
-
-<ul>
- <li>{{ domxref("window.navigator.mozSms") }}</li>
- <li>{{ domxref("MozSmsManager") }}</li>
- <li>{{ domxref("MozSmsMessage") }}</li>
- <li>{{ domxref("MozSmsEvent") }}</li>
- <li>{{ domxref("MozSmsFilter") }}</li>
- <li>{{ domxref("MozSmsSegmentInfo") }}</li>
-</ul>
-
-<h3 id="MMS_SMS_인터페이스">MMS, SMS 인터페이스</h3>
-
-<ul>
- <li>{{ domxref("window.navigator.mozMobileMessage") }}</li>
- <li>{{ domxref("MozMobileMessageManager")}}</li>
- <li>{{ domxref("MozMmsMessage") }}</li>
- <li>{{ domxref("MozMmsEvent") }}</li>
- <li>{{ domxref("MozMobileMessageThread") }}</li>
-</ul>
-
-<h2 id="예제_코드와_소개">예제 코드와 소개</h2>
-
-<ul>
- <li><a href="/ko/WebAPI/WebSMS/Introduction_to_WebSMS" title="ko/WebAPI/WebSMS/Introduction_to_WebSMS">WebSMS 소개</a></li>
-</ul>
-
-<h2 id="명세">명세</h2>
-
-<p>이 API는 비 표준 스펙의 구현체입니다. 하지만 W3C의 <a href="http://www.w3.org/2012/sysapps/" title="http://www.w3.org/2012/sysapps/">System Application Working Group</a>에서 논의되고 있습니다.</p>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Messaging')}}</td>
- <td>{{Spec2('Messaging')}}</td>
- <td>Editor Draft (WIP).</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="설정_이용_가능한_환경">설정 &amp; 이용 가능한 환경</h2>
-
-<div id="compat-mobile"> </div>
-
-<ul>
- <li>WebSMS는 기본적으로 비활성화 되어있습니다. <code>dom.sms.enabled 설정을 true로 지정하여야 활성화됩니다.</code></li>
- <li>WebSMS API를 사용하도록 허가된 호스트명들의 화이트 리스트(콤마로 구분)는 반드시 <code>dom.sms.whitelist 설정에 명시되어야 합니다. 이 문자열은 기본적으로 빈 문자열입니다.</code></li>
- <li>WebSMS는 오직 Firefox OS (B2G) 에 인증된 앱에서만 이용 가능합니다.</li>
- <li>MMS는 Firefox OS 1.1 부터 이용 가능합니다.고 자료</li>
- <li><a class="link-https" href="https://wiki.mozilla.org/WebAPI/WebSMS" title="https://wiki.mozilla.org/WebAPI/WebSMS">WebSMS API</a> (설계 문서)</li>
-</ul>
diff --git a/files/ko/webapi/websms/introduction_to_mobile_message_api/introduction_to_websms/index.html b/files/ko/webapi/websms/introduction_to_mobile_message_api/introduction_to_websms/index.html
deleted file mode 100644
index 723f12561a..0000000000
--- a/files/ko/webapi/websms/introduction_to_mobile_message_api/introduction_to_websms/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: WebSMS 소개
-slug: WebAPI/WebSMS/Introduction_to_Mobile_Message_API/Introduction_to_WebSMS
-translation_of: Archive/B2G_OS/API/Mobile_Messaging_API/Introduction_to_Mobile_Message_API
----
-<p>휴대전화의 핵심 기능 중 하나는 SMS 메시지 전송과 수신이다. 이 기능은 <a class="link-https" href="https://wiki.mozilla.org/WebAPI/WebSMS">WebSMS API</a>를 사용하여 구현 가능하다. 다음은 구현 방법 예제이다.</p>
-<pre class="brush: js">// SMS object
-var sms = navigator.mozSms;
-
-// Send a message
-sms.send("123456789", "Hello world!");
-
-// Receive a message
-sms.onreceived = function (event) {
- // Read message
- console.log(event.message);
-};
-</pre>
-<h2 id="참조_문서">참조 문서</h2>
-<ul>
- <li><a href="/en/API/WebSMS" title="WebSMS">WebSMS</a></li>
- <li><a class="link-https" href="https://wiki.mozilla.org/WebAPI/WebSMS">WebSMS API</a> (설계 문서)</li>
-</ul>
diff --git a/files/ko/xforms/index.html b/files/ko/xforms/index.html
deleted file mode 100644
index a0be05b85c..0000000000
--- a/files/ko/xforms/index.html
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: XForms
-slug: XForms
-tags:
- - XForms
-translation_of: Archive/Web/XForms
----
-<div class="callout-box">
- <b><a class="external" href="http://xformsinstitute.com/essentials/browse/">XForms Essentials</a></b><br>
- XForms로 안내 여행을 제공하는 온라인 책</div>
-<div>
- <b>XForms</b>는 W3C가 계획한 대로 온라인 폼의 미래입니다. <a href="ko/XML_Schema">XML Schema</a>, <a href="ko/XPath">XPath</a>, <a href="ko/XML_Events">XML Events</a>과 같은 W3C의 다른 표준을 끌어다가, XForms는 현재 <a href="ko/HTML">HTML</a> 폼 모델에 있는 한계를 처리하려 합니다. XForms가 표에 가져다주는 다른 강점은 겉모양에서 데이터 분리, 엄격한 데이터 형 검사, 이름/값 쌍 대신 서버에 <a href="ko/XML">XML</a> 데이터를 제출(submit)하는 능력, 넓고 다양한 장치에 표시할 수 있도록 폼을 작성하는 기술법입니다. XForms는 <a class="external" href="http://www.w3.org/MarkUp/Forms/">W3C specification</a>입니다.</div>
-<div>
- <p>XForms 지원은 <a class="external" href="http://www.mozilla.org/projects/xforms">Mozilla XForms Extension</a>을 설치하여 Firefox와 SeaMonkey에 추가할 수 있습니다.</p>
-</div>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"><a>문서</a></h4>
- <dl>
- <dt>
- <a href="ko/XForms/Form_Troubleshooting">Troubleshooting tips for XForms</a></dt>
- <dd>
- <small>XForms 폼에 있는 공통 문제를 해결하는 작은 팁 모음입니다.</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ko/XForms/Mozilla_XForms_Specials">Mozilla XForms specials</a></dt>
- <dd>
- <small>Mozilla XForms가 어디서, 어떻게 XForms 1.0 명세를 파생(deviate)하고 확장하는 지를 설명합니다.</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ko/XForms/Custom_Controls">XForms custom controls</a></dt>
- <dd>
- <small>사용자 정의 컨트롤은 폼 작성자가 XBL로 각 XForms 컨트롤을
- <i>
- skin</i>
- 하고 Firefox가 SVG <code>input</code> 컨트롤을 만들게 합니다.</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ko/XForms/User_preferences">XForms user preferences</a></dt>
- <dd>
- <small>XForms가 쓰는 <code>about:config</code> 변수 설명</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ko/XForms/API_Reference">XForms API reference</a></dt>
- <dd>
- <small>XForms 인터페이스 문서</small></dd>
- </dl>
- <p><span class="alllinks"><a>View All...</a></span></p>
- </td>
- <td>
- <h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0">커뮤니티</h4>
- <ul>
- <li>Mozilla 포럼 보기...</li>
- </ul>
- <p>{{ DiscussionList("dev-tech-xforms", "mozilla.dev.tech.xforms") }}</p>
- <ul>
- <li><a class="link-irc" href="irc://irc.mozilla.org/xforms">#xforms channel on irc.mozilla.org</a></li>
- <li><a class="external" href="http://lists.w3.org/Archives/Public/www-forms/">W3C Forms mailing list</a></li>
- <li><a class="external" href="http://beaufour.dk/blog">XForms development weblog</a></li>
- <li><a href="ko/XForms/Community">Other community links...</a></li>
- </ul>
- <h4 id=".EB.8F.84.EA.B5.AC" name=".EB.8F.84.EA.B5.AC">도구</h4>
- <ul>
- <li><a class="external" href="http://xformsinstitute.com/validator/">XForms validator</a></li>
- <li><a class="external" href="http://beaufour.dk/index.php?sec=misc&amp;pagename=xforms">XForms Buddy</a></li>
- </ul>
- <p><span class="alllinks"><a>View All...</a></span></p>
- <h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C">관련 주제</h4>
- <dl>
- <dd>
- <a href="ko/Extensions">Extensions</a>, <a href="ko/HTML">HTML</a>, <a href="ko/XHTML">XHTML</a>, <a href="ko/XML">XML</a>, <a href="ko/XPath">XPath</a></dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-<p><span class="comment">Categories</span></p>
-<p><span class="comment">Interwiki Language Links</span></p>
-<p> </p>
-<p>{{ languages( { "en": "en/XForms", "fr": "fr/XForms", "it": "it/XForms", "ja": "ja/XForms", "pl": "pl/XForms", "es": "es/XForms" } ) }}</p>
diff --git a/files/ko/xml_web_services/index.html b/files/ko/xml_web_services/index.html
deleted file mode 100644
index 6ff5121c6e..0000000000
--- a/files/ko/xml_web_services/index.html
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: XML Web Services
-slug: XML_Web_Services
-tags:
- - XML Web Services
-translation_of: Archive/Mozilla/Firefox/SOAP_in_Gecko-based_Browsers
----
-<div class="callout-box"><b><a href="ko/The_Basics_of_Web_Services">The Basics of Web Services</a></b><br>
-웹 서비스에 대한 짧은 소개</div>
-<div><b>Web service</b>는 응용프로그램이나 시스템 사이에 데이터를 교환하는데 사용하는 프로토콜과 표준 모음입니다. 다양한 프로그래밍 언어로 작성하고 다양한 플랫폼에서 돌아가는 소프트웨어 응용프로그램은 컴퓨터 하나에서 프로세스간 통신과 비슷한 방식으로 인터넷같은 컴퓨터 네트워크간의 데이터를 교환하는데 웹 서비스를 쓸 수 있습니다. XML 웹 서비스에서, 교환하는 모든 데이터는 XML 태그로 형식화됩니다. {{ Ref(1) }}</div>
-<table class="topicpage-table">
-<tbody><tr><td>
-<h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"> <a>문서</a> </h4>
-<dl><dt> <a href="ko/SOAP_in_Gecko-based_Browsers">SOAP in Gecko-based Browsers</a>
-</dt><dd> <small>이 문서는 최근의 Gecko에 기반을 둔 브라우저에서 쓸 수 있는 SOAP과 JavaScript를 써서 어떻게 웹 서비스에 접속하는 지를 보입니다.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.w3schools.com/soap/default.asp">W3School's SOAP Tutorial</a>
-</dt><dd> <small>SOAP은 응용프로그램이 HTTP로 정보를 교환하게 하는 XML에 기반을 둔 간단한 프로토콜입니다. 이 <a class="external" href="http://www.w3schools.com">W3Schools</a> SOAP 입문서에서, 여러분은 SOAP이 무엇이고 응용프로그램간에 정보를 교환하기 위해 XML을 어떻게 쓰는지를 배울겁니다.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://davenet.scripting.com/1998/07/14/xmlRpcForNewbies">XML-RPC for Newbies</a>
-</dt><dd> <small>XML Remote Procedure Calls (XML-RPC)에 관한 비공식이지만 유익한 소개</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://webservices.xml.com/pub/a/ws/2001/04/04/webservices/">A Web Services Primer</a>
-</dt><dd> <small>"웹 서비스는 웹 응용프로그램의 새 종류(new breed)입니다. 온 웹에 출시(publish), 입지(locate), 호출(invoke)할 수 있는 자급식(self-contained), 자기기술(self-describing), 모듈식 응용프로그램입니다."</small>
-</dd></dl>
-<p><span class="alllinks"><a>모두 보기...</a></span>
-</p>
-</td>
-<td>
-<h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0"> 커뮤니티 </h4>
-<ul><li> Mozilla 포럼 보기...
-</li></ul>
-<p>{{ DiscussionList("dev-tech-xml", "mozilla.dev.tech.xml") }}
-</p>
-<ul><li> <a class="external" href="http://groups.yahoo.com/group/xml-rpc/">XML-RPC mailing list</a>
-</li><li> <a class="external" href="http://www.xmlrpc.com/">XML-RPC.com</a>
-</li></ul>
-<h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C"> 관련 주제 </h4>
-<dl><dd> <a href="ko/XML">XML</a>
-</dd></dl>
-</td></tr></tbody></table>
-<hr>
-<p><small>{{ Note(1) }} From <a class="external" href="http://en.wikipedia.org/wiki/Web_Service">Wikipedia</a>.</small>
-</p><p><span class="comment">Categories</span>
-</p><p><span class="comment">Interwiki Language Links</span>
-</p><p><br>
-</p>{{ languages( { "en": "en/XML_Web_Services", "fr": "fr/Services_Web_XML", "it": "it/XML_Web_Services", "ja": "ja/XML_Web_Services", "pl": "pl/XML_Web_Services" } ) }}
diff --git a/files/ko/xmlhttprequest_changes_for_gecko1.8/index.html b/files/ko/xmlhttprequest_changes_for_gecko1.8/index.html
deleted file mode 100644
index 12db529f75..0000000000
--- a/files/ko/xmlhttprequest_changes_for_gecko1.8/index.html
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: XMLHttpRequest changes for Gecko1.8
-slug: XMLHttpRequest_changes_for_Gecko1.8
-tags:
- - Add-ons
- - Extensions
- - XMLHttpRequest
-translation_of: Mozilla/XMLHttpRequest_changes_for_Gecko_1.8
----
-<p>이 문서는 버전 1.7(Firefox 1.0과 함께 들어간 Gecko 버전) 이래로 <a href="ko/Gecko">Gecko</a>의
-<a href="ko/XMLHttpRequest">XMLHttpRequest</a> 구현에 만들어진 변화를 설명한다. 이 변화는 XUL확장과 XUL응용에만 적용한다.
-웹 응용프로그램에 적용하지 않는다.
-</p>
-<h3 id="XMLHttpRequest.send_.EB.B3.80.ED.99.94" name="XMLHttpRequest.send_.EB.B3.80.ED.99.94"> XMLHttpRequest.send 변화</h3>
-<p><code>send</code> method에 <a href="ko/NsIInputStream">nsIInputStream</a> instance를 보내면, 스트림의 시작에 더 이상&lt;tt&gt;Content-Length&lt;/tt&gt;와 &lt;tt&gt;Content-Type&lt;/tt&gt;을 포함하지 않아야 한다. 대신, &lt;tt&gt;Content-Length&lt;/tt&gt; header 는 스트림의 길이로부터 추론되고, &lt;tt&gt;Content-Type&lt;/tt&gt; header 는 <code>setRequestHeader</code> method를 불러 수동으로 서술되어야 한다.이 요구는 <a class="external" href="http://lxr.mozilla.org/mozilla1.8/source/extensions/xmlextras/base/public/nsIXMLHttpRequest.idl#213">nsIXMLHttpRequest.idl</a>에서 좀더 전체적으로 설명된다.
-</p>
-<h3 id="XMLHttpRequest.onreadystatechange_.EB.B3.80.ED.99.94" name="XMLHttpRequest.onreadystatechange_.EB.B3.80.ED.99.94"> XMLHttpRequest.onreadystatechange 변화</h3>
-<p>이 속성은 <code>nsIOnReadystatechangehandler</code> 대신 <code>nsIOnReadyStateChangeHandler</code> 형식을 가진다.
-</p>
diff --git a/files/ko/xpcom/index.html b/files/ko/xpcom/index.html
deleted file mode 100644
index 9d24acee7e..0000000000
--- a/files/ko/xpcom/index.html
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title: XPCOM
-slug: XPCOM
-tags:
- - XPCOM
-translation_of: Mozilla/Tech/XPCOM
----
-<div class="callout-box"><strong>XPCOM 입문서</strong>
-<p><a class="external" href="http://www-128.ibm.com/developerworks">IBM developerWorks</a>의 5부작 입문서: <a class="external" href="http://www-128.ibm.com/developerworks/webservices/library/co-xpcom.html">I부</a>, <a class="external" href="http://www-128.ibm.com/developerworks/webservices/library/co-xpcom2.html">II부</a>, <a class="external" href="http://www-128.ibm.com/developerworks/webservices/library/co-xpcom3.html">III부</a>, <a class="external" href="http://www-128.ibm.com/developerworks/webservices/library/co-xpcom4/index.html">IV부</a>, <a class="external" href="http://www-128.ibm.com/developerworks/webservices/library/co-xpcom5.html">V부</a></p>
-</div>
-
-<div><strong>In progress. XPCOM</strong>은 여러 플랫폼에 쓸 수 있는 컴포넌트 객체 모델로 Microsoft COM과 비슷합니다. XPCOM은 여러 가지 <a href="ko/XPCOM/Language_Bindings">언어 바인딩</a>이 있어, XPCOM 컴포넌트를 C++ 외에 JavaScript와 Java, Python에 구현되어 사용할 수 있습니다. XPCOM의 인터페이스는 <a href="ko/XPIDL">XPIDL</a>라고 부르는 IDL 언어의 방언에서 정의합니다.
-
-<p>XPCOM 자체는 파일/메모리 관리, 쓰레드, 기본 데이터 구조 (문자열, 배열, 변수형)과 같은 기본 컴포넌트와 클래스 들을 제공합니다. 대부분의 XPCOM 컴포넌트는 기본적으로 포함되어 있지 않으며 (Gecko나 Necko와 같은) 플랫폼의 다른 부분이나 응용프로그매, 심지어 확장 기능에 의해 제공됩니다.</p>
-</div>
-
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"><a>문서</a></h4>
-
- <h5 id=".EA.B8.B0.EB.B3.B8_XPCOM_.EB.AC.B8.EC.84.9C" name=".EA.B8.B0.EB.B3.B8_XPCOM_.EB.AC.B8.EC.84.9C">기본 XPCOM 문서</h5>
-
- <dl>
- <dt><a href="ko/XPCOM_API_Reference">XPCOM API Reference</a></dt>
- <dd><small>XPCOM이 제공하는 기본 컴포넌트, 인터페이스, 그리고 함수 문서</small>.</dd>
- </dl>
-
- <dl>
- <dt><a href="ko/XPCOM_string_guide">String</a>, <a href="ko/XPCOM_hashtable_guide">hashtable</a>, 그리고 <a href="ko/XPCOM_array_guide">array</a> 길잡이</dt>
- <dd><small>기초 데이터 구조 사용하기.</small></dd>
- </dl>
-
- <dl>
- <dt><a href="ko/XPCOM_Glue">XPCOM Glue</a></dt>
- <dd><small>XPCOM Glue는 XPCOM의 바뀔 수 있는 부분에 (xpcom_core.dll, xpcom_core.so, xp_core.dylib)에 의존하지 않고 XPCOM 유틸리티 함수와 클래스를 사용하게 합니다.</small></dd>
- </dl>
-
- <h5 id="XPCOM_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8_.EB.A7.8C.EB.93.A4.EA.B8.B0" name="XPCOM_.EC.BB.B4.ED.8F.AC.EB.84.8C.ED.8A.B8_.EB.A7.8C.EB.93.A4.EA.B8.B0">XPCOM 컴포넌트 만들기</h5>
-
- <dl>
- <dt><a href="ko/Creating_XPCOM_Components">XPCOM 컴포넌트 만들기</a></dt>
- <dd><small>이 글은 브라우징 행동양식을 제어하는 XPCOM 컴포넌트를 만들기 위한 입문서를 제공합니다.</small></dd>
- </dl>
-
- <dl>
- <dt><a href="ko/How_to_Build_an_XPCOM_Component_in_Javascript">Javascript로 XPCOM 컴포넌트 만드는 법</a></dt>
- <dd><small>JavaScript 컴포넌트 작성을 위한 길잡이</small></dd>
- </dl>
-
- <h5 id=".EA.B8.B0.ED.83.80" name=".EA.B8.B0.ED.83.80">기타</h5>
-
- <dl>
- <dt><a class="external" href="http://www.mozilla.org/scriptable/avoiding-leaks.html">누출 없이 JavaScript로 XPCOM 쓰기</a></dt>
- <dd><small>(XPConnect로 알려진) JavaScript로 XPCOM 쓰는 환경은 메모리 관리 문제가 불명확한 환경입니다. 사용하는 객체가 은밀히 참조 카운트되기 때문에 메모리 누출이 있는 JavaScript 코드를 작성하게 되는 일이 많습니다.</small></dd>
- </dl>
-
- <p><span class="alllinks"><a>View All...</a></span></p>
- </td>
- <td>
- <h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0">커뮤니티</h4>
-
- <ul>
- <li>dev-tech-xpcom group</li>
- </ul>
-
- <p></p><ul>
- <li><a href="https://lists.mozilla.org/listinfo/dev-tech-xpcom"> 메일링 리스트</a></li>
-
-
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xpcom"> 뉴스그룹</a></li>
- <li><a href="http://groups.google.com/group/mozilla.dev.tech.xpcom/feeds"> 웹 Feed</a></li>
-</ul><p></p>
-
- <h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C">관련 주제</h4>
-
- <dl>
- <dd><a href="ko/XPCOM/Language_Bindings">Language Bindings</a>, <a href="ko/JavaXPCOM">JavaXPCOM</a>, <a href="ko/PyXPCOM">PyXPCOM</a>, <a href="ko/XPConnect">XPConnect</a>, <a href="ko/JavaScript">JavaScript</a></dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p><span class="comment">Categories</span></p>
-
-<p><span class="comment">Interwiki Language Links</span></p>
-
-<p> </p>
-
-<p></p>
diff --git a/files/ko/xpcom/setting_http_request_headers/index.html b/files/ko/xpcom/setting_http_request_headers/index.html
deleted file mode 100644
index bd648533e4..0000000000
--- a/files/ko/xpcom/setting_http_request_headers/index.html
+++ /dev/null
@@ -1,209 +0,0 @@
----
-title: Setting HTTP request headers
-slug: XPCOM/Setting_HTTP_request_headers
-tags:
- - Add-ons
- - Extensions
- - HTTP
- - XUL
- - XULRunner
-translation_of: Mozilla/Tech/XPCOM/Setting_HTTP_request_headers
----
-<p> </p>
-<p>HTTP는 웹 내부의 핵심 기술들 중의 하나입니다. 실제 컨텐츠 외에도 HTTP 헤더를 통해 <a class="external" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">중요한 정보들</a>이 HTTP 요청과 응답에 포함되어 전송됩니다.</p>
-<p>여러분은 응용프로그램이 생성하는 요청에 고유한 HTTP 헤더를 추가할 수 있는데, 이러한 요청들은 <a href="/ko/XMLHttpRequest" title="ko/XMLHttpRequest">XMLHttpRequest</a>로 인해서 HTTP 채널을 명시적으로 여는 코드로부터 컨테츠 내의 <a href="/ko/HTML/element/img" title="ko/HTML/element/img">&lt;img&gt;</a> 요소에 대한 요청, <a href="/ko/CSS" title="ko/CSS">CSS</a>로 부터 발생하는 요청 등을 모두 포함합니다.</p>
-<h3 id="HTTP_Channels" name="HTTP_Channels">HTTP Channels</h3>
-<p>HTTP 요청과 응답을 처리하기 위해서는 일반적으로 <code><a href="/ko/NsIHttpChannel" title="ko/NsIHttpChannel">nsIHttpChannel</a></code>을 사용하게 됩니다. <code>nsIHttpChannel</code> 인터페이스는 많은 속성과 메소드를 포함하고 있지만, 우리가 관심을 가질 메소드는 <code>setRequestHeader</code>입니다. 이 메소드는 우리가 <em>HTTP 요청 헤더를 설정할 수</em> 있게 해줍니다.</p>
-<p>아래는 HTTP 헤더를 설정하는 예제 코드입니다.</p>
-<pre class="eval">// "X-Hello: World" 헤더를 요청에 넣습니다.
-httpChannel.setRequestHeader("X-Hello", "World", false);
-</pre>
-<p>위 예제 코드에는 <code>httpChannel</code>라는 변수가 있는데, 이는 <code>nsIHttpChannel</code>를 구현하는 객체입니다(변수 이름은 아무거나 상관없습니다).</p>
-<p><code>setRequestHeader</code> 메소드는 3개의 인자를 가집니다. 첫 번째 인자는 HTTP 요청 헤더의 <em>이름</em>입니다. 두번째 인자는 HTTP 요청 헤더의 <em>값</em>입니다. 그리고 마지막 세번째 인자는 일단 무시하고 항상 <code>false</code>로 지정하세요.</p>
-<p>위 예제에서 우리가 추가한 HTTP 요청 헤더는 <em>이름</em>이 <code>X-Hello</code>이고 <em>값</em>은 <code>World</code>입니다.</p>
-<div class="note">
- <p><strong>주의</strong>: 만일 고유한 HTTP 헤더를 만들 경우, 반드시 이름 앞에 <code>X-</code>를 붙이세요(예제에서는 이름 앞에 <code>X-</code>를 붙여서 <code>Hello</code>가 아닌 <code>X-Hello</code>인 HTTP 헤더를 만들었습니다).</p>
-</div>
-<h3 id=".EC.95.8C.EB.A6.BC.28notifications.29" name=".EC.95.8C.EB.A6.BC.28notifications.29">알림(notifications)</h3>
-<p>이제 여러분은 HTTP 요청이 만들어질 때 어떻게 <code>nsIHttpChannel</code>을 얻는지에 대해 궁금하실 것입니다.</p>
-<p>여러분의 코드가 요청을 초기화하는 경우에는, 이미 이 객체를 가지고 있게 됩니다. 다른 요청을 가로챌(trapping) 경우에는 알림(notification)의 방식으로 처리되며, 이는 다른 언어와 프레임워크에서 볼 수 있는 <em>events</em> 또는 <em>signals</em>과 유사합니다.</p>
-<p>특별히 HTTP 요청이 일어나기 직전에 <code>nsIHttpChannel</code>을 얻기 위해서는 <code>"http-on-modify-request"</code> 토픽(topic)을 <em>관찰(observe)</em>해야 합니다. (<code>"http-on-modify-request"</code>은 문자열입니다.)</p>
-<div class="note">
- <p><strong>주의</strong>: <code>"http-on-modify-request"</code>외에도 여러가지 토픽이 존재하며, <code>"http-on-examine-response"</code> , <code>"xpcom-shutdown"</code>와 같은 알림을 받을 수 있습니다. 또한 자신만의 토픽을 만들고 알림을 발송할 수 있습니다.</p>
- <p>알림 프레임워크와 일반적인 알림 토픽의 목록에 관한 정보는 <a href="/ko/Observer_Notifications" title="ko/Observer_Notifications">Observer Notifications</a>을 참조하세요.</p>
-</div>
-<h3 id=".EA.B4.80.EC.B0.B0.EC.9E.90.28observers.29" name=".EA.B4.80.EC.B0.B0.EC.9E.90.28observers.29">관찰자(observers)</h3>
-<p><code>"http-on-modify-request"</code>와 같은 토픽에 대한 알림을 받으려면, <strong>관찰자(observer)</strong>를 생성해야 합니다. 관찰자는 <a href="/ko/NsIObserver" title="ko/NsIObserver">nsIObserver</a> 인터페이스를 구현하는 컴포넌트입니다. 일단 관찰자에 토픽을 <em>등록</em>하면, 관찰자는 자신의 <code>observe</code> 메소드가 호출됨으로써 등록한 토픽에 대한 알림을 받게 됩니다.</p>
-<p>아래는 관찰자 예제로 <code>http-on-modify-request</code> 알림으로 전송된 채널에 사용자 정의 헤더인 "X-Hello"를 추가합니다.</p>
-<pre>var httpRequestObserver =
-{
- observe: function(subject, topic, data)
- {
- if (topic == "http-on-modify-request") {
- var httpChannel = subject.QueryInterface(Components.interfaces.nsIHttpChannel);
- httpChannel.setRequestHeader("X-Hello", "World", false);
- }
- }
-};
-</pre>
-<p><span class="comment">div class="note"&gt; Doesn't seem very suitable for this article; readers should are typically assumed to be familiar with JS. Nickolay '''NOTE''': Often people expect <a href="/ko/JavaScript">JavaScript</a> to be just like <a href="/ko/Java">Java</a>. And while superficially, they look very similar, there are some important differences between the two. For example, while Java is an &lt;em&gt;object-oriented programming language&lt;/em&gt;, JavaScript is not. JavaScript is &lt;em&gt;prototype-based programming language&lt;/em&gt; and as such while it has &lt;em&gt;objects&lt;/em&gt; it does not have &lt;em&gt;classes&lt;/em&gt;. (Which is why, if you are not well versed with JavaScript, the object creation in the sample code above may look strange.) &lt;/div</span></p>
-<p><code>observe</code> 메소드가 가지는 파라미터의 개수가 중요하다는 점을 명심하세요. 이 메소드는 위 예제 코드에서 본 바와 같이 3개의 파라미터를 가집니다. <code>"http-on-modify-request"</code> 토픽의 경우, 첫번째 파라미터(위 코드에서 <code>subject</code>)는 <code>nsIHttpChannel</code>이 됩니다. 그러나 우리에게는 <code><a href="/ko/NsISupports" title="ko/NsISupports">nsISupports</a></code>로 전달됩니다. 따라서 이 파라미터를 <code>QueryInterface</code>를 통하여 <code>nsISupports</code>에서 <code>nsIHttpChannel</code>로 <em>변경</em>할 필요가 있습니다. 당연히, 어떤 객체를 다른것으로 <em>변환</em>하는 것은 매우 보기 않좋은 것이고, <em><a class="external" href="http://en.wikipedia.org/wiki/Syntactic_sugar">syntactic sugar</a></em>가 떨어지게 됩니다.</p>
-<p><code>if</code> 블럭 내 두 번째 줄은 아마 친근할 것입니다. 본 기사의 앞에서 사용한 것과 동일한 코드로 HTTP 요청 헤더를 추가하는 것입니다.</p>
-<p><code>httpRequestObserver</code>라는 객체의 이름은 중요하지 않습니다. 이 이름은 우리가 원하는데로 지정할 수 있습니다.</p>
-<h3 id=".EB.93.B1.EB.A1.9D.28registering.29" name=".EB.93.B1.EB.A1.9D.28registering.29">등록(registering)</h3>
-<p>관찰자(observer)를 생성한 뒤에는 이를 등록해 주어야 합니다. 우리의 경우에 <code>"http-on-modify-request"</code> 토픽에 등록하고자 합니다. 아래의 코드로 이를 수행할 수 있습니다.</p>
-<pre class="eval">var observerService = Components.classes["@mozilla.org/observer-service;1"]
- .getService(Components.interfaces.<a href="/ko/NsIObserverService" title="ko/NsIObserverService">nsIObserverService</a>);
-observerService.addObserver(httpRequestObserver, "http-on-modify-request", false);
-</pre>
-<p>첫번째 문장에서는 알림을 받고자하는 토픽을 등록할 객체를 얻습니다. 즉, 관찰자 객체를 생성합니다.</p>
-<p>두번째 문장에서 실제 등록을 합니다. 이 코드는 <code>"http-on-modify-request"</code> 토픽이 발생하면(이 토픽은 HTTP 요청의 바로 전에 발생한다는 것을 알고 있습니다) <code>httpRequestObserver</code>에게 (<code>observe</code> 메소드를 실행함으로써) 알려달라고 말하는 것입니다.</p>
-<h3 id=".EB.93.B1.EB.A1.9D_.ED.95.B4.EC.A0.9C.28unregistering.29" name=".EB.93.B1.EB.A1.9D_.ED.95.B4.EC.A0.9C.28unregistering.29">등록 해제(unregistering)</h3>
-<p>여러분은 종료 전에 관측자의 등록을 해제하는게 좋습니다. 그렇지 않으면 메모리 누수가 발생할 수 있습니다. 관측자의 등록을 해제하려면 다음과 같이 <code>nsIObserverService.removeObserver</code>를 사용하면 됩니다.</p>
-<pre class="eval">observerService.removeObserver(httpRequestObserver, "http-on-modify-request");
-</pre>
-<h3 id="XPCOM_components" name="XPCOM_components">XPCOM components</h3>
-<p>여러분은 (창이 아니라)응용 프로그램마다 <code>http-on-modify-request</code> 관찰자를 등록해주어야 합니다. 이는 관찰자의 구현을 <a href="/ko/XUL_Overlays" title="ko/XUL_Overlays">overlay</a>가 아닌 <a href="/ko/How_to_Build_an_XPCOM_Component_in_Javascript" title="ko/How_to_Build_an_XPCOM_Component_in_Javascript">XPCOM component</a>에서 해야 한다는 것을 의미합니다.</p>
-<h3 id=".EC.9A.94.EC.95.BD" name=".EC.9A.94.EC.95.BD">요약</h3>
-<p>기본적인 사항은 여기까지입니다. 하지만 여러분을 위해 <code>httpRequestObserver</code> 객체를 이용하는 약간 다른 버전을 보여 주겠습니다.</p>
-<p>앞서 보았던 버전은 학습을 위해서는 유용하지만, 실제 응용 프로그램에서는 다음과 같이 코딩될 것입니다.</p>
-<pre>var httpRequestObserver =
-{
- observe: function(subject, topic, data)
- {
- if (topic == "http-on-modify-request") {
- var httpChannel = subject.QueryInterface(Components.interfaces.nsIHttpChannel);
- httpChannel.setRequestHeader("X-Hello", "World", false);
- }
- },
-
- get observerService() {
- return Components.classes["@mozilla.org/observer-service;1"]
- .getService(Components.interfaces.nsIObserverService);
- },
-
- register: function()
- {
- this.observerService.addObserver(this, "http-on-modify-request", false);
- },
-
- unregister: function()
- {
- this.observerService.removeObserver(this, "http-on-modify-request");
- }
-};
-</pre>
-<p>이 객체는 편의를 위해 <code>register()</code>와 <code>unregister()</code> 메소드가 있으므로 다음과 같이 호출해서 활성화할 수 있습니다.</p>
-<pre class="eval">httpRequestObserver.register();
-</pre>
-<p>또한 프로그램이 종료되는 시점에 관찰자를 등록 해제하는 것을 잊지 마세요.</p>
-<pre class="eval">httpRequestObserver.unregister();
-</pre>
-<p>여기까지 입니다.</p>
-<p><span class="comment">We need downloadable XPCOM component for this</span></p>
-<h3 id=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C" name=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C">예제 코드</h3>
-<pre>var headerName = "X-hello";
-var headerValue = "world";
-
-function LOG(text)
-{
- // var consoleService = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);
- // consoleService.logStringMessage(text);
-}
-
-function myHTTPListener() { }
-
-myHTTPListener.prototype = {
-
- observe: function(subject, topic, data)
- {
- if (topic == "http-on-modify-request") {
-
- LOG("----------------------------&gt; (" + subject + ") mod request");
-
- var httpChannel = subject.QueryInterface(Components.interfaces.nsIHttpChannel);
- httpChannel.setRequestHeader(headerName, headerValue, false);
- return;
- }
-
-
- if (topic == "app-startup") {
-
- LOG("----------------------------&gt; app-startup");
-
- var os = Components.classes["@mozilla.org/observer-service;1"]
- .getService(Components.interfaces.nsIObserverService);
-
- os.addObserver(this, "http-on-modify-request", false);
- return;
- }
- },
-
- QueryInterface: function (iid) {
- if (iid.equals(Components.interfaces.nsIObserver) ||
- iid.equals(Components.interfaces.nsISupports))
- return this;
-
- Components.returnCode = Components.results.NS_ERROR_NO_INTERFACE;
- return null;
- },
-};
-
-var myModule = {
- registerSelf: function (compMgr, fileSpec, location, type) {
-
- var compMgr = compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
- compMgr.registerFactoryLocation(this.myCID,
- this.myName,
- this.myProgID,
- fileSpec,
- location,
- type);
-
-
- LOG("----------------------------&gt; registerSelf");
-
- var catMgr = Components.classes["@mozilla.org/categorymanager;1"].getService(Components.interfaces.nsICategoryManager);
- catMgr.addCategoryEntry("app-startup", this.myName, this.myProgID, true, true);
- },
-
-
- getClassObject: function (compMgr, cid, iid) {
-
- LOG("----------------------------&gt; getClassObject");
-
- return this.myFactory;
- },
-
- myCID: Components.ID("{9cf5f3df-2505-42dd-9094-c1631bd1be1c}"),
-
- myProgID: "@dougt/myHTTPListener;1",
-
- myName: "Simple HTTP Listener",
-
- myFactory: {
- QueryInterface: function (aIID) {
- if (!aIID.equals(Components.interfaces.nsISupports) &amp;&amp;
-  !aIID.equals(Components.interfaces.nsIFactory))
- throw Components.results.NS_ERROR_NO_INTERFACE;
- return this;
- },
-
- createInstance: function (outer, iid) {
-
- LOG("----------------------------&gt; createInstance");
-
- return new myHTTPListener();
- }
- },
-
- canUnload: function(compMgr) {
- return true;
- }
-};
-
-function NSGetModule(compMgr, fileSpec) {
- return myModule;
-}
-</pre>
-<p> </p>
diff --git a/files/ko/xpcom/the_thread_manager/index.html b/files/ko/xpcom/the_thread_manager/index.html
deleted file mode 100644
index 3f3be51262..0000000000
--- a/files/ko/xpcom/the_thread_manager/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: The Thread Manager
-slug: XPCOM/The_Thread_Manager
-tags:
- - Firefox 3
- - Threads
-translation_of: Mozilla/Tech/XPCOM/The_Thread_Manager
----
-<p> </p><div class="blockIndicator draft">
- <p><strong>초안</strong><br>
- 이 문서는 작성중입니다.</p>
-
-</div><p></p>
-<p>Firefox 3에서 도입된 스레드 관리자는 스레드를 생성하고 이벤트를 처리하기 위해 스레드에 디스패치하는 사용하기 쉬운 방법을 제공합니다.</p>
-<p>스레드 지원을 제공하는 몇 가지 인터페이스가 있습니다.</p>
-<dl>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIThreadManager" title="">nsIThreadManager</a></code></dt>
- <dd>
- 스레드를 생성할 수 있게 해주는 스레드 관리자.</dd>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIThread" title="">nsIThread</a></code></dt>
- <dd>
- 운영체제 스레드를 캡슐화하고 코드에서 손쉬운 플랫폼 중립적인 접근을 제공하는 <code>nsIThread</code> 인터페이스.</dd>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIThreadPool" title="">nsIThreadPool</a></code></dt>
- <dd>
- 작업 스레드(worker threads)의 제한된 집합을 제공하는 스레드 풀. 이벤트를 풀로 디스패치할 때 풀은 이용 가능한 작업 스레드를 선택하고 이벤트를 처리.</dd>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIThreadInternal" title="">nsIThreadInternal</a></code></dt>
- <dd>
- XPCOM 스레드 개체가 구현하는 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIThread" title="">nsIThread</a></code>의 하위 클래스로서 스레드의 디스패치 동작을 관찰하기 위한 지원을 추가.</dd>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIThreadObserver" title="">nsIThreadObserver</a></code></dt>
- <dd>
- 이벤트가 스레드에 디스패치될 때와 그 처리를 마쳤을 때에 알림을 받기 위하여 스레드를 감시하는 능력을 제공.</dd>
- <dt>
- <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIThreadEventFilter" title="">nsIThreadEventFilter</a></code></dt>
- <dd>
- 이벤트 여과를 위하여 <code><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIThreadInternal" title="">nsIThreadInternal</a></code>의 <code><a href="ko/NsIThreadInternal#pushEventQueue.28.29">pushEventQueue()</a></code> 메소드가 이용하는 인테페이스.</dd>
-</dl>
-<div class="noinclude">
-  </div>
-<p></p>
diff --git a/files/ko/xpcom_interface_reference/index.html b/files/ko/xpcom_interface_reference/index.html
deleted file mode 100644
index 1024805fe6..0000000000
--- a/files/ko/xpcom_interface_reference/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: XPCOM Interface Reference
-slug: XPCOM_Interface_Reference
-translation_of: Mozilla/Tech/XPCOM/Reference/Interface
----
-<p>This is a reference to the XPCOM interfaces provided by the Mozilla platform.</p>
-
-<div class="cols-3"><ul><li><a href="/ko/docs/nsICryptoHash">nsICryptoHash</a></li><li><a href="/ko/docs/nsIIdleService">nsIIdleService</a></li><li><a href="/ko/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsILoginManager">nsILoginManager</a></li></ul></div>
-
-<h2 id="See_also" name="See_also">See also</h2>
-
-<ul>
- <li><a href="/en-US/docs/XPCOM_Interface_Reference_group" title="XPCOM_Interface_Reference_group">Interfaces grouped by function</a></li>
-</ul>
diff --git a/files/ko/xpconnect/index.html b/files/ko/xpconnect/index.html
deleted file mode 100644
index 301a379c07..0000000000
--- a/files/ko/xpconnect/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: XPConnect
-slug: XPConnect
-tags:
- - XPConnect
-translation_of: Mozilla/Tech/XPCOM/Language_bindings/XPConnect
----
-<div>
-<p>XPConnect는 <a href="ko/JavaScript">JavaScript</a>와 <a href="ko/XPCOM">XPCOM</a> 사이에서 연결해줍니다. XPConnect를 사용하여 JavaScript 코드에서 XPCOM 컴포넌트를 사용할 수 있고 XPCOM 컴포넌트 내의 JavaScript 객체와 상호 작용할 수 있습니다.
-</p>
-</div>
-<table class="topicpage-table">
-<tbody><tr><td>
-<h4 id=".EB.AC.B8.EC.84.9C" name=".EB.AC.B8.EC.84.9C"> <a>문서</a> </h4>
-<dl><dt> <a href="ko/XPConnect/Architecture_basics">XPConnect:Architecture basics</a>
-</dt><dd> <small>XPConnect, JavaScript, XPCOM, XUL...</small>
-</dd></dl>
-<dl><dt> <a href="ko/XPConnect/Using_components">XPConnect:Using components</a>
-</dt><dd> <small>XPCOM 컴포넌트와 통신하는 법.</small>
-</dd></dl>
-<dl><dt> <a class="external" href="http://www.mozilla.org/scriptable/faq.html">XPConnect와 XPIDL FAQ</a>
-</dt></dl>
-<p><span class="alllinks"><a>View All...</a></span>
-</p>
-<h4 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C"> 예제 </h4>
-<dl><dt> <a href="ko/NsIEnumerator">nsIEnumerator</a>
-</dt><dd> <small>열거가 끝났을 때를 어떻게 아나요?</small>
-</dd></dl>
-<dl><dt> <a href="ko/XPConnect/nsIRegistry">XPConnect:nsIRegistry</a>
-</dt><dd> <small><a href="ko/Appreg">appreg</a> 나타내기.</small>
-</dd></dl>
-<dl><dt> <a href="ko/XPConnect/nsIProfile">XPConnect:nsIProfile</a>
-</dt><dd> <small>프로필 생성, 이름 변경, 삭제, 나열하기.</small>
-</dd></dl>
-<dl><dt> <a href="ko/XPConnect/appShellService">XPConnect:appShellService</a>
-</dt><dd> <small>XPConnect에서 Mozilla를 끝낼 수도 있습니다.</small>
-</dd></dl>
-<p><span class="alllinks"><a>View All...</a></span>
-</p>
-</td>
-<td>
-<h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0"> 커뮤니티 </h4>
-<ul><li> Mozilla 포럼 보기...
-</li></ul>
-<p>{{ DiscussionList("dev-tech-xpcom", "mozilla.dev.tech.xpcom") }}
-</p>
-<h4 id=".EB.8F.84.EA.B5.AC" name=".EB.8F.84.EA.B5.AC"> 도구 </h4>
-<ul><li> <a href="ko/Xpcshell">xpcshell</a>
-</li></ul>
-<h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C"> 관련 주제 </h4>
-<dl><dd> <a href="ko/XPCOM">XPCOM</a>, <a href="ko/JavaScript">JavaScript</a>
-</dd></dl>
-</td></tr></tbody></table>
-<p><span class="comment">Categories</span>
-</p><p><span class="comment">Interwiki Language Links</span>
-</p><p><br>
-</p>{{ languages( { "en": "en/XPConnect", "fr": "fr/XPConnect", "ja": "ja/XPConnect", "pl": "pl/XPConnect" } ) }}
diff --git a/files/ko/xpconnect/using_components/index.html b/files/ko/xpconnect/using_components/index.html
deleted file mode 100644
index a54d48deae..0000000000
--- a/files/ko/xpconnect/using_components/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: Using components
-slug: XPConnect/Using_components
-translation_of: Mozilla/Tech/XPCOM/Language_bindings/XPConnect/Using_components
----
-<p><a href="/en/XPConnect" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/XPConnect">XPConnect</a>은 모질라와 <a href="/en/XPConnect/xpcshell" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/XPConnect/xpcshell">xpcshell</a>에서 <a href="/en/XPCOM" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/XPCOM">XPCOM</a> 콤포넌트에 투명하게 접근할 수 있도록 해줍니다.</p>
-<p>일반적으로 스크립트는 다음과 같이 시작합니다 :</p>
-<pre>var Cc = <a style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/Components.classes">Components.classes</a>;
-var Ci = <a style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/Components.interfaces">Components.interfaces</a>;
-</pre>
-<p>콤포넌트에 대한 연결을 가지고 있으려면, 다음과 같이 합니다 :</p>
-<pre>var rc = Cc["@mozilla.org/registry;1"]; var rs = rc.getService(Ci.nsIRegistry);</pre>
-<hr>
-<p>See also :</p>
-<ul>
- <li><a href="/en/XPConnect/xpcshell" style="text-decoration: none; color: rgb(4, 137, 183) !important; cursor: default;" title="en/XPConnect/xpcshell">xpcshell</a> -- 자바스크립트를 위한 커맨드라인 환경</li>
-</ul>
diff --git a/files/ko/xpi/index.html b/files/ko/xpi/index.html
deleted file mode 100644
index bb3b41b491..0000000000
--- a/files/ko/xpi/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: XPI
-slug: XPI
-tags:
- - Toolkit API
- - XPInstall
-translation_of: Mozilla/XPI
----
-<p><b><abbr title="Cross-Platform Installer Module">XPI</abbr></b>("zippy"로 소리 냄)는 꾸러미(package)를 설치하고, <a href="ko/XPInstall">XPInstall</a> 기술을 이용하는데 쓰는 ZIP 파일입니다. XPI 모듈(이른바 "<a href="ko/Bundles">Bundles</a>")은 <a href="ko/Plugins"> 플러그인</a>, <a href="ko/Extensions"> 확장기능</a>, <a href="ko/Themes"> 테마</a>, <a class="external" href="http://www.mozilla.com/thunderbird/dictionaries.html">Thunderbird dictionaries</a>을 포함한 갖가지 소프트웨어를 설치하는데 씁니다.</p>
-<p>XPI는 흔히 JAR 파일로 꾸리는 설치할 실제 소프트웨어뿐만 아니라 설치 명령(install.js나 <a href="ko/Install.rdf">install.rdf</a>)을 담고 있습니다. 확장기능 관리자로 내려받을 때, XPInstall은 자동으로 XPI에 담고 있는 설치 명령과 의사 소통하고 담긴 소프트웨어를 설치합니다.</p>
-<h3 id=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0" name=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0">같이 보기</h3>
-<ul>
- <li><a href="ko/Bundles">Bundles</a></li>
- <li><a href="ko/XPInstall">XPInstall</a></li>
- <li><a href="ko/Creating_XPI_Installer_Modules">XPI Installer 모듈 만들기</a></li>
-</ul>
-<p>{{ languages( { "en": "en/XPI", "fr": "fr/XPI", "it": "it/XPI", "pl": "pl/XPI", "ja": "ja/XPI" } ) }}</p>
diff --git a/files/ko/xpinstall/index.html b/files/ko/xpinstall/index.html
deleted file mode 100644
index d7e0ba0de2..0000000000
--- a/files/ko/xpinstall/index.html
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: XPInstall
-slug: XPInstall
-tags:
- - XPInstall
-translation_of: Archive/Mozilla/XPInstall
----
-<div>
- <b>Cross-Platform Install (XPInstall)</b>는 Mozilla 어플리케이션 수트, Mozilla Firefox, Mozilla Thunderbird, 다른 <a href="ko/XUL">XUL</a>에 기반을 둔 어플리케이션이 <a href="ko/Extensions">확장기능</a>을 설치하기 위해 쓰는 기술입니다. <a href="ko/XPI">XPI</a> ("zippy"로 발음하고 XPInstall에서 파생된) 인스톨러 모듈은 파일 루트에 설치 스크립트나 매니페스트(install.js나 install.rdf로 이름 붙인)를 포함하는 ZIP 파일입니다.</div>
-<table class="topicpage-table">
- <tbody>
- <tr>
- <td>
- <h4 id="Documentation" name="Documentation"><a>Documentation</a></h4>
- <dl>
- <dt>
- <a href="ko/XPInstall_API_Reference">XPInstall API Reference</a></dt>
- </dl>
- <dl>
- <dt>
- <a href="ko/Learn_XPI_Installer_Scripting_by_Example">Learn XPI Installer Scripting by Example</a></dt>
- <dd>
- <small>이 문서는 XPI 설치 일반을 논의하기 위한 근거로 <code>browser.xpi</code> 설치 패키지의 인스톨러 스크립트를 씁니다.</small></dd>
- </dl>
- <dl>
- <dt>
- <a class="external" href="http://www.mozilla.org/projects/xpinstall/win_xpi.html">How to add an installer module to the Windows installer</a></dt>
- <dd>
- <small>인스톨러 모듈은 <a href="ko/XPI">XPI</a>의 루트에 설치 스크립트(install.js로 이름 붙인)를 포함하는 <a class="external" href="http://www.info-zip.org/">Phil Katz zip format</a>으로 된 패키지입니다. 패키지는 파일과 파일/디렉토리 추가, 이전 혹은 안 쓰이는(obsolete) 파일/디렉토리 삭제, 명령줄 도구 실행들을 포함하는 설치 도중 취하는 동작을 위한 자바스크립트 지시어(directive)를 포함하는 설치 스크립트를 포함합니다.</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ko/Creating_XPI_Installer_Modules">Creating XPI Installer Modules</a></dt>
- <dd>
- <small>이 문서는 Mozilla의 패키징 계획(scheme)을 설명하고 재배포와 설치가 가능하고 사용자가 쓸 수 있는 새 패키지를 만드는 법을 다루는 입문서를 제공합니다.</small></dd>
- </dl>
- <dl>
- <dt>
- <a href="ko/Install_Wizards_(aka/Stub_Installers)">Install Wizards (aka: Stub Installers)</a></dt>
- </dl>
- <p><span class="alllinks"><a>View All...</a></span></p>
- </td>
- <td>
- <h4 id=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0" name=".EC.BB.A4.EB.AE.A4.EB.8B.88.ED.8B.B0">커뮤니티</h4>
- <ul>
- <li>Mozilla 포럼 보기...</li>
- </ul>
- <p>{{ DiscussionList("dev-platform", "mozilla.dev.platform") }}</p>
- <h4 id=".EB.8F.84.EA.B5.AC" name=".EB.8F.84.EA.B5.AC">도구</h4>
- <ul>
- <li><a class="external" href="http://www.mozilla.org/quality/smartupdate/xpinstall-trigger.html">XPInstall trigger page</a></li>
- </ul>
- <h4 id=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C" name=".EA.B4.80.EB.A0.A8_.EC.A3.BC.EC.A0.9C">관련 주제</h4>
- <dl>
- <dd>
- <a href="ko/Extensions">Extensions</a>, <a href="ko/XUL">XUL</a>, <a href="ko/XPI">XPI</a></dd>
- </dl>
- </td>
- </tr>
- </tbody>
-</table>
-<p><span class="comment">Categories</span></p>
-<p><span class="comment">Interwiki Language Links</span></p>
-<p> </p>
-<p>{{ languages( { "en": "en/XPInstall" } ) }}</p>
diff --git a/files/ko/xpinstall_api_reference/index.html b/files/ko/xpinstall_api_reference/index.html
deleted file mode 100644
index afecb1f01c..0000000000
--- a/files/ko/xpinstall_api_reference/index.html
+++ /dev/null
@@ -1,261 +0,0 @@
----
-title: XPInstall API Reference
-slug: XPInstall_API_Reference
-tags:
- - XPInstall
-translation_of: Archive/Mozilla/XPInstall/Reference
----
-<h2 id="XPInstall_API_.EC.B0.B8.EC.A1.B0" name="XPInstall_API_.EC.B0.B8.EC.A1.B0">XPInstall API 참조</h2>
-<h3 id="Objects" name="Objects">Objects</h3>
-<h4 id="Install" name="Install"><a href="ko/XPInstall_API_Reference/Install_Object">Install</a></h4>
-<dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Properties">Properties</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods">Methods</a></dd>
-</dl>
-<dl>
- <dd>
- <dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/addDirectory">addDirectory</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/addFile">addFile</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/alert">alert</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/cancelInstall">cancelInstall</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/confirm">confirm</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/deleteRegisteredFile">deleteRegisteredFile</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/execute">execute</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/gestalt">gestalt</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/getComponentFolder">getComponentFolder</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/getFolder">getFolder</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/getLastError">getLastError</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/getWinProfile">getWinProfile</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/getWinRegistry">getWinRegistry</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/initInstall">initInstall</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/loadResources">loadResources</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/logComment">logComment</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/patch">patch</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/performInstall">performInstall</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/refreshPlugins">refreshPlugins</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/registerChrome">registerChrome</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/resetError">resetError</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/setPackageFolder">setPackageFolder</a></dd>
- </dl>
- </dd>
-</dl>
-<h4 id="InstallTrigger" name="InstallTrigger"><a href="ko/XPInstall_API_Reference/InstallTrigger_Object">InstallTrigger</a></h4>
-<dl>
- <dd>
- <i>
- 속성은 존재하지 않습니다.</i>
- </dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallTrigger_Object/Methods">Methods</a></dd>
-</dl>
-<dl>
- <dd>
- <dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallTrigger_Object/Methods/compareVersion">compareVersion</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallTrigger_Object/Methods/enabled">enabled</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallTrigger_Object/Methods/getVersion">getVersion</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallTrigger_Object/Methods/install">install</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallTrigger_Object/Methods/installChrome">installChrome</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallTrigger_Object/Methods/startSoftwareUpdate">startSoftwareUpdate</a></dd>
- </dl>
- </dd>
-</dl>
-<h4 id="InstallVersion" name="InstallVersion"><a href="ko/XPInstall_API_Reference/InstallVersion_Object">InstallVersion</a></h4>
-<dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallVersion_Object/Properties">Properties</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallVersion_Object/Methods">Methods</a></dd>
-</dl>
-<dl>
- <dd>
- <dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallVersion_Object/Methods/compareTo">compareTo</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallVersion_Object/Methods/init">init</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/InstallVersion_Object/Methods/toString">toString</a></dd>
- </dl>
- </dd>
-</dl>
-<h4 id="File" name="File"><a href="ko/XPInstall_API_Reference/File_Object">File</a></h4>
-<dl>
- <dd>
- <i>
- 속성은 존재하지 않습니다.</i>
- </dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods">Methods</a></dd>
-</dl>
-<dl>
- <dd>
- <dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/copy">copy</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/dirCreate">dirCreate</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/dirGetParent">dirGetParent</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/dirRemove">dirRemove</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/dirRename">dirRename</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/diskSpaceAvailable">diskSpaceAvailable</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/execute">execute</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/exists">exists</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/isDirectory">isDirectory</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/isFile">isFile</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/macAlias">macAlias</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/modDate">modDate</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/modDateChanged">modDateChanged</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/move">move</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/remove">remove</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/rename">rename</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/size">size</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/windowsGetShortName">windowsGetShortName</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/windowsRegisterServer">windowsRegisterServer</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/File_Object/Methods/windowsShortcut">windowsShortcut</a></dd>
- </dl>
- </dd>
-</dl>
-<h4 id="WinProfile" name="WinProfile"><a href="ko/XPInstall_API_Reference/WinProfile_Object">WinProfile</a></h4>
-<dl>
- <dd>
- <i>
- 속성은 존재하지 않습니다.</i>
- </dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinProfile_Object/Methods">Methods</a></dd>
-</dl>
-<dl>
- <dd>
- <dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinProfile_Object/Methods/getString">getString</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinProfile_Object/Methods/writeString">writeString</a></dd>
- </dl>
- </dd>
-</dl>
-<h4 id="WinReg" name="WinReg"><a href="ko/XPInstall_API_Reference/WinReg_Object">WinReg</a></h4>
-<dl>
- <dd>
- <i>
- 속성은 존재하지 않습니다.</i>
- </dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods">Methods</a></dd>
-</dl>
-<dl>
- <dd>
- <dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/createKey">createKey</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/deleteKey">deleteKey</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/deleteValue">deleteValue</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/enumKeys">enumKeys</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/enumValueNames">enumValueNames</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/getValue">getValue</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/getValueNumber">getValueNumber</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/getValueString">getValueString</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/isKeyWritable">isKeyWritable</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/keyExists">keyExists</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/setRootKey">setRootKey</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/setValue">setValue</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/setValueNumber">setValueNumber</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/setValueString">setValueString</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/Methods/valueExists">valueExists</a></dd>
- </dl>
- </dd>
-</dl>
-<dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/WinReg_Object/WinRegValue">WinRegValue constructor</a></dd>
-</dl>
-<h3 id=".EA.B8.B0.ED.83.80_.EC.A0.95.EB.B3.B4" name=".EA.B8.B0.ED.83.80_.EC.A0.95.EB.B3.B4">기타 정보</h3>
-<h4 id=".EB.B0.98.ED.99.98_.EC.BD.94.EB.93.9C.EB.93.A4" name=".EB.B0.98.ED.99.98_.EC.BD.94.EB.93.9C.EB.93.A4">반환 코드들</h4>
-<p><a href="ko/XPInstall_API_Reference/%eb%b0%98%ed%99%98_%ec%bd%94%eb%93%9c%eb%93%a4">반환 코드에 대한 리스트 보기</a></p>
-<h4 id=".EC.98.88.EC.A0.9C" name=".EC.98.88.EC.A0.9C"><a href="ko/XPInstall_API_Reference/Examples">예제</a></h4>
-<dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/Examples/Trigger_Scripts_and_Install_Scripts">트리거 스크립트들과 설치 스크립트들</a></dd>
-</dl>
-<h5 id=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C.EB.93.A4" name=".EC.98.88.EC.A0.9C_.EC.BD.94.EB.93.9C.EB.93.A4">예제 코드들</h5>
-<dl>
- <dd>
- <a href="ko/XPInstall_API_Reference/Examples/File.macAlias">File.macAlias</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Examples/File.windowsShortcut">File.windowsShortcut</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Examples/Install.addDirectory">Install.addDirectory</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Examples/Install.addFile">Install.addFile</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Examples/InstallTrigger.installChrome">InstallTrigger.installChrome</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Examples/InstallTrigger.startSoftwareUpdate">InstallTrigger.startSoftwareUpdate</a></dd>
- <dd>
- <a href="ko/XPInstall_API_Reference/Examples/Windows_Install">Windows Install</a></dd>
-</dl>
-<p>{{ languages( { "ja": "ja/XPInstall_API_Reference" } ) }}</p>
diff --git a/files/ko/xpinstall_api_reference/install_object/index.html b/files/ko/xpinstall_api_reference/install_object/index.html
deleted file mode 100644
index aaac8818a7..0000000000
--- a/files/ko/xpinstall_api_reference/install_object/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: Install Object
-slug: XPInstall_API_Reference/Install_Object
-translation_of: Archive/Mozilla/XPInstall/Reference/Install_Object
----
-<h3 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94">개요</h3>
-<p>The Install object 는 설치 스크립트들에서 우선적으로 사용되어 집니다. 어떤 경우든, <code>Install</code> object는 맹목적이고--일반적인 웹 페이지 스크립트의 <code>window</code> object 같이-- object methods를 앞에 쓸 필요도 없습니다. 예를 들어 아래 두줄은 동등한 결과를 나타냅니다.</p>
-<pre>f = getFolder("Program");
-f = Install.getFolder("Program");
-</pre>
-<p>설치 스크립트는 Install object를 호출함으로써 구성되어지며, 일반적으로 아래와 같은 형식을 가집니다.</p>
-<dl>
- <dt>
- 설치 초기화 하기</dt>
- <dd>
- 설치를 위한 이름, 필요한 레지스트리, 그리고 버젼 정보로 <a href="ko/XPInstall_API_Reference/Install_Object/Methods/initInstall"> initInstall</a>를 호출하세요.</dd>
- <dt>
- 설치할 파일을 추가하기</dt>
- <dd>
- <a href="ko/XPInstall_API_Reference/Install_Object/Methods/getFolder">getFolder</a>를 호출하여 file objects를 얻고, <a href="ko/XPInstall_API_Reference/Install_Object/Methods/addFile"> addFile</a>를 필요한 만큼 호출하여 그것들의 object refs를 넘겨주어 파일들을 추가합니다.</dd>
- <dt>
- 설치를 실행하기</dt>
- <dd>
- 성공적으로 파일들이 추가되었는지 확인하시고 (e.g., 주 설치 메소드들로부터 <a href="ko/XPInstall_API_Reference/Return_Codes"> Return Codes</a> 코드를 확인), 만약 모든 것들이 정상적이라면 설치를 진행하십시요.</dd>
-</dl>
-<pre>performOrCancel();
-function performOrCancel()
-{
- if (0 == getLastError())
- performInstall();
- else
- cancelInstall();
-}
-</pre>
-<p>완벽한 스크립트 예제를 원한다면, <a href="ko/XPInstall_API_Reference/Examples"> Script Examples</a>를 참조하세요..</p>
diff --git a/files/ko/xpinstall_api_reference/install_object/properties/index.html b/files/ko/xpinstall_api_reference/install_object/properties/index.html
deleted file mode 100644
index 172f020f09..0000000000
--- a/files/ko/xpinstall_api_reference/install_object/properties/index.html
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: Properties
-slug: XPInstall_API_Reference/Install_Object/Properties
-translation_of: Archive/Mozilla/XPInstall/Reference/Install_Object/Properties
----
-<h3 id="Properties" name="Properties">Properties</h3>
-<dl>
- <dt>
- <code>보관소</code></dt>
- <dd>
- 플렛폼에서 지정한 임시 폴더에 내려받은 후 보관소의 전체 지역 경로(e.g. <code>C:\TEMP\argstest.xpi</code>)</dd>
- <dt>
- <code>인수들</code></dt>
- <dd>
- 인수들은 xpi URL에 "?"와 필요한 스크링을 추가하여 제어(?triggering) APIs를 통해 전달할 수 있다:(e.g. <code>startSoftwareUpdate(<span class="nowiki">"http://webserver/argstest.xpi?ARGUMENT_STRING"</span>)</code>는 <code>ARGUMENT_STRING</code> #의 <code>Install.arguments</code>의 값이 될 것이다.) arg 스트링에서의 공백은 규율임을 주의하라. "?"이후의 모든 문자들은 <code>Install.arguments</code>의 하나의 문자로 간주된다.</dd>
- <dt>
- <code>buildID</code></dt>
- <dd>
- The application build ID in the form 20041231. Note that due to branching (different versions of Gecko with different feature sets might be built on the same day), using this property to "detect" the application version may produce false results. Additionally, the build ID can be 0 for custom builds.</dd>
- <dt>
- <code>jarfile</code></dt>
- <dd>
- Alias for <code>archive</code></dd>
- <dt>
- <code>platform</code></dt>
- <dd>
- Contains information about the platform XPInstall was compiled for/runs on. For example, the value could begin with "Windows", "Macintosh" or "X11" (for Unix/Linux). For more details, see the corresponding code living in the <a class="external" href="http://lxr.mozilla.org/mozilla/ident?i=GetInstallPlatform">GetInstallPlatform method of class nsInstall</a>.</dd>
- <dt>
- <code>url</code></dt>
- <dd>
- The fully qualified URL of the xpi (file URL, http URL, ftp URL, etc.) (e.g. <code><span class="nowiki">http://dolfin/sgehani/zzz/ip.xpi</span></code>). Note, even if triggered using relative URLs this will show the full URL (after qualification).</dd>
-</dl>
diff --git a/files/ko/xpinstall_api_reference/return_codes/index.html b/files/ko/xpinstall_api_reference/return_codes/index.html
deleted file mode 100644
index bc9bd27425..0000000000
--- a/files/ko/xpinstall_api_reference/return_codes/index.html
+++ /dev/null
@@ -1,268 +0,0 @@
----
-title: Return Codes
-slug: XPInstall_API_Reference/Return_Codes
-translation_of: Archive/Mozilla/XPInstall/Reference/Return_Codes
----
-<h2 id=".EB.B0.98.ED.99.98_.EC.BD.94.EB.93.9C.EB.93.A4" name=".EB.B0.98.ED.99.98_.EC.BD.94.EB.93.9C.EB.93.A4">반환 코드들</h2>
-<p>이 장에서 설명된 메소드들은 아래 반환 값들의 어떤 것이든 반환할 수 있습니다. 이 내용들은 Mozilla/SeaMonkey안에서 xpinstall object(예전 Netscape Communicator 4.5에 있던 SoftwareUpdate object와 같은)의 한 부분으로 정의되어 있습니다.</p>
-<p>불규칙적인 내용은 이곳에 기록하십시요.</p>
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <td class="header">이름</td>
- <td class="header">코드</td>
- <td class="header">설명</td>
- </tr>
- <tr>
- <td><code>SUCCESS</code></td>
- <td>0</td>
- <td>성공.</td>
- </tr>
- <tr>
- <td><code>REBOOT_NEEDED</code></td>
- <td>999</td>
- <td>파일들이 이미 설치되어 있으며, 하나 혹은 그 이상의 컴포넌트들이 이미 사용중입니다. 설치과정을 완료하려면 컴퓨터와 응용프로그램을 재시작해야 합니다. Windows NT상에서는, 운영중인 시스템 파일들을 덮어 씌우지만 않는다면 단지 응용 프로그램만 재시작을 하면 됩니다.</td>
- </tr>
- <tr>
- <td><code>BAD_PACKAGE_NAME</code></td>
- <td>-200</td>
- <td>이 문제는 <a href="ko/XPInstall_API_Reference/Install_Object/Methods/initInstall">initInstall</a>에서 제공되어지는 패키지 이름과 같은 이름일 경우에 발생합니다.</td>
- </tr>
- <tr>
- <td><code>UNEXPECTED_ERROR</code></td>
- <td>-201</td>
- <td>정의되지 않은 에러가 발생했습니다.</td>
- </tr>
- <tr>
- <td><code>ACCESS_DENIED</code></td>
- <td>-202</td>
- <td>유저 (혹은 OS)는 필요한 보안 권한을 허가하지 않았습니다.</td>
- </tr>
- <tr>
- <td><code>TOO_MANY_CERTIFICATES</code></td>
- <td>-203</td>
- <td>설치 스크립트는 하나 혹은 그 이상의 증명서에 의해 조인되었습니다.</td>
- </tr>
- <tr>
- <td><code>NO_INSTALL_SCRIPT</code></td>
- <td>-204</td>
- <td>설치 스크립트는 조인되지 않았습니다.</td>
- </tr>
- <tr>
- <td><code>NO_CERTIFICATE</code></td>
- <td>-205</td>
- <td>추출된 파일은 승인되지 않았거나 그 파일(혹은 그것의 인증서)을 찾을 수 없습니다.</td>
- </tr>
- <tr>
- <td><code>NO_MATCHING_CERTIFICATE</code></td>
- <td>-206</td>
- <td>추출된 파일은 설치 스크립트에 등록해 사용하는 인증서에 인증되지 있지 않습니다.</td>
- </tr>
- <tr>
- <td><code>CANT_READ_ARCHIVE</code></td>
- <td>-207</td>
- <td>XPI package를 읽을 수가 없습니다.</td>
- </tr>
- <tr>
- <td><code>INVALID_ARGUMENTS</code></td>
- <td>-208</td>
- <td>잘못된 파라미터들이 전달되었습니다.</td>
- </tr>
- <tr>
- <td><code>ILLEGAL_RELATIVE_PATH</code></td>
- <td>-209</td>
- <td>비정상적인 경로입니다.</td>
- </tr>
- <tr>
- <td><code>USER_CANCELLED</code></td>
- <td>-210</td>
- <td>유저가 설치 다이얼로그의 '취소'버튼을 눌렀습니다.</td>
- </tr>
- <tr>
- <td><code>INSTALL_NOT_STARTED</code></td>
- <td>-211</td>
- <td>이 문제는 <a href="ko/XPInstall_API_Reference/Install_Object/Methods/initInstall">initInstall</a>에 파라미터 혹은 첫번째로 호출되지 않았을 때 야기됩니다.</td>
- </tr>
- <tr>
- <td><code>SILENT_MODE_DENIED</code></td>
- <td>-212</td>
- <td>동의없이 설치하는 것은 허락되지 않았습니다.</td>
- </tr>
- <tr>
- <td><code>NO_SUCH_COMPONENT</code></td>
- <td>-213</td>
- <td>명시된 컨포넌트는 Client Version Registry에 존재하지 않습니다.</td>
- </tr>
- <tr>
- <td><code>DOES_NOT_EXIST</code></td>
- <td>-214</td>
- <td>명시된 파일은 존재하지 않으므로 삭제할 수 없습니다.</td>
- </tr>
- <tr>
- <td><code>READ_ONLY</code></td>
- <td>-215</td>
- <td>명시된 파일은 읽기전용이므로 삭제할 수 없습니다.</td>
- </tr>
- <tr>
- <td><code>IS_DIRECTORY</code></td>
- <td>-216</td>
- <td>명시된 파일은 디렉토리이므로 삭제할 수 없습니다.</td>
- </tr>
- <tr>
- <td><code>NETWORK_FILE_IS_IN_USE</code></td>
- <td>-217</td>
- <td>명시된 파일은 이미 사용중이므로 삭제할 수 없습니다.</td>
- </tr>
- <tr>
- <td><code>APPLE_SINGLE_ERR</code></td>
- <td>-218</td>
- <td>AppleSingle format의 한 파일을 푸는 중에 에러가 발생했습니다.</td>
- </tr>
- <tr>
- <td><code>INVALID_PATH_ERR</code></td>
- <td>-219</td>
- <td><a href="ko/XPInstall_API_Reference/Install_Object/Methods/getFolder">getFolder</a>에서 제공된 path가 정상적이지 않습니다.</td>
- </tr>
- <tr>
- <td><code>PATCH_BAD_DIFF</code></td>
- <td>-220</td>
- <td>GDIFF에서 에러가 발생했습니다.</td>
- </tr>
- <tr>
- <td><code>PATCH_BAD_CHECKSUM_TARGET</code></td>
- <td>-221</td>
- <td>원본 파일에 작성된 checksum이 XPI 파일의 checksum과 일치하지 않습니다.</td>
- </tr>
- <tr>
- <td><code>PATCH_BAD_CHECKSUM_RESULT</code></td>
- <td>-222</td>
- <td>패치된 파일의 checksum검사는 실패했습니다.</td>
- </tr>
- <tr>
- <td><code>UNINSTALL_FAILED</code></td>
- <td>-223</td>
- <td>패키지를 삭제중에 에러가 발생했습니다.</td>
- </tr>
- <tr>
- <td><code>PACKAGE_FOLDER_NOT_SET</code></td>
- <td>-224</td>
- <td>설치 스크립트에 설치 폴더가 정의되어 있지 않습니다.</td>
- </tr>
- <tr>
- <td><code>EXTRACTION_FAILED</code></td>
- <td>-225</td>
- <td>XPI file의 추출에 실패했습니다.</td>
- </tr>
- <tr>
- <td><code>FILENAME_ALREADY_USED</code></td>
- <td>-226</td>
- <td>같은 파일 이름이 설치를 위해 사용중입니다.</td>
- </tr>
- <tr>
- <td><code>INSTALL_CANCELLED</code></td>
- <td>-227</td>
- <td>medias res에서 설치가 취소되었을 때 발생합니다.</td>
- </tr>
- <tr>
- <td><code>DOWNLOAD_ERROR</code></td>
- <td>-228</td>
- <td>내려받기 중 에러가 발생했습니다.</td>
- </tr>
- <tr>
- <td><code>SCRIPT_ERROR</code></td>
- <td>-229</td>
- <td>스크립트에 에러가 있습니다.</td>
- </tr>
- <tr>
- <td><code>ALREADY_EXISTS</code></td>
- <td>-230</td>
- <td>파일이 이미 로컬에 존재합니다.</td>
- </tr>
- <tr>
- <td><code>IS_FILE</code></td>
- <td>-231</td>
- <td>주어진 것(대상)은 디렉토리가 아니라 파일입니다.</td>
- </tr>
- <tr>
- <td><code>SOURCE_DOES_NOT_EXIST</code></td>
- <td>-232</td>
- <td>원본 파일/디렉토리를 찾을 수 없습니다.</td>
- </tr>
- <tr>
- <td><code>SOURCE_IS_DIRECTORY</code></td>
- <td>-233</td>
- <td>주어진 것(원본)은 파일이 아니라 디렉토리입니다.</td>
- </tr>
- <tr>
- <td><code>SOURCE_IS_FILE</code></td>
- <td>-234</td>
- <td>주어진 것(원본)은 디렉토리가 아니라 파일입니다.</td>
- </tr>
- <tr>
- <td><code>INSUFFICIENT_DISK_SPACE</code></td>
- <td>-235</td>
- <td>설치를 위한 디스크 공간이 충분하지 않습니다.</td>
- </tr>
- <tr>
- <td><code>FILENAME_TOO_LONG</code></td>
- <td>-236</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>UNABLE_TO_LOCATE_LIB_FUNCTION</code></td>
- <td>-237</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>UNABLE_TO_LOAD_LIBRARY</code></td>
- <td>-238</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>CHROME_REGISTRY_ERROR</code></td>
- <td>-239</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>MALFORMED_INSTALL</code></td>
- <td>-240</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>KEY_ACCESS_DENIED</code></td>
- <td>-241</td>
- <td>접근이 제한된 레지스트리 키에 접근을 시도했습니다.</td>
- </tr>
- <tr>
- <td><code>KEY_DOES_NOT_EXIST</code></td>
- <td>-242</td>
- <td>레지스트리 키가 존재하지 않습니다.</td>
- </tr>
- <tr>
- <td><code>VALUE_DOES_NOT_EXIST</code></td>
- <td>-243</td>
- <td>레지스트리 값이 존재하지 않습니다.</td>
- </tr>
- <tr>
- <td><code>INVALID_SIGNATURE</code></td>
- <td>-260</td>
- <td>XPI가 올바르지 않습니다.</td>
- </tr>
- <tr>
- <td><code>OUT_OF_MEMORY</code></td>
- <td>-299</td>
- <td>작업을 위한 메모리가 충분하지 못합니다.</td>
- </tr>
- <tr>
- <td><code>GESTALT_UNKNOWN_ERROR</code></td>
- <td>-5550</td>
- <td> </td>
- </tr>
- <tr>
- <td><code>GESTALT_INVALID_ARGUMENT</code></td>
- <td>-5551</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-<p> </p>
diff --git a/files/ko/xtech_2005_presentations/directions_of_the_mozilla_rdf_engine/index.html b/files/ko/xtech_2005_presentations/directions_of_the_mozilla_rdf_engine/index.html
deleted file mode 100644
index 21802bfb50..0000000000
--- a/files/ko/xtech_2005_presentations/directions_of_the_mozilla_rdf_engine/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: Directions of the Mozilla RDF engine
-slug: XTech_2005_Presentations/Directions_of_the_Mozilla_RDF_engine
-tags:
- - Presentations
- - RDF
-translation_of: Archive/Mozilla/XTech_2005_Presentations/Directions_of_the_Mozilla_RDF_engine
----
-<h3 id=".ED.94.84.EB.A0.88.EC.A0.A0.ED.85.8C.EC.9D.B4.EC.85.98" name=".ED.94.84.EB.A0.88.EC.A0.A0.ED.85.8C.EC.9D.B4.EC.85.98">프레젠테이션</h3>
-<ul>
- <li><a class="external" href="http://developer.mozilla.org/presentations/xtech2005/rdf/">온라인으로 보기</a></li>
- <li><a class="external" href="http://developer.mozilla.org/presentations/xtech2005/download/rdf-xtech2005.zip">다운로드</a></li>
-</ul>
-<h3 id=".EC.9A.94.EC.95.BD" name=".EC.9A.94.EC.95.BD">요약</h3>
-<p>이 프레젠테이션은 새로운 Mozilla RDF 엔진의 개발 내용을 보여줍니다. 여기에는 공개 웹 컨텐츠를 위한 RDF API 의 공개 계획과 성능 및 정확도의 향상 등의 내용이 포함됩니다.</p>
-<h3 id=".EC.A7.88.EB.AC.B8.EA.B3.BC_.ED.86.A0.EB.A1.A0" name=".EC.A7.88.EB.AC.B8.EA.B3.BC_.ED.86.A0.EB.A1.A0">질문과 토론</h3>
-<p><a>Mozilla RDF 엔진의 방향 - 토론</a></p>
diff --git a/files/ko/xtech_2005_presentations/index.html b/files/ko/xtech_2005_presentations/index.html
deleted file mode 100644
index daf0bf6c44..0000000000
--- a/files/ko/xtech_2005_presentations/index.html
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: XTech 2005 Presentations
-slug: XTech_2005_Presentations
-translation_of: Archive/Mozilla/XTech_2005_Presentations
----
-<p>{{wiki.localize('System.API.page-generated-for-subpage')}}</p>
diff --git a/files/ko/xul_changes_for_firefox_1.5/index.html b/files/ko/xul_changes_for_firefox_1.5/index.html
deleted file mode 100644
index 3431617ebc..0000000000
--- a/files/ko/xul_changes_for_firefox_1.5/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: XUL Changes for Firefox 1.5
-slug: XUL_Changes_for_Firefox_1.5
-tags:
- - XUL
-translation_of: Archive/Mozilla/XUL/XUL_Changes_for_Firefox_1.5
----
-<p>여기서는 <a href="ko/Firefox_1.5">Firefox 1.5</a> (<a href="ko/Gecko">Gecko</a> 1.8)에서 <a href="ko/XUL">XUL</a>에 가장 두드러진 바뀐 점을 나열합니다. 알면 좋을 다른 바뀐 점은, <a href="ko/Adapting_XUL_Applications_for_Firefox_1.5">Adapting XUL Applications for Firefox 1.5</a>을 보세요.</p>
-<h3 id=".3Cscrollcorner.3E" name=".3Cscrollcorner.3E"><code>&lt;scrollcorner&gt;</code></h3>
-<p>&lt;scrollcorner&gt; 요소는 가로와 세로 스크롤바의 교차점에 작은 상자를 만드는데 쓰기 위해 추가했습니다.</p>
-<h3 id=".3Crichlistbox.3E.EC.99.80_.3Crichlistitem.3E" name=".3Crichlistbox.3E.EC.99.80_.3Crichlistitem.3E"><code>&lt;richlistbox&gt;</code>와 <code>&lt;richlistitem&gt;</code></h3>
-<p>&lt;richlistbox&gt;와 &lt;richlistitem&gt; 요소는 임의(arbitrary) content를 포함하는 목록을 만드는 데 씁니다. 이 요소는 원래 textual 아이템 목록을 위해 설계한 &lt;listbox&gt;와 비슷하게 동작합니다. &lt;richlistbox&gt;는 &lt;listbox&gt;와 많이 같은 API를 지원하고 &lt;richlistitem&gt; 요소가 만든 단일 항목들을 선택할 지도 모릅니다. 더 많은 정보는 <a href="ko/XUL/Richlistbox">XUL:Richlistbox</a>를 보세요.</p>
-<h3 id=".ED.99.98.EA.B2.BD.EC.84.A4.EC.A0.95_.EC.8B.9C.EC.8A.A4.ED.85.9C" name=".ED.99.98.EA.B2.BD.EC.84.A4.EC.A0.95_.EC.8B.9C.EC.8A.A4.ED.85.9C">환경설정 시스템</h3>
-<p>여러 요소가 환경설정 창을 만드는데 쓰일 수 있도록 추가됐습니다. 이 창은 여러 패널(panel)을 지원하는 다이얼로그의 특수한 형태이며, 각 패널은 같은 파일이나 개별 파일에 포함될 수 있습니다. 아이콘 한 모음(set)이 사용자가 패널을 전환하게 두는 다이얼로그 꼭대기에 나타납니다. 새 환경설정 요소와 기존 요소를 위한 추가 속성과 함께, 코드를 쓰지 않고도 쉽게 환경설정을 할 수 있습니다. 더 많은 정보는, <a href="ko/Preferences_System">Preferences System</a>을 보세요.</p>
-<h3 id="bfcache" name="bfcache"><code>bfcache</code></h3>
-<p>Mozilla는 이제 페이지의 DOM을 캐시에 저장합니다, 그래서 뒤로 가기와 앞으로 가기는 페이지를 다시 싣지(load) 않고, 내비게이션 효율을 훨씬 더 높입니다. <code>pageshow</code>와 <code>pagehide</code> 이벤트는 캐시에서 페이지를 전환할 떄 쓰입니다. 반면에 <code>load</code>와 <code>unload</code> 이벤트는 오직 페이지를 싣(load)거나 내릴(unload) 때 쓰입니다.</p>
-<p>더 많은 정보는 <a href="ko/Using_Firefox_1.5_caching">Using Firefox 1.5 caching</a>를 보세요.</p>
-<h3 id="tabIndex" name="tabIndex"><code>tabIndex</code></h3>
-<p><code>tabIndex</code> 속성은 이제 대다수 요소에 적용됩니다.</p>
-<h3 id=".3Cradiogroup.3E" name=".3Cradiogroup.3E"><code>&lt;radiogroup&gt;</code></h3>
-<p>&lt;radiogroup&gt; 요소에 value 속성을 설정하여 대응하는 값을 갖는 그룹의 &lt;radio&gt; 요소를 선택합니다.</p>
-<h3 id="Dialog:_defaultButton_.EC.86.8D.EC.84.B1" name="Dialog:_defaultButton_.EC.86.8D.EC.84.B1">Dialog: <code>defaultButton</code> 속성</h3>
-<p><code>&lt;dialog&gt;</code> 바인딩은 이제 <code>defaultButton</code> 속성을 지원합니다. 이 속성을 설정하여 다이얼로그의 기본 버튼을 바꿉니다. <code>&lt;dialog&gt;</code> 바인딩 (그 이름을 쓰는)의 버튼 가운데 하나 또는 <code>none</code>으로 설정할 수 있습니다. 버튼이 없는 경우가 기본값으로 설정됩니다.</p>
-<h3 id="Button:_icon_.EC.86.8D.EC.84.B1" name="Button:_icon_.EC.86.8D.EC.84.B1">Button: <code>icon</code> 속성</h3>
-<p>버튼의 icon 속성은 버튼에 어떤 플랫폼에서 쓰이는 재고(stock) 아이콘을 설정하는 데 쓸 수 있습니다. 예컨대 &lt;button icon="help"&gt;는 도움말 아이콘이 있는 버튼을 만듭니다. 이는 대체로 GNOME 시스템에 쓰이며 다음 값들을 쓸 수 있습니다. <code>accept</code>, <code>cancel</code>, <code>help</code>, <code>open</code>, <code>save</code>, <code>find</code>, <code>clear</code>, <code>yes</code>, <code>no</code>, <code>apply</code>, <code>close</code>, <code>print</code>, <code>add</code>, <code>remove</code>, <code>refresh</code>, <code>go-forward</code>, <code>go-back</code>, <code>properties</code>, <code>select-font</code>, <code>select-color</code>, <code>network</code>.</p>
-<h3 id=".3Cmenulist.3E" name=".3Cmenulist.3E"><code>&lt;menulist&gt;</code></h3>
-<p>&lt;menulist&gt;의 아이템은 아이템 레이블과 나란히 추가 설명 글 표시를 허용하는 description 속성을 지원합니다. menulist 수정 메소드인 appendItem과 insertItemAt은 아이템을 이런 식으로 만들 때 추가 설명 인수를 취합니다.</p>
-<h3 id=".3Clistbox.3E" name=".3Clistbox.3E"><code>&lt;listbox&gt;</code></h3>
-<p><code>removeItemAt</code> 메소드는 일찍이 버그 (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=236068" title="FIXED: removeItemAt for &lt;listbox> removes wrong item if there is a &lt;listhead>">bug 236068</a>) 때문에 zero-base가 아니었습니다. 이는 Firefox 1.5에서 고쳤고 이 zero-base가 아닌 behaviour에 의존하는 모든 코드는 바뀌어야 합니다.</p>
-<h3 id=".3Cstringbundle.3E" name=".3Cstringbundle.3E"><code>&lt;stringbundle&gt;</code></h3>
-<p>&lt;stringbundle&gt; 요소는 묶음(bundle)의 모든 문자열의 열거형(enumeration)을 검색하는 데 쓰이는 strings 속성이 있습니다.</p>
-<h3 id=".EB.81.8C_.EC.88.98_.EC.9E.88.EB.8A.94_.ED.83.AD" name=".EB.81.8C_.EC.88.98_.EC.9E.88.EB.8A.94_.ED.83.AD">끌 수 있는 탭</h3>
-<p>탭브라우저는 이제 사용자가 탭을 끌어 재배치하는 것을 허용합니다.</p>
-<h3 id=".3Ctabbox.3E" name=".3Ctabbox.3E"><code>&lt;tabbox&gt;</code></h3>
-<p>&lt;tabbox&gt; 요소는 이제 기본으로 선택된 탭을 지정하기 위해 <code>selectedIndex</code> 속성을 지원합니다.</p>
-<h3 id=".EB.8F.99.EC.A0.81.EC.9C.BC.EB.A1.9C_overlay_.EC.8B.A3.EA.B8.B0" name=".EB.8F.99.EC.A0.81.EC.9C.BC.EB.A1.9C_overlay_.EC.8B.A3.EA.B8.B0">동적으로 overlay 싣기</h3>
-<p>XUL은 이제 <code><a href="ko/DOM/document.loadOverlay">document.loadOverlay</a></code> 함수를 써 동적으로 <a href="ko/XUL_Overlays">overlays</a> 싣기(loading)를 지원합니다.</p>
-<div class="originaldocinfo">
- <h3 id=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4" name=".EC.9B.90.EB.B3.B8_.EB.AC.B8.EC.84.9C_.EC.A0.95.EB.B3.B4">원본 문서 정보</h3>
- <ul>
- <li>저자: Neil Deakin</li>
- </ul>
-</div>
-<p></p>
diff --git a/files/ko/xul_improvements_in_firefox_3/index.html b/files/ko/xul_improvements_in_firefox_3/index.html
deleted file mode 100644
index 9d2daf9cd6..0000000000
--- a/files/ko/xul_improvements_in_firefox_3/index.html
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title: XUL improvements in Firefox 3
-slug: XUL_improvements_in_Firefox_3
-tags:
- - Firefox 3
- - XUL
-translation_of: Mozilla/Firefox/Releases/3/XUL_improvements_in_Firefox_3
----
-<p>{{ Fx_minversion_header(3) }}</p>
-<p>Firefox 3는 기존 <a href="/ko/XUL" title="ko/XUL">XUL</a> 요소의 개선과 더불어 다수의 새로운 요소를 제공합니다. 이는 다른 곳에 자세하게 문서화되어 있으며, 이 글은 이러한 개선에 대한 편리한 목록과 자세한 문서에 대한 링크를 제공합니다.</p>
-<h3 id=".EC.83.88.EB.A1.9C.EC.9A.B4_.EC.9A.94.EC.86.8C" name=".EC.83.88.EB.A1.9C.EC.9A.B4_.EC.9A.94.EC.86.8C">새로운 요소</h3>
-<ul>
- <li>새로운 <code><a href="/ko/XUL/scale" title="ko/XUL/scale">&lt;scale&gt;</a></code> 요소를 이용하면 사용자가 지정된 범위 내의 어떤 값이든지 선택할 수 있는 움직이는 스케일을 생성할 수 있습니다. 예를 들어, 이 위젯은 보통 음량 콘트롤을 만드는데 사용됩니다.</li>
- <li>텍스트 상자(textboxes)의 속성인 <code>type</code>의 새로운 값인 <code>number</code>는 숫자만 입력할 수 있는 텍스트 상자를 생성합니다. 덧붙여, 화살표 버튼이 한 쪽에 나타나서 값을 한 단계씩 바꾸는데 사용할 수 있습니다.{{ interwiki('wikimo', 'XUL:Specs:NumberBox', '숫자 텍스트 상자에 대한 자세한 정보') }} ({{ Bug(345510) }})</li>
- <li><code><a href="/ko/XUL/dropmarker" title="ko/XUL/dropmarker">&lt;dropmarker&gt;</a></code> 요소가 추가되었는데 이는 XBL 바인딩을 사용하여 메뉴와 유사한 위젯을 생성하는데 유용합니다. ({{ Bug(348614) }})</li>
- <li><code><a href="/ko/XUL/spinbuttons" title="ko/XUL/spinbuttons">&lt;spinbuttons&gt;</a></code> 요소가 추가되었는데 XBL 바인딩을 이용한 위젯을 생성할 때 사용할 수 있습니다. ({{ Bug(155053) }})</li>
- <li><code><a href="/ko/XUL/datepicker" title="ko/XUL/datepicker">&lt;datepicker&gt;</a></code>와 <code><a href="/ko/XUL/timepicker" title="ko/XUL/timepicker">&lt;timepicker&gt;</a></code>는 날짜와 시간을 입력하는데 사용할 수 있습니다. datepicker는 텍스트 상자나 캘린더 그리드와 함께 입력할 수 있도록 <code>type</code> 속성을 지정함으로써 몇 가지 형태로 이용이 가능합니다. {{ interwiki('wikimo', 'XUL:Specs:DateTimePickers', 'datepicker에 대한 자세한 정보') }} <a href="/ko/XUL/datepicker" title="ko/XUL/datepicker">Datepicker 정보</a> <a href="/ko/XUL/timepicker" title="ko/XUL/timepicker">Timepicker 정보</a></li>
- <li><code><a href="/ko/XUL/panel" title="ko/XUL/panel">&lt;panel&gt;</a></code> 요소는 새로운 것으로 메뉴가 아닌 팝업을 위해 설계되었습니다. 이는 어떤 형식의 내용이든지 지원합니다. &lt;menupopup&gt; 요소는 메뉴를 위해 사용합니다. 메뉴는 키보드 탐색을 제공하고 하위 메뉴를 열고 닫는 것을 지원합니다.</li>
- <li>메뉴와 팝업의 새로운 기능을 설명하는 <a href="/ko/XUL/PopupGuide" title="ko/XUL/PopupGuide">팝업 설명서</a>가 있습니다.</li>
-</ul>
-<h3 id=".ED.8A.B8.EB.A6.AC_.EA.B0.9C.EC.84.A0_.EC.82.AC.ED.95.AD" name=".ED.8A.B8.EB.A6.AC_.EA.B0.9C.EC.84.A0_.EC.82.AC.ED.95.AD">트리 개선 사항</h3>
-<ul>
- <li>트리는 이제 수평으로 스크롤이 됩니다. 열이 이용 가능한 너비에 맞지 않으면 수평 스크롤 막대가 나타납니다. 이는 지정한 열 너비의 합이 이용 가능한 공간보다 더 클 때 발생합니다. 자세한 사항은 {{ Bug(212789) }}를 참고하시기 바랍니다.</li>
- <li>새로운 선택 스타일을 이용하면 전체 행 대신 셀을 개별적으로 선택할 수 있습니다. 이 선택 스타일을 사용하려면 트리의 <code>seltype</code> 속성을 <code>cell</code>로 선택합니다.</li>
- <li>트리는 이제 개별 셀의 편집을 지원합니다. 편집 가능한 셀을 두 번 클릭하면 셀의 내용을 편집할 수 있는 텍스트 필드가 나타납니다. 자세한 사항은 {{ interwiki('wikimo', 'XUL:Tree', '여기') }}를 참고하시기 바랍니다.</li>
-</ul>
-<p>See {{ interwiki('wikimo', 'XUL:Tree', 'these notes') }} for details.</p>
-<ul>
- <li>&lt;treecol&gt; 요소는 이제 <code>overflow</code> 속성을 지원하는데, 이를 true로 지정하면 텍스트가 너무 커서 하나의 셀에 맞지 않을 때 해당 컬럼에 있는 셀의 텍스트가 이웃하는 빈 셀로 확장하는 것을 허용합니다.</li>
-</ul>
-<h3 id=".EB.A9.94.EB.89.B4_.EA.B0.9C.EC.84.A0_.EC.82.AC.ED.95.AD" name=".EB.A9.94.EB.89.B4_.EA.B0.9C.EC.84.A0_.EC.82.AC.ED.95.AD">메뉴 개선 사항</h3>
-<ul>
- <li>이미지를 지정하기 위하여 <code>image</code> 속성이 일관적으로 사용됩니다.</li>
- <li>menulist에서 항목을 선택하면 <code>select</code> 이벤트가 발생합니다.</li>
- <li>menulist에 <code>inputField</code>와 <code>editable</code> 속성이 추가되었습니다.</li>
- <li><code>&lt;menu&gt;</code>, <code>&lt;menuitem&gt;</code>, <code>&lt;menuseparator&gt;</code> 요소는 이제 읽기 전용 <code>selected</code> 속성을 가지는데, 이를 이용하면 &lt;menulist&gt;에서 항목이 선택되었는지 구할 수 있습니다.</li>
- <li><code>&lt;menu&gt;</code>, <code>&lt;menuitem&gt;</code>, <code>&lt;menuseparator&gt;</code> 요소는 이제 읽기 전용 <code>control</code> 속성을 가지는데, 이는 둘러싸는 &lt;menulist&gt;를 반환합니다.</li>
- <li><code>&lt;menu&gt;</code>, <code>&lt;menuitem&gt;</code>, <code>&lt;menuseparator&gt;</code> 요소는 이제 <code>accessKey</code>, <code>disabled</code>, <code>crop</code>, <code>image</code>, <code>label</code> 속성을 지원합니다.</li>
- <li>&lt;menu&gt; 요소는 이제 menuitem을 추가하고 삽입하고 삭제할 수 있는 메소드를 지원합니다. ({{ Bug(372552) }})</li>
- <li>편집 가능한 menulist는 이제 텍스트 필드의 내부 {{ Interface("nsIEditor") }}를 얻기 위한 <code>editor</code> 속성을 지원합니다.</li>
- <li>지원하는 플랫폼에서 이제 메뉴를 반투명하게 만들 수 있습니다({{ Bug(70798) }}).</li>
-</ul>
-<h3 id=".ED.85.8D.EC.8A.A4.ED.8A.B8_.EC.83.81.EC.9E.90_.EA.B0.9C.EC.84.A0_.EC.82.AC.ED.95.AD" name=".ED.85.8D.EC.8A.A4.ED.8A.B8_.EC.83.81.EC.9E.90_.EA.B0.9C.EC.84.A0_.EC.82.AC.ED.95.AD">텍스트 상자 개선 사항</h3>
-<ul>
- <li><a href="/ko/XUL/textbox" title="ko/XUL/textbox">textbox</a>의 <code>spellcheck</code> 속성을 <code>true</code>로 지정하면 해당 텍스트 상자의 인라인 맞춤법 검사를 활성화합니다.</li>
- <li><code>&lt;textbox&gt;</code>는 이제 텍스트 상자의 값을 기본 값으로 초기화하는 <code>reset()</code> 메소드를 가지고 있습니다. <code>defaultValue</code> 속성은 텍스트 상자의 기본 값을 구하고 수정하는데 사용할 수 있습니다.</li>
- <li>이제 텍스트 상자의 내부 {{ Interface("nsIEditor") }}를 얻을 수 있는 <code>editor</code> 속성을 제공합니다.</li>
- <li><code><a href="/ko/XUL/textbox" title="ko/XUL/textbox">textbox</a></code>는 이제 <code>newlines</code> 속성을 지원하는데, 이는 붙여 넣은 텍스트의 행 나눔을 어떻게 처리할 것인지 지정합니다. 가능한 값은 다음과 같습니다.
- <ul>
- <li><code>pasteintact</code> - 모든 것을 그대로 붙입니다.</li>
- <li><code>pastetofirst</code> - (기본 값) 첫 번째 행 나눔까지만 붙입니다.break</li>
- <li><code>replacewithspaces</code> - 행 나눔을 공백으로 대체합니다.</li>
- <li><code>replacewithcommas</code> - 행 나눔을 쉼표로 대체합니다.</li>
- <li><code>strip</code> - 모든 행 나눔을 제거합니다.</li>
- <li><code>stripsurroundingwhitespace</code> - 모든 행 나눔과 주변의 공백을 제거합니다.</li>
- </ul>
- </li>
-</ul>
-<h3 id=".EA.B8.B0.ED.83.80_.EA.B0.9C.EC.84.A0_.EC.82.AC.ED.95.AD" name=".EA.B8.B0.ED.83.80_.EA.B0.9C.EC.84.A0_.EC.82.AC.ED.95.AD">기타 개선 사항</h3>
-<ul>
- <li><code>&lt;button&gt;</code>의 <code>type</code> 속성을 <code>repeat</code>로 설정하면 마우스 버튼을 누르고 있을 때 반복적으로 command 이벤트가 발생하는 버튼을 생성할 수 있습니다.</li>
- <li><code>&lt;dialog&gt;</code> 요소의 <code><a href="/ko/XUL/Attribute/buttondisabledaccept" title="ko/XUL/Attribute/buttondisabledaccept">buttondisabledaccept</a></code> 속성을 사용하면 승인(OK) 버튼이 초기에 비활성화됩니다.</li>
- <li><code>&lt;titlebar&gt;</code> 요소는 이제 자식에게 이벤트 전달을 허용하는 <code>allowevents</code> 속성을 지원합니다.</li>
- <li><code>&lt;splitter&gt;</code> 는 이제 <code>collapse</code> 속성의 추가된 값인 <code>'both'</code>를 지원하는데, 이는 splitter를 드래그할 때 양쪽 모두에 있는 요소를 감출 수 있다는 것을 가리킵니다. <code>substate</code> 속성은 감추는 것이 이전인지 이후인지 지정합니다. ({{ Bug(337955) }})</li>
- <li><code>&lt;richlistbox&gt;</code> 요소는 이제 다중 선택을 지원합니다. 이를 활성화하려면 <code>seltype</code> 속성을 <code>'multiple'</code>로 지정합니다.</li>
- <li><code>&lt;radio&gt;</code> 요소는 <code>group</code> 속성을 가지며 이를 라디오 버튼이 속할 <code>&lt;radiogroup&gt;</code>의 아이디로 지정할 수 있습니다. 이는 라디오 버튼을 모두 라디오 그룹 안에 넣는 것으로는 적합하지 않은 방식의 정렬을 가능하게 합니다.</li>
- <li>메뉴, 패널, 툴팁은 두 가지 추가 메소드인 <code><a href="/ko/XUL/Method/openPopup" title="ko/XUL/Method/openPopup">openPopup()</a></code>와 <code><a href="/ko/XUL/Method/openPopupAtScreen" title="ko/XUL/Method/openPopupAtScreen">openPopupAtScreen()</a></code>를 지원합니다. 사용이 헷갈리는 <code>showPopup()</code> 대신 이 메소드를 사용해야 합니다.</li>
-</ul>
-<h3 id=".EC.B0.B8.EA.B3.A0" name=".EC.B0.B8.EA.B3.A0">참고</h3>
-<ul>
- <li><a href="/ko/XUL" title="ko/XUL">XUL</a></li>
- <li><a href="/ko/Firefox_3_for_developers" title="ko/Firefox_3_for_developers">Firefox 3 for developers</a></li>
-</ul>
-<p> </p>
-<p> </p>
-<p>{{ languages( { "en": "en/XUL_improvements_in_Firefox_3", "es": "es/Mejoras_XUL_en_Firefox_3", "fr": "fr/Am\u00e9liorations_XUL_dans_Firefox_3", "ja": "ja/XUL_improvements_in_Firefox_3" } ) }}</p>
diff --git a/files/ko/zones/index.html b/files/ko/zones/index.html
deleted file mode 100644
index 792f614f4c..0000000000
--- a/files/ko/zones/index.html
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title: Zones
-slug: Zones
-translation_of: Zones
----
-<p>MDN존은 특정 분야 혹은 제품에 관한 정보를 한 곳에서 보기 쉽게 제공합니다. 다음은 제공되는 모든 분야의 리스트입니다. </p>
-<div class="row topicpage-table">
- <div class="section">
- <h2 id="웹앱_개발">웹,앱 개발</h2>
- <dl>
- <dt>
- <a href="/en-US/Apps">앱 센터</a></dt>
- <dd>
- 동일한 웹표준과 당신이 알고 있는 개방형 기술 (open technologies)을 이용하여 개방형 웹 앱 개발을 배울 수 있습니다. 이는 다양한 디바이스와 폼팩터에 적용 가능한 풍부한 경험이 될 것입니다.</dd>
- <dt>
- <a href="/en-US/docs/Tools">개발자 도구</a></dt>
- <dd>
- <span style="line-height: 1.5;">디버그, 테스트, 웹앱, 웹사이트 최적화를 위한 파이어 폭스 개발자 도구를 배울 수 있습니다. </span></dd>
- <dt>
- <a href="/en-US/Marketplace">파이어 폭스 마켓 플레이스</a></dt>
- <dd>
- <span style="line-height: 1.5;">HTML, CSS, 자바스크립트로 만들어진 웹어플리케이션을 위한 개방형 온라인 마켓 플레이스입니다. 파이어 폭스 마켓플레이스에 어플리케이션을 제출하거나 코드를 이용해 당신의 마켓플레이스를 만들어보세요. </span></dd>
- <dt>
- <a href="/en-US/docs/Games">게임 개발</a></dt>
- <dd>
- 웹 게임을 개발하거나 이미 존재하는 게임을 웹 기술로 이전하고, 당신의 게임을 웹앱으로 바꾸는 방법을 배울 수 있습니다. </dd>
- <dt>
- <a href="/en-US/docs/Mozilla/Developer_Program">모질라 개발자 프로그램</a></dt>
- <dd>
- <span style="line-height: 1.5;">모질라 개발자 프로그램에 대해 더 알아보세요. 프로그램 멤버십 등록, 뉴스레터 구독, 점점 더 다양해지는 웹개발자를 위한 기능들을 만나볼 수 있습니다.  </span></dd>
- </dl>
- </div>
- <div class="section">
- <h2 id="Products" name="Products">프로젝트와 제품들</h2>
- <dl>
- <dt>
- <a href="/en-US/docs/Emscripten">Emscripten</a></dt>
- <dd>
- 자바스크립트 컴파일러의 LLVM입니다. 이는 예를 들어 C++ 코드를 어떤 웹브라우저에서도 작동하는 자바스크립트 코드로 컴파일할 수 있도록 할 수 있습니다. </dd>
- <dt>
- <a href="/en-US/docs/L20n">L20n</a></dt>
- <dd>
- 자바스크립트 지역화 프레임워크로 간단한 코드로 자연 언어의 힘을 끌어올릴 수 있습니다.</dd>
- <dt>
- <a href="/en-US/docs/Project:MDN">The MDN project</a></dt>
- <dd>
- 모질라 개발자 네트워크의 성장은 독자와 컨트리뷰터의 커뮤니티를 통해 이루어집니다. 이 곳에서 사용을 돕고, 공헌하며, MDN에 기반해 코드를 쓰는 방법을 배울 수 있습니다!</dd>
- <dt>
- <a href="/en-US/Persona">페르소나(Persona)</a></dt>
- <dd>
- 모질라가 개발한 새롭고 간단한 개인정보를 보호하는 싱글 사인온 (single-sign in) 시스템으로 사용자의 이메일 주소로 웹사이트에 로그인할 수 있도록하여 비밀번호 관리로 부터 벗어날 수 있게 합니다.</dd>
- </dl>
- <h2 id="모질라_기술들">모질라 기술들</h2>
- <dl>
- <dt>
- <a href="/en-US/Add-ons">애드온(Add-On)</a></dt>
- <dd>
- 모질라 기반의 소프트웨어에 대한 확장기능 추가, 테마, 그리고 플러그인을 만드는 방법에 대해서 배웁니다.</dd>
- <dt>
- <a href="/en-US/Firefox">파이어폭스(Firefox)</a></dt>
- <dd>
- 파이어폭스에 대한 모든 것을 알아봅시다. 어떻게 빌드 , 수정 하는지 그리고 구체적으로 애드온 개발에 대해서 배웁니다.</dd>
- <dt>
- <a href="/en-US/Firefox_OS">파이어폭스 OS(Firefox OS)</a></dt>
- <dd>
- 모질라가 개발한 새로운 모바일 운영체제 입니다.사용자는 설치하여 HTML, CSS, 자바 스크립트 기반의 웹 어플리케이션을 실행할 수 있습니다.</dd>
- </dl>
- </div>
-</div>
-<p> </p>